(sys_signal): Always set SA_RESTART when
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ef874e3d
AS
12008-10-06 Andreas Schwab <schwab@suse.de>
2
3 * sysdep.c (sys_signal): Always set SA_RESTART when
4 noninteractively.
5
8cc11c8c
CY
62008-10-06 Chong Yidong <cyd@stupidchicken.com>
7
8 * emacs.c (Vbefore_init_time, Vafter_init_time): Moved from
9 startup.el.
10
11 * lisp.h: (Vbefore_init_time, Vafter_init_time): Declare.
12
13 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
14 during initialization.
15
48e482e6
EZ
162008-10-04 Eli Zaretskii <eliz@gnu.org>
17
7d2f1216
EZ
18 * xdisp.c (redisplay_internal): If frame switched, redisplay the
19 whole thing on MSDOS frames as well as on a TTY.
20
21 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
22 well as for TTY.
23 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
24 well as on a TTY.
25
7ab98847
EZ
26 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
27 as well as for TTY.
28
12c01aef
EZ
29 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
30
48e482e6
EZ
31 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
32 MSDOS frames as well.
33
46b0ebed
AR
342008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
35
36 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
37 correct arguments.
52e858e5 38 * menu.c (find_and_return_menu_selection) Add cast.
46b0ebed 39
598898a7
GM
402008-10-03 Glenn Morris <rgm@gnu.org>
41
42 * emacs.c (USAGE1): Add --daemon.
43
b63a740b
EZ
442008-10-02 Eli Zaretskii <eliz@gnu.org>
45
46 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
47 100, so it's in percents as advertised.
48
c8c057de
AR
492008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
50
51 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
52 (ns_output.current_cursor, ns_output.desired_cursor)
53 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
54 (FRAME_NEW_CURSOR_COLOR): Remove.
55
56 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
57 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core emacs
58 enumeration (HOLLOW_BOX_CURSOR, etc.).
59
60 * nsterm.m (ns_frame_rehighlight): Remove commented code.
61 (draw_window_cursor): Simplify code.
62 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): Don't
63 change cursor type. In latter, call rehighlight instead of doing
64 updates manually.
65 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): Use
66 core emacs cursor types.
67
68 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
69 NS.
70
2a7bb882
MR
712008-10-02 Martin Rudalics <rudalics@gmx.at>
72
73 * process.c (Faccept_process_output): Fix doc-string.
74
65f451d0
DN
752008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
76
77 * gmalloc.c (__sbrk): Also define for uClibc.
78
79 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
80 for uClibc.
81
8d0e382e
AR
822008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
83
84 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
85 styles.
86 (nsfont_open): Reenable the cache.
87
819ab95f
KH
882008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
89
90 * font.c (font_matching_entity): Reflect ATTRS in font selection.
91 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
92
cecfdea6
SM
932008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
94
95 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
96 a suspended terminal.
97
0ef50993
MA
982008-09-30 Michael Albinus <michael.albinus@gmx.de>
99
100 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
101
bdeb0411
EZ
1022008-09-30 Eli Zaretskii <eliz@gnu.org>
103
104 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
105
f44452f8
CY
1062008-09-30 Chong Yidong <cyd@stupidchicken.com>
107
108 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
109 in a continued line coincides with a line beginning.
110
1bc98b35
AR
1112008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
112
113 * nsfont.m (nsfont_trait_distance): Fix bug.
114 (nsfont_list): Return a list rather than a vector (syncs with Handa
115 changes of 2008-05-14).
116 (nsfont_open): Improve logging.
117
79f66be1
AS
1182008-09-29 Andreas Schwab <schwab@suse.de>
119
120 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
121
c73ae4ae
MR
1222008-09-28 Martin Rudalics <rudalics@gmx.at>
123
124 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
125 name as char-resolve-modifiers.
126 Reported by: Markus Triska <markus.triska@gmx.at>
127
d6ef42b9
DN
1282008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
129
cecfdea6 130 * dispnew.c (init_display): Return earlier when running as a daemon.
d6ef42b9 131
81cfe31c
AR
1322008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
133
cecfdea6 134 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
81cfe31c 135
9d751859
EZ
1362008-09-27 Eli Zaretskii <eliz@gnu.org>
137
138 * composite.c (Fcomposition_get_gstring)
139 (Fcompose_region_internal, Fcompose_string_internal)
140 (Ffind_composition_internal): Doc fix.
141 (syms_of_composite) <compose-chars-after-function>: Doc fix.
142 (syms_of_composite) <auto-composition-function>: Doc fix.
143 (syms_of_composite) <composition-function-table>: Doc fix.
144
8f23793d
CY
1452008-09-25 Chong Yidong <cyd@stupidchicken.com>
146
147 * search.c (wordify): New argument for lax word-ends.
148 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
149
73fee522
DN
1502008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
151
152 * lisp.h (is_daemon): Declare.
153 * dispnew.c (init_display): Do not try to initialize the terminal
154 when running as a daemon.
155
6cb3af4a
CY
1562008-09-22 Chong Yidong <cyd@stupidchicken.com>
157
158 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
159 x_display_pixel_height.
160
3ecc1163
MR
1612008-09-22 Martin Rudalics <rudalics@gmx.at>
162
163 * undo.c (record_point): Don't call Fundo_boundary for first
164 change. (Bug#731)
165
9d0a6e42
JB
1662008-09-22 Juanma Barranquero <lekktu@gmail.com>
167
168 * emacs.c (Fdaemonp): Doc fix.
169
9d29095c
DN
1702008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
171
9d0a6e42 172 * emacs.c (main): Place #ifdef in the proper place.
9d29095c 173
eab2ee89
DN
1742008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
175
176 * emacs.c (standard_args): Add --daemon.
177 (main): Disconnect from the terminal when --daemon is passed.
178 (is_daemon): New variable.
179 (Fdaemonp): New function.
180 (syms_of_emacs): Defsubr it.
181
a9f0145a
CY
1822008-09-20 Chong Yidong <cyd@stupidchicken.com>
183
184 * xdisp.c (get_next_display_element): Handle string display
185 correctly when checking for the end of a box run.
186
6bddfc97
GM
1872008-09-20 Glenn Morris <rgm@gnu.org>
188
d2b66acf
GM
189 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
190 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
191 (Frename_file): Avoid copying to trash if a rename involves
6bddfc97
GM
192 a delete. (Bug#964).
193
d44004c0
EZ
1942008-09-20 Eli Zaretskii <eliz@gnu.org>
195
196 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
197 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
198 frames as well as termcap frames.
199 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
200 get_named_tty.
201
3e7600a6
EZ
2022008-09-19 Eli Zaretskii <eliz@gnu.org>
203
a1e422f3
EZ
204 * process.c (procfs_system_process_attributes): Fix cmdline in
205 case /proc/PID/cmdline is empty.
206
3e7600a6
EZ
207 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
208 x_display_pixel_height.
209
05eb7cdc
JB
2102008-09-19 Juanma Barranquero <lekktu@gmail.com>
211
212 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
213
214 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
215 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
216
85c66abe
DN
2172008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
218
219 * dispextern.h (struct it): Move line_wrap away from the middle of
220 bitfields. Move voffset in struct iterator_stack_entry after the
221 bitfields. Move tab_width near after another short.
222
91a47a68
DN
2232008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
224
225 * frame.h (struct frame): Move alpha from the middle of bitfields.
226
227 * window.h (struct window): Move frozen_window_start_p after the
228 rest of the bitfields to reduce padding.
229
f172b808
CY
2302008-09-18 Chong Yidong <cyd@stupidchicken.com>
231
232 * xterm.h (x_display_info): Remove `height' and `width' members.
233
234 * nsterm.h (ns_display_info): Remove `height' and `width' members.
235
236 * w32term.h (w32_display_info): Remove `height', `width',
237 `height_in', and `width_in' members.
238
239 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
240 functions.
241 (x_calc_absolute_position): Use them.
242 (x_term_init): Omit removed `height' and `width' members.
243
244 * w32term.c (x_display_pixel_height, x_display_pixel_width): New
245 functions.
246 (w32_read_socket, x_calc_absolute_position): Use them.
247 (w32_initialize_display_info, w32_term_init): Omit removed members
248 of w32_display_info.
249
250 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
251 functions.
252 (ns_initialize_display_info): Omit removed members of
253 ns_display_info.
254
255 * xterm.c (x_display_pixel_height, x_display_pixel_width): New
256 functions.
257 (x_calc_absolute_position): Use them.
258 (x_term_init): Omit removed `height' and `width' members.
259
260 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
261 (compute_tip_xy): Use x_display_pixel_height and
262 x_display_pixel_width.
263
264 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
265 x_display_pixel_width.
266
267 * xmenu.c (menu_position_func): Use x_display_pixel_height and
268 x_display_pixel_width.
269
ea8ba975
KH
2702008-09-18 Kenichi Handa <handa@m17n.org>
271
272 * composite.c (fill_gstring_header): Don't check FROM and TO here.
273 (composition_compute_stop_pos): Fix handling of static composition.
274 (Fcomposition_get_gstring): Check FROM and TO at first.
275
46f905e1
SM
2762008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
277
278 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
279 mixup (YAILOM).
280
3bd4d0e1
CY
2812008-09-17 Chong Yidong <cyd@stupidchicken.com>
282
283 * indent.c (Fvertical_motion): Use position reported by iterator
284 instead of PT for determining screen motion (bug#943).
285
939c679e
RF
2862008-09-17 Romain Francoise <romain@orebokech.com>
287
288 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
289
5a8d5504
KH
2902008-09-17 Kenichi Handa <handa@m17n.org>
291
fdf90679
KH
292 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
293
5a8d5504
KH
294 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
295 if necessary.
296
91e97ba8
KH
2972008-09-16 Kenichi Handa <handa@m17n.org>
298
299 * coding.c (make_conversion_work_buffer): Avoid calling
300 Fget_buffer_create if it is not necessary.
301
4e822bdc
MR
3022008-09-15 Martin Rudalics <rudalics@gmx.at>
303
304 * window.c (Fselect_window): Don't update window_select_count and
305 use_time when norecord is not nil.
306
c3702194
KH
3072008-09-14 Kenichi Handa <handa@m17n.org>
308
309 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
310 specpdl_ptr.
311
ce82d57e
KH
3122008-09-12 Kenichi Handa <handa@m17n.org>
313
314 * indent.c (scan_for_column): Don't handle automatic composition
315 if the current buffer is not associated with a window.
316
317 * composite.c (composition_reseat_it): If the current buffer is
318 not associated with a window, ignore the automatic composition.
319 (find_automatic_composition): Likewise.
320
da39107c
SM
3212008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
322
ed5ff21d
SM
323 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
324 (Fgpm_mouse_stop): Use it.
325 * termhooks.h (close_gpm): Declare.
326 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
327 connection if Gpm_GetEvent fails.
328
da39107c
SM
329 * window.c (set_window_buffer): Always preserve current-buffer.
330
c8f94403
GM
3312008-09-12 Glenn Morris <rgm@gnu.org>
332
333 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
334
6f3122a7
GM
3352008-09-11 Glenn Morris <rgm@gnu.org>
336
337 * charset.c (charset-map-path): Doc fix.
338
fc3a285e
KH
3392008-09-10 Kenichi Handa <handa@m17n.org>
340
f83ef653
KH
341 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
342
fc3a285e
KH
343 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
344 compose a grapheme cluster with the preceding base glyph.
345
346 * composite.c (composition_compute_stop_pos): Fix previous change.
053ca52b 347 Reset cmp_it->id to -1 at first.
fc3a285e 348
fa2dda14
GM
3492008-09-10 Glenn Morris <rgm@gnu.org>
350
351 * Makefile.in (character.o, chartab.o): Fix config.h typo.
352
daf85753
CY
3532008-09-09 Chong Yidong <cyd@stupidchicken.com>
354
355 * keyboard.c (read_key_sequence): Reapply translation maps when
356 switching keyboards.
357
d45a49e3
KH
3582008-09-09 Kenichi Handa <handa@m17n.org>
359
da2cf488
KH
360 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
361 characters.
362
d45a49e3
KH
363 * composite.c (FORWARD_CHAR): Fix calculation
364 of (POSITION).pos_byte.
6450412d
KH
365 (composition_compute_stop_pos): Limit the search of composition to
366 at most 500 characters ahead. If we reach the limit or find a
367 newline, set cmp_it->ch to -2 and return 0.
368 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
d45a49e3
KH
369
3702008-09-08 Kenichi Handa <handa@m17n.org>
371
372 * indent.c (Fvertical_motion): Be sure to set
183080b6 373 it_overshoot_expected if it.cmp_it.id is non-negative.
d45a49e3 374
1aa83b22
AS
3752008-09-07 Andreas Schwab <schwab@suse.de>
376
377 * callproc.c (Fcall_process): Don't hold references to string data
378 across garbage collection. Move initialisation of new_argv down
379 to avoid compiler bug.
380
a7713d66
RW
3812008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
382
383 * process.c (Fsystem_process_attributes): Doc fix.
384
0f6c7c7e
CY
3852008-09-07 Chong Yidong <cyd@stupidchicken.com>
386
39fc455f
CY
387 * callproc.c (Fcall_process): Canonicalize current directory name.
388
0f6c7c7e
CY
389 * xdisp.c (move_it_to): When moving by vpos, ensure that the
390 iterator advances to the next line if the current line ends in a
391 continued tab.
392
93c7fcf8
TZ
3932008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
394
395 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
396 member to point to cmp_from.
397
398 * xdisp.c: Doc fix for references to gidx data member.
399
126f1fc1
SM
4002008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
401
402 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
403
c3702194
KH
4042008-09-07 Kenichi Handa <handa@m17n.org>
405
406 * composite.c (FORWARD_CHAR): Check STOP after
407 incrementing (POSITION).pos.
408
ea92add1
RW
4092008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
410
411 * process.c (Fsystem_process_attributes): Doc fix.
412
58bba807
CY
4132008-09-06 Chong Yidong <cyd@stupidchicken.com>
414
415 * keyboard.c (Ftop_level): Doc fix.
416
e779d630
EZ
4172008-09-06 Eli Zaretskii <eliz@gnu.org>
418
2de7397f
EZ
419 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
420 minibuffer, don't let lower part of menu invade the echo area.
421
e779d630
EZ
422 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
423 "char *q" to access menu text and advance through it. Revert the
424 change that displayed ">" instead of ASCII character 0x10.
425
dda86321
EZ
4262008-09-05 Eli Zaretskii <eliz@gnu.org>
427
428 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
429 toggle boxes and radio buttons on MS-DOS as well.
430
90b3fe91
KH
4312008-09-05 Kenichi Handa <handa@m17n.org>
432
433 * composite.c (autocmp_chars): Check lookback count.
434 (composition_compute_stop_pos): Set cmp_it->lookback.
435 (composition_reseat_it): Check lookback count.
436 (struct position_record): New struct.
437 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
438 (find_automatic_composition): New function.
439 (composition_adjust_point): Use find_automatic_composition.
440
441 * dispextern.h (struct composition_it): New member lookback.
442
efa09d5d
CY
4432008-09-02 Chong Yidong <cyd@stupidchicken.com>
444
445 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
446 if moving by a single line.
447
7a3cddef
AS
4482008-09-02 Andreas Schwab <schwab@suse.de>
449
afed2584
AS
450 * xterm.c (x_delete_display): Fix merge error.
451
7a3cddef
AS
452 * fileio.c (Fexpand_file_name): Remove unused variables.
453
9850eff5 4542008-09-02 Eli Zaretskii <eliz@gnu.org>
669fa600 455
9850eff5
MB
456 * fileio.c (Fexpand_file_name): Copy argument `name' into local
457 storage on all platforms, not just on DOS_NT.
2bde1dd8 458
9850eff5 4592008-09-02 Jason Rumney <jasonr@gnu.org>
2bde1dd8 460
9850eff5
MB
461 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
462 mouse is not grabbed after menu is finished.
a267ab4d 463
d7642a18
CY
4642008-09-01 Chong Yidong <cyd@stupidchicken.com>
465
466 * xfaces.c (Finternal_set_alternative_font_family_alist)
467 (Finternal_set_alternative_font_registry_alist): Properly copy
468 entire alist structure.
469
fc41e69b
KH
4702008-09-01 Kenichi Handa <handa@m17n.org>
471
472 * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
473 representative chars of the script is a vector.
474 (ftfont_list): Handle the case the representative chars of the
475 script is a vector.
476
477 * character.c (syms_of_character): Docstring of
478 script-representative-chars fixed.
479
e52ab6c9
EZ
4802008-08-31 Eli Zaretskii <eliz@gnu.org>
481
482 * msdos.c (BUILD_CHAR_GLYPH): New macro.
483 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
484 the menu. Allocate larger buffer for `text', to account for
485 possible ^C characters.
486
cc12456a
MR
4872008-08-31 Martin Rudalics <rudalics@gmx.at>
488
489 * xdisp.c (prepare_menu_bars): Don't call
490 Vwindow_size_change_functions with arg Qt.
491
c7c7a80c
SM
4922008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
493
494 * font.h (font_range):
495 * fileio.c (report_file_error):
496 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
497
af3e2be6
GM
4982008-08-30 Glenn Morris <rgm@gnu.org>
499
e3139144
GM
500 * data.c (Fmake_variable_frame_local): Doc fix.
501
af3e2be6
GM
502 * frame.c (Fmodify_frame_parameters): Doc fix.
503
657ceaa0
EZ
5042008-08-30 Eli Zaretskii <eliz@gnu.org>
505
32cef06e
EZ
506 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
507 needed by GetTokenInformation.
508 (w32_system_process_attributes): Check return values of all system
509 APIs.
510
b04021eb
EZ
511 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
512 only when the state changes.
7ccd1daf 513 (IT_update_begin, IT_update_end): Add termscript trace.
b04021eb 514
1b912a3b
EZ
515 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
516 clipboard is unavailable. Set dst to NULL if it doesn't point to
517 malloc'ed data.
518 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
519 passing random values to xfree.
520
657ceaa0
EZ
521 * dispnew.c (init_display): Set `tty's association in frame's
522 parameters alist to the name of the terminal device, if that is
523 known.
524
595f1870
JR
5252008-08-29 Jason Rumney <jasonr@gnu.org>
526
527 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
528
4bf84f7d
EZ
5292008-08-29 Eli Zaretskii <eliz@gnu.org>
530
77fa4db2
EZ
531 * composite.c (fill_gstring_body): Avoid compiler warnings.
532
533 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
534 LGLYPH_SET_CODE to avoid compiler warnings.
535
4bf84f7d
EZ
536 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
537
538 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
539
540 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
541 LGLYPH_SET_CODE.
542
94baaf4f
KH
5432008-08-29 Kenichi Handa <handa@m17n.org>
544
545 * fileio.c (report_file_error): Don't downcase the first character
546 of errstring if it is still unibyte.
547
24553805
KH
5482008-08-29 Kenichi Handa <handa@m17n.org>
549
550 These changes are to re-implement the automatic composition so
551 that it doesn't use text properties.
552
553 * Makefile.in (ftfont.o): Depend on composite.h.
554 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
555
556 * character.h (Vunicode_category_table): Extern it.
557
558 * character.c (Vunicode_category_table): New variable.
559 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
560
561 * chartab.c (optimize_sub_char_table): Perform more greedy
562 optimization.
563
564 * composite.h (enum composition_method): Delete
565 COMPOSITION_WITH_GLYPH_STRING.
10d1d0af 566 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
24553805
KH
567 (Vcomposition_function_table): Extern it.
568 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
569 (composition_gstring_put_cache, composition_gstring_from_id)
570 (composition_gstring_p, composition_gstring_width)
571 (composition_compute_stop_pos, composition_reseat_it)
572 (composition_update_it, composition_adjust_point): Extern them.
573 (Fcomposition_get_gstring): EXFUN it.
574
575 * composite.c: Include window.h, frame.h, dispextern.h font.h.
576 (Vcomposition_function_table)
577 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
578 (gstring_hash_table, gstring_work, gstring_work_headers): New
579 variables.
580 (gstring_lookup_cache, composition_gstring_put_cache)
581 (composition_gstring_from_id, composition_gstring_p)
582 (composition_gstring_width, fill_gstring_header)
583 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
584 (composition_reseat_it, composition_update_it)
585 (composition_adjust_point, Fcomposition_get_gstring): New
586 functions.
587 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
588 and gstring_work_headers. DEFVAR_LISP composition-function-table.
589 Defsubr compostion_get_gstring.
590
591 * dispextern.h (struct glyph): New union u.cmp. Delete the member
592 cmp_id.
593 (struct glyph_string): Delete the member gidx. New members
594 cmp_id, cmp_from, and cmp_to.
595 (enum it_method): Delete GET_FROM_COMPOSITION.
596 (struct composition_it): New struct.
597 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
598 Delete c, len, cmp_id, cmp_len in u.comp.
599
600 * font.h (enum lgstring_indices): Delete it.
601 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
602 (enum lglyph_indices): Likewise.
603 (font_range): Extern adjusted.
604 (font_fill_lglyph_metrics): Extern it.
605
606 * font.c (QCf): New variable.
607 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
608 (font_prepare_composition): Delete this function.
609 (font_range): Type and arguments changed.
610 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
611 (font_fill_lglyph_metrics): New function.
612 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
613 changed.
614 (syms_of_font): DEFSYM QCf. Delete defsubr for
615 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr
616 Sfont_shape_gstring.
617
618 * fontset.h (font_for_char): Extern it.
619
620 * fontset.c (font_for_char): New function.
621
622 * ftfont.c: Include composite.h.
623 (ftfont_resolve_generic_family): Add langset "en" to pattern.
624 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
625 LGSTRING_LENGTH.
626
627 * indent.c: Include composite.h and dispextern.h.
87e204a2 628 (check_composition): Delete this function.
24553805
KH
629 (scan_for_column): Handle composition by
630 composition_compute_stop_pos, composition_reseat_it, and
631 composition_update_it.
632 (compute_motion): Likewise.
633 (Fvertical_motion): Fix checking of composition.
634
635 * keyboard.c (adjust_point_for_property): Check composition by
636 composition_adjust_point.
637
638 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
639 struct glyph_string.
640
641 * term.c (encode_terminal_code): Adjusted for the change of struct
642 glyph.
643 (append_composite_glyph): Adjusted for the change of struct it and
644 struct glyph.
645 (produce_composite_glyph): Likewise.
646
647 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
648 for the change of struct glyph_string.
649 (x_draw_glyph_string): Likewise.
650
651 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
652 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
653
654 * xdisp.c: Include font.h.
655 (it_props): Delete the entry for Qauto_composed.
656 (init_iterator): Initialize it->cmp_it.id to -1.
657 (compute_stop_pos): Call composition_compute_stop_pos.
658 (face_before_or_after_it_pos): Adjusted for the change of struct
659 it.
660 (handle_auto_composed_prop): Delete it.
661 (handle_composition_prop): Handle only static composition.
662 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
663 from xassert. Initialize it->cmp_it.stop_pos.
664 (push_it): Adjusted for the change of struct it.
665 (pop_it): Likewise.
666 (get_next_element): Delete next_element_from_composition.
667 (CHAR_COMPOSED_P): New macro.
668 (get_next_display_element): For automatic composition, get a face
669 from the font in the glyph-string.
670 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
671 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION
672 case.
673 (next_element_from_string): Check if the character at the current
674 position is composed by CHAR_COMPOSED_P.
675 (next_element_from_buffer): Likewise.
676 (next_element_from_composition): Adjusted for the change of struct
677 it. Update it->cmp_it.
678 (dump_glyph): Adjusted for the change of struct glyph.
679 (fill_composite_glyph_string): Adjusted for the change of struct
680 it and struct glyph. Don't handle automatic composition here.
681 (fill_gstring_glyph_string): New function.
682 (x_get_glyph_overhangs): Handle automatic composition.
683 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
684 glyph.
685 (BUILD_GSTRING_GLYPH_STRING): New macro.
686 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
687 automatic composition.
688 (append_composite_glyph): Adjusted for the change of struct it and
689 struct glyph.
690 (x_produce_glyphs): Adjusted for the change of struct it.
691
692 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
693 the change of struct glyph_string.
694 (x_draw_glyph_string): Likewise.
695
05e10ad5
GM
6962008-08-29 Glenn Morris <rgm@gnu.org>
697
698 * buffer.c (word-wrap): Doc fix.
699 * xdisp.c (truncate-partial-width-windows): Doc fix.
700 Increase default to 50.
701
efe63a4b
CY
7022008-08-29 Chong Yidong <cyd@stupidchicken.com>
703
704 * xdisp.c (update_tool_bar_unwind): New function.
705 (update_tool_bar): Temporarily set selected frame before building
706 tool-bar items.
707
a8c95f1a
MA
7082008-08-28 Michael Albinus <michael.albinus@gmx.de>
709
710 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
711 snprintf, respectively.
712 (xd_append_arg): Convert strings with Fstring_make_unibyte.
713
558f81af
CY
7142008-08-28 Chong Yidong <cyd@stupidchicken.com>
715
716 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
717 LDFLAGS to GNUstep CC invocation.
718
48ce8ca7
CY
7192008-08-27 Chong Yidong <cyd@stupidchicken.com>
720
8fa97db1
CY
721 * indent.c (Fvertical_motion): Revert last change. Handle the
722 general case where we are moving forward, and PT spans multiple
723 screen lines.
724
48ce8ca7
CY
725 * eval.c (find_handler_clause): Temporarily increase
726 max-lisp-eval-depth while printing the backtrace buffer, to
727 guarantee that help-mode code can run.
728
f12dae2f
EZ
7292008-08-27 Eli Zaretskii <eliz@gnu.org>
730
731 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
732 colors under -rv.
733 (IT_set_frame_parameters): Don't swap foreground and background
734 colors if `(reverse . t)' is present in the frame properties.
fe9365b3
EZ
735 (internal_terminal_init): Call init_frame_faces only for the
736 initial frame.
f12dae2f 737
b9fb8cf0
CY
7382008-08-27 Andreas Schwab <schwab@suse.de>
739
740 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
741
dafaabd1
AS
7422008-08-27 Andreas Schwab <schwab@suse.de>
743
744 * search.c (search_buffer): Set char_base to zero only at the end.
745
6c0969ca
KH
7462008-08-27 Kenichi Handa <handa@m17n.org>
747
748 * fileio.c (report_file_error): Fix handling of multibyte error
749 string.
750
ffd1cd8a
CY
7512008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
752
753 * xterm.c (x_term_init): Temporarily hide the partially
754 initialized terminal while calling vendor-specific-keysyms.
755
2306a735
EZ
7562008-08-26 Eli Zaretskii <eliz@gnu.org>
757
758 * msdos.c (internal_terminal_init): Most initializations done only
759 once, especially initial_screen_colors[] and termscript open.
760
609849bc
CY
7612008-08-26 Chong Yidong <cyd@stupidchicken.com>
762
ba59c3a1
CY
763 * eval.c (Fcondition_case): Doc fix.
764
7d31058f
CY
765 * widgetprv.h (EmacsFramePart): Change font member to the new font
766 struct.
609849bc
CY
767
768 * widget.c: Include character.h and font.h for XSETFONT.
769 (setup_frame_gcs): Compute X font id from font struct, just once.
770
5cc67f65
EZ
7712008-08-26 Eli Zaretskii <eliz@gnu.org>
772
773 * term.c (get_named_tty): Fix last change.
774
ff73b461
CY
7752008-08-26 Chong Yidong <cyd@stupidchicken.com>
776
777 * indent.c (Fvertical_motion): If moving forward starting from a
778 multi-line string, move the iterator to the last line of that
779 string.
780
a4e628d4
EZ
7812008-08-25 Eli Zaretskii <eliz@gnu.org>
782
783 * frame.c (do_switch_frame): Mark previously displayed frame as
784 obscured for FRAME_MSDOS_P frames as well.
785
8a445f76
EZ
7862008-08-24 Eli Zaretskii <eliz@gnu.org>
787
1266f9ef
EZ
788 * frame.c (make_terminal_frame): Initialize f->terminal,
789 f->terminal->reference_count, and scroll bars on MS-DOS as well.
790 Set the top frame to newly created frame.
791 (Fmake_terminal_frame): Reuse the_only_display_info.
792
8a445f76
EZ
793 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
794 estimating available memory.
795
154c218f
CY
7962008-08-23 David Reitter <david.reitter@gmail.com>
797
54299c95
DR
798 * nsterm.m (ns_draw_window_cursor): Don't call
799 NSDisableScreenUpdates and NSEnableScreenUpdates on
800 non-NS_IMPL_COCOA systems.
801
8399d035
AS
8022008-08-23 Andreas Schwab <schwab@suse.de>
803
804 * process.c (procfs_system_process_attributes): Fix use of
805 uninitialized variables.
806
293a3986
EZ
8072008-08-23 Eli Zaretskii <eliz@gnu.org>
808
809 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
810
811 * dispnew.c (init_display): Remove MS-DOS specific conditions for
812 calling tty-set-up-initial-frame-faces.
813
814 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
815 MSDOS frames along with X frames.
816
817 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
818 addition to output_termcap.
819
820 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
821
822 * termchar.h (FRAME_TTY): Support output_msdos_raw.
823 (struct tty_display_info) [MSDOS]: Add fields related to mouse
824 highlight.
825
826 * process.c [!subprocesses]: Define QCname.
827 (syms_of_process): Intern and staticpro it.
828
829 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
830 Adjust for changes in encoding/decoding routines. Use
831 encode_coding_object and decode_coding_object instead of
832 encode_coding and decode_coding.
833
834 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
835 argument.
836
837 * dosfns.c: Include frame.h before termhooks.h.
838 (dos_cleanup): Use CURTTY ()->termscript instead of a global
839 variable termscript.
840
841 * s/msdos.h (USER_FULL_NAME): Define.
842 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
843
844 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
845 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
846 pw->pw_gecos.
847
848 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
849 SELECTED_FRAME as additional (1st) argument.
850 (tty_read_avail_input): Handle output_msdos_raw in
851 addition to output_termcap.
852
853 * msdos.c: Include frame.h before termhooks.h.
854 (mouse_on, mouse_off, mouse_moveto, mouse_init)
855 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
856 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
857 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
858 (IT_set_terminal_modes, IT_reset_terminal_modes)
859 (IT_set_frame_parameters): Use tty->termscript instead of a global
860 variable termscript.
861 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
862 global variable terminal_coding. Don't refer to
863 Vnonascii_translation_table.
864 (internal_terminal_init): Set Vwindow_system in current_kboard.
865 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
866 Announce date and time of session start, if termscript is open.
867 Don't zero out the_only_display_info (it is done in
868 term.c:init_tty). Open termscript only of not already open. Log
869 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
870 here instead of dos_ttraw. Don't initialize display if this is an
871 initial tty. Don't set FRAME_FONT.
872 (Vwindow_system_version): Bump to 23.
873 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
874 is available, set up mouse_position_hook.
875 (dos_ttraw, IT_set_terminal_modes): If called with initial
876 terminal, do nothing.
877 (IT_set_frame_parameters): Handle the Qtty_type frame
878 parameter by calling internal_terminal_init.
879 (dos_set_window_size, show_mouse_face)
880 (clear_mouse_face, IT_note_mode_line_highlight)
881 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
882 (dos_rawgetc): Use tty_display_info instead of x_display_info.
883 (initialize_msdos_display): New function.
884 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
885 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
886 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
887 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
888 Accept additional argument: a pointer to a frame. All callers
889 changed.
890 (request_sigio, unrequest_sigio): Don't define, now defined on
891 sysdep.c.
892 (IT_write_glyphs): Rewrite to use encode_terminal_code.
893
894 * term.c [MSDOS]: Include msdos.h.
895 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
896 conditional to DOS_NT. Allow only one call to this function in a
897 session. Don't allocate a new struct tty_display_info; instead,
898 reuse the_only_display_info. Call get_tty_size to get screen
899 dimensions. Call init_baud_rate to set bad_rate.
900 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
901 (Fsuspend_tty) [MSDOS]: Don't close input and output.
902 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
903 stdin/stdout.
904 (get_tty_terminal, get_named_tty, Ftty_type)
905 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
906 output_termcap.
907 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
908 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
909 only when subprocesses are supported
910
911 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
912 f->output_data.x.
913 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
914 terminal devices.
915
916 * msdos.h Remove definition of struct x_display_info and struct
917 x_output.
918 (FRAME_FONT): Use output_data.tty.
919 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
920 (struct x_display_info): Renamed from display_info. All users in
921 msdos.c changed.
922 (struct x_output): Remove background_pixel and foreground_pixel.
923 (the_only_display_info): Renamed from the_only_x_display.
924 (dos_ttraw): Update prototype.
925
926 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
927 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
928
58279503
JR
9292008-08-23 Jason Rumney <jasonr@gnu.org>
930
931 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
932 (fn_TIFFSetDirectory): New library function used.
933 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
934 (tiff_load): Use :index to select among multiple images. Set count
935 property when multiple images exist.
936 (gif_format): Use :index, not :image.
937
4b7e0869
CY
9382008-08-23 Chong Yidong <cyd@stupidchicken.com>
939
940 * xdisp.c (try_scrolling): Check INT_MAX instead of
941 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
942 to obtain INT_MAX.
943
fe0a6f3b 9442008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
a3c8694a 945
fe0a6f3b 946 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
a3c8694a 947
e0ce7c50
CY
9482008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
949
950 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
951 GNUstep library location.
952
2984624d
CY
9532008-08-21 Chong Yidong <cyd@stupidchicken.com>
954
23888717
CY
955 * xfaces.c (x_update_menu_appearance): Check validity of menu font
956 before using it.
957
2984624d
CY
958 * puresize.h (BASE_PURESIZE): Increase to 1250000.
959
f2f7f42c
AR
9602008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
961
962 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
963 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
964 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
965 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
966 (EmacsApp-cursor_blink_handler): Remove declaration.
967 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
968 match 01 Feb 2008 changes in xterm.c.
969 (ns_read_socket): Add cast to avoid warning.
970 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
971 GNUstep.
972
1eff4ab3
CY
9732008-08-20 Chong Yidong <cyd@stupidchicken.com>
974
975 * xselect.c (x_get_foreign_selection): Return nil if desired
976 selection could not be obtained, instead of signalling an error.
977
fe0a6f3b 9782008-08-20 David Reitter <david.reitter@gmail.com>
b8c63ae9 979
fe0a6f3b 980 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
1eff4ab3
CY
981 * nsterm.m: Remove ns-specific code for cursor blinking.
982 (ns_draw_window_cursor): Clear cursor properly rather than
87e204a2 983 redrawing the area. Respect width of bar cursors.
1eff4ab3 984 These changes enable the use of generic blink-cursor-mode and
b8c63ae9
DR
985 generic cursor types in NS and support smooth cursor movements (do
986 not blink off after command).
1eff4ab3
CY
987 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
988 Nextstep, too.
b8c63ae9 989
86d21abc
KH
9902008-08-19 Kenichi Handa <handa@m17n.org>
991
992 * font.c (Vfont_log_deferred): New variable.
993 (font_add_log): Check Vfont_log_deferred.
10d1d0af 994 (font_deferred_log): New function.
86d21abc
KH
995
996 * font.h (font_deferred_log): Extern it.
997
998 * fontset.c (reorder_font_vector): Use encoding charset of fonts
999 for sorting.
1000 (face_for_char): Use deferred log.
1001
039d3b16
KH
10022008-08-18 Kenichi Handa <handa@m17n.org>
1003
1004 * fontset.c (face_for_char): Add font log.
1005
1006 * font.c (font_add_log): Add the font properties :script, :lang,
1007 and :otf in the log.
1008
e5ac2419
CY
10092008-08-17 Chong Yidong <cyd@stupidchicken.com>
1010
1011 * xdisp.c: Remove dead code.
1012 (handle_invisible_prop, next_overlay_string): Defer call to
1013 setup_for_ellipsis.
1014 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
1015
c2e9928d
CY
10162008-08-15 Chong Yidong <cyd@stupidchicken.com>
1017
ef1fba80
CY
1018 * xfaces.c (lookup_derived_face): Properly handle possible zero
1019 return value of get_lface_attributes.
1020 (merge_faces): Don't tell lookup_derived_face to signal an error
1021 if face is not found.
1022
1c319327
CY
1023 * dired.c (Fdirectory_files): Doc fix.
1024
c2e9928d
CY
1025 * process.c (make_process): Initialize kill_without_query struct
1026 member.
1027
b8526f6e
EZ
10282008-08-15 Eli Zaretskii <eliz@gnu.org>
1029
235661f6
EZ
1030 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
1031 Alternative calculation of totphys for Visual Studio 6.
1032
8e764ce0
EZ
1033 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
1034
b8526f6e
EZ
1035 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
1036 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
1037 All users changed.
a644b2e4
EZ
1038 (stat): Only root directory passed to GetDriveType. Allow RAM
1039 disk as well as local fixed disk when w32-get-true-file-attributes
1040 is set to `local'.
f8b35b24
EZ
1041 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
1042 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
1043 (w32_cached_id, w32_add_to_cache): New functions.
1044 (get_name_and_id): Look account names in the cache before calling
1045 lookup_account_sid.
1046 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
1047 New initialization flags.
1048 (globals_of_w32): Initialize them to zero.
1049 (w32_system_process_attributes): Use w32_cached_id and
1050 w32_add_to_cache.
b8526f6e 1051
f581fad6
CY
10522008-08-14 Lawrence Mitchell <wence@gmx.li>
1053
1054 * lread.c (Fread_char, Fread_char_exclusive): If no character
1055 event is read before timeout is reached, return nil, rather than
1056 converting to a number.
1057
23c6bdbe
CY
10582008-08-14 Chong Yidong <cyd@stupidchicken.com>
1059
6988207c 1060 * fns.c (use_dialog_box): Doc fix.
97aec90a 1061
23c6bdbe
CY
1062 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
1063 on OS X.
1064
01623ee7
CY
10652008-08-13 Chong Yidong <cyd@stupidchicken.com>
1066
1067 * frame.c (Qns_parse_geometry): New var.
1068 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
1069
f00f8cb7
CY
10702008-08-11 Chong Yidong <cyd@stupidchicken.com>
1071
1072 * xdisp.c (x_produce_glyphs): Handle the case when font has no
1073 space character in calculating tabs.
1074
11d8ec4a
DN
10752008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
1076
1077 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
1078
27bef0c8
GM
10792008-08-10 Glenn Morris <rgm@gnu.org>
1080
1081 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
1082 silence gcc "limited range of data type" warnings in some
1083 make_fixnum_or_float calls.
1084
8f8b082a
EZ
10852008-08-09 Eli Zaretskii <eliz@gnu.org>
1086
754a2d13
EZ
1087 * w32.c (w32_system_process_attributes): If the process does not
1088 exist, return nil.
1089
8f8b082a
EZ
1090 * w32.c: Include thelp32.h, psapi.h and coding.h.
1091 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
1092 declarations.
1093 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
1094 (Process32Next_Proc): New typedefs.
1095 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
1096 (g_b_init_process32_next, g_b_init_open_thread_token)
1097 (g_b_init_impersonate_self, g_b_init_revert_to_self)
1098 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
1099 (g_b_init_get_process_working_set_size)
1100 (g_b_init_global_memory_status_ex): New static variables.
1101 (globals_of_w32): Initialize them.
1102 (create_toolhelp32_snapshot, process32_first, process32_next)
1103 (open_thread_token, impersonate_self, revert_to_self)
1104 (get_process_memory_info, get_process_working_set_size)
1105 (global_memory_status, global_memory_status_ex): New wrapper
1106 functions.
1107 (w32_list_system_processes, w32_system_process_attributes)
fe0a6f3b
JB
1108 (enable_privilege, restore_privilege, ltime, process_times):
1109 New functions.
8f8b082a
EZ
1110 (convert_time_raw): New function.
1111 (convert_time): Remove conversion of FILETIME into time in 100
1112 nsec units, call convert_time_raw instead.
1113
1114 * process.h (w32_list_system_processes, w32_system_process_attributes):
1115 Add prototypes.
1116 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
1117 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
1118 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
1119 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
1120
1121 * process.c (Fsystem_process_attributes): Doc fix.
1122
97c98587
CY
11232008-08-08 Chong Yidong <cyd@stupidchicken.com>
1124
fe0a6f3b
JB
1125 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
1126 a continued multi-char glyph; if so, advance to the actual glyph.
97c98587 1127
48fad8e8
DN
11282008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
1129
fe0a6f3b 1130 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
48fad8e8
DN
1131
1132 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
1133 (.m.o): Use it.
1134 * config.in: Regenerate.
1135
709fc721
CY
11362008-08-07 Chong Yidong <cyd@stupidchicken.com>
1137
1138 * xdisp.c (redisplay_window): Revert last change.
1139 (try_window): Check bottom scroll margin too.
1140
b330336c
AR
11412008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1142
1143 * config.in: Regenerate.
1144
10d1d0af 1145 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
b330336c
AR
1146 -list-load-path-shadows'.
1147 (nsgui.h): Reduce number of things depending on it.
1148
b2c5015c
CY
11492008-08-06 Chong Yidong <cyd@stupidchicken.com>
1150
1151 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
1152 instead of window-end which does the wrong thing at eob.
1153 (try_cursor_movement): Minor optimization.
1154 (redisplay_window): If scroll margin is defined, don't assume
1155 window doesn't need scrolling.
1156
55737942
AR
11572008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1158
1159 * config.in: Regenerate.
1160
1161 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
1162 (mostlyclean): Don't delete *.d under NS.
1163
1164 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
1165
29428bb8
KH
11662008-08-06 Kenichi Handa <handa@m17n.org>
1167
fe0a6f3b 1168 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
29428bb8 1169
5c17fc1d
AS
11702008-08-06 Andreas Schwab <schwab@suse.de>
1171
1172 * config.in: Regenerate.
1173
cd7f53ca
CY
11742008-08-05 Chong Yidong <cyd@stupidchicken.com>
1175
012fd6f4
CY
1176 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
1177 forcing a window start.
1178
cd7f53ca
CY
1179 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
1180 (auto_save_1): Update modtime when auto-save-list-file-name is on.
1181
3d0a4431
AR
11822008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1183
95889848 1184 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3d0a4431
AR
1185 argument.
1186
d765e3a3
JB
11872008-08-05 Juanma Barranquero <lekktu@gmail.com>
1188
1189 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
1190 <scroll-down-aggressively, before-change-functions>:
1191 <after-change-functions>: Reflow docstrings.
1192
4e622592 11932008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
8df8bcc9 1194 Ken Raeburn <raeburn@gnu.org>
4e622592
AR
1195
1196 Dock menu customization, based on a patch by Ken Raeburn, plus some
1197 other fixes.
1198 * nsmenu.m (dockMenu): New variable.
1199 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
1200
1201 * nsterm.h (dockMenu): Declare.
1202
1203 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
1204 (ns_term_init): Initialize dockMenu.
1205 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
1206 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
1207 left.
1208
1209 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
1210
108a6883
CY
12112008-08-04 Chong Yidong <cyd@stupidchicken.com>
1212
1213 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
1214
1215 * config.in: Regenerate.
1216
ae10f60c
SZ
12172008-08-04 Seiji Zenitani <zenitani@mac.com>
1218
d765e3a3 1219 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
ae10f60c 1220
b537b75b
CY
12212008-08-04 Chong Yidong <cyd@stupidchicken.com>
1222
1223 * nsterm.h (find_and_call_menu_selection): Fix prototype.
1224
14145fa3
AR
12252008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
1226
1227 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
1228
1229 * keyboard.h: Comment an #endif.
1230
07b87a10
AR
1231 * lisp.h (have_menus_p): Adjust comment.
1232
1233 * menu.c (find_and_return_menu_selection): Fix comparison with
1234 client_data.
1235
1236 * nsmenu.m (popup_activated_flag): New variable.
1237 (popup_activated): New function.
1238 (menu-or-popup-active-p): New exported lisp definition.
1239 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
1240 when popup done.
1241 (ns_popup_dialog): Set popup_activated_flag.
1242
4e622592 1243 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
14145fa3
AR
1244 version for GNUstep (handled by conditional typedef in nsterm.m).
1245 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
1246 in rgb.txt).
1247
1248 * process.c (init_process): Use DARWIN_OS, not DARWIN.
1249
1250 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
1251
07b87a10
AR
1252 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
1253
1254 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
1255 shortcircuit if popup_activated like GTK and X toolkit.
1256
14145fa3
AR
1257 * m/inter386.h: Change DARWIN to DARWIN_OS.
1258
1259 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
1260 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
07b87a10
AR
1261 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
1262 comment on NO_SOCK_SIGIO.
14145fa3 1263
6e09bde1
CY
12642008-08-03 Chong Yidong <cyd@stupidchicken.com>
1265
14145fa3 1266 * nsterm.m (windowDidResize): Remove stopModal call.
6e09bde1 1267
a023b559
AS
12682008-08-03 Andreas Schwab <schwab@suse.de>
1269
51757187
AS
1270 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
1271 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
a023b559 1272
a2dec0e5
CY
12732008-08-02 Chong Yidong <cyd@stupidchicken.com>
1274
1275 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
1276 Don't use uninitialized pointer variable when using getrlimit.
1277
4ff1bf17
JR
12782008-08-02 Jason Rumney <jasonr@gnu.org>
1279
4342f814 1280 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
4ff1bf17 1281
934e2a68
EZ
12822008-08-02 Eli Zaretskii <eliz@gnu.org>
1283
0078170f
EZ
1284 * alloc.c (NSTATICS): Bump to 0x640.
1285
934e2a68
EZ
1286 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
1287
1288 * lisp.h: Add prototype for directory_files_internal.
1289
1290 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
1291 New functions.
1292 (syms_of_process): Defsubr them. Add initializations for various
1293 Q* symbols used in procfs_system_process_attributes.
1294 (procfs_list_system_processes, procfs_system_process_attributes)
1295 [HAVE_PROCFS]: New functions.
1296 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
1297 (procfs_get_total_memory): New functions.
1298
dee8cd43
JB
12992008-08-01 Juanma Barranquero <lekktu@gmail.com>
1300
1301 * xfaces.c (Fx_load_color_file): Fix previous change;
1302 it is #ifdef WINDOWSNT, not WINDOWS_NT.
1303
367ea173
MA
13042008-08-01 Michael Albinus <michael.albinus@gmx.de>
1305
1306 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
1307
04f33e11
AR
13082008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1309
1310 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
1311
73592876
CY
13122008-08-01 Chong Yidong <cyd@stupidchicken.com>
1313
dee8cd43 1314 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
6fcb12fd 1315
d1a5744d 1316 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
6fcb12fd
CY
1317 define NSApplicationDelegateReplySuccess.
1318 (EmacsView -converstationIdentifier): Use long instead of
d1a5744d 1319 NSInteger for GNUstep, since it doesn't have NSInteger.
6fcb12fd 1320
61bf63e2
CY
1321 * xmenu.c: Revert last change.
1322
73592876
CY
1323 * keyboard.h: Fix last change.
1324
ebadbfa6
AR
13252008-08-01 Juanma Barranquero <lekktu@gmail.com>
1326
1327 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
1328 on Windows.
1329
15034960 13302008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
f78c2c97 1331
15034960 1332 Warning clearing and clean-up in NS port.
dee8cd43
JB
1333 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
1334 Add prototypes.
15034960
AR
1335 * nsgui.h (FACE_DEFAULT): Remove, unused.
1336 (XGCValues): Change colors to unsigned long.
1337 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
1338 nsterm.m.
1339 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
1340 (ns_list_fonts): Remove, unused.
1341 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
1342 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
1343 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
1344 (nsfont_draw): Compare face colors to 0, not nil.
1345 * nsmenu.m (struct widget_value): Drop unneeded declaration.
1346 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
1347 (-addSubmenuWithTitle:): Use NSMenuItem class.
1348 (ns_popup_menu): Use NO, not NULL, for enabled setting.
1349 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
1350 (ns_clip_to_row): Make gc arg a BOOL.
1351 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
1352 ns_clip_to_row() call.
1353 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
87e204a2 1354 used). Cast FRAME_FONT assignments.
15034960
AR
1355 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
1356 (ns_string_to_lispmod): Change arg to const char.
1357 (ns_term_init): Use NSMenuItem class.
1358 (EmacsApp -openFile:): Move to different section of file.
1359 (EmacsApp -application:openFiles:): Don't return a value, call
1360 -replyToOpenOrPrint:.
1361 (EmacsView -keyDown:): Fix up cast.
1362 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
1363 (EmacsView -menuDown:): Cast tag in call to
1364 find_and_call_menu_selection().
1365 (ns_list_fonts): Remove, unused.
1366 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
1367 (ns_fontname_to_xlfd): Make static.
dee8cd43
JB
1368 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
1369 Remove prototypes (now in keyboard.h).
15034960 1370 (next_menubar_widget_id): Remove, unused.
dee8cd43
JB
1371 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
1372 Remove prototypes (now in keyboard.h).
15034960
AR
1373 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
1374
27ec92c9
DN
13752008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
1376
f78c2c97
DN
1377 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
1378 (floatfns.o): Depend on syssignal.h.
1379 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
1380
dee8cd43
JB
1381 * systty.h: Fix previous change that removed BSD_TERMIOS.
1382 Add comments to #ifdefs.
27ec92c9 1383
7ded3383
AR
13842008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1385
1386 * w32fns.c (w32-load-color-file): Remove.
1387 (x-open-connection): Use renamed Fx_load_color_file.
1388 * xfaces.c (x-load-color-file): Add.
1389 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
1390 Emacs.clr.
7ded3383
AR
1391 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
1392
13ecc6dc
MA
13932008-07-31 Michael Albinus <michael.albinus@gmx.de>
1394
1395 * dbusbind.c (Fdbus_call_method_asynchronously)
1396 (Fdbus_method_error_internal): New defuns.
1397 (xd_read_message): Handle also reply messages.
1398 (Vdbus_registered_functions_table): Extend docstring.
1399
12063bc5
JB
14002008-07-31 Juanma Barranquero <lekktu@gmail.com>
1401
1402 * keyboard.c (gobble_input): Fix previous change.
1403
7c2fb837
DN
14042008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1405
1406 * bitmaps/README:
1407 * xfns.c:
1408 * termcap.c:
1409 * term.c:
1410 * syswait.h:
1411 * systty.h:
1412 * systime.h:
1413 * syssignal.h:
1414 * sysdep.c:
1415 * process.h:
1416 * process.c:
1417 * print.c:
1418 * ndir.h:
1419 * lread.c:
1420 * keyboard.c:
1421 * getpagesize.h:
1422 * floatfns.c:
1423 * fileio.c:
1424 * emacs.c:
1425 * doc.c:
1426 * dispnew.c:
1427 * dired.c:
1428 * data.c:
1429 * callproc.c:
1430 * buffer.c:
1431 * README:
1432 * Makefile.in:
1433 * s/template.h:
1434 * s/msdos.h:
1435 * m/vax.h: Remove VMS support.
1436 * s/vms.h:
1437 * vlimit.h:
1438 * uaf.h:
1439 * temacs.opt:
1440 * param.h:
1441 * ioctl.h: Remove file.
1442
69ab3201
DN
14432008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
1444
1445 * s/ms-w32.h (MULTI_KBOARD): Remove.
1446 * xterm.c:
1447 * xselect.c:
1448 * xfns.c:
1449 * window.c:
1450 * w32term.c:
1451 * w32fns.c:
1452 * terminal.c:
1453 * termhooks.h:
1454 * term.c:
1455 * sysdep.c:
1456 * keyboard.h:
1457 * keyboard.c:
1458 * frame.h:
1459 * frame.c:
d765e3a3 1460 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
69ab3201
DN
1461 * config.in: Regenerate.
1462
bd187c49
JR
14632008-07-30 Jason Rumney <jasonr@gnu.org>
1464
12063bc5 1465 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
bd187c49 1466
12063bc5
JB
1467 * w32font.c (w32font_encode_char): Leave as unicode if in range.
1468 (w32font_open_internal): Get unicode version of textmetrics.
1469 Don't enable or disable glyph indices here.
1470 (w32font_open): Disable use of glyph indices.
bd187c49 1471
12063bc5 1472 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
bd187c49 1473
e3072df2
CY
14742008-07-30 Chong Yidong <cyd@stupidchicken.com>
1475
39dde873 1476 * minibuf.c (Vread_buffer_function): Doc fix.
e3072df2 1477
bc850333
CY
14782008-07-30 John Paul Wallington <jpw@pobox.com>
1479
1480 * minibuf.c (read_buffer_completion_ignore_case): New var.
1481 (Fread_buffer): Use it.
1482
9d9a7716
DN
14832008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
1484
1485 * systty.h (sensemode): Remove empty #if. Remove reference to
1486 BSD_TERMIOS, unused.
1487
1488 * sysdep.c: Remove reference to DGUX.
1489 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
1490
1491 * config.in: Regenerate.
1492
0c34f98e
JR
14932008-07-30 Jason Rumney <jasonr@gnu.org>
1494
12063bc5 1495 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
0c34f98e 1496
c320e90a
JR
14972008-07-29 Jason Rumney <jasonr@gnu.org>
1498
12063bc5
JB
1499 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
1500 is populated.
1501 (uniscribe_encode_char): Always use uniscribe.
1502 Avoid using context if cache is populated.
c320e90a 1503
3f7ead30
JD
15042008-07-29 Jan Djärv <jan.h.d@swipnet.se>
1505
1506 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
1507 open menu.
1508
1509 * gtkutil.c (menu_nav_ended): Remove.
1510 (create_menus): Remove signal connect for menu_nav_ended.
1511
639eebe2
CY
15122008-07-28 Chong Yidong <cyd@stupidchicken.com>
1513
1514 * xdisp.c (redisplay_window): Check return value of
1515 compute_window_start_on_continuation_line before forcing a window
1516 start.
1517
d1f535d2
JR
15182008-07-28 Jason Rumney <jasonr@gnu.org>
1519
0e134ea0 1520 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
9cac6313 1521
0e134ea0
JB
1522 * w32term.c (w32_enable_unicode_output, cleartype_active):
1523 Remove obsolete display options.
1524 (x_draw_glyph_string_background): Don't use old cleartype_active
1525 workaround.
1526 (w32_initialize): Remove cleartype_active initialization.
1527 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
d1f535d2 1528
ddaa36e1
AS
15292008-07-28 Andreas Schwab <schwab@suse.de>
1530
1531 * lisp.h (init_weak_hash_tables, syms_of_font)
1532 (xd_read_queued_messages, syms_of_dbusbind): Declare.
1533 (remove_hash_entry): Don't declare.
1534 * eval.c (maybe_call_debugger): Make static and move before use.
1535 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
1536 * xdisp.c: Include "gtkutil.h" if USE_GTK.
1537 * xterm.h (x_set_frame_alpha): Declare.
1538
42ffd097
JD
15392008-07-28 Jan Djärv <jan.h.d@swipnet.se>
1540
1541 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
1542 (create_menus): Connect selection-done to menu_nav_ended.
1543
bd6ce2ba
AR
15442008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1545
1546 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
1547 Set Vx_resource_name to a fallback. Replace read of 'buffered'
1548 parameter with read of 'alpha' one.
1549 (Qns_frame_parameter): Remove.
1550 * nsselection.m (selection-coding-system)
1551 (next-selection-coding-system, Vselection_coding_system)
1552 (Vnext_selection_coding_system): Drop.
1553
583ff3c3
AR
15542008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1555
1556 * nsfns.m (do-applescript, do_applescript): Rename to
1557 ns-do-applescript, ns_do_applescript, and move within file.
1558
9e2a2647
DN
15592008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
1560
1561 Remove support for Mac Carbon.
1562 * mactoolbox.c:
1563 * macterm.h:
1564 * macterm.c:
1565 * macselect.c:
1566 * macmenu.c:
1567 * macgui.h:
1568 * macfns.c:
1569 * mac.c: Remove file.
1570 * s/darwin.h:
1571 * m/intel386.h:
1572 * xfaces.c:
1573 * xdisp.c:
1574 * window.c:
1575 * tparam.c:
1576 * termhooks.h:
1577 * termcap.c:
1578 * term.c:
1579 * syssignal.h:
1580 * sysselect.h:
1581 * sysdep.c:
1582 * process.c:
1583 * lread.c:
1584 * lisp.h:
1585 * keyboard.c:
1586 * image.c:
1587 * fringe.c:
1588 * frame.h:
1589 * frame.c:
1590 * fontset.c:
1591 * font.h:
1592 * font.c:
1593 * fns.c:
1594 * fileio.c:
1595 * emacs.c:
1596 * dispnew.c:
1597 * dispextern.h:
1598 * config.in:
1599 * atimer.c:
1600 * Makefile.in: Remove code for Carbon
1601
7ad8fe5e 16022008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4874e088 1603
7ad8fe5e 1604 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
69eff41f 1605
7ad8fe5e 16062008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
69eff41f 1607
7ad8fe5e
MB
1608 * macterm.h (kCGBitmapByteOrder32Host): New define for
1609 non-universal SDKs.
69eff41f 1610
7ad8fe5e
MB
1611 * image.c (mac_create_cg_image_from_image, image_load_image_io)
1612 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
dcdbbb5d 1613
7ad8fe5e
MB
1614 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
1615 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
dcdbbb5d 1616
7ad8fe5e 16172008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
09721b31 1618
0e134ea0 1619 * w32inevt.c: Include dispextern.h.
09721b31 1620
51dc79f8
AS
16212008-07-26 Andreas Schwab <schwab@suse.de>
1622
1623 * print.c (print_object): Fix off-by-one in last change.
1624
dea101f6
JB
16252008-07-25 Juanma Barranquero <lekktu@gmail.com>
1626
1627 * term.c (syms_of_term): Don't initialize default_orig_pair,
1628 default_set_foreground and default_set_background on Windows.
1629
11856d4d
JR
16302008-07-25 Jason Rumney <jasonr@gnu.org>
1631
0e134ea0
JB
1632 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
1633 ScriptItemize. Clean up return value checking. Remove unused
1634 variables.
1635 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
1636 shaping engine.
11856d4d 1637
0e134ea0
JB
1638 * w32font.c (w32font_has_char): Handle the case where we can't
1639 determine the script for a character.
11856d4d 1640
7bfc0e9e
CY
16412008-07-25 Chong Yidong <cyd@stupidchicken.com>
1642
acdadb15
CY
1643 * term.c (syms_of_term): Initialize default_orig_pair,
1644 default_set_foreground, and default_set_background.
1645
5efc6200
CY
1646 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
1647 clash (bug#86).
1648 (getloadavg): Callers changed.
1649
7bfc0e9e 1650 * image.c (svg_load_image): Fix last change.
c01c4e35
CY
1651 (svg_load_image): Use rsvg_handle_get_dimensions to check that
1652 image size is valid. Use g_object_unref instead of deprecated
1653 rsvg_handle_free to free rsvg handle.
9d7112ed 1654 (x_from_xcolors): Don't initialize pixmap (silence compiler).
7bfc0e9e 1655
f31cf550
JR
16562008-07-25 Jason Rumney <jasonr@gnu.org>
1657
0e134ea0
JB
1658 * w32font.c (w32font_encode_char): Encode characters outside BMP as
1659 surrogates before looking up glyph index.
1660 (w32font_text_extents): Encode as surrogates if falling back to
1661 functions that need UTF-16 wide chars.
f31cf550 1662
0e134ea0
JB
1663 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
1664 BMP as surrogates before looking up glyph index.
f31cf550 1665
b293d659
CY
16662008-07-25 Chong Yidong <cyd@stupidchicken.com>
1667
1668 * image.c (svg_load_image): Check for failure in return value of
1669 rsvg_handle_get_pixbuf. Free rsvg handle when done.
1670
1ada3dab
JR
16712008-07-25 Jason Rumney <jasonr@gnu.org>
1672
0e134ea0 1673 * w32font.c (Fx_select_font): Reverse sense of second arg.
1ada3dab 1674
dbc812e0
SM
16752008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
1676
6449674e
SM
1677 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
1678 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
1679
dbc812e0
SM
1680 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
1681 (PURESIZE): Use it.
1682
67725bd8
DN
16832008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
1684
340074e9
DN
1685 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
1686 * m/alpha.h (TEXT_END):
1687 * m/ibmrs6000.h (TEXT_END):
1688 * m/macppc.h (TEXT_END):
1689 * s/darwin.h (TEXT_END):
1690 * s/msdos.h (TEXT_END): Remove, unused.
1691 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
1692 * s/cygwin.h: Remove comment.
1693
a11af7f8
DN
1694 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
1695 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
1696 * m/intel386.h (DOT_GLOBAL_START):
1697 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
1698 (USG): Remove, file not used on USG platforms.
1699
67725bd8
DN
1700 * Makefile.in (HAVE_X11): Remove empty #else.
1701
6420e80c
AS
17022008-07-24 Andreas Schwab <schwab@suse.de>
1703
1704 * fileio.c (Finsert_file_contents): Properly adjust undo list
1705 after format conversion.
1706
d1c38b57
JD
17072008-07-24 Jan Djärv <jan.h.d@swipnet.se>
1708
1709 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
1710 (menu_nav_ended): Remove.
1711 (create_menus): Remove signal connect for menu_nav_ended.
1712 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
1713 create_menus.
1714 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
1715
597634cb
JR
17162008-07-23 Jason Rumney <jasonr@gnu.org>
1717
dbc812e0
SM
1718 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
1719 with opened font.
1720 (w32font_open): Set font type to gdi.
4b135503 1721
dbc812e0 1722 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
597634cb 1723
7c799cf5
DN
17242008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
1725
7a14f2a0
DN
1726 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
1727 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
1728 defines it.
1729 * unexec.c (ADDR_CORRECT): Define unconditionally.
1730
1731 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
1732
f914a6bf
DN
1733 * unexec.c: Remove code depending on !COFF and USG, the file is
1734 not used for such systems.
1735
268b24ee
DN
1736 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
1737 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
1738 (LD_SWITCH_SYSTEM_1): Remove, update users.
1739
911109b1
DN
1740 * s/darwin.h (DATA_END):
1741 * m/intel386.h (DATA_END):
1742 * m/ibmrs6000.h (DATA_END):
1743 * m/alpha.h (DATA_END): Remove, unused.
911109b1 1744
77ccee09
DN
1745 * config.in: Regenerate.
1746 * s/ms-w32.h (subprocesses): Define unconditionally.
1747 * s/template.h (subprocesses): Update comment.
1748 * s/vms.h (subprocesses):
1749 * s/usg5-4.h (subprocesses):
1750 * s/hpux10-20.h (subprocesses):
1751 * s/gnu-linux.h (subprocesses):
1752 * s/cygwin.h (subprocesses):
1753 * s/bsd-common.h (subprocesses):
1754 * s/aix4-2.h (subprocesses):
1755 * s/darwin.h (subprocesses): Do not define, defined by default now.
1756
1757 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
1758 Remove all references.
d1a5744d 1759 (temacs): Add GNUstep specific ld flags.
77ccee09 1760
7c799cf5
DN
1761 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
1762 similarly to what X does.
1763
712b2de1
AR
17642008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1765
1766 * nsfns.m (x-list-fonts): Remove.
1767 (syms_of_nsfns): Drop the x-list-fonts declaration.
1768 * nsterm.m: Get rid of remaining "//" comments.
1769
0d4e1b5f
CY
17702008-07-22 Chong Yidong <cyd@stupidchicken.com>
1771
1772 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
1773
1774 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
1775 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
1776 (Fns_own_selection_internal, Fx_disown_selection_internal)
1777 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
1778
1779 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
1780 ... */' style of docstrings. Doc fixes.
1781
952913d4
DN
17822008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1783
0ecc3474 1784 * terminfo.c (UP, BC, PC): Undo previous change.
0d4e1b5f 1785
952913d4
DN
1786 * nsfns.m: Rename ns prefixed functions/variables to the
1787 corresponding x versions. Update references.
1788
02d8b017
SM
17892008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
1790
1791 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
1792
11b8fe14
DN
17932008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
1794
02d8b017
SM
1795 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
1796 Remove forwarding functions.
cc98b6a0
DN
1797 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
1798 non-static.
1799 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
1800 non-static.
1801 (ns_frame_parm_handlers): Use the new names.
1802 (syms_of_nsfns): Move to the end of file.
1803
1baa6236
DN
1804 * nsterm.m (syms_of_nsterm): Move to the end of file.
1805
11b8fe14
DN
1806 * dispnew.c (init_display): Remove code for X10.
1807
8dcaeba2
JR
18082008-07-22 Jason Rumney <jasonr@gnu.org>
1809
02d8b017
SM
1810 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
1811 bare drive.
8dcaeba2 1812
365bac35
AR
18132008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
1814
1815 * nsterm.m (syms_of_nsterm): Remove debugging println.
1816
6a0f0f86
DR
18172008-07-22 David Reitter <david.reitter@gmail.com>
1818
a3c83618 1819 * nsfns.m (do_applescript, F_do_applescript): NS version of the
6a0f0f86
DR
1820 Carbon implementation of the same functionality: execute arbitrary
1821 AppleScript code.
1822
51d5ef9f
AR
18232008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
1824
a3c83618 1825 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
51d5ef9f
AR
1826 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
1827 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1828 (Fx_display_mm_height, Fx_display_mm_width)
1829 (Fx_display_backing_store, Fx_display_visual_class)
1830 (Fx_display_save_under, Fx_open_connection)
1831 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
1832 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
1833 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1834 (Fx_display_pixel_width, Fx_display_pixel_height)
1835 (Fx_display_usable_bounds, Fx_display_planes)
1836 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
1837 ... */' style of docstrings.
1838
6efac844
DN
18392008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
1840
b8ff87cc
DN
1841 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
1842 on this platform.
1843 (mips):
1844 * m/iris4d.h (mips): Do not define.
1845 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
1846
92d1a7a3
DN
1847 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
1848
de08d1be
CY
1849 * image.c:
1850 * nsfns.m:
1851 * nsselect.m:
1852 * nsterm.h:
9e50ff0c
DN
1853 * nsterm.m: Rename ns prefixed functions/variables to the
1854 corresponding x versions. Update references.
1855
ff486501
DN
1856 * m/ibms390x.h (NO_REMAP): Do not undefine.
1857
6efac844
DN
1858 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
1859
ea9de876
CY
18602008-07-21 Chong Yidong <cyd@stupidchicken.com>
1861
1862 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
1863 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
1864 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
1865 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
1866 (Fns_display_mm_height, Fns_display_mm_width)
1867 (Fns_display_backing_store, Fns_display_visual_class)
1868 (Fns_display_save_under, Fns_open_connection)
1869 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
1870 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
1871 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
1872 (Fns_display_pixel_width, Fns_display_pixel_height)
1873 (Fns_display_usable_bounds, Fx_display_planes)
1874 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
1875
b42f4115 18762008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3965adab
CY
1877
1878 * print.c (print_object): Check print_depth before searching for
1879 circularities.
1880
c0894fb9
MA
18812008-07-21 Michael Albinus <michael.albinus@gmx.de>
1882
1883 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
1884 only sprintf.
1885
d90bfd1c
KH
18862008-07-21 Kenichi Handa <handa@m17n.org>
1887
10d1d0af 1888 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
d90bfd1c 1889
8e2911c2
AS
18902008-07-20 Andreas Schwab <schwab@suse.de>
1891
1892 * syntax.c (find_start_pos, find_start_value)
1893 (find_start_value_byte, find_start_begv, find_defun_start)
dbc812e0 1894 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
8e2911c2 1895
98a01702
DN
18962008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1897
1898 * s/sol2-3.h: Insert contents of s/sol2.h.
1899 (LD_SWITCH_SYSTEM): Remove redundant definition.
1900 * s/sol2.h: Remove, unused.
1901
704a3a2d
AR
19022008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
1903
dbc812e0 1904 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
704a3a2d
AR
1905
19062008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
e5e2baab
AR
1907
1908 * Makefile.in (ns_appdir): Fix typo in find command.
1909
89f1e540
DN
19102008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
1911
c788afce
DN
1912 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
1913
89f1e540
DN
1914 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
1915 added not supported anymore.
1916
e5e2baab 1917 * s/usg5-4-2.h (LIBS_SYSTEM):
89f1e540
DN
1918 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
1919
1920 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1921 * s/lynxos.h (GETPGRP_NO_ARG):
1922 * s/hpux10-20.h (NO_SIOCTL_H):
1923 * s/gnu.h (GETPGRP_NO_ARG):
1924 * s/gnu-linux.h (NO_SIOCTL_H):
1925 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
1926 * s/cygwin.h (GETPGRP_NO_ARG):
1927 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
1928 (C_DEBUG_SWITCH): Remove duplicate definition.
1929
1930 * m/ibms390.h: Remove boilerplate comments.
1931
1932 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
1933
1934 * process.c (HAVE_SERIAL): Consolidate ifdefs.
1935 (wait_reading_process_output): Remove code for SunOS, platform not
1936 supported anymore. Use SOLARIS2 instead of sun.
1937
ed96cde8
AR
19382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1939
1940 * font.c (font_open_by_name): Under NS, default lface height to zero.
1941 (font_open_for_lface): Under NS, set size based on frame fontsize.
1942 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
1943 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
1944
19452008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1946
1947 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
1948 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
1949 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
1950 YES/NO.
1951 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
1952 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
1953 * Makefile.in (clean): Clear out build destination dir.
1954
5a2d7ab6
AR
19552008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1956
1957 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
1958 xterm, xselect.
1959 * lisp.h: Remove declaration of hash_remove.
1960 * nsgui.h: Remove redefinitions of hash_remove.
1961 * fns.c (hash_remove): Rename to hash_remove_from_table.
1962
8df8bcc9 19632008-07-19 Seiji Zenitani <zenitani@mac.com>
c0230162
AR
1964
1965 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
8df8bcc9 1966 strdup() the family UTF8String before modifying it.
c0230162 1967
45d325c4
AR
19682008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
1969
45d325c4
AR
1970 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
1971 NS_FACE_BACKGROUND with 0 instead of nil.
1972 * nsfont.m (nsfont_draw): Same.
1973
8df8bcc9
GM
19742008-07-19 Chong Yidong <cyd@stupidchicken.com>
1975
1976 * nsfns.m (ns_set_background_color): Fix crash.
1977
b83f1cd0
CY
19782008-07-18 Chong Yidong <cyd@stupidchicken.com>
1979
1980 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
1981
add4eecc
DN
19822008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
1983
1984 * puresize.h (BASE_PURESIZE): Increase to 1240000.
1985
69955d31
YM
19862008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1987
1988 * gtkutil.c: Include <config.h> instead of "config.h".
1989
1990 * lisp.h (Foverlay_buffer): Add EXFUN.
1991
1992 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
1993 child process to complete child_setup. Undo 2005-09-21 change.
1994
1995 * s/darwin.h: Mention setsid after vfork.
1996
08b3caa9 19972008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2d64e9bb
YM
1998
1999 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
2000 Depend on macgui.h.
2001
2002 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
2003 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
2004
2005 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
2006 and f19.
2007 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
2008
2009 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
2010 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
2011 Remove enumerators.
2012
2013 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
2014 Check if FACE_FROM_ID returns NULL.
2015
8d59c5ed
JR
20162008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
2017
ba60bd44
JB
2018 * w32inevt.c (change_frame_size): Remove extern declaration.
2019 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
2020 change_frame_size.
8d59c5ed 2021
ba60bd44 20222008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
db94bf9c
AR
2023
2024 * getloadavg.c: Revert last change (2008-07-15).
2025
ba60bd44 20262008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
06b62770
AR
2027
2028 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
2029 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
2030 from configure.
2031
2749d28e
DN
20322008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2033
35ad0545
DN
2034 * s/sol2.h:
2035 * s/sol2-4.h: Reorganize conditionals.
2036
2749d28e
DN
2037 * ecrt0.c: Remove code depending on m68000, not used anymore.
2038
2039 * fns.c (hash_remove): Make static.
2040 * lisp.h (hash_remove): Don't prototype.
2041
2042 * m/ibmrs6000.h:
2043 * m/ibms390x.h:
2044 * m/macppc.h: Remove boilerplate comments.
2045
2046 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
2047 Solaris, which does not need them.
2048
2049 * m/vax.h: Remove comments about unsupported systems.
2050
2051 * s/darwin.h: Reorganize ifdefs.
2052
32cc3925
AS
20532008-07-17 Andreas Schwab <schwab@suse.de>
2054
2055 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
2056
facfbbbd
SM
20572008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
2058
2059 Use SDATA. Follow coding convention of placing operators at
2060 beginning of next line rather than end of previous line, and placing
2061 spaces around infix operators.
2062
2063 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
2064 in case it was defined already.
2065 USE @GNUSTEP_MAKEFILES@ rather than envvars.
2066 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
2067 ns_default.
2068 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
2069 Lisp_Objects.
2070 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
2071 (ns_defined_color, ns_color_to_lisp): Declare.
2072 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
2073 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
2074 it's accepted even with USE_LISP_UNION_TYPE.
2075 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
2076 (update_frame_tool_bar): Remove apparently obsolete tests for
2077 non-integerness of f->tool_bar_lines.
2078 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
2079 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
2080 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
2081 (nsfont_open): Don't confuse NULL for Qnil.
2082 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
2083 * menu.h (find_and_call_menu_selection):
2084 * menu.c (find_and_call_menu_selection): Use just int for vector size.
2085 (find_and_return_menu_selection): Always return something.
2086 * frame.h: Include dispextern.h for Display_Info.
2087 (display_x_get_resource): Declare.
2088
ba60bd44 20892008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
122e9f8f
AR
2090
2091 * syntax.c: Remove stdio.h include accidentally introduced in
2092 Emacs.app commit.
2093 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
2094 NS_IMPL_COCOA.
2095 * keyboard.c (handle_async_input, input_available_signal): Remove
2096 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
2097
0bcfd7d7
SM
20982008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2099
6882361b
SM
2100 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
2101 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
2102 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
2103 Use SDATA.
2104
0bcfd7d7
SM
2105 * keymap.c: Remove all NS-specific code.
2106 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
2107 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
2108 where_is_preferred_modifier, return a different value depending on how
2109 preferred is the binding.
2110 (where_is_internal): Adjust accordingly.
2111 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
2112 Adjust to new preferred_sequence_p.
2113 (syms_of_keymap): Declare `where-is-preferred-modifier'.
2114 * keyboard.c (parse_solitary_modifier): Not static any more.
2115 * keyboard.h (parse_solitary_modifier): Declare.
2116
720f3147
AS
21172008-07-16 Andreas Schwab <schwab@suse.de>
2118
2119 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
2120 of easymenu.
2121
01e19fea
CY
21222008-07-16 Chong Yidong <cyd@stupidchicken.com>
2123
2124 * xdisp.c (move_it_in_display_line): Account for word wrap, so
2125 that we don't move off the line.
2126
4c89a3e0
SM
21272008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
2128
2129 * keyboard.c (Qsuper): Remove.
2130 (parse_menu_item): Don't call where_is_internal specially for NS.
2131
586b975c
DN
21322008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2133
3ec8ef33
DN
2134 * s/gnu-linux.h: Remove boilerplate comments.
2135
d4d080b6
DN
2136 * m/alpha.h (__ELF__): Consolidate conditions.
2137
7ab56cc4
DN
2138 * m/m68k.h (linux): Use GNU_LINUX instead.
2139 Remove boilerplate comments.
2140
10d1d0af 2141 * m/intel386.h: Undo refactoring from previous change.
7ab56cc4
DN
2142 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
2143 too, remove dead code.
2144 (linux): Use GNU_LINUX instead.
586b975c 2145
5cc9d48a
JR
21462008-07-16 Jason Rumney <jasonr@gnu.org>
2147
4c89a3e0 2148 * w32gui.h: Repeat 26 June changes lost by last change.
5cc9d48a 2149
6b0273cd
DN
21502008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
2151
132d0475
DN
2152 * systty.h: Remove code for Aix on 386, unsupported platform.
2153
2154 * s/ms-w32.h: Remove boilerplate comments.
2155 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
2156
2157 * s/gnu-linux.h (TERM): Remove support.
2158 (HAVE_SYSVIPC): Remove, unused.
2159 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
2160 for this system.
2161
2162 * process.c: Remove support for IRIS, unused.
2163 Remove support for TERM, not relevant anymore.
2164
2165 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
2166 used with the definition.
2167
2168 * s/aix4-2.h (static): Do not undef.
2169
2170 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
2171 only used on Aix.
2172 (HAVE_SYSVIPC): Remove, unused.
2173
2174 * m/hp800.h (CANNOT_DUMP): Do not undef.
2175
2176 * m/alpha.h: Fix comment.
2177
8111c2d8
DN
2178 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
2179 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
2180 used by this configuration.
2181 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
2182 * unexec.c: Remove code depending on HPUX and
2183 USG_SHARED_LIBRARIES, not used with this file. Remove code
2184 depending on IRIS, unused. Remove if 0-ed code.
2185
e9a57a88
DN
2186 * s/template.h: Remove comments about static.
2187
4c89a3e0
SM
2188 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
2189 Remove if 0-ed code.
c7607b94
DN
2190 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
2191 were the same as the default.
2192 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
2193 Remove boilerplate comments.
2194 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
2195 (HAVE_SYSVIPC): Remove, unused.
2196 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
2197
ff841b30
DN
2198 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2199 Remove boilerplate comments.
2200 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2201 Remove boilerplate comments.
2202 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
2203 Remove boilerplate comments.
2204 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
2205
586b975c
DN
2206 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
2207 USG systems which do not use DATA_SEG_BITS.
2208 Refactor code. Remove boilerplate comments.
2209
dc89925b 2210 * m/ibms390.h:
dc89925b
DN
2211 * m/m68k.h:
2212 * s/bsd-common.h:
2213 * s/cygwin.h:
2214 * s/darwin.h:
2215 * s/freebsd.h:
2216 * s/gnu.h:
2217 * s/msdos.h: Remove boilerplate comments.
2218
96b72211
DN
2219 * m/iris4d.h: Remove boilerplate comments and code for systems that
2220 do not use this file.
2221 (IRIS_4D): Remove, unused.
2222
c3b5f109
DN
2223 * m/mips.h: Remove boilerplate comments and code for systems that
2224 do not use this file.
96b72211 2225 (SIGN_EXTEND_CHAR):
c3b5f109
DN
2226 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
2227 * unexmips.c: Remove file, unused.
2228
6b0273cd
DN
2229 * editfns.c (Fuser_full_name): Replace the only use of
2230 USER_FULL_NAME with its value.
2231 * config.in: Regenerate.
2232
ba60bd44 22332008-07-16 David Reitter <david.reitter@gmail.com>
6fbcfb6f 2234
ba60bd44
JB
2235 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
2236 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6fbcfb6f 2237
44ac2d3e
GM
22382008-07-16 Glenn Morris <rgm@gnu.org>
2239
2240 * emacs.c (system-type): Doc fix.
2241
0a170079
SM
22422008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
2243
2244 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
2245 If the cache doesn't work, let's fix it, rather than work around it.
2246
ba60bd44 22472008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
a68fda4a
AR
2248
2249 * Makefile.in: Correct additions for nsfont.o in last commit.
2250 * nsfont.m: New file (forgot last commit).
2251
8df8bcc9
GM
22522008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2253
2254 * callproc.c (set_initial_environment): Initialize
2255 Vprocess_environment under CANNOT_DUMP (fixes crash when
2256 batch-compiling for bootstrap).
2257
22582008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
2259 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2260
2261 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
2262 fix crash due to different init order.
2263
ba60bd44 22642008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
edfda783
AR
2265
2266 Changes and additions for NeXTstep windowing system (Cocoa and
2267 GNUstep) support.
2268
ba60bd44 2269 * Makefile.in:
edfda783
AR
2270 * config.in: Support defines and build commands for NS port.
2271 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
2272 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
edfda783
AR
2273 * dispextern.h: Include nsgui.h and add needed typedefs under NS
2274 windowing.
2275 (struct face): Add synth_ital field.
2276 * dispnew.c: Include nsterm.h when compiling under NS windowing.
2277 (init_display): Initialize Vinitial_window_system to "ns" when so
2278 compiled.
2279 * emacs.c: Include GSConfig.h when compiling under GNUstep.
2280 (display_arg): Use under NS.
2281 (main): Under NS, allocate autorelease pool and handle command line
2282 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
2283 (standard_args): Add NS-specific args.
2284 (shut_down_emacs): Shut down NS terminal if compiled under NS.
2285 * font.c (DEFAULT_ENCODING): New variable.
2286 (font_find_for_lface): Use it.
2287 (syms_of_font): Load syms_of_nsfont under NS.
2288 * font.h: Declare nsfont_driver when compiled under NS.
2289 * fontset.c: When compiling under NS, include nsterm.h.
2290 (fontset_from_font): Autoconstruct fontset under NS.
2291 * frame.c (various): Under NS, include nsterm.h, add Qns window system
2292 symbol, document and use it.
edfda783
AR
2293 (do_switch_frame): When for_deletion under Cocoa, add
2294 Fraise_frame(Qnil).
2295 (x_set_frame_parameters): Ensure font attribute changes are picked up.
2296 (x_get_arg): Allow "yes" and "no" as boolean values.
2297 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
2298 Qright under Cocoa.
2299 (focus-follows-mouse): Default to 0 under NS.
2300 * frame.h (enum output_method): Add output_ns.
2301 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
2302 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
2303 (FRAME_WINDOW_P): NS-specific definition.
2304 * fringe.c (max_used_fringe_bitmap): Make public.
2305 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
2306 (getloadavg): Use NeXT code under descendant OS's.
2307 * image.c (includes and header section, x_create_bitmap_from_data)
2308 (x_create_bitmap_from_file, free_bitmap_record, image_background)
2309 (image_background_transparent, x_clear_image_1)
2310 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2311 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
2312 (x_to_xcolors, x_from_xcolors, x_disable_image)
2313 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
2314 other GUIs, including XPM support using code originally written for
2315 Carbon GUI.
0a170079 2316 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
edfda783
AR
2317 using NS API.
2318 (image_ascent): Use font metrics macros instead of direct struct field
2319 access.
2320 * keyboard.c (includes): Add nsterm.h when compiling under NS.
2321 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
2322 Also, handle NS as GTK for menu bar purposes.
2323 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
2324 toolkit where they differ.
2325 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
2326 use cachelist, still needed under NS.
6ddc6cca 2327 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
edfda783
AR
2328 (struct widget_value): Define it here for menu.c.
2329 * keymap.c (includes): Include modifier internals.
2330 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
2331 NS.
2332 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
2333 support for preferring sequences using certain modifiers, specified by
2334 the FIRSTONLY argument.
2335 * lisp.h (hash_remove): Rename to avoid name clash when compiling
2336 under NS GNUstep implementation.
2337 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
2338 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
2339 * menu.c: Include nsterm.h under NS.
2340 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
2341 (free_menubar_widget_tree_value, update_submenu_strings)
2342 (find_and_call_menu_selection): Treat NS as X and NT.
2343 (find_and_return_menu_selection): New function, used for popup menus.
ba60bd44
JB
2344 * nsgui.h:
2345 * nsterm.h:
2346 * nsfns.m:
2347 * nsimage.m:
2348 * nsmenu.m:
2349 * nsselect.m:
edfda783
AR
2350 * nsterm.m: New files.
2351 * process.c (wait_reading_process_output): Under NS, call ns_select()
2352 instead of plain select().
2353 * syntax.c (char_quoted): Under NS, avoid a crash when called near
2354 beginning of buffer.
2355 * sysselect.h (init_process): Rename when compiling under Cocoa to
2356 avoid name conflict.
2357 * termhooks.h (display_info): Add ns_display_info to union.
2358 * terminal.c (Fterminal_live_p): Add ns to terminal types.
2359 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
2360 COCOA environment.
2361 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
2362 unexec() signature. (Note, this will dump, but the resulting file
2363 crashes; unexosx is used instead; keeping around for reference and
2364 possible aid in getting dump working under GNUstep.)
2365 * w32gui.h (button_type, widget_value): Remove definitions (now in
2366 keyboard.h).
2367 * window.c: Include nsterm.h when compiling under NS.
2368 * xdisp.c (includes): Include nsterm.h when compiling under NS.
2369 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
2370 other GUI windowing systems.
2371 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
2372 GTK.
2373 (x_consider_frame_title): Under NS, set icon type and frame
2374 modified-state indicator; use ns_set_name_as_filename() when using
2375 formatted title.
2376 (update_window_cursor): Make public when compiling under NS.
2377 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
2378 (hourglass_atimer, Vhourglass_delay
2379 * xfaces.c (header section, init_frame_faces, clear_font_table)
2380 (defined_color, unload_color, x_face_list_fonts)
6ddc6cca
SM
2381 (prepare_face_for_display): Add NS support parallel to other GUIs.
2382 Emulate GCs like other non-X GUIs.
edfda783
AR
2383 (split_font_name): Don't lowercase font name under NS.
2384 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
2385 under NS.
2386 * s/darwin.h: Add support for compilation under NS.
2387
1391cd54
JR
23882008-07-15 Jason Rumney <jasonr@gnu.org>
2389
6ddc6cca
SM
2390 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
2391 (w32_show_hourglass): Rename from show_hourglass.
2392 (w32_hide_hourglass): Rename from hide_hourglass.
2393 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
2394 (Vhourglass_delay): Declare extern.
2395 (hourglass_started): Remove.
1391cd54 2396
6ddc6cca
SM
2397 * xdisp.c (Vhourglass_delay): Remove static.
2398 (hourglass_started, start_hourglass, cancel_hourglass):
2399 Don't include these versions on WINDOWSNT.
1391cd54 2400
1885ab29
AR
24012008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
2402
6ddc6cca 2403 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
20d6dc02 2404 variables (formerly in xfns.c).
1885ab29
AR
2405 (show_hourglass, hide_hourglass): New prototypes (same).
2406 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
2407 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
20d6dc02 2408 in xfns.c).
1885ab29
AR
2409 (syms_of_xdisp): Declare/initialize display-hourglass,
2410 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
2411 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
20d6dc02 2412 formerly in xfns.c.
1885ab29
AR
2413 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2414 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2415 (start_hourglass, cancel_hourglass): Remove.
2416 (show_hourglass, hide_hourglass): Remove prototypes and static
2417 modifiers.
2418 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
2419 hourglass_atimer, hourglass_shown_p declaration/initialization.
2420 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
2421 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
2422 (start_hourglass, cancel_hourglass): Remove.
2423 (show_hourglass, hide_hourglass): Remove prototypes and static
2424 modifiers.
2425 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
2426 hourglass_atimer, hourglass_shown_p declaration/initialization.
2427 * w32fns.c (display_hourglass_p, Vhourglass_delay)
2428 (DEFAULT_HOURGLASS_DELAY): Remove.
2429 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
2430 hourglass_shown_p declaration/initialization.
2431
3faa984f
JR
24322008-07-14 Jason Rumney <jasonr@gnu.org>
2433
6ddc6cca
SM
2434 * w32fns.c (w32_get_arg): Remove wrapper function.
2435 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
2436 directly.
2437 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3faa984f 2438
2f73901f
KH
24392008-07-14 Kenichi Handa <handa@m17n.org>
2440
2441 * xfont.c (xfont_open): Add workaround for X's bug.
2442
11da284d
KH
24432008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
2444
2445 * fontset.c: Include <stdio.h> unconditionally.
2446
944cc4a8
MA
24472008-07-13 Michael Albinus <michael.albinus@gmx.de>
2448
2449 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
2450 for filtering.
2451
bdee2ef3
DN
24522008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
2453
2454 * s/vms.h: Use __GNUC__ instead of _GNUC_.
2455
2456 * m/macppc.h:
2457 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
2458
2459 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
944cc4a8
MA
2460 (SPECIAL_EMACS_INT):
2461 * m/ia64.h (SPECIAL_EMACS_INT):
bdee2ef3
DN
2462 * m/amdx86-64.h (SPECIAL_EMACS_INT):
2463 * s/gnu.h (NLIST_STRUCT):
4342f814 2464 * s/aix4-2.h (X11R5_INHIBIT_I18N):
bdee2ef3
DN
2465 * s/gnu-linux.h (LINUX):
2466 * s/msdos.h (HAVE_FACES):
2467 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
2468
944cc4a8 2469 * systty.h:
bdee2ef3
DN
2470 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
2471 anymore.
2472
bba104c1
DN
24732008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
2474
2475 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
2476 always defined as int.
2477
2478 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
2479 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
2480 * s/gnu-linux.h (HAVE_WAIT_HEADER):
2481 * s/freebsd.h (HAVE_WAIT_HEADER):
2482 * s/bsd-common.h (HAVE_UNION_WAIT):
2483 * s/aix4-2.h (HAVE_WAIT_HEADER):
2484 * m/mips.h (HAVE_UNION_WAIT):
2485 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
2486 (COFF, static): Do not define, they are undefined later in the file.
2487
2488 * process.c (update_status): Don't use a union.
2489 (status_convert):
2490 (sigchld_handler): Use int instead of WAITTYPE.
2491
e433031a
CY
24922008-07-12 Chong Yidong <cyd@stupidchicken.com>
2493
2494 * indent.c (Fvertical_motion): Restore hscroll before moving to
2495 goal column.
2496
3bfb4d48
DN
24972008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2498
2499 * lisp.h: Remove left over code.
2500
e7c9048f
AS
25012008-07-11 Andreas Schwab <schwab@suse.de>
2502
7e770c85
AS
2503 * lisp.h: Fix logic in last change.
2504
e7c9048f
AS
2505 * menu.h: New file.
2506 * menu.c: Include it.
2507 * xmenu.c: Likewise.
2508 * Makefile.in: Update dependencies.
2509
38aaf336
KH
25102008-07-11 Kenichi Handa <handa@m17n.org>
2511
2512 * fontset.c (fontset_from_font): Cancel the previous change.
2513
6e5cb96f
DN
25142008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2515
2516 * lisp.h:
2517 * w32heap.c:
2518 * emacs.c:
2519 * alloc.c: Replace all references of NO_UNION_TYPE with
2520 USE_LISP_UNION_TYPE.
2521
2522 * m/xtensa.h (NO_UNION_TYPE):
2523 * m/vax.h (NO_UNION_TYPE):
2524 * m/template.h (NO_UNION_TYPE):
2525 * m/sparc.h (NO_UNION_TYPE):
2526 * m/mips.h (NO_UNION_TYPE):
2527 * m/macppc.h (NO_UNION_TYPE):
2528 * m/m68k.h (NO_UNION_TYPE):
2529 * m/iris4d.h (NO_UNION_TYPE):
2530 * m/intel386.h (NO_UNION_TYPE):
2531 * m/ibms390x.h (NO_UNION_TYPE):
2532 * m/ibms390.h (NO_UNION_TYPE):
2533 * m/ibmrs6000.h (NO_UNION_TYPE):
2534 * m/ia64.h (NO_UNION_TYPE):
2535 * m/hp800.h (NO_UNION_TYPE):
2536 * m/arm.h (NO_UNION_TYPE):
2537 * m/amdx86-64.h (NO_UNION_TYPE):
2538 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
2539 defining it the same.
2540
e0f47a68
CY
25412008-07-10 Chong Yidong <cyd@stupidchicken.com>
2542
ba60bd44 2543 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
e0f47a68 2544
c5e7567d
DN
25452008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2546
4342f814
JB
2547 * fileio.c:
2548 * sysdep.c
2549 * systty.h:
2550 * m/ibmrs6000.h:
2551 * m/iris4d.h:
2552 * s/aix4-2.h:
2553 * s/freebsd.h:
2554 * s/gnu-linux.h:
2555 * s/hpux10-20.h:
2556 * s/hpux11.h:
2557 * s/netbsd.h:
2558 * s/sol2-3.h:
2559 * s/sol2-4.h:
2560 * s/sol2.h:
2561 * s/usg5-4.h:
2562 * s/vms.h: Remove references to unused variables.
c5e7567d 2563
bb658864
AS
25642008-07-10 Andreas Schwab <schwab@suse.de>
2565
2566 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
2567 pattern before matching the generic family.
2568
3d3db608
DN
25692008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
2570
a0ce9ab7 2571 * unexec.c:
3460e0b9
DN
2572 * s/vms.h:
2573 * s/usg5-4-2.h:
2574 * s/sol2-5.h:
2575 * s/freebsd.h:
2576 * s/darwin.h: Remove dead code.
2577
ad76189a
DN
2578 * m/template.h:
2579 * m/sparc.h:
2580 * m/mips.h:
2581 * m/m68k.h:
2582 * m/iris4d.h:
2583 * m/intel386.h:
2584 * m/ibms390x.h:
2585 * m/ibms390.h:
2586 * m/ia64.h:
2587 * m/hp800.h:
2588 * m/arm.h:
2589 * m/amdx86-64.h: Remove dead code and references to unused
2590 and compiler defined symbols.
2591
d2b5bbda
DN
2592 * unexmips.c:
2593 * unexelf.c: Remove references to desupported systems.
2594
40dde9d1
DN
2595 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
2596
21133394
DN
2597 * m/powermac.h: Remove boilerplate comments.
2598 (NO_REMAP): Remove unused definition.
2599
3d3db608
DN
2600 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
2601 define them.
2602
c8e0e16d
KH
26032008-07-10 Kenichi Handa <handa@m17n.org>
2604
2605 * xfont.c (xfont_open): Log the reason of failure.
2606
3cba9369
SM
26072008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
2608
2609 * fontset.c (fontset_get_font_group):
2610 * font.c (font_check_otf): Specify argument types.
2611
73353585
KH
26122008-07-09 Kenichi Handa <handa@m17n.org>
2613
0e17387a
KH
2614 * coding.c (detect_coding_utf_8): Set detect_info->found only when
2615 non-ASCII char is found.
2616
73353585
KH
2617 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
2618 (reorder_font_vector): Change the arg preferred_family to font.
2619 Prefer the spec matching with font.
2620 (fontset_get_font_group): New function.
2621 (fontset_find_font): Change the format of an element of a realized
2622 fontset. Use fontset_get_font_group.
2623 (fontset_font): Try the current fontset, the default fontset, the
10d1d0af 2624 fallbacks of the current fontset, and the fallbacks of the default
73353585
KH
2625 fontset in this order.
2626 (face_for_char): Delete the shortcut to use the current font.
2627 (fontset_from_font): Don't set fonts for Latin in the fontset.
2628
2629 * font.h (font_make_object, font_match_p): Adjust prototypes.
2630
2631 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
2632
2633 * font.c (font_make_object): New arg entity and pixelsize.
2634 (font_check_otf_features, font_check_otf): New functions.
2635 (font_match_p): Check :lang, :script, and :otf properties.
2636
2637 * xfont.c (xfont_open): Adjust it for the change of
2638 font_make_object.
e5d05978 2639 (xfont_text_extents): Fix initial setting of metrics.
73353585
KH
2640
2641 * ftfont.c (struct ftfont_info): New member index, delete member
2642 fc_charset_idx. Make the member order compatible with struct
2643 xftfont_info.
2644 (fc_charset_table): Change charset names to registry names.
2645 (ftfont_pattern_entity): Delete the args registry and
2646 fc_charset_idx. Change the value of :font-entity property
2647 to (FONTNAME . INDEX). Always set :registry property to
2648 `iso10646-1'.
2649 (struct ftfont_cache_data): New struct.
2650 (ftfont_lookup_cache): New arg for_face.
2651 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
2652 (ftfont_driver): Set the member otf_capability.
2653 (ftfont_get_charset): Adjust it for the change of
2654 fc_charset_table.
2655 (OTF_TAG_SYM): New macro.
2656 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
2657 for the change of fc_charset_table.
2658 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
2659 ftfont_pattern_entity. Add FC_INDEX to objset.
2660 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
2661 and ftfont_pattern_entity.
2662 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
2663 font_make_object, struct ftfont_info.
2664 (ftfont_has_char): Use ftfont_get_fc_charset.
2665 (ftfont_otf_features, ftfont_otf_capability): New functions.
2666 (ftfont_shape): Use ftfont_get_otf.
e5d05978 2667 (ftfont_text_extents): Fix initial setting of metrics.
73353585
KH
2668
2669 * xftfont.c (struct xftfont_info): New member ft_size. Make the
2670 member order compatible with struct ftfont_info.
2671 (xftfont_open): Add FC_CHARSET to the pattern. Set
2672 xftfont_info->ft_size. Don't unlock the face. Check BDF
2673 properties if appropriate.
2674 (xftfont_close): Unlock the face.
2675 (xftfont_anchor_point, xftfont_shape): Deleted.
2676 (syms_of_xftfont): Don't set members anchor_point and shape of
2677 xftfont_driver.
2678
2679 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
2680 font_make_object.
2681
2682 * w32font.c (w32font_open): Adjust it for the change of
2683 font_make_object.
2684 (w32font_open_internal): Don't set properties of font_object here.
2685
7f000038
CY
26862008-07-08 Chong Yidong <cyd@stupidchicken.com>
2687
830aab93
CY
2688 * macfns.c (x_create_tip_frame):
2689 * w32fns.c (x_create_tip_frame):
2690 * xfns.c (x_create_tip_frame): Pass parameter argument to
2691 face-set-after-frame-default.
2692
7f000038
CY
2693 * xfaces.c (Finternal_merge_in_global_face): Save merged
2694 attributes for the default face back into the face vector.
2695
85cf8992
AS
26962008-07-08 Andreas Schwab <schwab@suse.de>
2697
2698 * fontset.h: Declare fontset_from_font. Don't declare
2699 new_fontset_from_font and fontset_from_font_name.
2700 * xterm.c: Include "fontset.h".
2701 * Makefile.in (xterm.o): Update dependencies.
2702
4a00783e
GM
27032008-07-08 Glenn Morris <rgm@gnu.org>
2704
2705 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
2706 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
2707
4d2d5f5f
CY
27082008-07-07 Chong Yidong <cyd@stupidchicken.com>
2709
2710 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
2711 (x_set_frame_parameters): Don't bind it.
2712
dfe66c5b
JB
27132008-07-07 Juanma Barranquero <lekktu@gmail.com>
2714
2715 * w32fns.c (map_w32_filename): Declare extern.
2716
ec7e221c
JR
27172008-07-07 Jason Rumney <jasonr@gnu.org>
2718
dfe66c5b 2719 * w32term.c (WS_EX_LAYERED): Define if not already.
ec7e221c 2720
fe5d61c4
CY
27212008-07-06 Chong Yidong <cyd@stupidchicken.com>
2722
2723 * xfaces.c (set_font_frame_param): Don't try to set the font
2724 parameter if it is still unspecified in the lface.
2725
9204cb8b
CY
27262008-07-05 Chong Yidong <cyd@stupidchicken.com>
2727
0a143d3a
CY
2728 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
2729 face if it didn't already exist.
2730
9204cb8b
CY
2731 * xdisp.c (try_window_id): Give up if word-wrapping is on.
2732
6c95e70d
AS
27332008-07-05 Andreas Schwab <schwab@suse.de>
2734
dfe66c5b 2735 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6c95e70d 2736
59230395
CY
27372008-07-05 Chong Yidong <cyd@stupidchicken.com>
2738
2739 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
2740 word-wrapping.
2741 (IT_DISPLAYING_WHITESPACE): New macro.
2742 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
2743 when word-wrapping. Simplify word-wrapping logic. Use correct
2744 pixel positions when saving copies of the iterator.
2745 (display_line): Use proper wrap point if the last character on a
2746 line was preceded by whitespace.
2747
d7c664f3
SM
27482008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
2749
2750 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
2751
9ffc8a3a
KH
27522008-07-04 Kenichi Handa <handa@m17n.org>
2753
2754 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
2755
2756 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
2757
946598bf
JR
27582008-07-02 Jason Rumney <jasonr@gnu.org>
2759
d7c664f3
SM
2760 * xfns.c (syms_of_xfns): Only define x-select-font when both
2761 HAVE_FREETYPE and USE_GTK
946598bf 2762
d7c664f3
SM
2763 * xdisp.c (next_element_from_display_vector): Move assignment out
2764 of if statement.
946598bf 2765
6cf29fe8
JR
27662008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
2767
d7c664f3 2768 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6cf29fe8 2769
d7c664f3
SM
2770 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
2771 (syms_of_fileio): Initialize and export them.
2772 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6cf29fe8 2773
d7c664f3
SM
2774 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
2775 (Fsystem_move_file_to_trash): New function.
2776 (syms_of_w32fns): Export it to lisp.
6cf29fe8 2777
79ca7db1
JR
27782008-07-01 Jason Rumney <jasonr@gnu.org>
2779
d7c664f3
SM
2780 * w32font.c (w32font_text_extents): Don't count overhang as part
2781 of width.
79ca7db1 2782
c2786a3d 27832008-06-30 Miles Bader <miles@gnu.org>
c4f4682b
MB
2784
2785 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
2786 Add `avoid_cursor_p' field.
2787
2788 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
2789 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
2790 (append_glyph, append_composite_glyph, produce_image_glyph)
c2786a3d
JB
2791 (append_stretch_glyph): Initialize avoid_cursor_p.
2792 (get_it_property): Rename from `get_line_height_property'.
c4f4682b
MB
2793 (x_produce_glyphs): Use get_it_property.
2794 (handle_line_prefix, push_display_prop): New functions.
2795 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
c2786a3d
JB
2796 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
2797 New variables.
c4f4682b
MB
2798 (syms_of_xdisp): Initialize them.
2799
7d7ad10e
KH
28002008-06-30 Kenichi Handa <handa@m17n.org>
2801
2802 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
2803 XftDefaultSubstitute (they are called in XftFontMatch).
2804 (xftfont_open): Fix args to ftfont_font_format.
2805
2806 * ftfont.c (fc_charset_table): New member lang.
2807 (ftfont_resolve_generic_family): New arg pattern.
2808 (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
2809 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
2810 (ftfont_open): Fix args to ftfont_font_format.
2811 (ftfont_font_format): New arg filename.
2812
44b754c7
CY
28132008-06-30 Chong Yidong <cyd@stupidchicken.com>
2814
2815 * xfaces.c (Finternal_merge_in_global_face): If default face was
2816 modified, realize it again. Update the font face attribute.
2817
a4521b03
JR
28182008-06-29 Jason Rumney <jasonr@gnu.org>
2819
c2786a3d 2820 * w32term.c (x_set_frame_alpha): Fix logic.
a4521b03 2821
fe44f009
KH
28222008-06-29 Kenichi Handa <handa@m17n.org>
2823
2824 * fontset.c (Finternal_char_font): Return font-object instead of
2825 font-name.
2826
c2786a3d 2827 * composite.c (get_composition_id): Fix the width calculation for TAB.
fe44f009 2828
baed8445
SM
28292008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
2830
2831 * indent.c (Fvertical_motion): Properly handle float column arg.
2832
8b61a891
JR
28332008-06-28 Jason Rumney <jasonr@gnu.org>
2834
baed8445
SM
2835 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
2836 (pfnSetLayeredWindowAttributes): New function pointer.
2837 (w32_initialize): Initialize it when supported.
2838 (x_set_frame_alpha): New function.
8b61a891 2839
baed8445
SM
2840 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
2841 (w32_frame_parm_handlers): Set alpha handler.
8b61a891 2842
baed8445 2843 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
8b61a891 2844
57016d37
JR
28452008-06-27 Jason Rumney <jasonr@gnu.org>
2846
baed8445
SM
2847 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
2848 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
2849 (w32_to_x_charset, x_to_w32_charset)
2850 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2851 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2852 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2853 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2854 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2855 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2856 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
2857 (Qw32_charset_unicode): Remove.
2858 (syms_of_w32fns): Update for above changes.
2859
2860 * w32font.c (w32_to_x_charset, x_to_w32_charset)
2861 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
2862 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
2863 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
2864 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
2865 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
2866 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
2867 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
2868 (syms_of_w32font): Update for above changes.
57016d37 2869
d6bf1bdb
DN
28702008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
2871
2872 * s/usg5-4.h: Fix previous change: keep the correct branch of a
2873 removed #if.
9fa1c445 2874 (USG_SHARED_LIBRARIES): Remove duplicate definition.
d6bf1bdb 2875
43db14bb
JB
28762008-06-26 Juanma Barranquero <lekktu@gmail.com>
2877 Eli Zaretskii <eliz@gnu.org>
2878
2879 * makefile.w32-in (LOCAL_FLAGS):
2880 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
2881
2882 * sysdep.c (_spawnlp, _getpid):
2883 Declare with explicit _cdecl instead of _CRTAPI1.
2884
2885 * editfns.c (Fget_internal_run_time):
2886 Check for WINDOWSNT with #ifdef, not #if.
2887
c35f9821
JR
28882008-06-26 Jason Rumney <jasonr@gnu.org>
2889
43db14bb 2890 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
c35f9821 2891
57016d37 2892 * w32term.c (x_draw_glyph_string_foreground)
43db14bb
JB
2893 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
2894 Use FONT_HANDLE macro.
2895 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
c35f9821 2896
57016d37 2897 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
43db14bb 2898 (uniscribe_encode_char): Use FONT_HANDLE macro.
c35f9821 2899
43db14bb
JB
2900 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
2901 (w32font_text_extents): Use precast w32_font.
2902 (w32font_close): Free cached metrics.
2903 (w32font_open_internal): Allocate space for name on stack.
c35f9821 2904
1f8ad719
CY
29052008-06-26 Chong Yidong <cyd@stupidchicken.com>
2906
2907 * xdisp.c (extend_face_to_end_of_line): Fix last change.
2908
97e71655
JR
29092008-06-26 Jason Rumney <jasonr@gnu.org>
2910
43db14bb
JB
2911 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
2912 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
97e71655 2913
c9fc02c7
JB
29142008-06-26 Juanma Barranquero <lekktu@gmail.com>
2915
2916 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
2917
1b5defe6
JR
29182008-06-26 Jason Rumney <jasonr@gnu.org>
2919
c9fc02c7 2920 * w32bdf.c, w32bdf.h: Remove obsolete files.
1b5defe6 2921
c9fc02c7 2922 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
1b5defe6 2923
c9fc02c7
JB
2924 * w32gui.h: Don't include w32bdf.h.
2925 (XCharStruct, enum w32_char_font_type, W32FontStruct):
2926 Remove obsolete font support.
1b5defe6 2927
c9fc02c7
JB
2928 * w32font.h (struct w32font_info): Remove compat_w32_font.
2929 Add hfont member.
2930 (FONT_COMPAT): Remove obsolete macro.
1b5defe6 2931
ba60bd44 2932 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
c9fc02c7 2933 (w32font_encode_char, w32font_text_extents): Use new hfont member.
ba60bd44 2934 (w32font_open_internal): Remove compat code. Set new hfont member.
c9fc02c7 2935 (Fx_select_font): Use new hfont member.
1b5defe6 2936
57016d37 2937 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
c9fc02c7 2938 (uniscribe_encode_char): Use new hfont member.
1b5defe6 2939
57016d37 2940 * w32term.c (x_draw_glyph_string_foreground)
c9fc02c7
JB
2941 (x_draw_composite_glyph_string_foreground): Use new hfont member.
2942 (x_draw_glyph_string): Use metrics in w32font_info.
1b5defe6 2943
1fc66bca
KH
29442008-06-26 Kenichi Handa <handa@m17n.org>
2945
2946 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
2947
f2a77c3a
DN
29482008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
2949
2950 * unexnext.c:
2951 * m/ews4800.h:
2952 * m/hp9000s300.h:
2953 * m/ibm370aix.h:
2954 * m/mips-siemens.h:
2955 * m/ncr386.h:
2956 * m/next.h:
2957 * m/pmax.h:
2958 * m/powerpcle.h:
2959 * m/tandem-s2.h:
2960 * s/386bsd.h:
2961 * s/bsd386.h:
2962 * s/bsd4-1.h:
2963 * s/bsd4-2.h:
2964 * s/bsdos2-1.h:
2965 * s/bsdos2.h:
2966 * s/bsdos3.h:
2967 * s/bsdos4.h:
2968 * s/nextstep.h:
2969 * s/ultrix4-3.h:
2970 * s/usg5-0.h:
2971 * s/usg5-2-2.h:
2972 * s/usg5-2.h:
2973 * s/usg5-4-3.h:
2974 * s/ux4800.h:
2975 * s/uxpds.h:
2976 * s/uxpv.h: Remove support for obsolete systems.
2977 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
4342f814 2978 Remove, insert contents in s/hpux-10.20.h.
f2a77c3a 2979 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4342f814 2980 Remove, insert contents in s/aix4-2.h.
f2a77c3a 2981 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4342f814 2982 * s/bsd4-3.h: Rename to ...
f2a77c3a 2983 * s/bsd-common.h: ... this.
4342f814
JB
2984 * data.c:
2985 * doc.c:
2986 * ecrt0.c:
2987 * emacs.c:
2988 * fileio.c:
2989 * floatfns.c:
2990 * keyboard.c:
2991 * mem-limits.h:
2992 * print.c:
2993 * process.c:
2994 * sysdep.c:
2995 * syssignal.h:
2996 * systty.h:
2997 * syswait.h:
2998 * term.c:
2999 * unexec.c:
3000 * unexelf.c:
3001 * unexhp9k800.c:
3002 * m/hp800.h:
3003 * m/ibmrs6000.h:
3004 * m/mips.h:
3005 * m/vax.h:
3006 * s/darwin.h:
3007 * s/freebsd.h:
3008 * s/gnu.h:
3009 * s/ms-w32.h:
3010 * s/msdos.h:
3011 * s/netbsd.h:
3012 * s/template.h: Remove references to obsolete variables.
f2a77c3a
DN
3013
3014 * Makefile.in: Add dependencies for all unexec files.
3015 (admindir): Remove unused variable.
3016 (UNEXEC_SRC): Remove references.
3017
bd02793a
CY
30182008-06-25 Chong Yidong <cyd@stupidchicken.com>
3019
3020 * xfns.c (x_default_font_parameter): If Xft is available, first
3021 try Monospace-12 for the default font.
3022
ccedd259
JR
30232008-06-25 Jason Rumney <jasonr@gnu.org>
3024
c9fc02c7 3025 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
ccedd259 3026
fbe062b7
SM
30272008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
3028
603a0937
SM
3029 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
3030
fbe062b7
SM
3031 * buffer.c (syms_of_buffer): Remove default-word-wrap.
3032
69785ad0
JB
30332008-06-25 Juanma Barranquero <lekktu@gmail.com>
3034
3035 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
3036 <scroll-conservatively>: Fix typo in docstring.
3037
3038 * xselect.c (Fx_send_client_event): Doc fix.
3039
249e6f76
KH
30402008-06-25 Kenichi Handa <handa@m17n.org>
3041
34e97272
KH
3042 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
3043
3044 * font.c (font_parse_fcname): Remove unused variables.
69785ad0
JB
3045 (font_sort_entites): Delete the arg SPEC. Caller changed.
3046 Fix for the case of ! best_only.
34e97272
KH
3047 (font_delete_unmatched): Check DPI and AVGWIDTH too.
3048
249e6f76
KH
3049 * lisp.h (Fstring_to_unibyte): EXFUN it.
3050
69785ad0 3051 * character.h (str_to_unibyte): Extern it.
249e6f76
KH
3052
3053 * character.c (str_to_unibyte): New function.
3054
3055 * fns.c (Fstring_to_unibyte): New function.
3056 (syms_of_fns): Defsubr it.
3057
65c108e4
KH
30582008-06-24 Kenichi Handa <handa@m17n.org>
3059
3060 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
3061 DPI too.
3062 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
3063
4c3f18fe
AS
30642008-06-24 Andreas Schwab <schwab@suse.de>
3065
69785ad0 3066 * Makefile.in (${lispsource}loaddefs.el): Rename from
4c3f18fe 3067 ../lisp/loaddefs.el.
fd13748d
AS
3068 (bootstrap-clean): Do what distclean does but don't remove
3069 Makefile.
3070 (distclean): Depend on bootstrap-clean and remove Makefile.
4c3f18fe 3071
faa6190f
CY
30722008-06-24 Chong Yidong <cyd@stupidchicken.com>
3073
3074 * buffer.h (struct buffer): New member word_wrap.
3075
3076 * buffer.c (syms_of_buffer): New variables default-word-wrap and
3077 word-wrap.
3078 (init_buffer_once): Initialize them.
3079
3080 * dispextern.h (struct it): Replace bool truncate_lines_p with a
3081 line_wrap enum possessing three possible values.
3082
3083 * termopts.h: Replace truncate_partial_width_windows with
3084 Vtruncate_partial_width_windows.
3085
3086 * dispnew.c (direct_output_for_insert): Avoid direct output when
3087 inserting a space with word wrap on.
3088
3089 * indent.c (compute_motion): Obey integer values of
3090 truncate-partial-width-windows.
3091
3092 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
3093 replacing truncate_partial_width_windows.
3094 (init_iterator): If Vtruncate_partial_width_windows is an integer,
3095 truncate only if the window width is below that integer.
ba60bd44 3096 (start_display, resize_mini_window, produce_stretch_glyph)
faa6190f
CY
3097 (display_string, move_it_in_display_line_to): Use line_wrap.
3098 (back_to_previous_visible_line_start, reseat_1): Reset
3099 string_from_display_prop_p.
3100 (display_line): Extend default face to end of line when wrapping.
3101
31022008-06-24 Kim F. Storm <storm@cua.dk>
3103
3104 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
3105 to wrap continued lines at word boundaries.
3106
c3bb5465
JR
31072008-06-24 Jason Rumney <jasonr@gnu.org>
3108
69785ad0
JB
3109 * font.c (Ffont_face_attributes): Multiply pixel size before point
3110 conversion to avoid multiplying rounding error.
c3bb5465 3111
0b07ad98
JR
31122008-06-23 Jason Rumney <jasonr@gnu.org>
3113
f245f2c6
JB
3114 * w32term.c (x_draw_glyph_string_background)
3115 (x_draw_glyph_string): Remove old bdf font code.
0b07ad98 3116
69785ad0 3117 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
0b07ad98 3118
22459668
KH
31192008-06-22 Kenichi Handa <handa@m17n.org>
3120
3121 * font.c (font_find_for_lface): Try the adstyle specified in
3122 the property of LFACE_FONT of LFACE (if any).
3123
d925a426 31242008-06-21 Seiji Zenitani <zenitani@mac.com>
f245f2c6 3125 Ryo Yoshitake <ryo@shiftmode.net>
d925a426
SM
3126
3127 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
3128
b4945b95
SM
31292008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
3130
3131 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
3132 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
3133 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
3134 (witness-emacs): Remove.
3135 (lisp, shortlisp): Move loaddefs.el earlier.
3136 (mostlyclean): Forget about witness-emacs.
3137
64124279
GM
31382008-06-22 Glenn Morris <rgm@gnu.org>
3139
3140 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
36565815 3141 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
64124279 3142
768efd84
SM
31432008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3144
3145 * Makefile.in (PRECOMP): Remove.
3146 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
3147 (witness-emacs): Run `compile-first'.
3148 (.el.elc): Use the new compile-onefile target.
3149
808dd567
KH
31502008-06-21 Kenichi Handa <handa@m17n.org>
3151
3152 * xftfont.c (xftfont_open): Handle QCembolden only when
3153 FC_EMBOLDEN is defined.
3154
0de59eae
AS
31552008-06-21 Andreas Schwab <schwab@suse.de>
3156
3157 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
58e8833b 3158 (.el.elc): Likewise.
0de59eae 3159
fb38e9c9
MB
31602008-06-21 Miles Bader <miles@gnu.org>
3161
3162 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
3163 build dir, not the lisp source dir.
3164
fc46d219
SM
31652008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
3166
3167 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
3168 (bootstrapclean): Remove.
3169 (.el.elc): New rule.
3170 (PRECOMP): New var.
3171 (../lisp/subdirs.el): Remove.
3172 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
3173 (witness-emacs): New target.
3174 (mostlyclean): Remove witness-emacs as well.
3175 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
3176 Add witness-emacs dependency.
3177
eaf1f6e7
CY
31782008-06-20 Chong Yidong <cyd@stupidchicken.com>
3179
3180 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
3181 defined by the font.
3182
49f6eb95
SM
31832008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3184
3185 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
3186 (bootstrap-clean): New target that keeps TAGS around.
3187 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
3188 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
3189
4c100a01
JR
31902008-06-20 Jason Rumney <jasonr@gnu.org>
3191
49f6eb95
SM
3192 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
3193 Remove obsolete font code.
db61a7f8 3194
49f6eb95
SM
3195 * w32font.c (font_matches_spec): Use csb bitfield from font signature
3196 to determine language support.
4c100a01 3197
759d3f32
SM
31982008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3199
3200 * sysdep.c (cfsetspeed): New fun extracted from the code.
3201 (cfmakeraw): Move before first use.
3202
25241b4d
SM
32032008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
3204
3205 * sysdep.c (cfmakeraw): Provide fallback implementation.
3206 (serial_configure): Provide fallback implementation of cfsetspeed.
3207
d7afccca
KH
32082008-06-20 Kenichi Handa <handa@m17n.org>
3209
dc2226d0
KH
3210 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
3211 the pattern.
3212
9b9cd864
KH
3213 * fontset.c (fontset_from_font): Copy font_spec before changing
3214 the elements.
3215
d7afccca
KH
3216 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
3217
770e2e6e
SM
32182008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
3219
10d1d0af 3220 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
770e2e6e
SM
3221 for explicit `font' parameters.
3222
3223 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
3224
22e64f7c
KH
32252008-06-19 Kenichi Handa <handa@m17n.org>
3226
3227 * frame.c: Include <ctype.h>.
3228 (x_set_font_backend): Allow spacing characters in the X resource
3229 for FontBackend.
3230
27129af9
SM
32312008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
3232
3233 * w32fns.c, xfns.c (Qfont_param): New var.
3234 (syms_of_w32fns): Initialize it.
22e64f7c
KH
3235 (x_default_font_parameter): Record explicit `font' into
3236 `font-parameter'.
27129af9 3237
d26424c5
KH
32382008-06-18 Kenichi Handa <handa@m17n.org>
3239
3240 * font.c (font_parse_xlfd): Fix previous change.
3241 (font_parse_fcname): Don't use :fc-unknown-spec.
10d1d0af 3242 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
d26424c5
KH
3243 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
3244 (font_add_log): Prepend the driver name to the resulting fonts.
3245
3246 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
3247 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
3248 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
3249
3250 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
3251 (QCembolden): New variables.
3252 (syms_of_xftfont): DEFSYM them.
3253 (xftfont_open): Call XftFontMatch. Don't trust the result of
3254 XftTextExtents8 if the pixel_size is less than 5.
3255
51cf11be
AS
32562008-06-18 Andreas Schwab <schwab@suse.de>
3257
f245f2c6 3258 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
51cf11be
AS
3259 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
3260
07d9ba9b
JR
32612008-06-18 Jason Rumney <jasonr@gnu.org>
3262
27129af9 3263 * w32font.c (w32font_list, w32font_match): Add logging.
07d9ba9b 3264
4342f814 3265 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
07d9ba9b 3266
0c36bc4e
CY
32672008-06-17 Chong Yidong <cyd@stupidchicken.com>
3268
3269 * font.c (font_parse_fcname): Store divider characters for
1578da31
CY
3270 unknown-spec list. For known key symbols, intern using correct
3271 symbol name.
0c36bc4e 3272
70d6ecc6
KH
32732008-06-17 Kenichi Handa <handa@m17n.org>
3274
3275 * xfaces.c (realize_default_face): If the frame is not on window
3276 system, set the fontset of face to nil.
3277
821bc4db
KH
32782008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3279
f245f2c6 3280 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
821bc4db 3281
3554e566
JB
32822008-06-16 Juanma Barranquero <lekktu@gmail.com>
3283
3284 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
3285 (build_font_name_from_vector): Delete externs.
3286
3287 * xfaces.c (struct font_name): Don't declare.
3288
93eed26b
SM
32892008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
3290
3291 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
3292
d756bcd0
CY
32932008-06-16 Chong Yidong <cyd@stupidchicken.com>
3294
3295 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
3296
7a18a178
JB
32972008-06-16 Juanma Barranquero <lekktu@gmail.com>
3298
3299 * font.c (Ffont_spec): Fix usage in docstring.
48105a6a 3300 (Ffont_face_attributes): Doc fix.
7a18a178 3301
6f568955
AS
33022008-06-16 Andreas Schwab <schwab@suse.de>
3303
3304 * font.c (Ffont_face_attributes): Fix definition.
3305
3ef8c1b4
JR
33062008-06-16 Jason Rumney <jasonr@gnu.org>
3307
93eed26b 3308 * font.h (font_style_symbolic_from_value): Remove.
3ef8c1b4 3309
93eed26b
SM
3310 * font.c (font_style_symbolic_from_value): Remove.
3311 (font_style_symbolic): Revert to pre 2008-06-13 version.
3ef8c1b4 3312
93eed26b
SM
3313 * w32font.c (w32_to_fc_weight): New function.
3314 (w32font_full_name, logfont_to_fcname): Use it.
3ef8c1b4 3315
5e634ec9
KH
33162008-06-16 Kenichi Handa <handa@m17n.org>
3317
3318 * font.c (font_check_object): Delete it.
3319 (font_clear_cache): Check if a font-object is alive.
3320 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
3321 font-object to nil.
3322 (font_close_object): Don't check FONT_CLOSE_OBJECT.
3323 (font_at): Don't call font_check_object.
2babb359 3324 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5e634ec9 3325
6409a955
KY
33262008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
3327
3328 * puresize.h (BASE_PURESIZE): Increase to 1230000.
3329
ce4eaddb
CY
33302008-06-16 Chong Yidong <cyd@stupidchicken.com>
3331
3332 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
3333
523dbe64
CY
33342008-06-15 Chong Yidong <cyd@stupidchicken.com>
3335
54b2ab27 3336 * font.c (font_parse_fcname): Only one decimal point.
523dbe64
CY
3337 (font_unparse_fcname): Handle data in family and foundry indices
3338 as symbols, not strings.
3339 (font_unparse_gtkname, Ffont_face_attributes): New functions.
3340
54b2ab27 3341 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
523dbe64
CY
3342
3343 * font.h (font_unparse_gtkname): Add prototype.
3344
9f296082
KH
33452008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
3346
54b2ab27 3347 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
9f296082 3348
3306c6dc
AS
33492008-06-15 Andreas Schwab <schwab@suse.de>
3350
3351 * font.c (font_update_drivers): Fix crash when no drivers match.
3352
a099c27a
SM
33532008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
3354
3355 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
3356 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
3357
a8aa344d
SM
33582008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
3359
3360 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
3361
a879ee6f
SM
33622008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
3363
3364 * process.c (Fserial_process_configure, Fprocess_send_eof):
3365 Use EQ to compare Lisp_Objects.
3366
6fe9826d
JR
33672008-06-13 Jason Rumney <jasonr@gnu.org>
3368
a879ee6f 3369 * w32fns.c (Fw32_select_font): Remove old font API function.
6fe9826d 3370
a879ee6f
SM
3371 * w32font.c (logfont_to_fcname): New function.
3372 (Fx_select_font): New font dialog function compatible with
3373 GTK/fontconfig version.
6fe9826d 3374
a879ee6f
SM
3375 * font.c (font_style_symbolic_from_value): New function.
3376 (font_style_symbolic): Use it.
6fe9826d 3377
a879ee6f 3378 * font.h (font_style_symbolic_from_value): Declare new function.
6fe9826d 3379
17ab8f5d
JB
33802008-06-13 Juanma Barranquero <lekktu@gmail.com>
3381
3382 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
3383 <font-width-table>: Fix typos in docstrings.
3384
d888760c
GM
33852008-06-13 Daniel Engeler <engeler@gmail.com>
3386
3387 These changes add serial port access.
3388 * process.c: Add HAVE_SERIAL.
3389 (Fdelete_process, Fprocess_status, Fset_process_buffer)
3390 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
3391 (list_processes_1, select_wrapper, Fstop_process)
3392 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
3393 (status_notify): Modify to handle serial processes.
3394 [HAVE_SERIAL] (Fserial_process_configure)
3395 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
3396 New functions.
3397 * process.h (struct Lisp_Process): Add `type'.
3398 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
3399 New functions.
3400 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
3401 serial ports.
3402 (serial_open, serial_configure) New functions.
3403 * w32.h: Add FILE_SERIAL.
3404 (struct _child_process): Add ovl_read, ovl_write.
3405
f4cc0153
KH
34062008-06-13 Kenichi Handa <handa@m17n.org>
3407
3408 * dispextern.h (enum lface_attribute_index): New member
3409 LFACE_FOUNDRY_INDEX.
3410
3411 * font.c (font_score): Delete arg alternate_families. Check only
7a18e381 3412 weight, slant, width, and size. Ignore the difference of alias
f4cc0153 3413 style symbols.
7a18e381 3414 (font_sort_entites): Adjust for the above change. Reflect the
f4cc0153
KH
3415 order of font-driver to scores.
3416 (font_list_entities): Don't check alternate_familes here.
3417 (font_clear_prop): Handle foundry.
3418 (font_update_lface): Don't parse "foundry-family" form here.
3419 Handle FONT_FOUNDRY_INDEX.
3420 (font_find_for_lface): Likewise. Handle alternate families here.
a879ee6f 3421 If registry is nil, try iso8859-1 and ascii-0.
f4cc0153 3422 (font_open_for_lface): Pay attention to size in ENTITY.
7a18e381 3423 (font_open_by_name): Simplify by calling font_load_for_lface.
f4cc0153
KH
3424 (free_font_driver_list): Delete it.
3425 (font_update_drivers): Preserve the order of backends.
3426 (syms_of_font): Setting of sort_shift_bits adjusted for the change
3427 of font_score and font_sort_entites.
3428 (font_update_sort_order): Likewise.
3429
3430 * xfaces.c (LFACE_FOUNDRY): New macro.
3431 (check_lface_attrs): Check foundry.
7a18e381 3432 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
f4cc0153
KH
3433 (merge_face_vectors): Check foundry.
3434 (merge_face_ref): Likewise.
3435 (Finternal_set_lisp_face_attribute): Likewise.
3436 (x_update_menu_appearance): Likewise.
3437 (Finternal_get_lisp_face_attribute): Likewise.
3438 (lface_hash): Likewise.
3439 (lface_same_font_attributes_p): Likewise.
3440 (x_supports_face_attributes_p): Likewise.
3441 (tty_supports_face_attributes_p): Likewise.
3442 (Finternal_set_alternative_font_family_alist): Intern strings.
3443 (Finternal_set_alternative_font_registry_alist): Downcase strings.
3444 (realize_default_face): Set LFACE_FOUNDRY (lface).
3445
3446 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
3447 font-driver at first.
3448
3449 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
3450
d434fef5 34512008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
97dead2d
JM
3452
3453 * lread.c (Fload): Use xfree, not free on saved_doc_string.
3454
9c5e177e
JM
34552008-06-12 Jim Meyering <meyering@redhat.com>
3456
d434fef5 3457 Make unexec_free handle NULL the same way free does.
9c5e177e
JM
3458 * unexmacosx.c (unexec_free): Ignore a NULL argument.
3459
2afc21f5
SM
34602008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3461
3462 * character.h (CHAR_TO_BYTE_SAFE): New macro.
3463 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
3464 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
3465 (WEAK_ALIAS): Simplify.
3466 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
3467 when searching a unibyte buffer.
3468
76c0de62
CY
34692008-06-12 Chong Yidong <cyd@stupidchicken.com>
3470
3471 * xfns.c (Fx_select_font): Rename from x-font-dialog.
3472
0500dcc9
JB
34732008-06-12 Juanma Barranquero <lekktu@gmail.com>
3474
3475 * w32font.c: Include ctype.h.
3476
f42adef6
JR
34772008-06-11 Jason Rumney <jasonr@gnu.org>
3478
2afc21f5
SM
3479 * w32font.c (w32font_encode_char): Detect missing glyphs that are
3480 misreported as space.
3481 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
3482 as aliases for registry iso10646-1.
f42adef6 3483
4b7cdc0e
SM
34842008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3485
3486 * buffer.c (clone_per_buffer_values): Skip `name'.
3487
cc02ebe1
CY
34882008-06-11 Chong Yidong <cyd@stupidchicken.com>
3489
3490 * font.c (font_parse_fcname): Fix last change; accept decimal
3491 points in font size.
3492
351ccb76
JR
34932008-06-10 Jason Rumney <jasonr@gnu.org>
3494
0500dcc9
JB
3495 * w32uniscribe.c (add_opentype_font_name_to_list):
3496 Skip non unicode fonts.
351ccb76 3497
f473ed6f
CY
34982008-06-10 Chong Yidong <cyd@stupidchicken.com>
3499
3500 * xfns.c (Fx_font_dialog): New function.
3501
5d6333d5 3502 * gtkutil.c (xg_dialog_response_cb): Rename from
f473ed6f
CY
3503 xg_file_response_callback.
3504 (pop_down_dialog): Rename from pop_down_file_dialog.
3505 (xg_get_file_name): Callers changed.
3506 (xg_get_font_name): New function.
3507
5d6333d5 3508 * gtkutil.h (xg_get_font_name): Insert prototype.
f473ed6f 3509
2a3bd2e1
SM
35102008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3511
3512 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
3513 x_underline_minimum_display_offset.
3514 (syms_of_xdisp): Declare it here rather than in xterm.c.
3515 * dispextern.h (underline_minimum_offset): Declare it.
3516 * w32term.c (x_draw_glyph_string): Use it.
3517 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
3518 (syms_of_xterm): Don't declare it any more.
3519 (x_draw_glyph_string): Adjust to the new name.
3520
d5dc6163
SM
35212008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
3522
3523 * xterm.c (x_underline_minimum_display_offset): New var.
3524 (x_draw_glyph_string): Use it.
3525 (syms_of_xterm): Declare it.
3526
0abdd197
CY
35272008-06-10 Chong Yidong <cyd@stupidchicken.com>
3528
3529 * font.c (font_parse_fcname): Accept GTK-style font names too.
3530
a1562258
SM
35312008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
3532
928b5acc
SM
3533 * dired.c (file_name_completion): Don't return t if the match is exact
3534 but with different capitalization.
3535 * minibuf.c (Ftry_completion): Simplify.
3536
a1562258
SM
3537 * window.c (Vwindow_point_insertion_type): New var.
3538 (set_window_buffer): Use it.
3539 (syms_of_window): Init and export it to Lisp.
3540
9552dbd1
KH
35412008-06-10 Kenichi Handa <handa@m17n.org>
3542
3543 * font.h (font_intern_prop): Prototype adjusted.
3544
3545 * font.c (font_intern_prop): New arg force_symbol.
a1562258
SM
3546 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
3547 Adjust for the change of font_intern_prop.
9552dbd1 3548
a1562258
SM
3549 * ftfont.c (ftfont_pattern_entity):
3550 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
3551 (w32_registry):
3552 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
9552dbd1
KH
3553 the change of font_intern_prop.
3554
8993ad2e
JB
35552008-06-09 Juanma Barranquero <lekktu@gmail.com>
3556
3557 * w32menu.c (digest_single_submenu): Declare extern.
3558
0c2258fc
JR
35592008-06-09 Jason Rumney <jasonr@gnu.org>
3560
a1562258 3561 * w32term.c (x_make_frame_visible): Use alternate restore flags.
12f71857 3562
a1562258
SM
3563 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
3564 (parse_single_submenu): Remove.
3565 (digest_single_submenu): Remove.
3566 (syms_of_w32menu): Don't initialise variables that have moved
3567 to menu.c.
3568 (set_frame_menubar): Sync with version in xmenu.c.
3569 (w32_menu_show): Sync with xmenu_show in xmenu.c.
593c843c 3570
8993ad2e
JB
3571 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
3572 Make static again.
0c2258fc 3573
02246cb8
JR
35742008-06-09 Jason Rumney <jasonr@gnu.org>
3575
8993ad2e
JB
3576 Changes to w32 files related to the move of common menu code
3577 to menu.c on 2008-06-08 by Chong Yidong.
3578
3579 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
3580 defs to w32gui.h.
3581 (single_keymap_panes, push_menu_item, push_menu_pane):
3582 Make globally visible.
3583
d434fef5
JB
3584 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
3585 (local_free, malloc_widget_value, free_widget_value)
3586 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
3587 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
3588 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
8993ad2e 3589 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
d434fef5 3590 (menu_items, menu_items_allocated, menu_items_used)
8993ad2e
JB
3591 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
3592 (init_menu_items, finish_menu_items, discard_menu_items)
3593 (grow_menu_items, push_submenu_start, push_submenu_end)
3594 (push_left_right_boundary, push_menu_pane, push_menu_item)
3595 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
d434fef5 3596 (free_menubar_widget_tree_value, parse_single_submenu)
8993ad2e
JB
3597 (update_submenu_strings): Remove functions.
3598 (xmalloc_widget_value): Remove and declare extern.
3599
3600 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
3601 (OBJ1): Build it.
3602
3603 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
3604 (local_heap, local_alloc, local_free, malloc_widget_value)
3605 (free_widget_value): Define here.
02246cb8 3606
9e1bb909
KH
36072008-06-09 Kenichi Handa <handa@m17n.org>
3608
366664ad
KH
3609 * font.h (Qascii_0): Extern it.
3610
9e1bb909
KH
3611 * font.c (Qascii_0): New variable.
3612 (syms_of_font): DEFSYM it.
3613 (font_open_by_name): If the registry "iso8859-1" fails, try also
3614 "ascii-0".
3615
3616 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
3617
b2ee479e
KH
36182008-06-08 Kenichi Handa <handa@m17n.org>
3619
8f440b79 3620 * .gdbinit (xfont): New command.
b2ee479e 3621
01ef9d36
AS
36222008-06-08 Andreas Schwab <schwab@suse.de>
3623
a4240420
AS
3624 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
3625 * Makefile.in (menu.o): Update dependencies.
3626
0181bf66 3627 * Makefile.in (obj): Always add menu.o.
01ef9d36
AS
3628 * emacs.c (main): Always call syms_of_menu.
3629 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
3630
c07cbae6
CY
36312008-06-08 Chong Yidong <cyd@stupidchicken.com>
3632
3633 * Makefile.in: Compile menu.c.
3634
3635 * lisp.h: Declare syms_of_menu.
3636
3637 * emacs.c (main): Call syms_of_menu.
3638
3639 * keyboard.h: Relocate platform-independent menu definitions from
3640 xmenu.c.
3641
3642 * menu.c: New file. Relocate platform-independent menu
904d8c69 3643 definitions from xmenu.c. Suggested by Adrian Robert.
c07cbae6
CY
3644
3645 * xmenu.c: Remove platform-independent menu definitions.
3646 (menu_items menu_items_inuse, menu_items_allocated)
3647 (menu_items_used, menu_items_n_panes)
3648 (menu_items_submenu_depth): Move to keyboard.h.
3649 (init_menu_items, finish_menu_items, unuse_menu_items)
3650 (discard_menu_items, restore_menu_items, save_menu_items)
3651 (grow_menu_items, push_submenu_start, push_submenu_end)
3652 (push_left_right_boundary, push_menu_pane, push_menu_item)
3653 (keymap_panes, single_keymap_panes, single_menu_item)
3654 (list_of_panes, list_of_items, find_and_call_menu_selection)
3655 (xmalloc_widget_value, free_menubar_widget_value_tree)
3656 (parse_single_submenu, digest_single_submenu)
3657 (update_submenu_strings): Move to menu.c.
3658
4958ed94
SM
36592008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
3660
3661 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
3662
408b8ab4
MB
36632008-06-06 Miles Bader <miles@gnu.org>
3664
3665 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
3666 face, not frame default.
3667
87478b52
SM
36682008-06-05 Martin Rudalics <rudalics@gmx.at>
3669
3670 * window.c (pop_up_windows, pop_up_frames)
3671 (display_buffer_reuse_frames, Vpop_up_frame_function)
3672 (Vdisplay_buffer_function, Veven_window_heights)
3673 (Vspecial_display_buffer_names, Vspecial_display_regexps)
3674 (Vspecial_display_function, Vsame_window_buffer_names)
3675 (Vsame_window_regexps, split_height_threshold)
3676 (Vsplit_window_preferred_function): Move those vars to window.el.
3677 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
3678 (Fdisplay_buffer): Move those functions to window.el.
3679 (syms_of_window): Remove corresponding declarations.
3680 (display_buffer): New function.
3681 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
3682 * dispnew.c (Flast_nonminibuf_frame): New function.
3683 * buffer.c (Fpop_to_buffer): Move to window.el.
3684
9e0e0d77
SM
36852008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3686
3687 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
3688
4a485df8
KH
36892008-06-05 Kenichi Handa <handa@m17n.org>
3690
3691 * coding.c (detect_coding): Fix previous change.
3692 (detect_coding_system): Likewise.
3693
8ba31f36
SM
36942008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3695
c0dc8f64
SM
3696 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
3697
8ba31f36
SM
3698 * keymap.c (Vminibuffer_local_filename_must_match_map):
3699 Rename from Vminibuffer_local_must_match_filename_map.
3700 (syms_of_keymap):
3701 * minibuf.c (Fcompleting_read): Adjust accordingly.
3702 * commands.h: Rename declaration as well.
3703
7740d2c7
KH
37042008-06-05 Kenichi Handa <handa@m17n.org>
3705
e7438ece
KH
3706 * font.c (Ffont_spec): Don't use font_parse_family_registry for
3707 family name.
3708 (Ffont_put): Likewise.
3709
3710 * fontset.c (fontset_find_font): Call font_open_for_lface with the
3711 current font-spec.
3712
7740d2c7
KH
3713 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
3714 is unspecified.
3715
3716 * xfaces.c (realize_x_face): If the font-related face attributes
e7438ece
KH
3717 are the same as those of default face, realize a new fontset from
3718 default->fontset.
9e0e0d77 3719 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7740d2c7 3720
c876b227
SM
37212008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
3722
3723 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
3724 (move_it_in_display_line): New wrapper.
3725
3726 * window.c (window_scroll_pixel_based_preserve_x)
3727 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
3728 (window_scroll_pixel_based, window_scroll_line_based):
3729 Use them to preserve column positions.
3730 (syms_of_window): Initialize them.
3731
3732 * indent.c (Fvertical_motion): Extend first arg to allow passing an
3733 (HPOS . VPOS) pair.
3734
3735 * dispextern.h (move_it_in_display_line): Declare.
3736
927abf37
JB
37372008-06-05 Juanma Barranquero <lekktu@gmail.com>
3738
3739 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
3740 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
3741 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
3742
9d14503e
JB
37432008-06-04 Juanma Barranquero <lekktu@gmail.com>
3744
3745 * window.c (Fset_window_parameter): Doc fix.
3746 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
3747
e6841c3b
JB
37482008-06-04 Joakim Verona <joakim@verona.se>
3749
3750 * window.h (struct window): Add new member window_parameters.
3751
3752 * window.c (Fwindow_parameters, Fwindow_parameter)
3753 (Fset_window_parameter): New defuns.
3754 (syms_of_window): Defsubr the new defuns.
3755 (make_window): Initialize window_parameters to nil.
3756
4ba50634
JPW
37572008-06-04 John Paul Wallington <jpw@pobox.com>
3758
3759 * eval.c (Fdefmacro): Doc fix.
3760
c0e16b14
KH
37612008-06-04 Kenichi Handa <handa@m17n.org>
3762
3763 * coding.c (detect_coding): Fix handling of coding->head_ascii.
9e0e0d77 3764 Be sure to call setup_coding_system when we find a proper coding system.
c0e16b14
KH
3765 (detect_coding_system): Fix handling of coding->head_ascii.
3766
0615d903
AS
37672008-06-03 Andreas Schwab <schwab@suse.de>
3768
3769 * font.c (font_prop_validate_spacing): Fix last change.
3770
8a1816bb
KH
37712008-06-03 Kenichi Handa <handa@m17n.org>
3772
eea9c5c4
KH
3773 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
3774 (font_parse_fcname): Fix handling of unknown key.
3775
3776 * xfont.c (xfont_list): Try an alias.
3777
8a1816bb
KH
3778 * charset.c (char_charset): Return NULL if the arg charset_list is
3779 specified and C doesn't belong to any of them.
3780
2f593f4c 37812008-06-02 Chip Coldwell <coldwell@redhat.com>
6c5e8775
CY
3782
3783 * font.c (font_pixel_size): Don't take cdr of an integer.
3784
c2cd06e6
JM
37852008-06-02 Jim Meyering <meyering@redhat.com>
3786
70fdbb46
JM
3787 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
3788 * alloc.c (xfree): Return right away for a NULL arg.
3789 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
3790 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
3791 * mac.c (create_apple_event_from_event_ref): Likewise.
2f593f4c
JB
3792 (create_apple_event_from_drag_ref, cfstring_create_normalized):
3793 Likewise.
70fdbb46
JM
3794 * doprnt.c (doprnt1): Likewise.
3795 * frame.c (frame): Likewise.
3796 * keyboard.c (wipe_kboard): Likewise.
1f204af3 3797 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
70fdbb46
JM
3798 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
3799 * term.c (tty_default_color_capabilities, maybe_fatal)
3800 (delete_tty): Likewise.
3801 * w16select.c (string): Likewise.
3802 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
3803 * w32bdf.c (w32_free_bdf_font): Likewise.
3804 * w32fns.c (w32_unload_font): Likewise.
3805 * w32font.c (w32font_close): Likewise.
3806 * window.c (size_window): Likewise.
3807 * xselect.c (receive_incremental_selection): Likewise.
3808 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
3809 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
3810 * w32.c (stat): Likewise.
3811
2f593f4c 3812 Remove useless if-before-free tests.
70fdbb46
JM
3813 * editfns.c (Fset_time_zone_rule): Likewise.
3814 * lread.c (nosuffix): Likewise.
3815 * ralloc.c (get_bloc): Likewise.
3816 * regex.c (reg_free): Likewise.
3817 * xftfont.c (xftfont_open, xftfont_close): Likewise.
3818 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
3819 * xsmfns.c (smc_save_yourself_CB): Likewise.
c2cd06e6 3820
4fc1984a
KH
38212008-06-02 Kenichi Handa <handa@m17n.org>
3822
1d1e1245
KH
3823 * font.c (font_find_for_lface): Handle float font size.
3824 (font_open_for_lface): Likewise.
3825
4fc1984a
KH
3826 * xfaces.c (x_supports_face_attributes_p): Check face->font before
3827 comparing the properties.
3828
aee986fd
JR
38292008-06-01 Jason Rumney <jasonr@gnu.org>
3830
e6841c3b
JB
3831 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
3832 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
3833 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
3834 Don't add empty script list.
3835 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
aee986fd 3836
60a3d7ee
DN
38372008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
3838
aee986fd 3839 * Makefile.in (dot, dotdot): Remove, update users.
60a3d7ee
DN
3840 ".." has been used elsewhere in the file for a long time.
3841 (LIBXT_STATIC): Remove conditional based on unused variable.
3842
f2cec7a9
MB
38432008-06-01 Miles Bader <miles@gnu.org>
3844
3845 * xfaces.c (Vface_remapping_alist): New variable.
3846 (syms_of_xfaces): Initialize it.
3847 (enum named_merge_point_kind): New type.
3848 (struct named_merge_point): Add `named_merge_point_kind' field.
3849 (push_named_merge_point): Make cycle detection respect different
3850 named-merge-point kinds.
c876b227 3851 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
f2cec7a9
MB
3852 Remove face-name alias resolution.
3853 (lface_from_face_name): New definition using
3854 `lface_from_face_name_no_resolve'.
c876b227 3855 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
f2cec7a9
MB
3856 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
3857 (get_lface_attributes): New definition that layers face-remapping on
3858 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
3859 (lookup_basic_face): New function.
3860 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
3861 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
3862 `get_lface_attributes'.
3863 (face_at_buffer_position): Use `lookup_basic_face' to lookup
3864 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
3865 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
3866
3867 * xdisp.c (init_iterator): Pass base_face_id through
3868 `lookup_basic_face' when we actually use it as a face-id.
3869 (handle_single_display_prop): Use `lookup_basic_face' to lookup
3870 DEFAULT_FACE_ID.
3871
3872 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
3873 lookup the initial face-id.
3874
3875 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
3876
518c0b83
JB
38772008-06-01 Juanma Barranquero <lekktu@gmail.com>
3878
3879 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
3880 (Fremove_text_properties): Fix typos in docstrings.
3881
719b3d63
KH
38822008-05-31 Kenichi Handa <handa@m17n.org>
3883
e4c93315
KH
3884 * font.c (font_list_entities): Fix the car part of data to be
3885 stored in the cache.
3886
719b3d63
KH
3887 * ftfont.c (ftfont_font_format): Don't use strcasestr.
3888
d0827857
SM
38892008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3890
3891 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
3892 Add a `test' argument so another predicate than `equal' can be used.
3893 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
3894 (map_char_table): Remove unused vars `c' and `i'.
3895 * lisp.h (Foptimize_char_table): Adjust declaration.
3896 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
3897
a266686a
KH
38982008-05-30 Kenichi Handa <handa@m17n.org>
3899
d0827857 3900 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
a266686a
KH
3901 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
3902 defined.
3903
fd9440c5
SM
39042008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
3905
3906 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3907 (Fmake_variable_frame_local): Disallow mixing buffer-local and
3908 frame-local settings for the same variable.
3909
fd2ae9b2
KH
39102008-05-30 Kenichi Handa <handa@m17n.org>
3911
9e0e0d77 3912 * fontset.c (Ffont_info): Move to font.c.
fd2ae9b2
KH
3913 (syms_of_fontset): Delete defsubr of Sfont_info.
3914
3915 * font.c (font_style_to_value, font_score): Delete casting of the
3916 args to xstcasecmp.
3917 (register_font_driver): Increment num_font_drivers only when
3918 registering the driver globally.
9e0e0d77 3919 (Ffont_info): Move from fontset.c. Handle a font object too.
fd2ae9b2
KH
3920 (syms_of_font): Defsubr Sfont_info.
3921
eaf11618
KH
39222008-05-29 Kenichi Handa <handa@m17n.org>
3923
3924 * coding.h (enum define_coding_utf8_arg_index): New enum.
3925 (enum coding_attr_index): Change coding_attr_utf_16_bom to
3926 coding_attr_utf_bom.
fd9440c5
SM
3927 (enum utf_bom_type): Rename from utf_16_bom_type.
3928 (struct utf_16_spec): Adjust for the above change.
eaf11618
KH
3929 (struct coding_system): Add utf_8_bom in `spec' union.
3930
3931 * coding.c (CODING_UTF_8_BOM): New macro.
3932 (enum coding_category): Delete coding_category_utf_8, add
3933 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
3934 coding_category_utf_8_sig.
3935 (CATEGORY_MASK_UTF_8): Delete it.
3936 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
3937 (CATEGORY_MASK_UTF_8_SIG): New macros.
3938 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
3939 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
3940 CATEGORY_MASK_UTF_8_SIG.
3941 (CATEGORY_MASK_UTF_8): New macro.
3942 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
3943 (detect_coding_utf_8): Check BOM.
3944 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
fd9440c5 3945 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
eaf11618
KH
3946 (encode_coding_utf_16): Likewise.
3947 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
3948 (detect_coding, detect_coding_system): Handle utf-8-auto.
3949 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
3950 (syms_of_coding): Fix setting up of Vcoding_category_table.
3951
891bd142
SM
39522008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
3953
3954 * process.c (Faccept_process_output): If `millisec' is non-nil,
3955 `seconds' default to 0.
3956 (wait_reading_process_output): Also return non-nil if we read output
3957 from a non-running process.
3958
1519d52e
JR
39592008-05-29 Jason Rumney <jasonr@gnu.org>
3960
fd9440c5
SM
3961 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
3962 `raster' specified.
3963 (add_font_entity_to_list): Allow non-opentype truetype fonts back
3964 in the uniscribe backend, but disallow any font that has no
3965 unicode subrange support.
1519d52e 3966
d5ab09cd
JB
39672008-05-29 Juanma Barranquero <lekktu@gmail.com>
3968
3969 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
3970 Fix typos in docstrings.
3971
a4eec626
KH
39722008-05-29 Kenichi Handa <handa@m17n.org>
3973
3974 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
e887f2ac 3975 (Fx_family_fonts): Set frame correctly.
a4eec626 3976
a6e0b7e5
JR
39772008-05-28 Jason Rumney <jasonr@gnu.org>
3978
d5ab09cd 3979 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
a6e0b7e5 3980
6b3d752c
SM
39812008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3982
3983 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
3984 calling build_annotations.
3985
c3f9fba8
JB
39862008-05-28 Juanma Barranquero <lekktu@gmail.com>
3987
3988 * coding.c (Fdecode_coding_region, Fencode_coding_region)
3989 (Fencode_coding_string):
3990 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
3991 <latin-extra-code-table>: Fix typos in docstrings.
3992 (syms_of_coding) <coding-system-alist>: Doc fix.
3993 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
3994
00c670e1
KH
39952008-05-28 Kenichi Handa <handa@m17n.org>
3996
b75d7f28
KH
3997 * fontset.c (Ffont_info): Don't call font_close_object.
3998
3999 * font.c (font_parse_family_registry): Use Ffont_put to validate
4000 foundry and family.
4001 (font_delete_unmatched): Don't check spacing.
4002 (font_list_entities): Add spacing to the spec to list fonts.
4003
4004 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
d5ab09cd 4005 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
b75d7f28 4006
00c670e1
KH
4007 * coding.c (encode_coding_raw_text): Fix previous change.
4008 (encode_coding_object): When the dst_object is a buffer and is
4009 different from src_object, move gap to PT.
4010
45feca91
CY
40112008-05-27 Chong Yidong <cyd@stupidchicken.com>
4012
c3f9fba8 4013 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
45feca91 4014
5dd5d9eb
SM
40152008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4016
01d45367
SM
4017 * coding.c (encode_coding_raw_text): Set coding->produced_char for
4018 all branches. Compute it differently.
4019
5dd5d9eb
SM
4020 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
4021
9c623c85
JB
40222008-05-27 Juanma Barranquero <lekktu@gmail.com>
4023
4024 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
4025 into "else if () ... else ...".
4026
943f2093
JR
40272008-05-27 Jason Rumney <jasonr@gnu.org>
4028
5dd5d9eb
SM
4029 * w32font.c (w32font_open_internal): Determine if glyph indices
4030 are likely to work here.
943f2093 4031
7385fe74
CY
40322008-05-27 Chong Yidong <cyd@stupidchicken.com>
4033
4034 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
4035 draw overlap glyphs with appropriate highlighting.
4036
4f64a164
KH
40372008-05-27 Kenichi Handa <handa@m17n.org>
4038
4039 * xfont.c (xfont_open): Fix calculation of font->average_width.
4040
1fb5aad7
SM
40412008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
4042
4043 * casefiddle.c (casify_object): Try to guess better whether the
4044 argument is a byte or a char.
4045
f8eb1603
AS
40462008-05-26 Andreas Schwab <schwab@suse.de>
4047
1fb5aad7
SM
4048 * xselect.c (x_reply_selection_request): Properly handle format == 32.
4049 Always send multiples of format size.
5a9c35e5 4050
f8eb1603
AS
4051 * xterm.c (x_set_frame_alpha): Fix type mismatch.
4052
ba93d684
JR
40532008-05-26 Jason Rumney <jasonr@gnu.org>
4054
1fb5aad7
SM
4055 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
4056 (compute_metrics): Don't set failure if we just cleared the cache.
4057 (w32_weight_table): Remove unused variable.
4058 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
4059 backwards compatibility.
ba93d684 4060
505ecc49
KH
40612008-05-25 Kenichi Handa <handa@m17n.org>
4062
1fb5aad7
SM
4063 * w32term.c (x_draw_glyph_string):
4064 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
505ecc49
KH
4065
4066 * xfaces.c: Delete unused function prototypes.
4067 (xstrlwr, font_frame): Delete them.
4068 (clear_face_cache): Delete unused variable.
4069
1fb5aad7
SM
4070 * xftfont.c (xftfont_open): Delete unused variable.
4071 If underline_thickness is not 1, adjust underline_position.
505ecc49
KH
4072
4073 * ftxfont.c (ftxfont_open): Delete unused variable.
4074
4075 * fontset.c (face_for_char): Optimize for the case of no charset
4076 property.
4077
4078 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
4079 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
4080 (otf_open, font_otf_capability, generate_otf_features)
4081 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
1fb5aad7 4082 Comment out by surrounding "#if 0" and "#endif" for the moment.
505ecc49
KH
4083 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
4084 (syms_of_font): Codes for accessing above commented out.
4085
f481eb31
EZ
40862008-05-24 Eli Zaretskii <eliz@gnu.org>
4087
4088 * w32proc.c: Include dispextern.h.
4089
4090 * w32.c: Include dispextern.h.
4091
20746fe4
JB
40922008-05-23 Juanma Barranquero <lekktu@gmail.com>
4093
4094 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
4095 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
4096 Fix typos in docstrings.
4097
e7150846
JR
40982008-05-23 Jason Rumney <jasonr@gnu.org>
4099
20746fe4 4100 * xsmfns.c: Remove includes that are already included by config.h.
e7150846 4101
dbf46ba6
KH
41022008-05-23 Kenichi Handa <handa@m17n.org>
4103
6c652beb
KH
4104 * charset.c (Qemacs, charset_emacs): New variables.
4105 (char_charset): Fix for non-Unicode characters.
4106 (syms_of_charset): Define charset_emacs.
4107
baf4d3b3 4108 * w32term.c (x_draw_glyph_string): Be sure to update
328fab2a
KH
4109 s->underline_thickness and s->underline_position. Be sure to draw
4110 underline within the current line area.
baf4d3b3
KH
4111
4112 * xterm.c (x_draw_glyph_string): Be sure to update
328fab2a 4113 s->underline_thickness and s->underline_position. Be sure to draw
90dc78a3 4114 underline within the current line area.
baf4d3b3 4115
dbf46ba6
KH
4116 * fontset.c: Delete unused variables and add casting for char *
4117 throughout the file.
4118 (fontset_font): Try the fallback fonts of the current fontset
4119 before consulting the default fontset.
4120
4121 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
4122
9e0e0d77 4123 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
dbf46ba6 4124
3b780338
JR
41252008-05-22 Jason Rumney <jasonr@gnu.org>
4126
20746fe4 4127 * font.c: Don't include strings.h.
577eba22 4128
9e0e0d77 4129 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
05131107 4130
20746fe4
JB
4131 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
4132 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
b1722a46
EZ
4133 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
4134 to call xstrcasecmp.
05131107 4135
b1722a46 4136 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
3b780338 4137
b1722a46 4138 * fontset.c (fs_query_fontset): Use xstrcasecmp.
3b780338 4139
b1722a46 4140 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
3b780338 4141
b1722a46 4142 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
3b780338 4143
a30e1957
KH
41442008-05-22 Kenichi Handa <handa@m17n.org>
4145
20746fe4 4146 * puresize.h (BASE_PURESIZE): Increase to 1220000.
955b979c 4147
20746fe4 4148 * font.c (font_prop_validate_style): Adjust for the format
64b900e3
KH
4149 change of font_style_table.
4150
a30e1957
KH
4151 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
4152 two args.
4153
4154 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
4155 two args.
4156
631248e5
SM
41572008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
4158
4159 * minibuf.c (keys_of_minibuf): Delete.
4160 * lisp.h (keys_of_minibuf): Delete.
4161 * emacs.c (main): Don't call keys_of_minibuf.
4162
318548be
KH
41632008-05-22 Kenichi Handa <handa@m17n.org>
4164
631248e5 4165 * ftfont.c (ftfont_resolve_generic_family): Rename from
318548be
KH
4166 ftfont_list_generic_family. Return a single family for each
4167 generic family.
4168 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
20746fe4
JB
4169 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
4170 Call font_add_log.
318548be
KH
4171 (ftfont_match): Call font_add_log.
4172
4173 * font.h (Ffont_xlfd_name): EXFUN adjusted.
4174 (FONT_DEBUG): Define it.
4175 (font_add_log): Extern it.
631248e5 4176 (font_assert): Rename from xassert.
318548be
KH
4177
4178 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
4179 (xfont_list_family): Call font_add_log.
4180 (xfont_match): Likewise.
631248e5 4181 (memq_no_quit): Delete.
318548be
KH
4182
4183 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
4184 call of Ffont_xlfd_name.
4185
4186 * xfaces.c (struct table_entry, slant_table, weight_table)
631248e5 4187 (swidth_table): Move to font.c.
318548be
KH
4188
4189 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
631248e5 4190 xassert are changed to font_assert. Delete many unused variables.
20746fe4
JB
4191 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
4192 New variables.
631248e5
SM
4193 (struct table_entry): Move from xfaces.c and modified.
4194 (weight_table, slant_table, width_table): Move from xfaces.c and
318548be 4195 contents adjusted for the change of struct table_entry.
20746fe4 4196 (font_style_to_value, font_style_symbolic): Adjust for the
64b900e3 4197 format change of font_style_table.
318548be
KH
4198 (font_parse_family_registry): Don't overwrite existing foundry and
4199 family of font_spec.
4200 (font_score): Fix calculation of diff for sizes.
4201 (font_sort_entites): Call font_add_log.
4202 (font_delete_unmatched): Return a newly created list.
4203 (font_list_entities): Fix previous change. Call font_add_log.
20746fe4
JB
4204 (font_matching_entity, font_open_entity, font_close_entity):
4205 Call font_add_log.
318548be 4206 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
631248e5 4207 (Finternal_set_font_style_table): Delete.
318548be
KH
4208 (BUILD_STYLE_TABLE): New macro.
4209 (build_style_table): New function.
4210 (Vfont_log, font_log_env_checked): New variables.
4211 (font_add_log): New function.
4212 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
4213 Declare Lisp variables "font-weight-table", "font-slant-table",
4214 "font-width-table", and "font-log". Initialize font_style_table.
4215
6aac1c03
DN
42162008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
4217
bcc850aa 4218 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6aac1c03 4219
7950790f
GM
42202008-05-21 Seiji Zenitani <zenitani@mac.com>
4221 Ryo Yoshitake <ryo@shiftmode.net>
a2979e8e 4222
7950790f 4223 * frame.c (Qalpha): Add a new frame parameter `alpha'.
bcc850aa 4224 (Vframe_alpha_lower_limit): New variable.
b9fb2c45 4225 (x_set_alpha): New function.
a2979e8e 4226
7950790f 4227 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
a2979e8e 4228
7950790f
GM
4229 * xfns.c (x-create-frame, Qalpha):
4230 Initialize the frame parameter `alpha'.
b9fb2c45
GM
4231 * xterm.c (OPAQUE, OPACITY): New.
4232 (x_set_frame_alpha): New function.
4233 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
a2979e8e 4234
7950790f
GM
4235 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
4236 * w32fns.c (w32_frame_parm_handlers): Likewise.
a2979e8e 4237
5c2a72d9
JR
42382008-05-20 Jason Rumney <jasonr@gnu.org>
4239
20746fe4
JB
4240 * w32font.c (add_font_entity_to_list): Don't add non-opentype
4241 truetype fonts to opentype list.
5c2a72d9 4242
eb152aa9
JB
42432008-05-20 Juanma Barranquero <lekktu@gmail.com>
4244
4245 * fontset.c (Ffontset_info): Doc fix.
4246 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
4247 <ignore-relative-composition>: Fix typos in docstrings.
4248
4249 * font.c (syms-of-font) <font-encoding-alist>:
4250 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
4251 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
4252 (Ffont_otf_alternates): Doc fixes.
4253
ad00e1a3
KH
42542008-05-20 Kenichi Handa <handa@m17n.org>
4255
4256 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
4257 font.h through out the file.
9e0e0d77 4258 (FONT_DRIVERS): Rename from FONTOBJ.
12855572 4259 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
ad00e1a3
KH
4260 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
4261
4262 * emacs.c (main): Call syms_of_font unconditionally.
4263
4264 * font.h (find_font_encoding): Extern it.
4265
9e0e0d77 4266 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
ad00e1a3
KH
4267 fontset.c.
4268 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
4269 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
4270 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
4271 only when HAVE_WINDOW_SYSTEM is defined.
4272 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
4273 when HAVE_WINDOW_SYSTEM is defined.
4274
9e0e0d77
SM
4275 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
4276 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
ad00e1a3
KH
4277
4278 * xfaces.c: Include font.h unconditionally.
4279 (merge_face_ref, merge_face_vectors)
4280 (Finternal_set_lisp_face_attribute): Cancel the previous change.
4281
40a69fac
SM
42822008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
4283
4284 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
4285 indirect_variable.
4286 * eval.c (lisp_indirect_variable): New fun.
4287 (Fuser_variable_p): Use it.
4288
8c2dccbf
SM
42892008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
4290
ad97b375
SM
4291 * lisp.h (indirect_variable):
4292 * data.c (indirect_variable, let_shadows_buffer_binding_p):
4293 Use Lisp_Symbol pointers rather than Lisp_Object.
4294 Adjust callers.
4295 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
4296 To this end, change calling-convention.
4297
8c2dccbf
SM
4298 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
4299 if some non-hidden buffers are selected by string&pred.
4300
ad97b375
SM
43012008-05-19 Chong Yidong <cyd@stupidchicken.com>
4302
4303 * process.c (wait_reading_process_output): Always check status
4304 when in batch mode.
4305
25b81df4
KH
43062008-05-19 Kenichi Handa <handa@m17n.org>
4307
4308 * font.c (font_list_entities): Fix handling of cache.
4309 (font_matching_entity): Likewise.
4310
8c2dccbf 4311 * ftfont.c (cs_iso8859_1): Delete.
25b81df4 4312 (ft_face_cache): New variable.
1f204af3 4313 (struct ftfont_info): New member fc_charset_idx.
8c2dccbf 4314 (ftfont_build_basic_charsets): Delete.
25b81df4
KH
4315 (fc_charset_table): New variable.
4316 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
4317 . FC_CHARSET_IDX) as :font-entity property in the font entity.
4318 Callers changed.
dde8403f 4319 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8c2dccbf
SM
4320 (ftfont_spec_pattern): New argument fc_charset_idx.
4321 Check registry more rigidly. Change callers.
a2979e8e 4322 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
25b81df4
KH
4323 change of :font-entity property of the font.
4324
a2979e8e 4325 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
25b81df4
KH
4326 property of the font.
4327
d4a1d553
JB
43282008-05-18 Juanma Barranquero <lekktu@gmail.com>
4329
4330 * coding.c (Fcoding_system_p): Rename argument to match docstring.
4331 (Funencodable_char_position, Fcheck_coding_systems_region)
4332 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
4333 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
4334 (Ffind_operation_coding_system, Fset_coding_system_priority)
4335 (Fcoding_system_eol_type): Doc fixes.
4336
07cfc4e7
GM
43372008-05-17 Glenn Morris <rgm@gnu.org>
4338
4339 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
4340
1cab27d2
EZ
43412008-05-16 Eli Zaretskii <eliz@gnu.org>
4342
4343 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
4344 and st_gid.
4345
dde8403f 4346 * frame.c (Fdelete_frame): Don't call font_update_drivers if
1cab27d2
EZ
4347 HAVE_WINDOW_SYSTEM is not defined.
4348
4349 * xfaces.c (merge_face_ref, merge_face_vectors)
4350 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
4351 HAVE_WINDOW_SYSTEM is defined.
4352 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
4353
86b89713
SM
43542008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
4355
4356 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
4357
6750bd93
YM
43582008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4359
62867b11 4360 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6750bd93 4361
79f105c9
KH
43622008-05-15 Kenichi Handa <handa@m17n.org>
4363
4364 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
4365 preference.
4366
6b33da9f
GM
43672008-05-15 Glenn Morris <rgm@gnu.org>
4368
4369 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
4370
d0e4433b
CY
43712008-05-15 Chong Yidong <cyd@stupidchicken.com>
4372
4373 * fns.c (init_fns): Don't initialize weak_hash_tables here.
4374 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
4375
4376 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
4377
5f2d79e0
KH
43782008-05-15 Kenichi Handa <handa@m17n.org>
4379
fd8a1cae
KH
4380 * ftfont.c (ftfont_list): Downcase family name to check generic
4381 families.
4382
4383 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
4384 font-spec for QCfont value.
4385
5f2d79e0
KH
4386 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
4387 buffer. Check the return value of it.
4388
e5e29349
JR
43892008-05-14 Jason Rumney <jasonr@gnu.org>
4390
4391 * w32term.c (w32_get_glyph_overhangs): Remove.
4392 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
4393
1f09f444
KH
43942008-05-14 Kenichi Handa <handa@m17n.org>
4395
4396 * font.c (font_prop_validate): Make nil a valid value.
be9442ad
KH
4397 (font_clear_cache): Check if the cached vector of entities is nil
4398 or not.
1f09f444 4399
ecae6af9 44002008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
f8240abd
YM
4401
4402 * emacs.c (main_thread): Conditionalize on
4403 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4404 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
4405
4406 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
4407 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
4408 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
4409
c6b278e7
KH
44102008-05-14 Kenichi Handa <handa@m17n.org>
4411
4412 * coding.c (detect_coding_iso_2022): Ignore a coding category that
4413 has no corresponding coding system.
4414
44152008-05-14 Jason Rumney <jasonr@gnu.org>
4416
4417 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
4418
4419 * w32font.h (w32font_open_internal): Update declaration.
4420
4421 * w32font.c (w32font_open_internal): Change last argument from
4422 w32font_info struct to font object. Fill in font object from
4423 font_entity. Get Outline metrics if possible. Use them to
4424 calculate underline position and thickness. Use xlfd name as name
4425 property. Don't set codepage.
4426 (w32font_open): Pass font_object to w32font_open_internal. Don't
a879ee6f 4427 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
c6b278e7
KH
4428 (w32font_draw): Use s->font.
4429 (clear_cached_metrics): Don't clear non-existent blocks.
4430
4431 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
4432 font was not found.
a879ee6f 4433 (x_draw_glyph_string): Use underline position and thickness from font.
c6b278e7
KH
4434
4435 * w32uniscribe.c (uniscribe_open): Pass font_object to
4436 w32font_open_internal.
4437
44382008-05-14 Kenichi Handa <handa@m17n.org>
4439
4440 These changes are to delete all legacy font-handling codes, and
4441 make Emacs use only font-backends.
4442
4443 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
4444 (frame.o, image.o, print.o): Depend on $(FONTSRC).
4445
4446 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
4447
4448 * charset.h (Vcharset_non_preferred_head)
4449 (Vcurrent_iso639_language): Extern them.
4450
4451 * charset.c (Vcharset_non_preferred_head): New variable.
4452 (Vcurrent_iso639_language): New variable.
4453 (syms_of_charset): Declare it as a Lisp variable.
4454 (char_charset): Don't check non preferred charsets. As a last
4455 resort, return charset_unicode.
4456 (Fset_charset_priority): Update Vcharset_non_preferred_head.
4457
4458 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
4459 conditionals. Don't check enable_font_backend. Delete all codes
4460 used only when USE_FONT_BACKEND is not defined.
4461
4462 * dispextern.h (struct glyph_string): Change type of `font' to
4463 `struct font *'.
4464 (struct glyph_string): New member underline_position and
4465 underline_thickness.
4466 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
4467 (struct face): Change type of `font' to `struct font *'. Remove
4468 members `font_name', `font_info_id'.
4469 (per_char_metric, encode_char): Delete externs.
4470 (calc_pixel_width_or_height): Adjust the prototype.
4471
4472 * emacs.c (enable_font_backend): Delete extern.
4473 (main): Don't set enable_font_backend. Don't check the command
4474 line argument "-disable-font-backend".
4475
4476 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
4477 (enum font_property_index): New members FONT_DPI_INDEX,
4478 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
4479 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
4480 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
4481 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
4482 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
4483 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
4484 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
4485 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
4486 (struct font_spec, struct font_entity): New structs.
4487 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
4488 (struct font): Many members from old "struct font_info" moved to
4489 here. Members font and entity deleted.
4490 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
4491 the new font-related objects.
4492 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
4493 (CHECK_FONT_GET_OBJECT): Likewise.
4494 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
4495 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
4496 (struct font_driver): New members case_sensitive anc check. Type
4497 of the member list and open changed.
4498 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
4499 (font_symbolic_width, font_find_object, font_get_spec)
4500 (font_set_lface_from_name): Delete extern.
20746fe4 4501 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
c6b278e7
KH
4502
4503 * font.c: Include <strings.h>.
4504 (enable_font_backend): Delete it.
4505 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
4506 (CHECK_VALIDATE_FONT_SPEC): Delete it.
4507 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
4508 (null_string): Delete it.
4509 (null_vector): Make it static.
4510 (font_family_alist): Delete it.
4511 (Qnormal): Extern it.
4512 (QCextra, QClanguage): Delete it.
1f204af3 4513 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
c6b278e7
KH
4514 (font_make_spec, font_make_entity, font_make_object)
4515 (font_intern_prop): Renamed from intern_downcase. Don't downcase
4516 the string. Callers changed.
4517 (font_pixel_size): Adjusted for the format change of font-related
4518 objects.
4519 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
4520 (font_style_to_value, font_style_symbolic): New function.
4521 (build_font_family_alist): Delete it.
4522 (font_registry_charsets): Use Fassoc_string instead of
4523 assq_no_quit.
4524 (font_prop_validate_symbol): Don't return null_string.
4525 (font_prop_validate_style): Adjusted for the change of
4526 style-related values in a font vector.
20746fe4 4527 (font_property_table): Delete entries for QClanguage and
c6b278e7
KH
4528 QCantialias, add entries for QCavgwidth.
4529 (get_font_prop_index): Delete the 2nd argument FROM.
4530 (font_prop_validate): Arguments changed.
4531 (font_put_extra): Adjusted for the change of font-related objects.
4532 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
4533 (font_parse_fcname, font_unparse_fcname)
4534 (font_prepare_composition): Likewise.
4535 (font_parse_family_registry): Renamed from font_merge_old_spec.
4536 (otf_open): Delete the 1st arg entity.
4537 (font_otf_capability): Adjusted for the above change.
4538 (font_score): New arg alternate_families. Adjusted for the change
4539 of font-related objects.
4540 (font_sort_entites): New arg best_only.
4541 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
4542 Delete them.
4543 (font_match_p): Check alternate families.
4544 (font_find_object): Delete it.
4545 (font_check_object): New function.
c3f9fba8 4546 (font_clear_cache): Adjusted for the change of font-related objects.
c6b278e7
KH
4547 (font_delete_unmatched): New arg.
4548 (font_list_entities): Call font_driver->list with a spec that
4549 doesn't specify style-related properties.
4550 (font_matching_entity): Arguments changed. Caller changed.
c3f9fba8 4551 (font_open_entity): Adjusted for the change of font-related objects.
c6b278e7
KH
4552 (font_close_object, font_has_char, font_encode_char)
4553 (font_get_name, font_get_spec): Likewise.
c3f9fba8
JB
4554 (font_spec_from_name, font_clear_prop, font_update_lface):
4555 New functions.
4556 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
c6b278e7
KH
4557 (font_prepare_for_face, font_done_for_face, font_open_by_name)
4558 (font_at): Adjusted for the change of font-related objects.
4559 (font_range): New function.
4560 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
c3f9fba8 4561 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
c6b278e7
KH
4562 (Fcopy_font_spec, Fmerge_font_spec): New function.
4563 (Ffont_family_list): Renamed from list-families.
4564 (Finternal_set_font_style_table): Arguments changed.
4565 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
4566 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
4567 change of font-related objects.
c3f9fba8 4568 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
c6b278e7 4569
3554e566 4570 * fontset.h (struct font_info): Delete it. Most members go to
c6b278e7
KH
4571 struct font.
4572 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
4573 (enum FONT_SPEC_INDEX): Delete it.
4574 (font_info, list_fonts_func, load_font_func, query_font_func)
4575 (set_frame_fontset_func, find_ccl_program_func)
4576 (get_font_repertory_func, new_fontset_from_font_name): Delete
4577 externs.
4578 (fontset_from_font_name): Extern it.
4579 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
4580 (FONT_INFO_FROM_FACE): Deleted.
4581 (face_for_font): Adjust prototype.
4582
4583 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
4584 conditionals. Don't check enable_font_backend. Delete all codes
4585 used only when USE_FONT_BACKEND is not defined.
4586 (get_font_info_func, list_font_func, load_font_func)
4587 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
4588 (get_font_repertory_func): Delete them.
4589 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
4590 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
4591 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
4592 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
4593 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
4594 (fontset_compare_rfontdef): New function.
4595 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
183080b6 4596 rfont-defs by qsort. Adjusted for the change of font-group vector.
c6b278e7
KH
4597 (load_font_get_repertory): Deleted.
4598 (fontset_find_font): Use new macros to ref/set elements of
4599 font-def and rfont-def.
4600 (fontset_font): Fix the timing of remembering that no font for C.
4601 (free_face_fontset): Do nothing if the face has no fontset.
4602 (face_suitable_for_char_p): Use new macros to ref/set elements of
4603 rfont-def.
4604 (face_for_char): Likewise. Call face_for_char with font_object.
4605 (fs_load_font): Delete. Delete #pragma surrounding it.
4606 (fs_query_fontset): Use strcasecmp instead of strcmp.
4607 (generate_ascii_font_name): Adjusted for the format change of
4608 font-spec.
4609 (Fset_fontset_font): Likewise. Use new macros to set elements of
4610 font-def.
4611 (Fnew_fontset): Use font_unparse_xlfd to generate
4612 FONTSET_ASCII (fontset).
4613 (new_fontset_from_font_name): Deleted.
4614 (fontset_from_font): Renamed from new_fontset_from_font. Check if
4615 a fontset is already created for the font. FIx updating of
4616 Vfontset_alias_alist.
4617 (fontset_ascii_font): Deleted.
4618 (Ffont_info): Adjusted for the format change of font-spec.
4619 (Finternal_char_font): Likewise.
4620 (Ffontset_info): Likewise.
4621 (syms_of_fontset): Don't check load_font_func.
4622
4623 * fns.c (internal_equal): Handle PREV_FONT.
4624
4625 * frame.h: Delete USE_FONT_BACKEND conditional.
4626
4627 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
4628 conditionals. Don't check enable_font_backend. Delete all codes
4629 used only when USE_FONT_BACKEND is not defined.
4630 (x_set_font): Call x_new_font, not x_new_fontset2.
4631 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
4632 already set for the frame.
4633
4634 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
4635 a font-entity by font_make_entity. Use font_intern_prop instead
4636 of intern_downcase. Use FONT_SET_STYLE to set a style-related
4637 font property. If a font is scalable, set avgwidth property to 0.
4638 Set font-entity property by font_put_extra.
4639 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
4640 (ffont_driver): Adjusted for the change of struct font_driver.
4641 (ftfont_spec_pattern): New function.
4642 (ftfont_list): Return a list, not vector.
4643 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
4644 (ftfont_list_family): Don't downcase names.
4645 (ftfont_free_entity): Deleted.
183080b6 4646 (ftfont_open): Return a font-object. Adjusted for the change of
c6b278e7
KH
4647 struct font. Get underline_thickness and underline_position from
4648 font property. Don't update dpyinfo->smallest_font_height and
4649 dpyinfo->smallest_char_width.
4650 (ftfont_close): Don't free `struct font'.
4651 (ftfont_has_char): Adjusted for the format change of font-entity.
4652 (ftfont_encode_char, ftfont_text_extents): Likewise.
4653
4654 * ftxfont.c (ftxfont_list): Return a list, not vector.
183080b6 4655 (ftxfont_open): Return a font-object. Adjusted for the change of
c6b278e7
KH
4656 struct font. Get underline_thickness and underline_position from
4657 font property. Don't update dpyinfo->smallest_font_height and
4658 dpyinfo->smallest_char_width.
10d1d0af 4659 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
c6b278e7
KH
4660 (ftxfont_draw): Adjusted for the change of struct font.
4661
4662 * image.c (image_ascent): Don't include "charset.h". Include
4663 "character.h" and "font.h".
4664
4665 * lisp.h (enum pvec_type): New member PREV_FONT.
4666 (Fassoc_string): EXFUN it.
4667
4668 * print.c: Include font.h.
4669 (print_object): Handle font-related objects.
4670
4671 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
4672 conditionals. Don't check enable_font_backend. Delete all codes
4673 used only when USE_FONT_BACKEND is not defined.
4674 (handle_auto_composed_prop): Do nothing if it->f is not on a
4675 window system. Check how many following characters can be
4676 displayed by the same font.
4677 (calc_pixel_width_or_height): Type of the 4th arg is changed to
4678 'struct font *'.
4679 (get_char_face_and_encoding): Assign the whole encoding task to
4680 the `encode-char' method of a font driver.
4681 (fill_composite_glyph_string): Adjusted for the change of `struct
4682 face' and `struct glyph_string'.
4683 (fill_glyph_string): Likewise.
4684 (get_per_char_metric): Arguments changed.
4685 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
4686 and `struct glyph_string'.
4687 (produce_stretch_glyph, calc_line_height_property)
4688 (x_produce_glyphs): Likewise.
4689
4690 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
4691 conditionals. Don't check enable_font_backend. Delete all codes
4692 used only when USE_FONT_BACKEND is not defined. Use
4693 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
4694 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
4695 (Qp): Extern them.
4696 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
4697 Deleted.
4698 (struct font_name): Deleted.
4699 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
4700 (compare_fonts_by_sort_order): New function.
4701 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
4702 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
4703 Deleted.
4704 (Fx_family_fonts): Use font_list_entities, and sort fonts by
4705 compare_fonts_by_sort_order.
4706 (Fx_font_family_list): Call Ffont_family_list.
4707 (face_numeric_value, face_numeric_weight, face_numeric_slant)
4708 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
4709 (face_symbolic_slant, face_symbolic_swidth)
4710 (split_font_name_into_vector, build_font_name_from_vector)
4711 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
4712 (font_rescale_ratio, split_font_name, build_font_name)
4713 (free_font_names, sort_fonts, x_face_list_fonts)
4714 (face_font_available_p, sorted_font_list, cmp_font_names)
4715 (font_list_1, concat_font_list, font_list, remove_duplicates):
4716 Deleted.
4717 (Fx_list_fonts): Use Ffont_list.
4718 (LFACE_AVGWIDTH): Deleted.
4719 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
4720 by FONTP.
4721 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4722 (set_lface_from_font_name): Delete it.
4723 (set_lface_from_font): Renamed from
4724 set_lface_from_font_and_fontset. Caller changed. Don't set
4725 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
4726 for face.
c3f9fba8
JB
4727 (merge_face_vectors): Copy font-spec if necessary.
4728 Clear properties of the font-spec if necessary.
c6b278e7
KH
4729 (merge_face_ref): Clear properties of the font-spec if necessary.
4730 (Finternal_set_lisp_face_attribute): Likewise.
4731 (set_font_frame_param): Use font_load_for_lface to load a
4732 font-object, and call Fmodify_frame_parameters with it.
4733 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
4734 font name by Ffont_xlfd_name.
4735 (Finternal_lisp_face_attribute_values): Don't check QCweight,
4736 QCslant, and QCwidth.
4737 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
4738 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
4739 Compare fonts by EQ.
4740 (lookup_non_ascii_face): Deleted.
4741 (face_for_font): The 2nd argument changed.
c3f9fba8
JB
4742 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
4743 Check atomic font properties by case insensitive.
c6b278e7
KH
4744 (realize_non_ascii_face): Set face->overstrike correctly.
4745 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
4746 (dump_realized_face): Get font name from
4747 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
4748
4749 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
4750 conditionals. Don't check enable_font_backend. Delete all codes
4751 used only when USE_FONT_BACKEND is not defined.
4752 (xic_create_xfontset): Original code deleted and renamed from
4753 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
4754 (x_make_gc): Don't set GCFont in GCs.
4755 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
4756 opened by "fixed".
4757 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
4758 find_ccl_program_func, query_font_func, set_frame_fontset_func,
4759 get_font_repertory_func.
4760
4761 * xfont.c: Include <stdlib.h> and "ccl.h".
4762 (struct xfont_info): New structure.
4763 (xfont_query_font): Deleted.
4764 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
4765 moved from xterm.c.
4766 (xfont_driver): Adjusted for the change of struct font_driver.
4767 (compare_font_names): New function.
4768 (xfont_list_pattern): Sort font names case insensitively. Make
4769 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
4770 (xfont_list): Return a list, not vector.
4771 (xfont_match): If the font doesn't have QCname property, generate
4772 a name from the other font properties.
183080b6 4773 (xfont_open): Return a font-object. Adjusted for the change of
c6b278e7
KH
4774 struct font. Get underline_thickness and underline_position from
4775 font property. Don't update dpyinfo->smallest_font_height and
4776 dpyinfo->smallest_char_width.
4777 (xfont_close): Don't free struct font.
4778 (xfont_prepare_face): Adjusted for the change of struct font.
4779 (xfont_done_face): Deleted.
4780 (xfont_has_char): Adjusted for the change of struct font.
4781 (xfont_encode_char, xfont_draw): Likewise.
4782 (xfont_check): New function.
4783
4784 * xftfont.c (xftfont_list): Adjusted for the change of `list'
4785 callback function.
10d1d0af 4786 (xftfont_match): Adjusted for the format change of font-entity.
c6b278e7
KH
4787 (xftfont_open): Adjusted for the format change of font-entity and
4788 font-object. Adjusted for the change of struct font. Return a
4789 font-object. Don't update dpyinfo->smallest_font_height and
4790 dpyinfo->smallest_char_width.
4791 (xftfont_close): Block input while calling XftFontClose.
4792 (xftfont_prepare_face): Don't block input while calling
4793 xftfont_get_colors. Adjusted for the change of struct font.
4794 (xftfont_shape): Return value of error case fixed.
4795
4796 * xrdb.c (x_load_resources): Don't setup a fontset resource.
4797
4798 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
4799 conditionals.
4800 (FONT_WIDTH): Return (f)->max_width.
4801 (struct x_display_info): Delete member `font'.
4802 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
4803 (x_find_ccl_program, x_get_font_repertory): Delete externs.
4804 (struct x_output): Change type of `font' to `struct font *'.
4805
4806 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
4807 conditionals. Don't check enable_font_backend. Delete all codes
c3f9fba8 4808 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
c6b278e7
KH
4809 (x_per_char_metric, x_encode_char): Deleted.
4810 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
4811 (x_compute_glyph_string_overhangs): Adjusted for the change of
c3f9fba8 4812 `struct face'.
c6b278e7
KH
4813 (x_draw_glyph_string_foreground)
4814 (x_draw_composite_glyph_string_foreground): Likewise.
4815 (x_draw_glyph_string): Likewise. Use font->underline_position and
4816 font->underline_thickness.
4817 (x_new_font): Renamed from x_new_fontset2.
4818 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
4819 (x_check_font): Call `check' method of a font driver.
4820 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
4821 (x_query_font, x_get_font_repertory): Deleted.
4822 (x_find_ccl_program): Renamed and moved to xfont.c.
4823 (x_redisplay_interface): Adjusted for the change of `struct
4824 redisplay_interface'.
4825
4826 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
4827 conditionals. Don't check enable_font_backend. Delete all codes
4828 used only when USE_FONT_BACKEND is not defined. Surround non-used
4829 code by "#ifdef OLD_FONT" and "endif".
4830 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
4831
4832 * w32font.h (struct w32font_info): New member.
4833 (FONT_COMPAT): New macro.
4834 (w32font_open_internal): Prototype adjusted.
4835
4836 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
4837 OLD_FONT" and "endif".
4838
4839 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
4840 conditionals. Don't check enable_font_backend. Delete all codes
4841 used only when USE_FONT_BACKEND is not defined.
4842 (w32font_open): Return a font-object. Make a font-object by
4843 font_make_object. Adjusted for the change of struct w32font_info.
4844 (w32font_close): Don't free struct font. Adjusted for the change
4845 of struct w32font_info.
4846 (w32font_encode_char, w32font_text_extents, w32font_draw):
4847 Adjusted for the change of struct w32font_info.
4848 (w32font_draw): Likewise.
4849 (w32font_list_internal): Return a list, not vector.
4850 (w32font_open_internal): Change the 4th arg to font-object.
c3f9fba8 4851 Adjusted for the change of struct w32font_info and font-object format.
c6b278e7
KH
4852 (add_font_name_to_list): Don't downcase names.
4853 (w32_enumfont_pattern_entity): Make a font-entity by
4854 font_make_entity. Adjusted for the format change of font-entity.
4855 Use FONT_SET_STYLE to set a style-related font property. If a
4856 font is scalable, set avgwidth property to 0. Set font-entity
4857 property by font_put_extra.
c3f9fba8 4858 (font_matches_spec): Adjusted for the format change of font-entity.
c6b278e7
KH
4859 (w32_weight_table, w32_decode_weight): New variables.
4860 (w32_encode_weight): New function.
4861 (fill_in_logfont): Adjusted for the format change of font-spec.
4862 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
4863 weight value.
4864 (w32font_driver): Adjusted for the change of struct font_driver.
4865
4866 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
f245f2c6 4867 conditionals. Don't check enable_font_backend. Surround non-used
c6b278e7
KH
4868 code by "#ifdef OLD_FONT" and "endif".
4869 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
4870 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
4871
4872 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
4873 conditionals. Don't check enable_font_backend. Delete all codes
4874 used only when USE_FONT_BACKEND is not defined. Surround non-used
4875 code by "#ifdef OLD_FONT" and "endif".
4876
4877 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
c3f9fba8
JB
4878 (uniscribe_open): Return value changed to font-object.
4879 Adjusted for the format change of font-object.
4880 (uniscribe_otf_capability): Adjusted for the change of struct font.
c6b278e7
KH
4881 (add_opentype_font_name_to_list): Don't downcase names.
4882 (uniscribe_font_driver): Adjusted for the change of struct
4883 font_driver.
4884
f9d4c199
CY
48852008-05-13 Chong Yidong <cyd@stupidchicken.com>
4886
4887 * dispnew.c (update_frame_1): Check if tty output is still valid
4888 before flushing it.
4889
44f249c0
JD
48902008-05-13 Jan Djärv <jan.h.d@swipnet.se>
4891
4892 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
4893 to Gtk+ menus.
4894
01bb4018
SM
48952008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4896
3271a8f5
SM
4897 * dired.c (file_name_completion): Tweak the code so as to always do it
4898 in a single pass. Tighten the scope of some variables.
4899
01bb4018
SM
4900 * dired.c (Qdefault_directory): New var.
4901 (file_name_completion): Use it instead of Fexpand_file_name.
4902 (syms_of_dired): Initialize it.
4903
728bb8e0
SM
49042008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
4905
4906 * fileio.c (double_dollars): Remove dead code.
4907
ed4c17bb
EZ
49082008-05-10 Eli Zaretskii <eliz@gnu.org>
4909
6c5665e9
EZ
4910 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
4911 Mention w32-get-true-file-attributes in doc string.
4912
ed4c17bb
EZ
4913 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
4914
71e1f69d
GM
49152008-05-09 Glenn Morris <rgm@gnu.org>
4916
4917 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
4918 2008-04-23.
4919
ee7a2e7a
EZ
49202008-05-09 Eli Zaretskii <eliz@gnu.org>
4921
8aaaec6b
EZ
4922 Support for reporting owner and group of each file on MS-Windows:
4923 * dired.c (stat_uname, stat_gname): New functions, with special
4924 implementation for w32.
4925 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
4926
ee7a2e7a
EZ
4927 * w32.c: Rename the_passwd_* to dflt_passwd_*.
4928 (dflt_group_name): New static variable.
728bb8e0 4929 (dflt_group): Rename from the_group.
ee7a2e7a
EZ
4930 (init_user_info): Init dflt_group fields. Get user's group name
4931 from LookupAccountSid.
8aaaec6b
EZ
4932 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
4933 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
4934 New initialization states.
4935 (globals_of_w32): Initialize them to zero. Initialize the default
4936 group name to "None".
4937 (GetFileSecurity_Name): New global var, the name of the function
4938 to call for GetFileSecurity.
4939 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
4940 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
4941 (get_file_security, get_security_descriptor_owner)
4942 (get_security_descriptor_group, is_valid_sid)
4943 (get_file_security_desc, get_rid, get_name_and_id)
4944 (get_file_owner_and_group): New functions.
4945 (stat): Use get_file_security_desc and get_file_owner_and_group to
4946 report the owner and primary group of each file. Don't ignore the
728bb8e0
SM
4947 high 32 bits of file's size, now that st_size is 64-bit wide.
4948 Fix test when to get true file attributes.
8aaaec6b
EZ
4949 (init_user_info): Use get_rid instead of equivalent inline code.
4950 (fstat): Don't ignore the high 32 bits of file's size.
ee7a2e7a 4951
b199c436
CY
49522008-05-09 Chong Yidong <cyd@stupidchicken.com>
4953
4954 * image.c (png_load): Use correct bit-depth for setting background
4955 color.
4956
86914123
EZ
49572008-05-08 Eli Zaretskii <eliz@gnu.org>
4958
4959 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
4960 epa-hook.elc.
4961
67b5d7de
JB
49622008-05-08 Juanma Barranquero <lekktu@gmail.com>
4963
4964 * font.c (Ffont_match_p): Don't use `iff' in docstring.
4965
1a111394
DN
49662008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
4967
4968 * macfns.c (Fx_create_frame): Make a copy of frame parameters
4969 because the original parameters are in pure storage now.
4970 (mac_window): Remove unused params. Update callers.
4971
6d77fa95
SM
49722008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
4973
7a3d90dc
SM
4974 * lread.c (substitute_object_recurse): Use lower-level primitives.
4975 Don't signal errors when traversing sub-char-tables.
4976 Don't loop over all the possible characters when traversing char-tables.
4977
6d77fa95
SM
4978 * print.c (print_preprocess): Add sub-char-tables to the print-table,
4979 just like we do in print.c.
4980
140eb764
SM
49812008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
4982
4983 * minibuf.c (Ftry_completion): Remove code left over from when we used
4984 scmp instead of Fcompare_strings.
4985
e9184ccb
JB
49862008-05-04 Juanma Barranquero <lekktu@gmail.com>
4987
4988 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
4989
0e9378b3
YM
49902008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4991
4992 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
4993 Create bitmap context in native byte order.
4994
f67e15be
MB
4995 * macterm.c (XDrawLine)
4996 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
4997 context in native byte order.
064032d0 4998
f67e15be 49992008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
50eff40f
YM
5000
5001 * config.in: Regenerate.
5002
5003 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
5004 New definitions for Image I/O support.
5005 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5006 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
5007 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5008 (mac_data_provider_release_data, image_load_image_io)
5009 [USE_MAC_IMAGE_IO]: New functions.
5010 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
5011 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
5012 (init_image_func_pointer) [MAC_OSX]: Remove function.
5013 (image_load_quartz2d) [MAC_OSX]: Check availability of
5014 CGImageCreateWithPNGDataProvider at compile time.
5015 Use lowercase `false' for boolean constant.
5016 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
5017 Use image_load_image_io.
5018 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
5019 Don't check MyCGImageCreateWithPNGDataProvider.
5020 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
5021 Don't call init_image_func_pointer.
5022
5023 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
5024
5025 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
5026 Make variable non-static.
5027 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5028 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
5029
5030 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
5031 (RED_FROM_ULONG): Mask off higher bits.
5032 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
5033
5034 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
5035 Include AvailabilityMacros.h.
5036 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
5037 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
5038
c6bff69e
SM
50392008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
5040
5041 * chartab.c (Fset_char_table_range): If range is t, really set all
5042 chars to that value.
5043
7412d429
EZ
50442008-05-03 Eli Zaretskii <eliz@gnu.org>
5045
5046 * dired.c (Ffile_attributes): Don't allow the device number become
5047 negative.
5048
f83bbfac
DU
50492008-05-02 Daiki Ueno <ueno@unixuser.org>
5050
5a81d3d7 5051 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
f83bbfac 5052
2e3148e2
JL
50532008-05-02 Juri Linkov <juri@jurta.org>
5054
5055 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
728bb8e0
SM
5056 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
5057 DEFAULT argument as a list of default values in docstrings.
2e3148e2 5058
923fb88c
CY
50592008-05-01 Chong Yidong <cyd@stupidchicken.com>
5060
5061 * puresize.h (BASE_PURESIZE): Increase to 1210000.
5062
047aaeb9
MR
50632008-05-01 Martin Rudalics <rudalics@gmx.at>
5064
5065 * dispnew.c (change_frame_size_1): Preserve small windows when
5066 shrinking frames by calling set_window_height|width with third
5067 arg 2.
5068
5069 * window.h (struct window): Replace field too_small_ok by field
5070 resize_proportionally.
5071
5072 * window.c (make_window): Initialize resize_proportionally.
5073 (enlarge_window): Temporarily set resize_proportionally to make
5074 sure that shrink_windows does scale the window proportionally.
5075 (shrink_windows): When window has resize_proportionally set try
5076 to shrink it proportionally by stealing from other windows.
5077 (struct saved_window, Fset_window_configuration)
5078 (compare_window_configurations): Handle resize_proportionally.
5079 (WINDOW_TOTAL_SIZE): New macro.
5080 (window_min_size, shrink_windows, size_window): Use it.
c6bff69e 5081 (check_min_window_sizes): Remove. Invalid values of
047aaeb9
MR
5082 window-min-height|width are handled by window_min_size_2 now.
5083 (size_window, Fsplit_window, enlarge_window)
5084 (adjust_window_trailing_edge, grow_mini_window): Don't call
5085 check_min_window_sizes.
c6bff69e
SM
5086 (window_min_size_2, window_min_size_1, window_min_size):
5087 New argument safe_p for retrieving "safe" minimum sizes.
c3f9fba8 5088 (Fdisplay_buffer, Fsplit_window, enlarge_window)
c6bff69e
SM
5089 (adjust_window_trailing_edge, grow_mini_window):
5090 Adjust arguments of window_min_size... functions.
047aaeb9
MR
5091 (shrink_windows): Argument min_size removed. New argument
5092 safe_p allows shrinking windows to their safe minimum sizes.
5093 Calculate minimum size and decide whether a window shall be
5094 deleted for each window individually.
5095 (size_window): When nodelete_p equals 2, tell shrink_windows to
5096 delete windows only if their new minimum size is no more safe.
5097 (shrink_window_lowest_first): Call window_min_size_1 to make
5098 sure to preserve modeline of bottom-most window when resizing
5099 the minibuffer.
5100 (Fset_window_configuration, Fcurrent_window_configuration)
5101 (compare_window_configurations): Do not handle
5102 window-min-height|width any more.
5103 (syms_of_window): Clarify window-min-height|width doc-strings.
5104
2a54a229
SM
51052008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
5106
5107 * dired.c (file_name_completion): Fix up the encoding/decoding issue
5108 some more. Copy some of the code from Ftry_completions.
5109 Remove special case code that dates back to initial revision when the
5110 slash was only added when necessary and that can't trigger nowadays.
5111
384bc634
KH
51122008-04-27 Kenichi Handa <handa@m17n.org>
5113
5114 * font.c (font_prop_validate): Signal `error' instead of `font'.
5115
2c2279c6
JR
51162008-04-29 Jason Rumney <jasonr@gnu.org>
5117
5118 * w32fns.c (Fw32_battery_status): New defun.
5119 (syms_of_w32fns): Defsubr it.
5120
fb4a622a
AS
51212008-04-28 Andreas Schwab <schwab@suse.de>
5122
5123 * dired.c (file_name_completion): Fix another mixing of encoded
5124 and decoded names.
5125
23f250f4
JB
51262008-04-28 Juanma Barranquero <lekktu@gmail.com>
5127
5128 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
5129
d8d30dff
JB
51302008-04-27 Juanma Barranquero <lekktu@gmail.com>
5131
5132 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
5133
ea6104a8
AS
51342008-04-27 Andreas Schwab <schwab@suse.de>
5135
9c691c00
AS
5136 * dired.c (file_name_completion): Fix inappropriate mixing of
5137 encoded and decoded names.
5138
ec1bf773
AS
5139 * xterm.c (XTread_socket): Fix use of uninitialized variable.
5140
ea6104a8
AS
5141 * puresize.h (BASE_PURESIZE): Increase to 1200000.
5142
01388a3d
EZ
51432008-04-26 Eli Zaretskii <eliz@gnu.org>
5144
5145 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
5146 2008-03-31, it's not needed anymore with `struct stat' definition
5147 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
5148 for the same reasons.
5149
175aea10 51502008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
27af566c
CY
5151
5152 * m/sparc.h: Additional redefinitions for GNU/Linux.
5153
1289aeb8
YM
51542008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5155
5156 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
5157 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
5158 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
5159 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
5160 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5161 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
5162 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5163 Likewise.
5164
5165 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
c3f9fba8 5166 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
1289aeb8
YM
5167 (mac_ax_number_of_characters): Add externs.
5168 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
5169 [USE_MAC_TSM]: Likewise.
5170 (mac_handle_text_input_event) [MAC_OSX]:
5171 Handle kEventTextInputOffsetToPos for no active input area case.
5172 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5173 (mac_handle_document_access_event)
5174 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
5175 (install_application_handler) [MAC_OSX]: Register handlers for
5176 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
5177 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
5178 Register mac_handle_document_access_event.
5179
5180 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
5181 Make functions non-static.
5182
dbd50d4b
SM
51832008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
5184
5185 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
5186 (read_file_name_completion_ignore_case, insert_default_directory)
5187 (Qdefault_directory): Move to minibuffer.el.
5188 (Fread_file_name): Call the new `read-file-name' instead.
5189
9ea37b9d 51902008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
81fe843b
YM
5191
5192 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
5193 Make function non-static.
5194 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
5195 Remove function.
5196 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5197 Move to mactoolbox.c.
5198 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
5199
5200 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
5201 (mac_rect_make): New macro.
5202
5203 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
5204 instead of float.
5205 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5206 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
5207 (XSetBackground) [USE_CG_DRAWING]: Likewise.
5208 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
5209 CGRectMake.
5210 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
5211 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
5212 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
5213 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5214 instead of WindowRef in argument type.
5215 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
5216 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
5217 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
5218 instead of DISPLAY. All uses changed.
5219 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
5220 (x_calc_absolute_position): Simplify so as not to use
5221 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
81fe843b
YM
5222
5223 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
5224 instead of WindowRef in argument type.
5225 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
5226 [TARGET_API_MAC_CARBON]: Remove externs.
5227 (create_apple_event, mac_event_parameters_to_lisp)
5228 [TARGET_API_MAC_CARBON]: Add externs.
5229
d8d30dff 5230 * mactoolbox.c (Vmac_ts_script_language_on_focus)
81fe843b
YM
5231 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
5232 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
5233 is clicked.
5234 (x_activate_menubar): Remove extern for saved_menu_event_location.
5235 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
5236 Move from mac.c.
5237
9ea37b9d 52382008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a1b41389
YM
5239
5240 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
5241 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
5242
9ea37b9d 52432008-04-23 Jason Rumney <jasonr@gnu.org>
bd735631
JR
5244
5245 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
5246 attributes only for local files.
5247
5248 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
e9184ccb 5249 default to Qlocal.
bd735631 5250
88970542
JL
52512008-04-22 Juri Linkov <juri@jurta.org>
5252
5253 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
5254 read-buffer-to-switch instead of using the letter "B".
5255
92ec67e3
SM
52562008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5257
5258 * fileio.c (Qdefault_directory): New variable.
5259 (Fread_file_name): Use it to pass `dir' to the completion functions.
5260
a32b2382
CY
52612008-04-20 Chong Yidong <cyd@stupidchicken.com>
5262
2a2e8de7 5263 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
a32b2382 5264
6c8b4f07
SM
52652008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
5266
ece5f847
SM
5267 * keyboard.c (Vpre_help_message): Remove.
5268 (show_help_echo): Remove default C code.
5269
6c8b4f07
SM
5270 * dired.c (directory_files_internal, file_name_completion):
5271 Only call ENCODE_FILE if the string is indeed decoded.
5272
73d798d5
SM
52732008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5274
5275 * Makefile.in (TOOLKIT_DEFINES): Remove.
5276 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
5277
d8d30dff 52782008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9e13f0c3
YM
5279
5280 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
5281 (mactoolbox.o): New target.
5282
5283 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
5284 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
5285
5286 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
5287 Use mac_set_frame_window_background instead of XSetWindowBackground.
5288 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
5289 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
5290 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
5291 instead of SetWindowTitleWithCFString.
5292 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
5293 Move function to mactoolbox.c.
5294 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
5295 Use mac_set_window_modified instead of SetWindowModified.
5296 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
5297 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
5298 (Fx_focus_frame): Use mac_front_non_floating_window instead of
5299 FrontNonFloatingWindow. Use mac_activate_window instead of
5300 ActivateWindow. Use mac_active_non_floating_window instead of
5301 ActiveNonFloatingWindow.
5302 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
5303 Use mac_show_hourglass and mac_hide_hourglass.
5304 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
5305 instead of GetGlobalMouse.
5306 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
5307 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
5308 Use mac_bring_window_to_front instead of BringToFront.
5309 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
5310 mactoolbox.c.
5311 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
5312 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
5313 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
5314 mactoolbox.c.
5315
5316 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
5317 (XtPointer): Move typedef from macmenu.c.
5318 (enum button_type): Move enum from macmenu.c.
5319 (widget_value): Move typedef from macmenu.c.
5320 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
5321 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5322 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5323 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5324 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5325 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5326 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5327 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
5328 (Selection): Move typedef from macselect.c.
5329 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
5330 macterm.c.
5331 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
5332 (mac_is_window_collapsed, mac_bring_window_to_front)
5333 (mac_send_window_behind, mac_hide_window, mac_show_window)
5334 (mac_collapse_window, mac_front_non_floating_window)
5335 (mac_active_non_floating_window, mac_activate_window)
5336 (mac_move_window_structure, mac_move_window, mac_size_window)
5337 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
5338
5339 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
5340 (enum mac_menu_kind): Move enum to mactoolbox.c.
5341 (min_menu_id): Move variable to mactoolbox.c.
5342 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
5343 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
5344 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
5345 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
5346 [TARGET_API_MAC_CARBON]: Likewise.
5347 (XtPointer): Move typedef to macgui.h.
5348 (enum button_type): Move enum to macgui.h.
d02fe47d
MB
5349 (widget_value): Move typedef to macgui.h.
5350 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
5351 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
5352 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
5353 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
5354 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
5355 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
5356 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
5357 (popup_activated_flag): Make variable non-static.
5358 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
5359 (add_menu_item, fill_menu, dispose_menus):
5360 Move functions to mactoolbox.c.
5361 (restore_show_help_function, menu_target_item_handler)
5362 (install_menu_target_item_handler, mac_handle_dialog_event)
5363 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
5364 [TARGET_API_MAC_CARBON]: Likewise.
5365 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
5366 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5367 (find_and_call_menu_selection, name_is_separator): Make function
5368 non-static.
5369 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
5370 to mactoolbox.c.
5371 (set_frame_menubar): Don't call install_menu_quit_handler.
5372 (menu_item_selection): New variable.
5373 (mac_menu_show): Use create_and_show_popup_menu.
5374 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
5375 selection but set variable menu_item_selection. All uses changed.
5376 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
5377 Call install_menu_quit_handler. Move to mactoolbox.c.
edd3ff1d 5378
d02fe47d
MB
5379 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
5380 (Selection): Move typedef to macgui.h.
5381 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
5382 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
5383 Make variables non-static.
5384 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5385 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
5386 Make functions non-static.
5387 (Vmac_service_selection) [MAC_OSX]: Likewise.
5388 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
5389 (mac_valid_selection_target_p, mac_clear_selection)
5390 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5391 (mac_put_selection_value, mac_selection_has_target_p)
5392 (mac_get_selection_value, mac_get_selection_target_list)
5393 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
5394 Move functions to mactoolbox.c.
5395 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
5396 Likewise.
5397 (copy_scrap_flavor_data, mac_handle_service_event)
5398 (install_service_handler) [MAC_OSX]: Likewise.
5399 (syms_of_macselect) <Vmac_dnd_known_types>:
5400 Use mac_dnd_default_known_types.
463f55ee 5401
d02fe47d
MB
5402 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
5403 Move to mactoolbox.c.
5404 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
5405 (Fx_selection_owner_p): Add EXFUN.
5406 (install_window_handler, remove_window_handler, XSetWindowBackground):
5407 Remove externs.
5408 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
5409 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
5410 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
5411 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
5412 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
5413 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
5414 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
5415 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
5416 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
5417 (create_and_show_popup_menu, mac_get_selection_from_symbol)
5418 (mac_valid_selection_target_p, mac_clear_selection)
5419 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
5420 (mac_put_selection_value, mac_selection_has_target_p)
5421 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
5422 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
5423 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
5424 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
5425 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
5426 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
5427 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
5428 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
5429 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
463f55ee 5430
d02fe47d 5431 * mactoolbox.c: New file.
af253914 5432
d8d30dff 54332008-04-18 Jason Rumney <jasonr@gnu.org>
af253914 5434
d02fe47d 5435 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
af253914 5436
8ee085a4
SM
54372008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
5438
73d798d5
SM
5439 * character.c (Fmultibyte_char_to_unibyte):
5440 Return latin1 chars unchanged.
5556875b 5441
8ee085a4
SM
5442 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
5443 relocated if it points to `name'.
5444
5dff5999
KH
54452008-04-17 Kenichi Handa <handa@m17n.org>
5446
5447 * data.c (Faset): Allow setting a multibyte character in an
5448 ASCII-only unibyte string.
5449
5450 * lisp.h (STRING_SET_MULTIBYTE): New macro.
5451
a51f4969
SM
54522008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
5453
5454 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
5455 done in config.h.
5456
add553ac
JB
54572008-04-16 Juanma Barranquero <lekktu@gmail.com>
5458
5459 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
5460 (Fchar_direction): Add usage in the docstring.
5461
8ad7b280
CY
54622008-04-15 Chong Yidong <cyd@stupidchicken.com>
5463
5464 * keyboard.c (read_key_sequence): Remove always-true checks.
5465
e157d7ba
JR
54662008-04-14 Jason Rumney <jasonr@gnu.org>
5467
5468 * w32font.c (w32font_open_internal): Set max_bounds.descent in
5469 compatibility struct, for better underline positioning.
5470
9ec3aaef 54712008-04-13 David Hansen <david.hansen@gmx.net>
48f7d213
MA
5472
5473 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
5474 string.
5475
36c08864
DN
54762008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
5477
5478 * m/hp800.h (XUINT, XSET): Remove.
5479
f5acc071
JB
54802008-04-12 Juanma Barranquero <lekktu@gmail.com>
5481
5482 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
5483 previous change.
5484
5b5a2ea1
SM
54852008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
5486
5487 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
5488 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
5489
492d9fd6
SM
54902008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5491
5492 * keymap.h (map_keymap_canonical): Declare.
5493 * xmenu.c (single_keymap_panes): Use it.
5494
dd60787c
GM
54952008-04-11 Glenn Morris <rgm@gnu.org>
5496
5497 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
5498 set the target's value to that of the alias.
5499
c23b5410
SM
55002008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
5501
5502 * term.c (set_tty_color_mode): Left over typo.
5503
e89b536d
MA
55042008-04-10 Michael Albinus <michael.albinus@gmx.de>
5505
5506 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
f5acc071 5507 only after check for file name handler functions. Signal, when
e89b536d
MA
5508 native functionality is not supported.
5509 (syms_of_fileio): Declare it unconditionally.
5510
40a339c8
JR
55112008-04-10 Jason Rumney <jasonr@gnu.org>
5512
31403b24
JR
5513 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
5514 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
5515
40a339c8
JR
5516 * w32.c (logon_network_drive): Also logon to remote drives that
5517 are mapped to drive letters.
5518
96a7394f
GM
55192008-04-10 Glenn Morris <rgm@gnu.org>
5520
5521 * xdisp.c (truncate-partial-width-windows): Doc fix.
5522
34b67b0f
SM
55232008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
5524
5525 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
5526 Move functions to minibuffer.el.
5527 (syms_of_fileio): Don't declare them.
5528
c025fb0a
SM
55292008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5530
ba5ff07b
SM
5531 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
5532 (syms_of_minibuf): Remove its initialization.
5533
c025fb0a
SM
5534 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
5535
7a6a86ad
JB
55362008-04-09 Juanma Barranquero <lekktu@gmail.com>
5537
5538 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
5539
cf907d69
JR
55402008-04-09 Jason Rumney <jasonr@gnu.org>
5541
3dc94c30
JR
5542 * makefile.w32-in (distclean): Delete makefile too.
5543 (maintainer-clean): New target.
5544
8d28646b
JR
5545 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
5546
cf907d69
JR
5547 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
5548 for new font backend and composite cases.
5549
ef5eb925
JD
55502008-04-09 Jan Djärv <jan.h.d@swipnet.se>
5551
5552 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
5553 Most of the code moved to run_timers.
5554 (do_pending_atimers): Call run_timers.
5555 (run_timers): New function.
5556
cf907d69
JR
5557 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
5558 run atimers.
ef5eb925
JD
5559
5560 * process.c (wait_reading_process_output): The same as above.
5561
9b2cd403
SM
55622008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5563
32bae13c
SM
5564 * minibuf.c (last_exact_completion): Remove variable.
5565 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
5566 (complete_and_exit_1, complete_and_exit_2)
5567 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
5568 (Fdisplay_completion_list, display_completion_list_1)
5569 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
5570 (Fexit_minibuffer, Fminibuffer_message): Move functions to
5571 minibuffer.el.
32bae13c
SM
5572 (syms_of_minibuf): Remove corresponding initializations.
5573
5c4cc82a
SM
5574 * keyboard.c (Qdeactivate_mark): New var.
5575 (command_loop_1): Use it to call `deactivate-mark'.
5576 (syms_of_keyboard): Initialize it.
5577
9b2cd403
SM
5578 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
5579 to another frame.
5580 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
5581 Don't call set_tty_color_mode.
5582 (store_frame_param): Reset previous_frame rather than call
5583 set_tty_color_mode.
5584 * term.c (set_tty_color_mode): Rewrite.
5585 * dispextern.h (set_tty_color_mode): New type.
5586 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
5587
84cb7b45
SM
55882008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
5589
5590 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
5591 for generic chars, which do not exist any more in emacs-unicode.
5592
3ed051d4
MA
55932008-04-08 Michael Albinus <michael.albinus@gmx.de>
5594
5595 * coding.c (detect_coding_emacs_mule)
5596 (Ffind_operation_coding_system): Fix typo.
5597
58c3ea42
JR
55982008-04-08 Jason Rumney <jasonr@gnu.org>
5599
3bf8d230
JR
5600 * w32uniscribe.c (SNAME): Extract only symbol name.
5601
56a70cca
JR
5602 * w32font.h (struct w32_metric_cache): New struct.
5603 (w32font_info): Use it.
5604 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
5605 (CACHE_BLOCKSIZE): New constants.
3ed051d4 5606
58c3ea42
JR
5607 * w32font.c (Qja, Qko, Qzh): New symbols.
5608 (syms_of_w32font): Initialise them.
5609 (font_matches_spec): Use them to filter by language.
5610 (recompute_cached_metrics): Remove function.
5611 (compute_metrics, clear_cached_metrics): New functions.
5612 (w32font_encode_char): Use them to manage metric cache.
5613 (w32font_text_extents): Cache metrics for all glyphs on demand.
5614 Delay converting glyph indices to WORD until needed.
5615 (w32font_open_internal): Initialize metric cache to empty.
5616 (registry_to_w32_charset): Charset should always be a symbol.
5617 (fill_in_logfont, list_all_matching_fonts): Family should
5618 always be a symbol.
5619
0ce24b2d
JR
56202008-04-06 Jason Rumney <jasonr@gnu.org>
5621
5622 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
5623 Give up if glyph indices not supported. Use uniscribe obtained
5624 ABC widths for individual metrics. Map glyph clusters back to
5625 characters using fClusterStart flag. Return number of glyphs
5626 produced, not chars processed.
b7655e0c 5627 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 5628
5bc6ddff 56292008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 5630
fbf57abb
JB
5631 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
5632 Use SetMenuItemHierarchicalMenu.
56613f06 5633
5bc6ddff 56342008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 5635
5bc6ddff
MB
5636 * image.c (pbm_load): Allow color values up to 65535.
5637 Throw an error if max_color_idx is outside the supported range.
5638 Report an error when image size is invalid.
5639 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 5640
5bc6ddff 56412008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 5642
5bc6ddff
MB
5643 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5644 cFileName a file name that includes `?' characters, use the 8+3
5645 alias in cAlternateFileName instead.
5ed6ba5b 5646
5bc6ddff 56472008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 5648
5bc6ddff
MB
5649 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
5650 append "CCL: Quitted" when the CCL program is quitted.
5651 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 5652
5bc6ddff 5653 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 5654
c36e15db
CY
56552008-04-05 Chong Yidong <cyd@stupidchicken.com>
5656
9605d567
CY
5657 * search.c (compile_pattern_1): Treat non-nil and non-string of
5658 search-spaces-regexp as nil.
5659
c36e15db
CY
5660 * minibuf.c (Fassoc_string): Tweak docstring.
5661
40beb147
EZ
56622008-04-05 Eli Zaretskii <eliz@gnu.org>
5663
5664 * dired.c (Ffile_attributes): Support inode numbers wider than 32
5665 bits. Remove ugly WINDOWSNT-specific kludge introduced on
5666 2008-03-14 to force inode be positive.
5667
5668 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
5669 _S_* ones, since we now use our own sys/stat.h.
5670 (stat, fstat): Don't mangle the inode number.
aa08d1ff 5671 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 5672
4591d6cb
SM
56732008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
5674
d4417eb0
SM
5675 * frame.h (struct frame): Give one more bit to `visible' since we use
5676 values larger than 1 to indicate obscured frames on ttys.
5677
00f7c5ed
SM
5678 * keymap.c (Qkeymap_canonicalize): New var.
5679 (Fmap_keymap_internal): New fun.
5680 (describe_map): Use keymap-canonicalize.
5681
4591d6cb
SM
5682 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
5683 (Fundo_boundary): Set them.
5684 (syms_of_undo): Initialize them.
5685 (record_point): Use them instead of last_point_position*.
5686 (last_undo_buffer): Change type.
5687
3187540e
JR
56882008-04-04 Jason Rumney <jasonr@gnu.org>
5689
0ce24b2d
JR
5690 * w32font.c (w32font_text_extents): Use font's ascent and descent.
5691 (recompute_cached_metrics): Don't set ascent and descent per char.
5692
3187540e 5693 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 5694 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 5695 Rearrange loop for counting features.
3187540e 5696
f1a6b216
SM
56972008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5698
5699 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
5700 buffer with byte-size of source buffer.
5701
1d8dcf63
CY
57022008-04-03 Chong Yidong <cyd@stupidchicken.com>
5703
5704 * callint.c (Fcall_interactively): Handle temporary region even
5705 when shift-select-mode is off.
5706
6b8aa22a
JR
57072008-04-03 Jason Rumney <jasonr@gnu.org>
5708
5709 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
5710
2f3cbb32
KH
57112008-04-03 Kenichi Handa <handa@m17n.org>
5712
5713 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
5714 (CATEGORY_MASK_UTF_16): Likewise.
5715 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
5716 binary file.
5717 (detect_coding): Add null-byte detection for a binary file.
5718 (detect_coding_system): Likewise.
5719
43f4f91c
JR
57202008-04-03 Jason Rumney <jasonr@gnu.org>
5721
0c1b4ae2
JR
5722 * w32uniscribe.c: New file.
5723
5724 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
5725
5726 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
5727
5728 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
5729 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
5730 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
5731 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
5732 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
5733 (Qphonetic): New symbols.
5734 (syms_of_w32font): Initialize them.
5735 (font_supported_scripts): Use them.
5736 (w32font_list_family): List all charsets.
5737 (w32font_text_extents, recompute_cached_metrics): Fix metric
5738 calculations.
5739 (w32_enumfont_pattern_entity): Make full_type a DWORD.
5740 Give opentype fonts their own format.
5741 (font_matches_spec): New arguments backend and logfont.
5742 Handle :otf spec for uniscribe backend.
5743 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
5744 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 5745
0c1b4ae2
JR
5746 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
5747 font backend.
5748 (globals_of_w32fns): Initialize uniscribe font backend.
5749
fbf57abb 5750 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
5751 dependencies.
5752 (w32uniscribe.$(O)): New file to build.
5753 (FONT_OBJ): Include w32uniscribe.$(O).
5754 (LIBS): Add uniscribe libraries.
5755
43f4f91c
JR
5756 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
5757
75043a7d
CY
57582008-04-02 Chong Yidong <cyd@stupidchicken.com>
5759
5760 * callint.c (Vshift_select_mode): New var.
5761 (Finteractive): Document new ^ spec.
5762 (Fcall_interactively): Call handle-shift-selection if the ^ spec
5763 is present.
5764
5765 * keyboard.c (Vthis_command_keys_shift_translated): New var.
5766 (command_loop_1): Avoid running the direct display versions of
5767 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
5768 (read_key_sequence): Set Vthis_command_keys_shift_translated if
5769 shift-translation takes place.
5770
5771 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
5772 avoid clobbering by define-minor-mode.
5773
5774 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
5775 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
5776
5777 * syntax.c (Fforward_word): Add ^ interactive spec.
5778
5779 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
5780 (Fscroll_right): Add ^ interactive spec.
5781
b2b7f29e
SM
57822008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
5783
a432c0a6
SM
5784 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
5785
994b75e0
SM
5786 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
5787
b2b7f29e
SM
5788 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
5789
e99c7806
JL
57902008-03-31 Juri Linkov <juri@jurta.org>
5791
5792 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
5793
1c9c1270
JD
57942008-03-30 Jan Djärv <jan.h.d@swipnet.se>
5795
5796 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 5797 (xg_resize_outer_widget): Remove.
1c9c1270
JD
5798 (x_wm_size_hint_off): Fix indentation.
5799 (xg_frame_set_char_size): Call flush_and_sync after
5800 gtk_window_resize.
5801 (x_wm_set_size_hint): Pass NULL as geometry window to
5802 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
5803 Add menu bar and tool bar height to base height.
5804 (xg_update_frame_menubar, free_frame_menubar)
5805 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
5806 (update_frame_tool_bar, free_frame_tool_bar):
5807 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 5808
90b3fc84
MA
58092008-03-30 Michael Albinus <michael.albinus@gmx.de>
5810
5811 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
5812 (Fdbus_call_method): New parameter TIMEOUT.
5813 (dbus-send-signal): Optimize UNGCPRO call.
5814
7ae6d1d1
JL
58152008-03-29 Juri Linkov <juri@jurta.org>
5816
5817 * window.c (Fdisplay_buffer): Move call to
5818 Vsplit_window_preferred_function out of conditions that check
5819 if window is eligible for vertical splitting.
5820 When Vsplit_window_preferred_function is non-nil, call it and use
5821 its non-nil return value as window. Otherwise, continue doing
5822 vertical splitting using Fsplit_window with arg horflag=nil.
5823 (syms_of_window) <Vsplit_window_preferred_function>: Change the
5824 default value from `split-window' to nil.
5825
f03f8f2c
JL
58262008-03-29 Juri Linkov <juri@jurta.org>
5827
5828 * callint.c (Fcall_interactively): Revert 2008-03-16 change
5829 for interactive code letters 'b' and 'B'.
5830
6d557778
EZ
58312008-03-29 Eli Zaretskii <eliz@gnu.org>
5832
5833 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
5834 multibyte string.
5835
58555d81
SM
58362008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
5837
5838 * keyboard.c (pending_funcalls): New var.
5839 (timer_check): Run it.
5840 (syms_of_keyboard): Initialize it.
5841 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
5842 (Vdelete_terminal_functions): New vars.
5843 (syms_of_terminal): Initialize them.
5844 (Fdelete_terminal): Run delete-terminal-functions.
5845 * xdisp.c (safe_eval): Rewrite.
5846 (safe_call2): New fun.
5847 * frame.c (Qdelete_frame_functions): New var.
5848 (syms_of_frame): Initialize it.
5849 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
5850 * lisp.h (safe_call2, pending_funcalls): Declare.
5851
4c92f429
AS
58522008-03-28 Andreas Schwab <schwab@suse.de>
5853
5854 * indent.c (Fmove_to_column): Move declaration before statements.
5855
a1567c45
SM
58562008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
5857
2806a183
SM
5858 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
5859 (struct frame): Use bit fields for boolean vars.
5860
eef60308
SM
5861 * process.c (server_accept_connection): Simplify naming.
5862 (emacs_get_tty_pgrp): Use SDATA.
5863
a1567c45
SM
5864 * coding.c (decode_coding_object): Fix last change.
5865
30076589
JR
58662008-03-27 Jason Rumney <jasonr@gnu.org>
5867
5868 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
5869
880820fe
KH
58702008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
5871
5872 * charset.c (Fdefine_charset_internal): Change the way of
5873 registering charsets in Vcharset_order_list.
5874 (syms_of_charset): Make the charset `eight-bit' supplementary.
5875
3cf8cdfb
CY
58762008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
5877
5878 * regex.c (EXTEND_BUFFER): Change order of pointer addition
5879 operations, to avoid having the difference between pointers
5880 overflow.
5881
ef6f5c0e
SM
58822008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
5883
80e3db56
SM
5884 * indent.c (check_display_width): New fun.
5885 (scan_for_column): Use it.
5886
c397dc7a
SM
5887 * data.c (syms_of_data): Mark most-positive-fixnum and
5888 most-negative-fixnum as constants.
5889
bf6b4d58
SM
5890 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
5891
ef6f5c0e
SM
5892 * indent.c (scan_for_column): Extract from current_column_1.
5893 Merge with the same code from Fmove_to_column.
5894 (current_column_1, Fmove_to_column): Use it.
5895
72d5003d
SM
58962008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
5897
12270607
SM
5898 * keymap.c (map_keymap_internal): New fun.
5899 (map_keymap): Use it.
5900 (Fmap_keymap_internal): New fun.
5901 (Fmap_keymap): Remove left-out test from before make_save_value.
5902
a10cca6c
SM
5903 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
5904
d7b10f4c
SM
5905 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
5906 Use XCAR/XCDR.
5907
5431bd6a
SM
5908 * process.h (struct Lisp_Process): Remove filter_multibyte.
5909 * process.c (QCfilter_multibyte): Remove.
5910 (setup_process_coding_systems): Don't use filter_multibyte.
5911 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
5912 (read_process_output): Don't adjust multibyteness to filter_multibyte.
5913 (Fset_process_filter_multibyte): Change the coding-system to
5914 approximate the previous behavior.
5915 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
5916 coding-system.
5917
72d5003d
SM
5918 * coding.c (decode_coding_object): When not decoding into a buffer,
5919 obey the coding system's preference of (uni|multi)byte.
5920
438eba3c
SM
59212008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
5922
5923 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
5924 every char is changed and has a different byte-length.
5925 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
5926 Fix int -> EMACS_INT.
5927
9ec3aaef 59282008-03-23 David Hansen <david.hansen@gmx.net>
a8e72f4f 5929
438eba3c 5930 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
5931 strings. Check for NULL `interface' or `member'.
5932
b07103dc
EZ
59332008-03-22 Eli Zaretskii <eliz@gnu.org>
5934
5935 * w32.c (readdir): If FindFirstFile/FindNextFile return in
5936 cFileName a file name that includes `?' characters, use the 8+3
5937 alias in cAlternateFileName instead.
5938
5371d722
SM
59392008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
5940
5941 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
5942
6ba7f443
SM
59432008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5944
5945 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
5946 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
5947 work on current_buffer only instead (that was already the case
5948 for some of the code anyway).
5949 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
5950 (temp_set_point, temp_set_point_both): Use EMACS_INT.
5951 (SET_PT, SET_PT_BOTH): Adjust.
5952 * intervals.h (set_point, temp_set_point, set_point_both)
5953 (temp_set_point_both): Remove redundant declarations.
5954
bf1c0f27
SM
59552008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
5956
5957 * fileio.c (Finsert_file_contents):
5958 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
5959 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
5960 when buffer != current_buffer anyway.
5961
acab783e
AS
59622008-03-20 Andreas Schwab <schwab@suse.de>
5963
5964 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
5965 as default.
5966
d148e14d
JR
59672008-03-19 Jason Rumney <jasonr@gnu.org>
5968
5969 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
5970 (syms_of_w32fns): Initialize them.
5971 (HOURGLASS_ID): New constant.
5972 (x_window_to_frame): Don't check hourglass_window.
5973 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
5974 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
5975 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
5976 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
5977 Only change the cursor if hourglass is not active.
5978 (Fx_create_frame): Initialize frame's current_cursor.
5979 (hourglass_atimer): Remove.
5980 (hourglass_started): New function.
5981 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
5982 (show_hourglass): Adapt to w32, changing argument to frame.
5983
5984 * w32term.h (struct w32_output): Remove hourglass_window.
5985 Add current_cursor.
5986
5987 * eval.c (call_debugger, Fsignal):
5988 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
5989 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
5990 (Fexecute_extended_command, cancel_hourglass_unwind):
5991 * minibuf.c (read_minibuf):
5992 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 5993
a5c54077
JB
59942008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
5995
5996 * window.c (run_funs): New fun.
5997 (run_window_configuration_change_hook): Use it to run the buffer-local
5998 and the global part of the hook.
5999
6000 * xdisp.c (format_mode_line_unwind_data): Add window argument.
6001 (unwind_format_mode_line): Restore selected window.
6002 (x_consider_frame_title, Fformat_mode_line): Set selected window.
6003
f9f3238f
SM
60042008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
6005
253c3c82
SM
6006 * editfns.c (Fchar_equal): Check they are valid characters.
6007
f9f3238f
SM
6008 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
6009
065a118d
AS
60102008-03-17 Andreas Schwab <schwab@suse.de>
6011
0b8be006
AS
6012 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
6013 against a charset.
6014
065a118d
AS
6015 * lisp.h (Fbuffer_list): Declare.
6016
880820fe 60172008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
6018
6019 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
6020 handlebox_widget is != 0.
6021
6206d6c2
JL
60222008-03-16 Juri Linkov <juri@jurta.org>
6023
6024 * callint.c (Fcall_interactively): For interactive code letters
6025 'b' and 'B' put the buffer list into the list of default "future"
6026 values of the minibuffer.
6027
f5020181
AS
60282008-03-16 Andreas Schwab <schwab@suse.de>
6029
a864f6d6
AS
6030 * keyboard.c (read_key_sequence): Fix downcasing of letters with
6031 modifiers.
6032
f5020181
AS
6033 * regex.c (re_match_2_internal): Correct matching of a charset
6034 against latin-1 characters.
6035
03f244e2
KH
60362008-03-16 Kenichi Handa <handa@m17n.org>
6037
6038 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
6039 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
6040 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
6041 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
6042 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
6043 CHAR_STRING_ADVANCE.
6044 (produce_chars): Fix for the case that the source and the
6045 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
6046 instead of CHAR_STRING_ADVANCE.
6047 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
6048 STRING_CHAR_ADVANCE.
6049
0e2501ed
AS
60502008-03-15 Andreas Schwab <schwab@suse.de>
6051
6052 * regex.c (re_match_2_internal): Correct matching of eight bit
6053 characters in unibyte strings.
6054
7723e095
MR
60552008-03-15 Martin Rudalics <rudalics@gmx.at>
6056
6057 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
6058 at end of range when it coincides with the end of the buffer.
6059
f507f365
EZ
60602008-03-14 Eli Zaretskii <eliz@gnu.org>
6061
294f1153
EZ
6062 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
6063
f507f365
EZ
6064 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
6065
64f0809d
JR
60662008-03-14 Jason Rumney <jasonr@gnu.org>
6067
956ae531
JR
6068 * editfns.c (initial_tz): New variable.
6069 (syms_of_editfns): Initialize it.
6070 (Fset_time_zone_rule): Set it when first called.
6071 Use it when TZSTRING is nil.
6072
64f0809d
JR
6073 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
6074 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
6075 (monitor_from_point_fn, get_monitor_info_fn): New globals.
6076 (globals_of_w32fns): Initialize them.
6077 (compute_tip_xy): Use them to position tooltips.
6078
21a4ff8e
GM
60792008-03-14 Glenn Morris <rgm@gnu.org>
6080
6081 * emacs.c (main): Revert previous change.
6082 (standard_args): Revert -internal-script back to -scriptload,
6083 and remove the long-option form.
6084
a09a5b5b
GM
60852008-03-13 Glenn Morris <rgm@gnu.org>
6086
6087 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
6088 Remove option -enable-font-backend.
6089
1c55ebd1
SM
60902008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
6091
6092 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
6093
880820fe 60942008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
6095
6096 * xterm.c (x_connection_closed): For GTK: If this is the last
6097 terminal just exit without closing the display.
6098
7145be81
JR
60992008-03-11 Jason Rumney <jasonr@gnu.org>
6100
6101 * w32font.c (w32font_full_name): Use floor to round.
6102
e6201af3 61032008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
6104
6105 * sound.c (alsa_configure): Declare vol at beginning of block.
6106
e6201af3 6107 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 6108
390b81fa 61092008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 6110
56388398
MB
6111 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
6112 size of resulting string.
af0ad939 6113
390b81fa 61142008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 6115
56388398 6116 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 6117
390b81fa 61182008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 6119
56388398
MB
6120 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
6121 Don't pretend as if characters with display property haven't been
6122 consumed for string-replacing-string case.
acd37560 6123
223ed6db
KS
61242008-03-08 Kim F. Storm <storm@cua.dk>
6125
6126 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
6127 (get_next_display_element, next_element_from_string)
6128 (next_element_from_ellipsis, next_element_from_buffer): Use it.
6129
28545f7c
AS
61302008-03-08 Andreas Schwab <schwab@suse.de>
6131
6132 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
6133
c960bff8
JR
61342008-03-06 Jason Rumney <jasonr@gnu.org>
6135
290afd83
JB
6136 * w32font.c (w32_registry): Take font_type argument. Use ANSI
6137 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
6138 font_type is truetype.
6139 (w32font_coverage_ok): New function.
6140 (add_font_entity_to_list): Use it to filter unsuitable fonts.
6141
87b8ce92
KH
61422008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
6143
6144 * lread.c (Fread_char): Resolve modifiers.
6145 (Fread_char_exclusive): Likewise.
6146
6147 * character.c (char_resolve_modifier_mask): New function.
6148 (char_string): Use char_resolve_modifier_mask.
6149 (Fchar_resolve_modifiers): New function.
6150 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
6151 function.
6152
cefd56f6
JR
61532008-03-04 Jason Rumney <jasonr@gnu.org>
6154
6155 * makefile.w32-in: Always include w32font.c in the build.
6156 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
6157
03bd3c1f
AS
61582008-03-04 Andreas Schwab <schwab@suse.de>
6159
6160 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
6161 (versionclean): Likewise.
6162
6f69e89b
JB
61632008-03-04 Juanma Barranquero <lekktu@gmail.com>
6164
6165 * .cvsignore: Add oo.
6166
f4a3cc44
AS
61672008-03-03 Andreas Schwab <schwab@suse.de>
6168
6169 * coding.c (decode_coding_object): Inhibit gap shrinking while
6170 decoding in place.
6171
73f838ad
DN
61722008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
6173
6174 * w32term.c: Remove unused include "gnu.h".
6f69e89b 6175 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
6176
6177 * gnu.h: Rename to ...
6178 * emacs-icon.h: ... this.
6179 * xterm.c: Use emacs-icon.h instead of gnu.h.
6180 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
6181
ce9c1f06
JB
61822008-03-03 Juanma Barranquero <lekktu@gmail.com>
6183
6184 * w32font.c: Include math.h.
6185
34fd2d28
JR
61862008-03-03 Jason Rumney <jasonr@gnu.org>
6187
54efdcd1
JR
6188 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
6189 Compute options separately.
6190 (w32font_open_internal): Set glyph_idx before caching metrics.
6191
ce9c1f06
JB
6192 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
6193 Define if system headers don't.
6194 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
6195 (w32font_encode_char): Don't declare here.
6196
6197 * w32font.c (Quniscribe, QCformat): New symbols.
6198 (syms_of_w32font): Define them.
6199 (w32font_has_char): Indicate uncertainty.
ce9c1f06 6200 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 6201 (recompute_cached_metrics): New function.
ce9c1f06
JB
6202 (w32font_open_internal): Use it. Set font to use glyph points
6203 initially. Set format based on type of font.
34fd2d28 6204 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
6205 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
6206 on it. Set format based on information available here.
34fd2d28
JR
6207 (add_font_entity_to_list): Identify backend based on opentype_only.
6208
14daee73
AS
62092008-03-02 Andreas Schwab <schwab@suse.de>
6210
f907fb2e
AS
6211 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
6212
ce9c1f06
JB
6213 * coding.c (decode_coding_big5, produce_chars):
6214 Fix typos in last change.
14daee73 6215
c9cc6462
DN
62162008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
6217
6218 * gnu.h: New icon.
6219
119852e7
KH
62202008-03-02 Kenichi Handa <handa@m17n.org>
6221
6222 * coding.c (decode_coding_utf_8): When eol-type of CODING is
6223 `dos', don't decode '\r' if that is the last in the source.
6224 (decode_coding_utf_16, decode_coding_emacs_mule)
6225 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
6226 (decode_coding_raw_text, decode_coding_charset): Likewise.
6227 (produce_chars): Don't decode EOL here. Use EMACS_INT.
6228
a823468b
JR
62292008-03-01 Jason Rumney <jasonr@gnu.org>
6230
6231 * w32font.c (w32font_full_name): Report point size for scalable fonts.
6232
4ddc7e30
KS
62332008-03-01 Kim F. Storm <storm@cua.dk>
6234
6235 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
6236
67997c79
JR
62372008-03-01 Jason Rumney <jasonr@gnu.org>
6238
6239 * w32font.c (w32font_full_name): New function.
6240 (w32font_open_internal): Use it.
6241
3f4e9c35
KS
62422008-03-01 Kim F. Storm <storm@cua.dk>
6243
6244 * dispnew.c (line_draw_cost): Fix invalid glyph check.
6245
f3b9e479
JR
62462008-03-01 Jason Rumney <jasonr@gnu.org>
6247
6248 * font.c (font_unparse_fcname): Increase len when style is a symbol.
6249
880820fe 62502008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
6251
6252 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
6253 xg_frame_resized when the event is for the edit widget.
6254
6255 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
6256
6257 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
6258 set_char_size.
6259 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
6260 operations on widgets here. Just set frame size if needed.
6261 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
6262 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
6263 (x_wm_set_size_hint): Set size hints on the edit widget only, not
6264 the whole frame.
10d1d0af 6265 (xg_create_tool_bar): Move attachment of the tool bar to
7ee480ce
JD
6266 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
6267 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
6268
6c8acaa1
JR
62692008-03-01 Jason Rumney <jasonr@gnu.org>
6270
6271 * w32fns.c (w32_msg_pump): Disable debug code.
6272
51fb064b 62732008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 6274
51fb064b 6275 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 6276
60221a33
CY
62772008-02-29 Chong Yidong <cyd@stupidchicken.com>
6278
6279 * xdisp.c (next_overlay_string): Don't set
6280 overlay_strings_at_end_processed_p if we're currently reading from
6281 a display string.
6282
10cbc34f
SM
62832008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
6284
6285 * xdisp.c (get_overlay_strings_1): Fix typo.
6286
73c0054e
CY
62872008-02-29 Chong Yidong <cyd@stupidchicken.com>
6288
6289 * xdisp.c (get_overlay_strings_1): Add missing argument type.
6290
ec1c4354
KH
62912008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
6292
55082642
KH
6293 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
6294
ec1c4354
KH
6295 * xdisp.c (display_mode_element): Cancel the previous change.
6296 (decode_mode_spec): Likewise.
ee548a94
KH
6297 (handle_auto_composed_prop): Don't make composition if it->string
6298 is a string.
ec1c4354 6299
b6d898a2
KS
63002008-02-27 Kim F. Storm <storm@cua.dk>
6301
6302 * lisp.h (GLYPH): Change type from int to struct with separate char
6303 and face_id members.
6304 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
6305 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
6306 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
6307 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
6308 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
6309 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
6310 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
6311 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
6312 handle new Lisp glyph code encoding, either an integer or a cons.
6313
6314 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
6315 (GLYPH_ALIAS): Delete.
6316 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
6317 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
6318 (GLYPH_FROM_CHAR): Replace macro by ...
6319 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
6320
6321 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
6322 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
6323 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
6324 (GLYPH_INVALID_P): New macro.
6325 (spec_glyph_lookup_face): Update prototype.
6326
6327 * dispnew.c (line_draw_cost): Adapt to new glyph type.
6328 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
6329 new glyph code encoding.
6330 (spec_glyph_lookup_face): No return value; update passed glyph instead.
6331 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
6332
6333 * xdisp.c (get_next_display_element, next_element_from_display_vector):
6334 Adapt to new glyph type and new glyph code encoding.
6335
6336 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
6337
6338 * indent.c (current_column, current_column_1, Fmove_to_column)
6339 (compute_motion): Adapt to new glyph code encoding.
6340
6341 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
6342
af2080a2
CY
63432008-02-27 Chong Yidong <cyd@stupidchicken.com>
6344
6345 * process.c (wait_reading_process_output): Check for window
6346 changes caused by timers.
880820fe 6347 Suggested by Johan Bockgård.
af2080a2 6348
253ed25e
GM
63492008-02-27 Glenn Morris <rgm@gnu.org>
6350
6351 * emacs.c (USAGE1): Add `--disable-font-backend'.
6352
18a9f8d9
SM
63532008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
6354
6355 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
6356 is made to the buffer.
6357
0f8b27ea
SM
63582008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
6359
6360 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
6361 (face_at_string_position):
6362 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
6363 (face_at_string_position):
6364 * xdisp.c (display_string, next_overlay_change):
6365 * buffer.h (overlays_at):
6366 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
6367 Update callers.
6368
4e7c53ca
CY
63692008-02-26 Chong Yidong <cyd@stupidchicken.com>
6370
6371 * editfns.c (Fformat): Doc fix.
6372
51c01100
JB
63732008-02-26 Juanma Barranquero <lekktu@gmail.com>
6374
6375 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
6376 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
6377 (Ffont_otf_alternates, Fquery_font): Doc fixes.
6378
13cda5f9
SM
63792008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6380
6381 * buffer.c (Fbuffer_swap_text): New function.
6382 (syms_of_buffer): Defsubr it.
6383
8018d430
CY
63842008-02-25 Chong Yidong <cyd@stupidchicken.com>
6385
6386 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
6387
9bde1a21
JR
63882008-02-25 Jason Rumney <jasonr@gnu.org>
6389
6390 * w32font.c (w32font_draw): Draw one character at a time when padding.
6391
eeca6f6f
SM
63922008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
6393
6394 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
6395 Handle a nil arg. Use run_window_configuration_change_hook.
6396 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
6397 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
6398 Use run_window_configuration_change_hook.
6399
ec1c4354
KH
64002008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6401
6402 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
6403 1-pixel width.
6404
ae185452
KH
64052008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
6406
6407 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
6408 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
6409 if the glyph in the font is zero pixel with.
6410
6411 * dispextern.h (struct glyph_string): New member padding_p.
6412
6413 * w32font.c (w32font_draw): Pay attention to s->padding_p.
6414
6415 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
6416
6417 * xfont.c (xfont_draw): Pay attention to s->padding_p.
6418
6419 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
6420
eeca6f6f 6421 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 6422
ffe832ea 64232008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 6424
ffe832ea 6425 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 6426
06045130
SM
64272008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
6428
6429 Allow fine-grained image-cache flushing.
6430 * dispextern.h (struct image): Add `dependencies' field.
6431 (clear_image_caches): Change arg to Lisp_Object.
6432 * image.c (make_image): Initialize `dependencies' field.
6433 (clear_image_cache): Change arg to allow fine-grained flushing.
6434 Perform the flush even if image-cache-eviction-delay is nil.
6435 (clear_image_caches): Change arg to Lisp_Object.
6436 (Fclear_image_cache): Expand meaning of the argument.
6437 (mark_image): Mark `dependencies' field.
6438 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
6439 (lface_hash): Use XHASH rather than XFASTINT.
6440 (face_at_buffer_position): Fix int -> EMACS_INT position.
6441 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
6442 (select_frame_for_redisplay): Remove code duplication.
6443 (redisplay_internal): Adapt arg to call to clear_image_caches.
6444
9d2818d6
DN
64452008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
6446
6447 * s/vms4-0.h:
6448 * s/vms4-2.h:
6449 * s/vms4-4.h:
6450 * s/vms5-5.h: Remove, unused.
6451
6452 * s/irix5-2.h:
6453 * s/irix6-0.h:
6454 * s/riscos5.h:
6455 * s/mach-bsd4-3.h:
2a2e8de7 6456 * m/mips4.h: Remove files for obsolete systems.
9d2818d6
DN
6457
6458 * Makefile.in:
6459 * filelock.c:
6460 * unexmips.c:
6461 * m/hp9000s300.h:
6462 * m/iris4d.h:
6463 * s/aix3-1.h:
6464 * s/hpux.h:
6465 * s/msdos.h:
6466 * s/usg5-0.h:
6467 * s/usg5-2-2.h:
6468 * s/usg5-2.h:
6469 * s/usg5-3.h: Remove references to obsolete variables.
6470
6471 * s/irix5-0.h: Remove, move all the contents ...
6472 * s/irix6-5.h: ... here. Simplify.
6473 * config.in: Regenerate.
6474
2a36efcf
JR
64752008-02-24 Jason Rumney <jasonr@gnu.org>
6476
c5ad7a3d 6477 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
6478 manually when cleartype is in use.
6479 (x_draw_glyph_string_foreground): Draw text transparently when
6480 cleartype is in use.
6481
2a36efcf
JR
6482 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
6483 a font into it unless we have to.
6484
b03f96dc 64852008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 6486
b03f96dc
MB
6487 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
6488 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 6489
b03f96dc 64902008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 6491
b03f96dc 6492 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 6493
b03f96dc 64942008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 6495
b03f96dc 6496 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 6497
b03f96dc 64982008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 6499
b03f96dc 6500 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 6501
d5958163
CY
65022008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
6503
6504 * xterm.c (x_set_offset): Don't change the gravity if
6505 CHANGE_GRAVITY is -1.
6506
9997701e
CY
65072008-02-23 Chong Yidong <cyd@stupidchicken.com>
6508
6509 * fileio.c (auto_save_error_occurred): New var.
6510 (auto_save_error): Set it.
6511 (Fdo_auto_save): Don't overwrite the error message if an auto-save
6512 error occurred.
6513
9d95a291
EZ
65142008-02-23 Eli Zaretskii <eliz@gnu.org>
6515
6516 * w32.c (globals_of_w32): Add initializations for
6517 g_b_init_get_sid_sub_authority and
6518 g_b_init_get_sid_sub_authority_count.
6519
43d1af23
SM
65202008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
6521
43a1d19b
SM
6522 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
6523 (font_parse_xlfd): Use them for sanity check.
608c3307 6524 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 6525
354884c4
SM
6526 Consolidate the image_cache to the terminal struct.
6527 * termhooks.h (P_): Remove redundant def.
6528 (struct terminal): New field `image_cache'.
6529 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
6530 of FRAME_X_IMAGE_CACHE.
6531 * xterm.h (struct x_display_info): Remove image_cache field.
6532 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6533 * w32term.h (struct w32_display_info): Remove image_cache field.
6534 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6535 * macterm.h (struct mac_display_info): Remove image_cache field.
6536 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
6537 * xterm.c (x_term_init):
6538 * w32term.c (w32_term_init):
6539 * macterm.c (mac_term_init): Set the image_cache in the terminal.
6540 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
6541 Remove declarations.
6542 (clear_image_caches, mark_image_cache): New declarations.
6543 * xfaces.c (clear_face_cache):
6544 * xdisp.c (redisplay_internal): Use clear_image_caches.
6545 * image.c (clear_image_cache): Don't check that a frame is on
6546 a window-system before checking if it shares the same cache.
6547 (clear_image_caches): New function.
6548 (Fclear_image_cache): Use it.
6549 (mark_image): Move from allo.c.
6550 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
6551 * alloc.c (mark_image, mark_image_cache): Move to image.c.
6552 (mark_object): Don't call mark_image_cache for frames.
6553 (mark_terminals): Call mark_image_cache.
6554
c2e42690
SM
6555 * lisp.h (Fdelete_terminal): Declare.
6556
43d1af23
SM
6557 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
6558 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
6559 wrong_type_argument.
6560
cc8d1311
KH
65612008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
6562
6563 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 6564 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 6565
6bd92640
SM
65662008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
6567
6568 * xterm.c (x_connection_closed): Consolidate identical tests.
6569 (x_delete_terminal): Don't crash if called via x_connection_closed.
6570
a73b5627
KH
65712008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
6572
6573 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 6574 (display_mode_element): Adjust for the above change.
a73b5627 6575
1b511542
SM
65762008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6577
6578 * callint.c (Fcall_interactively): Use AREF.
6579
81aefea4
SM
65802008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
6581
6582 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
6583
880820fe 65842008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
6585
6586 * xfns.c (Fx_show_tip): Set string to " " if empty.
6587
a2b84f35
DN
65882008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
6589
6590 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
6591 with Qt.
6592
43c0454d
KH
65932008-02-17 Kenichi Handa <handa@m17n.org>
6594
6595 * ftfont.c (ftfont_shape): Return Lispy number.
6596
6597 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
6598 for GCs.
6599 (Finternal_set_font_selection_order): Call font_update_sort_order
6600 only when enable_font_backend is set.
6601 (realize_x_face): Set face->font_info to that of default face only
6602 when enable_font_backend is set.
6603
6604 * xdisp.c (handle_composition_prop): Set it->c to the fist
10d1d0af 6605 character of the composed region.
43c0454d
KH
6606 (fill_composite_glyph_string): Set base_face->font_info to
6607 s->font_info. Get a face for ascii from base_face->ascii_face.
6608 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
6609 with a face already decided.
6610 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
6611 non-negative.
978bef9a
JB
6612 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
6613 call font_prepare_composition unconditionally.
43c0454d 6614
978bef9a 6615 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
6616
6617 * xterm.h (struct x_display_info): New member font.
6618
6619 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
6620 (x_set_mouse_face_gc, x_new_font): Likewise.
6621 (x_term_init): Setup display_info->font.
6622 (x_delete_terminal): Free display_info->font.
6623
6624 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
6625
6626 * ftxfont.c (ftxfont_default_fid): Delete it.
6627 (ftxfont_open): Set xfont->fid to 0.
978bef9a 6628 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
6629 font-driver.
6630
6631 * xftfont.c (xftfont_default_fid): Delete it.
6632 (xftfont_open): Set xfont->fid to 0.
6633
6634 * fontset.c (FONTSET_OBJLIST): New macro.
6635 (fontset_find_font): Update font-object list of the fontset.
6636 (free_realized_fontset): New function.
6637 (free_face_fontset): Call free_realized_fontset.
6638 (Ffont_info): Call font_close_object only when enable_font_backend
6639 is set.
6640
6641 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
6642 [HAVE_NTGUI]: Include w32term.h.
6643 [MAC_OS]: Include macterm.ch.
6644 (font_otf_ValueRecord): Use make_number.
6645 (font_finish_cache): Fix handling of reference count.
6646 (font_clear_cache): Update num_fonts.
6647 (font_open_entity): Update smallest_char_width and
6648 smallest_font_height of the frame.
6649 (font_close_object): Update num_fonts.
6650 (Fclear_font_cache): Fix finding the target cache data.
6651
be617367
GM
66522008-02-16 Glenn Morris <rgm@gnu.org>
6653
6654 * fontset.c (Finternal_char_font): Fix compilation warning.
6655
2930d117
EZ
66562008-02-16 Eli Zaretskii <eliz@gnu.org>
6657
634d3003
EZ
6658 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
6659 instead of char arrays. Enlarge the size of array passed to
6660 get_token_information.
6661
2930d117
EZ
6662 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
6663 warnings.
6664
79214046
DN
66652008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
6666
6667 * .gdbinit: Don't set `args', it breaks gdb --args.
6668
7f5d2c72
SM
66692008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
6670
6671 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
6672 within a narrowed buffer.
6673
6edacc43
KH
66742008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
6675
b270d6af
JB
6676 * coding.c (decode_coding_object, encode_coding_object):
6677 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 6678
174105f7
SM
66792008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
6680
b270d6af
JB
6681 * coding.c (coding_set_destination): Use BEG_BYTE rather than
6682 hardcoding 1.
13818c30
SM
6683 (detect_coding_system):
6684 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
6685 (string_char_to_byte, string_byte_to_char, insert_from_gap):
6686 * insdel.c (insert_from_gap):
6687 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
6688 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
6689 (string_to_multibyte):
6690 * character.c (chars_in_text, multibyte_chars_in_text):
6691 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
6692
f1c99628
SM
6693 * character.h (FETCH_STRING_CHAR_ADVANCE)
6694 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
6695 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
6696 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
6697
7927d8e3
SM
6698 * casefiddle.c (casify_region): Only call after-change and composition
6699 functions on the part of the region that was changed.
6700
adf6a429 6701 * keyboard.c (read_avail_input):
174105f7
SM
6702 * frame.c (Fdelete_frame): Call Fdelete_terminal.
6703
3ee24aec
SM
67042008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6705
6706 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
6707 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
6708
4ed4b975
JB
67092008-02-11 Juanma Barranquero <lekktu@gmail.com>
6710
6711 * w32menu.c (push_submenu_start, push_submenu_end)
6712 (push_left_right_boundary, push_menu_pane, push_menu_item):
6713 * keyboard.c (read_key_sequence): Don't pass args with side effects
6714 to AREF, it fails when compiling with -DENABLE_CHECKING.
6715
79e3bfb8
KH
67162008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
6717
4ed4b975
JB
6718 * Makefile.in (${lispsource}international/charprop.el):
6719 Delete this target.
6e76043f 6720
79e3bfb8
KH
6721 * search.c (boyer_moore): Fix incorrect synching of the trunk and
6722 emacs-unicode-2.
6723
5b8de9c5
SM
67242008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
6725
6726 * terminal.c (Fdelete_terminal): Clean up the `force' path.
6727
eac1939a
SM
67282008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6729
c53956fe
SM
6730 * frame.c (Qnoelisp): New symbol.
6731 (syms_of_frame): Initialize it.
10d1d0af
JB
6732 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
6733 harmless Elisp code, from a strong `force' from x_connection_closed.
c53956fe
SM
6734 * frame.h (Qnoelisp): Declare.
6735 * xterm.c (x_connection_closed): Pass `noelisp'.
6736
eac1939a
SM
6737 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
6738 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
6739 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
6740 rather than `int' for the type of `type'.
6741
13f6772b
DN
67422008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
6743
6744 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
6745
6746 * Makefile.in (GNUC): Remove support for gcc-1.x.
6747
e8455367
RS
67482008-02-10 Richard Stallman <rms@gnu.org>
6749
6750 * lisp.h (ASET): Use AREF, not ASLOT.
6751
4b75ffab
SM
67522008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
6753
6754 * lisp.h (ASET): Check bounds.
6755
d224e8c2
GM
67562008-02-10 Glenn Morris <rgm@gnu.org>
6757
6758 * buffer.c (mode-name): Doc fix.
6759
4624371d
DN
67602008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6761
290afd83
JB
6762 * Makefile.in:
6763 * emacs.c:
6764 * gmalloc.c:
6765 * keyboard.c:
6766 * lisp.h:
6767 * m/ibm370aix.h:
6768 * process.c:
6769 * regex.c:
6770 * s/hpux.h:
6771 * sysdep.c:
6772 * sysselect.h:
6773 * systty.h:
6774 * unexec.c:
6775 * w32term.c:
6776 * xsmfns.c:
6777 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
6778
6779 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
6780
6781 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
6782 nothing else needs it anymore.
6783
274ec34b
EZ
67842008-02-09 Eli Zaretskii <eliz@gnu.org>
6785
6786 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
6787 instead of unibyte_char_to_multibyte.
6788
deeaffe1
DN
67892008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
6790
6791 * s/gnu-linux.h: Remove commented out code.
6792
4ed4b975 6793 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
6794
6795 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 6796 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
c3f9fba8 6797 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
deeaffe1
DN
6798 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
6799 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
6800
68b587a6
SM
68012008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
6802
9141ca5e
SM
6803 * keymap.c (Fkey_description): Move side effect outside of macro call.
6804
dfae5f9a 6805 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
6806 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
6807
ff7a2223
SM
6808 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
6809 (syms_of_fontset): Use ASET.
6810
68b587a6
SM
6811 * fns.c (concat): Move side effect outside of macro call.
6812 (hash_clear): Use ASET.
6813
a31787b1
RS
68142008-02-08 Richard Stallman <rms@gnu.org>
6815
6816 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
6817 If FORCE, and frame has a surrogate minibuffer for another frame,
6818 delete the other frame first.
6819
987be29b 68202008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
6821
6822 * xterm.c (x_detect_focus_change): Handle embed client message.
6823 (handle_one_xevent): Ditto.
6824 (handle_one_xevent): If embedded and we get a button press/release,
6825 request focus.
6826 (xembed_set_info, xembed_send_message): New functions.
6827 (x_make_frame_visible): Call xembed_set_info if embedded.
6828 (x_make_frame_invisible): Call xembed_set_info if embedded.
6829 (x_term_init): Initialize Xatom_XEMBED.
6830 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
6831 (x_iconify_frame): Ditto.
6832
6833 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
10d1d0af 6834 (enum xembed_info, enum xembed_message, enum xembed_focus)
1540a61a
JD
6835 (enum xembed_modifier, enum xembed_accelerator): New.
6836 (xembed_set_info, xembed_send_message): Declare.
6837 (FRAME_X_EMBEDDED_P): New.
6838
6839 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
6840 gtk_plug_new.
6841
6842 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
6843 window ID of a frame.
6844 (x_window): Reparent frame if embedded.
6845 (Fx_create_frame): Don't set border width if embedded.
6846
1f204af3 6847 * emacs.c (USAGE3): Add --parent-id.
1540a61a
JD
6848 (standard_args): Ditto.
6849
880820fe 68502008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
6851
6852 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
6853
92413ef3
JD
68542008-02-07 Jim Meyering <meyering@redhat.com>
6855
6f69e89b 6856 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
6857 The latter provokes a warning from gcc about the empty else, when
6858 followed by ";". Also, without that trailing semicolon, it would
6859 silently swallow up any following statement.
c3f9fba8 6860 * syntax.h (SETUP_SYNTAX_TABLE)
987be29b
RF
6861 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
6862 * buffer.h (DECODE_POSITION): Likewise.
6863 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
6864 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
6865 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
6866 (FETCH_CHAR_ADVANCE): Likewise.
6867 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 6868
03fa5713
GM
68692008-02-07 Jim Meyering <meyering@redhat.com>
6870
6871 * lread.c [lint]: Don't include <sys/inode.h>.
6872
3ae565b3
SM
68732008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
6874
6875 * xselect.c (x_handle_dnd_message):
6876 * xmenu.c (digest_single_submenu, xmenu_show):
6877 * xdisp.c (with_echo_area_buffer_unwind_data)
6878 (format_mode_line_unwind_data, unwind_format_mode_line)
6879 (display_menu_bar):
6880 * eval.c (Ffetch_bytecode):
6881 * doc.c (store_function_docstring):
6882 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
6883 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
6884 * buffer.c (add_overlay_mod_hooklist): Use ASET.
6885
146b6e55
KH
68862008-02-07 Kenichi Handa <handa@m17n.org>
6887
6888 * ftxfont.c (ftxfont_open): Don't set
6889 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
6890
6891 * ftfont.c (ftfont_open): Fix previous change.
6892
46a923ac
JR
68932008-02-06 Jason Rumney <jasonr@gnu.org>
6894
6895 * w32font.c (w32font_text_extents): Fill in lbearing metric.
6896 Use cached metrics for ASCII characters.
3ae565b3
SM
6897 (w32font_open_internal): Don't set font's owning_frame.
6898 Cache metrics for ASCII characters.
46a923ac
JR
6899
6900 * w32font.h (struct w32font_info): Add ascii_metrics.
6901 Remove owning_frame.
6902
da7d7c21
KH
69032008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
6904
6905 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
6906 to negative value.
6907
6908 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
6909
3ae565b3 6910 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
6911
6912 * charset.c (syms_of_charset): Set QCtest and Qeq.
6913
c62c8ddb
SM
69142008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
6915
ca319910
SM
6916 * process.c (Fstart_process):
6917 * callproc.c (Fcall_process): Handle the case where
6918 Funhandled_file_name_directory returns nil.
6919
76860cbb
SM
6920 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
6921 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
6922 * font.c (check_gstring): Use them and AREF to access the vector before
6923 we know it's really a gstring.
6924 (Ffont_shape_text): Fix typo.
6925 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 6926
15139d67
SM
6927 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
6928 Declare.
6929
c62c8ddb
SM
6930 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
6931
04b65d2b
JR
69322008-02-05 Jason Rumney <jasonr@gnu.org>
6933
6934 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
6935 Set smallest_font_height and smallest_char_width in display info.
6936
fccaebfd
KH
69372008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
6938
6939 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
6940
e7d7fd8c
MB
69412008-02-05 Miles Bader <miles@gnu.org>
6942
6943 * xfaces.c (get_lface_attributes, merge_named_face)
6944 (lookup_named_face, lookup_derived_face, realize_named_face):
6945 Revert 2008-02-01 change by cyd@stupidchicken.com.
6946
3d4448a8
KH
69472008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
6948
6949 * fontset.c (Ffontset_info): Handle the case of inhibitting the
6950 fallback fonts.
15139d67 6951 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 6952
5ace1ec1
JR
69532008-02-04 Jason Rumney <jasonr@gnu.org>
6954
6955 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
6956 set full_name.
e3a77b22 6957 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 6958
ffe42183
JR
69592008-02-03 Jason Rumney <jasonr@gnu.org>
6960
6961 * makefile.w32-in (OBJ1): Include font.o here.
6962 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
6963
526dc3b3
JR
69642008-02-02 Jason Rumney <jasonr@gnu.org>
6965
a0fece35 6966 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 6967
af805c82
JR
69682008-02-01 Jason Rumney <jasonr@gnu.org>
6969
6970 * s/cygwin.h: Define VIRT_ADDR_VARIES.
6971
6972 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
6973
7f6519c5
AS
69742008-02-01 Andreas Schwab <schwab@suse.de>
6975
1f45f627 6976 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 6977 ../lisp/language/myanmar.el.
7f6519c5 6978
26f8aa27
CY
69792008-02-01 Chong Yidong <cyd@stupidchicken.com>
6980
1f45f627 6981 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
6982 (merge_named_face, lookup_named_face, lookup_derived_face)
6983 (realize_named_face): Call lface_from_face_name directly, and use
6984 the fact that merge_face_vectors does not alter its FROM argument.
6985
73acf815 69862008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
6987
6988 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 6989 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 6990
73acf815 69912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
6992
6993 * fontset.c (reorder_font_vector): Exclude nil elements from the
6994 font group. Don't try multiple fonts.
15139d67 6995 (fontset_font): Adjust for the above change.
aca7a3d2
MB
6996 (Finternal_char_font): Return nil if the found font doesn't
6997 contain the character ch.
6998
4c4475a8 6999 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 7000
73acf815 70012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7002
7003 * font.h (FONTP): Make it return 1 also for a font-object.
7004
7005 * .gdbinit (xfontset): New function.
7006
7007 * font.c (font_find_for_lface): Check if the character C is
7008 supported or not only for the first font.
7009
7010 * fontset.c (reorder_font_vector): Fix typo.
7011 (fontset_find_font): Don't add a font-spec specifying a script.
7012 Use 0 (not Qt) for the indication of empty font-group. Change the
7013 format of RFONT-DEF. Return Qt if no font in the font-group
7014 support the character.
15139d67 7015 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 7016 found the character, remember that.
15139d67 7017 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
7018 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
7019 no font for the target.
15139d67 7020 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 7021
73acf815 70222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7023
7024 * font.c (font_load_for_face): Handle the case that the font in
7025 face->lface is a string.
7026
73acf815 70272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7028
1f45f627 7029 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 7030
73acf815 70312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7032
7033 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
7034 Fix previous change. If the frame is not on a window system,
7035 signal an error.
7036
73acf815 70372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7038
4c4475a8
GM
7039 * coding.c (decode_coding_object, encode_coding_object): Adjust
7040 marker positions after conversion.
aca7a3d2
MB
7041
7042 * lisp.h (struct Lisp_Marker): New member need_adjustment.
7043
73acf815 70442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7045
7046 * font.c (font_find_for_lface): Fix the handling of the return
7047 value of font_has_char.
7048 (Ffont_shape_text): Fix previous change.
7049
7050 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
7051 (fontset_ref_and_range): Delete it.
7052 (fontset_find_font): Call char_table_ref_and_range instead of
7053 FONTSET_REF_AND_RANGE.
7054 (make_fontset): Don't setup font groups of Latin here.
7055 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
7056 (new_fontset_from_font): Make the specified font the default for
7057 all Latin characters.
7058
73acf815 70592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7060
7061 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
7062 is on a window system before accessing the fontset of the frame.
7063
73acf815 70642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7065
1f45f627 7066 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
7067
7068 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
7069 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
7070
7071 * font.c (Ffont_shape_text): If the font driver doesn't have a
7072 shaper function, make zero-width glyphs to have at least one-pixel
7073 width. Fix setting of `to' field of glyphs.
7074
73acf815 70752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7076
7077 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
7078 glyphs.
7079
1f45f627 7080 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 7081
73acf815 70822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7083
7084 * composite.c (syms_of_composite): Fix docstring of
7085 auto-composition-function.
7086
7087 * font.h (LGLYPH_SIZE): New macro.
7088
7089 * font.c (Ffont_fill_gstring): Stop filling when a character not
7090 supported by the font is found.
7091 (Ffont_shape_text): When a shape callback function returns nil,
7092 try at most two more times with larger gstring.
15139d67 7093 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
7094
7095 * xdisp.c (handle_auto_composed_prop): Change the argument to
7096 auto-composition-function.
7097
7098 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
7099 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
7100 Lispy glyph and store it in the lgstring.
7101
7102 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
7103
7104 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
7105
73acf815 71062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7107
7108 * font.c (Ffont_shape_text): Avoid unnecessary composition.
7109
7110 * fontset.c (Vfont_encoding_charset_alist): New variable.
7111 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
7112 (reorder_font_vector, fontset_find_font): Optimize for the case of
7113 no need of reordering.
aca7a3d2
MB
7114 (face_for_char): Map the charset property by
7115 Vfont_encoding_charset_alist.
7116
73acf815 71172008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7118
7119 * w32font.c (logfonts_match): Don't check adstyle here.
7120 (font_matches_spec): Check here against physical font instead.
7121 (add_font_entity_to_list): Avoid some substitutions.
7122
7123 * font.c (font_parse_fcname): Default weight and slant to normal.
7124 (font_score): Prefer normal fonts if weight or slant unspecified.
7125 (font_score) [WINDOWSNT]: Scale weight difference down to closer
7126 match freetype scores.
7127
73acf815 71282008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7129
7130 * w32font.c (w32font_text_extents): Don't use the frame stored in the
7131 font, as it may have been deleted.
7132 (w32_enumfont_pattern_entity): Map generic family to adstyle using
7133 most common hyphenless variation.
7134 (logfonts_match): Check generic family.
7135 (font_matches_spec): Don't check generic family here.
7136 (fill_in_logfont): Set generic family based on adstyle.
7137
7138 * w32font.h (w32font_get_cache): Update declaration.
7139
73acf815 71402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7141
7142 * ftfont.c (ftfont_get_cache): Adjust the argument type.
7143
15139d67 7144 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
dde8403f 7145 If none of the new drivers are available, call font_update_drivers
aca7a3d2
MB
7146 with the old drivers.
7147
7148 * w32font.c (w32font_get_cache): Adjust the argument type.
7149
7150 * xfont.c (xfont_get_cache): Adjust the argument type.
7151
7152 * font.h (struct font_driver): Change argument type of get_cache.
7153
7154 * xftfont.c (xftfont_start_for_frame): Delete prototype.
7155
7156 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 7157 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 7158 (font_clear_cache): New function.
4c4475a8 7159 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 7160 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
7161
7162 * fontset.c (fontset_find_font): Fix previous change.
7163
73acf815 71642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7165
7166 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
7167 dpyinfo->font_table.
7168 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 7169 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
7170
7171 * font.c (font_at): Handle the case that the arg C is negative.
7172 Handle the unibyte case.
7173 (Ffont_at): Call font_at with the arg C -1.
7174
7175 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
7176 the position here, and call font_at with the arg C -1.
7177 Don't check the range of the existing composition at the point.
aca7a3d2 7178
73acf815 71792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7180
15139d67 7181 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 7182 Change caller.
4c4475a8
GM
7183 (load_font_get_repertory, fontset_find_font): Assume that
7184 font_spec is always a font-spec object.
aca7a3d2
MB
7185 (Fset_fontset_font): Always store a font-spec object in a fontset.
7186
7187 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
7188 instead of get_property_and_range.
7189
73acf815 71902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7191
7192 * xftfont.c (struct xftfont_info): Delete the member ft_face.
7193 (xftfont_open): Don't keep locking face.
7194 (xftfont_close): Don't unlock face.
4c4475a8 7195 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
7196
7197 * fontset.c (fontset_find_font): Don't prefer a font of
7198 supplementary charset.
7199
73acf815 72002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7201
1f45f627
GM
7202 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
7203 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
7204 (OTF_TAG_STR): Terminate by '\0'.
7205 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
7206 listing to the script specified in that property. Fix arg to
7207 OTF_check_features.
7208
73acf815 72092008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7210
7211 * w32font.h: New file.
7212
7213 * w32font.c: Include it.
7214 (struct w32font_info): Add owning_frame field. Move to w32font.h.
7215 (w32font_open): Set owning_frame.
7216 (w32font_text_extents): Use owning_frame.
7217 (struct font_callback_data): Add opentype_only field.
7218 (add_font_entity_to_list): Use it to filter fonts.
7219 Don't check against full name.
7220 (w32font_list_internal): New function.
7221 (w32font_list): Use it.
7222 (w32font_match_internal): New function.
7223 (w32font_match): Use it.
7224 (w32font_open_internal): New function.
7225 (w32font_open): Use it.
7226 (w32font_get_cache, w32font_close, w32font_has_char)
7227 (w32font_encode_char, w32font_text_extents, w32font_draw):
7228 Make non-static.
7229
7230 * makefile.w32-in (w32font.o): Depend on w32font.h.
7231
73acf815 72322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7233
7234 * charset.c (Fdefine_charset_internal): Record a supplementary
7235 charset at the tail of Vcharset_order_list.
7236
7237 * font.c (Ffont_shape_text): Fix the return value.
7238
7239 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
7240
7241 * xdisp.c (handle_auto_composed_prop): Fix previous change.
7242
73acf815 72432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7244
7245 * ftfont.c (struct OpenTypeSpec): New struct.
7246 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
7247 (ftfont_get_open_type_spec): New function.
7248 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
7249
15139d67 7250 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 7251
73acf815 72522008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7253
7254 * w32font.c (add_font_entity_to_list): Compare only the beginning
7255 of full name.
7256
73acf815 72572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7258
15139d67
SM
7259 * xdisp.c (handle_auto_composed_prop): Simplify the code.
7260 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 7261
73acf815 72622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7263
7264 * font.c (font_gstring_produce): Delete it.
7265
15139d67
SM
7266 * composite.h (COMPOSITION_METHOD):
7267 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 7268
73acf815 72692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7270
15139d67 7271 * xfont.c (Qx): Delete.
aca7a3d2
MB
7272 (syms_of_xfont): Don't initialize Qx.
7273
15139d67
SM
7274 * composite.h (enum composition_method):
7275 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 7276
73acf815 72772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7278
7279 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
7280 (choose_face_font): Accept new form of font-spec.
7281
7282 * frame.h (font_driver_list): Declare it unconditionally.
7283 (struct frame): Define members font_driver_list and font_data_list
7284 unconditionally.
7285
7286 * fontset.c: Include "font.h" unconditionally.
15139d67 7287 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
7288 (Fset_fontset_font): Accept a font-spec object.
7289
7290 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
7291 PIXEL_SIZE part a wild card.
7292
7293 * dispextern.h (struct glyph_string): Define members clip and
7294 num_clips unconditionally.
7295 (struct face): Define members font_info and extra unconditionally.
7296
7297 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
7298 ftfont_info only when HAVE_LIBOTF is defined.
7299
73acf815 73002008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7301
7302 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
7303 and end.
7304
73acf815 73052008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7306
7307 * w32font.c (w32font_driver): Add new fields.
7308
73acf815 73092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 7310
aca7a3d2
MB
7311 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
7312 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
7313 (LIBES): Add @M17N_FLT_CFLAGS@.
7314
7315 * composite.c (compose_text): Don't treat the new style
7316 composition specially.
7317
7318 * emacs.c (main): Call syms_of_font unconditionally.
7319
7320 * font.h (FONT_ENTITY_NOT_LOADABLE)
7321 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 7322 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 7323 (struct font_driver): New member shape.
1f45f627 7324 (font_registry_charsets): Extern it.
4c4475a8 7325 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
7326 (font_otf_capability, font_drive_otf): Delete their externs.
7327
7328 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
7329 (font_charset_alist, font_registry_charsets): Move from xfont.c
7330 and rename.
aca7a3d2
MB
7331 (font_prop_validate_otf): New function.
7332 (font_property_table): Register it for QCotf.
7333 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 7334 (font_drive_otf): Delete.
1f45f627 7335 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
7336 lispy gstring.
7337 (font_find_for_lface): New arg C.
15139d67 7338 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
7339 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
7340 lispy gstring.
aca7a3d2
MB
7341 (Ffont_shape_text): New function.
7342 (Fopen_font): If the font size is not given, use 12-pixel.
7343 (Ffont_at): New arg STRING.
15139d67
SM
7344 (syms_of_font): Initalize font_charset_alist.
7345 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
7346 conditionally.
7347
7348 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
7349 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
7350 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
7351 Adjust for the change of RFONT-DEF.
15139d67 7352 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
7353
7354 * ftfont.h: New file.
7355
7356 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
7357 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
7358 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7359 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
7360 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 7361 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
7362 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
7363 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
7364 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1f204af3 7365 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
aca7a3d2
MB
7366 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
7367 (otf_gstring, gstring, m17n_flt_initialized): New variables.
7368
15139d67
SM
7369 * w32term.c (x_draw_composite_glyph_string_foreground):
7370 Adjust for the change of lispy gstring.
aca7a3d2 7371
15139d67 7372 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 7373 lispy gstring. Call a function for auto-composition with the
15139d67
SM
7374 third arg it->window.
7375 (fill_composite_glyph_string): Adjust for the change of lispy string.
7376 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 7377
15139d67 7378 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
7379 font_find_for_lface.
7380
1f45f627
GM
7381 * xfont.c (x_font_charset_alist): Move to font.c and rename.
7382 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
7383 (syms_of_xfont): Don't handle x_font_charset_alist.
7384
7385 * xftfont.c: Include "ftfont.h".
15139d67 7386 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
7387 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
7388 (xftfont_close) [HAVE_LIBOTF]: Close otf.
7389 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
7390 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
7391 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 7392
15139d67 7393 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
7394 the change of lispy gstring.
7395
73acf815 73962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7397
7398 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
7399
73acf815 74002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7401
7402 * w32font.c (w32font_draw): Fill background manually.
7403
73acf815 74042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7405
7406 * font.c (Qfontp): Remove unused symbol.
7407 (QCantialias): New symbol.
7408 (syms_of_font): Define it.
7409 (font_property_table): Set a validator for QCantialias.
7410
15139d67
SM
7411 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
7412 Define if not already.
aca7a3d2
MB
7413 (QCfamily): Share with xfaces.c.
7414 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 7415 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
7416 (w32_antialias_type, lispy_antialias_type): New functions.
7417 (w32_enumfont_pattern_entity): New arg requested_font.
7418 Set antialias parameter if non-default was requested.
7419 (fill_in_logfont): Fill in lfQuality if :antialias specified.
7420
73acf815 74212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7422
7423 * lread.c (read1): Undo the previous change.
7424
73acf815 74252008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
7426
7427 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 7428 USE_FONT_BACKEND is defined.
aca7a3d2 7429
73acf815 74302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7431
7432 * font.h (struct font_bitmap): New member bits_per_pixel.
7433 (struct font_driver): New members start_for_frame and end_for_frame.
7434 (struct font_data_list): New struct.
7435 (font_put_frame_data, font_get_frame_data): Extern them.
7436
7437 * frame.h (struct frame): New member font_data_list.
7438
7439 * font.c (font_update_drivers): Call driver->start_for_frame and
7440 driver->end_for_frame at proper timings.
7441 (font_put_frame_data, font_get_frame_data): New functions.
7442 (Ffont_spec): Add usage in the docstring.
7443
7444 * frame.c (make_frame): Initialize f->font_data_list to NULL.
7445 (Fdelete_frame): Call font_update_drivers.
7446
7447 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 7448 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
7449 (xftfont_get_xft_draw): New function.
7450 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
7451 (xftfont_end_for_frame): New function.
7452 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
7453
15139d67 7454 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 7455 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
7456 (struct ftxfont_frame_data): New struct.
7457 (ftxfont_draw_bitmap): New arg gc_fore and flush.
7458 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 7459 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
7460 (ftxfont_end_for_frame): New function.
7461 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
7462
7463 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
7464
73acf815 74652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7466
7467 * xselect.c (Vselection_coding_system)
7468 (Vnext_selection_coding_system): Delete them.
7469 (syms_of_xselect): Don't declare selection-coding-system and
7470 next-selection-coding-system. They are declared in select.el.
7471
73acf815 74722008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7473
7474 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
7475
7476 * w32fns.c: Include imm.h.
7477 (get_composition_string_fn, get_ime_context_fn): New optional
7478 system functions.
7479 (globals_of_w32fns): Load them from imm32.dll.
7480 (ignore_ime_char): New flag.
7481 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
7482 WM_IME_ENDCOMPOSITION messages.
7483
7484 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
7485 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
7486
73acf815 74872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7488
7489 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
7490 (READCHAR_REPORT_MULTIBYTE): New macro.
7491 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
7492 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
7493 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
7494 source.
7495
73acf815 74962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7497
7498 * xfaces.c (face_for_overlay_string): Call lookup_face with
7499 correct arguments (fix of synching with the trunk).
7500
73acf815 75012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7502
4c4475a8
GM
7503 * font.c (font_prop_validate_symbol, font_prop_validate_style)
7504 (font_prop_validate_non_neg, font_prop_validate_spacing):
7505 Delete argument prop_index.
15139d67
SM
7506 (font_property_table): Change arguments to validater. Change Callers.
7507 (font_lispy_object): Delete.
aca7a3d2
MB
7508 (font_at): Use font_find_object instead fo font_lispy_object.
7509
73acf815 75102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
7511
7512 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
7513 and file names.
7514
73acf815 75152008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7516
7517 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
7518 (font_matches_spec): Remove debug output.
7519 (add_font_entity_to_list): Avoid using substituted fonts.
7520
73acf815 75212008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7522
7523 * doc.c (Fsnarf_documentation):
7524 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
7525
73acf815 75262008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 7527
290afd83 7528 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
7529 HAVE_WINDOW_SYSTEM is defined.
7530
73acf815 75312008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
7532
7533 Fix up multi-tty merge.
7534
7535 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
7536 and indentation.
7537
7538 * xfaces.c (free_realized_face, clear_face_gcs):
7539 Include font_done_for_face in the input_blocked section, just in case.
7540
7541 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
7542 (get_char_face_and_encoding): Undo last change and remove the *other*
7543 duplicate definition (i.e. keep the one that's better scoped and that
7544 includes code for the font-backend).
7545
7546 * terminal.c (create_terminal): Default keyboard_coding to
7547 `no-conversion' and terminal_coding to `undecided'.
7548
7549 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
7550
7551 * fontset.c (free_realized_fontsets): Check that the table entry does
7552 contain a fontset before trying to compare it to `base'.
7553
7554 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
7555 syms_of_charset, and syms_of_coding earlier because init_window_once
7556 now needs Vcoding_system_hash_table to be setup.
7557
7558 * coding.h (default_buffer_file_coding): Remove.
7559
7560 * coding.c (default_buffer_file_coding): Remove.
7561 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
7562 than ->symbol, and use the terminal-local coding system.
7563 (syms_of_coding): Don't setup the coding-systems that are not
7564 terminal-local.
7565 (Fdefine_coding_system_internal): Use XCAR/XCDR.
7566
7567 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
7568 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
7569
7570 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
7571 in chartab.c and were re-added here by mistake.
7572 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
7573
7574 * doc.c (Fsnarf_documentation):
7575 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
7576 src to etc.
7577
7578 * ChangeLog.10: Add mistakenly removed entry.
7579
73acf815 75802008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
7581
7582 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
7583
73acf815 75842008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7585
7586 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
7587 Add extra args to FACE_FOR_CHAR.
7588
73acf815 75892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7590
7591 * keymap.c (where_is_internal_1): If key is a cons, store the copy
7592 in sequence.
7593
4c4475a8
GM
7594 * chartab.c (map_sub_char_table, map_char_table): If the range
7595 contains just one character, call the function with that character
7596 even if the depth is not 3.
aca7a3d2 7597
73acf815 75982008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7599
7600 * w32font.c (w32font_text_extents): Calculate metrics for the
7601 whole string.
7602
73acf815 76032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7604
7605 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
7606
73acf815 76072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7608
7609 * w32term.c (x_set_glyph_string_clipping): Use
7610 get_glyph_string_clip_rects.
4c4475a8
GM
7611 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7612 Adjust for the change of struct glyph_string.
aca7a3d2
MB
7613
7614 * w32font.c (w32font_draw): Do clipping here.
7615
73acf815 76162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7617
1f45f627 7618 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
7619 glyph_string.
7620
7621 * xterm.c (x_set_glyph_string_clipping): Use
7622 get_glyph_string_clip_rects.
4c4475a8
GM
7623 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
7624 Adjust for the change of struct glyph_string.
aca7a3d2
MB
7625
7626 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
7627 the resulting clip(s}.
1f45f627 7628 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
7629 row->clip temporarily.
7630 (expose_window): Redraw rows overlapping the exposed area.
7631
7632 * dispextern.h (struct glyph_row): New member clip.
7633 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
7634 clip_height, new member clip, and num_clips.
7635
73acf815 76362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7637
7638 * data.c (Fchar_or_string_p): Fix docstring.
7639
73acf815 76402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7641
7642 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
10d1d0af 7643 create a temporary XftDraw object.
aca7a3d2 7644
73acf815 76452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7646
7647 * font.c (Ffontp): Fix docstring.
7648
7649 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
7650 strong evidence of ISO-2022.
7651
73acf815 76522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7653
7654 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
7655 SYNTAX_ENTRY_FOLLOW_PARENT.
7656
73acf815 76572008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
7658
7659 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
7660 its type.
7661 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
7662 Update to the new type of weak_hash_tables and next_weak.
7663
7664 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
7665 a plain C pointer to Lisp_Hash_Table.
7666
7667 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
7668 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
7669 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
7670 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
7671 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
7672 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
7673 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
7674 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
7675 (GC_EQ): Remove since they've been identical to their non-GC_
7676 alter-egos ever since the markbit was eradicated.
7677
290afd83
JB
7678 * alloc.c:
7679 * buffer.c:
7680 * buffer.h:
7681 * data.c:
7682 * fileio.c:
7683 * filelock.c:
7684 * fns.c:
7685 * frame.h:
7686 * lisp.h:
7687 * macterm.c:
7688 * print.c:
7689 * process.c:
7690 * w32fns.c:
7691 * w32menu.c:
7692 * w32term.c:
7693 * xfns.c:
7694 * xmenu.c:
7695 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 7696
73acf815 76972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7698
7699 * chartab.c (map_sub_char_table): Make it work for the top-level
7700 char-table. Fix handling of parent char-table.
c5ad7a3d 7701 (map_char_table): Adjust for the above change.
aca7a3d2 7702
73acf815 77032008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7704
7705 * w32font.c (Qgdi): Rename from Qw32.
7706
73acf815 77072008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7708
7709 * w32bdf.c (get_quoted_string): Make function static.
7710
73acf815 77112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7712
7713 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
7714 bigger ascent and descent than those of the font, use them as
7715 font's ascent and descent.
7716
73acf815 77172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7718
7719 * Makefile.in (${lispsource}international/charprop.el): Move this
7720 target within "#ifdef HAVE_UNIDATA" and "#endif".
7721
73acf815 77222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7723
7724 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
7725 (shortlisp): Add ../lisp/language/tai-viet.el.
7726
1f45f627 77272008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
7728
7729 * Makefile.in (${lispsource}international/charprop.el): Depend on
7730 temacs${EXEEXT}.
7731
73acf815 77322008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7733
7734 * w32font.c (w32font_close): Delete the GDI font object.
7735
6f69e89b 7736 * w32menu.c: Include character.h.
aca7a3d2
MB
7737
7738 * w32proc.c: Likewise.
7739
7740 * w32select.c: Likewise.
7741
6f69e89b 7742 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 7743
73acf815 77442008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7745
7746 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
7747
7748 * w32menu.c (syms_of_w32menu): Likewise.
7749
7750 * w32proc.c (syms_of_ntproc): Likewise.
7751
7752 * w32select.c (syms_of_w32select): Likewise.
7753
7754 * w32term.c (syms_of_w32term): Likewise.
7755
73acf815 77562008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7757
7758 * w32font.c (w32font_draw): Delete brush after using it.
7759
73acf815 77602008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7761
7762 * w32font.c (w32font_open): Don't set font_idx.
7763 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
7764 to font settings.
7765 (w32font_draw): Fill background explicitly.
7766
73acf815 77672008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7768
7769 * w32term.c (w32_initialize): Don't call w32font_initialize.
7770
7771 * w32font.c (w32font_info): Remove subranges.
7772 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
7773 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
7774 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
7775 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
7776 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
7777 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
7778 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
7779 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
7780 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
7781 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
7782 New symbols.
7783 (font_callback_data): New struct.
7784 (w32font_list, w32font_match): Use it.
7785 (w32font_open): Don't populate subranges.
7786 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
7787 (w32font_encode_char): Always return unicode code-point as-is.
10d1d0af 7788 (w32font_text_extents): Supply a transformation matrix to
1f45f627
GM
7789 GetGlyphOutline. Never look up by glyph index. Avoid looping
7790 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2 7791 glyph index version.
1f204af3 7792 (set_fonts_frame): Remove.
aca7a3d2 7793 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
7794 set frame parameter. Use backward compatible fake foundries.
7795 Save generic family in extra slot under QCfamily. Make width slot
7796 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
7797 binary subranges.
7798 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 7799 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
7800 unwanted fonts.
7801 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
7802 (w32_registry): Default to iso10646_1.
7803 (fill_in_logfont): Use dpi from extra slot. Don't bother with
7804 string font registries. Don't fill in font name if it is a generic
7805 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
7806 extra info to fill pitch, family and charset fields.
7807 (list_all_matching_fonts): Use font_callback_data struct.
7808 (unicode_range_for_char): Remove.
7809 (font_supported_scripts): New function.
7810 (w32font_initialize): Remove.
7811 (syms_of_w32font): Update which symbols are defined.
7812
73acf815 78132008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7814
7815 * font.c (font_pixel_size): Reverse assq_no_quit args.
7816
7817 * w32term.h (FONT_WIDTH): Report max width, not average.
7818 (FONT_MAX_WIDTH): Remove.
7819 (FONT_AVG_WIDTH): New macro.
7820
7821 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
7822 redefinition of FONT_WIDTH.
7823
7824 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
7825 (w32_cache_char_metrics): Use FONT_WIDTH.
7826
7827 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
7828
73acf815 78292008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7830
7831 * w32font.c (w32font_open): Make lfHeight negative.
7832
7833 * w32fns.c (x_default_font_parameter): Use new style font name.
7834 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
7835
73acf815 78362008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7837
7838 * w32font.c (QCsubranges): New symbol.
7839 (w32font_open, w32font_has_char): Get subranges from subproperty
7840 of extra.
7841 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
7842 (syms_of_w32font): Define :subranges symbol.
7843
7844 * font.c (font_put_extra): Expose externally.
7845
1f45f627 7846 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
7847
7848 * font.c (Ffont_get): Use font driver to determine otf capability.
7849 (adjust_anchor): Check if driver defines anchor_point before using.
7850
7851 * w32font.c (w32font_open): Handle size, height and pixel_size better.
7852 (w32font_draw): Use options.
7853 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
7854 Fix detection of truetype fonts.
7855 (registry_to_w32_charset): Handle charsets other than iso8859-1
7856 expressed as lisp symbols.
7857 (w32_registry): Express charset as lisp symbol.
7858 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 7859 Don't set width here. Set quality to default.
aca7a3d2
MB
7860
7861 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
7862 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
7863
7864 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7865 Remove redundant loop and allocation.
7866
7867 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 7868 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
7869 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
7870
7871 * xdisp.c (fill_composite_glyph_string): Make the first arg to
7872 STORE_XCHARB a valid l-value.
7873
7874 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
7875 calculations for non-Truetype fonts.
7876 (x_draw_glyph_string): Sync with xterm.c.
c3f9fba8
JB
7877 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
7878 Remove redundant code.
aca7a3d2
MB
7879 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
7880
7881 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
7882 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
7883
7884 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
7885 (x_to_w32_charset, w32_to_x_charset): Expose externally.
7886
7887 * w32font.c: New file for w32 font backend.
7888
73acf815 78892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7890
7891 * term.c: Don't include "buffer.h" twice.
7892
73acf815 78932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7894
7895 * character.c (Funibyte_string): New function.
7896 (syms_of_character): Defsubr it.
7897
73acf815 78982008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
7899
7900 * w32term.c [USE_FONT_BACKEND]:
c3f9fba8
JB
7901 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
7902 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
7903 (x_draw_glyph_string, x_draw_glyph_string_foreground)
7904 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
aca7a3d2
MB
7905 (x_free_frame_resources): Sync with xterm.c.
7906
73acf815 79072008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
7908
7909 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
7910 char-table size.
7911
73acf815 79122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 7913
c3f9fba8 7914 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
aca7a3d2 7915
73acf815 79162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7917
7918 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
7919 font_otf_gpos, add font_drive_otf.
7920
7921 * fontset.c (fontset_find_font): Pay attention to font size
7922 specified for a font.
7923 (reorder_font_vector): Check contents of font_def.
7924
7925 * font.c (struct otf_list): Delete it.
6f69e89b 7926 (otf_list): Make it a lisp variable.
aca7a3d2 7927 (otf_open): Use lispy otf_list.
1f45f627 7928 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2 7929 (check_otf_features): New function.
c3f9fba8
JB
7930 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
7931 New functions.
aca7a3d2
MB
7932 (font_drive_otf): New function merging font_otf_gsub and
7933 font_otf_gpos.
7934 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 7935 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
7936 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
7937 Ffont_otf_gpos.
7938 (syms_of_font): Staticpro otf_list. Delete defsubr of
7939 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
7940
1f45f627 7941 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
7942 font_open_for_lface.
7943
7944 * font.h (font_open_for_lface): Adjust prototype.
7945 (struct font_driver): Delete members otf_gsub and otf_gpos, add
7946 member otf_drive.
7947 (font_otf_gsub, font_otf_gpos): Delete externs.
7948 (font_drive_otf): Extern it.
7949
73acf815 79502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7951
7952 * font.c (font_at): If the window W is not on a window system,
7953 return Qnil.
7954
4c4475a8
GM
7955 * coding.c (produce_chars, encode_coding): Don't call
7956 insert_from_gap if no characters to produce.
aca7a3d2 7957
73acf815 79582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7959
7960 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
7961 Fclear_face_cache.
7962
7963 * xfaces.c (face_for_font): Check also face->font==font->font.font.
7964
73acf815 79652008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
7966
7967 * emacs.c (main): Change default value of `enable_font_backend' to 1.
7968 Parse "--disable-font-backend" option.
7969 (standard_args): Add "--disable-font-backend" option.
7970
73acf815 79712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7972
7973 * fontset.c (fontset_find_font): New function.
7974 (fontset_font): Use fontset_find_font.
7975 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
7976 Register the specified font for all Latin characters.
7977 (new_fontset_from_font): Register the specified font for all Latin
7978 characters.
7979 (dump_fontset): For a realized fontset, include the base fontset
7980 name in the returned vector.
7981
73acf815 79822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7983
7984 * character.h (CHAR_STRING): Cast C to unsigned on calling
7985 char_string.
7986
7987 * character.c (char_string): Type of arg C changed to unsigned.
7988 Signal an error if C is an invalid character code.
7989
4c4475a8
GM
7990 * editfns.c (general_insert_function, Fchar_to_string):
7991 Use CHARACTERP, not INTEGERP.
aca7a3d2 7992
73acf815 79932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
7994
7995 * character.h (MIN_MULTIBYTE_LEADING_CODE)
7996 (MAX_MULTIBYTE_LEADING_CODE): New macros.
7997
7998 * regex.c (analyse_first): Fix for multibyte characters in "case
7999 charset:" and "case categoryspec:".
8000
73acf815 80012008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
8002
8003 * Makefile.in (LIBES): Move standard libraries to the end.
8004
73acf815 80052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8006
8007 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
8008 nonzero, don't shrink the buffer nextb.
8009
8010 * buffer.h (struct buffer_text): New member inhibit_shrinking.
8011
8012 * coding.c (coding_alloc_by_making_gap): New arg offset.
8013 (alloc_destination): Call coding_alloc_by_making_gap with the arg
8014 offset.
8015 (decode_coding_iso_2022): Update coding->safe_charsets.
8016 (decode_coding_gap): Temporarily set
8017 current_buffer->text->inhibit_shrinking to 1.
8018
73acf815 80192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8020
8021 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
8022 indexing into elements of s->cmp and s->char2b.
8023
73acf815 80242008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
8025
8026 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
8027
73acf815 80282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8029
8030 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
8031 target_multibyte instead of multibyte.
8032 (re_match_2_internal): Call bcmp_translate with target_multibyte.
8033 (bcmp_translate): Change the argument name from multibyte to
8034 target_multibyte.
8035
73acf815 80362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8037
8038 These changes are to compile a regexp into a pattern that can be
8039 used both for multibyte and unibyte targets.
8040
8041 * Makefile.in (search.o): Depend on charset.h.
8042
8043 * character.c (multibyte_char_to_unibyte_safe): New function.
8044
8045 * search.c: Include "charset.h".
8046 (compile_pattern_1): Delete argument multibyte. Don't set
8047 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
8048 (compile_pattern): Don't compare cp->buf.target_multibyte.
8049 Compare cp->buf.charset_unibyte.
8050 (compile_pattern): Set cp->buf.target_multibyte.
8051
8052 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
8053
8054 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
8055
8056 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 8057 multibyte. Change callers.
aca7a3d2 8058 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
8059 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
8060 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
8061 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
8062 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
8063 (regex_compile): Make the compiled pattern usable both for
8064 multibyte and unibyte targets.
8065 (analyse_first): Make the fastmap usable both for multibyte and
8066 unibyte targets.
1f45f627 8067 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
8068 (re_match_2_internal): Pay attention to the case that the
8069 multibyteness of bufp and target may be different.
8070
73acf815 80712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8072
8073 * xdisp.c (x_produce_glyphs): When a font is not found, make the
8074 empty box occupy at least one column width.
8075
73acf815 80762008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
8077
8078 * Makefile.in: Remove redundant HAVE_XFT clause.
8079
73acf815 80802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8081
10d1d0af 8082 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
aca7a3d2 8083
73acf815 80842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8085
8086 * fontset.c (Finternal_char_font): Fix for the case of POSITION
8087 being nil.
8088
73acf815 80892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8090
8091 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
8092
73acf815 80932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8094
8095 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
8096
73acf815 80972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8098
8099 * search.c (simple_search): Fix previous change.
8100
73acf815 81012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8102
8103 * xftfont.c (ftfont_font_format): Extern declaration.
8104
8105 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
8106
8107 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
8108 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
8109
8110 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
8111 (ftfont_font_format): Fix previous change.
8112
8113 * font.h (Ffont_xlfd_name): EXFUN it.
8114
8115 * font.c (font_parse_xlfd): Fix the array size of `f'.
8116 (register_font_driver): Use EQ to compare driver->type.
8117
8118 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
8119 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
8120 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
8121
73acf815 81222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8123
4c4475a8
GM
8124 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
8125 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 8126
73acf815 81272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8128
8129 * xfont.c (xfont_open): Set font->format.
8130
8131 * xftfont.c (xftfont_open): Set font->format.
8132
8133 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
8134 (ftfont_list): Include FC_FONTFORMAT in FcObject.
8135 (ftfont_open): Set font->format.
8136 (ftfont_font_format): New function.
8137
10d1d0af 8138 * font.h (struct font): New member format.
aca7a3d2
MB
8139
8140 * font.c (Qopentype): New variable.
8141 (syms_of_font): Defsym it.
8142 (Fquery_font): Change the format of the last element of the return
8143 value.
8144
73acf815 81452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8146
8147 * xfns.c (xic_create_xfontset): Try the default fontset name as a
8148 last resort.
8149
73acf815 81502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8151
8152 * coding.c (detect_coding_charset): Fix detection of multi-byte
8153 charset.
8154
73acf815 81552008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
8156
8157 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
8158
73acf815 81592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8160
8161 * xdisp.c (get_next_display_element): Set it->face_id for the
8162 first component of a composition.
1f45f627 8163 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 8164
73acf815 81652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8166
8167 * fontset.c (Qlatin): New variable.
8168 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 8169 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 8170
73acf815 81712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8172
8173 * font.c (font_unparse_fcname): Pay attention to the case that
8174 some of font property is a null string.
8175
73acf815 81762008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8177
8178 * term.c: Include "composite.h".
8179 (encode_terminal_code): Output all components of composition.
8180 Check the size of encode_terminal_src.
424c157f 8181 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
8182 (append_composite_glyph, produce_composite_glyph): New functions.
8183
8184 * xdisp.c (x_produce_glyphs): In handling composition, if a font
8185 is not found, get font_info from the current ascii face.
8186
73acf815 81872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8188
8189 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
8190 buffer-file-name to Qnil before calling insert_from_buffer.
8191
8192 * font.c (font_unparse_fcname): Pay attention to the case that
8193 foundry is a null string.
8194
73acf815 81952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8196
8197 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
8198
8199 * font.c (Qunicode_sip): New variable.
8200 (syms_of_font): Declare it as a Lisp symbol.
8201
8202 * font.h (Qunicode_sip): Extern it.
8203
73acf815 82042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8205
1f45f627 8206 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
8207
8208 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 8209 TAB. Adjust for the change of s->char2b which always points to
10d1d0af 8210 the first element of allocated memory.
aca7a3d2 8211
1f45f627 8212 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
8213
8214 * xdisp.c (handle_composition_prop): Set it->c to the first
8215 non-TAB component.
1f45f627
GM
8216 (fill_composite_glyph_string): Change argument.
8217 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
8218 (x_produce_glyphs): Fix handling of left/right padding.
8219
73acf815 82202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8221
8222 * coding.c (detect_coding_system): Fix for handling off
8223 inhibit_iso_escape_detection. Fix for the case that no coding
8224 system is defined for a specific coding category.
8225
73acf815 82262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8227
1f45f627 8228 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
8229
8230 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
8231 opening a font.
8232
8233 * fileio.c (Finsert_file_contents): On recovering a file, assume
8234 Unix-like eol.
8235 (choose_write_coding_system): On auto-saving a file, force
8236 Unix-like eol.
8237
8238 * coding.c (setup_coding_system): Fix setting of
8239 coding->common_flags based on eol_type.
8240 (coding_inherit_eol_type): If PARENT is not nil, be sure to
8241 inherit from it.
8242
73acf815 82432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8244
1f45f627 8245 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 8246
73acf815 82472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8248
1f45f627 8249 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
8250 (ftfont_list): Don't check :name property.
8251 (ftfont_match): New function.
8252 (ftfont_pattern_entity): If the pattern doesn't contain
10d1d0af 8253 FC_SPACING, don't assume FC_MONO.
aca7a3d2
MB
8254
8255 * font.h (struct font_driver): New member `match'.
1f45f627 8256 (font_update_drivers): Adjust prototype.
aca7a3d2 8257
4c4475a8
GM
8258 * font.c (font_parse_fcname, font_parse_name): Don't change :name
8259 property of FONT.
aca7a3d2
MB
8260 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
8261 them unconditionally.
8262 (font_matching_entity): New function.
8263 (font_open_by_name): Try font_matching_entity if exact match is
8264 not found.
8265 (font_update_drivers): Delete the arg FONT. Return a list of
8266 actually used backends. Don't free faces, font caches here.
8267 Don't store data in frame parameters. Don't call x_set_font.
8268 (Ffont_spec): Store :name property as is.
8269 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
8270 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
8271 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
8272 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
8273 Call font->driver->otf_gsub instead of font_otf_gsub.
8274
8275 * frame.c (x_set_font_backend): Do more works that were done in
8276 font_update_drivers before.
8277
8278 * xfont.c (xfont_match): New function.
8279 (xfont_driver): Set xfont_driver.match to xfont_match.
8280 (xfont_draw): Set font in GC if necessary.
8281
8282 * ftxfont.c (ftxfont_match): New function.
8283 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
8284
8285 * xftfont.c (xftfont_match): New function.
8286 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
8287
73acf815 82882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8289
8290 * font.h (struct font): New member scalable.
8291 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 8292 (font_otf_gsub): Adjust prototype.
aca7a3d2 8293
1f45f627
GM
8294 * font.c (font_otf_capability): Fix handling of the default langsys.
8295 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
8296 Check the contents of SPEC.
8297 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
8298 (check_gstring): New function.
8299 (REPLACEMENT_CHARACTER): New macro.
8300 (font_otf_gsub): New arg alternate_subst. Be sure to set all
8301 glyph codes of GSTRING.
8302 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
8303 (font_prepare_composition): Set cmp->glyph_len.
8304 (font_open_entity): Set font->scalable.
8305 (Ffont_get): Handle :otf property.
8306 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
8307 functions.
8308 (Fquery_font): Use font->font.full_name.
8309 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
8310 Sfont_otf_alternates.
8311
8312 * ftfont.c (ftfont_open): Set font->font.full_name and
8313 font->font.name properly. Fix calculation of font->font.height
8314 and font->min_width.
8315
8316 * ftxfont.c (ftxfont_create_gcs): New function.
8317 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
8318 (ftxfont_draw_backgrond): Fix filling region.
8319 (ftxfont_default_fid): New function.
183080b6 8320 (ftxfont_open): Set xfont->fid to the return value of
aca7a3d2
MB
8321 ftxfont_default_fid.
8322 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
8323 (ftxfont_done_face): Free only GCs that are created by
8324 ftxfont_create_gcs.
8325 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
8326
8327 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
8328 Clip to src->width, etc (not src->clip_XXX).
8329
8330 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
8331 FontBackend frame parameter.
8332
73acf815 83332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8334
8335 * font.h (struct font_driver_list): New member `on'.
8336 (Fclear_font_cache): EXFUN it.
8337 (font_update_drivers): Extern it.
8338
8339 * font.c (font_unparse_fcname): Fix typo (swidth->width).
8340 (font_list_entities): Check driver_list->on.
8341 (register_font_driver): Initalize `on' member to 0.
8342 (font_update_drivers): New function.
8343 (Fclear_font_cache): Check driver_list->on.
8344
8345 * frame.h (Qfont_backend): Extern it.
8346 (x_set_font_backend): Extern it.
8347
8348 * frame.c (Qfont_backend): New variable.
8349 (frame_parms): New element for font-backend.
8350 (x_set_font_backend): New function.
8351
8352 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
8353 FontBackend frame parameter.
8354 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
8355 x_set_font_backend.
8356
8357 * xfont.c (xfont_list): Don't try listing by :name property if the
8358 name is not for XLFD.
8359
73acf815 83602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8361
8362 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
8363 (LGLYPH_SET_TO): New macros.
8364 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
8365 element of G is vector or not.
8366 (font_at): Extern it.
8367
8368 * font.c: Include window.h.
8369 (font_lispy_object): New function.
8370 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
8371 end of valid glyph.
8372 (font_close_object): Fix getting (struct font *).
8373 (font_at): New function.
8374 (Ffont_get): If FONT is a font-object, get entity from it.
8375 (Ffont_make_gstring): Initialize elements of glyphs with nil.
8376 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
8377 range check.
8378 (Ffont_at): New function.
8379 (syms_of_font): Defsubr Sfont_at.
8380
8381 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 8382 before the entry for Qcomposition.
1f45f627 8383 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
8384 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
8385 the font in gstring.
8386 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
8387 LGLYPH_FORM (g) to detect the end of valid glyph.
8388 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
8389 we are composing with gstring.
8390
8391 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
8392 Check if adjustment is vector or not.
8393
8394 * Makefile.in (font.o): Make it depends on window.h.
8395
73acf815 83962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8397
8398 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
8399 adjustment is vector or not.
8400
73acf815 84012008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
8402
8403 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
8404
73acf815 84052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8406
8407 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
8408 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
8409 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
8410
1f45f627 8411 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 8412 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
8413 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
8414 LGLYPH format.
aca7a3d2 8415
1f45f627 8416 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
8417 the change of LGLYPH format.
8418
73acf815 84192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8420
8421 * ftfont.c (ftfont_list): Fix typo.
1f45f627 8422 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 8423
880820fe 84242008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
8425
8426 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
8427
8428 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
8429 xftface_info is non-NULL.
8430
880820fe 84312008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 8432
1f45f627 8433 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 8434
73acf815 84352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8436
8437 * ftfont.c (ftfont_list): Pay attention to the case that
8438 FC_CAPABILITY is not defined.
8439
73acf815 84402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8441
8442 * xftfont.c (xftfont_open): Set charset related members to -1.
8443
1f45f627
GM
8444 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
8445 QCname.
aca7a3d2
MB
8446 (ftfont_open): Set charset related members to -1.
8447
8448 * fontset.c (Votf_script_alist): New variable.
8449 (syms_of_fontset): Initialize it.
8450 (fontset_font): Delete unused variable.
8451
8452 * fontset.h (Votf_script_alist): Extern it.
8453
1f45f627 8454 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
8455
8456 * font.h (font_close_object, font_merge_old_spec): Extern them.
8457
73acf815 84582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8459
8460 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
8461 (syms_of_font): Initialize them.
8462 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
8463 (font_prop_validate_type): Delete.
8464 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
8465 Change caller.
8466 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
8467 (font_prop_validate_extra): Delete.
aca7a3d2
MB
8468 (font_prop_validate_spacing): New function.
8469 (font_property_table): Add elements for all known properties.
1f45f627
GM
8470 (get_font_prop_index): Rename from check_font_prop_name. New
8471 argument FROM. Change caller.
aca7a3d2 8472 (font_prop_validate): Validate all known properties.
1f45f627 8473 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
8474 (font_expand_wildcards): Make it static. Fix the way of shrinking
8475 the possible range.
1f45f627 8476 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 8477 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 8478 Change caller.
aca7a3d2 8479 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
8480 (font_parse_fcname): Delete argument merge. Fix parsing of point
8481 size. Don't validate properties values here. Change caller.
8482 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
8483 (font_open_by_name): Delete unused variable.
8484 (Ffont_spec): Likewise. Validate property values.
8485 (Ffont_match_p): New function.
8486
8487 * font.h (QCscalable): Extern it.
1f45f627 8488 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 8489
1f45f627 8490 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 8491
1f45f627 8492 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
8493 (xfont_list_pattern): New function.
8494 (xfont_list): Use xfont_list_pattern.
8495
73acf815 84962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8497
8498 * font.h (Flist_fonts): EXFUN it.
8499
73acf815 85002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
8501
8502 * w32term.c (w32_initialize): Add back smoothing_type and
8503 smoothing_enabled definitions.
8504
73acf815 85052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8506
8507 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
8508 s->face->font on determining underline position.
8509
73acf815 85102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8511
8512 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
8513 (font_has_char): Accept font-object too.
8514 (font_find_for_lface): Try at first with a size specified in face.
8515
73acf815 85162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8517
8518 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
8519 font_open_by_name.
8520
73acf815 85212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8522
8523 * font.h (QCspacing, QCdpi): Extern them.
8524 (enum font_spacing): New enum.
8525 (FONT_PIXEL_SIZE_QUANTUM): New macro.
8526
10d1d0af 8527 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
aca7a3d2
MB
8528 (QCspacing, QCdpi): New variables.
8529 (syms_of_font): Initialize them.
8530 (font_pixel_size): New function.
8531 (font_put_extra): New function.
8532 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
8533 in FONT_EXTRA.
10d1d0af 8534 (font_parse_fcname): Handle enumerated values (e.g. bold).
e9184ccb 8535 Fix handling font size. Add QCname property that contains only
aca7a3d2 8536 unknown properties.
1f45f627 8537 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 8538 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
8539 (font_sort_entites, font_list_entities, font_find_for_lface)
8540 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 8541 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
8542
8543 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
8544 include weight in listing pattern, instead check weight of each
8545 listed font. Don't include scalable in pattern. Pay attention to
8546 FONT_PIXEL_SIZE_QUANTUM.
8547
73acf815 85482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8549
aca7a3d2 8550 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 8551 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
8552 (font_list_entities): Handle float size correctly.
8553 (font_open_by_name): Prefer `normal' property values if the name
8554 doesn't specify them.
8555
8556 * fontset.c (Finternal_char_font): Use font_get_name, not
8557 Ffont_xlfd_name.
8558
8559 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
8560 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
8561 pattern. Don't force scalable.
8562
8563 * xftfont.c (xftfont_open): For generating a name, start from
8564 96-byte buffer.
8565
880820fe 85662008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
8567
8568 * frame.h (x_new_fontset2): Fix prototype.
8569
73acf815 85702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8571
1f45f627 8572 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
8573 (font_match_p, font_get_spec, font_parse_fcname)
8574 (font_unparse_fcname): Extern them.
1f45f627 8575 (font_get_name): Adjust prototype.
aca7a3d2
MB
8576
8577 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
8578 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
8579 (font_expand_wildcards): Fix handling ENCODING field. Avoid
8580 unnecessary checks for weight, slant, and swidth.
8581 (font_parse_fcname): New function.
8582 (font_unparse_fcname): New function.
8583 (font_parse_name): New function.
8584 (font_match_p): New function.
1f45f627 8585 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
8586 (font_get_spec): New function.
8587 (Qunspecified, Qignore_defface): Don't extern them.
8588 (font_find_for_lface): Assume that LFACE is fully specified.
8589 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
8590 object, use it for FACE.
8591 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
8592 driver->parse_name.
8593 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
8594
1f45f627
GM
8595 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
8596 prototype.
aca7a3d2 8597
1f45f627
GM
8598 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
8599 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
8600 make_fontset.
8601
1f45f627 8602 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 8603
1f45f627 8604 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
8605 of x_new_fontset2.
8606
8607 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
8608 (Qsans__serif): New variables.
8609 (ftfont_generic_family_list): New variable.
8610 (syms_of_ftfont): Initialize the above variables.
1f45f627 8611 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
8612 (ftfont_list_generic_family): New function.
8613 (ftfont_parse_name): Delete this function.
1f45f627 8614 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
8615 (ftfont_list_family): Fix args to FcObjectSetBuild.
8616
8617 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
8618 object in attrs[LFACE_FONT_INDEX].
8619 (set_lface_from_font_name): Cancel all changes for font-backend.
8620 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
8621 function.
8622 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
8623 font object in QCfont attribute.
8624 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
8625 (realize_default_face) [USE_FONT_BACKEND]: Call
8626 set_lface_from_font_and_fontset.
8627
8628 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
8629 "fixed", and signal error here if no suitable font was found.
8630
8631 * xfont.c (xfont_parse_name): Delete this function.
8632
8633 * xftfont.c (xftfont_open): Change coding style of error
8634 handling. Generate fontconfig's fontname pattern.
8635
8636 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
8637 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
8638
8639 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
8640 Both args FONTSET and FONT_OBJECT must be existing ones.
8641
73acf815 86422008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8643
8644 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
8645
73acf815 86462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8647
8648 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
8649
8650 * font.h (struct font): Fix typo.
8651
8652 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
8653 XLFD_XXX_INDEX.
8654 (enum xlfd_field_mask): New enum.
1f45f627 8655 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
8656 are followed by non-digits, return a symbol.
8657 (font_expand_wildcards): New function.
8658 (font_parse_xlfd): Fix wildcard handling.
8659 (Ffont_spec): If :name is specified, reflect the info in the other
8660 properties.
8661
8662 * ftfont.c (ftfont_pattern_entity): Fix typo.
8663 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
8664 locale.
8665
73acf815 86662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8667
8668 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
8669
1f45f627 8670 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
8671 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
8672 registry doesn't specify encoding part.
8673 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
8674 (font_open_by_name): At first try parsing the name.
8675 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
8676 as Lisp symbols.
8677
8678 * fontset.c (reorder_font_vector): Pay attention to the case that
8679 the 3rd element of font_def is nil.
8680 (fontset_font): For the default fontset, append one more fontset
8681 elements for a script-based font specification. Don't add script
8682 attribute on finding a font.
8683 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
8684 font name.
8685 (fontset_ascii_font): If a font can't be opened, return nil.
8686
1f45f627 8687 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
8688 (ftfont_pattern_entity): New function.
8689 (ftfont_get_cache): Assume that freetype_font_cache is already
8690 initialized.
8691 (ftfont_list): Handle the case that a file is specified in font
8692 name. Use ftfont_pattern_entity to generate entities.
8693 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
8694 (syms_of_ftfont): Initialize freetype_font_cache.
8695
8696 * xftfont.c (xftfont_open): Make the font name fontconfig's
8697 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
8698 (xftfont_close): Free font->font.name if not NULL.
8699
8700 * xfont.c (xfont_list): If script is specified for a font, return
8701 null_vector.
8702 (xfont_list_family): Declare argument type.
8703
8704 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
8705 name, set LFACE_FONT (lface) to nil.
8706
8707 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
8708 return Qnil.
8709
73acf815 87102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8711
1f45f627 8712 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
8713 (standard_args): Add "-enable-font-backend".
8714
73acf815 87152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8716
8717 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
8718 (struct xftdraw_list, xftdraw_list): Delete them.
8719 (register_xftdraw, check_xftdraw): Delete them.
8720 (xftfont_prepare_face): Don't call register_xftdraw.
8721 (xftfont_done_face): Don't call check_xftdraw.
10d1d0af 8722 (xftfont_draw): Get background color only when with_background is
aca7a3d2
MB
8723 nonzero.
8724
8725 * xfont.c (xfont_encode_char): Fix calculation of char2b.
8726
73acf815 87272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8728
8729 These changes are for the new font handling codes.
8730
8731 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
8732 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
8733 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
8734 (FONTSRC, FONTOBJ): New variables.
8735 (obj): Add $(FONTOBJ).
8736 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
8737 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
8738 @LIBOTF_LIBS@.
8739 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 8740 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 8741
1f45f627 8742 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
8743
8744 * character.h (Vscript_representative_chars): Extern it.
8745
8746 * character.c (Vscript_representative_chars): New variable.
8747 (syms_of_character): Declare it as a Lisp variable.
8748
8749 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
8750 enable_font_backend is nonzero, accept the composition method
8751 COMPOSITION_WITH_GLYPH_STRING.
8752
8753 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
8754 enumeration COMPOSITION_WITH_GLYPH_STRING.
8755
aca7a3d2
MB
8756 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
8757 members clip_x, clip_y, clip_width, and clip_height.
8758 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
8759
8760 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
8761 --enable-font-backend. Call syms_of_font.
8762
8763 * fns.c (assoc_no_quit): New function.
8764
8765 * fontset.h (FONT_INFO_FROM_FACE): New macro.
8766 (face_for_font, new_fontset_from_font)
8767 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
8768
8769 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
8770 (fontset_font, fontset_ascii, face_for_char)
8771 (make_fontset_for_ascii_face, Ffont_info)
8772 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
8773 is nonzero, use font-backend mechanism.
8774 (find_font_encoding): Make it non-static.
8775 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
8776 New functions.
8777
8778 * frame.h (struct frame): New members resx and resy.
8779 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
8780 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
8781
8782 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 8783 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
8784
8785 * lisp.h (assoc_no_quit): Extern it.
8786
8787 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
8788 Through out the file, use FONT_INFO_FROM_FACE instead of
8789 FONT_INFO_FROM_ID, use get_per_char_metric instead of
8790 rif->per_char_metric.
8791 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
8792 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
8793 (get_glyph_face_and_encoding, fill_composite_glyph_string)
8794 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
8795 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
8796 nonzero, use font-backend mechanism.
8797 (get_per_char_metric): New function.
8798
8799 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
8800 (set_lface_from_font_name)
8801 (set_font_frame_param, free_realized_face)
8802 (prepare_face_for_display, clear_face_gcs)
8803 (Finternal_set_font_selection_order, realize_x_face)
8804 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
8805 font-backend mechanism.
1f45f627 8806 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
8807 (load_face_font) [USE_FONT_BACKEND]: Abort.
8808 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 8809 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
8810
8811 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
8812 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
8813 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
8814 nonzero, register all available font drivers. Call
8815 x_default_font_parameter for deciding a font.
8816 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
8817
8818 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
8819 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
8820 (x_set_glyph_string_clipping_exactly)
8821 (x_compute_glyph_string_overhangs)
8822 (x_draw_glyph_string_foreground)
8823 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
8824 (x_free_frame_resources) [USE_FONT_BACKEND]: If
8825 enable_font_backend is nonzero, use font-backend mechanism.
8826 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
8827
73acf815 88282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8829
fcb314b2 8830 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
8831 system_eol_type.
8832 (syms_of_coding): Initialize system_eol_type.
8833
fcb314b2
GM
8834 * process.c (Fset_process_coding_system): Inherit system's eol
8835 format if necessary.
aca7a3d2 8836
73acf815 88372008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8838
8839 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
8840
73acf815 88412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8842
8843 * coding.c (decode_eol): Pay attention to buffer relocation in
8844 del_range_2.
8845 (decode_coding): Call decode_eol before restoring undo_list.
8846
73acf815 88472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8848
8849 * charset.c (Fdefine_charset_internal): Fix setting of
8850 emacs_mule_bytes.
8851
73acf815 88522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8853
8854 * keyboard.c (read_char): Check if C is a character or not before
8855 looking up Vkeyboard_translate_table.
8856
73acf815 88572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8858
8859 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
8860 condition to terminate the loop.
8861
73acf815 88622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8863
8864 * coding.c (produce_composition): Compare charbuf[i] instead of
8865 args[i] against 0.
8866 (Fterminal_coding_system): Use EQ to compare Lisp objects.
8867
73acf815 88682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8869
8870 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
8871 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
8872 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
8873 detect_coding.
8874 (emacs_mule_char): Handle old style (Emacs 20) component character
8875 of a composition.
4c4475a8
GM
8876 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
8877 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
8878 composition rule.
aca7a3d2
MB
8879 (decode_coding_emacs_mule): Handle invalid bytes correctly.
8880
73acf815 88812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8882
8883 * coding.c (encode_coding_ccl): Allocate destination dynamically
8884 when necessary.
8885
73acf815 88862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8887
8888 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
8889 the loop. When quitted, show a proper error message.
8890
73acf815 88912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8892
aca7a3d2
MB
8893 * xterm.c (x_set_glyph_string_clipping_exactly): Set
8894 src->clip_head and src->clip_tail temporarily instead of src->hl.
8895
8896 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
8897 character sequence.
8898 (Fccl_execute_on_string): Use ASET, not XSET.
8899
73acf815 89002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8901
1f45f627 8902 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 8903
73acf815 89042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8905
8906 * coding.c (decode_coding): Fix the condition of terminating the
8907 decoding loop.
8908
73acf815 89092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8910
8911 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 8912 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 8913
73acf815 89142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8915
8916 * charset.c (map_charset_chars): Fix for ascii-compatible charset
8917 made by a mapping table.
8918
73acf815 89192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8920
8921 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
8922 not.
8923 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
8924 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
8925
8926 * xterm.c (x_draw_composite_glyph_string_foreground): Check
8927 s->face is NULL or not.
8928
73acf815 89292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8930
8931 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
8932 (x_draw_glyph_string): Fix drawing of right_overhang and
8933 left_overhang around/on cursor.
8934
1f45f627 8935 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 8936
73acf815 89372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8938
8939 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
8940
73acf815 89412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8942
4c4475a8
GM
8943 * coding.c (Fdefine_coding_system_internal)
8944 (Fdefine_coding_system_alias): Avoid a duplicated element in
8945 Vcoding_system_alist.
aca7a3d2 8946
73acf815 89472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8948
8949 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
8950
fcb314b2 8951 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
8952 (syms_of_coding): Intern and staticpro it.
8953 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 8954 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
8955
8956 * coding.h (CODING_SYSTEM_P): If ID is not available, call
8957 Fcoding_system_p.
8958 (CHECK_CODING_SYSTEM): If ID is not available, call
8959 Fcheck_coding_system.
4c4475a8
GM
8960 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
8961 Try also Fcheck_coding_system.
aca7a3d2 8962
73acf815 89632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 8964
aca7a3d2
MB
8965 * coding.c (code_conversion_restore): GCPRO arg.
8966
73acf815 89672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8968
8969 * character.c (lisp_string_width): Check multibyteness of STRING.
8970
73acf815 89712008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
8972
8973 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
8974 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
8975 (decode_mac_font_name): Use decode_coding_c_string instead of
8976 decode_coding.
8977 (x_load_font): Initialize fontp->fontset to -1. Set
8978 fontp->encoding_type.
8979
73acf815 89802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8981
8982 * search.c (search_buffer): Give up BM search on case-fold-search
8983 if one of a target character has a case-equivalence of different
8984 byte length even if that target charcter is an ASCII.
1f45f627
GM
8985 (simple_search): Fix calculation of byte length of matched text.
8986 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 8987
73acf815 89882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8989
8990 * coding.c (decode_coding): Fix handling of invalid bytes.
8991
73acf815 89922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8993
8994 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
8995 Unicode characters.
8996
73acf815 89972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
8998
8999 * coding.c (encode_coding_object): If a pre-write-conversion
9000 function makes a new buffer, kill it.
9001
73acf815 90022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9003
9004 * coding.c (QCascii_compatible_p): New variable.
9005 (syms_of_coding): Initialize it.
4c4475a8
GM
9006 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
9007 calling string_char.
aca7a3d2
MB
9008 (record_conversion_result): Add `default:' case.
9009 (coding_charset_list): Delete unused variable `coding_type'.
9010 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
9011 property in the plist of the coding system.
9012 (Fcoding_system_put): Check QCascii_compatible_p.
9013
73acf815 90142008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
9015
9016 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
9017 removed calculation of frame `f', as it's now used.
9018
73acf815 90192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9020
1f45f627 9021 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
9022 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
9023 (UNIDATA): New variable.
9024 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
9025 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
9026 $(RUN_TEMACS) unconditionally.
9027
73acf815 90282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9029
1f45f627 9030 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
9031 (admindir): New variable.
9032 ($(lispsource)international/charprop.el): New target.
9033
73acf815 90342008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 9035
1f45f627 9036 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
9037 (syms_of_character): Remove its initialization.
9038
73acf815 90392008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
9040
9041 * w32select.c (validate_coding_system)
9042 (setup_windows_coding_system): New functions.
9043 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
9044 setup_windows_coding_system.
9045 (setup_config, Fw32_get_clipboard_data): Use
9046 validate_coding_system.
9047 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 9048 where signals are allowed.
aca7a3d2
MB
9049
9050 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
9051 (Fcheck_coding_system): Add declarations.
9052
73acf815 90532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9054
1f45f627 9055 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 9056
73acf815 90572008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
9058
9059 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
9060 string as the second argument for x_new_fontset.
9061
73acf815 90622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9063
9064 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
9065 (encode_coding_object): Use safe_call instead of call2.
9066
73acf815 90672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9068
1f45f627 9069 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
9070
9071 * Makefile.in (lisp): Include charprop.el.
9072
73acf815 90732008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
9074
9075 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
9076 Not sure if it's unnecessary.
9077
73acf815 90782008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
9079
9080 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
9081 some possibly unnecessary fontset checking code that crashed
1f45f627 9082 when creating a new frame.
aca7a3d2 9083
73acf815 90842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9085
9086 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
9087 lookup_face.
9088
9089 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
9090
1f45f627 9091 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 9092
73acf815 90932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9094
73acf815 9095 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
9096 (coding_charset_list): New function.
9097
9098 * coding.h (coding_charset_list): Extern it.
9099
73acf815 91002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9101
9102 * fontset.c (Fset_fontset_font): Call find_font_encoding with
9103 concatenation of family and registry.
9104
73acf815 91052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9106
9107 * character.h (BYTE8_STRING): Fix typo.
9108
9109 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
9110 string to multibyte (sync to HEAD).
9111
9112 * casefiddle.c (casify_region): Handle changes in byte-length
9113 using replace_range_2 (sync to HEAD).
9114
73acf815 91152008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
9116
9117 * chartab.c (map_char_table): GCPRO table and arg.
9118
73acf815 91192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9120
9121 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
9122 already at limit.
9123
73acf815 91242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9125
9126 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
9127 instead of fast_c_string_match_ignore_case.
1f45f627 9128 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 9129 fast_string_match_ignore_case instead of
1f45f627 9130 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 9131
73acf815 91322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9133
9134 * xdisp.c (get_next_display_element): In unibyte case, decide to
10d1d0af 9135 display in octal form by checking a character by
aca7a3d2
MB
9136 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
9137
1f45f627 9138 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
9139
9140 * character.c (unibyte_has_multibyte_table): New variable.
9141
9142 * character.h (unibyte_has_multibyte_table): Extern it.
9143 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
9144
73acf815 91452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9146
9147 * coding.c (encode_coding_iso_2022): Fix handling of charset
9148 annotation.
9149
73acf815 91502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9151
9152 * coding.c (setup_coding_system): If coding_system is nil, use
9153 Qundecided.
9154 (Fterminal_coding_system): Return nil if terminal coding system is
9155 `undecided'.
9156 (syms_of_coding): Define coding-system `undecided' here. Setup
9157 terminal_coding as `undecided'.
9158
73acf815 91592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9160
9161 * xdisp.c (message_dolog, set_message_1): Call
9162 unibyte_char_to_multibyte with arg type int.
9163
aca7a3d2
MB
9164 * lread.c (read1): Fix reading of a char-table.
9165
10d1d0af 9166 * print.c (print_object): Include sub char-table in circularities
aca7a3d2
MB
9167 detection.
9168
73acf815 91692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9170
10d1d0af
JB
9171 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
9172 Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 9173
73acf815 91742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9175
9176 * fileio.c (report_file_error): Make a unibyte string from
9177 strerror (errorno).
9178 (Fsubstitute_in_file_name): Fix the arg to
9179 unibyte_char_to_multibyte. It is evaluated twice.
9180
73acf815 91812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9182
9183 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
9184
73acf815 91852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9186
9187 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
9188 BOM is not found.
4c4475a8
GM
9189 (detect_coding, detect_coding_system): Optimization for ISO-2022
9190 when no 8-bit data is found.
aca7a3d2 9191
73acf815 91922008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9193
9194 * w32fns.c (x_to_w32_font): Update to use new coding struct.
9195
73acf815 91962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9197
4c4475a8
GM
9198 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
9199 CHARS.
aca7a3d2 9200
73acf815 92012008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
9202
9203 * macterm.c (mac_encode_char): Add charset argument and update
9204 to use encoding_type.
2a2e8de7 9205 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
9206 switch to pure fontset.
9207 (decode_mac_font_name): Temporarily remove decoding.
9208 (x_font_name_to_mac_font_name): Temporarily remove encoding.
9209 (x_load_font): Temporarily remove encoding.
aca7a3d2 9210
73acf815 92112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9212
9213 * xfaces.c (Fface_font): If frame is not on a window system,
9214 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
9215 refer to face->font.
9216 (split_font_name_into_vector, build_font_name_from_vector)
9217 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10d1d0af 9218 when HAVE_WINDOW_SYSTEM is defined.
aca7a3d2 9219
73acf815 92202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9221
9222 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
9223 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 9224 cmp->glyph_len is zero.
aca7a3d2 9225
1f45f627 9226 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
9227 (Ffontset_info): Make it backward compatible. New arg ALL.
9228
73acf815 92292008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
9230
9231 * process.c (read_process_output): Grow decoding_buf when needed;
9232 this could cause a crash in allocate_string and compact_small_strings.
9233
73acf815 92342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9235
1f45f627 9236 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 9237
73acf815 92382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9239
9240 * coding.c (setup_coding_system): Set coding->common_flags
9241 correctly for raw-text.
9242 (consume_chars): On encoding unibyte text by raw-text, don't check
9243 multibyte form.
1f45f627 9244 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
9245
9246 * fileio.c (e_write): Short cut for the case of no encoding.
9247
73acf815 92482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9249
4c4475a8
GM
9250 * coding.c (detect_coding, detect_coding_system): Delete unused
9251 variables.
aca7a3d2 9252
73acf815 92532008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9254
9255 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
9256 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
9257
73acf815 92582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9259
9260 * coding.c (Ffind_coding_systems_region_internal): Include
9261 raw-text and no-conversion in the result.
9262
73acf815 92632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9264
1f45f627 9265 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
9266 (load_font_get_repertory): Delete unnecessary check of ENCODING of
9267 FONT_DEF.
9268 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 9269 (set_fontset_font): Change argument.
aca7a3d2
MB
9270 (Fset_fontset_font): Fix for the case that TARGET is a script
9271 name and charset name.
9272 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
9273
73acf815 92742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9275
1f45f627
GM
9276 * fontset.c (fontset_font): Rename from fontset_face. Change return
9277 value.
4c4475a8
GM
9278 (face_suitable_for_char_p, face_for_char): Adjust for the change
9279 of fontset_font.
aca7a3d2
MB
9280 (make_fontset_for_ascii_face): Fix setting of the fontset element
9281 for ASCII.
9282 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
9283 to get a font name.
1f45f627 9284 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 9285
10d1d0af 9286 * coding.c (emacs_mule_char): Check invalid code more rigidly.
aca7a3d2
MB
9287
9288 * character.h (LEADING_CODE_LATIN_1_MIN)
9289 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
9290
73acf815 92912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9292
fcb314b2 9293 * editfns.c (check_translation): New function.
aca7a3d2
MB
9294 (Ftranslate_region_internal): Handle M:N mapping.
9295
73acf815 92962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9297
9298 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
9299
73acf815 93002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9301
9302 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
9303 goto invalid_code.
9304 (decode_coding_iso_2022): Fix handling of invalid designation.
9305
9306 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
9307 after calling code_conversion_save.
9308
73acf815 93092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9310
9311 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
9312
9313 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
9314
9315 * fontset.c: Include "intervals.h".
9316 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
9317 (free_face_fontset, new_fontset_from_font_name): Fix
9318 Lisp_Object/int mixup.
aca7a3d2
MB
9319
9320 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
9321
9322 * coding.c: Add many prototypes for static functions.
9323 (get_translation_table): Allow max_lookup to be NULL.
2a2e8de7 9324 (decode_coding, Ffind_coding_systems_region_internal)
4c4475a8
GM
9325 (Funencodable_char_position, Fcheck_coding_systems_region): Call
9326 get_translation_table with max_lookup NULL.
aca7a3d2 9327
73acf815 93282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9329
9330 * coding.c (get_translation_table): Declare it as Lisp_Object.
9331 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
9332 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
9333 instead of CHAR_TABLE_REF.
aca7a3d2 9334
73acf815 93352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9336
1f45f627 9337 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
9338 annotation data format.
9339 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 9340 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 9341 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 9342 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
9343 (decode_coding_ccl, decode_coding_charset): Pay attention to
9344 coding->charbuf_used.
aca7a3d2
MB
9345 (get_translation): New function.
9346 (produce_chars): New arguments translation_table and last_block.
9347 Translate characters here. Return number of carryover chars.
1f45f627
GM
9348 Change caller.
9349 (produce_composition): New argument pos. Change caller.
9350 Adjust for the change of annotation data format.
aca7a3d2
MB
9351 (produce_charset, produce_annotation): Likewise.
9352 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
9353 (consume_chars): New arg translation_table. Change caller.
9354 (translate_chars): Delete.
9355 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 9356
73acf815 93572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9358
9359 * search.c (simple_search): Fix setting this_pos_byte in backward
9360 search.
9361
9362 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
9363 byte sequence.
9364 (detect_coding_ccl): Fix setting of the variable valids.
9365
73acf815 93662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9367
9368 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
9369
9370 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
9371
1f45f627 9372 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
9373 Ftranslate_region. Accept a char-table in TABLE.
9374 (syms_of_editfns): Defsubr Stranslate_region_internal.
9375
9376 * xfaces.c (set_lface_from_font_name): If a font is specified for
9377 a frame, generate a fontset from the font.
9378 (build_scalable_font_name): If the scalable font is requested for
9379 a specific size, don't change that size.
9380 (try_font_list): Try a scalable font also in the case that a
1f45f627 9381 pattern string is specified.
aca7a3d2 9382
73acf815 93832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9384
9385 * xfaces.c (Fface_font): New optional arg CHARACTER.
9386
73acf815 93872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9388
9389 * charset.h (CHARSET_OFFSET): New macro.
9390
73acf815 93912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9392
9393 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
9394
9395 * fontset.c (fontset_face): Handle the case that repertory is a
9396 char-table.
9397 (find_font_encoding): Return nil for unknown encoding.
9398 (Fset_fontset_font): Ignore a font of unknown encoding.
9399
73acf815 94002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9401
1f45f627 9402 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
9403
9404 * fontset.c (fontset_face): Handle fallback fonts correctly.
9405 (Ffontset_info): Return infomation about fallback fonts.
9406
73acf815 94072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9408
9409 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 9410 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
9411 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
9412 the case that it is nil.
9413 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 9414 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
9415
9416 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
9417 subset or superset.
9418
73acf815 94192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9420
9421 * emacs.c (main): Call init_charset after syms_of_XXX.
9422
1f45f627 9423 * charset.c (Vcharset_map_directory): Delete.
1f204af3 9424 (Vcharset_map_path): New variable.
aca7a3d2
MB
9425 (load_charset_map_from_file): Use Vcharset_map_path instead.
9426 (init_charset): Initialize Vcharset_map_path.
9427 (syms_of_charset): Delete declaration of "charset-map-directory",
9428 add declaration of "charset-map-path".
9429
73acf815 94302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9431
4c4475a8
GM
9432 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
9433 ASCII only string.
aca7a3d2
MB
9434
9435 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
9436
9437 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 9438 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 9439
73acf815 94402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9441
9442 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
9443
9444 * coding.c (QCmnemonic, QCdefalut_char)
9445 (QCdecode_translation_table, QCencode_translation_table)
9446 (QCpost_read_conversion, QCpre_write_conversion): New variables.
9447 (get_translation_table): Return a list of translation tables if
9448 necessary.
9449 (decode_coding): Call get_translation_table with ENCODEP 0.
9450 (char_encodable_p): If translation_table is non-nil, always call
9451 translate_char.
9452 (Fdefine_coding_system_internal): Accept list of translation
9453 tables as :encode-translation-table and :decode-translation-table.
9454 (Fcoding_system_put): New function.
9455 (syms_of_coding): Declare new symbols. Defsubr
9456 Scoding_system_put.
4c4475a8
GM
9457 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
9458 typically JISX0212.
aca7a3d2
MB
9459
9460 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
9461 when the charset is superset type.
9462
9463 * character.c (translate_char): Accept list of translation tables.
9464
73acf815 94652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9466
1f45f627 9467 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
9468 (CODING_ATTR_TRANS_TBL): New macro.
9469
9470 * coding.c (get_translation_table): New function.
9471 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
9472 (decode_coding, encode_coding): Utilize get_translation_table.
9473 (char_encodable_p, Funencodable_char_position): Translate char if
9474 necessary.
9475 (Ffind_coding_systems_region_internal)
9476 (Fcheck_coding_systems_region): Setup translation table for encode
9477 in a coding system attribute vector in advance.
aca7a3d2
MB
9478 (Fdefine_coding_system_internal): Allow a symbol as translation
9479 table. For shift-jis type coding system, allow 4th charset.
9480
73acf815 94812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9482
9483 * coding.c (decode_coding_sjis): Check the first byte rigidly.
9484
9485 * xdisp.c (get_next_display_element): Pass -1 as POS to
9486 FACE_FOR_CHAR if displaying a C-string.
9487
73acf815 94882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9489
9490 * composite.c (get_composition_id): Handle xoff and yoff in a
9491 composition rule.
9492
9493 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
9494 (struct composition): New member lbearing and rbearing.
9495
9496 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
9497 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 9498 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
9499
9500 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
9501 composition glyph.
9502
73acf815 95032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9504
9505 * print.c: Include charset.h.
9506 (Vprint_charset_text_property): New variable.
9507 (Qdefault): Extern it.
9508 (PRINT_STRING_NON_CHARSET_FOUND)
9509 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
9510 (print_check_string_result): New variable.
9511 (print_check_string_charset_prop): New function.
9512 (print_prune_charset_plist): New variable.
9513 (print_prune_string_charset): New function.
9514 (print_object): Call print_prune_string_charset if
9515 Vprint_charset_text_property is not t.
183080b6 9516 (print_interval): Print nothing if interval->plist is nil.
aca7a3d2
MB
9517 (syms_of_print): Declare Vprint_charset_text_property as a lisp
9518 variable. Init and staticpro print_prune_charset_plist.
9519
73acf815 95202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9521
9522 * fontset.c (new_fontset_from_font_name): Use the specified font
9523 for all characters in the new fontset.
9524
9525 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9526 OBJECT args.
9527
9528 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
9529 OBJECT args for composition too.
9530
9531 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
9532 OBJECT args.
9533
73acf815 95342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9535
9536 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
9537
1f45f627 9538 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 9539 FONT_DEF format.
1f45f627 9540 (fontset_face): New arg id. Change caller.
aca7a3d2 9541 (face_for_char): New args pos and object.
1f204af3 9542 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
aca7a3d2
MB
9543 (fs_query_fontset): Check NAME by Fassoc too.
9544 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 9545 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 9546
1f45f627 9547 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 9548
4c4475a8
GM
9549 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
9550 (append_space, extend_face_to_end_of_line)
9551 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
9552 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
9553
9554 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
9555 POS and OBJECT args.
9556
9557 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
9558 POS and OBJECT args.
9559
73acf815 95602008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9561
9562 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
9563 of GlobalAlloc'ed memory.
9564
73acf815 95652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9566
9567 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
9568
9569 * charset.h (charset_table_used): Delete extern.
9570
9571 * charset.c (charset_table_used): Make it static.
9572 (map_charset_chars): Fix args to c_function with.
9573
9574 * chartab.c (map_sub_char_table_for_charset): Fix args to
9575 c_function with.
9576
9577 * coding.h (enum coding_result_code): Delete
9578 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
9579
9580 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 9581 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
9582 (Vlast_code_conversion_error): New variables.
9583 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
9584 (ONE_MORE_BYTE): Record error if any instead of signaling an
9585 error. If non-ASCII multibyte char is found, return the negative
9586 value of the code. All callers changed to check it.
9587 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
9588 (record_conversion_result): New function. Change all codes setting
9589 coding->result to call this function.
4c4475a8
GM
9590 (detect_coding_utf_8, decode_coding_utf_8)
9591 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
9592 Don't use the local variable incomplete.
aca7a3d2 9593 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
9594 (decode_coding): Fix of flushing out unprocessed data.
9595 (make_conversion_work_buffer): Fix making of a work buffer.
2a2e8de7 9596 (decode_coding_object): Return coding->dst_object.
aca7a3d2
MB
9597
9598 * fontset.c (set_fontset_font): Fix args.
9599
9600 * lisp.h (CHARACTERBITS): Define as 22.
9601
9602 * process.c (send_process): Be sure to set coding->src_multibyte.
9603
9604 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
9605
73acf815 96062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9607
9608 * xdisp.c (handle_auto_composed_prop): Give limit to
9609 Fnext_single_char_property_change.
9610
73acf815 96112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9612
424c157f 9613 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 9614 table weak.
aca7a3d2
MB
9615
9616 * fontset.c (Fset_fontset_font): Fix docstring.
9617
9618 * lisp.h (detect_coding_system): Adjust prototype.
9619
9620 * fileio.c (kill_workbuf_unwind): Delete this function.
9621 (Finsert_file_contents): Adjust the call of detect_coding_system.
10d1d0af 9622 Get conversion_buffer by code_conversion_save. Use the macro
aca7a3d2
MB
9623 CODING_MAY_REQUIRE_DECODING. After decoding, update
9624 coding_system.
9625
9626 * coding.h (make_conversion_work_buffer): Delete extern.
9627 (code_conversion_save): Extern it.
9628
9629 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 9630 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
9631 (decode_coding_utf_8): Don't do eol converion.
9632 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 9633 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
9634 (decode_coding_emacs_mule, decode_coding_iso_2022)
9635 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
9636 Don't do eol converion.
aca7a3d2
MB
9637 (adjust_coding_eol_type): Return a new coding system.
9638 (detect_coding): Don't detect eol. Fix for utf-16 detection.
9639 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
9640 each change.
10d1d0af 9641 (decode_coding): Pay attention to undo_list. Do eol conversion for
aca7a3d2
MB
9642 all types of coding-systems (if necessary).
9643 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 9644 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
9645 Vcode_conversion_reused_work_buf.
9646 (Vcode_conversion_workbuf_name): New variable.
9647 (reused_workbuf_in_use): New variable.
9648 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 9649 (code_conversion_restore): Change argument to cons.
1f45f627
GM
9650 (code_conversion_save): Delete the argument BUFFER. Change callers.
9651 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
9652 Fix for utf-16 detection.
9653 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 9654 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
9655 reused_workbuf_in_use.
9656
73acf815 96572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9658
9659 * keymap.c (store_in_keymap): Pay attention to the case that idx
9660 is a cons specifying a character range.
9661
73acf815 96622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9663
9664 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
9665 HANDLED_RECOMPUTE_PROPS.
9666
9667 * coding.c (Fdefine_coding_system_internal): Fix checking of
9668 ascii compatibility.
9669
73acf815 96702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9671
1f45f627 9672 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
9673 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
9674
9675 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
9676 Resync charset_list to Vemacs_mule_charset_list.
9677
9678 * keymap.c (store_in_keymap): Pay attention to the case that idx
9679 is a cons specifying a character range.
9680
73acf815 96812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9682
9683 * composite.c (update_compositions): Bind inhibit-read-only, etc
9684 to t before calling remove-list-of-text-properties.
9685
9686 * print.c (print_object): Always print ASCII chars as is.
9687
73acf815 96882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9689
1f45f627 9690 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 9691
4c4475a8
GM
9692 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
9693 is a char table.
aca7a3d2 9694
73acf815 96952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9696
1f45f627 9697 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 9698
73acf815 96992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9700
9701 * xfaces.c (set_lface_from_font_name): Fix for the case that
9702 FONTNAME is not fontset name.
9703
73acf815 97042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9705
9706 * fns.c (base64_encode_1): Fix previous change.
9707
73acf815 97082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9709
9710 * fontset.c (set_fontset_font): New function.
9711 (Fset_fontset_font): If a font is specified for a charset, use
9712 map_charset_chars to store the font spec in a fontset.
9713
73acf815 97142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9715
1f204af3 9716 * fontset.c (fontset_face): Create a fallback fontset on demand.
aca7a3d2
MB
9717 (make_fontset): Don't create a fallback fontset here.
9718 (free_face_fontset): Free a fallback fontset (if any) too.
9719 (n_auto_fontsets): Delete this variable.
9720 (auto_fontset_alist): New variable.
9721 (new_fontset_from_font_name): Check auto_fontset_alist.
9722 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
9723 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
9724 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
9725 Defsubr Sfontset_list_all.
9726
73acf815 97272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9728
9729 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
9730
73acf815 97312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9732
9733 * fontset.c (Fnew_fontset): Check NAME more rigidly.
9734
73acf815 97352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9736
9737 * editfns.c (Fgoto_char): Fix docstring.
9738
73acf815 97392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9740
9741 * insdel.c (insert_from_gap): Adjust intervals correctly.
9742
73acf815 97432008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9744
9745 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
9746 (pfnGetFontUnicodeRanges): New dynamically loaded function.
9747 (w32_initialize): Try to load it.
9748 (x_get_font_repertory): Use it if available.
9749 (w32_encode_char): Add shortcut for unicode output.
9750
9751 * w32fns.c (w32_load_system_font): Default charset to -1.
9752 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 9753 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
9754 or wildcard charsets.
9755 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
9756 (w32_codepage_for_font): Return CP_UNICODE for unicode.
9757 (w32_to_x_font): Match charset to real charset.
9758 (enum_font_cb2): Always list unicode versions.
9759
9760 * makefile.w32-in (temacs): Increase EMHEAP.
9761
73acf815 97622008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
9763
9764 * w32term.c (w32_encode_char): New charset parameter.
9765 font_info.encoding becomes encoding_type.
1f45f627 9766 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
9767 (x_new_font): Return quickly if font already set.
9768 (x_new_fontset): fontsetname parameter is Lisp_Object.
2a2e8de7
JB
9769 Use new fs_query_fontset. Try new_fontset_from_font_name.
9770 Use fontset_name for return value.
aca7a3d2
MB
9771
9772 * w32term.h: Declare x_get_font_repertory.
9773
9774 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 9775 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
9776 of encode_coding.
9777 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
9778 decode_coding.
9779
9780 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
9781 of x_new_fontset.
9782 (w32_load_system_font): Initialize charset as unicode.
9783 font_info.encoding becomes encoding_type.
1f45f627
GM
9784 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
9785 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
9786 (syms_of_w32fns): Set get_font_repertory_func.
9787
1f45f627 9788 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 9789 from term.c.
1f45f627 9790 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
9791 encode_coding_object in place of encode_coding.
9792
9793 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
9794 encoding becomes encoding_type.
9795
9796 * term.c (terminal_encode_buffer): Make externally visible.
9797
9798 * makefile.w32-in: Add character.h dependancies.
9799 (character.o, chartab.o): New targets.
9800
73acf815 98012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9802
9803 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 9804 CODING_ID_EOL_TYPE.
aca7a3d2 9805
73acf815 98062008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
9807
9808 * coding.c (produce_chars): Revert last change.
9809
73acf815 98102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9811
9812 * charset.h (charset_unicode): Extern it.
9813
9814 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 9815 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 9816 arg MULTIBYTE.
1f45f627 9817 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
9818 change of find_charsets_in_text.
9819 (Fsplit_char): Fix doc. Never return unknown.
9820
10d1d0af 9821 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
aca7a3d2
MB
9822
9823 * coding.c (Fdefine_coding_system_alias): Update
9824 Vcoding_system_list.
9825
9826 * fontset.c (load_font_get_repertory): Pay attention to the case
9827 that ENCODING of a font is specified by a char-table.
9828
9829 * xterm.c (x_get_font_repertory): Handle the case that the
9830 encoding of font is other than Unicode.
9831
73acf815 98322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9833
9834 * term.c (encode_terminal_code): Don't handle glyph-table. Check
9835 if a character is encodable by the terminal coding system. If
9836 not, produces proper number of `?'s. Update
9837 terminal_encode_buffer and terminal_encode_buf_size if necessary.
9838 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
9839
73acf815 98402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9841
9842 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
9843 variables.
1f45f627 9844 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
9845 characters at once. Store the result of encoding in
9846 terminal_encode_buffer.
4c4475a8
GM
9847 (write_glyphs, insert_glyphs): Adjust for the change of
9848 encode_terminal_code.
aca7a3d2
MB
9849 (term_init): Initialize terminal_encode_buffer and
9850 terminal_encode_buf_size.
9851
9852 * coding.c (consume_chars): If coding->src_object is nil, don't
9853 check annotation.
9854
73acf815 98552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9856
9857 * character.c (char_string): Use ASCII_CHAR_P instead of
9858 SINGLE_BYTE_CHAR_P.
9859
73acf815 98602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9861
9862 * xdisp.c (handle_auto_composed_prop): Check if the last
9863 characters of auto-composed region is newly composed with the
9864 following characters.
9865 (handle_composition_prop): Fix checking of point being inside
9866 composition.
9867
73acf815 98682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9869
9870 * fns.c (concat): Don't change multibyteness of the result by
9871 concatenating an 8-bit character.
9872
9873 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
9874 multibyteness of the result when newelt is an 8-bit character.
9875
73acf815 98762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9877
9878 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
9879 EMACS_INT.
9880
9881 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
9882
9883 * xfaces.c (face_numeric_value): Declare dim size_t.
9884 (Finternal_lisp_face_equal_p): Remove unused f.
9885
9886 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
9887 (MATRIX_ROW): Remove unused vars.
9888 (draw_glyphs, x_insert_glyphs, fast_find_position)
9889 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
9890 byte/char counts.
9891
9892 * regex.c (regex_compile): Remove unused var.
9893
9894 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
9895
9896 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9897 (Faccessible_keymaps, where_is_internal): Remove unused vars.
9898
9899 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
9900
9901 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
9902
9903 * fileio.c (Fwrite_region): Remove unused var.
9904
9905 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
9906 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
9907
9908 * composite.c (Fremove_list_of_text_properties): Declare.
9909
1f45f627
GM
9910 * coding.c (inhibit_pre_post_conversion): Remove (unused).
9911 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
9912 (coding_inherit_eol_type): Remove unused attrs.
9913 (detect_coding): Cast arg of detect_eol.
9914
9915 * charset.c (syms_of_charset): Remove unused var p.
9916 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
9917 byte/char counts.
9918
9919 * casetab.c (set_case_table): Remove unused var.
9920
9921 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 9922 unused vars.
aca7a3d2 9923
73acf815 99242008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9925
9926 * xterm.c (x_bitmap_mask): Declare.
9927
73acf815 99282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9929
9930 * xterm.c (x_term_init): Fix type error.
9931
9932 * lisp.h: Add Funibyte_char_to_multibyte.
9933
9934 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
9935 (Fset_coding_system_priority): Doc fix.
9936
aca7a3d2
MB
9937 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
9938
9939 * indent.c (check_composition): Make start and end EMACS_INT.
9940
9941 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
9942
9943 * xdisp.c (handle_composition_prop, check_point_in_composition):
9944 Make buffer positions EMACS_INT.
9945
9946 * composite.c (find_composition, run_composition_function)
9947 (update_compositions, Ffind_composition_internal): Make buffer
9948 positions EMACS_INT.
9949
9950 * composite.h (find_composition, update_compositions): Make
9951 position args EMACS_INT.
9952
1f45f627 9953 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
9954
9955 * intervals.c (get_property_and_range):
9956 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
9957
9958 * unexalpha.c: Don't include varargs.h.
9959
73acf815 99602008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
9961
9962 * coding.h (ENCODE_UTF_8): New.
9963
9964 * Makefile.in (gtkutil.o): Depend on coding.h.
9965
9966 * coding.c (Fset_coding_system_priority): Doc fix.
9967
73acf815 99682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9969
9970 * fileio.c (Finsert_file_contents): Call setup_coding_system in
9971 the case of auto saving.
9972
73acf815 99732008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 9974
4c4475a8
GM
9975 * chartab.c (map_char_table, map_char_table_for_charset): Protect
9976 `range' from GC.
aca7a3d2 9977
73acf815 99782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9979
9980 * coding.c (decode_coding_sjis): Check bytes more rigidly.
9981
73acf815 99822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 9983
1f45f627 9984 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
9985 (Fwrite_region): Set Vlast_coding_system_used to the return value
9986 of choose_write_coding_system.
9987
73acf815 99882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
9989
9990 * charset.c (Fset_charset_priority): Pay attention to duplicated
9991 arguments.
9992
9993 * coding.c (QCcategory): New variable.
9994 (syms_of_coding): Defsym it. Set all elements of
9995 Vcoding_category_table and their symbol values.
9996 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
9997 coding-category-XXX, and coding-category-list.
9998 (Fdefine_coding_system_internal): Add category in the plist.
9999
73acf815 100002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10001
10002 * callproc.c (Fcall_process): Handle carryover correctly.
10003
1f45f627 10004 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
10005 (raw_text_coding_system): Check NILP (coding_system).
10006 (coding_inherit_eol_type): Check NILP (coding_system) and
10007 NILP (parent).
10008 (consume_chars): Fix for the case of raw-text.
10009
10010 * process.c (read_process_output): Handle carryover correctly.
10011
73acf815 100122008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10013
10014 * regex.c (re_search_2): Fix last change.
10015
73acf815 100162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10017
10018 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
10019 target_multibyte. Even in a unibyte case, return a converted
10020 multibyte char.
10021 (GET_CHAR_AFTER): New macro.
10022 (PATFETCH): Translate via multibyte char.
10023 (HANDLE_UNIBYTE_RANGE): Delete this macro.
10024 (SETUP_MULTIBYTE_RANGE): New macro.
10025 (regex_compile): Setup compiled code so that its multibyteness
10026 matches that of a target. Fix the handling of "[X-YZ]" using
10027 SETUP_MULTIBYTE_RANGE.
10028 (analyse_first) <charset>: For filling fastmap for all multibyte
10029 characters, don't check by BASE_LEADING_CODE_P.
10030 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
10031 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 10032 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
10033 (TARGET_CHAR_AND_LENGTH): Delete this macro.
10034 (TRANSLATE_VIA_MULTIBYTE): New macro.
10035 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
10036 It is the same as RE_MULTIBYTE_P (bufp) now.
10037 <exactn>: Translate via multibyte.
10038 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
10039 translate it.
10040 <charset, charset_not>: Fetch a character by
10041 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
10042 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
10043 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
10044 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
10045 by GET_CHAR_AFTER.
c5ad7a3d 10046 (bcmp_translate): Likewise.
aca7a3d2
MB
10047
10048 * search.c (compile_pattern): Check the member target_multibyte,
10049 not the member multibyte of buf.
10050
10051 * lread.c (read1): While reading a string, set force_singlebyte
10052 and force_multibyte correctly.
10053
4c4475a8
GM
10054 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
10055 up of unibyte_to_multibyte_table.
aca7a3d2 10056
73acf815 100572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10058
10059 * coding.c (setup_coding_system): If coding has
10060 post-read-conversion or pre-write-conversion, set
10061 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
10062 respectively.
10063 (decode_coding_gap): Run post-read-conversion if any.
10064
10065 * fileio.c (Finsert_file_contents): Even if we read into a
10066 unibyte buffer, check if we must decode the result or not.
10067
73acf815 100682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10069
10070 * coding.c (make_conversion_work_buffer): Change the work buffer
10071 name to the same one as that of Emacs 21.
10072
73acf815 100732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10074
1f45f627 10075 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
10076 (code_conversion_restore): Don't extern it.
10077
10078 * coding.c (detected_mask): Delete unused variable.
10079 (decode_coding_iso_2022): Pay attention to the byte sequence of
10080 CTEXT extended segment, and retain those bytes as is.
10081 (decode_coding_ccl): Delete unused variable `valids'.
10082 (setup_coding_system): Delete unused variable `category'.
10083 (consume_chars): Delete unused variable `category'. Make it work
10084 for non-multibyte case.
1f45f627 10085 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
10086 (saved_coding): Delete unused variable.
10087 (code_conversion_restore): Don't check saved_coding->destination.
10088 (code_conversion_save): New function.
10089 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
10090 instead of record_unwind_protect.
1f45f627 10091 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 10092 (detect_coding_system): Delete unused variable `mask'.
10d1d0af 10093 (Fdefine_coding_system_internal): Delete unused variable id.
aca7a3d2
MB
10094
10095 * fileio.c (kill_workbuf_unwind): New function.
10096 (Finsert_file_contents): On replacing, call
10097 make_conversion_work_buffer with correct args, and call
10098 record_unwind_protect with the first arg kill_workbuf_unwind.
10099
10100 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
10101
73acf815 101022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10103
1f45f627 10104 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
10105 (fontset_add): Fix for the case that TO is less than TO1.
10106 (Ffontset_info): Don't use fallback fontset on checking the
10107 default fontset.
10108 (dump_fontset): New function for debugging.
10109
10110 * coding.c (Fdefine_coding_system_internal): Fix for the case that
10111 coding_type is Qcharset.
10112
73acf815 101132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10114
10115 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
10116 (map_char_table): Don't inherit the value from the parent on
1f45f627 10117 initializing VAL. Adjust for the above change.
aca7a3d2 10118
73acf815 101192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10120
10121 * coding.c (Qsignature, Qendian): Delete these variables.
10122 (syms_of_coding): Don't initialize them.
10123 (CATEGORY_MASK_UTF_16_AUTO): New macro.
10124 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
10125 detect_info->found.
10126 (decode_coding_utf_16): Don't detect BOM here.
10127 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
10128 is NOT utf_16_without_bom.
10129 (setup_coding_system): For a coding system of type utf-16, check
10130 if the attribute :endian is Qbig or not (not nil or not), and set
10131 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
10132 (detect_coding): If coding type is utf-16 and BOM detection is
10133 required, detect it.
10134 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 10135 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 10136
73acf815 101372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10138
10139 * coding.c (coding_set_source): Fix for the case that the current
10140 buffer is different from coding->src_object.
10141 (decode_coding_object): Don't use the conversion work buffer if
10142 DST_OBJECT is a buffer.
10143
73acf815 101442008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10145
10146 * lread.c (read_emacs_mule_char) [len==2]: Index
10147 emacs_mule_charset correctly.
10148
73acf815 101492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10150
10151 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
10152 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 10153 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
10154 treated specially.)
10155 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
10156 (detected_mask): Remove Big5 bits.
10157
73acf815 101582008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10159
10160 The following changes are to make the font rescaling facility
10161 compatible with Emacs 21.
10162
1f45f627 10163 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
10164 Vface_resizing_fonts.
10165 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 10166 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
10167 (split_font_name): Set font->rescale_ratio.
10168 (better_font_p): Pay attention to font->rescale_ratio.
10169 (build_scalable_font_name): Likewise. Change RESX, and RESY
10170 fields.
1f45f627 10171 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 10172
73acf815 101732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10174
10175 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
10176 (Qutf_16_le): Remove these variables.
10177 (syms_of_coding): Don't DEFSYM them.
10178 (decode_coding_utf_16): Fix handling of BOM.
10179 (encode_coding_utf_16): Fix handling of BOM.
10180
73acf815 101812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10182
10183 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 10184 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 10185
73acf815 101862008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10187
10188 * coding.c (Fcheck_coding_systems_region): Fix type errors.
10189
73acf815 101902008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10191
10192 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10193 and fix C types.
10194
73acf815 101952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10196
10197 * xdisp.c (SKIP_GLYPHS): New macro.
10198 (set_cursor_from_row): Pay attention to string display properties.
10199
10200 * category.c (copy_category_entry): Fix for the case that RANGE
10201 is an integer.
10202
10203 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
10204
1f45f627 10205 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 10206
73acf815 102072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10208
10209 * charset.c (Fcharset_id_internal): New function.
10210 (syms_of_charset): Defsubr it.
10211
10212 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
10213 with the last arg charset_list acquired from coding.
10214 (Fdefine_coding_system_internal): For ccl-based coding system, fix
10215 the attribute coding_attr_ccl_valids.
10216
10217 * coding.h (enum define_coding_ccl_arg_index): Set the first
10218 member coding_arg_ccl_decoder to coding_arg_max.
10219
1f45f627 10220 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
10221
10222 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
10223 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
10224 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
10225 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
10226 last arg Qnil.
aca7a3d2 10227
73acf815 102282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10229
10230 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
10231 call encode_char.
10232
1f45f627 10233 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 10234
73acf815 102352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10236
1f45f627 10237 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 10238
73acf815 102392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10240
10241 * dispextern.h (check_face_attributes, generate_ascii_font_name)
10242 (font_name_registry): Don't extern them.
1f45f627 10243 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
10244
10245 * fontset.h (Qfontset): Don't extern it.
10246 (new_fontset_from_font_name): Extern it.
10247
10248 * fontset.c: Give 8 extra slots to fontset objects.
10249 (Qfontset_info): New variable.
10250 (syms_of_fontset): Defsym it.
10251 (FONTSET_FALLBACK): New macro.
10252 (fontset_face): Try also the default fontset.
1f45f627
GM
10253 (make_fontset): Realize a fallback fontset from the default fontset.
10254 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
10255 using split_font_name_into_vector and build_font_name_from_vector.
10256 (Fset_fontset_font): Access the elements of font_spec by enum
10257 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
10258 name by using split_font_name_into_vector.
10259 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
10260 generate a proper font name from the fontset name. Update
10261 Vfontset_alias_alist.
10262 (n_auto_fontsets): New variable.
10263 (new_fontset_from_font_name): New function.
10264 (Ffont_info): Store the information about fonts generated from the
1f45f627 10265 default fontset in the first extra slot of the returned char-table.
aca7a3d2 10266
1f45f627
GM
10267 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
10268 (font_name_registry): Delete function.
aca7a3d2
MB
10269 (split_font_name_into_vector): New function.
10270 (build_font_name_from_vector): New function.
1f45f627 10271 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
10272 (choose_face_font): If we are choosing an ASCII font, and ATTRS
10273 specifies an explicit font name, return the name as is. Make a
10274 list of registy names.
10275
1f45f627 10276 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
10277 of x_new_fontset.
10278 (Fx_create_frame): Don't call x_new_fontset here. Just use
10279 x_list_fonts to check the existence of fonts.
10280
1f45f627 10281 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
10282
10283 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
10284 string. Use new_fontset_from_font_name to create a fontset from a
10285 font name.
10286
1c8658b9
GM
102872008-02-01 Kenichi Handa <handa@m17n.org>
10288
10289 * syntax.c (Vfind_word_boundary_function_table): New name for
10290 Vnext_word_boundary_function_table.
10291 (find-word-boundary-function-table): New name for
10292 next-word-boundary-function-table.
10293
73acf815 102942008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10295
10296 * Makefile.in: Fix some dependencies.
10297
10298 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
10299 set it to nil before returning.
10300
10301 * composite.c (update_compositions): Fix type error.
10302
10303 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
10304
73acf815 103052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10306
10307 * xterm.c (x_new_font): Optimize for the case that the font is
10308 already set for the frame.
10309
73acf815 103102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10311
10312 * chartab.c (char_table_ascii): Check if the char table contents
10313 is sub-char-table or not.
4c4475a8
GM
10314 (char_table_set, char_table_set_range): Fix argument to
10315 char_table_ascii.
aca7a3d2
MB
10316
10317 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
10318 (detect_coding_utf_8, detect_coding_utf_16)
10319 (detect_coding_emacs_mule, detect_coding_iso_2022)
10320 (detect_coding_sjis, detect_coding_big5)
10321 (detect_coding_ccl, detect_coding_charset): Change argument MASK
10322 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 10323 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
10324 (MAX_ANNOTATION_LENGTH): New macro.
10325 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
10326 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
10327 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 10328 (ADD_CHARSET_DATA): New macro.
1f45f627 10329 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
10330 (decode_coding_emacs_mule, decode_coding_iso_2022)
10331 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
10332 Produce charset annotation data in coding->charbuf.
10333 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
10334 to charset annotation data in coding->charbuf.
10335 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
10336 coding->common_flags if the coding system is iso-2022 based and
10337 uses designation.
1f45f627 10338 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
10339 (produce_charset): New function.
10340 (produce_annotation): Handle charset annotation.
10341 (handle_composition_annotation, handle_charset_annotation): New
10342 functions.
10343 (consume_chars): Handle charset annotation. Utilize the above two
10344 functions.
10345 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
10346 buffer, get the deleted text as a string and set
10347 coding->src_object to that string.
10348 (detect_coding, detect_coding_system): Use the new struct
10349 coding_detection_info.
10350
10351 * coding.h (struct coding_detection_info): New structure.
1f45f627 10352 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
10353 (CODING_ANNOTATE_CHARSET_MASK): New macro.
10354
73acf815 103552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10356
10357 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
10358
73acf815 103592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10360
1f45f627 10361 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
10362 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
10363 to new local and nullify apropos_accumulate before returning.
10364 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
10365
73acf815 103662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10367
10368 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
10369 correctly.
10370
73acf815 103712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10372
10373 * fns.c (Flanginfo): Call synchronize_system_time_locale.
10374
73acf815 103752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10376
10377 The following changes are to make character composition happen
10378 automatically on displaying.
10379
2a2e8de7 10380 * Makefile.in (lisp, shortlisp): Add composite.elc.
aca7a3d2 10381
1f45f627
GM
10382 * composite.h (Qauto_composed, Vauto_composition_function)
10383 (Qauto_composition_function): Extern them.
aca7a3d2 10384
1f45f627
GM
10385 * composite.c (Vcomposition_function_table)
10386 (Qcomposition_function_table): Delete variables.
10387 (Qauto_composed, Vauto_composition_function)
10388 (Qauto_composition_function): New variables.
aca7a3d2
MB
10389 (run_composition_function): Don't call
10390 compose-chars-after-function.
10391 (update_compositions): Clear `auto-composed' text property.
10392 (compose_chars_in_text): Delete this function.
10393 (syms_of_composite): Staticpro Qauto_composed and
10394 Qauto_composition_function. Declare Vauto_composition_function as
10395 a Lisp variable.
10396
10397 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
10398
10399 * xdisp.c (it_props): Add an entry for Qauto_composed.
10400 (handle_auto_composed_prop): New function.
10401
10402 * xselect.c (selection_data_to_lisp_data): Don't call
10403 compose_chars_in_text.
10404
73acf815 104052008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10406
10407 * keyboard.c (read_char): Modify checking around use of
10408 Vkeyboard_translate_table.
10409
10410 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10411 and fix C types.
10412
73acf815 104132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10414
4c4475a8
GM
10415 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
10416 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10417 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 10418 the case that the last byte is '\r' correctly.
1f45f627
GM
10419 (decode_coding): Flush out the unprocessed data correctly.
10420 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 10421
73acf815 104222008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10423
f245f2c6
JB
10424 * xterm.c (XTread_socket): Fix changes for defined keysyms.
10425 Add XK_ISO... case.
aca7a3d2
MB
10426 (xaw_scroll_callback): Revert last change.
10427
73acf815 104282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10429
1f45f627 10430 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 10431
73acf815 104322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10433
10434 * xfaces.c (Vface_resizing_fonts): New variable.
10435 (struct font_name): New member `resizing_ratio'.
10436 (font_resizing_ratio): New function.
10437 (split_font_name): Set font->resizing_ratio.
10438 (better_font_p): Pay attention to font->resizing_ratio.
10439 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
10440 RESX, and RESY fields.
10441 (try_alternative_families): Try scalable fonts if
10442 Vscalable_fonts_allowed is not Qt.
10443 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
10444
73acf815 104452008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10446
10447 * xterm.c (xaw_scroll_callback): Cast correctly.
10448
73acf815 104492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10450
10451 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
10452 (lispy_kana_keys): Comment out.
10453 (make_lispy_event) [XK_kana_A]: Comment out.
10454
10455 * xterm.c (xaw_scroll_callback): Cast call_data.
10456 (XTread_socket): Deal with ASCII keysyms.
10457 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
10458
73acf815 104592008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10460
10461 * xterm.c (Vx_keysym_table): New.
10462 (syms_of_xterm): Initialize it.
10463 (XTread_socket): Use it.
10464 From head: Eliminate incorrect optimization that tried to avoid
10465 decoding the output of X*LookupString.
10466 (x_get_font_repertory): Delete charset declaration.
10467
73acf815 104682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10469
1f45f627
GM
10470 * coding.c (detect_coding_charset): If only ASCII bytes are found,
10471 return 0.
aca7a3d2
MB
10472 (Fdefine_coding_system_internal): Setup
10473 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
10474
73acf815 104752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10476
10477 * coding.c (Fcheck_coding_system): Doc fix.
10478
10479 * editfns.c (Finsert_byte): Return a proper value.
10480
73acf815 104812008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10482
10483 * coding.c (decode_coding): Fix args to translate_chars. Pay
10484 attention to Vstandard_translation_table_for_decode.
10485 (encode_coding): Fix args to translate_chars. Pay attention to
10486 Vstandard_translation_table_for_encode.
10487
10488 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
10489 SINGLE_BYTE_CHAR_P.
10490
10491 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
10492 not by SINGLE_BYTE_CHAR_P.
10493
10494 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
10495 SINGLE_BYTE_CHAR_P.
10496
10497 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
10498 SINGLE_BYTE_CHAR_P.
10499
10500 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
10501 by SINGLE_BYTE_CHAR_P.
10502
10503 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
10504 SINGLE_BYTE_CHAR_P.
10505
73acf815 105062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10507
10508 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
10509
73acf815 105102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10511
10512 * fns.c (Flanginfo): Fix typo.
10513
10514 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
10515
73acf815 105162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10517
4c4475a8
GM
10518 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
10519 (detect_coding_emacs_mule, detect_coding_iso_2022)
10520 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
10521 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 10522 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 10523 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 10524 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 10525
73acf815 105262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10527
1f45f627
GM
10528 * character.c (char_string): Rename from
10529 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
10530 (string_char): Rename from string_char.
aca7a3d2 10531
4c4475a8
GM
10532 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
10533 if C is greater than MAX_3_BYTE_CHAR.
10534 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
10535 string_char instead of string_char_with_unification.
aca7a3d2 10536
73acf815 105372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10538
10539 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
10540
73acf815 105412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10542
1f45f627 10543 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
10544
10545 * regex.c (re_search_2): Fix for the case of unibyte buffer.
10546
73acf815 105472008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10548
10549 * charset.c (define_charset_internal): Rename `supprementary'.
10550
10551 * Makefile.in (lisp, shortlisp): Remove latin-N.
10552
73acf815 105532008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10554
10555 * xfns.c (x_window, x_window): Use use_xim.
10556
10557 * xterm.c (use_xim): Initialize.
10558 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
10559 (x_term_init): Maybe set use_xim.
10560
10561 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
10562
73acf815 105632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10564
10565 * search.c (search_buffer): Fix case-fold-search of multibyte
10566 characters.
10567 (boyer_moore): Rename the last argument to char_high_bits.
10568
73acf815 105692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10570
10571 * xdisp.c (display_string): Fix for the case of zero width glyph.
10572
10573 * xfns.c (x_set_font): Change the error message of the case that
10574 x_new_fontset returns Qt.
10575
10576 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
10577 (Finternal_set_lisp_face_attribute): Use signal_error for the
10578 error of invalid fontset.
10579
10580 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
10581 fontset, return Qt.
10582
73acf815 105832008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10584
aca7a3d2
MB
10585 * unexelf.c (unexec): Make .got handling not SGI-specific.
10586
10587 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
10588
10589 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
10590
10591 * keyboard.c (read_key_sequence): Fix type error.
10592
10593 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
10594 type error.
10595
10596 * fontset.c (fontset_add): Return Lisp_Object.
10597
73acf815 105982008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10599
10600 * charset.h (charset_ordered_list_tick): Declare extern.
10601
73acf815 106022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10603
73acf815 10604 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
10605 for handling syntax, category, and case conversion for unibyte
10606 characters by converting them to multibyte on the fly. With these
10607 changes, we don't have to setup syntax and case tables for unibyte
10608 characters in each language environment.
10609
10610 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
10611 multibyte if necessary.
10612
10613 * bytecode.c (Fbyte_code): Likewise.
10614
10615 * character.h (LEADING_CODE_LATIN_1_MIN)
10616 (LEADING_CODE_LATIN_1_MAX): New macros.
10617 (unibyte_to_multibyte_table): Extern it.
10618 (unibyte_char_to_multibyte): New macro.
10619 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
10620 (CHAR_LEADING_CODE): New macro.
10621 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
10622
10623 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 10624 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
10625 (multibyte_char_to_unibyte): If C is an eight-bit character,
10626 convert it to the corresponding byte value.
10627
10628 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
10d1d0af 10629 not 1, signals an error. Update the elements of
aca7a3d2
MB
10630 unibyte_to_multibyte_table.
10631 (init_charset_once): Initialize unibyte_to_multibyte_table.
10632 (syms_of_charset): Define the charset `iso-8859-1'.
10633
aca7a3d2
MB
10634 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
10635 as is without converting it to unibyte. In a unibyte buffer,
10636 convert C to multibyte before checking the syntax.
10637
1f45f627 10638 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
10639
10640 * minibuf.c (Fminibuffer_complete_word): Use the macro
10641 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
10642
10643 * regex.h (struct re_pattern_buffer): New member target_multibyte.
10644
10645 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
10646 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
10647 that is zero, convert an eight-bit char to multibyte.
10648 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
10649 non-emacs case.
10650 (PATFETCH): Convert an eight-bit char to multibyte.
10651 (HANDLE_UNIBYTE_RANGE): New macro.
10652 (regex_compile): Setup the compiled pattern for multibyte chars
10653 even if the given regex string is unibyte. Use PATFETCH_RAW
10654 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 10655 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 10656 only for ASCII chars.
1f45f627 10657 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
10658 is multibyte.
10659 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
10660 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 10661 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
10662 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
10663 multibyte always 1.
10664 (re_search_2): In emacs, set the locale variable multibyte to 1,
10665 otherwise to 0. New local variable target_multibyte. Check it
10666 to decide the multibyteness of STR1 and STR2. If
10667 target_multibyte is zero, convert unibyte chars to multibyte
10668 before translating and checking fastmap.
10669 (TARGET_CHAR_AND_LENGTH): New macro.
10670 (re_match_2_internal): In emacs, set the locale variable multibyte
10671 to 1, otherwise to 0. New local variable target_multibyte. Check
10672 it to decide the multibyteness of STR1 and STR2. Use
10673 TARGET_CHAR_AND_LENGTH to fetch a character from D.
10674 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 10675 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
10676 target_multibyte, not with multibyte.
10677 <begline>: Declare the local variable C as `unsigned'.
10678 (bcmp_translate): Change the last arg name to target_multibyte.
10679
10680 * search.c (compile_pattern_1): Don't adjust the multibyteness of
10681 the regexp pattern and the matching target. Set cp->buf.multibyte
10682 to the multibyteness of the regexp pattern. Set
1f45f627 10683 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
10684 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
10685 FETCH_STRING_CHAR_ADVANCE.
10686 (Freplace_match): Convert unibyte chars to multibyte.
10687
4c4475a8
GM
10688 * syntax.c (char_quoted, back_comment, scan_words)
10689 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
10690 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 10691 unibyte chars to multibyte.
1f45f627
GM
10692 (skip_chars): Delete the arg syntaxp, and move the code for
10693 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
10694 Fix the case that the multibyteness of STRING and the current
10695 buffer doesn't match.
10696 (skip_syntaxes): New function.
10697 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
10698 SINGLE_BYTE_CHAR_P.
aca7a3d2 10699
73acf815 107002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10701
10702 * xfaces.c (QCfontset): New variable.
10703 (LFACE_FONTSET): New macro.
10704 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
10705 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
10706 (Finternal_set_lisp_face_attribute)
10707 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
10708 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
10709 check also LFACE_FONTSET_INDEX.
10710 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
10711 attrs[LFACE_FONT_INDEX].
10712 (syms_of_xfaces): Intern and staticpro QCfontset.
10713
10714 * dispextern.h (enum lface_attribute_index): New member
10715 LFACE_FONTSET_INDEX.
10716
10717 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
10718
73acf815 107192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10720
10721 * coding.c (coding_set_destination): Fix coding->destination for
10722 the case converting a region.
10723 (encode_coding_utf_8): Encode eight-bit chars as single byte.
10724 (encode_coding_object): Fix coding->dst_pos and
10725 coding->dst_pos_byte for the case converting a region.
10726
10727 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
10728
10729 * character.h (BYTE8_STRING): New macro.
10730
10731 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
10732
73acf815 107332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10734
10735 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
10736 characters by octal form.
10737
10738 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10739
1f45f627 10740 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
10741 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
10742 _fetch_multibyte_char_len.
aca7a3d2
MB
10743 (FETCH_CHAR_AS_MULTIBYTE): New macro.
10744
1f45f627 10745 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 10746
1f45f627 10747 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 10748 the case conversion change the byte length.
1f45f627 10749 (casify_region): Likewise.
aca7a3d2 10750
1f45f627 10751 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 10752
10d1d0af 10753 * character.c (_fetch_multibyte_char_len): Delete this variable.
aca7a3d2
MB
10754 (syms_of_character): Setup Vprintable_chars.
10755
10756 * editfns.c (Fchar_equal): Fix for the unibyte case.
10757 (Finsert_byte): New function.
10758 (syms_of_editfns): Defsubr it.
10759
10760 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
10761 of direct code 0x3ffff.
10762
10763 * search.c (Freplace_match): Fix for the unibyte case.
10764
73acf815 107652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10766
10767 * lread.c (safe_to_load_p): Fix the logic.
10768
10769 * syntax.c (scan_words): Don't treat characters belonging to
10770 different scripts as constituting a word.
10771
10772 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
10773
1f45f627 10774 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
10775
10776 * emacs.c (main): In the case of --unibyte, instead of aborting on
10777 finding non-empty buffer, make it unibyte.
10778
73acf815 107792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10780
10781 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
10782 to create a fontset.
10783
73acf815 107842008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10785
10786 * character.c (Funibyte_char_to_multibyte): Doc fix.
10787
10788 * xfns.c [HAVE_STDLIB_H]: Fix last change.
10789
73acf815 107902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10791
10792 * fontset.c (fontset_add): Make the type `int'.
10793 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
10794
4c4475a8
GM
10795 * character.c (unibyte_char_to_multibyte)
10796 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 10797 charset_unibyte, not charset_primary.
aca7a3d2 10798
1f45f627 10799 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 10800
1f45f627
GM
10801 * charset.c (charset_unibyte): Rename from charset_primary.
10802 (Funibyte_charset): Rename from Fprimary_charset.
10803 (Fset_unibyte_charset): Rename from Fset_primary_charset.
10804 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
10805
10806 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
10807 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
10808 it->multibyte_p is zero.
10809
10810 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 10811 Delete extern.
aca7a3d2 10812
73acf815 108132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10814
10815 * coding.c (Fdefine_coding_system_internal): Fix category setting
10816 for a coding system of type iso-2022.
10817
73acf815 108182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 10819
1f45f627 10820 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 10821
73acf815 108222008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10823
10824 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
10825 (next-word-boundary-function-table): Declare it as a Lisp variable
10826 in syms_of_syntax.
aca7a3d2
MB
10827 (scan_words): Call functions in Vnext_word_boundary_function_table
10828 if any.
10829
10830 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
10831
10832 * fontset.c (fs_load_font): If fontp->charset is not negative,
10833 return fontp without setting its members.
10834
73acf815 108352008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 10836
aca7a3d2
MB
10837 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
10838
10839 * m/sparc.h (HAVE_ALLOCA): Delete.
10840
10841 * s/irix6-5.h: Don't include strings.h.
10842 (bcopy, bzero, bcmp): Don't undef.
10843
10844 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
10845
10846 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
10847 (TIOCSIGSEND): Don't test IRIX6.
10848 (bcopy, bzero, bcmp): Define conditionally.
10849
73acf815 108502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10851
10852 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 10853 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
10854 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
10855
10856 * callproc.c (Fcall_process): Don't call insert_1_both directly if
10857 we are inserting a process output into a multibyte buffer.
10858
10859 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
10860 multibyte_char_to_unibyte.
10861
10862 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
10863 by the primary charset, make it eight-bit char.
10864 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
10865
1f45f627
GM
10866 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
10867 (charset_8_bit__control, charset_8_bit_graphic)
10868 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
10869 (define_charset_internal): New function.
10870 (syms_of_charset): Call define_charset_internal for pre-defined
10871 charsets.
10872
10873 * charset.h (charset_8_bit): Extern it.
10874
1f45f627 10875 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
10876 of Fset_buffer_multibyte.
10877 (encode_coding_raw_text): Increment p0 in the loop.
10878
1f45f627 10879 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 10880
1f45f627 10881 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
10882 for the change of Fset_buffer_multibyte.
10883
10884 * fns.c (Fstring_to_multibyte): New function.
10885 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
10886
73acf815 108872008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
10888
10889 * xfns.c (x_put_x_image): Declare args.
10890
1f45f627 10891 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
10892 (try_font_list): Declare an arg.
10893
10894 * xdisp.c (message2_nolog, set_message): Declare an arg.
10895
10896 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
10897
10898 * syntax.c (scan_sexps_forward): Declare an arg.
10899
10900 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10901 Declare an arg.
10902
10903 * lisp.h (Fnew_fontset): Declare.
10904
10905 * keymap.c (push_key_description): Call CHARACTERP correctly.
10906
1f45f627 10907 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
10908 (face_for_char): Delete unused vars.
10909 (Fset_fontset_font): Doc fix. Delete unused vars.
10910
10911 * doc.c (Fsubstitute_command_keys): Delete unused vars.
10912
10913 * composite.c (update_compositions): Declare arg.
10914
10915 * cm.c (calccost, cmgoto): Declare args.
10916
10917 * charset.c: Remove `emacs' conditional. Doc fixes.
10918 (map_char_table_for_charset): Declare.
10919
1f45f627 10920 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 10921
1f45f627 10922 * ccl.c: Remove `emacs' conditional.
aca7a3d2 10923
73acf815 109242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
10925
10926 The following changes are to allow specifying multiple font
10927 patterns for a character range (specified by script or charset).
10928
10929 * Makefile.in (abbrev.o): Depend on syntax.h.
10930 (xfaces.o): Depend on charset.h.
10931
10932 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
10933 SINGLE_BYTE_CHAR_P.
10934
10935 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
10936
10937 * character.h (Vchar_script_table): Extern it.
10938
1f45f627 10939 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
10940 (Vchar_script_table, Qchar_script_table): New variable.
10941 (syms_of_character): Declare Vchar_script_table as a lisp variable
10942 and initialize it.
10943
1f45f627 10944 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
10945 have property char-table-extra-slots, make no extra slot.
10946
1f45f627 10947 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
10948 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
10949 SINGLE_BYTE_CHAR_P.
1f45f627
GM
10950 (choose_face_font, lookup_non_ascii_face, font_name_registry):
10951 Add prototypes.
10952 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
10953 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
10954
10955 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 10956 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
10957 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
10958
10959 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 10960 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
10961 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
10962 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
10963 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
10964 (fontset_ref_and_range, fontset_add, reorder_font_vector)
10965 (load_font_get_repertory): New functions.
1f45f627 10966 (fontset_set): Delete.
aca7a3d2 10967 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 10968 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
10969 (free_face_fontset): Use ASET istead of AREF (X) = Y.
10970 (face_for_char): Don't call lookup_face.
10971 (make_fontset_for_ascii_face): New arg FACE.
10972 (fs_load_font): New arg CHARSET_ID. Don't check
10973 Vfont_encoding_alist here.
10974 (find_font_encoding): New function.
10975 (list_fontsets): Use STRINGP, not ! NILP.
10976 (accumulate_script_ranges): New function.
10977 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
10978 re-written to handle new fontset structure.
10979 (Ffontset_font): Return a copy of element.
10980 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
10981 docstring of font-encoding-alist.
10982
10983 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
10984 (Fset_fotset_font): Fix arguments to 5.
10985
1f45f627 10986 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
10987
10988 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
10989 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 10990 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
10991 lookup_named_face.
10992
10993 * xfaces.c: Include charset.h.
1f45f627
GM
10994 (load_face_font): Delete argument C. Change caller.
10995 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
10996 (font_name_registry): New function.
10997 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 10998 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
10999 Lookup only ascii faces.
11000 (lookup_non_ascii_face): New function.
1f45f627
GM
11001 (lookup_named_face): Delete argument C. Change caller.
11002 (lookup_derived_face): Delete argument C. Change caller.
11003 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 11004 a string, just call font_list with it.
1f45f627
GM
11005 (choose_face_font): Delete arguments FACE and C. New arg
11006 FONT_SPEC. Change caller.
4c4475a8
GM
11007 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
11008 Change caller.
aca7a3d2
MB
11009 (realize_non_ascii_face): New function.
11010 (realize_x_face): Call load_face_font here.
1f45f627 11011 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
11012 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
11013 get a face ID.
11014 (dump_realized_face): Don't print charset of FACE.
11015
11016 * xfns.c (x_set_font): Always call x_new_fontset and
11017 store_frame_parameter.
11018 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 11019 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
11020
11021 * xterm.h (x_get_font_repertory): Extern it.
11022
11023 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
11024 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
11025 it->multibyte_p is zero.
11026 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
11027 (x_new_fontset): If FONTSETNAME doesn't match any existing
11028 fontsets, create a new one.
11029 (x_get_font_repertory): New function.
11030
73acf815 110312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11032
11033 * coding.c (Ffind_coding_systems_region_internal): Detect an
11034 ASCII only string correctly.
11035
11036 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
11037 version is 0.
11038
73acf815 110392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11040
11041 * lread.c: Include "coding.h".
1f45f627
GM
11042 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
11043 (load_each_byte, unread_char): New variables.
11044 (readchar_backlog): Delete.
aca7a3d2
MB
11045 (readchar): Return a character unless load_each_byte is nonzero.
11046 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
11047 cons. If unread_char is not -1, simply return it.
11048 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
11049 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
11050 (read_multibyte): Delete.
aca7a3d2
MB
11051 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
11052 (read_emacs_mule_char): New functions.
10d1d0af 11053 (Fload): Even if the file doesn't have the extension ".elc", if
aca7a3d2
MB
11054 safe_to_load_p returns a positive version number, assume that the
11055 file contains bytecompiled code. If the version is less than 22,
11056 load the file while decoding multibyte sequences by emacs-mule.
11057 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
11058 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
11059 (Fread_from_string): Pay attention to the case that STREAM is a cons.
11060 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
11061 (read1): Set load_each_byte to 1 temporarily while handling
11062 #@NUMBER. Don't call read_multibyte.
11063 (read_vector): Call Fread with a cons. If readcharfun is
11064 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 11065 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
11066 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
11067 and Qload_force_doc_strings.
11068
73acf815 110692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11070
11071 * xdisp.c (face_before_or_after_it_pos): Call
11072 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11073
73acf815 110742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11075
11076 * character.h (TRAILING_CODE_P): New macro.
1f45f627 11077 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
11078 (string_char_with_unification): Fix prototype.
11079 (Vscript_alist): Extern it.
11080
11081 * character.c (Vscript_alist): New variable.
4c4475a8
GM
11082 (string_char_with_unification, str_as_unibyte)
11083 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
11084 (syms_of_character): Declare script-alist as a Lisp variable.
11085
11086 * charset.h (Vcharset_ordered_list): Extern it.
11087 (charset_ordered_list_tick): Extern it.
11088 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
11089 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
11090 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
1f204af3 11091 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
1f45f627 11092 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
11093
11094 * charset.c (charset_ordered_list_tick): New variable.
11095 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
11096 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
11097 deunify intead of unify a charset.
11098 (string_xstring_p): Add `const' to local variables.
10d1d0af 11099 (find_charsets_in_text): Add `const' to arguments and local variables.
1f45f627 11100 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
11101 detecting of invalid code.
11102 (Fset_charset_priority): Increment charset_ordered_list_tick.
11103 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
11104 and TO_CODE.
11105
11106 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
11107 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
11108 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
11109 (decode_coding_ccl, consume_chars)
11110 (Ffind_coding_systems_region_internal)
11111 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
11112
11113 * print.c (print_object): Use octal form for printing the
11114 contents of a bool vector.
11115
73acf815 111162008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11117
11118 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
11119 <version == 20>: Refuse to load.
11120
73acf815 111212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11122
11123 * fns.c: Move coding.h.
11124 (Qcodeset, Qdays, Qmonths): New.
10d1d0af 11125 (concat): Use CHARACTERP instead of INTEGERP.
1f45f627 11126 (Flocale_codeset): Delete.
aca7a3d2 11127 (Flanginfo): New function.
1f45f627 11128 (syms_of_fns): Change accordingly.
aca7a3d2
MB
11129
11130 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
11131
73acf815 111322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11133
11134 * casetab.c (init_casetab_once, init_casetab_once): Fix
11135 CHAR_TABLE_SET call.
11136
11137 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
11138
11139 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
11140
11141 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
11142 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
11143 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
11144
11145 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
11146
11147 * coding.c (ENCODE_DESIGNATION, decode_eol)
11148 (make_conversion_work_buffer, code_conversion_restore)
11149 (Fdefine_coding_system_internal): Convert Lisp types.
11150 (code_conversion_restore): Use EQ, not ==.
11151 (Fencode_coding_string): Fix code_convert_string call.
11152
11153 * coding.h (code_convert_region): Fix prototype.
11154
1f45f627 11155 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
11156
11157 * fontset.c (fontset_ref, fontset_set, fs_load_font)
11158 (Ffontset_info): Convert Lisp types.
11159
11160 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
11161
11162 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
11163
11164 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
11165
11166 * chartab.c: Include "...h", not <...h> in some cases.
11167
11168 * callproc.c (Fcall_process): Remove unused variables.
11169
73acf815 111702008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11171
11172 * coding.c (Fset_coding_system_priority): Allow null arg list.
11173
73acf815 111742008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11175
11176 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11177 (Fself_insert_and_exit): Use CHARACTERP.
11178
11179 * callproc.c (Fcall_process): Remove unused vars.
11180
11181 * xterm.c (XTread_socket): Add extra dead keysyms.
11182
11183 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
11184
11185 * dispextern.h: Remove prototypes for redraw_frame,
11186 redraw_garbaged_frames.
11187
11188 * cmds.c (Fself_insert_command): Use CHARACTERP.
11189
11190 * chartab.c (make_sub_char_table): Remove unused var.
11191 (Fset_char_table_default, Fmap_char_table): Doc fix.
11192
11193 * keymap.c (access_keymap): Remove generic char code.
11194 (push_key_description): Use CHARACTERP.
11195
73acf815 111962008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11197
11198 * charset.c: Doc fixes.
11199 (Funify_charset): Extra checking.
11200
73acf815 112012008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11202
11203 * lread.c: Remove some unused variables.
11204 (safe_to_load_p): If safe, return the magic number version byte.
11205 (Fload): Maybe use load-with-code-conversion.
11206
73acf815 112072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11208
11209 * category.c (Fmodify_category_entry): Don't modify the contents
11210 of category_set for characters out of the range. Avoid
11211 unnecessary modification.
11212
1f45f627 11213 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
11214 Vchar_unify_table. The default value of the table is now nil.
11215
11216 * character.c (syms_of_character): Setup Vchar_width_table for
11217 eight-bit-control and raw-byte chars.
11218
11219 * charset.h (enum define_charset_arg_index): Delete
11220 charset_arg_parents and add charset_arg_subset and
11221 charset_arg_superset.
11222 (enum charset_attr_index): Delete charset_parents and add
11223 charset_subset and charset_superset.
11224 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
11225 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 11226 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
11227 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
11228 (CHARSET_SUPERSET): New macros.
11229 (charset_work): Extern it.
11230 (ENCODE_CHAR): Use charset_work.
1f45f627 11231 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
11232 (map_charset_chars): Extern it.
11233
11234 * charset.c (load_charset_map): Set the default value of encoder
11235 and deunifier char-tables to nil.
1f45f627 11236 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
11237 map_char_table_for_charset instead of map_char_table.
11238 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 11239 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
11240 `define-charset' (:parents -> :subset or :superset).
11241 (charset_work): New variable.
4c4475a8
GM
11242 (encode_char, syms_of_charset): Adjust for the change of
11243 Fdefine_charset_internal.
aca7a3d2
MB
11244 (Ffind_charset_string): Setup the vector `charsets' correctly.
11245
1f45f627 11246 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 11247 the previous change.
1f45f627 11248 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
11249 (map_sub_char_table_for_charset): New function.
11250 (map_char_table_for_charset): New function.
11251
11252 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 11253 (describe_char_table): Delete.
aca7a3d2 11254
1f45f627 11255 * lisp.h (map_charset_chars): Delete.
aca7a3d2 11256
73acf815 112572008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11258
11259 * fns.c (count_combining): Comment out (unused).
11260 (Flocale_codeset): New.
11261 (syms_of_fns): Defsubr it.
11262
11263 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 11264 (size_t): Remove.
aca7a3d2 11265
73acf815 112662008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 11267
6f69e89b 11268 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 11269
73acf815 112702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11271
11272 * character.c (syms_of_character): Set the default value of
11273 Vprintable_chars to Qnil.
11274
73acf815 112752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11276
11277 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
11278
73acf815 112792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11280
11281 * charset.c (load_charset_map): Handle the case that from < to
11282 correctly.
11283
4c4475a8
GM
11284 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
11285 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
11286 Pay attention to raw-8-bit chars.
aca7a3d2 11287
73acf815 112882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11289
4c4475a8
GM
11290 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
11291 It is not bytecompiled now.
aca7a3d2
MB
11292
11293 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
11294 (charset_jisx0208): New variables.
11295 (Fdefine_charset_internal): Setup them if appropriate.
11296 (init_charset_once): Initialize them to -1.
11297
1f45f627
GM
11298 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
11299 (charset_jisx0208): Extern them.
aca7a3d2 11300
1f204af3 11301 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
aca7a3d2 11302 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
11303 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
11304 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
11305 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
11306 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
11307 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
11308 (encode_coding_iso_2022): Change the 1st arg to
11309 ENCODE_ISO_CHARACTER to a variable.
11310
73acf815 113112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11312
11313 * charset.h (enum define_charset_arg_index): New enums
11314 charset_arg_min_code and charset_arg_max_code.
11315 (struct charset): New member char_index_offset.
11316
4c4475a8
GM
11317 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
11318 Take charset->char_index_offset into account.
aca7a3d2
MB
11319 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
11320 args[charset_arg_max_code]. Setup charset.char_index_offset.
11321 (syms_of_charset): Fix args to Fdefine_charset_internal.
11322
73acf815 113232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11324
11325 * coding.c (decode_coding_utf_8): Reject overlong sequences.
11326
73acf815 113272008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11328
11329 * coding.c: Doc fixes.
11330 (Fcoding_system_aliases): Fix return value.
11331 (Qmac): Remove (duplicated) definition.
11332
73acf815 113332008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11334
11335 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
11336 functions.
11337
11338 * character.c (Fstring): Doc fix.
11339
11340 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
11341
11342 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
11343 ids.
11344 (font-encoding-alist): Doc fix.
11345
73acf815 113462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11347
11348 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 11349 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
11350
11351 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
11352 for K&R.
11353
11354 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
11355
11356 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 11357 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 11358
1f45f627 11359 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
11360
11361 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
11362
73acf815 113632008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11364
11365 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
11366
1f45f627 11367 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 11368
2a2e8de7 113692008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
11370
11371 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
11372
1f45f627 11373 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 11374
73acf815 113752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11376
4c4475a8 11377 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 11378 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 11379
73acf815 113802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11381
1f45f627 11382 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
11383 Fdefine_coding_system_internal.
11384 (Fdefine_coding_system_internal): For a coding system of
11385 `charset' type, store a list of charset IDs in
11386 `charset_attr_charset_valids' element of coding attributes.
11387
73acf815 113882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11389
11390 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
11391 (emacs_mule_char): New arg src. Delete arg `composition'. Change
11392 caller. Handle 2-byte and 3-byte charsets correctly.
11393 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
11394 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
11395 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
11396 (DECODE_EMACS_MULE_21_COMPOSITION): Call
11397 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
11398 sequence.
11399 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 11400 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
11401 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
11402 and alt&rule composition.
11403 (decode_coding_iso_2022): Handle composition correctly.
11404 (init_coding_once): Setup emacs_mule_bytes for private charsets.
11405
11406 * charset.c (Fdefine_charset_internal): Fix bug for the case of
11407 re-defining a charset. If the charset has :emacs-mule-id, setup
11408 emacs_mule_bytes.
1f45f627 11409 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 11410
73acf815 114112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11412
4c4475a8
GM
11413 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
11414 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
11415 encoding, produce a character specified by
11416 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 11417
73acf815 114182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11419
11420 * xterm.c (XSetIMValues): Declare.
11421
11422 * process.c: Conditionally include sys/wait.h, pty.h.
11423
1f45f627 11424 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 11425
1f45f627 11426 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
11427
11428 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
11429
11430 * fontset.c (Fclear_face_cache): Declare.
1f45f627 11431 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
11432 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
11433 variables.
11434
11435 * character.h (string_escape_byte8): Declare.
11436
11437 * charset.c (load_charset_map, load_charset_map_from_file): Remove
11438 unused vars.
11439 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
11440 (Fmap_charset_chars): Doc fix.
11441
1f45f627 11442 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
11443 (Fset_coding_system_priority, Fset_coding_system_priority)
11444 (Fdefine_coding_system_internal): Doc fix.
11445
73acf815 114462008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11447
11448 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
11449
73acf815 114502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11451
11452 * character.c (string_escape_byte8): Make multibyte string with
11453 correct size.
11454
11455 * charset.c (Fmake_char): Delete unnecessary code.
11456
73acf815 114572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11458
11459 * xfns.c (x_encode_text): Allocate coding.destination here, and
11460 call encode_coding_object with dst_object Qnil.
11461
11462 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
11463 multibyte form correctly.
11464
11465 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
11466 against Vfont_encoding_alist.
11467
11468 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
11469 handling of charset list.
11470 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
11471 (decode_coding_object): Move point to coding->dst_pos before
11472 calling post-read-conversion function.
11473 (encode_coding_object): Give correct arguments to
11474 pre-write-conversion. Ignore the return value of
11475 pre-write-conversion function. Pay attention to the case that
11476 pre-write-conversion changes the current buffer. If dst_object is
11477 Qt, even if coding->src_bytes is zero, allocate at least one byte
11478 to coding->destination.
11479
11480 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
11481
11482 * charset.c (Fmake_char): Make it more backward compatible.
11483 (Fmap_charset_chars): Fix docstring.
11484
73acf815 114852008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11486
11487 * coding.c: Doc fixes.
11488 (Fdefine_coding_system_alias): Use names, not symbols, in
11489 coding-system-alist.
11490
73acf815 114912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11492
11493 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
11494 of calling free_realized_face.
11495
2a2e8de7 114962008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 11497
1f45f627 11498 * charset.c (read_hex): Don't treat SPC as a comment starter.
10d1d0af 11499 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
aca7a3d2
MB
11500 (Fdecode_char): Fix typo.
11501
73acf815 115022008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11503
11504 * charset.h (struct charset): New member `code_space_mask'.
11505
1f45f627 11506 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
11507 (encode_coding_charset, Fdefine_coding_system_internal):
11508 Delete the local variable charset.
aca7a3d2
MB
11509 (Fdefine_coding_system_internal): Setup
11510 attrs[coding_attr_charset_valids] correctly.
11511
11512 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
11513 member to check if CODE is valid or not.
11514 (Fdefine_charset_internal): Initialize `code_space_mask' member.
11515 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
11516 is within the range of charset->min_code and carset->max_code.
11517
73acf815 115182008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
11519
11520 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
11521
11522 * dispextern.h (generate_ascii_font): Fix return type.
11523
11524 * xfaces.c (generate_ascii_font): Fix arg declaration.
11525
11526 * coding.c (coding_inherit_eol_type)
11527 (Fset_terminal_coding_system_internal)
11528 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
11529
73acf815 115302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11531
11532 * coding.c (decode_coding_charset, encode_coding_charset): Handle
11533 multiple charsets correctly.
11534
73acf815 115352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 11536
10d1d0af 11537 * search.c (boyer_moore): Fix handling of multibyte character
aca7a3d2
MB
11538 translation.
11539
11540 * xdisp.c (display_mode_element): When the variable `elt' is
11541 changed, update `this' and `lisp_string'.
11542
73acf815 115432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11544
11545 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
11546
11547 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 11548 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
11549
11550 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
11551 (load_charset_map): Rename from parse_charset_map. New args
11552 entries and n_entries. Change caller.
11553 (load_charset_map_from_file): Rename from load_charset_map.
11554 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
11555 the tail.
11556 (load_charset_map_from_vector): New function.
11557 (Fdefine_charset_internal): Setup charset.compact_codes_p.
11558 (encode_char): If the charset is compact, change a character index
11559 to a code point.
11560
11561 * coding.c (coding_alloc_by_making_gap): Check the case that the
11562 source and destination are the same correctly.
11563 (decode_coding_raw_text): Set coding->consumed_char and
11564 coding->consumed to 0.
11565 (produce_chars): If coding->chars_at_source is nonzero, update
11566 coding->consumed_char and coding->consumed before calling
11567 alloc_destination.
11568 (Fdefine_coding_system_alias): Register ALIAS in
11569 Vcoding_system_alist.
10d1d0af 11570 (syms_of_coding): Define `no-conversion' coding system at the tail.
aca7a3d2
MB
11571
11572 * fileio.c (Finsert_file_contents): Set coding_system instead of
11573 val. If the current buffer is multibyte, always call
11574 decode_coding_gap.
11575
11576 * xfaces.c (try_font_list): Give higher priority to fontset's
11577 family than face's family.
11578
73acf815 115792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11580
11581 * callproc.c (Fcall_process): Be sure to give the current buffer
11582 to decode_coding_c_string.
11583
11584 * xfaces.c (try_font_list): Give a family specified in a fontset
11585 higher priority than a family specified in a face.
11586
73acf815 115872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11588
11589 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
11590 Fix arguments to insert_from_buffer.
11591
11592 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
11593
73acf815 115942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11595
11596 * coding.c (produce_chars): Set the variable `multibytep' correctly.
11597 (decode_coding_gap): Set coding->dst_multibyte correctly.
11598
73acf815 115992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11600
11601 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 11602 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
11603 (encode_coding_utf_16): Substitute coding->default_char for
11604 non-Unicode characters.
11605 (decode_coding): Don't call record_insert here.
11606 (setup_coding_system): Initialize `surrogate' of
11607 coding->spec.utf_16 to 0.
11608 (EMIT_ONE_BYTE): Fix for multibyte case.
11609
11610 * insdel.c (insert_from_gap): Call record_insert.
11611
73acf815 116122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11613
11614 * casefiddle.c (casify_region): Fix multibyte case.
11615
11616 * character.c (c_string_width): Add return type `int'.
1f45f627 11617 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
11618
11619 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 11620 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
11621 (CHAR_STRING_ADVANCE): Make it do-while statement.
11622
1f45f627 11623 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
11624 DEPTH == 3. Add workaround code for a GCC optimization bug.
11625
11626 * charset.c (parse_charset_map): Remove an unused variable.
11627
11628 * coding.c: Delete unused variables.
11629
11630 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
11631 earlier. If inserted is zero and the coding system doesn't
11632 require flushing, don't call decode_coding_gap.
11633
11634 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
11635
73acf815 116362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
11637
11638 The following changes are for using Unicode as an internal
11639 character model, and use UTF-8 format for buffer/string
11640 representation.
11641
1f45f627 11642 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
11643 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
11644
11645 * Makefile.in (obj): Add character.o and chartab.o.
c3f9fba8 11646 (lisp, shortlisp): Remove utf-8.elc.
aca7a3d2
MB
11647 (*.o): For many files, change dependency on charset.h to
11648 character.h, and add dependency on character.h.
11649 (character.o, chartab.o): New targets.
11650
1f45f627
GM
11651 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
11652 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
11653 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
11654 of "charset.h".
11655
11656 * dired.c, filelock.c: Include "character.h".
11657
11658 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 11659 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
11660 (syms_of_alloc): Remove defsubr for Smake_char_table.
11661
11662 * buffer.c: Include "character.h" instead of "charset.h", don't
11663 include "coding.h".
1f45f627 11664 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
11665
11666 * buffer.h: EXFUN Fbuffer_live_p.
11667
11668 * callproc.c: Include "character.h" instead of "charset.h".
11669 (Fcall_process): Big change for the new code-conversion APIs.
11670
11671 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 11672 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
11673 map_char_table spec.
11674 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
11675 accessing the char table structure.
11676
11677 * chartab.c: New file that implements char table.
11678
11679 * category.c: Include "character.h".
11680 (copy_category_entry): New function.
11681 (copy_category_table): Call map_char_table and copy_category_entry.
183080b6 11682 (Fmake_category_table): Initialize all top-level slots.
aca7a3d2 11683 (char_category_set): New function.
1f45f627 11684 (modify_lower_category_set): Delete.
aca7a3d2
MB
11685 (Fmodify_category_entry): Call char_table_ref_and_range.
11686
11687 * category.h (CATEGORY_SET): Just call char_category_set.
11688
11689 * ccl.c: Include "character.h".
11690 (Qccl, Qcclp): New variables.
11691 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
11692 it's less than 256.
1f45f627
GM
11693 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
11694 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 11695 and DST type.
1f45f627
GM
11696 (ccl_driver): Change types of argument, adjust code accordingly.
11697 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
11698 ccl_driver.
11699 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
11700
1f45f627
GM
11701 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
11702 New members src_multibyte, dst_multibyte, consumed, and produced.
11703 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 11704 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 11705 (ccl_driver): Update prototype.
aca7a3d2
MB
11706 (Qccl, Qcclp, Fccl_program_p): Extern them.
11707 (CHECK_CCL_PROGRAM): New macro.
11708
11709 * character.c, character.h, chartab.c: New files.
11710
1f45f627
GM
11711 * charset.c: Mostly re-written. Move character and multibyte sequence
11712 handling codes to character.c.
aca7a3d2 11713
1f45f627
GM
11714 * charset.h: Mostly re-written. Move character and multibyte sequence
11715 handling codes to character.h.
aca7a3d2
MB
11716
11717 * coding.c, coding.h: Mostly re-written.
11718
11719 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
11720 (CHAR_WIDTH): Move to character.h.
11721 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 11722
1f45f627
GM
11723 * composite.h (enum composition_method): Change order of enumeration
11724 symbols.
aca7a3d2
MB
11725
11726 * data.c: Include "character.h" instead of "charset.h".
11727 (Faref): Call CHAR_TABLE_REF for a char table.
11728 (Faset): Call CHAR_TABLE_SET for a char table.
11729
1f45f627
GM
11730 * dispextern.h (free_realized_face, check_face_attribytes)
11731 (generate_ascii_font): Extern them.
11732 (free_realized_multibyte_face): Delete extern.
aca7a3d2 11733
1f45f627 11734 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
11735 table structure.
11736
11737 * editfns.c: Include "character.h" instead of "charset.h".
11738 (Fchar_to_string): Always call CHAR_STRING.
11739
11740 * emacs.c (main): Call init_charset_once, init_charset,
11741 syms_of_chartab, and syms_of_character.
11742
11743 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 11744 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 11745 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 11746 (build_annotations_2): Delete.
aca7a3d2
MB
11747 (e_write): Big change for the new code-conversion API.
11748
11749 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 11750 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
11751 (Fcopy_sequence): Call copy_char_table for a char table.
11752 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
11753 (string_char_to_byte, string_byte_to_char): Adjust for the new
11754 multibyte form.
1f45f627
GM
11755 (internal_equal): Adjust for the change of char table structure.
11756 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
11757 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
11758 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
11759 (char_table_translate, optimize_sub_char_table)
11760 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 11761 chartab.c.
1f45f627
GM
11762 (char_table_ref_and_index): Delete.
11763 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 11764 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
11765 Vcoding_category_list. Adjust for the new code-conversion API.
11766 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
11767 chartab.c.
11768
11769 * fontset.c: Mostly re-written.
11770
1f45f627 11771 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 11772 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
11773 (fontset_font_pattern, fs_load_font): Update prototype.
11774 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
11775
11776 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 11777 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
11778
11779 * insdel.c: Include "character.h" instead of "charset.h".
11780 (copy_text): Don't refer to Vnonascii_translation_table.
11781 (insert_from_gap): New function.
11782
11783 * keyboard.c: Include "character.h" instead of "charset.h".
11784 (command_loop_1): Never call direct_output_forward_char before
11785 a non-ASCII character.
11786 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 11787 translate a character.
aca7a3d2
MB
11788
11789 * keymap.c: Include "character.h".
11790 (store_in_keymap): Handle the case that IDX is a cons.
11791 (Fdefine_key): Handle the case that KEY is a cons and the car part
11792 is also a cons (range).
1f45f627 11793 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
11794 (describe_vector): Call describe_char_table for a char table.
11795 (describe_char_table): New function.
11796
11797 * keymap.h (describe_char_table): Extern it.
11798
11799 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
11800 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
11801 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
11802 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
11803 Delete.
11804 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
11805 structure.
11806 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
11807 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
11808 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 11809 (chartab_size): Extern it.
1f45f627 11810 (struct Lisp_Char_Table): Re-design.
aca7a3d2 11811 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
11812 (HASH_KEY, HASH_VALUE): Move from fns.c.
11813 (CHARACTERBITS): Define as 22.
11814 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
11815 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
11816 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
11817 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
11818 (code_convert_string_norecord): Deleted extern.
11819 (init_character_once, syms_of_character, init_charset)
11820 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
11821
11822 * lread.c: Include "character.h".
11823 (read_multibyte): New arg NBYTES.
1f45f627
GM
11824 (read_escape): Change the meaning of returned *BYTEREP.
11825 (to_multibyte): Delete.
11826 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
11827
11828 * print.c: Include "character.h" instead of "charset.h".
11829 (print_string): Convert 8-bit raw bytes to octal form by
11830 string_escape_byte8.
1f45f627 11831 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
11832 raw bytes always in octal form. Handle sub char table correctly.
11833
11834 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
11835 (read_process_output, send_process): Adjust for the new
11836 code-conversion API.
aca7a3d2 11837
1f45f627 11838 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
11839
11840 * regex.c: Include "character.h" instead of "charset.h".
11841 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
11842 (regex_compile): Accept a range whose starting and ending
11843 character have different leading bytes.
1f45f627 11844 (analyse_first): Adjust for the above change.
aca7a3d2
MB
11845
11846 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
11847 (search_buffer, boyer_moore): Adjust for the new multibyte form.
11848 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
11849
11850 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 11851 (syntax_parent_lookup): Delete.
aca7a3d2 11852 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 11853 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
11854 (init_syntax_once): Call char_table_set_range instead of directly
11855 accessing the structure of a char table.
11856
11857 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 11858 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
11859 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
11860 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
11861
11862 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
11863 (encode_terminal_code, write_glyphs): Adjust for the new
11864 code-conversion API.
aca7a3d2
MB
11865 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
11866
1f45f627 11867 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
11868
11869 * xdisp.c: Include "character.h".
1f45f627
GM
11870 (get_next_display_element): Adjust for the new multibyte form.
11871 (disp_char_vector): Adjust for the new char table structure.
11872 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 11873 coding system.
1f45f627 11874 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
11875
11876 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 11877 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
11878 FS_LOAD_FONT.
11879 (generate_ascii_font): New function.
1f45f627
GM
11880 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
11881 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 11882 (free_realized_face): Make it public.
1f45f627 11883 (free_realized_faces_for_fontset): Rename from
aca7a3d2 11884 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 11885 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
11886 fontset_font_pattern and FS_LOAD_FONT.
11887
11888 * xfns.c: Include "character.h".
1f45f627 11889 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
11890
11891 * xselect.c: Don't include "charset.h".
1f45f627 11892 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
11893
11894 * xterm.c: Include "character.h".
1f45f627 11895 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
11896 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
11897 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
11898 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
11899 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
11900 (XTread_socket): Adjust for the new code-conversion API.
11901 (x_new_font): Adjust for the change of FS_LOAD_FONT.
11902 (x_load_font): Adjust for the change of struct font.
aca7a3d2 11903
d6abfc14
SM
119042008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11905
11906 * xfaces.c (face_at_buffer_position): Remove unused vars.
11907
0acdaf8d
KH
119082008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11909
4c4475a8
GM
11910 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
11911 Fix overflow checking.
0acdaf8d 11912
6c8a0ebf
GM
119132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11914
11915 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
11916 Cancel previous change.
11917
119182008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11919
11920 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
11921 ccl->eight_bit_control. Fix check for buffer overflow.
11922 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
11923 (ccl_driver): Initialize extra_bytes to 0.
11924
a32aad64
KH
119252008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
11926
11927 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
11928 return it ORed with ctrl_modifier.
11929
8b329dba
MB
119302008-01-29 Miles Bader <miles@gnu.org>
11931
11932 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
11933
548667aa
JR
119342008-01-28 Jason Rumney <jasonr@gnu.org>
11935
11936 * w32.c (stat): Don't double check for networked drive.
11937
0975aa24
SM
119382008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
11939
ef264c42
SM
11940 * window.c (run_window_configuration_change_hook): New function.
11941 Code extracted from set_window_buffer. Set the selected frame.
11942 (set_window_buffer): Use it.
11943 * window.h (run_window_configuration_change_hook): Declare.
11944 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
11945
0975aa24
SM
11946 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
11947
9c28b587
DN
119482008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
11949
11950 * Makefile.in: Remove references to unused macros.
11951
c617afce
EZ
119522008-01-26 Eli Zaretskii <eliz@gnu.org>
11953
11954 * w32.c (g_b_init_get_sid_sub_authority)
11955 (g_b_init_get_sid_sub_authority_count): New static variables.
11956 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
11957 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
11958 (init_user_info): Use them to retrieve uid and gid.
11959 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
11960 (fstat): Use pw_uid and pw_gid from the_passwd structure for
11961 st_uid and st_gid of the file.
c617afce 11962
302d7d54
JR
119632008-01-26 Jason Rumney <jasonr@gnu.org>
11964
11965 * w32.c (logon_network_drive): New function.
11966 (stat): Use it.
11967
3ac7a21e
CY
119682008-01-26 Chong Yidong <cyd@stupidchicken.com>
11969
11970 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
11971 invisible text covered with an ellipsis.
11972
bbb9fc1f
RS
119732008-01-25 Richard Stallman <rms@gnu.org>
11974
11975 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
11976 jump back to beginning. Move some other initializations after that.
11977 (Qwindow_text_change_functions, Vwindow_text_change_functions):
11978 New variables.
11979 (syms_of_xdisp): Init them.
11980
11981 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
11982
0975aa24
SM
11983 * buffer.c (reset_buffer_local_variables):
11984 Implement `permanent-local-hook'.
bbb9fc1f 11985 (Qpermanent_local_hook): New variable.
0975aa24 11986 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 11987
79235cbe
MA
119882008-01-25 Michael Albinus <michael.albinus@gmx.de>
11989
11990 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
11991
ccd8f7fe
TTN
119922008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
11993
11994 * fns.c (Fclrhash): Return TABLE.
11995
dfbe40f2 119962008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
11997
11998 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
11999 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
12000 is set even without positional changes.
12001 (x_scroll_bar_clear): Set bar->redraw_needed_p.
12002
12003 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
12004
dfbe40f2 120052008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 12006
d6169680
JR
12007 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
12008
602e142f
JR
12009 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
12010 the unicode range available in MULE by locale-coding-system.
c041e2d1 12011 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
12012 earlier.
12013
dfbe40f2 120142008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
12015
12016 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
12017 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 12018 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
12019 when used on child processes.
12020
8c7a4ac5
MA
120212008-01-21 Michael Albinus <michael.albinus@gmx.de>
12022
e0df1b73 12023 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 12024 Fdbus_method_return.
e0df1b73 12025 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 12026 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 12027 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 12028
8abe0f97
MR
120292008-01-20 Martin Rudalics <rudalics@gmx.at>
12030
12031 * undo.c (undo_inhibit_record_point): New variable.
12032 (syms_of_undo): Initialize it.
12033 (record_point): Don't record point when undo_inhibit_record_point
12034 is set.
12035
c3b232e4
SM
120362008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
12037
e69c4cae
SM
12038 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
12039
823e0ebb
SM
12040 * xdisp.c (Qauto_hscroll_mode): New var.
12041 (syms_of_xdisp): Initialize it.
12042 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
12043 window's buffer.
12044 (hscroll_windows): Don't check automatic_hscrolling_p here.
12045
c3b232e4
SM
12046 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
12047 vscroll if we're setting window-buffer to the value it already has.
12048
76ed5e01
DN
120492008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
12050
12051 * m/intel386.h: Remove references to XENIX.
12052
55e6d9b2
AS
120532008-01-17 Andreas Schwab <schwab@suse.de>
12054
12055 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
12056 instead of HAVE_X86_64_LIB64_DIR.
12057 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
12058
b16ed52d
GM
120592008-01-17 Glenn Morris <rgm@gnu.org>
12060
12061 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
12062 to HAVE_X86_64_LIB64_DIR.
12063
6bed5c4a
DN
120642008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
12065
12066 * s/irix3-3.h:
12067 * s/irix4-0.h:
12068 * s/386-ix.h:
12069 * s/domain.h:
12070 * s/hpux9-x11r4.h:
12071 * s/hpux9shxr4.h: Remove files for systems no longer supported.
12072
12073 * sysdep.c: Remove code containing references to symbols defined
12074 by unsupported systems.
12075
fdecf907
GM
120762008-01-16 Glenn Morris <rgm@gnu.org>
12077
12078 * coding.c (select-safe-coding-system-function): Doc fix.
12079
9292328f
GM
120802008-01-15 Glenn Morris <rgm@gnu.org>
12081
12082 * config.in: Revert 2008-01-13 change: this is a generated file.
12083
944df511
MO
120842008-01-13 Tom Tromey <tromey@redhat.com>
12085
12086 * lisp.h: Fix typo.
12087
8111ec05
DN
120882008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12089
f40f5dc3
DN
12090 * m/sequent-ptx.h:
12091 * m/sequent.h:
12092 * s/ptx.h:
12093 * s/ptx4-2.h:
12094 * s/ptx4.h: Remove files for systems no longer supported.
12095
ce20b664 12096 * callproc.c (Fcall_process): Fix previous change.
8111ec05 12097
e39a993c
DN
120982008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
12099
052e457f 12100 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 12101
290afd83
JB
12102 * m/mips.h:
12103 * m/intel386.h:
e39a993c
DN
12104 * callproc.c:
12105 * config.in:
12106 * ecrt0.c:
12107 * emacs.c:
12108 * fileio.c:
12109 * frame.c:
12110 * getpagesize.h:
12111 * keyboard.c:
12112 * lread.c:
12113 * process.c:
12114 * puresize.h:
12115 * sysdep.c:
12116 * systty.h:
12117 * syswait.h:
12118 * unexec.c:
12119 * xdisp.c:
12120 * alloc.c: Remove code containing references to symbols defined by
12121 unsupported systems.
12122
81cd7687
KH
121232008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
12124
12125 * coding.c (detect_coding_mask): Fix previous change.
12126
218b3b76
KH
121272008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
12128
12129 * coding.c (detect_coding_iso2022): New arg
12130 latin_extra_code_state. Allow Latin extra codes only
12131 when *latin_extra_code_state is nonzero.
12132 (detect_coding_mask): If there is a NULL byte, detect the encoding
12133 as UTF-16 or binary. If Latin extra codes exist, detect the
12134 encoding as ISO-2022 only when there's no other proper encoding is
12135 found.
12136
59ce725a 121372008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 12138
59ce725a
MB
12139 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
12140 #ifdef MAC_OS.
048addec 12141
59ce725a 121422008-01-08 Richard Stallman <rms@gnu.org>
048addec 12143
59ce725a 12144 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 12145
8290574e
NR
121462008-01-06 Nick Roberts <nickrob@snap.net.nz>
12147
a0a3805c 12148 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
12149 menu bar in parentheses.
12150
f3041af1
DN
121512008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
12152
12153 * m/7300.h:
12154 * m/acorn.h:
12155 * m/alliant-2800.h:
12156 * m/alliant.h:
12157 * m/alliant1.h:
12158 * m/alliant4.h:
12159 * m/altos.h:
12160 * m/amdahl.h:
12161 * m/apollo.h:
12162 * m/att3b.h:
12163 * m/aviion-intel.h:
12164 * m/aviion.h:
12165 * m/celerity.h:
12166 * m/clipper.h:
12167 * m/cnvrgnt.h:
12168 * m/convex.h:
12169 * m/cydra5.h:
12170 * m/delta88k.h:
12171 * m/dpx2.h:
12172 * m/dual.h:
12173 * m/elxsi.h:
12174 * m/f301.h:
12175 * m/gould-np1.h:
12176 * m/gould.h:
12177 * m/i860.h:
12178 * m/ibmps2-aix.h:
12179 * m/ibmrt-aix.h:
12180 * m/ibmrt.h:
12181 * m/irist.h:
12182 * m/is386.h:
12183 * m/isi-ov.h:
12184 * m/mega68.h:
12185 * m/mg1.h:
12186 * m/news-r6.h:
12187 * m/news-risc.h:
12188 * m/news.h:
12189 * m/nh3000.h:
12190 * m/nh4000.h:
12191 * m/ns16000.h:
12192 * m/ns32000.h:
12193 * m/nu.h:
12194 * m/orion.h:
12195 * m/orion105.h:
12196 * m/paragon.h:
12197 * m/pfa50.h:
12198 * m/plexus.h:
12199 * m/pyramid.h:
12200 * m/pyrmips.h:
12201 * m/sh3el.h:
12202 * m/sps7.h:
12203 * m/sr2k.h:
12204 * m/stride.h:
12205 * m/sun1.h:
12206 * m/sun2.h:
12207 * m/sun3-68881.h:
12208 * m/sun3-fpa.h:
12209 * m/sun3-soft.h:
12210 * m/sun3.h:
12211 * m/sun386.h:
12212 * m/symmetry.h:
12213 * m/tad68k.h:
12214 * m/tahoe.h:
12215 * m/targon31.h:
12216 * m/tek4300.h:
12217 * m/tekxd88.h:
12218 * m/tower32.h:
12219 * m/tower32v3.h:
12220 * m/ustation.h:
12221 * m/wicat.h:
12222 * m/xps100.h:
12223 * s/cxux.h:
12224 * s/cxux7.h:
12225 * s/dgux.h:
12226 * s/dgux4.h:
12227 * s/dgux5-4-3.h:
12228 * s/dgux5-4r2.h:
12229 * s/esix.h:
12230 * s/esix5r4.h:
12231 * s/hiuxmpp.h:
12232 * s/hiuxwe2.h:
12233 * s/iris3-5.h:
12234 * s/iris3-6.h:
12235 * s/isc2-2.h:
12236 * s/isc3-0.h:
12237 * s/isc4-0.h:
12238 * s/isc4-1.h:
12239 * s/newsos5.h:
12240 * s/newsos6.h:
12241 * s/osf1.h:
12242 * s/osf5-0.h:
12243 * s/riscix1-1.h:
12244 * s/riscix12.h:
12245 * s/sco4.h:
12246 * s/sco5.h:
12247 * s/sunos4-0.h:
12248 * s/sunos4-1.h:
12249 * s/sunos413.h:
12250 * s/sunos4shr.h:
12251 * s/umax.h:
12252 * s/unipl5-2.h:
12253 * s/xenix.h:
12254 * cxux-crt0.s:
12255 * unexapollo.c:
12256 * unexconvex.c:
12257 * unexenix.c:
12258 * unexsni.c: Remove files for systems no longer supported.
12259
12260 * m/intel386.h: Remove references to unsupported systems.
12261
12262 * w32.c (get_emacs_configuration): Remove reference to i860.
12263
12264 * sysdep.c: Remove dead code.
12265
d35e1cd7
DN
122662008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
12267
12268 * s/rtu.h:
a0a3805c 12269 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 12270
abe136ee
MA
122712008-01-04 Michael Albinus <michael.albinus@gmx.de>
12272
12273 * dbusbind.c (Fdbus_method_return): New function.
12274 (xd_read_message): Add the serial number to the event.
12275 (Fdbus_register_method): Activate the function.
12276
87df3c32
SM
122772008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
12278
12279 * keyboard.c (read_key_sequence): Fix typo.
12280
5125905e
MA
122812008-01-03 Michael Albinus <michael.albinus@gmx.de>
12282
12283 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
12284 (xd_signature, xd_append_arg): Handle element type detection for
12285 empty arrays.
12286 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
12287 SDATA () calls; this must be solved more general.
12288 (Fdbus_register_signal): Use SBYTES instead of strlen.
12289
8bba1b5c
MH
122902008-01-03 Magnus Henoch <magnus@zemdatav>
12291
12292 * dbusbind.c (xd_append_arg): Use unsigned char instead of
12293 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 12294 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 12295
a0a3805c 122962007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
12297
12298 * dbusbind.c (xd_read_message): Use non-static input_event struct.
12299
a271e124
MH
123002007-12-31 Magnus Henoch <mange@freemail.hu>
12301
12302 * dbusbind.c (xd_signature): Signature of variant is just "v".
12303
17bc8f94
MA
123042007-12-30 Michael Albinus <michael.albinus@gmx.de>
12305
87df3c32 12306 * dbusbind.c: Fix several errors and compiler warnings.
1f204af3 12307 Reported by Tom Tromey <tromey@redhat.com>.
17bc8f94
MA
12308 (XD_ERROR, XD_DEBUG_MESSAGE)
12309 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
10d1d0af 12310 (xd_append_arg): Part for basic D-Bus types rewritten.
17bc8f94
MA
12311 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
12312 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
12313 appropriate.
12314 (xd_read_message): Return Qnil. Don't signal an error; it is not
12315 useful during event reading.
12316 (Fdbus_register_signal): Signal an error if the check for
12317 FUNCTIONP fails.
12318 (Fdbus_register_method): New function. The implementation is not
12319 complete, the call of the function signals an error therefore.
12320 (Fdbus_unregister_object): New function, renamed from
12321 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 12322 the object is not well formed.
17bc8f94 12323
dd6f2802
RS
123242007-12-30 Richard Stallman <rms@gnu.org>
12325
12326 * textprop.c (get_char_property_and_overlay):
12327 Signal error if POSITION is out of range in a buffer.
12328
1da8a031
MR
123292007-12-29 Martin Rudalics <rudalics@gmx.at>
12330
12331 * w32fns.c (Fx_create_frame): Make copy of frame parameters
12332 because the original parameters are in pure storage now.
12333
5742be86
YM
123342007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12335
12336 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
12337
b014713c
EZ
123382007-12-22 Eli Zaretskii <eliz@gnu.org>
12339
b17f53ab
MB
12340 * callint.c (syms_of_callint) <command-history>: Add reference to
12341 history-length in the doc string.
048addec 12342
b17f53ab 123432007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 12344
b17f53ab
MB
12345 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
12346 before passing as wParam.
048addec 12347
9af5078b
MA
123482007-12-22 Michael Albinus <michael.albinus@gmx.de>
12349
12350 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
12351 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
12352 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
12353 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
12354 as number.
12355 (Fdbus_call_method): Fix docstring.
12356
87cf1a39
MA
123572007-12-21 Michael Albinus <michael.albinus@gmx.de>
12358
12359 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
12360 New macros.
87df3c32 12361 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
12362 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
12363 Simplify.
87cf1a39
MA
12364 (xd_signature): New function.
12365 (xd_append_arg): Compute also signatures. Major rewrite.
12366 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
12367 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
12368 Check for signatures of arguments.
87cf1a39 12369
54371585
MA
123702007-12-19 Michael Albinus <michael.albinus@gmx.de>
12371
12372 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
12373 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
12374 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
12375 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
12376 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 12377 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
12378 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
12379 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 12380 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
12381 (xd_append_arg): New function.
12382 (Fdbus_call_method, Fdbus_send_signal): Apply it.
12383
f5306ca3
MA
123842007-12-16 Michael Albinus <michael.albinus@gmx.de>
12385
12386 * dbusbind.c (top): Include <stdio.h>.
12387 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
12388 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
12389 (Fdbus_register_signal): Rename unique_name to uname.
12390 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
12391 non-existing unique name. Fix typos in matching rule. Return an
12392 object which is useful in Fdbus_unregister_signal.
12393 (Fdbus_unregister_signal): Reimplementation, in order to remove
12394 only the corresponding entry.
12395 (Vdbus_registered_functions_table): Change the order of entries.
12396 Apply these changes in xd_read_message and Fdbus_register_signal.
12397
77a28bbf
AS
123982007-12-16 Andreas Schwab <schwab@suse.de>
12399
12400 * fileio.c (Finsert_file_contents): Fix overflow check to not
12401 depend on undefined integer overflow.
12402
2e3566d8
JR
124032007-12-14 Jason Rumney <jasonr@gnu.org>
12404
12405 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
12406 for characters above 127.
12407
bf254037
JR
124082007-12-13 Jason Rumney <jasonr@gnu.org>
12409
12410 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
12411 before dereferencing array.
12412 (lookup_vk_code): Remove zero comparison.
12413
eb7c7bf5
MA
124142007-12-14 Michael Albinus <michael.albinus@gmx.de>
12415
12416 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
12417 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
12418 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
12419 (xd_read_message, Fdbus_register_signal): Split expressions into
12420 multiple lines before operators "&&" and "||", according to the
12421 GNU Coding Standards.
12422
34fb0fc9
EZ
124232007-12-14 Eli Zaretskii <eliz@gnu.org>
12424
12425 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
12426
c7d97628
JL
124272007-12-12 Juri Linkov <juri@jurta.org>
12428
12429 * buffer.c (Frename_buffer): In interactive spec replace
12430 `read-buffer' with `read-string' that uses `buffer-name-history'
12431 as history, and the current buffer's name as default.
12432
3709505e
SM
124332007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
12434
12435 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
12436 manipulating the backtrace manually.
12437 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
12438 (struct backtrace, backtrace_list): Remove.
12439 (command_loop_1): Remove dead var `no_direct'.
12440
12441 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
12442 preserve non-built-in buffer-local variables.
12443 (Fkill_all_local_variables): Don't re-create&re-set permanent
12444 buffer-local variables.
12445
e2bec886
JL
124462007-12-09 Juri Linkov <juri@jurta.org>
12447
12448 * buffer.c (Frename_buffer): Change interactive spec from "s" to
12449 Lisp code that uses `read-buffer' with current buffer as default.
12450
a31d47c7
MA
124512007-12-08 Michael Albinus <michael.albinus@gmx.de>
12452
12453 * dbusbind.c (xd_read_message): Generate an event for every
12454 registered handler. There might be several handlers registered
12455 for the same signal.
12456 (Fdbus_register_signal): Don't overwrite a registration for the
12457 same signal. Add a new registration if handlers are different.
12458 (Vdbus_registered_functions_table): Rework doc string.
12459
52da95fa
MA
124602007-12-07 Michael Albinus <michael.albinus@gmx.de>
12461
12462 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
12463 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
12464 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
12465 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
12466 Unify argument lists.
a0a3805c 12467 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
12468 arguments and hash table keys. Use unique name for service.
12469 (Fdbus_unregister_signal): Remove checks.
12470 (Vdbus_registered_functions_table): Fix doc string.
12471
e5e76c04 124722007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
12473
12474 * process.c (make_process): Initialize pty_flag to 0.
12475
e5e76c04 124762007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
12477
12478 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
12479 specified XBMs.
12480
e5e76c04 124812007-12-05 Richard Stallman <rms@gnu.org>
048addec 12482
e5e76c04 12483 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 12484
e5e76c04 124852007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12486
e5e76c04
MB
12487 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
12488 New variable.
12489 (mac_try_close_socket) [MAC_OSX]: New function.
12490 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
12491 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 12492
e5e76c04
MB
12493 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
12494 Use mac_try_close_socket.
048addec 12495
e5e76c04 124962007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12497
e5e76c04
MB
12498 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
12499 reloc_base.
12500 (copy_dysymtab): Compute relocation base here.
12501 (rebase_reloc_address) [__ppc64__]: New function.
12502 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
12503 changed.
048addec 12504
e5e76c04 125052007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 12506
e5e76c04 12507 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 12508
e5e76c04 125092007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 12510
e5e76c04
MB
12511 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
12512 __objc_* sections.
12513 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 12514
96faeb40
MA
125152007-12-05 Michael Albinus <michael.albinus@gmx.de>
12516
12517 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
12518 Move check for Vdbus_registered_functions_table to
12519 xd_read_queued_messages.
12520 (xd_read_queued_messages): Protect xd_read_message calls by
12521 internal_condition_case_1.
12522
39abdd4a
MA
125232007-12-04 Michael Albinus <michael.albinus@gmx.de>
12524
87df3c32 12525 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 12526 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 12527 (Vdbus_intern_symbols): Remove.
39abdd4a 12528 (Vdbus_registered_functions_table): New hash table.
87df3c32 12529 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 12530 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 12531 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
12532 Vdbus_registered_functions_table.
12533
880820fe 125342007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
12535
12536 * xterm.c: Update URL to Window Manager Specification in comment.
12537
033b73e2
MA
125382007-12-02 Michael Albinus <michael.albinus@gmx.de>
12539
12540 * config.in (HAVE_DBUS): Add.
12541
a0a3805c 12542 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
12543 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
12544 (obj): Add $(DBUS_OBJ).
12545 (LIBES): Add $(DBUS_LIBS).
12546 (dbusbind.o): New target.
12547
12548 * dbusbind.c: New file.
12549
12550 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
12551
12552 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 12553 (Qdbus_event): New Lisp symbol.
033b73e2 12554 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 12555 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
12556 (keys_of_keyboard ): Define dbus-event.
12557
12558 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
12559
39d0bf74
RS
125602007-12-01 Richard Stallman <rms@gnu.org>
12561
12562 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
12563
f3157c65
JR
125642007-11-30 Jason Rumney <jasonr@gnu.org>
12565
12566 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
12567 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
12568 (w32_face_attributes): Don't use color indexes that are out of range.
12569 Only reverse the default colors.
f3157c65
JR
12570
12571 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
12572 WINDOWSNT.
12573
12574 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
12575
b510360c
JR
125762007-11-29 Jason Rumney <jasonr@gnu.org>
12577
12578 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
12579 (w32_face_attributes): Use Vtty_defined_color_alist to determine
12580 if the terminal colors are initialized.
12581 (unspecified_fg, unspecified_bg): Remove unused declarations.
12582
4b7ab1c4
AS
125832007-11-29 Andreas Schwab <schwab@suse.de>
12584
12585 * keyboard.c (apply_modifiers): Fix typo.
12586
4bb6c266
RS
125872007-11-29 Richard Stallman <rms@gnu.org>
12588
12589 * keymap.c (Fcurrent_local_map): Doc fix.
12590
aa44cd84
GM
125912007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
12592
12593 * s/gnu-kfreebsd.h: New file.
12594
21ec2c43
SM
125952007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
12596
cc648cef
SM
12597 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
12598 Don't cast redundantly.
12599
21ec2c43
SM
12600 * keyboard.c (KEY_TO_CHAR): New macro.
12601 (parse_modifiers, apply_modifiers): Accept integer arguments.
12602 (read_key_sequence): Use them to unify the "shift->unshift" mapping
12603 for chars and symbol keys.
12604 After doing such remapping, apply function-key-map again.
12605
73e72da4
DN
126062007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
12607
12608 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
12609 compiled anymore.
12610
254693ff
AS
126112007-11-26 Andreas Schwab <schwab@suse.de>
12612
12613 * process.c (list_processes_1): Fix indentation level of the
12614 command column.
12615
ff6e6ac8
AS
126162007-11-23 Andreas Schwab <schwab@suse.de>
12617
12618 * editfns.c (Fformat): Handle %c specially since it requires the
12619 argument to be of type int.
12620
f7cf8b20
SM
126212007-11-23 Markus Triska <markus.triska@gmx.at>
12622
12623 * emacs.c (main): Call init_editfns before init_process, since
2a2e8de7 12624 init_process sets Vprocess_connection_type depending on OS release.
f7cf8b20 12625
569c11e3
SM
126262007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
12627
8787dd73
SM
12628 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
12629 (find_symbol_value): Use do_symval_forwarding.
12630
569c11e3
SM
12631 * data.c (set_internal): Set the value in the `cons-cell' (for
12632 Buffer_Local_values) not only for frame-local variables.
12633
6af1696d
AS
126342007-11-22 Andreas Schwab <schwab@suse.de>
12635
12636 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
12637 values to sprintf.
12638 * keymap.c (Fsingle_key_description): Likewise.
12639 * print.c (print_object): Likewise.
12640
880820fe 126412007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
12642
12643 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
12644 file for image is nil.
12645
7c401d15
DN
126462007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
12647
12648 * term.c: Include stdarg.h.
569c11e3 12649 (fatal): Implement using varargs.
a0a3805c 12650 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 12651
64e16c3c
SM
126522007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
12653
12654 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
12655 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
12656 Update call to buffer_slot_type_mismatch.
12657 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
12658 (buffer_slot_type_mismatch): Update.
12659 * buffer.c (buffer_local_types): Remove.
12660 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
12661 (defvar_per_buffer): Set the type in the buffer_objfwd.
12662
d4aa48db 126632007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 12664
64e16c3c
SM
12665 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
12666 CreateFileMapping returns NULL on failure.
5f42a7eb 12667
d4aa48db 126682007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 12669
d4aa48db
MB
12670 * search.c (Fset_match_data): Remove the `evaporate' feature.
12671 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 12672
bdae0540
JR
126732007-11-21 Jason Rumney <jasonr@gnu.org>
12674
12675 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
12676
12677 * w32console.c (w32con_write_glyphs): Remove unused variables.
12678
202c09a8
DN
126792007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
12680
b951420f
DN
12681 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
12682
202c09a8
DN
12683 * s/darwin.h (MULTI_KBOARD): Remove.
12684
12685 * macfns.c (x_create_tip_frame, Fx_create_frame)
12686 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
12687
bae72c12
SM
126882007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
12689
e7c10f83
SM
12690 * buffer.c (Fbuffer_local_value): Remove redundant test.
12691 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
12692 than in `current-buffer' to match the comment.
12693 Do the swap using swap_in_global_binding.
12694
136eb6ed
SM
12695 * data.c (store_symval_forwarding, set_internal):
12696 * eval.c (specbind): Remove dead code.
12697
bae72c12
SM
12698 * coding.c (detect_coding, Fupdate_coding_systems_internal):
12699 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
12700 Since we do not want to see internal Lisp_*fwd objects here.
12701
880820fe 127022007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 12703
3d66b985
JD
12704 * sysdep.c (init_system_name): Use getaddrinfo if available.
12705
95fbaefc
JD
12706 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
12707 (x_scroll_bar_note_movement): start, end, with, height in struct
12708 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
12709
6c1d8cb6
DN
127102007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
12711
12712 * puresize.h (BASE_PURESIZE): Increase to 1190000.
12713
30f95089
SM
127142007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
12715
66b04bd4
SM
12716 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
12717 This undoes Richard's change of 14-Oct-2002.
12718
6d3f2bb2
SM
12719 * alloc.c (allocate_other_vector):
12720 * lisp.h (allocate_other_vector): Remove.
12721
b05b4e27
SM
12722 * window.c (struct save_window_data): Move non-lisp data to the end
12723 and make it `int' rather than Lisp_Object.
12724 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
12725 Done wrap/unwrap integer values.
12726 (Fset_window_configuration, compare_window_configurations):
12727 Update use of fields to their new types.
12728
056ce195
SM
12729 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
12730 Turn integer fields into `int'. Merge x_window_low and x_window_high.
12731 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
12732 (SET_SCROLL_BAR_X_WINDOW): Remove.
12733 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
12734 Access the new x_window field directly.
12735 * xterm.c (x_scroll_bar_create): Use a pseudovector.
12736 Don't wrap/unwrap integers into Lisp_Objects.
12737 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
12738 (x_scroll_bar_report_motion):
12739 Don't wrap/unwrap integers into Lisp_Objects.
12740 (x_term_init): Use SDATA.
12741 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
12742 (x_scroll_bar_set_handle, x_scroll_bar_remove)
12743 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
12744 (x_scroll_bar_report_motion, x_scroll_bar_clear):
12745 * xfns.c (x_set_background_color):
12746 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
12747 Access the new x_window field directly.
12748
30f95089
SM
12749 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
12750 (allocate_pseudovector): Make non-static.
6d3f2bb2 12751
30f95089
SM
12752 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
12753 (allocate_pseudovector): Declare.
6f69e89b 12754 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 12755
9b6112e8
AS
127562007-11-15 Andreas Schwab <schwab@suse.de>
12757
30f95089
SM
12758 * editfns.c (Fformat): Correctly format EMACS_INT values.
12759 Also take precision into account when formatting an integer.
0f860bd7 12760
9b6112e8
AS
12761 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
12762
262fcd41
SM
127632007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
12764
58da34c7
SM
12765 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
12766 (syms_of_keyboard): Defsubr it.
12767
262fcd41
SM
12768 * data.c (swap_in_global_binding): Fix longstanding bug where
12769 store_symval_forwarding was not called with the right second argument,
12770 thus causing objfwd-ing from being dropped.
12771
d29a9848
JB
127722007-11-14 Juanma Barranquero <lekktu@gmail.com>
12773
12774 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
12775 (Fx_display_pixel_height, Fx_display_planes)
12776 (Fx_display_color_cells, Fx_server_max_request_size)
12777 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12778 (Fx_display_visual_class, Fx_display_save_under):
12779 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
12780 (Fx_display_pixel_height, Fx_display_planes)
12781 (Fx_display_color_cells, Fx_server_max_request_size)
12782 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
12783 (Fx_display_mm_height, Fx_display_mm_width)
12784 (Fx_display_backing_store, Fx_display_visual_class)
12785 (Fw32_select_font, Fx_display_save_under):
12786 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
12787 (Fx_display_pixel_height, Fx_display_planes)
12788 (Fx_display_color_cells, Fx_server_max_request_size)
12789 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
12790 (Fx_display_save_under): Fix typos in docstrings.
12791
74084731
JB
127922007-11-14 Juanma Barranquero <lekktu@gmail.com>
12793
12794 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
12795 corresponding to deleted entries; they are an implementation detail.
12796 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
12797 Remove variables.
12798 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
12799 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
12800 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
12801 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
12802 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 12803 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 12804 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
12805 Fix typos in docstrings.
12806 (Fx_server_version): Reflow docstring.
12807 (Fw32_shell_execute): Doc fixes.
74084731 12808
fb053a1f
JB
128092007-11-13 Juanma Barranquero <lekktu@gmail.com>
12810
12811 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
12812 if w32_parse_hot_key returned nil.
12813
a457417e 128142007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 12815
a457417e 12816 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 12817
4b219faa
JR
128182007-11-09 Jason Rumney <jasonr@gnu.org>
12819
12820 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
12821
12822 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
12823
12824 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
12825 Remove W32_SCROLL_BAR_CLICK_EVENT.
12826
12827 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
12828 Add MULTIMEDIA_KEY_EVENT.
12829
12830 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
12831 (lispy_multimedia_keys) [WINDOWSNT]: New array.
12832 (make_lispy_event) [WINDOWSNT]: Use it to translate
12833 MULTIMEDIA_KEY_EVENT.
12834
12835 * w32term.h (WM_APPCOMMAND): Define if not already.
12836 (GET_APPCOMMAND_LPARAM): Likewise.
12837
12838 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
12839 WM_APPCOMMAND.
12840
12841 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
12842 (syms_of_w32fns): Export and initialize it.
12843 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
12844
c12ecb0a 128452007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
12846
12847 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
12848 twice.
12849
12850 * xdisp.c (handle_face_prop): Fix last change.
12851
c12ecb0a 128522007-11-09 Richard Stallman <rms@gnu.org>
048addec 12853
c12ecb0a
MB
12854 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
12855 not just for after-strings and before-strings.
12856 Call face_for_overlay_string and pass the overlay to it.
12857 (handle_display_prop): Determine whether property came from an overlay.
12858 Pass OVERLAY arg to handle_single_display_spec.
12859 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
12860 (load_overlay_strings): Fill in it->string_overlays.
12861 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 12862
c12ecb0a
MB
12863 * xfaces.c (face_for_overlay_string): Function renamed from
12864 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 12865
c12ecb0a
MB
12866 * dispextern.h (struct it): New elt string_overlays.
12867 New elt from_overlay, also in stack.
12868 Rearrange a few elements.
12869 (face_for_overlay_string): Decl renamed from
12870 face_at_buffer_position_no_overlays, and add argument.
15fff01d 12871
c12ecb0a 128722007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 12873
c12ecb0a
MB
12874 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
12875 to get the base face for an overlay string.
0d8466cc 12876
c12ecb0a 12877 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 12878
c12ecb0a 12879 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 12880
c12ecb0a 12881 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 12882
c12ecb0a 128832007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 12884
c12ecb0a
MB
12885 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
12886 Fix conversion from Lisp object to ATSUFontID.
07025a55 12887
c12ecb0a 128882007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 12889
c12ecb0a 12890 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 12891
c12ecb0a 128922007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 12893
c12ecb0a
MB
12894 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
12895 Don't assume regions are aligned to page boundary.
12896 (print_load_command_name): Add LC_UUID if defined.
3a232704 12897
c12ecb0a 128982007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 12899
c12ecb0a 12900 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 12901
b8ddfbcc
JR
129022007-11-07 Jason Rumney <jasonr@gnu.org>
12903
12904 * s/windows95.h: Remove.
12905
880820fe 129062007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
12907
12908 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
12909 abort with a message on unhandled store_type values.
12910
880820fe 129112007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
12912
12913 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
12914 Remove HAVE_X11R5 and HAVE_X11R4.
12915
04a697fe
DN
129162007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12917
12918 * Makefile.in: Remove references to sunfns.c and sunfns.o.
12919
880820fe 129202007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
12921
12922 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 12923 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
12924 x_set_glyph_string_gc from x_draw_glyph_string.
12925
07e5c0b0
DN
129262007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
12927
2a2e8de7 12928 * sunfns.c: Remove file.
07e5c0b0
DN
12929
12930 * m/sun386.h:
12931 * m/sun2.h:
12932 * m/sparc.h: Remove Sun windows code.
12933
1bc973c2
SM
129342007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
12935
12936 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
12937 (init_keyboard): Set current_kboard's window-system to nil.
12938 (tty_read_avail_input): Typo.
12939 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
12940
c22140f6
DN
129412007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
12942
12943 * s/usg5-4.h:
12944 * s/usg5-3.h:
12945 * s/ptx.h:
12946 * m/is386.h:
12947 * m/ibmps2-aix.h:
2a2e8de7 12948 * Makefile.in: Remove all mentions of X10.
c22140f6
DN
12949
12950 * dispnew.c (syms_of_display): Don't mention version 10.
12951
660a8219
JB
129522007-10-28 Juanma Barranquero <lekktu@gmail.com>
12953
12954 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
12955 ($(BLD)/abbrev.$(O)): Remove.
12956
e047f448
SM
129572007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
12958
12959 Rewrite abbrev.c in Elisp.
12960 * image.c (Qcount): Don't declare as extern.
12961 (syms_of_image): Initialize and staticpro `Qcount'.
12962 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
12963 * emacs.c (main): Don't call syms_of_abbrev.
12964 * Makefile.in (obj): Remove abbrev.o.
12965 (abbrev.o): Remove.
12966 * abbrev.c: Remove.
12967
67b73e3a
MR
129682007-10-26 Martin Rudalics <rudalics@gmx.at>
12969
12970 * window.c (window_min_size_2): Don't count header-line.
12971
e3d7bd83
DN
129722007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
12973
12974 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 12975 field to take advantage of the available space. Group all the
e3d7bd83
DN
12976 chars together to reduce wasted space due to padding.
12977
a3547743
JB
129782007-10-26 Juanma Barranquero <lekktu@gmail.com>
12979
e298936f
JB
12980 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
12981
d3d47262
JB
12982 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
12983 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
12984 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
12985 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
12986 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
12987 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
12988 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
12989 (last_marked, mark_object_loop_halt): Make static.
12990
a3547743
JB
12991 * frame.c (syms_of_frame) <delete-frame-functions>:
12992 Fix typo in docstring.
12993
14c71d8b
JB
129942007-10-25 Juanma Barranquero <lekktu@gmail.com>
12995
12996 * w32.c (init_environment): Fix tiny memory leak.
66199f74 12997 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 12998
70b8d0a4
SM
129992007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
13000
13001 Make `window-system' into a keyboard-local variable (rather than
13002 frame-local as done originally by multi-tty).
13003
13004 * keyboard.h (struct kboard): Add Vwindow_system.
13005 * keyboard.c (init_kboard): Set a default for Vwindow_system.
13006 (mark_kboards): Mark Vwindow_system.
13007
13008 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
13009 (init_display): Don't set the obsolete `window-system' frame-param.
13010
13011 * xterm.c (x_term_init):
13012 * w32term.c (w32_create_terminal):
13013 * term.c (init_tty): Set Vwindow_system.
13014 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
13015 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
13016
13017 * xfns.c (Fx_create_frame, x_create_tip_frame):
13018 * w32fns.c (Fx_create_frame, x_create_tip_frame):
13019 * macfns.c (Fx_create_frame):
13020 Don't set the obsolete `window-system' frame-param.
13021
13022 * frame.h (Qwindow_system): Remove.
13023 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
13024 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
13025
fdc90613 130262007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 13027
fdc90613
MB
13028 * frame.c (x_figure_window_size): For fullscreen case,
13029 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 13030
fdc90613 13031 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 13032
fdc90613 13033 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 13034
7357cb04
SM
130352007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
13036
98228e72
SM
13037 * process.c (unwind_request_sigio): Only define if __ultrix__.
13038
1baf6db9
SM
13039 * callproc.c (child_setup): Remove spurious *.
13040
4d0ac3d7
SM
13041 * lisp.h (Fget_text_property): Declare.
13042 (have_menus_p): Declare it here rather than in sys-dep header files.
13043 * macterm.h (have_menus_p):
13044 * msdos.h (have_menus_p):
13045 * xterm.h (have_menus_p): Remove.
13046
7357cb04
SM
13047 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
13048 (Fmake_variable_frame_local): Just check the variable's const-ness
13049 rather than checking nil or t.
13050
866e6dd6
JR
130512007-10-22 Jason Rumney <jasonr@gnu.org>
13052
b00afeae
JR
13053 * w32fns.c: Include math.h.
13054 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 13055
c8f7c76b
JR
13056 * s/ms-w32.h (HAVE_STDLIB_H): Define.
13057 (abort): Redefinition moved to nt/config.nt.
13058
866e6dd6
JR
13059 * m/windowsnt.h: Remove.
13060
e79beb56
JB
130612007-10-22 Juanma Barranquero <lekktu@gmail.com>
13062
13063 * emacs.c (Fdump_emacs): Fix typo in message.
13064 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
13065 <installation-directory>: Reflow docstring.
13066
fb30dfd2
JL
130672007-10-22 Juri Linkov <juri@jurta.org>
13068
13069 * minibuf.c: Allow minibuffer default to be a list of default values.
13070 With empty input use the first element of this list as returned default.
e79beb56 13071 (string_to_object)
0f7f11b7 13072 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
13073 (read_minibuf): If defalt is cons, set histstring to its car.
13074 (Fread_string): If default_value is cons, set val to its car.
13075 (Fread_buffer): If def is cons, use its car.
13076 (Fcompleting_read): If defalt is cons, set val to its car.
13077
1f163f28
MA
130782007-10-21 Michael Albinus <michael.albinus@gmx.de>
13079
13080 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
13081
db3534c3
JB
130822007-10-20 Juanma Barranquero <lekktu@gmail.com>
13083
13084 * doc.c (Fdocumentation): Check for advice in all cases.
13085
c6f18a07
CY
130862007-10-19 Chong Yidong <cyd@stupidchicken.com>
13087
13088 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
13089
2a1534d3
RS
130902007-10-19 Richard Stallman <rms@gnu.org>
13091
13092 * doc.c (Fdocumentation): Check for and handle an advised function.
13093
7b82c3b6
JB
130942007-10-19 Juanma Barranquero <lekktu@gmail.com>
13095
13096 * process.c (Fset_process_filter): Doc fix.
13097
3278f20e
SM
130982007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
13099
13100 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
13101 which caused key-translation-map to applied repeatedly (thus breaking
13102 double-mode).
13103
99784d63
SM
131042007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13105
13106 * xselect.c (x_own_selection, x_handle_selection_clear)
13107 (x_clear_frame_selections):
13108 * w32menu.c (list_of_panes, list_of_items):
13109 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
13110 * textprop.c (validate_plist, interval_has_all_properties)
13111 (interval_has_some_properties, interval_has_some_properties_list)
13112 (add_properties, text_property_list):
13113 * process.c (Fget_buffer_process, list_processes_1, status_notify):
13114 * minibuf.c (Fassoc_string):
13115 * macselect.c (x_own_selection, x_clear_frame_selections)
13116 (Fx_disown_selection_internal):
13117 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
13118 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
13119
44bb704d
CY
131202007-10-17 Chong Yidong <cyd@stupidchicken.com>
13121
13122 * process.c: Link to libs for calling res_init() if available.
13123 (Fmake_network_process): Call res_init() before getaddrinfo or
13124 gethostbyname, if possible.
13125
d314756e
SM
131262007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
13127
2504022a
SM
13128 * lread.c (read1): Set pvectype for char_tables.
13129
19fa82b9
SM
13130 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
13131 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
13132 Add type checks.
13133 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
13134
d314756e
SM
13135 * alloc.c (free_misc): Use XMISCTYPE.
13136 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
13137
94b9aaa2
GM
131382007-10-17 Glenn Morris <rgm@gnu.org>
13139
13140 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
13141 (syms_of_minibuf): Add Qcompletion_ignore_case.
13142 * dired.c (Qcompletion_ignore_case): Change to external.
13143 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
13144 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
13145 (Fread_file_name): Use it rather than intern'ing.
13146
13147 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
13148 (Fread_coding_system): Ignore case of user input.
13149
da6658e8
YM
131502007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13151
13152 * xdisp.c (handle_display_prop): Ignore display specs after
13153 replacing one when string text is being replaced.
13154 (handle_single_display_spec): Pretend as if characters with display
13155 property haven't been consumed only when buffer text is being replaced.
13156
11fb4bdb
SM
131572007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
13158
9beb8baa
SM
13159 * xfns.c (Fx_create_frame, Fx_display_list):
13160 * window.c (window_fixed_size_p, enlarge_window)
13161 (shrink_window_lowest_first):
13162 * macterm.c (init_font_name_table):
13163 * macfns.c (Fx_create_frame, Fx_display_list):
13164 * lread.c (close_load_descs):
13165 * keyboard.c (read_char_x_menu_prompt):
13166 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
13167 * coding.c (code_convert_region_unwind): Test the type of an object
13168 rather than just !NILP before extracting data from it.
13169
d3f41ff5
SM
13170 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
13171
67ee9f6e
SM
13172 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
13173 (XMISCANY): New macro.
13174 (XMISCTYPE): Use it.
13175 (struct Lisp_Misc_Any): New type.
13176 (union Lisp_Misc): Use it.
13177 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
13178 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
13179 (find_symbol_value, set_internal, default_value, Fset_default)
13180 (Fmake_variable_buffer_local, Fmake_local_variable)
13181 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
13182 (Flocal_variable_if_set_p, Fvariable_binding_locus):
13183 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
13184 * alloc.c (allocate_buffer): Set the size and tag.
13185 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
13186 Use XMISCANY.
13187 (die): Follow the GNU convention for error messages.
13188 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
13189 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
13190 tag any more.
13191 (set_buffer_internal_1):
13192 * frame.c (store_frame_param):
13193 * eval.c (specbind):
13194 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
13195
11fb4bdb
SM
13196 * doc.c (Fsnarf_documentation): Simplify.
13197
decb374a
JB
131982007-10-14 Juanma Barranquero <lekktu@gmail.com>
13199
13200 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
13201 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
13202
b5a40ee7
SM
132032007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
13204
13205 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
13206
35277b03
JB
132072007-10-14 Juanma Barranquero <lekktu@gmail.com>
13208
13209 * eval.c (do_autoload): Don't save autoloads.
13210
13211 * data.c (Ffset): Save autoload of the function being set.
13212
35fdaa62
GM
132132007-10-07 John Paul Wallington <jpw@pobox.com>
13214
13215 * xfns.c (x_create_tip_frame): Set the `display-type' frame
13216 parameter before setting up faces.
13217
1ea40aa2
EZ
132182007-10-13 Eli Zaretskii <eliz@gnu.org>
13219
35fdaa62 13220 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
13221 * keyboard.c (append_tool_bar_item): Reformat last change.
13222
1ea40aa2
EZ
13223 * lisp.h (eabs): Rename from `abs'. All callers changed.
13224
35277b03 132252007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
13226
13227 * buffer.c (add_overlay_mod_hooklist):
13228 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
13229 * fontset.c (make_fontset):
13230 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
13231 (append_tool_bar_item):
13232 * macmenu.c (grow_menu_items):
35fdaa62 13233 * w32menu.c (grow_menu_items):
71d00ce4 13234 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 13235
bc82f120
EZ
132362007-10-13 Eli Zaretskii <eliz@gnu.org>
13237
13238 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
13239 selected frame'' on MSDOS).
13240
d57d5a78
MR
132412007-10-12 Martin Rudalics <rudalics@gmx.at>
13242
13243 * frame.c (Qexplicit_name): New variable.
13244 (x_report_frame_params): Report it in parameter alist.
13245 (syms_of_frame): Intern and staticpro it.
13246
35277b03 132472007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
13248
13249 * macfns.c (x_create_tip_frame): Set terminal for frame.
13250
c7a4b95b
SM
132512007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
13252
26f9c7b7
SM
13253 * frame.c (Qenvironment): Remove.
13254 (syms_of_frame) <Qenvironment>: Don't initialize.
13255 (Fdelete_frame): Don't treat the `environment' param specially.
13256 * frame.h (Qenvironment): Don't declare.
13257 * callproc.c (set_initial_environment): Don't set unused frame param.
13258
c7a4b95b
SM
13259 * frame.c (Fframe_with_environment): Remove.
13260 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 13261
c7a4b95b
SM
13262 * lisp.h (Fframe_with_environment): Don't declare.
13263
c86f7377
JB
132642007-10-10 Juanma Barranquero <lekktu@gmail.com>
13265
13266 * indent.c (indent_tabs_mode, last_known_column)
13267 (last_known_column_modified): Make static.
13268 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
13269
d1b3a122
KY
132702007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
13271
13272 * puresize.h (BASE_PURESIZE): Increase to 1170000.
13273
d57d5a78
MR
132742007-10-09 Jason Rumney <jasonr@gnu.org>
13275
13276 * w32term.c (x_set_window_size): Disable code that attempts to tell
13277 Lisp code about a size change before it actually happens.
13278
81d3d428 132792007-10-09 Richard Stallman <rms@gnu.org>
91175673 13280
81d3d428
MB
13281 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
13282 return HANDLED_RETURN.
91175673 13283
1af74d06 132842007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 13285
1af74d06
MB
13286 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
13287 when there's an unread command event.
e0fead5d 13288
c7a4b95b 13289 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
13290 window autoselection act appropriately when leaving selected frame.
13291 (syms_of_frame): Initialize focus_follows_mouse.
13292 * frame.h (focus_follows_mouse): Extern it.
13293 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 13294 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
13295 * msdos.c (dos_rawgetc): Likewise.
13296 * w32term.c (w32_read_socket): Likewise.
13297 * xterm.c (handle_one_xevent): Likewise.
13298 * xdisp.c (syms_of_xdisp): In doc-string of
13299 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 13300
1af74d06 133012007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 13302
1af74d06
MB
13303 * macterm.c (mac_load_query_font): Fix missing return value.
13304 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
13305 Add BLOCK_INPUT.
c186cdb3 13306
1af74d06 133072007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 13308
1af74d06
MB
13309 * xdisp.c (get_window_cursor_type): Implement documented behavior
13310 for cursor-in-non-selected-windows = t.
c186cdb3 13311
1af74d06 133122007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 13313
1af74d06 13314 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 13315
1af74d06 133162007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 13317
1af74d06 13318 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 13319
1af74d06 13320 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 13321
1af74d06 133222007-10-08 Richard Stallman <rms@gnu.org>
a3c83618 13323
c7a4b95b 13324 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 13325
1af74d06 133262007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 13327
1af74d06 13328 * buffer.c (Foverlays_at): Doc fix.
036e218d 13329
1af74d06 133302007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 13331
1af74d06 13332 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 13333
1af74d06 133342007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 13335
1af74d06 13336 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 13337
1af74d06 13338 * frame.h (enum): Remove trailing comma.
90647b07 13339
8993ad2e 133402007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
90647b07 13341
1af74d06 13342 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 13343
1af74d06 133442007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 13345
1af74d06 13346 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 13347
1af74d06
MB
13348 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
13349 last-repeatable-command.
13350 (init_kboard): Initialize Vlast_repeatable_command.
13351 (command_loop_1): Set it to real_this_command unless that was
13352 bound to an input event.
13353 (mark_kboards): Mark it.
9fbc32aa 13354
1af74d06 133552007-10-08 Richard Stallman <rms@gnu.org>
036e218d 13356
1af74d06 13357 * eval.c (condition-case): Doc fix.
9fbc32aa 13358
1af74d06 133592007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 13360
1af74d06
MB
13361 * xfaces.c (tty_supports_face_attributes_p): Fix code
13362 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
13363 was copied and not edited.
9fbc32aa 13364
beb9f745
SM
133652007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
13366
c86f7377 13367 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
13368 escape sequences.
13369 * keyboard.h (struct kboard): Add Vinput_decode_map.
13370 Remove Vlocal_key_translation_map.
13371 * keyboard.c (read_key_sequence): Add support for input-decode-map.
13372 (init_kboard): Init input-decode-map.
13373 Replace local-key-translation-map back with key-translation-map.
13374 (syms_of_keyboard): Declare input-decode-map.
13375 Remove local-key-translation-map. Update docstrings.
13376 (mark_kboards): Mark Vinput_decode_map.
13377 Don't mark Vlocal_key_translation_map.
13378 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
13379 Replace local-key-translation-map back with key-translation-map.
13380 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
13381 Bind in input-decode-map rather than function-key-map.
13382
beb9f745
SM
13383 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
13384 This was made redundant by the previous introduction of XSETPVECTYPE.
13385
65342ae3
RS
133862007-10-09 Richard Stallman <rms@gnu.org>
13387
beb9f745 13388 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
13389
133902007-09-29 Richard Stallman <rms@gnu.org>
13391
13392 * eval.c (internal_condition_case_2, internal_condition_case_1)
13393 (internal_condition_case): Reenable abort if x_catching_errors ()
13394 to see if that really happens and why.
13395
6cff77fd
AS
133962007-10-06 Andreas Schwab <schwab@suse.de>
13397
13398 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
13399
bbe6f2aa
JB
134002007-10-04 Juanma Barranquero <lekktu@gmail.com>
13401
13402 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
13403
a390930c
SM
134042007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
13405
13406 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
13407
d6aa1876
SM
134082007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
13409
d0fdb6da
SM
13410 * window.h (struct window):
13411 * window.c (struct save_window_data, struct saved_window):
13412 * termhooks.h (struct terminal):
13413 * process.h (struct Lisp_Process):
13414 * frame.h (struct frame):
13415 * buffer.h (struct buffer):
13416 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
13417 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
13418 The size field of (pseudo)vectors is now unsigned.
13419 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
13420
878f97ff
SM
13421 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
13422 Turn `count' into an integer.
d0fdb6da 13423
878f97ff
SM
13424 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
13425 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
13426 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
13427 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
13428 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
13429
d2029e5b
SM
13430 * alloc.c (allocate_pseudovector): New fun.
13431 (ALLOCATE_PSEUDOVECTOR): New macro.
13432 (allocate_window, allocate_terminal, allocate_frame)
13433 (allocate_process): Use it.
13434 (mark_vectorlike): New function.
13435 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
13436 (mark_terminals): Use it.
13437 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
13438 (Fmake_byte_code): Use XSETPVECTYPE.
13439
13440 * frame.c (Fframe_parameters): Minor simplification.
13441
13442 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
13443
13444 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
13445
13446 * buffer.c (Fget_buffer_create, init_buffer_once):
13447 * lread.c (defsubr):
13448 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
13449
13450 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
13451 defined differently in the m/*.h files.
13452 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
13453 (XSETPVECTYPE): New macro.
13454 (XSETPSEUDOVECTOR): Use it.
13455
d6aa1876
SM
13456 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
13457 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 13458
d6aa1876
SM
13459 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
13460 * lread.c (defvar_per_buffer):
13461 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
13462
13463 * window.c (candidate_window_p): Only consider as visible frames that
13464 are on the same terminal.
13465
13466 * m/ibms390x.h (MARKBIT): Remove unused macro.
13467
88852d45
JB
134682007-10-01 Juanma Barranquero <lekktu@gmail.com>
13469
13470 * lread.c (Fload): Fix typo in docstring.
13471
880820fe 134722007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
13473
13474 * floatfns.c (Fexpt): Manually check for overflows, so that a power
13475 of a non-zero value can't yield zero.
13476
ed0c79c6
SM
134772007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
13478
b870aa61
SM
13479 * term.c (term_clear_mouse_face, term_mouse_highlight)
13480 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
13481
4c37a414
SM
13482 * print.c (safe_debug_print): Use XHASH.
13483
b9466edb
SM
13484 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
13485 Lisp elements such as tags.
13486 (XHASH): New macro.
13487 (EQ): Use it.
13488 (SREF, SSET, STRING_COPYIN): Use SDATA.
13489 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
13490
9c545a55
SM
13491 * alloc.c (mark_terminal): Remove left-over declaration.
13492 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
13493 (allocate_vectorlike): Remove type argument. Adjust callers.
13494 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
13495 Only handle the one remaining MEM_TYPE_VECTORLIKE.
13496
dafc79fa
SM
13497 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
13498 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
13499 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
13500 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
13501 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
13502 Use them.
13503
ed0c79c6
SM
13504 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
13505 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
13506 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
13507
3c81afd4
DN
135082007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
13509
13510 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
13511 loaded by default.
13512
6178ce5e
SM
135132007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
13514
4ce5ab77
SM
13515 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
13516 on this tty.
13517 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
13518
6178ce5e
SM
13519 * term.c (mouse_face_window): Rename from Qmouse_face_window.
13520 Update all users.
13521 (handle_one_term_event): Use Gpm_DrawPointer.
13522 (Fgpm_mouse_start): Rename from Fterm_open_connection.
13523 Signal errors instead of returning nil. Always return nil.
13524 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
13525 Make it a noop if gpm-mouse was not activated.
13526 (syms_of_term): Update names.
13527
bdf5f8ef
SM
135282007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
13529
75a8734b
SM
13530 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
13531 (init_sys_modes): Check that gpm_tty is the current tty.
13532
13559ee0
SM
13533 * alloc.c (allocate_terminal): Set the vector size to only count the
13534 lisp fields. Initialize those to nil.
13535 (mark_object): Don't treat terminals specially.
13536 (mark_terminal): Remove.
13537 (mark_terminals): Use mark_object instead.
13538
ff16b875
SM
13539 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
13540 the GC to the beginning.
13541
83155776
SM
13542 * indent.h:
13543 * indent.c: Use EMACS_INT for ints coming from Elisp data.
13544
bdf5f8ef
SM
13545 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
13546
ec8705b6
JR
135472007-09-25 Jason Rumney <jasonr@gnu.org>
13548
13549 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
13550
13551 * w32console.c (create_w32cons_output): Remove.
13552
13553 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
13554
13555 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
13556 (reset_sys_modes): Use reset_terminal_modes_hook.
13557
7351b242
SM
135582007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
13559
13560 * eval.c (do_autoload): Don't output any message.
13561
16706228
JL
135622007-09-24 Juri Linkov <juri@jurta.org>
13563
13564 * emacs.c (standard_args): Change priority of "--no-splash"
13565 from 40 to 3. Add "--no-desktop" with the same priority.
13566
3ae2e3a3
RS
135672007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
13568
13569 * alloc.c (gc_sweep): Check cons cell mark bits word by word
13570 and optimize the case where they are all 1.
13571
7a58fb43
GM
135722007-09-23 Johannes Weiner <hannes@saeurebad.de>
13573
3ae2e3a3
RS
13574 * lisp.h (abs): Define if not defined.
13575 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
13576 Don't define `abs', since it's defined in lisp.h.
7a58fb43 13577
78048085
EZ
135782007-09-22 Eli Zaretskii <eliz@gnu.org>
13579
c7a4b95b 13580 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
13581 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
13582 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
13583 (init_tty): Use DEV_TTY instead of "/dev/tty".
13584 [WINDOWSNT]: No need to protect from NAME arg being null.
13585
23d4cba5
DN
135862007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
13587
13588 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
13589 up the tty state.
13590
71f44e7a
SM
135912007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13592
13593 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
13594 (gpm_tty): Change its type.
13595 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
13596 (gpm_tty): Change its type and initialize it.
13597 (Fterm_open_connection): Check the frame is indeed a tty.
13598 Use the new gpm_tty.
13599 (Fterm_close_connection): Use the new gpm_tty.
13600 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
13601 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
13602
def7fa34
JB
136032007-09-21 Juanma Barranquero <lekktu@gmail.com>
13604
13605 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
13606 underline_color, to draw strike-through.
13607
d2bb6598
SM
136082007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
13609
273f164c
SM
13610 * lisp.h (allocate_terminal): Declare.
13611
ca2d5566
SM
13612 * window.c (candidate_window_p): Consider frames that are being placed
13613 by the user as somewhere between visible and iconified.
13614 (window_loop): Prefer windows on the current frame.
13615 (Fselect_window): Move the use of select-frame to the beginning so we
13616 can just delegate all the work (it'll call us back anyway).
13617
6168122d
SM
13618 * frame.c (Qdisplay_environment_variable):
13619 * frame.h (Qdisplay_environment_variable): Delete.
13620
c51842ec
SM
13621 * .gdbinit (xbacktrace): Print the arg's address rather than the value
13622 of the first arg, since that value may be a union.
13623
d2bb6598
SM
13624 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
13625 parameter rather than Qdisplay_environment_variable. If all else
13626 fails, look for DISPLAY in initial-environment.
13627
6f022c19
GM
136282007-09-21 Glenn Morris <rgm@gnu.org>
13629
13630 * Makefile.in (emacstool): Remove target.
f466320b 13631 (lisp, shortlisp): Remove termdev.elc.
6f022c19 13632
ea1bf8c7
GM
136332007-09-21 Markus Triska <markus.triska@gmx.at>
13634
d2bb6598 13635 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 13636
d30a25b3
SM
136372007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
13638
db699fc6
SM
13639 * callproc.c (getenv_internal_1): New function.
13640 (getenv_internal): Use it.
13641 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
13642
d2bb6598 13643 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
13644 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
13645 (Fset_terminal_parameter): Work with dead terminals as well.
13646 (Fmodify_terminal_parameters): Remove.
13647
d30a25b3
SM
13648 * terminal.c (get_terminal): Handle terminals.
13649 Make sure the terminal returned is live.
13650 (create_terminal): Use allocate_terminal.
13651 (mark_terminals): Move to alloc.c.
13652 (delete_terminal): Use terminal->name as liveness status.
13653 NULL out fields after freeing their contents.
13654 Don't deallocate the object.
13655 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
13656 rather than an int.
13657 (Fterminal_live_p): Accept non-integer arguments.
13658 (Fterminal_list): Return terminal objects rather than an ints.
13659
13660 * alloc.c (enum mem_type): New member for `terminal' objects.
13661 (allocate_terminal): New function.
d2bb6598
SM
13662 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
13663 Handle terminals.
d30a25b3
SM
13664 (mark_terminal): New fun.
13665 (mark_terminals): Move from terminal.c.
13666
13667 * term.c (get_tty_terminal): Don't treat output_initial specially.
13668 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
13669 (delete_tty): Use terminal->name as liveness status.
13670
13671 * termhooks.h (struct terminal): Make it into a pseudovector.
13672 Remove `deleted' replaced by checking `name's nullness.
13673
13674 * print.c (print_object): Handle terminals.
13675
13676 * lisp.h (enum pvec_type): New `terminal' pseudovector.
13677 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
13678
13679 * frame.c (make_terminal_frame):
13680 * keyboard.c (tty_read_avail_input):
13681 * w32term.c (x_delete_terminal):
13682 * xfns.c (Fx_create_frame, x_create_tip_frame):
13683 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
13684
eba25e7c
GM
136852007-09-20 Glenn Morris <rgm@gnu.org>
13686
13687 * process.c (Fmake_network_process): Doc fix.
13688
2a29c3c1
JR
136892007-09-19 Jason Rumney <jasonr@gnu.org>
13690
13691 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
13692
880820fe 136932007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
13694
13695 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
13696 Fix a C warning regarding variable constness.
13697
13698 * xterm.c (handle_one_xevent): Fix a C warning.
13699
334a1195
JR
137002007-09-18 Jason Rumney <jasonr@gnu.org>
13701
13702 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
13703
880820fe 137042007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
13705
13706 * gtkutil.c (gdpy_def): New variable.
13707 (xg_initialize): Initialize gdpy_def.
13708 (xg_display_close): If no other display exists, set gdpy_def to a
13709 new connection.
13710
880820fe 137112007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
13712
13713 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
13714 when we have no file name for the icon.
13715 (xg_tool_bar_expose_callback): Remove.
13716 (xg_create_tool_bar): Don't connect expose signal to
13717 xg_tool_bar_expose_callback.
13718 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
13719
4d580af2
AS
137202007-09-16 Andreas Schwab <schwab@suse.de>
13721
13722 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
13723 values instead of zapping them.
13724
aca946f3
GM
137252007-09-14 Glenn Morris <rgm@gnu.org>
13726
13727 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
13728 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
13729 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
13730 scope and rename to omfib_buffer for clarity.
13731 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
13732
25c460e5
KH
137332007-09-14 Kenichi Handa <handa@m17n.org>
13734
13735 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
13736
09b69f01
JR
137372007-09-13 Jason Rumney <jasonr@gnu.org>
13738
13739 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
13740
13741 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
13742
13743 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
13744 (mac_term_init): Call here instead, passing rif.
13745
442218db
GM
137462007-09-13 Glenn Morris <rgm@gnu.org>
13747
13748 * s/hpux.h: No longer define `static' as nothing.
13749
880820fe 137502007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
13751
13752 * callint.c (Fcall_interactively): Remove unused var `fun'.
13753
1971a872
RF
137542007-09-12 Romain Francoise <romain@orebokech.com>
13755
13756 * window.c (prefer_window_split_horizontally, display_buffer):
13757 Revert 2007-09-08 change.
13758
2d33f506
GM
137592007-09-12 Glenn Morris <rgm@gnu.org>
13760
585474ae 13761 * alloca.c: Remove file.
ca7af97a
GM
13762 * Makefile.in (alloca): Do not undef.
13763 (allocaobj, alloca.o): Remove.
13764 (otherobj): Remove allocaobj.
13765 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
13766 * regex.c (C_ALLOCA): Remove all references and code that was only
13767 used when this was defined.
13768 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
13769 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
13770 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
13771
2d33f506 13772 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
13773
13774 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
13775 (menu_grab_callback): All uses changed.
13776
13777 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
13778 (x_reply_selection_request): All uses changed.
2d33f506 13779
18a4a65e
SM
137802007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
13781
13782 * lread.c (load_warn_old_style_backquotes): Change message to look
13783 better when it appears in the middle of byte-compiler messages.
13784
47cc8819
DN
137852007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
13786
b7ea0894
DN
13787 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
13788
47cc8819
DN
13789 * xterm.c (x_create_terminal): Add comment.
13790
13791 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
13792
5632bd0f
RS
137932007-09-10 Richard Stallman <rms@gnu.org>
13794
13795 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
13796
880820fe 137972007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 13798
4bca9161
MC
13799 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
13800 (DEFUN): Document `intspec', use it instead of `prompt'.
13801
04724b69
MC
13802 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
13803
8a6d230a
MC
13804 * data.c (Finteractive_form): If the interactive specification starts
13805 with a `(', use it as a Lisp form.
13806
09fbdf6c
MC
13807 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
13808 name and file modes.
13809
ccb5c14f
MC
13810 * callint.c (Fcall_interactively): Comment fixes.
13811
023accd6
SM
138122007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
13813
13814 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
13815 and compiled functions.
13816
f26b9544
EZ
138172007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
13818
13819 * window.c (prefer_window_split_horizontally): New variable.
13820 (display_buffer): Consider splitting window horizontally depending
13821 on prefer_window_split_horizontally.
13822
4d395425
EZ
138232007-09-08 Eli Zaretskii <eliz@gnu.org>
13824
97ddc760 13825 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 13826
08c1d235
SM
138272007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13828
179cef48
SM
13829 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
13830
08c1d235
SM
13831 * frame.c (x_set_frame_parameters): Check number is positive before
13832 using XFASTINT.
13833
13834 * window.c (freeze_window_start): Don't presume selected_window holds
13835 a window object.
92f94a12 13836 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 13837
97ddc760 138382007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
13839
13840 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
13841
90ab5c62
SM
138422007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
13843
13844 * window.c (Vsplit_window_preferred_function): New var.
13845 (Fdisplay_buffer): Use it.
13846 (syms_of_window): Export, and initialize it.
13847
1ab2cd43
TTN
138482007-09-06 Pixel <pixel@mandriva.com> (tiny change)
13849
13850 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
13851
0b0515bc
GM
138522007-09-06 Glenn Morris <rgm@gnu.org>
13853
57fd5c55 13854 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
13855 * xselect.c (x_reply_selection_request) <cnt>: Move static
13856 variable to file scope.
13857
98594580
SM
138582007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
13859
13860 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
13861 consistent values of selected_frame and selected_window.
13862
0f4c7aef
JR
138632007-09-04 Jason Rumney <jasonr@gnu.org>
13864
13865 * w32console.c (initialize_w32_display): Zero unused hooks.
13866
e4019195
DN
138672007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13868
13869 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
13870 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
13871
bce179b5
JR
138722007-09-04 Jason Rumney <jasonr@gnu.org>
13873
a0236551
JR
13874 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
13875 in w32console.c. Set up input. Remove XXX comments that have been
13876 confirmed as correct.
13877
a4926668
JR
13878 * s/ms-w32.h (MULTI_KBOARD): Define.
13879
953bf0dc
JR
13880 * w32console.c (one_and_only_w32cons): Remove.
13881 (initialize_w32_display): Take terminal argument.
13882
13883 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
13884 initialize_w32_display.
13885 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
13886
bce179b5
JR
13887 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
13888
13889 * keyboard.c (discard_mouse_events): Discard it.
13890 (make_lispy_event): Translate it to a lisp event.
13891 (lispy_wheel_names): Add wheel-left and right events.
13892 (syms_of_keyboard): Enlarge wheel_syms.
13893
13894 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
13895 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
13896
13897 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
13898
13899 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
13900 from WM_MOUSEHWHEEL.
13901 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
13902
13903 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
13904 terminal.
13905
13906 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
13907 keyboard for the terminal.
13908
92cd6a7c
DN
139092007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
13910
13911 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
13912 (Vresume_tty_hook): Rename from Vresume_tty_functions.
13913 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
13914 and resume-tty-function to resume-tty-hook.
13915 (Fsuspend_tty, Fresume_tty): Use new names.
13916
880820fe 139172007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
13918
13919 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
13920 if it starts with "n:".
13921
880820fe 139222007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
13923
13924 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
13925
6b8e474c
SM
139262007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
13927
92d9c1d4
SM
13928 * frame.h:
13929 * frame.c (Qterm_environment_variable): Remove.
13930 (syms_of_frame): Don't init and staticpro it.
13931
92d9c1d4
SM
13932 * callproc.c (getenv_internal): Remove special case for $TERM.
13933
6b8e474c
SM
13934 * callproc.c (Vinitial_environment): New variable.
13935 (set_initial_environment): Initialize it.
13936 (syms_of_callproc): Declare it.
13937 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
13938 TERM under which a process runs is never related to the TERM in which
13939 Emacs is running.
13940
0f1444e1
DN
139412007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13942
13943 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
13944 * s/darwin.h: ... do it here.
13945
b8866860
SM
139462007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
13947
13948 * lisp.h (set_initial_environment): Rename from set_global_environment.
13949
13950 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
13951 removed by mistake on the multi-tty branch.
13952
13953 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
13954 (Fmodify_frame_parameters): Return a value.
13955
13956 * image.c (png_load): Comment-out var only used in commented-out code.
13957
13958 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
13959 before passing it to mark_object.
13960
13961 * xfaces.c (internal_resolve_face_name): Return a value.
13962 (internal_resolve_face_name, resolve_face_name_error): Comment out.
13963
13964 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
13965 (x_icon): Comment-out var only used in commented-out code.
13966
0a42be6d
RF
139672007-08-29 Romain Francoise <romain@orebokech.com>
13968
13969 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
13970 QUIT hasn't been provided.
13971
8d9cc0b7
MB
139722007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
13973
13974 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 13975 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
13976 (set_initial_environment): Initialise Vprocess_environment.
13977
13978 * config.in: Disable multi-keyboard support on a mac.
13979
13980 * frame.c (Qterm_environment_variable)
13981 (Qdisplay_environment_variable): New variables.
13982 (syms_of_frame): Intern and staticpro them.
13983 (Fmake_terminal_frame): Disable output method test.
13984
13985 * frame.h: Declare them here.
13986
13987 * macfns.c (x_set_mouse_color): Get rif from the frame.
13988 (x_set_tool_bar_lines): Don't use updating_frame.
13989 (mac_window): Add 2 new parameters for consistency with other systems.
13990 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
13991 frame parameters following what is done in X11 and w32. Don't use
13992 FRAME_MAC_DISPLAY_INFO.
13993 (Fx_open_connection, start_hourglass): Remove window-system check.
13994 (x_create_tip_frame): Get the keyboard from the terminal.
13995
13996 * macmenu.c: Reorder includes.
13997 (Fx_popup_menu): Use terminal specific mouse_position_hook.
13998
13999 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
14000 terminal parameter.
14001 (x_clear_frame): Add a frame parameter.
14002 (note_mouse_movement): Get rif from the frame.
14003 (mac_term_init): Initialize the terminal.
14004 (mac_initialize): Make static and move terminal initialization ...
14005 (mac_create_terminal): ... to this new function.
14006
14007 * macterm.h (struct mac_display_info): Add terminal.
7196c970 14008 (mac_initialize): Delete declaration.
8d9cc0b7 14009
381864b2 14010 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
14011
14012 * sysdep.c: Comment out text after #endif.
14013
14014 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
14015 is defined. Better initialize ttys in windows. Use terminal
14016 specific mouse_position_hook.
14017
14018 * termhooks.h (union display_info): Add mac_display_info.
14019
b8866860
SM
14020 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
14021 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
14022 frame parameters following what is done in X11.
14023
14024 * w32term.c (w32_initialize): Make static.
14025
14026 * xselect.c (x_handle_selection_clear): Only access
14027 terminal->kboard when MULTI_KBOARD is defined.
14028
14029 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
14030 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
14031
140322007-08-29 Jason Rumney <jasonr@gnu.org>
14033
14034 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
14035 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
14036
14037 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
14038 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
14039
14040 * keyboard.c (restore_kboard_configuration): Only define when
14041 MULTI_KBOARD defined.
14042
35277b03 14043 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
14044 (OBJ1): Add terminal.$(O)
14045
b8866860
SM
14046 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
14047 Don't define function body.
8d9cc0b7
MB
14048 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
14049
14050 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
14051
14052 * w32.c (request_sigio, unrequest_sigio): Remove.
14053
14054 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
14055 (w32con_clear_frame, w32con_clear_end_of_line)
14056 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
14057 (w32con_delete_glyphs, w32con_set_terminal_window)
14058 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
14059 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
14060 Add terminal arg.
8d9cc0b7
MB
14061 (PICK_FRAME): Remove.
14062 (w32con_write_glyphs): Use frame specific terminal coding.
14063 (one_and_only_w32cons): New global variable.
14064 (initialize_w32_display): Use it for storing hooks.
14065 (create_w32cons_output): New function.
14066
14067 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
14068 arg a frame.
14069
b8866860
SM
14070 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
14071 Set window_system.
8d9cc0b7
MB
14072 (x_set_tool_bar_lines): Don't use updating_frame.
14073 (Fx_create_frame): Set terminal and ref count.
14074 (Fx_open_connection): Remove window-system check.
14075
14076 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
14077
14078 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
14079 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
14080 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
14081 Add frame arg.
14082 (x_delete_terminal, w32_create_terminal): New functions.
14083 (w32_term_init): Create a terminal.
14084 (w32_initialize): Move terminal specific initialization to
14085 w32_create_terminal.
14086
b8866860 14087 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
14088 (w32_clear_rect, w32_clear_area): Use background from frame.
14089 (w32_display_info): Add terminal.
14090 (w32_sys_ring_bell, x_delete_display): Declare here.
14091
14092 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
14093
14094 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
14095
140962007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
14097
14098 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
14099 Fix get_named_tty calls for the controlling tty.
14100
141012007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
14102
14103 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
14104
141052007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
14106
14107 * term.c (tty_insert_glyphs): Add missing first parameter.
14108
880820fe 141092007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 14110
b8866860
SM
14111 * buffer.c (Fbuffer_list, Fbury_buffer):
14112 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
14113
14114 * cm.c (current_tty): New variable, for cmputc().
14115 (cmputc): Use it.
14116 (cmcheckmagic): Add tty parameter, look up terminal streams there.
14117 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
14118 (cmgoto): Add tty parameter. Pass it on to calccost().
14119 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
14120
14121 * cm.h (emacs_tputs): New macro to set current_tty, and then call
14122 tputs().
14123 (current_tty): New variable, for cmputc().
14124 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
14125
14126 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
14127 (internal_condition_case, internal_condition_case_1)
14128 (internal_condition_case_2): Don't abort when x_catching_errors.
14129
14130 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
14131 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
14132 prevent crashes caused by bogus longjmps in read_char.
14133
14134 * keymap.h (Fset_keymap_parent): Add EXFUN.
14135
14136 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
14137 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14138 Remove redundant definition.
14139
b8866860
SM
14140 * macfns.c (x_set_mouse_color, x_make_gc):
14141 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 14142
b8866860
SM
14143 * w32term.c (x_free_frame_resources):
14144 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
14145 (w32_initialize): Use the accessor macros for terminal characteristics.
14146
14147 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
14148 Use the accessor macros for terminal characteristics.
14149 * msdos.c (internal_terminal_init): Use the accessor macros for
14150 terminal characteristics.
b8866860
SM
14151 (ScreenVisualBell, internal_terminal_init):
14152 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
14153
14154 * termopts.h (no_redraw_on_reenter): Declare.
14155
14156 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 14157 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 14158 (Fgarbage_collect): Call them.
03f06e5c 14159 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
14160
14161 * prefix-args.c: Include stdlib.h for exit.
14162
14163 * syssignal.h: Add comment.
14164
14165 * indent.c: Include stdio.h.
14166
14167 * window.h (Vinitial_window_system): Declare.
14168 (Vwindow_system): Delete declaration.
14169
14170 * fontset.c (Finternal_char_font): Use FRAME_RIF.
14171
14172 * image.c (lookup_image): Don't initialize `c' until the xasserts
14173 have been run.
14174
14175 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
14176 FRAME_FOREGROUND_PIXEL.
14177
14178 * print.c (print_preprocess): Don't lose print_depth levels while
14179 iterating.
14180
b8866860
SM
14181 * widget.c (update_from_various_frame_slots):
14182 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
14183
14184 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
14185 frames.
14186 (window_internal_height): Remove bogus make_number call.
b8866860 14187 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
14188
14189 * fileio.c (Fread_file_name): Update comment.
14190
b8866860
SM
14191 * callint.c (Fcall_interactively):
14192 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
14193 Make sure it is correctly unwound.
14194
14195 * xsmfns.c (x_session_close): New function.
14196
03f06e5c 14197 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
14198 Delete declarations.
14199
14200 * xterm.h: Remove declaration for x_fully_uncatch_errors.
14201 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 14202 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
c3f9fba8 14203 (x_delete_device, x_session_close): Declare.
8d9cc0b7
MB
14204
14205 * lread.c: Include setjmp.h. Update declaration of `read_char'.
14206 (read_filtered_event): Call `read_char' with a local
14207 `wrong_kboard_jmpbuf'.
14208
b8866860
SM
14209 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
14210 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
14211
14212 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
14213 systems.
14214
b8866860 14215 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 14216 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 14217 (Fset_quit_char): EXFUN.
03f06e5c 14218 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
14219 (init_sys_modes, reset_sys_modes): Update prototypes.
14220 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
14221
b8866860
SM
14222 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
14223 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 14224 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 14225 Delete declarations.
03f06e5c
JB
14226 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
14227 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
14228 New declarations.
14229
14230 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
14231 already does that during init_display(). Call syms_of_keymap
b8866860
SM
14232 before syms_of_keyboard. Call `syms_of_terminal'.
14233 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
14234 (shut_down_emacs): Call reset_all_sys_modes() instead of
14235 reset_sys_modes().
14236
14237 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
14238 (internal_resolve_face_name, resolve_face_name_error): New functions.
14239 (resolve_face_name): Protect against loops and errors thrown by Fget.
14240 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
14241 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
14242
14243 * scroll.c: Replace CURTTY() with local variables throughout the
14244 file (where applicable).
14245 (calculate_scrolling, calculate_direct_scrolling)
14246 (scrolling_1, scroll_cost): Use the accessor macros for terminal
14247 characteristics.
14248
14249 * keymap.c (Vfunction_key_map): Remove.
b8866860 14250 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
14251 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
14252 (Vkey_translation_map): Remove.
14253 (syms_of_keymap): Remove DEFVAR for key-translation-map.
c3f9fba8 14254 (Fdescribe_buffer_bindings)
8d9cc0b7
MB
14255 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
14256 Update for terminal-local key-translation-map.
14257
14258 * Makefile.in (callproc.o): Update dependencies.
14259 (lisp, shortlisp): Add termdev.elc.
14260 (obj): Add terminal.o.
14261 (terminal.o): Add dependencies.
14262 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
14263 (data.o, fns.o): Add termhooks.h dependency.
14264 (SOME_MACHINE_LISP): Add dnd.elc.
14265 (minibuf.o): Fix typo.
14266 Update dependencies.
14267
14268 * data.c (do_symval_forwarding, store_symval_forwarding)
14269 (find_symbol_value): Use the selected frame's keyboard, not
14270 current_kboard.
14271
14272 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
14273 Vwindow_system.
14274
14275 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
14276 Fmenu_bar_open.
14277 (syms_of_xmenu): Update defsubr.
14278 (mouse_position_for_popup, Fx_popup_menu)
14279 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
14280 (set_frame_menubar, free_frame_menubar)
14281 (create_and_show_popup_menu, xmenu_show, )
14282 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
14283 an X frame.
14284
14285 * xselect.c (x_own_selection): Abort if not an X frame.
14286 (some_frame_on_display): Check if it is an X frame.
14287 (x_handle_selection_clear): Deal with MULTI_KBOARD.
14288
14289 * coding.c: Include frame.h and termhooks.h.
03f06e5c 14290 (terminal_coding, keyboard_coding): Delete.
c3f9fba8
JB
14291 (Fset_terminal_coding_system_internal)
14292 (Fset_keyboard_coding_system_internal)
14293 (Fkeyboard_coding_system)
03f06e5c
JB
14294 (Fterminal_coding_system): Add a terminal parameter.
14295 Get terminal_coding from the terminal.
8d9cc0b7
MB
14296 (init_coding_once): Don't call setup_coding_system here.
14297
14298 * dispextern.h (set_scroll_region, turn_off_insert)
14299 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
14300 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 14301 (delete_tty, updating_frame)
8d9cc0b7
MB
14302 (produce_special_glyphs, produce_glyphs, write_glyphs)
14303 (insert_glyphs): Remove.
14304 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 14305 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 14306 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
14307
14308 * frame.h (enum output_method): Add output_initial.
14309 (struct x_output): Delete.
b8866860
SM
14310 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
14311 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
14312 (tty_display): Delete.
14313 (struct frame): Add buried_buffer_list, foreground_pixel,
1f204af3 14314 background_pixel and terminal. Delete kboard.
8d9cc0b7
MB
14315 (union output_data): Add tty.
14316 (FRAME_KBOARD): Get the kboard from the terminal.
14317 (FRAME_INITIAL_P): New macro.
14318 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
14319 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
14320 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
14321 New declarations.
8d9cc0b7
MB
14322
14323 * termchar.h (tty_output, tty_display_info): New structures.
14324 (tty_list): Declare.
14325 (FRAME_TTY, CURTTY): New macros.
14326 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
14327 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
14328 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
14329 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
14330
14331 * callproc.c: Include frame.h and termhooks.h, for terminal
14332 parameters.
14333 (add_env): New function.
14334 (child_setup): Use it.
b8866860 14335 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
14336 (getenv_internal): Fix get_terminal_param call.
14337 (Fgetenv_internal, egetenv): Update doc.
14338 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 14339 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
14340 strings.
14341 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
14342 (getenv_internal): Add terminal parameter.
14343 Handle Vlocal_environment_variables.
8d9cc0b7
MB
14344 (Fgetenv_internal): Add terminal parameter.
14345 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 14346 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
14347 (set_initial_environment): Rename from set_global_environment.
14348 Store Emacs environment in initial frame parameter.
14349
14350 * xdisp.c (redisplay_internal): Update references to
14351 `previous_terminal_frame'.
14352 (display_mode_line, Fformat_mode_line): Replace calls to
14353 `push_frame_kboard' with `push_kboard'.
14354 (get_glyph_string_clip_rects): Add extra parentheses and
14355 braces to prevent compiler warnings.
14356 (calc_pixel_width_or_height): Add xassert to check that the
14357 frame is alive. Don't call `lookup_image' on a termcap frame.
14358 (message2_nolog, message3_nolog, redisplay_internal)
14359 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
14360 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
14361 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
14362 (Fx_display_pixel_width, Fx_display_pixel_height)
14363 (Fx_display_planes, Fx_display_color_cells)
14364 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
14365 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
14366 (Fx_display_backing_store, Fx_display_visual_class)
14367 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 14368 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
14369
14370 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
14371 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
14372 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
14373 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
14374 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
14375 terminal that is being deleted.
14376 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 14377 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
14378 (Fx_close_connection, Fx_synchronize): Unify argument names with
14379 the rest of the DEFUNs.
14380
14381 * dispnew.c (Fsend_string_to_terminal): Update call to
14382 `get_tty_terminal'.
14383 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 14384 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
14385 FRAME_TERMCAP_P and FRAME_TTY.
14386 (window_change_signal): Don't believe width/height values that are
14387 impossibly small.
14388 (Vinitial_window_system): Rename from Vwindow_system.
14389 (termscript, Wcm, rif): Delete.
14390
14391 * termhooks.h (struct terminal): New struct containing the
14392 previously global text display hooks and new members NAME,
14393 DELETED and PARAM_ALIST.
14394 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
14395 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
14396 (FRAME_RIF): New macros.
14397 (get_terminal_param, get_device): New declarations.
14398 (termscript): Delete declaration.
14399
14400 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
14401 (XTflash, x_free_frame_resources, x_scroll_bar_create)
14402 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
14403 FRAME_FOREGROUND_PIXEL.
14404 (x_fully_uncatch_errors): Disable definition.
14405 (x_scroll_bar_expose): Fix reference to foreground pixel.
14406 (XTread_socket): Disable loop on all X displays.
14407 (x_delete_terminal): Don't set terminal->deleted and let
14408 delete_terminal delete the frames on the terminal.
14409 (x_delete_display): Doc update to reflect changes in
14410 delete_terminal.
14411 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
14412 (deleting_tty): Remove old variable.
14413 (Fsuspend_tty): Call clear_tty_hooks.
14414 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
14415 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
14416 errors on X frames.
14417 (x_catch_errors_unwind): Abort if x_error_message is NULL.
14418 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 14419 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
14420 (XTset_terminal_modes, XTreset_terminal_modes)
14421 (XTread_socket, x_connection_closed, x_term_init)
14422 (x_term_init, x_delete_display): Add terminal parameter.
14423 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
14424 X connections.
14425
bf380f53
GM
14426 * frame.c: Include termchar.h.
14427 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
14428 (Qwindow_system, Qenvironment, Qterm_environment_variable)
14429 (Qdisplay_environment_variable): New vars.
14430 (Fframep): Deal with output_initial.
14431 (Fframe-live-p): Doc fix.
14432 (Fwindow-system): New function.
8d9cc0b7
MB
14433 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
14434 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 14435 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 14436 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
14437 (Fmake_terminal_frame): Handle NULL tty names correctly.
14438 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
14439 (Fdelete_frame): Remove unused variable `count'. Don't allow other
14440 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 14441 (Fframe_with_environment): New function.
b8866860 14442 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
14443 (get_future_frame_param): New function.
14444 (Fmake_terminal_frame): Use it.
2d33f506 14445 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
14446
14447 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
14448 * sysdep.c (reset_sys_modes): Update for renames.
14449
14450 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 14451 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
14452 (syms_of_keyboard): Defsubr them.
14453 (Fset_input_meta_mode, Fset_quit_char): New functions.
14454 (Fset_input_mode): Split to above functions.
8d9cc0b7
MB
14455 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
14456 parameter. Use it in call to `read_char'.
b8866860
SM
14457 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
14458 Set wrong_kboard_jmpbuf correctly in recursive calls.
14459 Use current_kboard to access Vkeyboard_translate_table.
14460 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
14461 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
14462 Update longjmp invocations. Remember the original current_kboard,
14463 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
14464 changes it. Comment out unnecessary calls to
14465 `record_single_kboard_state' and `any_kboard_state'.
14466 Update recursive calls.
8d9cc0b7
MB
14467 (wrong_kboard_jmpbuf): Remove global variable.
14468 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
14469 Handle deleted interrupted_kboards correctly; that is a legal
14470 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 14471 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
14472 (any_kboard_state, single_kboard_state)
14473 (push_frame_kboard): Remove function.
14474 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
14475 been deleted. Remove unused variable. Help debugging by not
14476 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
14477 kboard of the selected frame when the stored kboard object has
14478 been deleted before pop_kboard.
14479 (temporarily_switch_to_single_kboard): Change first parameter to a
14480 frame pointer. Throw an error when caller wants to change kboards
14481 while in single_kboard mode. Don't push_kboard if we weren't in
14482 single kboard state. Don't pop_kboard if we popped into any
14483 kboard state.
14484 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 14485 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
14486 up single_kboard mode.
14487 (Frecursive_edit): Switch to single_kboard mode only in nested
14488 command loops.
b8866860
SM
14489 (cmd_error, command_loop, command_loop_1, timer_check):
14490 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
14491 `record_single_kboard_state'.
14492 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 14493 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
14494 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
14495 `fatal_error_signal'.
14496 (record_single_kboard_state): Don't push_kboard if we weren't in
14497 single kboard state. Don't pop_kboard if we popped into any
14498 kboard state.
14499 (push_frame_kboard): Rename to push_kboard.
14500 (kbd_buffer_get_event): Use FRAME_TERMINAL.
14501 (read_avail_input): Read input from all terminals.
14502 (mark_kboards): Also mark Vkeyboard_translate_table.
14503 (kbd_buffer_store_event_hold): Simplify condition.
14504 (read_key_sequence): Reinitialize fkey and keytran at each replay.
14505 (Vkeyboard_translate_table): Move to struct kboard.
14506 (init_kboard): Initialize Vkeyboard_translate_table.
14507 (syms_of_keyboard): Use DEFVAR_KBOARD to define
14508 Vkeyboard_translate_table. Update doc strings. Update docs of
14509 local-function-key-map and function-key-map.
14510
14511 * terminal.c: New file.
14512
14513 * term.c: Include errno.h.
14514 (Vring_bell_function, device_list, initial_device)
14515 (next_device_id, ring_bell, update_begin, update_end)
14516 (set_terminal_window, cursor_to, raw_cursor_to)
14517 (clear_to_end, clear_frame, clear_end_of_line)
14518 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
14519 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
14520 (syms_of_term): Move their initialization to terminal.c.
14521 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
14522 (Ftty_display_color_cells)
14523 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 14524 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
14525 (init_tty, maybe_fatal): New functions.
14526 (Ftty_type): Return nil if terminal is not on a tty instead of
14527 throwing an error. Doc update.
14528 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 14529 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
14530 (delete_tty): Use terminal->deleted.
14531 (tty_set_terminal_modes): Rename from set_terminal_modes.
14532 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
14533 (set_scroll_region): Rename to `tty_set_scroll_region'.
14534 (turn_on_insert): Rename to `tty_turn_on_insert'.
14535 (turn_off_insert): Rename to `tty_turn_off_insert'.
14536 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
14537 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
14538 (toggle_highligh): Rename to `tty_toggle_highlight'.
14539 (background_highlight): Rename to `tty_background_highlight'.
14540 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
14541 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
14542 (tty_set_scroll_region, tty_background_highlight)
14543 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
14544 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
14545 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
14546 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
14547 Add static modifier.
14548 (tty_reset_terminal_modes, tty_set_terminal_window)
14549 (tty_set_scroll_region, tty_background_highlight)
14550 (tty_highlight_if_desired, tty_cursor_to)
14551 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
14552 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
14553 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
14554 renames.
14555
880820fe 145562007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
14557
14558 * keyboard.c: Qrtl is new.
14559 (parse_tool_bar_item): Handle :rtl keyword.
14560 (syms_of_keyboard): Intern :rtl keyword.
14561
14562 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
14563
14564 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
14565 so no Lisp code is executed.
14566 (file_for_image, find_rtl_image): New functions.
1f204af3 14567 (xg_get_image_for_pixmap): Use file_for_image.
cf0590c4
JD
14568 (update_frame_tool_bar): If direction is RTL, use RTL image if
14569 defined. Use Gtk stock images if defined.
14570
83cc8d35
YM
145712007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14572
14573 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
14574 for nonexistent or zero-width glyph in composition glyph.
14575
e60c4e15
SM
145762007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
14577
d7e2a28f
SM
14578 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
14579
e60c4e15
SM
14580 * xdisp.c (Finvisible_p): New function.
14581 (syms_of_xdisp): defsubr it.
14582
ee163e6d
JB
145832007-08-24 Juanma Barranquero <lekktu@gmail.com>
14584
14585 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
14586 Doc fixes.
14587
90fa408d
YM
145882007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14589
35277b03 14590 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 14591
cac4219c
MR
145922007-08-24 Martin Rudalics <rudalics@gmx.at>
14593
14594 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
14595 whether decoding has modified buffer contents.
14596
5fc9fdeb
JR
145972007-08-24 Jason Rumney <jasonr@gnu.org>
14598
14599 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
14600 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
14601 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
14602 (init_svg_functions) [HAVE_NTGUI]: New function.
14603 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
14604 (svg_load_image): Use them.
14605 (svg_load_image) [HAVE_NTGUI]: Implement background.
14606
93b23406
YM
146072007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14608
14609 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
14610 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
14611 (LIBX): Remove @RSVG_LIBS@.
14612 (LIBES): Add $(RSVG_LIBS).
14613
14614 * image.c (svg_load_image): Blend with specified background if exists.
14615 Use IMAGE_BACKGROUND. Add Mac OS Support.
14616
14617 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
14618 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
14619 Remove macros.
14620 [MAC_OSX] (socket_callback): Do nothing.
14621 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
14622 ReceiveNextEvent.
14623 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
14624 socket_callback.
14625 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
14626
2467875c
GM
146272007-08-22 Glenn Morris <rgm@gnu.org>
14628
ff8da443 14629 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 14630
4ab27a43
GM
146312007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
14632
14633 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 14634
666e0eda
GM
14635 * image.c: Add support for SVG images. Some additional comments
14636 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
14637 (svg_image_p): New function to test for SVG image.
14638 (svg_load): New function to load SVG image.
14639 (svg_load_image): New function, helper for svg_load.
14640 (Qsvg): New Lisp_object.
14641 (svg_keyword_index): New enum.
14642 (svg_format): New static `image_keyword' struct.
14643 (svg_type): New static `image_type' struct.
14644 (librsvg/rsvg.h): Include it.
4ab27a43 14645
b636b4c1
SM
146462007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
14647
14648 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
14649
9ecb827b
SM
146502007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
14651
1d064697
SM
14652 * lread.c (Qold_style_backquotes): New var.
14653 (syms_of_lread): Init and staticpro it.
14654 (load_warn_old_style_backquotes): New fun.
14655 (Fload): Use them to warn about old style backquotes.
14656 (end_of_file_error, Fload): Remove unused vars.
14657
5772ed4b
SM
14658 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
14659
9ecb827b 14660 * lread.c (Vold_style_backquotes): New var.
5aa273b0 14661 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
14662 (read1): Set it when we find an old-style (back)quote.
14663
32e1c7b1
JR
146642007-08-22 Jason Rumney <jasonr@gnu.org>
14665
14666 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
14667
b8fa755b
KY
146682007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
14669
14670 * puresize.h (BASE_PURESIZE): Increase to 1140000.
14671
1283140e
RS
146722007-08-19 Richard Stallman <rms@gnu.org>
14673
14674 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
14675
2c4685ee
AS
146762007-08-19 Andreas Schwab <schwab@suse.de>
14677
14678 * alloc.c (pure): Round PURESIZE up.
14679
880820fe 146802007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
14681
14682 * xterm.c (handle_one_xevent): Remove check that mouse click is in
14683 active frame.
14684
6e33efc4
RS
146852007-08-16 Richard Stallman <rms@gnu.org>
14686
14687 * eval.c (Fcommandp): Add parens to clarify.
14688
14689 * minibuf.c (Fall_completions): Use enum for type of table.
14690
14691 * emacs.c (USAGE2): Improve text.
14692
fcf8ff2e
GM
146932007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
14694
5205ee62
GM
14695 * term.c (tty_default_color_capabilities): Declare static
14696 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 14697
880820fe 146982007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
14699
14700 * gtkutil.c (update_frame_tool_bar): Use -1 as index
14701 to gtk_toolbar_insert.
14702
4a181359
SM
147032007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
14704
1bc99c9c
SM
14705 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
14706
4a181359
SM
14707 * insdel.c (reset_var_on_error): New fun.
14708 (signal_before_change, signal_after_change):
14709 Use it to reset (after|before)-change-functions to nil in case of error.
14710 Bind inhibit-modification-hooks to t.
14711 Don't bind (after|before)-change-functions to nil while they run.
14712
6c28435c
YM
147132007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14714
14715 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
14716 filling pixmap with stippled background.
14717
ad3b3e02
YM
147182007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14719
14720 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
14721 Don't use invisible frame as parent window for repositioning.
14722
a22dec27
SM
147232007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
14724
14725 * print.c (new_backquote_output): Rename from old_backquote_output.
14726 (print): Inverse its logic (according to its name) so as to match the
14727 behavior of new_backquote_flag in lread.c.
14728
7b7d07bb
YM
147292007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14730
14731 * gmalloc.c (posix_memalign): New function.
14732
14733 * macterm.c (frame_highlight, frame_unhighlight): Don't call
14734 ActivateControl/DeactivateControl here.
14735 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
14736 frame-notice-user-settings is non-nil.
14737 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
14738 for kEventParamFMFontStyle.
14739 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
14740 mac_pass_command_to_system and mac_pass_control_to_system here.
14741 (XTread_socket): Call ActivateControl/DeactivateControl here.
14742 (XTread_socket) [TARGET_API_MAC_CARBON]:
14743 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
14744 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
14745 for window repositioning.
7b7d07bb 14746
22e9fe24
GM
147472007-08-08 Glenn Morris <rgm@gnu.org>
14748
14749 * Replace `iff' in doc-strings and comments.
14750
ae494350
CY
147512007-08-07 Chong Yidong <cyd@stupidchicken.com>
14752
14753 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
14754
6f2528d8
MR
147552007-08-07 Martin Rudalics <rudalics@gmx.at>
14756
14757 * fileio.c (Finsert_file_contents): Run format-decode and
14758 after_insert_file_functions on entire buffer when REPLACE is
14759 non-nil and inhibit modification_hooks and point_motion_hooks.
14760 For consistency, run after_insert_file_functions iff something
14761 got inserted. Move signal_after_change and update_compositions
14762 after code running after_insert_file_functions. Make sure that
6b8e474c 14763 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 14764
3ceeb306
YM
147652007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14766
14767 * emacs.c (main)
14768 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
14769 Call malloc_enable_thread on interactive startup.
14770
14771 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
14772 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
14773 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
14774 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
14775 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
14776 New functions.
14777
ca5e6fd5
CY
147782007-08-06 Chong Yidong <cyd@stupidchicken.com>
14779
32bfce5d
CY
14780 * xdisp.c (redisplay_window): When restoring original buffer
14781 position, make sure it is still valid.
14782
ca5e6fd5
CY
14783 * image.c (png_load): Ignore png-supplied background color.
14784
a5b11587
YM
147852007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14786
14787 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
14788 Use kCFAbsoluteTimeIntervalSince1970.
14789
14790 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
14791 New variable.
14792 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
14793 event loop should be quit.
14794 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
14795 Quit dialog event loop if quit_dialog_event_loop is set.
14796
14797 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
14798 (Selection): New typedef. Use instead of ScrapRef.
14799 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
14800 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
14801 (mac_clear_selection): Rename from clear_scrap.
14802 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 14803 scrap_has_target_type. All uses changed.
a5b11587
YM
14804 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
14805 (mac_selection_has_target_p): New functions.
14806 (mac_put_selection_value): Rename from put_scrap_string.
14807 (mac_get_selection_value): Rename from get_scrap_string.
14808 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
14809 (put_scrap_private_timestamp, scrap_has_target_type)
14810 (get_scrap_private_timestamp): Remove functions.
14811 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
14812 (x_own_selection, x_get_local_selection):
14813 Use mac_valid_selection_value_p.
14814 (x_own_selection): Don't use put_scrap_private_timestamp.
14815 Record OWNERSHIP-INFO into Vselection_alist instead.
14816 (x_get_local_selection): Don't check type if request is local.
14817 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
14818 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
14819
880820fe 148202007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
14821
14822 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
14823 add comment explaining why.
14824
73ff9d42
RS
148252007-08-03 Richard Stallman <rms@gnu.org>
14826
14827 * fileio.c (Fvisited_file_modtime): Use make_time.
14828
54ed9a2d 148292007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
14830
14831 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
14832 build.
14833
65a9c8e2
SM
148342007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
14835
14836 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
14837
c5925799
KY
148382007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
14839
14840 * puresize.h (BASE_PURESIZE): Increase to 1130000.
14841
adef3de7
RS
148422007-07-30 Richard Stallman <rms@gnu.org>
14843
14844 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
14845
880820fe 148462007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
14847
14848 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
14849
a10421a1
NR
148502007-07-28 Nick Roberts <nickrob@snap.net.nz>
14851
14852 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
14853 remote default-directory.
14854
14855 * buffer.c (mode-line-format): Update doc string.
14856
0cb1ae20
YM
148572007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14858
14859 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
14860 scroll bar gap.
14861 (x_scroll_bar_create): Set bar->fringe_extended_p.
14862 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
14863 on frame edge. Check fringe background extension. Don't clear
14864 extended fringe background area.
14865
14866 * w32term.h (struct scroll_bar): New member fringe_extended_p.
14867 (w32_fill_area): Enclose multiple statements with do ... while (0).
14868
14869 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
14870 Extend fringe background to scroll bar gap.
14871 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
14872 Set bar->fringe_extended_p.
14873 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14874 Put leftmost/rightmost scroll bars on frame edge. Check fringe
14875 background extension. Don't clear extended fringe background area.
14876
14877 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
14878 New member fringe_extended_p.
14879
cacc7b51
GM
148802007-07-25 Glenn Morris <rgm@gnu.org>
14881
14882 * Relicense all FSF files to GPLv3 or later.
14883
14884 * COPYING: Switch to GPLv3.
14885
89835619
SM
148862007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
14887
c4f46926
SM
14888 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
14889
14890 * data.c (Finteractive_form): Check for the presence of an
14891 `interactive-form' symbol property more thoroughly.
14892
14893 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
14894 present, analogous to the function-documentation property.
14895
ee04257d
JR
148962007-07-24 Jason Rumney <jasonr@gnu.org>
14897
14898 * w32fns.c (x_real_positions): Get real position from OS instead of
14899 calculating it.
14900
50624218
JR
149012007-07-23 Jason Rumney <jasonr@gnu.org>
14902
14903 * filelock.c (current_lock_owner): Allow for @ sign in username.
14904
3650f60e
NR
149052007-07-22 Nick Roberts <nickrob@snap.net.nz>
14906
14907 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
14908 remote default-directory.
14909
14910 * buffer.c (mode-line-format): Describe above case in doc string.
14911
1e899515 149122007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 14913
75be5258
EZ
14914 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
14915 Define if not defined.
14916
2b6e2f4d
JR
149172007-07-18 Jason Rumney <jasonr@gnu.org>
14918
14919 * w32proc.c (w32_executable_type): Handle 64 bit executables.
14920
23dacf80
JB
149212007-07-18 Richard Stallman <rms@gnu.org>
14922
14923 * data.c (Fsetq_default): Doc fix.
14924
14925 * eval.c (Fsetq): Doc fix.
14926
149272007-07-18 Juanma Barranquero <lekktu@gmail.com>
14928
14929 * coding.c (Ffind_operation_coding_system):
14930 * eval.c (For, Fand): Doc fixes.
880820fe 14931 Reported by Johan Bockgård.
23dacf80 14932
880820fe 149332007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 14934
23dacf80 14935 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 14936
23dacf80 14937 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
14938
14939 * xterm.c (x_ewmh_activate_frame): New function.
14940 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
14941
71ec17e6
MR
149422007-07-17 Martin Rudalics <rudalics@gmx.at>
14943
14944 * window.c (Fdisplay_buffer): If largest or LRU window is the
14945 only window, split it even if it is not eligible for splitting.
14946 This restores the original behavior broken by the 2007-07-15
14947 change.
14948
e9818042
GM
149492007-07-17 Glenn Morris <rgm@gnu.org>
14950
14951 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
14952 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
14953 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
14954 constituents. Doc fix.
14955
e6fca843
SM
149562007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
14957
14958 * process.c (Fstart_process, Fmake_network_process)
14959 (read_process_output): Fix up last changes.
14960
b5d2b4ab
EZ
149612007-07-16 Eli Zaretskii <eliz@gnu.org>
14962
14963 * makefile.w32-in (clean): Don't delete *~.
14964
413a79ad
AS
149652007-07-16 Andreas Schwab <schwab@suse.de>
14966
14967 * window.c (Fdisplay_buffer): Use NILP.
14968 (Fset_window_scroll_bars): Likewise.
14969
f1de8c77
MR
149702007-07-15 Martin Rudalics <rudalics@gmx.at>
14971
14972 * window.c (window_min_size_2): New function.
14973 (window_min_size_1, size_window, Fdisplay_buffer)
14974 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
14975 windows without mode- or header-lines when window-min-height is
14976 too small.
14977 (size_window): Reset nodelete_p after testing it, following an
14978 earlier note by Kim F. Storm.
14979 (display_buffer): Do not set split_height_threshold to twice the
14980 value of window_min_height to avoid changing the value of a
14981 customizable variable. Rather explicitly check whether the
14982 height of the window that shall be splitted is at least as large
14983 as split_height_threshold.
1af74d06
MB
14984 (Fwindow_full_width_p): New defun.
14985 (syms_of_window): Defsubr it.
d31053f9 14986
1af74d06 14987 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 14988
5e1ab613
JR
149892007-07-14 Jason Rumney <jasonr@gnu.org>
14990
14991 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
14992
f01cbfdd
RS
149932007-07-14 Richard Stallman <rms@gnu.org>
14994
14995 * eval.c (maybe_call_debugger): New function.
14996 (find_handler_clause): Use maybe_call_debugger.
14997 Call it when the handler says `debug'.
14998 Eliminate DEBUGGER_VALUE_PTR.
14999 (Fsignal): Eliminate debugger_value.
15000 (Qdebug): New variable.
15001 (syms_of_eval): Initialize it.
15002
1bab435a
JB
150032007-07-14 Juanma Barranquero <lekktu@gmail.com>
15004
15005 * eval.c (Fprogn):
15006 * keyboard.c (Ftrack_mouse):
15007 * print.c (Fwith_output_to_temp_buffer):
15008 * window.c (Fsave_window_excursion): Doc fix.
15009
be436d23
SM
150102007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
15011
15012 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
15013
60f0fb11
SM
150142007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
15015
15016 * process.h (struct Lisp_Process): Turn slots infd, outfd,
15017 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
15018 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
15019 read_output_delay, and read_output_skip from Lisp_Objects to ints.
15020 Remove unused encoding_carryover.
15021 * process.c: Adjust all functions accordingly.
15022
d8b18043
RS
150232007-07-12 Richard Stallman <rms@gnu.org>
15024
15025 * term.c: Include unistd.h only if HAVE_UNISTD_H.
15026
d5781bb6
JR
150272007-07-11 Jason Rumney <jasonr@gnu.org>
15028
15029 * makefile.w32-in (LIBS): Include OLE32.
15030
15031 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
15032 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
15033
5bb7dfee
SM
150342007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
15035
15036 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
15037 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
15038 from a Lisp_Object into a bare pointer.
15039 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
15040 Adjust the code correspondingly.
15041
15042 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
15043
15044 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
15045 (term_show_mouse_face): Remove unused var `j'.
15046 (handle_one_term_event): Remove unused vars `i' and `j'.
15047 Don't cast return value of ttyname since it's not necessary.
15048
a1be1ce8
SM
150492007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
15050
5045e68e
SM
15051 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
15052 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
15053
8071c00f
SM
15054 * fns.c (map_char_table): Use an array of int for `indices' rather than
15055 an array of Lisp_Objects (which are only ever integers anyway).
15056 (Fmap_char_table): Update caller.
15057 * lisp.h: Update prototype.
15058 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
15059 * fontset.c (Ffontset_info):
15060 * casetab.c (set_case_table): Update callers.
15061
15062 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
15063
fab84e3c
SM
15064 * keymap.c (struct accessible_keymaps_data)
15065 (struct where_is_internal_data): New structures.
15066 (accessible_keymaps_1, where_is_internal_1): Use them to change
15067 interface to adhere to the one used by map_keymap.
15068 (Faccessible_keymaps, where_is_internal): Use map_keymap.
15069 (accessible_keymaps_char_table, where_is_internal_2): Remove.
15070
a1be1ce8
SM
15071 * keymap.h (map_keymap_function_t): More informative prototype.
15072
ef887810
RS
150732007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
15074
15075 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
15076 (looking_at_1): Don't change search_regs and last_thing_searched
15077 if `inhibit-changing-match-data' is non-nil.
15078 (string_match_1, search_buffer, set_search_regs): Likewise.
15079 (syms_of_search): Add Lisp level definition for
15080 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
15081 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
15082 start and end of the match, instead of using values in search_regs.
ef887810 15083
4d02fc25
SM
150842007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
15085
15086 * minibuf.c (Fcompleting_read): New value `confirm-only'
15087 for `require-match'.
15088
fe45b81f
SM
150892007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
15090
15091 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
15092 part of the 2007-06-27 change to syms_of_fileio.
15093
a56dd283
YM
150942007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15095
15096 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
15097 Check WINDOWP before using XWINDOW. Consolidate return statements.
15098
0cf9f5b5
RS
150992007-06-27 Richard Stallman <rms@gnu.org>
15100
15101 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
15102
a66f285a
JB
151032007-06-27 Juanma Barranquero <lekktu@gmail.com>
15104
15105 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
15106
8d0d84d2
YM
151072007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15108
15109 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
15110 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
15111 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
15112 (_free_internal, memalign): Use them.
15113 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
15114 Initialize to PTHREAD_MUTEX_INITIALIZER.
15115 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
15116 (morecore_nolock): Rename from morecore. All uses changed.
15117 Use only nolock versions of internal allocation functions.
15118 (_malloc_internal_nolock, _realloc_internal_nolock)
15119 (_free_internal_nolock): New functions created from
15120 _malloc_internal, _realloc_internal, and _free_internal.
15121 (_malloc_internal, _realloc_internal, _free_internal): Use them.
15122 Copy hook value to automatic variable before its use.
15123 (memalign): Copy hook value to automatic variable before its use.
15124
5a0bbd9a
KH
151252007-06-26 Kenichi Handa <handa@m17n.org>
15126
15127 * coding.c (Ffind_operation_coding_system): Docstring improved.
15128 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
15129
9a51747b
DK
151302007-06-25 David Kastrup <dak@gnu.org>
15131
15132 * keymap.c (Fcurrent_active_maps): Add `position' argument.
15133 (Fwhere_is_internal): Adjust call to `current-active-maps' to
15134 cater for additional parameter.
15135
15136 * keymap.h: Adjust number of parameters to `current-active-maps'.
15137
15138 * doc.c (Fsubstitute_command_keys): Adjust call of
15139 `current-active-maps'.
15140
e4305426
DK
151412007-06-25 David Kastrup <dak@gnu.org>
15142
15143 * callint.c (Fcall_interactively): Make the parsing of interactive
15144 specs somewhat more readable.
15145
511a18d9
YM
151462007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15147
15148 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
15149 to scroll bar gap also when bitmap fills fringe. Draw only foreground
15150 if extended background has already been filled.
15151
512eb161
YM
151522007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15153
15154 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
15155 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
15156
15157 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
15158 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
15159 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
15160 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
15161 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
15162 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
15163 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
15164 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
15165 Run timers during dialog popup.
15166 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
15167
2386b1f1
JR
151682007-06-21 Jason Rumney <jasonr@gnu.org>
15169
15170 * image.c (convert_mono_to_color_image): Swap fore and background.
15171
fab8b787
JR
151722007-06-20 Jason Rumney <jasonr@gnu.org>
15173
15174 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
15175 (w32_free_bdf_font): Unmap memory not handle.
15176
15bdd7a0 151772007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
15178
15179 * gmalloc.c (__morecore): Fix the declaration to comply with the
15180 definition.
15181
1bb8a291
JB
151822007-06-20 Juanma Barranquero <lekktu@gmail.com>
15183
15184 * w32term.c (w32_delete_display): Remove leftover declaration.
15185 (w32_define_cursor, w32_initialize): Make static.
15186
15187 * w32.c (_wsa_errlist): Fix typo in error message.
15188 (init_environment): Ignore any environment variable from the
15189 registry having a null value.
15190
92648dea
GM
151912007-06-20 Glenn Morris <rgm@gnu.org>
15192
15193 * Makefile.in (LIBGIF): Default to -lgif.
15194
ff25d115
JR
151952007-06-17 Jason Rumney <jasonr@gnu.org>
15196
15197 * w32menu.c (add_menu_item): Don't use multibyte string functions on
15198 unicode strings.
15199
a1a578a5
JB
152002007-06-16 Juanma Barranquero <lekktu@gmail.com>
15201
15202 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
15203 Fix typo in docstring.
15204
af41f8a8
EZ
152052007-06-16 Eli Zaretskii <eliz@gnu.org>
15206
15207 * w32menu.c (add_menu_item): Escape `&' characters in menu items
15208 and their keybindings.
15209
8b29cab9
CY
152102007-06-15 Chong Yidong <cyd@stupidchicken.com>
15211
15212 * composite.c (update_compositions): Fix last fix.
15213
c433c134
JR
152142007-06-14 Jason Rumney <jasonr@gnu.org>
15215
15216 * w32.c (get_process_times_fn): New function pointer.
15217 (globals_of_w32): Intialize it if present in kernel32.dll.
15218 (w32_get_internal_run_time): New function.
15219
15220 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
15221
553d3164
KH
152222007-06-14 Kenichi Handa <handa@etlken.m17n.org>
15223
15224 * composite.c (update_compositions): Check the validness of
15225 compositions.
15226
446ba96f
YM
152272007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15228
15229 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
15230 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
15231
15232 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
15233 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
15234
15235 * macgui.h (USE_MAC_TOOLBAR): New define.
15236
15237 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15238 Return immediately unless popup is activated.
15239
15240 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
15241 background to scroll bar gap.
15242 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
15243 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
15244 scroll bars on frame edge. Check fringe background extension.
15245 Don't clear extended fringe background area.
15246 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
15247 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
15248 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
15249 [USE_MAC_TOOLBAR]: New macros.
15250 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
15251 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
15252 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
15253 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
15254 [USE_MAC_TOOLBAR]: New functions.
15255 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
15256 manually if previous repositioning has failed.
15257 (mac_handle_keyboard_event): Use precomputed event kind.
15258 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
15259 as tool bar item click. Handle mouse movement over tool bar items.
15260
15261 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
15262 toolbar_win_gravity.
15263 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
15264 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
15265 Add externs.
15266
15267 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
15268 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
15269
9720173f
CY
152702007-06-14 Chong Yidong <cyd@stupidchicken.com>
15271
15272 * image.c (search_image_cache): Remove unused variable.
15273
1217dd00
CY
152742007-06-13 Chong Yidong <cyd@stupidchicken.com>
15275
15276 * xfns.c, xmenu.c: Link to xaw3d if available.
15277
c5b8e0ea
YM
152782007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15279
15280 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
15281 frame_foreground and frame_background.
15282
15283 * image.c (lookup_image): Save frame foreground and background colors.
15284 (search_image_cache): Check if saved and current frame colors match.
15285
c69b0314
SM
152862007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
15287
15288 * regex.c (regex_compile): Remove the `regnum' counter.
15289 Use bufp->re_nsub instead. Add support for \(?N:RE\).
15290
c9612b8e
SM
152912007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
15292
15293 * term.c: Include intervals.h to declare Fget_text_property.
15294
843d2458
JR
152952007-06-10 Jason Rumney <jasonr@gnu.org>
15296
15297 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
15298
1e0d2d60 152992007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
15300
15301 * callint.c (Fcall_interactively):
15302 * editfns.c (Fdelete_and_extract_region):
15303 * fileio.c (Fread_file_name):
15304 * fns.c (Fmapconcat):
15305 * keyboard.c (cmd_error_internal):
15306 * keymap.c (Fkey_description):
15307 * lread.c (openp):
15308 * minibuf.c (read_minibuf):
15309 * search.c (wordify):
15310 * sunfns.c (sel_read):
15311 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
15312 * xfns.c (x_default_scroll_bar_color_parameter):
15313 * xmenu.c (menu_help_callback):
15314 * xselect.c (Fx_get_atom_name):
15315 * xterm.c (x_term_init): Use empty_unibyte_string.
15316
15bdd7a0 153172007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
15318
15319 * alloc.c (init_strings): Initialize canonical empty strings.
15320 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
15321 canonical empty string when the requested size is 0.
15322
15323 * emacs.c (empty_unibyte_string): Rename from empty_string.
15324 (empty_multibyte_string): New canonical empty string.
15325 (syms_of_emacs): Don't initialize empty_string.
15326
15327 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
15328 string, if appropriate.
15329 (empty_unibyte_string, empty_multibyte_string): New externs.
15330 (empty_string): Remove extern.
15331
15332 * lread.c (syms_of_lread): Use empty_unibyte_string.
15333
42c4c67a
JR
153342007-06-07 Jason Rumney <jasonr@gnu.org>
15335
15336 * s/ms-w32.h: Don't define HAVE_TZNAME.
15337
15338 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
15339
aa8280d3
YM
153402007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15341
15342 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
15343
15344 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
15345 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
15346
15347 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
15348 Don't call next handler.
15349 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
15350 Remove argument. Install handler to application.
15351 (set_frame_menubar): Don't change deep_p.
1e0d2d60 15352 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
15353 FRAME_OUTER_TO_INNER_DIFF_Y.
15354 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
15355 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
15356 [HAVE_DIALOGS]: New macros.
15357 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
15358 Use them.
15359 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
15360
15361 * macselect.c [MAC_OSX] (install_service_handler): Rename from
15362 init_service_handler. All callers changed. Return OSStatus value.
15363
15364 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
15365 All callers changed so as not to call SetPortWindowPort.
15366 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
15367 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
15368 mac_draw_string_common.
15369 (mac_draw_image_string_qd): Likewise.
15370 (mac_draw_string_common): Use them. Add INLINE.
15371 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
15372 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
15373 GetGlobalMouse.
15374 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
15375 and FRAME_OUTER_TO_INNER_DIFF_Y.
15376 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
15377 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
15378 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
15379 repositioning window to mac_handle_window_event.
15380 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
15381 saving window location to mac_handle_window_event
15382 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
15383 (install_menu_target_item_handler): Remove argument in extern.
15384 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
15385 Also accept command events.
15386 (do_keystroke): New function created from XTread_socket.
15387 (init_command_handler): Remove functions.
15388 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
15389 and save window location by kEventWindowShowing and kEventWindowHiding
15390 handlers here. Don't call next handler for window state change and
15391 focus events.
15392 (mac_handle_application_event, mac_handle_keyboard_event)
15393 [TARGET_API_MAC_CARBON]: New functions.
15394 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
15395 kEventWindowShowing and kEventWindowHiding events. Move installation
15396 of mouse, font, text input and menu target item handlers to
15397 install_application_handler.
15398 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
15399 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15400 New function.
15401 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
15402 Register it.
c9612b8e
SM
15403 (XTread_socket) [TARGET_API_MAC_CARBON]:
15404 Consolidate SendEventToEventTarget calls.
15405 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
15406 Move application activation handler to mac_handle_application_event.
15407 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
15408 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
15409 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
15410 init_command_handler. Call install_application_handler.
15411
15412 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
15413 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
15414
6926c954
GM
154152007-06-07 Glenn Morris <rgm@gnu.org>
15416
15417 * emacs.c (main): Use `emacs-copyright' in --version output.
15418
6fe04c89
CY
154192007-06-06 Chong Yidong <cyd@stupidchicken.com>
15420
c9612b8e 15421 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 15422
7eb0d727
YM
154232007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15424
15425 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
785ce0ac 15426
7eb0d727
YM
15427 * macgui.h: Replace WindowPtr with WindowRef.
15428
15429 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15430 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15431 Replace ControlHandle with ControlRef.
15432 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
15433
15434 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
15435 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
15436 Replace ControlHandle with ControlRef.
15437 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
15438 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
15439
15440 * macterm.h (struct scroll_bar): Rename member control_handle_low
15441 and control_handle_high to control_ref_low and control_ref_high.
15442 All uses changed.
15443 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
15444 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
15445 respectively. All uses changed.
15446 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
15447 (install_window_handler, remove_window_handler): Replace WindowPtr
15448 with WindowRef in externs.
15449
65fddb74
JB
154502007-06-05 Juanma Barranquero <lekktu@gmail.com>
15451
15452 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
15453
db1213a9
NR
154542007-06-03 Nick Roberts <nickrob@snap.net.nz>
15455
15456 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
15457
65fddb74 15458 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
15459 Condition on HAVE_GPM too.
15460
15461 * term.c (term_mouse_highlight): Remove unused variables.
15462 (Fterm_open_connection): Set gpm_zerobased to 1.
15463 (term_mouse_movement, term_mouse_click, handle_one_term_event):
15464 Use zero based co-ordinates.
15465 (handle_one_term_event): Report a drag as mouse movement too.
15466
15467 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
15468
d94df25b
CY
154692007-06-03 Chong Yidong <cyd@stupidchicken.com>
15470
15471 * image.c (search_image_cache): New function. Require background
15472 color match if background color is unspecified in the image spec.
15473 (uncache_image, lookup_image): Use it.
15474
4797b6d9
JB
154752007-06-01 Juanma Barranquero <lekktu@gmail.com>
15476
15477 * window.c (Fshrink_window): Reflow docstring.
15478
1ffe7343
NR
154792007-06-02 Chong Yidong <cyd@stupidchicken.com>
15480
15481 * Version 22.1 released.
15482
154832007-06-01 Richard Stallman <rms@gnu.org>
15484
15485 * xfns.c (x_encode_text): Add GCPRO.
15486
154872007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15488
15489 * xfns.c (x_set_name_internal): Save encoded name before
15490 x_encode_text in case string data is relocated.
15491
154922007-05-31 Richard Stallman <rms@gnu.org>
15493
15494 * buffer.c (syms_of_buffer): Doc fix.
15495
154962007-05-30 Nick Roberts <nickrob@snap.net.nz>
15497
15498 * sysdep.c (init_sys_modes): Add rather than replace with
15499 O_NONBLOCK.
15500
15501 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
15502 term_mouse_moveto.
15503
15504 * termhooks.h (term_mouse_moveto): New extern.
15505
15506 * term.c (mouse_face_window): Rename...
15507 (Qmouse_face_window): ...to this.
15508 (term_show_mouse_face, term_clear_mouse_face)
15509 (term_mouse_highlight): Use Qmouse_face_window.
15510 (term_mouse_moveto): New function.
15511 (term_mouse_position): Make it work.
15512 (syms_of_term): Uncomment assignment to mouse_position_hook.
15513 Staticpro Qmouse_face_window.
15514
155152007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15516
15517 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
15518 around current_column call.
15519
155202007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
15521
15522 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
15523 * xdisp.c (next_element_from_buffer):
15524 * window.c (delete_window):
15525 * term.c (term_mouse_highlight):
15526 * msdos.c (getdefdir):
15527 * macterm.c (mac_create_bitmap_from_bitmap_data)
15528 (init_font_name_table):
15529 * fns.c (Fsxhash):
15530 * data.c (Fmake_local_variable):
15531 * ccl.c (ccl_driver): Likewise.
15532
155332007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15534
15535 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
15536 Call mac_wakeup_from_rne on window size change.
15537
155382007-05-25 Chong Yidong <cyd@stupidchicken.com>
15539
15540 * image.c (uncache_image): Fix typo.
15541
155422007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
15543
15544 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
15545
155462007-05-22 Richard Stallman <rms@gnu.org>
15547
15548 * xterm.c (x_connection_closed): Remove NO_RETURN.
15549
155502007-05-22 Martin Rudalics <rudalics@gmx.at>
15551
15552 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
15553
155542007-05-21 Chong Yidong <cyd@stupidchicken.com>
15555
15556 * image.c (uncache_image): New function.
15557 (Fimage_refresh): New function.
15558
880820fe 155592007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
15560
15561 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
15562
155632007-05-20 Nick Roberts <nickrob@snap.net.nz>
15564
15565 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
15566 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
15567
155682007-05-20 Nick Roberts <nickrob@snap.net.nz>
15569
15570 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
15571 conditional on [HAVE_GPM_H].
15572
155732007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
15574
15575 * syntax.c (skip_chars): Update syntax-table only after we checked that
15576 the new location is valid.
15577
155782007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15579
15580 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
15581 mac_get_window_bounds.
15582
155832007-05-20 Nick Roberts <nickrob@snap.net.nz>
15584
15585 * Makefile.in (LIBGPM): Allow it to be set from configure.
15586 If set then link Emacs with it.
15587
15588 * config.in: Regenerate.
15589
15590 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
15591 New externs.
15592
15593 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
15594 Include gpm.h.
15595 (handle_one_term_event, term_gpm): New externs.
15596
15597 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
15598 and allow it to be interrupted by SIGIO.
15599
15600 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
15601 (wait_reading_process_output): Wait on gpm_fd too.
15602 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
15603 (add_gpm_wait_descriptor_called_flag): New variable.
15604 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
15605
15606 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
15607 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
15608 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
15609 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
15610 (make_lispy_event): Add case GPM_CLICK_EVENT.
15611 (read_avail_input): Handle mouse input.
15612
15613 * term.c (write_glyphs_with_face): New function.
15614 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
15615 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
15616 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
15617 (mouse_face_face_id, term_gpm, pos_x, pos_y)
15618 (last_mouse_x, last_mouse_y): New variables.
15619 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
15620 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
15621 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
15622 (Fterm_close_connection): New functions.
15623 (term_init): Initialise mouse_face_window.
15624
156252007-05-19 Chong Yidong <cyd@stupidchicken.com>
15626
15627 * xdisp.c (redisplay_window): If first window line is a
15628 continuation line, recompute the new window start instead of
15629 recentering.
15630
156312007-05-18 Glenn Morris <rgm@gnu.org>
15632
15633 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
15634 Suggested by Alfred M. Szmidt <ams@gnu.org>.
15635
156362007-05-17 Glenn Morris <rgm@gnu.org>
15637
15638 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
15639
156402007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15641
15642 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
15643 dead key repeat and up events.
15644
156452007-05-14 Chong Yidong <cyd@stupidchicken.com>
15646
15647 * image.c (pbm_load): Check image size for monochrome pbm.
15648
156492007-05-13 Chong Yidong <cyd@stupidchicken.com>
15650
15651 * xterm.c (XTread_socket): Revert last change.
15652
156532007-05-12 Chong Yidong <cyd@stupidchicken.com>
15654
15655 * image.c (pbm_load): Correctly check image size for greyscale pbm.
15656
15657 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
15658
156592007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15660
15661 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
15662 mixup (YAILOM).
15663
156642007-05-07 Andreas Schwab <schwab@suse.de>
15665
15666 * keymap.c (Flookup_key): Fix typo in last change.
15667
156682007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
15669
15670 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
15671 mapping for unibyte strings.
15672
156732007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15674
15675 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
15676 (Fx_popup_dialog) [MAC_OSX]: Likewise.
15677
156782007-04-29 Richard Stallman <rms@gnu.org>
15679
15680 * insdel.c (replace_range): For undo, record insertion first.
15681
156822007-04-29 Andreas Schwab <schwab@suse.de>
15683
15684 * lisp.h (VECSIZE): Use OFFSETOF.
15685
156862007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15687
15688 * xdisp.c (try_window_reusing_current_matrix): Fix number of
15689 disabled lines.
15690
156912007-04-28 Richard Stallman <rms@gnu.org>
15692
15693 * lread.c (read_escape): In a string, \s is always space.
15694
880820fe 156952007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
15696
15697 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
15698
15699 * gtkutil.c (xg_update_menubar, create_menus): Create empty
15700 submenu for menu bar items.
15701
382c648d 15702See ChangeLog.10 for earlier changes.
6922b018
KH
15703
15704;; Local Variables:
880820fe 15705;; coding: utf-8
33462dfa 15706;; add-log-time-zone-rule: t
67e8d28a 15707;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
6922b018 15708;; End:
2a34a036 15709
59ce725a 15710 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
15711
15712 This file is part of GNU Emacs.
15713
5a1dde61 15714 GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 15715 it under the terms of the GNU General Public License as published by
5a1dde61
GM
15716 the Free Software Foundation, either version 3 of the License, or
15717 (at your option) any later version.
7f6d64f8
GM
15718
15719 GNU Emacs is distributed in the hope that it will be useful,
15720 but WITHOUT ANY WARRANTY; without even the implied warranty of
15721 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15722 GNU General Public License for more details.
15723
15724 You should have received a copy of the GNU General Public License
5a1dde61 15725 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ab5796a9 15726
28f60c3d 15727;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40