(smerge-apply-resolution-patch): Fix typo.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e89b536d
MA
12008-04-10 Michael Albinus <michael.albinus@gmx.de>
2
3 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
4 only after check for file name handler functions. Signal, when
5 native functionality is not supported.
6 (syms_of_fileio): Declare it unconditionally.
7
40a339c8
JR
82008-04-10 Jason Rumney <jasonr@gnu.org>
9
31403b24
JR
10 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
11 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
12
40a339c8
JR
13 * w32.c (logon_network_drive): Also logon to remote drives that
14 are mapped to drive letters.
15
96a7394f
GM
162008-04-10 Glenn Morris <rgm@gnu.org>
17
18 * xdisp.c (truncate-partial-width-windows): Doc fix.
19
34b67b0f
SM
202008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
21
22 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
23 Move functions to minibuffer.el.
24 (syms_of_fileio): Don't declare them.
25
c025fb0a
SM
262008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
27
ba5ff07b
SM
28 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
29 (syms_of_minibuf): Remove its initialization.
30
c025fb0a
SM
31 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
32
7a6a86ad
JB
332008-04-09 Juanma Barranquero <lekktu@gmail.com>
34
35 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
36
cf907d69
JR
372008-04-09 Jason Rumney <jasonr@gnu.org>
38
3dc94c30
JR
39 * makefile.w32-in (distclean): Delete makefile too.
40 (maintainer-clean): New target.
41
8d28646b
JR
42 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
43
cf907d69
JR
44 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
45 for new font backend and composite cases.
46
ef5eb925
JD
472008-04-09 Jan Djärv <jan.h.d@swipnet.se>
48
49 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
50 Most of the code moved to run_timers.
51 (do_pending_atimers): Call run_timers.
52 (run_timers): New function.
53
cf907d69
JR
54 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
55 run atimers.
ef5eb925
JD
56
57 * process.c (wait_reading_process_output): The same as above.
58
9b2cd403
SM
592008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
60
32bae13c
SM
61 * minibuf.c (last_exact_completion): Remove variable.
62 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
63 (complete_and_exit_1, complete_and_exit_2)
64 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
65 (Fdisplay_completion_list, display_completion_list_1)
66 (Fminibuffer_completion_help, Fself_insert_and_exit)
8d28646b
JR
67 (Fexit_minibuffer, Fminibuffer_message): Move functions to
68 minibuffer.el.
32bae13c
SM
69 (syms_of_minibuf): Remove corresponding initializations.
70
5c4cc82a
SM
71 * keyboard.c (Qdeactivate_mark): New var.
72 (command_loop_1): Use it to call `deactivate-mark'.
73 (syms_of_keyboard): Initialize it.
74
9b2cd403
SM
75 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
76 to another frame.
77 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
78 Don't call set_tty_color_mode.
79 (store_frame_param): Reset previous_frame rather than call
80 set_tty_color_mode.
81 * term.c (set_tty_color_mode): Rewrite.
82 * dispextern.h (set_tty_color_mode): New type.
83 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
84
84cb7b45
SM
852008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
86
87 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
88 for generic chars, which do not exist any more in emacs-unicode.
89
3ed051d4
MA
902008-04-08 Michael Albinus <michael.albinus@gmx.de>
91
92 * coding.c (detect_coding_emacs_mule)
93 (Ffind_operation_coding_system): Fix typo.
94
58c3ea42
JR
952008-04-08 Jason Rumney <jasonr@gnu.org>
96
3bf8d230
JR
97 * w32uniscribe.c (SNAME): Extract only symbol name.
98
56a70cca
JR
99 * w32font.h (struct w32_metric_cache): New struct.
100 (w32font_info): Use it.
101 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
102 (CACHE_BLOCKSIZE): New constants.
3ed051d4 103
58c3ea42
JR
104 * w32font.c (Qja, Qko, Qzh): New symbols.
105 (syms_of_w32font): Initialise them.
106 (font_matches_spec): Use them to filter by language.
107 (recompute_cached_metrics): Remove function.
108 (compute_metrics, clear_cached_metrics): New functions.
109 (w32font_encode_char): Use them to manage metric cache.
110 (w32font_text_extents): Cache metrics for all glyphs on demand.
111 Delay converting glyph indices to WORD until needed.
112 (w32font_open_internal): Initialize metric cache to empty.
113 (registry_to_w32_charset): Charset should always be a symbol.
114 (fill_in_logfont, list_all_matching_fonts): Family should
115 always be a symbol.
116
0ce24b2d
JR
1172008-04-06 Jason Rumney <jasonr@gnu.org>
118
119 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
120 Give up if glyph indices not supported. Use uniscribe obtained
121 ABC widths for individual metrics. Map glyph clusters back to
122 characters using fClusterStart flag. Return number of glyphs
123 produced, not chars processed.
b7655e0c 124 (uniscribe_shape): Map char at FROM to current glyph.
0ce24b2d 125
5bc6ddff 1262008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
56613f06 127
fbf57abb
JB
128 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
129 Use SetMenuItemHierarchicalMenu.
56613f06 130
5bc6ddff 1312008-04-05 Jason Rumney <jasonr@gnu.org>
93421a1f 132
5bc6ddff
MB
133 * image.c (pbm_load): Allow color values up to 65535.
134 Throw an error if max_color_idx is outside the supported range.
135 Report an error when image size is invalid.
136 Read two bytes at a time when raw images have max_color_idx above 255.
1f816871 137
5bc6ddff 1382008-04-05 Eli Zaretskii <eliz@gnu.org>
5ed6ba5b 139
5bc6ddff
MB
140 * w32.c (readdir): If FindFirstFile/FindNextFile return in
141 cFileName a file name that includes `?' characters, use the 8+3
142 alias in cAlternateFileName instead.
5ed6ba5b 143
5bc6ddff 1442008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
32c06229 145
5bc6ddff
MB
146 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
147 append "CCL: Quitted" when the CCL program is quitted.
148 (setup_ccl_program): Initialize ccl->quit_silently to zero.
32c06229 149
5bc6ddff 150 * ccl.h (struct ccl_program): New member quit_silently.
32c06229 151
c36e15db
CY
1522008-04-05 Chong Yidong <cyd@stupidchicken.com>
153
9605d567
CY
154 * search.c (compile_pattern_1): Treat non-nil and non-string of
155 search-spaces-regexp as nil.
156
c36e15db
CY
157 * minibuf.c (Fassoc_string): Tweak docstring.
158
40beb147
EZ
1592008-04-05 Eli Zaretskii <eliz@gnu.org>
160
161 * dired.c (Ffile_attributes): Support inode numbers wider than 32
162 bits. Remove ugly WINDOWSNT-specific kludge introduced on
163 2008-03-14 to force inode be positive.
164
165 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
166 _S_* ones, since we now use our own sys/stat.h.
167 (stat, fstat): Don't mangle the inode number.
aa08d1ff 168 (init_user_info): Don't restrict UID and GID to 0-60000 range.
40beb147 169
4591d6cb
SM
1702008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
171
d4417eb0
SM
172 * frame.h (struct frame): Give one more bit to `visible' since we use
173 values larger than 1 to indicate obscured frames on ttys.
174
00f7c5ed
SM
175 * keymap.c (Qkeymap_canonicalize): New var.
176 (Fmap_keymap_internal): New fun.
177 (describe_map): Use keymap-canonicalize.
178
4591d6cb
SM
179 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
180 (Fundo_boundary): Set them.
181 (syms_of_undo): Initialize them.
182 (record_point): Use them instead of last_point_position*.
183 (last_undo_buffer): Change type.
184
3187540e
JR
1852008-04-04 Jason Rumney <jasonr@gnu.org>
186
0ce24b2d
JR
187 * w32font.c (w32font_text_extents): Use font's ascent and descent.
188 (recompute_cached_metrics): Don't set ascent and descent per char.
189
3187540e 190 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
4591d6cb 191 (uniscribe_check_otf): Add GC protection before consing.
d0bfec76 192 Rearrange loop for counting features.
3187540e 193
f1a6b216
SM
1942008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
195
196 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
197 buffer with byte-size of source buffer.
198
1d8dcf63
CY
1992008-04-03 Chong Yidong <cyd@stupidchicken.com>
200
201 * callint.c (Fcall_interactively): Handle temporary region even
202 when shift-select-mode is off.
203
6b8aa22a
JR
2042008-04-03 Jason Rumney <jasonr@gnu.org>
205
206 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
207
2f3cbb32
KH
2082008-04-03 Kenichi Handa <handa@m17n.org>
209
210 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
211 (CATEGORY_MASK_UTF_16): Likewise.
212 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
213 binary file.
214 (detect_coding): Add null-byte detection for a binary file.
215 (detect_coding_system): Likewise.
216
43f4f91c
JR
2172008-04-03 Jason Rumney <jasonr@gnu.org>
218
0c1b4ae2
JR
219 * w32uniscribe.c: New file.
220
221 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
222
223 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
224
225 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
226 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
227 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
228 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
229 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
230 (Qphonetic): New symbols.
231 (syms_of_w32font): Initialize them.
232 (font_supported_scripts): Use them.
233 (w32font_list_family): List all charsets.
234 (w32font_text_extents, recompute_cached_metrics): Fix metric
235 calculations.
236 (w32_enumfont_pattern_entity): Make full_type a DWORD.
237 Give opentype fonts their own format.
238 (font_matches_spec): New arguments backend and logfont.
239 Handle :otf spec for uniscribe backend.
240 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
241 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
4591d6cb 242
0c1b4ae2
JR
243 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
244 font backend.
245 (globals_of_w32fns): Initialize uniscribe font backend.
246
fbf57abb 247 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
0c1b4ae2
JR
248 dependencies.
249 (w32uniscribe.$(O)): New file to build.
250 (FONT_OBJ): Include w32uniscribe.$(O).
251 (LIBS): Add uniscribe libraries.
252
43f4f91c
JR
253 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
254
75043a7d
CY
2552008-04-02 Chong Yidong <cyd@stupidchicken.com>
256
257 * callint.c (Vshift_select_mode): New var.
258 (Finteractive): Document new ^ spec.
259 (Fcall_interactively): Call handle-shift-selection if the ^ spec
260 is present.
261
262 * keyboard.c (Vthis_command_keys_shift_translated): New var.
263 (command_loop_1): Avoid running the direct display versions of
264 forward-char and backward-char if shift-selection may occur.
75043a7d
CY
265 (read_key_sequence): Set Vthis_command_keys_shift_translated if
266 shift-translation takes place.
267
268 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
269 avoid clobbering by define-minor-mode.
270
271 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
272 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
273
274 * syntax.c (Fforward_word): Add ^ interactive spec.
275
276 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
277 (Fscroll_right): Add ^ interactive spec.
278
b2b7f29e
SM
2792008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
280
a432c0a6
SM
281 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
282
994b75e0
SM
283 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
284
b2b7f29e
SM
285 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
286
e99c7806
JL
2872008-03-31 Juri Linkov <juri@jurta.org>
288
289 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
290
1c9c1270
JD
2912008-03-30 Jan Djärv <jan.h.d@swipnet.se>
292
293 * gtkutil.c (xg_set_geometry): Fix indentation.
994b75e0 294 (xg_resize_outer_widget): Remove.
1c9c1270
JD
295 (x_wm_size_hint_off): Fix indentation.
296 (xg_frame_set_char_size): Call flush_and_sync after
297 gtk_window_resize.
298 (x_wm_set_size_hint): Pass NULL as geometry window to
299 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
300 Add menu bar and tool bar height to base height.
301 (xg_update_frame_menubar, free_frame_menubar)
302 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
994b75e0
SM
303 (update_frame_tool_bar, free_frame_tool_bar):
304 Change xg_resize_outer_widget to xg_frame_set_char_size.
1c9c1270 305
90b3fc84
MA
3062008-03-30 Michael Albinus <michael.albinus@gmx.de>
307
308 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
309 (Fdbus_call_method): New parameter TIMEOUT.
310 (dbus-send-signal): Optimize UNGCPRO call.
311
7ae6d1d1
JL
3122008-03-29 Juri Linkov <juri@jurta.org>
313
314 * window.c (Fdisplay_buffer): Move call to
315 Vsplit_window_preferred_function out of conditions that check
316 if window is eligible for vertical splitting.
317 When Vsplit_window_preferred_function is non-nil, call it and use
318 its non-nil return value as window. Otherwise, continue doing
319 vertical splitting using Fsplit_window with arg horflag=nil.
320 (syms_of_window) <Vsplit_window_preferred_function>: Change the
321 default value from `split-window' to nil.
322
f03f8f2c
JL
3232008-03-29 Juri Linkov <juri@jurta.org>
324
325 * callint.c (Fcall_interactively): Revert 2008-03-16 change
326 for interactive code letters 'b' and 'B'.
327
6d557778
EZ
3282008-03-29 Eli Zaretskii <eliz@gnu.org>
329
330 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
331 multibyte string.
332
58555d81
SM
3332008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
334
335 * keyboard.c (pending_funcalls): New var.
336 (timer_check): Run it.
337 (syms_of_keyboard): Initialize it.
338 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
339 (Vdelete_terminal_functions): New vars.
340 (syms_of_terminal): Initialize them.
341 (Fdelete_terminal): Run delete-terminal-functions.
342 * xdisp.c (safe_eval): Rewrite.
343 (safe_call2): New fun.
344 * frame.c (Qdelete_frame_functions): New var.
345 (syms_of_frame): Initialize it.
346 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
347 * lisp.h (safe_call2, pending_funcalls): Declare.
348
4c92f429
AS
3492008-03-28 Andreas Schwab <schwab@suse.de>
350
351 * indent.c (Fmove_to_column): Move declaration before statements.
352
a1567c45
SM
3532008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
354
2806a183
SM
355 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
356 (struct frame): Use bit fields for boolean vars.
357
eef60308
SM
358 * process.c (server_accept_connection): Simplify naming.
359 (emacs_get_tty_pgrp): Use SDATA.
360
a1567c45
SM
361 * coding.c (decode_coding_object): Fix last change.
362
30076589
JR
3632008-03-27 Jason Rumney <jasonr@gnu.org>
364
365 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
366
880820fe
KH
3672008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
368
369 * charset.c (Fdefine_charset_internal): Change the way of
370 registering charsets in Vcharset_order_list.
371 (syms_of_charset): Make the charset `eight-bit' supplementary.
372
3cf8cdfb
CY
3732008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
374
375 * regex.c (EXTEND_BUFFER): Change order of pointer addition
376 operations, to avoid having the difference between pointers
377 overflow.
378
ef6f5c0e
SM
3792008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
380
80e3db56
SM
381 * indent.c (check_display_width): New fun.
382 (scan_for_column): Use it.
383
c397dc7a
SM
384 * data.c (syms_of_data): Mark most-positive-fixnum and
385 most-negative-fixnum as constants.
386
bf6b4d58
SM
387 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
388
ef6f5c0e
SM
389 * indent.c (scan_for_column): Extract from current_column_1.
390 Merge with the same code from Fmove_to_column.
391 (current_column_1, Fmove_to_column): Use it.
392
72d5003d
SM
3932008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
394
12270607
SM
395 * keymap.c (map_keymap_internal): New fun.
396 (map_keymap): Use it.
397 (Fmap_keymap_internal): New fun.
398 (Fmap_keymap): Remove left-out test from before make_save_value.
399
a10cca6c
SM
400 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
401
d7b10f4c
SM
402 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
403 Use XCAR/XCDR.
404
5431bd6a
SM
405 * process.h (struct Lisp_Process): Remove filter_multibyte.
406 * process.c (QCfilter_multibyte): Remove.
407 (setup_process_coding_systems): Don't use filter_multibyte.
408 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
409 (read_process_output): Don't adjust multibyteness to filter_multibyte.
410 (Fset_process_filter_multibyte): Change the coding-system to
411 approximate the previous behavior.
412 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
413 coding-system.
414
72d5003d
SM
415 * coding.c (decode_coding_object): When not decoding into a buffer,
416 obey the coding system's preference of (uni|multi)byte.
417
438eba3c
SM
4182008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
419
420 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
421 every char is changed and has a different byte-length.
422 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
423 Fix int -> EMACS_INT.
424
a8e72f4f
MA
4252008-03-23 David Hansen <david.hansen@gmx.net> (tiny change)
426
438eba3c 427 * dbusbind.c (xd_read_message): Remove extra copying of message
a8e72f4f
MA
428 strings. Check for NULL `interface' or `member'.
429
b07103dc
EZ
4302008-03-22 Eli Zaretskii <eliz@gnu.org>
431
432 * w32.c (readdir): If FindFirstFile/FindNextFile return in
433 cFileName a file name that includes `?' characters, use the 8+3
434 alias in cAlternateFileName instead.
435
5371d722
SM
4362008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
437
438 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
439
6ba7f443
SM
4402008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
441
442 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
443 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
444 work on current_buffer only instead (that was already the case
445 for some of the code anyway).
446 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
447 (temp_set_point, temp_set_point_both): Use EMACS_INT.
448 (SET_PT, SET_PT_BOTH): Adjust.
449 * intervals.h (set_point, temp_set_point, set_point_both)
450 (temp_set_point_both): Remove redundant declarations.
451
bf1c0f27
SM
4522008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
453
454 * fileio.c (Finsert_file_contents):
455 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
456 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
457 when buffer != current_buffer anyway.
458
acab783e
AS
4592008-03-20 Andreas Schwab <schwab@suse.de>
460
461 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
462 as default.
463
d148e14d
JR
4642008-03-19 Jason Rumney <jasonr@gnu.org>
465
466 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
467 (syms_of_w32fns): Initialize them.
468 (HOURGLASS_ID): New constant.
469 (x_window_to_frame): Don't check hourglass_window.
470 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
471 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
472 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
473 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
474 Only change the cursor if hourglass is not active.
475 (Fx_create_frame): Initialize frame's current_cursor.
476 (hourglass_atimer): Remove.
477 (hourglass_started): New function.
478 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
479 (show_hourglass): Adapt to w32, changing argument to frame.
480
481 * w32term.h (struct w32_output): Remove hourglass_window.
482 Add current_cursor.
483
484 * eval.c (call_debugger, Fsignal):
485 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
486 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
487 (Fexecute_extended_command, cancel_hourglass_unwind):
488 * minibuf.c (read_minibuf):
489 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
63558020 490
a5c54077
JB
4912008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
492
493 * window.c (run_funs): New fun.
494 (run_window_configuration_change_hook): Use it to run the buffer-local
495 and the global part of the hook.
496
497 * xdisp.c (format_mode_line_unwind_data): Add window argument.
498 (unwind_format_mode_line): Restore selected window.
499 (x_consider_frame_title, Fformat_mode_line): Set selected window.
500
f9f3238f
SM
5012008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
502
253c3c82
SM
503 * editfns.c (Fchar_equal): Check they are valid characters.
504
f9f3238f
SM
505 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
506
065a118d
AS
5072008-03-17 Andreas Schwab <schwab@suse.de>
508
0b8be006
AS
509 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
510 against a charset.
511
065a118d
AS
512 * lisp.h (Fbuffer_list): Declare.
513
880820fe 5142008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d3b2a6da
JD
515
516 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
517 handlebox_widget is != 0.
518
6206d6c2
JL
5192008-03-16 Juri Linkov <juri@jurta.org>
520
521 * callint.c (Fcall_interactively): For interactive code letters
522 'b' and 'B' put the buffer list into the list of default "future"
523 values of the minibuffer.
524
f5020181
AS
5252008-03-16 Andreas Schwab <schwab@suse.de>
526
a864f6d6
AS
527 * keyboard.c (read_key_sequence): Fix downcasing of letters with
528 modifiers.
529
f5020181
AS
530 * regex.c (re_match_2_internal): Correct matching of a charset
531 against latin-1 characters.
532
03f244e2
KH
5332008-03-16 Kenichi Handa <handa@m17n.org>
534
535 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
536 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
f9f3238f
SM
537 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
538 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
03f244e2
KH
539 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
540 CHAR_STRING_ADVANCE.
541 (produce_chars): Fix for the case that the source and the
542 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
543 instead of CHAR_STRING_ADVANCE.
544 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
545 STRING_CHAR_ADVANCE.
546
0e2501ed
AS
5472008-03-15 Andreas Schwab <schwab@suse.de>
548
549 * regex.c (re_match_2_internal): Correct matching of eight bit
550 characters in unibyte strings.
551
7723e095
MR
5522008-03-15 Martin Rudalics <rudalics@gmx.at>
553
554 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
555 at end of range when it coincides with the end of the buffer.
556
f507f365
EZ
5572008-03-14 Eli Zaretskii <eliz@gnu.org>
558
294f1153
EZ
559 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
560
f507f365
EZ
561 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
562
64f0809d
JR
5632008-03-14 Jason Rumney <jasonr@gnu.org>
564
956ae531
JR
565 * editfns.c (initial_tz): New variable.
566 (syms_of_editfns): Initialize it.
567 (Fset_time_zone_rule): Set it when first called.
568 Use it when TZSTRING is nil.
569
64f0809d
JR
570 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
571 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
572 (monitor_from_point_fn, get_monitor_info_fn): New globals.
573 (globals_of_w32fns): Initialize them.
574 (compute_tip_xy): Use them to position tooltips.
575
21a4ff8e
GM
5762008-03-14 Glenn Morris <rgm@gnu.org>
577
578 * emacs.c (main): Revert previous change.
579 (standard_args): Revert -internal-script back to -scriptload,
580 and remove the long-option form.
581
a09a5b5b
GM
5822008-03-13 Glenn Morris <rgm@gnu.org>
583
584 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
585 Remove option -enable-font-backend.
586
1c55ebd1
SM
5872008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
588
589 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
590
880820fe 5912008-03-11 Jan Djärv <jan.h.d@swipnet.se>
c523e161
JD
592
593 * xterm.c (x_connection_closed): For GTK: If this is the last
594 terminal just exit without closing the display.
595
7145be81
JR
5962008-03-11 Jason Rumney <jasonr@gnu.org>
597
598 * w32font.c (w32font_full_name): Use floor to round.
599
e6201af3 6002008-03-10 dhruva <dhruvakm@gmail.com> (tiny change)
ce9033f8
JD
601
602 * sound.c (alsa_configure): Declare vol at beginning of block.
603
e6201af3 604 * fontset.c (Ffontset_info): Remove extra semicolon.
ce9033f8 605
390b81fa 6062008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
acd37560 607
56388398
MB
608 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
609 size of resulting string.
af0ad939 610
390b81fa 6112008-03-10 Jason Rumney <jasonr@gnu.org>
acd37560 612
56388398 613 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
acd37560 614
390b81fa 6152008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
acd37560 616
56388398
MB
617 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
618 Don't pretend as if characters with display property haven't been
619 consumed for string-replacing-string case.
acd37560 620
223ed6db
KS
6212008-03-08 Kim F. Storm <storm@cua.dk>
622
623 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
624 (get_next_display_element, next_element_from_string)
625 (next_element_from_ellipsis, next_element_from_buffer): Use it.
626
28545f7c
AS
6272008-03-08 Andreas Schwab <schwab@suse.de>
628
629 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
630
c960bff8
JR
6312008-03-06 Jason Rumney <jasonr@gnu.org>
632
290afd83
JB
633 * w32font.c (w32_registry): Take font_type argument. Use ANSI
634 when charset not specified. Only translate ANSI to unicode when
c960bff8
JR
635 font_type is truetype.
636 (w32font_coverage_ok): New function.
637 (add_font_entity_to_list): Use it to filter unsuitable fonts.
638
87b8ce92
KH
6392008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
640
641 * lread.c (Fread_char): Resolve modifiers.
642 (Fread_char_exclusive): Likewise.
643
644 * character.c (char_resolve_modifier_mask): New function.
645 (char_string): Use char_resolve_modifier_mask.
646 (Fchar_resolve_modifiers): New function.
647 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
648 function.
649
cefd56f6
JR
6502008-03-04 Jason Rumney <jasonr@gnu.org>
651
652 * makefile.w32-in: Always include w32font.c in the build.
653 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
654
03bd3c1f
AS
6552008-03-04 Andreas Schwab <schwab@suse.de>
656
657 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
658 (versionclean): Likewise.
659
6f69e89b
JB
6602008-03-04 Juanma Barranquero <lekktu@gmail.com>
661
662 * .cvsignore: Add oo.
663
f4a3cc44
AS
6642008-03-03 Andreas Schwab <schwab@suse.de>
665
666 * coding.c (decode_coding_object): Inhibit gap shrinking while
667 decoding in place.
668
73f838ad
DN
6692008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
670
671 * w32term.c: Remove unused include "gnu.h".
6f69e89b 672 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
73f838ad
DN
673
674 * gnu.h: Rename to ...
675 * emacs-icon.h: ... this.
676 * xterm.c: Use emacs-icon.h instead of gnu.h.
677 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
678
ce9c1f06
JB
6792008-03-03 Juanma Barranquero <lekktu@gmail.com>
680
681 * w32font.c: Include math.h.
682
34fd2d28
JR
6832008-03-03 Jason Rumney <jasonr@gnu.org>
684
54efdcd1
JR
685 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
686 Compute options separately.
687 (w32font_open_internal): Set glyph_idx before caching metrics.
688
ce9c1f06
JB
689 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
690 Define if system headers don't.
691 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
34fd2d28
JR
692 (w32font_encode_char): Don't declare here.
693
694 * w32font.c (Quniscribe, QCformat): New symbols.
695 (syms_of_w32font): Define them.
696 (w32font_has_char): Indicate uncertainty.
ce9c1f06 697 (w32font_encode_char): Encode as glyph point. Make static.
34fd2d28 698 (recompute_cached_metrics): New function.
ce9c1f06
JB
699 (w32font_open_internal): Use it. Set font to use glyph points
700 initially. Set format based on type of font.
34fd2d28 701 (w32font_text_extents, w32font_draw): Optionally use glyph points.
ce9c1f06
JB
702 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
703 on it. Set format based on information available here.
34fd2d28
JR
704 (add_font_entity_to_list): Identify backend based on opentype_only.
705
14daee73
AS
7062008-03-02 Andreas Schwab <schwab@suse.de>
707
f907fb2e
AS
708 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
709
ce9c1f06
JB
710 * coding.c (decode_coding_big5, produce_chars):
711 Fix typos in last change.
14daee73 712
c9cc6462
DN
7132008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
714
715 * gnu.h: New icon.
716
119852e7
KH
7172008-03-02 Kenichi Handa <handa@m17n.org>
718
719 * coding.c (decode_coding_utf_8): When eol-type of CODING is
720 `dos', don't decode '\r' if that is the last in the source.
721 (decode_coding_utf_16, decode_coding_emacs_mule)
722 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
723 (decode_coding_raw_text, decode_coding_charset): Likewise.
724 (produce_chars): Don't decode EOL here. Use EMACS_INT.
725
a823468b
JR
7262008-03-01 Jason Rumney <jasonr@gnu.org>
727
728 * w32font.c (w32font_full_name): Report point size for scalable fonts.
729
4ddc7e30
KS
7302008-03-01 Kim F. Storm <storm@cua.dk>
731
732 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
733
67997c79
JR
7342008-03-01 Jason Rumney <jasonr@gnu.org>
735
736 * w32font.c (w32font_full_name): New function.
737 (w32font_open_internal): Use it.
738
3f4e9c35
KS
7392008-03-01 Kim F. Storm <storm@cua.dk>
740
741 * dispnew.c (line_draw_cost): Fix invalid glyph check.
742
f3b9e479
JR
7432008-03-01 Jason Rumney <jasonr@gnu.org>
744
745 * font.c (font_unparse_fcname): Increase len when style is a symbol.
746
880820fe 7472008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7ee480ce
JD
748
749 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
750 xg_frame_resized when the event is for the edit widget.
751
752 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
753
754 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
755 set_char_size.
756 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
757 operations on widgets here. Just set frame size if needed.
758 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
759 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
760 (x_wm_set_size_hint): Set size hints on the edit widget only, not
761 the whole frame.
762 (xg_create_tool_bar): Move attachement of the tool bar to
763 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
764 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
765
6c8acaa1
JR
7662008-03-01 Jason Rumney <jasonr@gnu.org>
767
768 * w32fns.c (w32_msg_pump): Disable debug code.
769
51fb064b 7702008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
03eb5fab 771
51fb064b 772 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
cb681b34 773
60221a33
CY
7742008-02-29 Chong Yidong <cyd@stupidchicken.com>
775
776 * xdisp.c (next_overlay_string): Don't set
777 overlay_strings_at_end_processed_p if we're currently reading from
778 a display string.
779
10cbc34f
SM
7802008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
781
782 * xdisp.c (get_overlay_strings_1): Fix typo.
783
73c0054e
CY
7842008-02-29 Chong Yidong <cyd@stupidchicken.com>
785
786 * xdisp.c (get_overlay_strings_1): Add missing argument type.
787
ec1c4354
KH
7882008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
789
55082642
KH
790 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
791
ec1c4354
KH
792 * xdisp.c (display_mode_element): Cancel the previous change.
793 (decode_mode_spec): Likewise.
ee548a94
KH
794 (handle_auto_composed_prop): Don't make composition if it->string
795 is a string.
ec1c4354 796
b6d898a2
KS
7972008-02-27 Kim F. Storm <storm@cua.dk>
798
799 * lisp.h (GLYPH): Change type from int to struct with separate char
800 and face_id members.
801 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
802 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
803 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
804 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
805 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
806 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
807 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
808 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
809 handle new Lisp glyph code encoding, either an integer or a cons.
810
811 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
812 (GLYPH_ALIAS): Delete.
813 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
814 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
815 (GLYPH_FROM_CHAR): Replace macro by ...
816 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
817
818 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
819 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
820 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
821 (GLYPH_INVALID_P): New macro.
822 (spec_glyph_lookup_face): Update prototype.
823
824 * dispnew.c (line_draw_cost): Adapt to new glyph type.
825 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
826 new glyph code encoding.
827 (spec_glyph_lookup_face): No return value; update passed glyph instead.
828 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
829
830 * xdisp.c (get_next_display_element, next_element_from_display_vector):
831 Adapt to new glyph type and new glyph code encoding.
832
833 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
834
835 * indent.c (current_column, current_column_1, Fmove_to_column)
836 (compute_motion): Adapt to new glyph code encoding.
837
838 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
839
af2080a2
CY
8402008-02-27 Chong Yidong <cyd@stupidchicken.com>
841
842 * process.c (wait_reading_process_output): Check for window
843 changes caused by timers.
880820fe 844 Suggested by Johan Bockgård.
af2080a2 845
253ed25e
GM
8462008-02-27 Glenn Morris <rgm@gnu.org>
847
848 * emacs.c (USAGE1): Add `--disable-font-backend'.
849
18a9f8d9
SM
8502008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
851
852 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
853 is made to the buffer.
854
0f8b27ea
SM
8552008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
856
857 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
858 (face_at_string_position):
859 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
860 (face_at_string_position):
861 * xdisp.c (display_string, next_overlay_change):
862 * buffer.h (overlays_at):
863 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
864 Update callers.
865
4e7c53ca
CY
8662008-02-26 Chong Yidong <cyd@stupidchicken.com>
867
868 * editfns.c (Fformat): Doc fix.
869
51c01100
JB
8702008-02-26 Juanma Barranquero <lekktu@gmail.com>
871
872 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
873 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
874 (Ffont_otf_alternates, Fquery_font): Doc fixes.
875
13cda5f9
SM
8762008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
877
878 * buffer.c (Fbuffer_swap_text): New function.
879 (syms_of_buffer): Defsubr it.
880
8018d430
CY
8812008-02-25 Chong Yidong <cyd@stupidchicken.com>
882
883 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
884
9bde1a21
JR
8852008-02-25 Jason Rumney <jasonr@gnu.org>
886
887 * w32font.c (w32font_draw): Draw one character at a time when padding.
888
eeca6f6f
SM
8892008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
890
891 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
892 Handle a nil arg. Use run_window_configuration_change_hook.
893 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
894 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
895 Use run_window_configuration_change_hook.
896
ec1c4354
KH
8972008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
898
899 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
900 1-pixel width.
901
ae185452
KH
9022008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
903
904 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
905 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
906 if the glyph in the font is zero pixel with.
907
908 * dispextern.h (struct glyph_string): New member padding_p.
909
910 * w32font.c (w32font_draw): Pay attention to s->padding_p.
911
912 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
913
914 * xfont.c (xfont_draw): Pay attention to s->padding_p.
915
916 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
917
eeca6f6f 918 * font.c: If the font driver doesn't have `shape' function, return Qnil.
ae185452 919
ffe832ea 9202008-02-25 Jason Rumney <jasonr@gnu.org>
c9029fe5 921
ffe832ea 922 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
16782258 923
06045130
SM
9242008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
925
926 Allow fine-grained image-cache flushing.
927 * dispextern.h (struct image): Add `dependencies' field.
928 (clear_image_caches): Change arg to Lisp_Object.
929 * image.c (make_image): Initialize `dependencies' field.
930 (clear_image_cache): Change arg to allow fine-grained flushing.
931 Perform the flush even if image-cache-eviction-delay is nil.
932 (clear_image_caches): Change arg to Lisp_Object.
933 (Fclear_image_cache): Expand meaning of the argument.
934 (mark_image): Mark `dependencies' field.
935 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
936 (lface_hash): Use XHASH rather than XFASTINT.
937 (face_at_buffer_position): Fix int -> EMACS_INT position.
938 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
939 (select_frame_for_redisplay): Remove code duplication.
940 (redisplay_internal): Adapt arg to call to clear_image_caches.
941
9d2818d6
DN
9422008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
943
944 * s/vms4-0.h:
945 * s/vms4-2.h:
946 * s/vms4-4.h:
947 * s/vms5-5.h: Remove, unused.
948
949 * s/irix5-2.h:
950 * s/irix6-0.h:
951 * s/riscos5.h:
952 * s/mach-bsd4-3.h:
953 * m/mips4.h: Remove files for obsolete systems
954
955 * Makefile.in:
956 * filelock.c:
957 * unexmips.c:
958 * m/hp9000s300.h:
959 * m/iris4d.h:
960 * s/aix3-1.h:
961 * s/hpux.h:
962 * s/msdos.h:
963 * s/usg5-0.h:
964 * s/usg5-2-2.h:
965 * s/usg5-2.h:
966 * s/usg5-3.h: Remove references to obsolete variables.
967
968 * s/irix5-0.h: Remove, move all the contents ...
969 * s/irix6-5.h: ... here. Simplify.
970 * config.in: Regenerate.
971
2a36efcf
JR
9722008-02-24 Jason Rumney <jasonr@gnu.org>
973
c5ad7a3d 974 * w32term.c (x_draw_glyph_string_background): Clear the background
2face669
JR
975 manually when cleartype is in use.
976 (x_draw_glyph_string_foreground): Draw text transparently when
977 cleartype is in use.
978
2a36efcf
JR
979 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
980 a font into it unless we have to.
981
b03f96dc 9822008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
92a8ce63 983
b03f96dc
MB
984 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
985 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
92a8ce63 986
b03f96dc 9872008-02-18 Jason Rumney <jasonr@gnu.org>
92a8ce63 988
b03f96dc 989 * w32fns.c (Fw32_shell_execute): Encode parameters.
92a8ce63 990
b03f96dc 9912008-02-09 Eli Zaretskii <eliz@gnu.org>
20f1ef2e 992
b03f96dc 993 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
32d0a9dc 994
b03f96dc 9952008-02-05 Juanma Barranquero <lekktu@gmail.com>
20f1ef2e 996
b03f96dc 997 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
77d1daf2 998
d5958163
CY
9992008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
1000
1001 * xterm.c (x_set_offset): Don't change the gravity if
1002 CHANGE_GRAVITY is -1.
1003
9997701e
CY
10042008-02-23 Chong Yidong <cyd@stupidchicken.com>
1005
1006 * fileio.c (auto_save_error_occurred): New var.
1007 (auto_save_error): Set it.
1008 (Fdo_auto_save): Don't overwrite the error message if an auto-save
1009 error occurred.
1010
9d95a291
EZ
10112008-02-23 Eli Zaretskii <eliz@gnu.org>
1012
1013 * w32.c (globals_of_w32): Add initializations for
1014 g_b_init_get_sid_sub_authority and
1015 g_b_init_get_sid_sub_authority_count.
1016
43d1af23
SM
10172008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
1018
43a1d19b
SM
1019 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
1020 (font_parse_xlfd): Use them for sanity check.
608c3307 1021 (Finternal_set_font_style_table): Make sure the table is bijective.
43a1d19b 1022
354884c4
SM
1023 Consolidate the image_cache to the terminal struct.
1024 * termhooks.h (P_): Remove redundant def.
1025 (struct terminal): New field `image_cache'.
1026 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
1027 of FRAME_X_IMAGE_CACHE.
1028 * xterm.h (struct x_display_info): Remove image_cache field.
1029 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
1030 * w32term.h (struct w32_display_info): Remove image_cache field.
1031 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
1032 * macterm.h (struct mac_display_info): Remove image_cache field.
1033 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
1034 * xterm.c (x_term_init):
1035 * w32term.c (w32_term_init):
1036 * macterm.c (mac_term_init): Set the image_cache in the terminal.
1037 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
1038 Remove declarations.
1039 (clear_image_caches, mark_image_cache): New declarations.
1040 * xfaces.c (clear_face_cache):
1041 * xdisp.c (redisplay_internal): Use clear_image_caches.
1042 * image.c (clear_image_cache): Don't check that a frame is on
1043 a window-system before checking if it shares the same cache.
1044 (clear_image_caches): New function.
1045 (Fclear_image_cache): Use it.
1046 (mark_image): Move from allo.c.
1047 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
1048 * alloc.c (mark_image, mark_image_cache): Move to image.c.
1049 (mark_object): Don't call mark_image_cache for frames.
1050 (mark_terminals): Call mark_image_cache.
1051
c2e42690
SM
1052 * lisp.h (Fdelete_terminal): Declare.
1053
43d1af23
SM
1054 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
1055 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
1056 wrong_type_argument.
1057
cc8d1311
KH
10582008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
1059
1060 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
4a4bdfc7 1061 malayalam.el, and tamil.el. Add sinhala.el.
cc8d1311 1062
6bd92640
SM
10632008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
1064
1065 * xterm.c (x_connection_closed): Consolidate identical tests.
1066 (x_delete_terminal): Don't crash if called via x_connection_closed.
1067
a73b5627
KH
10682008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
1069
1070 * xdisp.c (decode_mode_spec): New arg string.
6bd92640 1071 (display_mode_element): Adjust for the above change.
a73b5627 1072
1b511542
SM
10732008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
1074
1075 * callint.c (Fcall_interactively): Use AREF.
1076
81aefea4
SM
10772008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
1078
1079 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
1080
880820fe 10812008-02-18 Jan Djärv <jan.h.d@swipnet.se>
2d7117fe
JD
1082
1083 * xfns.c (Fx_show_tip): Set string to " " if empty.
1084
a2b84f35
DN
10852008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
1086
1087 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
1088 with Qt.
1089
43c0454d
KH
10902008-02-17 Kenichi Handa <handa@m17n.org>
1091
1092 * ftfont.c (ftfont_shape): Return Lispy number.
1093
1094 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
1095 for GCs.
1096 (Finternal_set_font_selection_order): Call font_update_sort_order
1097 only when enable_font_backend is set.
1098 (realize_x_face): Set face->font_info to that of default face only
1099 when enable_font_backend is set.
1100
1101 * xdisp.c (handle_composition_prop): Set it->c to the fist
1102 characte of the composed region.
1103 (fill_composite_glyph_string): Set base_face->font_info to
1104 s->font_info. Get a face for ascii from base_face->ascii_face.
1105 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
1106 with a face already decided.
1107 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
1108 non-negative.
978bef9a
JB
1109 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
1110 call font_prepare_composition unconditionally.
43c0454d 1111
978bef9a 1112 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
43c0454d
KH
1113
1114 * xterm.h (struct x_display_info): New member font.
1115
1116 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
1117 (x_set_mouse_face_gc, x_new_font): Likewise.
1118 (x_term_init): Setup display_info->font.
1119 (x_delete_terminal): Free display_info->font.
1120
1121 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
1122
1123 * ftxfont.c (ftxfont_default_fid): Delete it.
1124 (ftxfont_open): Set xfont->fid to 0.
978bef9a 1125 (ftxfont_end_for_frame): Clear data specific to the frame and the
43c0454d
KH
1126 font-driver.
1127
1128 * xftfont.c (xftfont_default_fid): Delete it.
1129 (xftfont_open): Set xfont->fid to 0.
1130
1131 * fontset.c (FONTSET_OBJLIST): New macro.
1132 (fontset_find_font): Update font-object list of the fontset.
1133 (free_realized_fontset): New function.
1134 (free_face_fontset): Call free_realized_fontset.
1135 (Ffont_info): Call font_close_object only when enable_font_backend
1136 is set.
1137
1138 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
1139 [HAVE_NTGUI]: Include w32term.h.
1140 [MAC_OS]: Include macterm.ch.
1141 (font_otf_ValueRecord): Use make_number.
1142 (font_finish_cache): Fix handling of reference count.
1143 (font_clear_cache): Update num_fonts.
1144 (font_open_entity): Update smallest_char_width and
1145 smallest_font_height of the frame.
1146 (font_close_object): Update num_fonts.
1147 (Fclear_font_cache): Fix finding the target cache data.
1148
be617367
GM
11492008-02-16 Glenn Morris <rgm@gnu.org>
1150
1151 * fontset.c (Finternal_char_font): Fix compilation warning.
1152
2930d117
EZ
11532008-02-16 Eli Zaretskii <eliz@gnu.org>
1154
634d3003
EZ
1155 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
1156 instead of char arrays. Enlarge the size of array passed to
1157 get_token_information.
1158
2930d117
EZ
1159 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
1160 warnings.
1161
79214046
DN
11622008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
1163
1164 * .gdbinit: Don't set `args', it breaks gdb --args.
1165
7f5d2c72
SM
11662008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
1167
1168 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
1169 within a narrowed buffer.
1170
6edacc43
KH
11712008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
1172
b270d6af
JB
1173 * coding.c (decode_coding_object, encode_coding_object):
1174 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
6edacc43 1175
174105f7
SM
11762008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
1177
b270d6af
JB
1178 * coding.c (coding_set_destination): Use BEG_BYTE rather than
1179 hardcoding 1.
13818c30
SM
1180 (detect_coding_system):
1181 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
1182 (string_char_to_byte, string_byte_to_char, insert_from_gap):
1183 * insdel.c (insert_from_gap):
1184 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
1185 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
1186 (string_to_multibyte):
1187 * character.c (chars_in_text, multibyte_chars_in_text):
1188 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
1189
f1c99628
SM
1190 * character.h (FETCH_STRING_CHAR_ADVANCE)
1191 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
1192 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
1193 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
1194
7927d8e3
SM
1195 * casefiddle.c (casify_region): Only call after-change and composition
1196 functions on the part of the region that was changed.
1197
adf6a429 1198 * keyboard.c (read_avail_input):
174105f7
SM
1199 * frame.c (Fdelete_frame): Call Fdelete_terminal.
1200
3ee24aec
SM
12012008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1202
1203 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
1204 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
1205
4ed4b975
JB
12062008-02-11 Juanma Barranquero <lekktu@gmail.com>
1207
1208 * w32menu.c (push_submenu_start, push_submenu_end)
1209 (push_left_right_boundary, push_menu_pane, push_menu_item):
1210 * keyboard.c (read_key_sequence): Don't pass args with side effects
1211 to AREF, it fails when compiling with -DENABLE_CHECKING.
1212
79e3bfb8
KH
12132008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
1214
4ed4b975
JB
1215 * Makefile.in (${lispsource}international/charprop.el):
1216 Delete this target.
6e76043f 1217
79e3bfb8
KH
1218 * search.c (boyer_moore): Fix incorrect synching of the trunk and
1219 emacs-unicode-2.
1220
5b8de9c5
SM
12212008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
1222
1223 * terminal.c (Fdelete_terminal): Clean up the `force' path.
1224
eac1939a
SM
12252008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
1226
c53956fe
SM
1227 * frame.c (Qnoelisp): New symbol.
1228 (syms_of_frame): Initialize it.
1229 (Fdelete_frame): Use it to distinguish a mere `force' passed from
1230 someharmles Elisp code, from a strong `force' from x_connection_closed.
1231 * frame.h (Qnoelisp): Declare.
1232 * xterm.c (x_connection_closed): Pass `noelisp'.
1233
eac1939a
SM
1234 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
1235 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
1236 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
1237 rather than `int' for the type of `type'.
1238
13f6772b
DN
12392008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
1240
1241 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
1242
1243 * Makefile.in (GNUC): Remove support for gcc-1.x.
1244
e8455367
RS
12452008-02-10 Richard Stallman <rms@gnu.org>
1246
1247 * lisp.h (ASET): Use AREF, not ASLOT.
1248
4b75ffab
SM
12492008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
1250
1251 * lisp.h (ASET): Check bounds.
1252
d224e8c2
GM
12532008-02-10 Glenn Morris <rgm@gnu.org>
1254
1255 * buffer.c (mode-name): Doc fix.
1256
4624371d
DN
12572008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
1258
290afd83
JB
1259 * Makefile.in:
1260 * emacs.c:
1261 * gmalloc.c:
1262 * keyboard.c:
1263 * lisp.h:
1264 * m/ibm370aix.h:
1265 * process.c:
1266 * regex.c:
1267 * s/hpux.h:
1268 * sysdep.c:
1269 * sysselect.h:
1270 * systty.h:
1271 * unexec.c:
1272 * w32term.c:
1273 * xsmfns.c:
1274 * xterm.c: Remove code that deals with obsolete variables.
4624371d
DN
1275
1276 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
1277
1278 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
1279 nothing else needs it anymore.
1280
274ec34b
EZ
12812008-02-09 Eli Zaretskii <eliz@gnu.org>
1282
1283 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
1284 instead of unibyte_char_to_multibyte.
1285
deeaffe1
DN
12862008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
1287
1288 * s/gnu-linux.h: Remove commented out code.
1289
4ed4b975 1290 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
deeaffe1
DN
1291
1292 * Makefile.in: Update what RMS says about using autoconf.
4ed4b975 1293 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
deeaffe1
DN
1294 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1):
1295 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
1296 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
1297
68b587a6
SM
12982008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
1299
9141ca5e
SM
1300 * keymap.c (Fkey_description): Move side effect outside of macro call.
1301
dfae5f9a 1302 * xfaces.c (Finternal_make_lisp_face):
b1ebcadb
SM
1303 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
1304
ff7a2223
SM
1305 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
1306 (syms_of_fontset): Use ASET.
1307
68b587a6
SM
1308 * fns.c (concat): Move side effect outside of macro call.
1309 (hash_clear): Use ASET.
1310
a31787b1
RS
13112008-02-08 Richard Stallman <rms@gnu.org>
1312
1313 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
1314 If FORCE, and frame has a surrogate minibuffer for another frame,
1315 delete the other frame first.
1316
987be29b 13172008-02-07 Timo Savola <timo.savola@iki.fi>
1540a61a
JD
1318
1319 * xterm.c (x_detect_focus_change): Handle embed client message.
1320 (handle_one_xevent): Ditto.
1321 (handle_one_xevent): If embedded and we get a button press/release,
1322 request focus.
1323 (xembed_set_info, xembed_send_message): New functions.
1324 (x_make_frame_visible): Call xembed_set_info if embedded.
1325 (x_make_frame_invisible): Call xembed_set_info if embedded.
1326 (x_term_init): Initialize Xatom_XEMBED.
1327 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
1328 (x_iconify_frame): Ditto.
1329
1330 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
1331 (enum xembed_info, enum xerm srmbed_message, enum xembed_focus)
1332 (enum xembed_modifier, enum xembed_accelerator): New.
1333 (xembed_set_info, xembed_send_message): Declare.
1334 (FRAME_X_EMBEDDED_P): New.
1335
1336 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
1337 gtk_plug_new.
1338
1339 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
1340 window ID of a frame.
1341 (x_window): Reparent frame if embedded.
1342 (Fx_create_frame): Don't set border width if embedded.
1343
1344 * emacs.c (USAGE3): Add --parent-id
1345 (standard_args): Ditto.
1346
880820fe 13472008-02-07 Jan Djärv <jan.h.d@swipnet.se>
f937a7db
JD
1348
1349 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
1350
92413ef3
JD
13512008-02-07 Jim Meyering <meyering@redhat.com>
1352
6f69e89b 1353 Use "do...while (0)", not "if (1)...else" in macro definitions.
987be29b
RF
1354 The latter provokes a warning from gcc about the empty else, when
1355 followed by ";". Also, without that trailing semicolon, it would
1356 silently swallow up any following statement.
1357 * syntax.h (SETUP_SYNTAX_TABLE):
1358 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
1359 * buffer.h (DECODE_POSITION): Likewise.
1360 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
1361 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
1362 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
1363 (FETCH_CHAR_ADVANCE): Likewise.
1364 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
92413ef3 1365
03fa5713
GM
13662008-02-07 Jim Meyering <meyering@redhat.com>
1367
1368 * lread.c [lint]: Don't include <sys/inode.h>.
1369
3ae565b3
SM
13702008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
1371
1372 * xselect.c (x_handle_dnd_message):
1373 * xmenu.c (digest_single_submenu, xmenu_show):
1374 * xdisp.c (with_echo_area_buffer_unwind_data)
1375 (format_mode_line_unwind_data, unwind_format_mode_line)
1376 (display_menu_bar):
1377 * eval.c (Ffetch_bytecode):
1378 * doc.c (store_function_docstring):
1379 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
1380 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
1381 * buffer.c (add_overlay_mod_hooklist): Use ASET.
1382
146b6e55
KH
13832008-02-07 Kenichi Handa <handa@m17n.org>
1384
1385 * ftxfont.c (ftxfont_open): Don't set
1386 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
1387
1388 * ftfont.c (ftfont_open): Fix previous change.
1389
46a923ac
JR
13902008-02-06 Jason Rumney <jasonr@gnu.org>
1391
1392 * w32font.c (w32font_text_extents): Fill in lbearing metric.
1393 Use cached metrics for ASCII characters.
3ae565b3
SM
1394 (w32font_open_internal): Don't set font's owning_frame.
1395 Cache metrics for ASCII characters.
46a923ac
JR
1396
1397 * w32font.h (struct w32font_info): Add ascii_metrics.
1398 Remove owning_frame.
1399
da7d7c21
KH
14002008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
1401
1402 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
1403 to negative value.
1404
1405 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
1406
3ae565b3 1407 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
da7d7c21
KH
1408
1409 * charset.c (syms_of_charset): Set QCtest and Qeq.
1410
c62c8ddb
SM
14112008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
1412
ca319910
SM
1413 * process.c (Fstart_process):
1414 * callproc.c (Fcall_process): Handle the case where
1415 Funhandled_file_name_directory returns nil.
1416
76860cbb
SM
1417 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
1418 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
f9ffa1ea
SM
1419 * font.c (check_gstring): Use them and AREF to access the vector before
1420 we know it's really a gstring.
1421 (Ffont_shape_text): Fix typo.
1422 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
76860cbb 1423
15139d67
SM
1424 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
1425 Declare.
1426
c62c8ddb
SM
1427 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
1428
04b65d2b
JR
14292008-02-05 Jason Rumney <jasonr@gnu.org>
1430
1431 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
1432 Set smallest_font_height and smallest_char_width in display info.
1433
fccaebfd
KH
14342008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
1435
1436 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
1437
e7d7fd8c
MB
14382008-02-05 Miles Bader <miles@gnu.org>
1439
1440 * xfaces.c (get_lface_attributes, merge_named_face)
1441 (lookup_named_face, lookup_derived_face, realize_named_face):
1442 Revert 2008-02-01 change by cyd@stupidchicken.com.
1443
3d4448a8
KH
14442008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
1445
1446 * fontset.c (Ffontset_info): Handle the case of inhibitting the
1447 fallback fonts.
15139d67 1448 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
3d4448a8 1449
5ace1ec1
JR
14502008-02-04 Jason Rumney <jasonr@gnu.org>
1451
1452 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
1453 set full_name.
e3a77b22 1454 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
5ace1ec1 1455
ffe42183
JR
14562008-02-03 Jason Rumney <jasonr@gnu.org>
1457
1458 * makefile.w32-in (OBJ1): Include font.o here.
1459 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
1460
526dc3b3
JR
14612008-02-02 Jason Rumney <jasonr@gnu.org>
1462
a0fece35 1463 * makefile.w32-in (temacs): Bump EMHEAP to 21.
526dc3b3 1464
af805c82
JR
14652008-02-01 Jason Rumney <jasonr@gnu.org>
1466
1467 * s/cygwin.h: Define VIRT_ADDR_VARIES.
1468
1469 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
1470
7f6519c5
AS
14712008-02-01 Andreas Schwab <schwab@suse.de>
1472
1f45f627 1473 * Makefile.in (shortlisp, lisp): Update for rename of
7f6519c5 1474 ../lisp/language/myanmar.el.
7f6519c5 1475
26f8aa27
CY
14762008-02-01 Chong Yidong <cyd@stupidchicken.com>
1477
1f45f627 1478 * xfaces.c (get_lface_attributes): Delete function.
26f8aa27
CY
1479 (merge_named_face, lookup_named_face, lookup_derived_face)
1480 (realize_named_face): Call lface_from_face_name directly, and use
1481 the fact that merge_face_vectors does not alter its FROM argument.
1482
73acf815 14832008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1484
1485 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
1f45f627 1486 input in the default locale. Handle non-Unicode multibyte input.
aca7a3d2 1487
73acf815 14882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1489
1490 * fontset.c (reorder_font_vector): Exclude nil elements from the
1491 font group. Don't try multiple fonts.
15139d67 1492 (fontset_font): Adjust for the above change.
aca7a3d2
MB
1493 (Finternal_char_font): Return nil if the found font doesn't
1494 contain the character ch.
1495
4c4475a8 1496 * Makefile.in (lisp, shortlisp): Add cham.el.
aca7a3d2 1497
73acf815 14982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1499
1500 * font.h (FONTP): Make it return 1 also for a font-object.
1501
1502 * .gdbinit (xfontset): New function.
1503
1504 * font.c (font_find_for_lface): Check if the character C is
1505 supported or not only for the first font.
1506
1507 * fontset.c (reorder_font_vector): Fix typo.
1508 (fontset_find_font): Don't add a font-spec specifying a script.
1509 Use 0 (not Qt) for the indication of empty font-group. Change the
1510 format of RFONT-DEF. Return Qt if no font in the font-group
1511 support the character.
15139d67 1512 (fontset_font): Adjust for the above change. If no font was
aca7a3d2 1513 found the character, remember that.
15139d67 1514 (face_for_char): Adjust for the change of RFONT-DEF.
aca7a3d2
MB
1515 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
1516 no font for the target.
15139d67 1517 (Finternal_char_font): Adjust for the change of RFONT-DEF.
aca7a3d2 1518
73acf815 15192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1520
1521 * font.c (font_load_for_face): Handle the case that the font in
1522 face->lface is a string.
1523
73acf815 15242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1525
1f45f627 1526 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
aca7a3d2 1527
73acf815 15282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1529
1530 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
1531 Fix previous change. If the frame is not on a window system,
1532 signal an error.
1533
73acf815 15342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1535
4c4475a8
GM
1536 * coding.c (decode_coding_object, encode_coding_object): Adjust
1537 marker positions after conversion.
aca7a3d2
MB
1538
1539 * lisp.h (struct Lisp_Marker): New member need_adjustment.
1540
73acf815 15412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1542
1543 * font.c (font_find_for_lface): Fix the handling of the return
1544 value of font_has_char.
1545 (Ffont_shape_text): Fix previous change.
1546
1547 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
1548 (fontset_ref_and_range): Delete it.
1549 (fontset_find_font): Call char_table_ref_and_range instead of
1550 FONTSET_REF_AND_RANGE.
1551 (make_fontset): Don't setup font groups of Latin here.
1552 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
1553 (new_fontset_from_font): Make the specified font the default for
1554 all Latin characters.
1555
73acf815 15562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1557
1558 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
1559 is on a window system before accessing the fontset of the frame.
1560
73acf815 15612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1562
1f45f627 1563 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
aca7a3d2
MB
1564
1565 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
1566 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
1567
1568 * font.c (Ffont_shape_text): If the font driver doesn't have a
1569 shaper function, make zero-width glyphs to have at least one-pixel
1570 width. Fix setting of `to' field of glyphs.
1571
73acf815 15722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1573
1574 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
1575 glyphs.
1576
1f45f627 1577 * font.h (struct font_driver): Improve docstring of member `shape'.
aca7a3d2 1578
73acf815 15792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1580
1581 * composite.c (syms_of_composite): Fix docstring of
1582 auto-composition-function.
1583
1584 * font.h (LGLYPH_SIZE): New macro.
1585
1586 * font.c (Ffont_fill_gstring): Stop filling when a character not
1587 supported by the font is found.
1588 (Ffont_shape_text): When a shape callback function returns nil,
1589 try at most two more times with larger gstring.
15139d67 1590 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
aca7a3d2
MB
1591
1592 * xdisp.c (handle_auto_composed_prop): Change the argument to
1593 auto-composition-function.
1594
1595 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
1596 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
1597 Lispy glyph and store it in the lgstring.
1598
1599 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
1600
1601 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
1602
73acf815 16032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1604
1605 * font.c (Ffont_shape_text): Avoid unnecessary composition.
1606
1607 * fontset.c (Vfont_encoding_charset_alist): New variable.
1608 (syms_of_fontset): DEFVAR it.
4c4475a8
GM
1609 (reorder_font_vector, fontset_find_font): Optimize for the case of
1610 no need of reordering.
aca7a3d2
MB
1611 (face_for_char): Map the charset property by
1612 Vfont_encoding_charset_alist.
1613
73acf815 16142008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1615
1616 * w32font.c (logfonts_match): Don't check adstyle here.
1617 (font_matches_spec): Check here against physical font instead.
1618 (add_font_entity_to_list): Avoid some substitutions.
1619
1620 * font.c (font_parse_fcname): Default weight and slant to normal.
1621 (font_score): Prefer normal fonts if weight or slant unspecified.
1622 (font_score) [WINDOWSNT]: Scale weight difference down to closer
1623 match freetype scores.
1624
73acf815 16252008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1626
1627 * w32font.c (w32font_text_extents): Don't use the frame stored in the
1628 font, as it may have been deleted.
1629 (w32_enumfont_pattern_entity): Map generic family to adstyle using
1630 most common hyphenless variation.
1631 (logfonts_match): Check generic family.
1632 (font_matches_spec): Don't check generic family here.
1633 (fill_in_logfont): Set generic family based on adstyle.
1634
1635 * w32font.h (w32font_get_cache): Update declaration.
1636
73acf815 16372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1638
1639 * ftfont.c (ftfont_get_cache): Adjust the argument type.
1640
15139d67
SM
1641 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
1642 If none of the new drivers are available, call font_update_drviers
aca7a3d2
MB
1643 with the old drivers.
1644
1645 * w32font.c (w32font_get_cache): Adjust the argument type.
1646
1647 * xfont.c (xfont_get_cache): Adjust the argument type.
1648
1649 * font.h (struct font_driver): Change argument type of get_cache.
1650
1651 * xftfont.c (xftfont_start_for_frame): Delete prototype.
1652
1653 * font.c (Ffont_get): Fix arguments to Fassoc.
15139d67 1654 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
aca7a3d2 1655 (font_clear_cache): New function.
4c4475a8 1656 (font_list_entities, font_matching_entity): Use font_get_cache.
15139d67 1657 (font_update_drivers): Call font_clear_cache when finishing a driver.
aca7a3d2
MB
1658
1659 * fontset.c (fontset_find_font): Fix previous change.
1660
73acf815 16612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1662
1663 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
1664 dpyinfo->font_table.
1665 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
15139d67 1666 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
aca7a3d2
MB
1667
1668 * font.c (font_at): Handle the case that the arg C is negative.
1669 Handle the unibyte case.
1670 (Ffont_at): Call font_at with the arg C -1.
1671
1672 * xdisp.c (handle_auto_composed_prop): Don't get a character at
15139d67
SM
1673 the position here, and call font_at with the arg C -1.
1674 Don't check the range of the existing composition at the point.
aca7a3d2 1675
73acf815 16762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1677
15139d67 1678 * fontset.c (fontset_add): New args charset_id and family.
1f45f627 1679 Change caller.
4c4475a8
GM
1680 (load_font_get_repertory, fontset_find_font): Assume that
1681 font_spec is always a font-spec object.
aca7a3d2
MB
1682 (Fset_fontset_font): Always store a font-spec object in a fontset.
1683
1684 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
1685 instead of get_property_and_range.
1686
73acf815 16872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1688
1689 * xftfont.c (struct xftfont_info): Delete the member ft_face.
1690 (xftfont_open): Don't keep locking face.
1691 (xftfont_close): Don't unlock face.
4c4475a8 1692 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
aca7a3d2
MB
1693
1694 * fontset.c (fontset_find_font): Don't prefer a font of
1695 supplementary charset.
1696
73acf815 16972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1698
1f45f627
GM
1699 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
1700 script, langsys_tag to langsys, new member script.
aca7a3d2
MB
1701 (OTF_TAG_STR): Terminate by '\0'.
1702 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
1703 listing to the script specified in that property. Fix arg to
1704 OTF_check_features.
1705
73acf815 17062008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1707
1708 * w32font.h: New file.
1709
1710 * w32font.c: Include it.
1711 (struct w32font_info): Add owning_frame field. Move to w32font.h.
1712 (w32font_open): Set owning_frame.
1713 (w32font_text_extents): Use owning_frame.
1714 (struct font_callback_data): Add opentype_only field.
1715 (add_font_entity_to_list): Use it to filter fonts.
1716 Don't check against full name.
1717 (w32font_list_internal): New function.
1718 (w32font_list): Use it.
1719 (w32font_match_internal): New function.
1720 (w32font_match): Use it.
1721 (w32font_open_internal): New function.
1722 (w32font_open): Use it.
1723 (w32font_get_cache, w32font_close, w32font_has_char)
1724 (w32font_encode_char, w32font_text_extents, w32font_draw):
1725 Make non-static.
1726
1727 * makefile.w32-in (w32font.o): Depend on w32font.h.
1728
73acf815 17292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1730
1731 * charset.c (Fdefine_charset_internal): Record a supplementary
1732 charset at the tail of Vcharset_order_list.
1733
1734 * font.c (Ffont_shape_text): Fix the return value.
1735
1736 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
1737
1738 * xdisp.c (handle_auto_composed_prop): Fix previous change.
1739
73acf815 17402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1741
1742 * ftfont.c (struct OpenTypeSpec): New struct.
1743 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
1744 (ftfont_get_open_type_spec): New function.
1745 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
1746
15139d67 1747 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
aca7a3d2 1748
73acf815 17492008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1750
1751 * w32font.c (add_font_entity_to_list): Compare only the beginning
1752 of full name.
1753
73acf815 17542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1755
15139d67
SM
1756 * xdisp.c (handle_auto_composed_prop): Simplify the code.
1757 Never return HANDLED_RECOMPUTE_PROPS.
aca7a3d2 1758
73acf815 17592008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1760
1761 * font.c (font_gstring_produce): Delete it.
1762
15139d67
SM
1763 * composite.h (COMPOSITION_METHOD):
1764 Handle COMPOSITION_WITH_GLYPH_STRING.
aca7a3d2 1765
73acf815 17662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1767
15139d67 1768 * xfont.c (Qx): Delete.
aca7a3d2
MB
1769 (syms_of_xfont): Don't initialize Qx.
1770
15139d67
SM
1771 * composite.h (enum composition_method):
1772 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
aca7a3d2 1773
73acf815 17742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1775
1776 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
1777 (choose_face_font): Accept new form of font-spec.
1778
1779 * frame.h (font_driver_list): Declare it unconditionally.
1780 (struct frame): Define members font_driver_list and font_data_list
1781 unconditionally.
1782
1783 * fontset.c: Include "font.h" unconditionally.
15139d67 1784 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
aca7a3d2
MB
1785 (Fset_fontset_font): Accept a font-spec object.
1786
1787 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
1788 PIXEL_SIZE part a wild card.
1789
1790 * dispextern.h (struct glyph_string): Define members clip and
1791 num_clips unconditionally.
1792 (struct face): Define members font_info and extra unconditionally.
1793
1794 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
1795 ftfont_info only when HAVE_LIBOTF is defined.
1796
73acf815 17972008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
1798
1799 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
1800 and end.
1801
73acf815 18022008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1803
1804 * w32font.c (w32font_driver): Add new fields.
1805
73acf815 18062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2 1807
aca7a3d2
MB
1808 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
1809 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
1810 (LIBES): Add @M17N_FLT_CFLAGS@.
1811
1812 * composite.c (compose_text): Don't treat the new style
1813 composition specially.
1814
1815 * emacs.c (main): Call syms_of_font unconditionally.
1816
1817 * font.h (FONT_ENTITY_NOT_LOADABLE)
1818 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
15139d67 1819 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
aca7a3d2 1820 (struct font_driver): New member shape.
1f45f627 1821 (font_registry_charsets): Extern it.
4c4475a8 1822 (font_find_for_lface, font_prepare_composition): Adjust prototype.
aca7a3d2
MB
1823 (font_otf_capability, font_drive_otf): Delete their externs.
1824
1825 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
4c4475a8
GM
1826 (font_charset_alist, font_registry_charsets): Move from xfont.c
1827 and rename.
aca7a3d2
MB
1828 (font_prop_validate_otf): New function.
1829 (font_property_table): Register it for QCotf.
1830 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
15139d67 1831 (font_drive_otf): Delete.
1f45f627 1832 (font_prepare_composition): New arg F. Adjust for the change of
aca7a3d2
MB
1833 lispy gstring.
1834 (font_find_for_lface): New arg C.
15139d67 1835 (font_load_for_face): Adjust for the change of font_find_for_lface.
4c4475a8
GM
1836 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
1837 lispy gstring.
aca7a3d2
MB
1838 (Ffont_shape_text): New function.
1839 (Fopen_font): If the font size is not given, use 12-pixel.
1840 (Ffont_at): New arg STRING.
15139d67
SM
1841 (syms_of_font): Initalize font_charset_alist.
1842 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
aca7a3d2
MB
1843 conditionally.
1844
1845 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
1846 fonts of the same font-spec. Change the format of RFONT-DEF.
4c4475a8
GM
1847 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
1848 Adjust for the change of RFONT-DEF.
15139d67 1849 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
aca7a3d2
MB
1850
1851 * ftfont.h: New file.
1852
1853 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
1854 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
1855 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
1856 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
1857 font_otf_capability and font_drive_otf, set ftfont_shape.
15139d67 1858 (ftfont_list): Adjust for the change of :otf property value.
aca7a3d2
MB
1859 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
1860 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
1861 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
1862 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.s
1863 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
1864 (otf_gstring, gstring, m17n_flt_initialized): New variables.
1865
15139d67
SM
1866 * w32term.c (x_draw_composite_glyph_string_foreground):
1867 Adjust for the change of lispy gstring.
aca7a3d2 1868
15139d67 1869 * xdisp.c (handle_composition_prop): Adjust for the change of
aca7a3d2 1870 lispy gstring. Call a function for auto-composition with the
15139d67
SM
1871 third arg it->window.
1872 (fill_composite_glyph_string): Adjust for the change of lispy string.
1873 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
aca7a3d2 1874
15139d67 1875 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
1876 font_find_for_lface.
1877
1f45f627
GM
1878 * xfont.c (x_font_charset_alist): Move to font.c and rename.
1879 (xfont_registry_charsets): Likewise. Change caller.
aca7a3d2
MB
1880 (syms_of_xfont): Don't handle x_font_charset_alist.
1881
1882 * xftfont.c: Include "ftfont.h".
15139d67 1883 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
aca7a3d2
MB
1884 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
1885 (xftfont_close) [HAVE_LIBOTF]: Close otf.
1886 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
15139d67
SM
1887 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
1888 Set xftfont_driver.shape to xftfont_shape.
aca7a3d2 1889
15139d67 1890 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
1891 the change of lispy gstring.
1892
73acf815 18932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1894
1895 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
1896
73acf815 18972008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1898
1899 * w32font.c (w32font_draw): Fill background manually.
1900
73acf815 19012008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1902
1903 * font.c (Qfontp): Remove unused symbol.
1904 (QCantialias): New symbol.
1905 (syms_of_font): Define it.
1906 (font_property_table): Set a validator for QCantialias.
1907
15139d67
SM
1908 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
1909 Define if not already.
aca7a3d2
MB
1910 (QCfamily): Share with xfaces.c.
1911 (Qstandard, Qsubpixel, Qnatural): New symbols.
1f45f627 1912 (syms_of_w32font): Define them. Don't define QCfamily here.
aca7a3d2
MB
1913 (w32_antialias_type, lispy_antialias_type): New functions.
1914 (w32_enumfont_pattern_entity): New arg requested_font.
1915 Set antialias parameter if non-default was requested.
1916 (fill_in_logfont): Fill in lfQuality if :antialias specified.
1917
73acf815 19182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1919
1920 * lread.c (read1): Undo the previous change.
1921
73acf815 19222008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
aca7a3d2
MB
1923
1924 * frame.c (Fdelete_frame): Call font_update_drivers only when
6f69e89b 1925 USE_FONT_BACKEND is defined.
aca7a3d2 1926
73acf815 19272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1928
1929 * font.h (struct font_bitmap): New member bits_per_pixel.
1930 (struct font_driver): New members start_for_frame and end_for_frame.
1931 (struct font_data_list): New struct.
1932 (font_put_frame_data, font_get_frame_data): Extern them.
1933
1934 * frame.h (struct frame): New member font_data_list.
1935
1936 * font.c (font_update_drivers): Call driver->start_for_frame and
1937 driver->end_for_frame at proper timings.
1938 (font_put_frame_data, font_get_frame_data): New functions.
1939 (Ffont_spec): Add usage in the docstring.
1940
1941 * frame.c (make_frame): Initialize f->font_data_list to NULL.
1942 (Fdelete_frame): Call font_update_drivers.
1943
1944 * xftfont.c (struct xftface_info): Delete the member xft_draw.
4c4475a8 1945 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
aca7a3d2
MB
1946 (xftfont_get_xft_draw): New function.
1947 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
1948 (xftfont_end_for_frame): New function.
1949 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
1950
15139d67 1951 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
1f45f627 1952 Change argument. Cache GCs in the per-frame data.
aca7a3d2
MB
1953 (struct ftxfont_frame_data): New struct.
1954 (ftxfont_draw_bitmap): New arg gc_fore and flush.
1955 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
15139d67 1956 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
aca7a3d2
MB
1957 (ftxfont_end_for_frame): New function.
1958 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
1959
1960 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
1961
73acf815 19622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
1963
1964 * xselect.c (Vselection_coding_system)
1965 (Vnext_selection_coding_system): Delete them.
1966 (syms_of_xselect): Don't declare selection-coding-system and
1967 next-selection-coding-system. They are declared in select.el.
1968
73acf815 19692008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
1970
1971 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
1972
1973 * w32fns.c: Include imm.h.
1974 (get_composition_string_fn, get_ime_context_fn): New optional
1975 system functions.
1976 (globals_of_w32fns): Load them from imm32.dll.
1977 (ignore_ime_char): New flag.
1978 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
1979 WM_IME_ENDCOMPOSITION messages.
1980
1981 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
1982 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
1983
73acf815 19842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1985
1986 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
1987 (READCHAR_REPORT_MULTIBYTE): New macro.
1988 (readchar): New 2nd arg MULTIBYTE.
15139d67
SM
1989 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
1990 Make symbol's name multibyte according to the multibyteness of the
aca7a3d2
MB
1991 source.
1992
73acf815 19932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
1994
1995 * xfaces.c (face_for_overlay_string): Call lookup_face with
1996 correct arguments (fix of synching with the trunk).
1997
73acf815 19982008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 1999
4c4475a8
GM
2000 * font.c (font_prop_validate_symbol, font_prop_validate_style)
2001 (font_prop_validate_non_neg, font_prop_validate_spacing):
2002 Delete argument prop_index.
15139d67
SM
2003 (font_property_table): Change arguments to validater. Change Callers.
2004 (font_lispy_object): Delete.
aca7a3d2
MB
2005 (font_at): Use font_find_object instead fo font_lispy_object.
2006
73acf815 20072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
aca7a3d2
MB
2008
2009 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
2010 and file names.
2011
73acf815 20122008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2013
2014 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
2015 (font_matches_spec): Remove debug output.
2016 (add_font_entity_to_list): Avoid using substituted fonts.
2017
73acf815 20182008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2019
2020 * doc.c (Fsnarf_documentation):
2021 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
2022
73acf815 20232008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 2024
290afd83 2025 * dispextern.h (struct glyph_row): Only define "clip" field if
aca7a3d2
MB
2026 HAVE_WINDOW_SYSTEM is defined.
2027
73acf815 20282008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
2029
2030 Fix up multi-tty merge.
2031
2032 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
2033 and indentation.
2034
2035 * xfaces.c (free_realized_face, clear_face_gcs):
2036 Include font_done_for_face in the input_blocked section, just in case.
2037
2038 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
2039 (get_char_face_and_encoding): Undo last change and remove the *other*
2040 duplicate definition (i.e. keep the one that's better scoped and that
2041 includes code for the font-backend).
2042
2043 * terminal.c (create_terminal): Default keyboard_coding to
2044 `no-conversion' and terminal_coding to `undecided'.
2045
2046 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
2047
2048 * fontset.c (free_realized_fontsets): Check that the table entry does
2049 contain a fontset before trying to compare it to `base'.
2050
2051 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
2052 syms_of_charset, and syms_of_coding earlier because init_window_once
2053 now needs Vcoding_system_hash_table to be setup.
2054
2055 * coding.h (default_buffer_file_coding): Remove.
2056
2057 * coding.c (default_buffer_file_coding): Remove.
2058 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
2059 than ->symbol, and use the terminal-local coding system.
2060 (syms_of_coding): Don't setup the coding-systems that are not
2061 terminal-local.
2062 (Fdefine_coding_system_internal): Use XCAR/XCDR.
2063
2064 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
2065 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
2066
2067 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
2068 in chartab.c and were re-added here by mistake.
2069 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
2070
2071 * doc.c (Fsnarf_documentation):
2072 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
2073 src to etc.
2074
2075 * ChangeLog.10: Add mistakenly removed entry.
2076
73acf815 20772008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
aca7a3d2
MB
2078
2079 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
2080
73acf815 20812008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2082
2083 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
2084 Add extra args to FACE_FOR_CHAR.
2085
73acf815 20862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2087
2088 * keymap.c (where_is_internal_1): If key is a cons, store the copy
2089 in sequence.
2090
4c4475a8
GM
2091 * chartab.c (map_sub_char_table, map_char_table): If the range
2092 contains just one character, call the function with that character
2093 even if the depth is not 3.
aca7a3d2 2094
73acf815 20952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2096
2097 * w32font.c (w32font_text_extents): Calculate metrics for the
2098 whole string.
2099
73acf815 21002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2101
2102 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
2103
73acf815 21042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2105
2106 * w32term.c (x_set_glyph_string_clipping): Use
2107 get_glyph_string_clip_rects.
4c4475a8
GM
2108 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
2109 Adjust for the change of struct glyph_string.
aca7a3d2
MB
2110
2111 * w32font.c (w32font_draw): Do clipping here.
2112
73acf815 21132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2114
1f45f627 2115 * xftfont.c (xftfont_draw): Adjust for the change of struct
aca7a3d2
MB
2116 glyph_string.
2117
2118 * xterm.c (x_set_glyph_string_clipping): Use
2119 get_glyph_string_clip_rects.
4c4475a8
GM
2120 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
2121 Adjust for the change of struct glyph_string.
aca7a3d2
MB
2122
2123 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
2124 the resulting clip(s}.
1f45f627 2125 (expose_overlaps): Add arg r. Change callers. Set it to
aca7a3d2
MB
2126 row->clip temporarily.
2127 (expose_window): Redraw rows overlapping the exposed area.
2128
2129 * dispextern.h (struct glyph_row): New member clip.
2130 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
2131 clip_height, new member clip, and num_clips.
2132
73acf815 21332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2134
2135 * data.c (Fchar_or_string_p): Fix docstring.
2136
73acf815 21372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2138
2139 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
2140 create a temporal XftDraw object.
2141
73acf815 21422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2143
2144 * font.c (Ffontp): Fix docstring.
2145
2146 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
2147 strong evidence of ISO-2022.
2148
73acf815 21492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2150
2151 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
2152 SYNTAX_ENTRY_FOLLOW_PARENT.
2153
73acf815 21542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
aca7a3d2
MB
2155
2156 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
2157 its type.
2158 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
2159 Update to the new type of weak_hash_tables and next_weak.
2160
2161 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
2162 a plain C pointer to Lisp_Hash_Table.
2163
2164 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
2165 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
2166 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
2167 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
2168 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
2169 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
2170 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
2171 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
2172 (GC_EQ): Remove since they've been identical to their non-GC_
2173 alter-egos ever since the markbit was eradicated.
2174
290afd83
JB
2175 * alloc.c:
2176 * buffer.c:
2177 * buffer.h:
2178 * data.c:
2179 * fileio.c:
2180 * filelock.c:
2181 * fns.c:
2182 * frame.h:
2183 * lisp.h:
2184 * macterm.c:
2185 * print.c:
2186 * process.c:
2187 * w32fns.c:
2188 * w32menu.c:
2189 * w32term.c:
2190 * xfns.c:
2191 * xmenu.c:
2192 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
aca7a3d2 2193
73acf815 21942008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2195
2196 * chartab.c (map_sub_char_table): Make it work for the top-level
2197 char-table. Fix handling of parent char-table.
c5ad7a3d 2198 (map_char_table): Adjust for the above change.
aca7a3d2 2199
73acf815 22002008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2201
2202 * w32font.c (Qgdi): Rename from Qw32.
2203
73acf815 22042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2205
2206 * w32bdf.c (get_quoted_string): Make function static.
2207
73acf815 22082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2209
2210 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
2211 bigger ascent and descent than those of the font, use them as
2212 font's ascent and descent.
2213
73acf815 22142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2215
2216 * Makefile.in (${lispsource}international/charprop.el): Move this
2217 target within "#ifdef HAVE_UNIDATA" and "#endif".
2218
73acf815 22192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2220
2221 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
2222 (shortlisp): Add ../lisp/language/tai-viet.el.
2223
1f45f627 22242008-02-01 Ulrich Mueller <ulm@gentoo.org>
aca7a3d2
MB
2225
2226 * Makefile.in (${lispsource}international/charprop.el): Depend on
2227 temacs${EXEEXT}.
2228
73acf815 22292008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2230
2231 * w32font.c (w32font_close): Delete the GDI font object.
2232
6f69e89b 2233 * w32menu.c: Include character.h.
aca7a3d2
MB
2234
2235 * w32proc.c: Likewise.
2236
2237 * w32select.c: Likewise.
2238
6f69e89b 2239 * makefile.w32-in (w32proc.o): Depend on character.h.
aca7a3d2 2240
73acf815 22412008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2242
2243 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
2244
2245 * w32menu.c (syms_of_w32menu): Likewise.
2246
2247 * w32proc.c (syms_of_ntproc): Likewise.
2248
2249 * w32select.c (syms_of_w32select): Likewise.
2250
2251 * w32term.c (syms_of_w32term): Likewise.
2252
73acf815 22532008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2254
2255 * w32font.c (w32font_draw): Delete brush after using it.
2256
73acf815 22572008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2258
2259 * w32font.c (w32font_open): Don't set font_idx.
2260 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
2261 to font settings.
2262 (w32font_draw): Fill background explicitly.
2263
73acf815 22642008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2265
2266 * w32term.c (w32_initialize): Don't call w32font_initialize.
2267
2268 * w32font.c (w32font_info): Remove subranges.
2269 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
2270 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
2271 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
2272 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
2273 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
2274 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
2275 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
2276 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
2277 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
2278 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
2279 New symbols.
2280 (font_callback_data): New struct.
2281 (w32font_list, w32font_match): Use it.
2282 (w32font_open): Don't populate subranges.
2283 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
2284 (w32font_encode_char): Always return unicode code-point as-is.
2285 (w32font_text_extents): Supply a tranformation matrix to
1f45f627
GM
2286 GetGlyphOutline. Never look up by glyph index. Avoid looping
2287 twice. Use unicode version of GetTexExtentPoint32 instead of
aca7a3d2
MB
2288 glyph index version.
2289 (set_fonts_frame): Remove
2290 (w32_enumfont_pattern_entity): Add frame parameter, use it to
1f45f627
GM
2291 set frame parameter. Use backward compatible fake foundries.
2292 Save generic family in extra slot under QCfamily. Make width slot
2293 constant. Save QCspacing value. Save list of scripts instead of
aca7a3d2
MB
2294 binary subranges.
2295 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
1f45f627 2296 (add_font_entity_to_list): Use font_callback_data struct. Filter
aca7a3d2
MB
2297 unwanted fonts.
2298 (add_one_font_entity_to_list): Use font_callback_data struct.
1f45f627
GM
2299 (w32_registry): Default to iso10646_1.
2300 (fill_in_logfont): Use dpi from extra slot. Don't bother with
2301 string font registries. Don't fill in font name if it is a generic
2302 family name, fill family instead. Use spacing, family and script
aca7a3d2
MB
2303 extra info to fill pitch, family and charset fields.
2304 (list_all_matching_fonts): Use font_callback_data struct.
2305 (unicode_range_for_char): Remove.
2306 (font_supported_scripts): New function.
2307 (w32font_initialize): Remove.
2308 (syms_of_w32font): Update which symbols are defined.
2309
73acf815 23102008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2311
2312 * font.c (font_pixel_size): Reverse assq_no_quit args.
2313
2314 * w32term.h (FONT_WIDTH): Report max width, not average.
2315 (FONT_MAX_WIDTH): Remove.
2316 (FONT_AVG_WIDTH): New macro.
2317
2318 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
2319 redefinition of FONT_WIDTH.
2320
2321 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
2322 (w32_cache_char_metrics): Use FONT_WIDTH.
2323
2324 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
2325
73acf815 23262008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2327
2328 * w32font.c (w32font_open): Make lfHeight negative.
2329
2330 * w32fns.c (x_default_font_parameter): Use new style font name.
2331 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
2332
73acf815 23332008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2334
2335 * w32font.c (QCsubranges): New symbol.
2336 (w32font_open, w32font_has_char): Get subranges from subproperty
2337 of extra.
2338 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
2339 (syms_of_w32font): Define :subranges symbol.
2340
2341 * font.c (font_put_extra): Expose externally.
2342
1f45f627 2343 * font.h (font_put_extra): Move declaration from font.c.
aca7a3d2
MB
2344
2345 * font.c (Ffont_get): Use font driver to determine otf capability.
2346 (adjust_anchor): Check if driver defines anchor_point before using.
2347
2348 * w32font.c (w32font_open): Handle size, height and pixel_size better.
2349 (w32font_draw): Use options.
2350 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
2351 Fix detection of truetype fonts.
2352 (registry_to_w32_charset): Handle charsets other than iso8859-1
2353 expressed as lisp symbols.
2354 (w32_registry): Express charset as lisp symbol.
2355 (fill_in_logfont): Reverse pixel and point height logic.
1f45f627 2356 Don't set width here. Set quality to default.
aca7a3d2
MB
2357
2358 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
2359 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
2360
2361 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
2362 Remove redundant loop and allocation.
2363
2364 * makefile.w32-in (font.o, w32font.o): New objects.
6f69e89b 2365 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
aca7a3d2
MB
2366 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
2367
2368 * xdisp.c (fill_composite_glyph_string): Make the first arg to
2369 STORE_XCHARB a valid l-value.
2370
2371 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
2372 calculations for non-Truetype fonts.
2373 (x_draw_glyph_string): Sync with xterm.c.
2374 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: Remove
2375 redundant code.
2376 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
2377
2378 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
2379 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
2380
2381 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
2382 (x_to_w32_charset, w32_to_x_charset): Expose externally.
2383
2384 * w32font.c: New file for w32 font backend.
2385
73acf815 23862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2387
2388 * term.c: Don't include "buffer.h" twice.
2389
73acf815 23902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2391
2392 * character.c (Funibyte_string): New function.
2393 (syms_of_character): Defsubr it.
2394
73acf815 23952008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
2396
2397 * w32term.c [USE_FONT_BACKEND]:
2398 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc):
2399 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly):
2400 (x_draw_glyph_string, x_draw_glyph_string_foreground):
2401 (x_draw_composite_glyph_string_foreground, x_new_fontset2):
2402 (x_free_frame_resources): Sync with xterm.c.
2403
73acf815 24042008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
2405
2406 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
2407 char-table size.
2408
73acf815 24092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2410
2411 * font.c (check_otf_features): Define it regardless of
2412 HAVE_LIBOTF.
2413
73acf815 24142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2415
2416 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
2417 font_otf_gpos, add font_drive_otf.
2418
2419 * fontset.c (fontset_find_font): Pay attention to font size
2420 specified for a font.
2421 (reorder_font_vector): Check contents of font_def.
2422
2423 * font.c (struct otf_list): Delete it.
6f69e89b 2424 (otf_list): Make it a lisp variable.
aca7a3d2 2425 (otf_open): Use lispy otf_list.
1f45f627 2426 (generate_otf_features): Rename from parse_gsub_gpos_spec.
aca7a3d2
MB
2427 (check_otf_features): New function.
2428 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor): New
2429 functinos.
2430 (font_drive_otf): New function merging font_otf_gsub and
2431 font_otf_gpos.
2432 (font_open_for_lface): New arg spec. Change argument order.
1f45f627 2433 (font_load_for_face): Adjust for the change of font_open_for_lface.
aca7a3d2
MB
2434 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
2435 Ffont_otf_gpos.
2436 (syms_of_font): Staticpro otf_list. Delete defsubr of
2437 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
2438
1f45f627 2439 * xfaces.c (set_font_frame_param): Adjust for the change of
aca7a3d2
MB
2440 font_open_for_lface.
2441
2442 * font.h (font_open_for_lface): Adjust prototype.
2443 (struct font_driver): Delete members otf_gsub and otf_gpos, add
2444 member otf_drive.
2445 (font_otf_gsub, font_otf_gpos): Delete externs.
2446 (font_drive_otf): Extern it.
2447
73acf815 24482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2449
2450 * font.c (font_at): If the window W is not on a window system,
2451 return Qnil.
2452
4c4475a8
GM
2453 * coding.c (produce_chars, encode_coding): Don't call
2454 insert_from_gap if no characters to produce.
aca7a3d2 2455
73acf815 24562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2457
2458 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
2459 Fclear_face_cache.
2460
2461 * xfaces.c (face_for_font): Check also face->font==font->font.font.
2462
73acf815 24632008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2464
2465 * emacs.c (main): Change default value of `enable_font_backend' to 1.
2466 Parse "--disable-font-backend" option.
2467 (standard_args): Add "--disable-font-backend" option.
2468
73acf815 24692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2470
2471 * fontset.c (fontset_find_font): New function.
2472 (fontset_font): Use fontset_find_font.
2473 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
2474 Register the specified font for all Latin characters.
2475 (new_fontset_from_font): Register the specified font for all Latin
2476 characters.
2477 (dump_fontset): For a realized fontset, include the base fontset
2478 name in the returned vector.
2479
73acf815 24802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2481
2482 * character.h (CHAR_STRING): Cast C to unsigned on calling
2483 char_string.
2484
2485 * character.c (char_string): Type of arg C changed to unsigned.
2486 Signal an error if C is an invalid character code.
2487
4c4475a8
GM
2488 * editfns.c (general_insert_function, Fchar_to_string):
2489 Use CHARACTERP, not INTEGERP.
aca7a3d2 2490
73acf815 24912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2492
2493 * character.h (MIN_MULTIBYTE_LEADING_CODE)
2494 (MAX_MULTIBYTE_LEADING_CODE): New macros.
2495
2496 * regex.c (analyse_first): Fix for multibyte characters in "case
2497 charset:" and "case categoryspec:".
2498
73acf815 24992008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
2500
2501 * Makefile.in (LIBES): Move standard libraries to the end.
2502
73acf815 25032008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2504
2505 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
2506 nonzero, don't shrink the buffer nextb.
2507
2508 * buffer.h (struct buffer_text): New member inhibit_shrinking.
2509
2510 * coding.c (coding_alloc_by_making_gap): New arg offset.
2511 (alloc_destination): Call coding_alloc_by_making_gap with the arg
2512 offset.
2513 (decode_coding_iso_2022): Update coding->safe_charsets.
2514 (decode_coding_gap): Temporarily set
2515 current_buffer->text->inhibit_shrinking to 1.
2516
73acf815 25172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2518
2519 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
2520 indexing into elements of s->cmp and s->char2b.
2521
73acf815 25222008-02-01 Juanma Barranquero <lekktu@gmail.com>
aca7a3d2
MB
2523
2524 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
2525
73acf815 25262008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2527
2528 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
2529 target_multibyte instead of multibyte.
2530 (re_match_2_internal): Call bcmp_translate with target_multibyte.
2531 (bcmp_translate): Change the argument name from multibyte to
2532 target_multibyte.
2533
73acf815 25342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2535
2536 These changes are to compile a regexp into a pattern that can be
2537 used both for multibyte and unibyte targets.
2538
2539 * Makefile.in (search.o): Depend on charset.h.
2540
2541 * character.c (multibyte_char_to_unibyte_safe): New function.
2542
2543 * search.c: Include "charset.h".
2544 (compile_pattern_1): Delete argument multibyte. Don't set
2545 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
2546 (compile_pattern): Don't compare cp->buf.target_multibyte.
2547 Compare cp->buf.charset_unibyte.
2548 (compile_pattern): Set cp->buf.target_multibyte.
2549
2550 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
2551
2552 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
2553
2554 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
1f45f627 2555 multibyte. Change callers.
aca7a3d2 2556 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
1f45f627
GM
2557 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
2558 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
aca7a3d2
MB
2559 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
2560 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
2561 (regex_compile): Make the compiled pattern usable both for
2562 multibyte and unibyte targets.
2563 (analyse_first): Make the fastmap usable both for multibyte and
2564 unibyte targets.
1f45f627 2565 (TRANSLATE_VIA_MULTIBYTE): Delete.
aca7a3d2
MB
2566 (re_match_2_internal): Pay attention to the case that the
2567 multibyteness of bufp and target may be different.
2568
73acf815 25692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2570
2571 * xdisp.c (x_produce_glyphs): When a font is not found, make the
2572 empty box occupy at least one column width.
2573
73acf815 25742008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2575
2576 * Makefile.in: Remove redundant HAVE_XFT clause.
2577
73acf815 25782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2579
2580 * xrdb.c (x_load_resources): Setup the default fontSet X reource.
2581
73acf815 25822008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2583
2584 * fontset.c (Finternal_char_font): Fix for the case of POSITION
2585 being nil.
2586
73acf815 25872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2588
2589 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
2590
73acf815 25912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2592
2593 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
2594
73acf815 25952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2596
2597 * search.c (simple_search): Fix previous change.
2598
73acf815 25992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2600
2601 * xftfont.c (ftfont_font_format): Extern declaration.
2602
2603 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
2604
2605 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
2606 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
2607
2608 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
2609 (ftfont_font_format): Fix previous change.
2610
2611 * font.h (Ffont_xlfd_name): EXFUN it.
2612
2613 * font.c (font_parse_xlfd): Fix the array size of `f'.
2614 (register_font_driver): Use EQ to compare driver->type.
2615
2616 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
2617 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
2618 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
2619
73acf815 26202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2621
4c4475a8
GM
2622 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
2623 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
aca7a3d2 2624
73acf815 26252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2626
2627 * xfont.c (xfont_open): Set font->format.
2628
2629 * xftfont.c (xftfont_open): Set font->format.
2630
2631 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
2632 (ftfont_list): Include FC_FONTFORMAT in FcObject.
2633 (ftfont_open): Set font->format.
2634 (ftfont_font_format): New function.
2635
2636 * font.h (struct font): New memeber format.
2637
2638 * font.c (Qopentype): New variable.
2639 (syms_of_font): Defsym it.
2640 (Fquery_font): Change the format of the last element of the return
2641 value.
2642
73acf815 26432008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2644
2645 * xfns.c (xic_create_xfontset): Try the default fontset name as a
2646 last resort.
2647
73acf815 26482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2649
2650 * coding.c (detect_coding_charset): Fix detection of multi-byte
2651 charset.
2652
73acf815 26532008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
aca7a3d2
MB
2654
2655 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
2656
73acf815 26572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2658
2659 * xdisp.c (get_next_display_element): Set it->face_id for the
2660 first component of a composition.
1f45f627 2661 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 2662
73acf815 26632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2664
2665 (get_next_display_element): Set it->face_id for the
2666 first component of a composition.
1f45f627 2667 (x_produce_glyphs): Check if the font is changed or not for composition.
aca7a3d2 2668
73acf815 26692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2670
2671 * fontset.c (Qlatin): New variable.
2672 (syms_of_fontset): Define it as a lisp symbol.
1f45f627 2673 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
aca7a3d2 2674
73acf815 26752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2676
2677 * font.c (font_unparse_fcname): Pay attention to the case that
2678 some of font property is a null string.
2679
73acf815 26802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2681
2682 * term.c: Include "composite.h".
2683 (encode_terminal_code): Output all components of composition.
2684 Check the size of encode_terminal_src.
424c157f 2685 (produce_glyphs): For composition, call produce_composite_glyph.
aca7a3d2
MB
2686 (append_composite_glyph, produce_composite_glyph): New functions.
2687
2688 * xdisp.c (x_produce_glyphs): In handling composition, if a font
2689 is not found, get font_info from the current ascii face.
2690
73acf815 26912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2692
2693 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
2694 buffer-file-name to Qnil before calling insert_from_buffer.
2695
2696 * font.c (font_unparse_fcname): Pay attention to the case that
2697 foundry is a null string.
2698
73acf815 26992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2700
2701 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
2702
2703 * font.c (Qunicode_sip): New variable.
2704 (syms_of_font): Declare it as a Lisp symbol.
2705
2706 * font.h (Qunicode_sip): Extern it.
2707
73acf815 27082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2709
1f45f627 2710 * composite.c (get_composition_id): Pay attention to TAB component.
aca7a3d2
MB
2711
2712 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
1f45f627 2713 TAB. Adjust for the change of s->char2b which always points to
aca7a3d2
MB
2714 the first elememnt of allocated memory.
2715
1f45f627 2716 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
aca7a3d2
MB
2717
2718 * xdisp.c (handle_composition_prop): Set it->c to the first
2719 non-TAB component.
1f45f627
GM
2720 (fill_composite_glyph_string): Change argument.
2721 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
aca7a3d2
MB
2722 (x_produce_glyphs): Fix handling of left/right padding.
2723
73acf815 27242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2725
2726 * coding.c (detect_coding_system): Fix for handling off
2727 inhibit_iso_escape_detection. Fix for the case that no coding
2728 system is defined for a specific coding category.
2729
73acf815 27302008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2731
1f45f627 2732 * font.c (font_matching_entity): Delete unused local var.
aca7a3d2
MB
2733
2734 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
2735 opening a font.
2736
2737 * fileio.c (Finsert_file_contents): On recovering a file, assume
2738 Unix-like eol.
2739 (choose_write_coding_system): On auto-saving a file, force
2740 Unix-like eol.
2741
2742 * coding.c (setup_coding_system): Fix setting of
2743 coding->common_flags based on eol_type.
2744 (coding_inherit_eol_type): If PARENT is not nil, be sure to
2745 inherit from it.
2746
73acf815 27472008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2748
1f45f627 2749 * alloc.c (NSTATICS): Increas to 0x600.
aca7a3d2 2750
73acf815 27512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 2752
1f45f627 2753 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
aca7a3d2
MB
2754 (ftfont_list): Don't check :name property.
2755 (ftfont_match): New function.
2756 (ftfont_pattern_entity): If the pattern doesn't contain
2757 FC_SPACING, don't assuce FC_MONO.
2758
2759 * font.h (struct font_driver): New member `match'.
1f45f627 2760 (font_update_drivers): Adjust prototype.
aca7a3d2 2761
4c4475a8
GM
2762 * font.c (font_parse_fcname, font_parse_name): Don't change :name
2763 property of FONT.
aca7a3d2
MB
2764 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
2765 them unconditionally.
2766 (font_matching_entity): New function.
2767 (font_open_by_name): Try font_matching_entity if exact match is
2768 not found.
2769 (font_update_drivers): Delete the arg FONT. Return a list of
2770 actually used backends. Don't free faces, font caches here.
2771 Don't store data in frame parameters. Don't call x_set_font.
2772 (Ffont_spec): Store :name property as is.
2773 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
1f45f627
GM
2774 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
2775 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
aca7a3d2
MB
2776 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
2777 Call font->driver->otf_gsub instead of font_otf_gsub.
2778
2779 * frame.c (x_set_font_backend): Do more works that were done in
2780 font_update_drivers before.
2781
2782 * xfont.c (xfont_match): New function.
2783 (xfont_driver): Set xfont_driver.match to xfont_match.
2784 (xfont_draw): Set font in GC if necessary.
2785
2786 * ftxfont.c (ftxfont_match): New function.
2787 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
2788
2789 * xftfont.c (xftfont_match): New function.
2790 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
2791
73acf815 27922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2793
2794 * font.h (struct font): New member scalable.
2795 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
1f45f627 2796 (font_otf_gsub): Adjust prototype.
aca7a3d2 2797
1f45f627
GM
2798 * font.c (font_otf_capability): Fix handling of the default langsys.
2799 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
aca7a3d2
MB
2800 Check the contents of SPEC.
2801 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
2802 (check_gstring): New function.
2803 (REPLACEMENT_CHARACTER): New macro.
2804 (font_otf_gsub): New arg alternate_subst. Be sure to set all
2805 glyph codes of GSTRING.
2806 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
2807 (font_prepare_composition): Set cmp->glyph_len.
2808 (font_open_entity): Set font->scalable.
2809 (Ffont_get): Handle :otf property.
2810 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
2811 functions.
2812 (Fquery_font): Use font->font.full_name.
2813 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
2814 Sfont_otf_alternates.
2815
2816 * ftfont.c (ftfont_open): Set font->font.full_name and
2817 font->font.name properly. Fix calculation of font->font.height
2818 and font->min_width.
2819
2820 * ftxfont.c (ftxfont_create_gcs): New function.
2821 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
2822 (ftxfont_draw_backgrond): Fix filling region.
2823 (ftxfont_default_fid): New function.
2824 (ftxfont_open): Set xfotn->fid to the return value of
2825 ftxfont_default_fid.
2826 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
2827 (ftxfont_done_face): Free only GCs that are created by
2828 ftxfont_create_gcs.
2829 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
2830
2831 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
2832 Clip to src->width, etc (not src->clip_XXX).
2833
2834 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
2835 FontBackend frame parameter.
2836
73acf815 28372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2838
2839 * font.h (struct font_driver_list): New member `on'.
2840 (Fclear_font_cache): EXFUN it.
2841 (font_update_drivers): Extern it.
2842
2843 * font.c (font_unparse_fcname): Fix typo (swidth->width).
2844 (font_list_entities): Check driver_list->on.
2845 (register_font_driver): Initalize `on' member to 0.
2846 (font_update_drivers): New function.
2847 (Fclear_font_cache): Check driver_list->on.
2848
2849 * frame.h (Qfont_backend): Extern it.
2850 (x_set_font_backend): Extern it.
2851
2852 * frame.c (Qfont_backend): New variable.
2853 (frame_parms): New element for font-backend.
2854 (x_set_font_backend): New function.
2855
2856 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
2857 FontBackend frame parameter.
2858 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
2859 x_set_font_backend.
2860
2861 * xfont.c (xfont_list): Don't try listing by :name property if the
2862 name is not for XLFD.
2863
73acf815 28642008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2865
2866 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
2867 (LGLYPH_SET_TO): New macros.
2868 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
2869 element of G is vector or not.
2870 (font_at): Extern it.
2871
2872 * font.c: Include window.h.
2873 (font_lispy_object): New function.
2874 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
2875 end of valid glyph.
2876 (font_close_object): Fix getting (struct font *).
2877 (font_at): New function.
2878 (Ffont_get): If FONT is a font-object, get entity from it.
2879 (Ffont_make_gstring): Initialize elements of glyphs with nil.
2880 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
2881 range check.
2882 (Ffont_at): New function.
2883 (syms_of_font): Defsubr Sfont_at.
2884
2885 * xdisp.c (it_props): Move the entry for Qauto_composed to just
424c157f 2886 before the entry for Qcomposition.
1f45f627 2887 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
aca7a3d2
MB
2888 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
2889 the font in gstring.
2890 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
2891 LGLYPH_FORM (g) to detect the end of valid glyph.
2892 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
2893 we are composing with gstring.
2894
2895 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
2896 Check if adjustment is vector or not.
2897
2898 * Makefile.in (font.o): Make it depends on window.h.
2899
73acf815 29002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2901
2902 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
2903 adjustment is vector or not.
2904
73acf815 29052008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
2906
2907 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
2908
73acf815 29092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2910
2911 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
2912 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
2913 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
2914
1f45f627 2915 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
aca7a3d2 2916 (DEVICE_DELTA): Fix typo.
4c4475a8
GM
2917 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
2918 LGLYPH format.
aca7a3d2 2919
1f45f627 2920 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aca7a3d2
MB
2921 the change of LGLYPH format.
2922
73acf815 29232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2924
2925 * ftfont.c (ftfont_list): Fix typo.
1f45f627 2926 (ftfont_build_basic_charsets): Don't include letters with diacritics.
aca7a3d2 2927
880820fe 29282008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
2929
2930 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
2931
2932 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
2933 xftface_info is non-NULL.
2934
880820fe 29352008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2 2936
1f45f627 2937 * ftfont.c (ftfont_list): Move misplaced #endif.
aca7a3d2 2938
73acf815 29392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2940
2941 * ftfont.c (ftfont_list): Pay attention to the case that
2942 FC_CAPABILITY is not defined.
2943
73acf815 29442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2945
2946 * xftfont.c (xftfont_open): Set charset related members to -1.
2947
1f45f627
GM
2948 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
2949 QCname.
aca7a3d2
MB
2950 (ftfont_open): Set charset related members to -1.
2951
2952 * fontset.c (Votf_script_alist): New variable.
2953 (syms_of_fontset): Initialize it.
2954 (fontset_font): Delete unused variable.
2955
2956 * fontset.h (Votf_script_alist): Extern it.
2957
1f45f627 2958 * font.c (font_find_for_lface): Optimize code.
aca7a3d2
MB
2959
2960 * font.h (font_close_object, font_merge_old_spec): Extern them.
2961
73acf815 29622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
2963
2964 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
2965 (syms_of_font): Initialize them.
2966 (font_pixel_size): Allow float value in dpi.
1f45f627
GM
2967 (font_prop_validate_type): Delete.
2968 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
2969 Change caller.
2970 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
2971 (font_prop_validate_extra): Delete.
aca7a3d2
MB
2972 (font_prop_validate_spacing): New function.
2973 (font_property_table): Add elements for all known properties.
1f45f627
GM
2974 (get_font_prop_index): Rename from check_font_prop_name. New
2975 argument FROM. Change caller.
aca7a3d2 2976 (font_prop_validate): Validate all known properties.
1f45f627 2977 (font_put_extra): Delete argument force. Change caller.
aca7a3d2
MB
2978 (font_expand_wildcards): Make it static. Fix the way of shrinking
2979 the possible range.
1f45f627 2980 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
aca7a3d2 2981 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
1f45f627 2982 Change caller.
aca7a3d2 2983 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
1f45f627
GM
2984 (font_parse_fcname): Delete argument merge. Fix parsing of point
2985 size. Don't validate properties values here. Change caller.
2986 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
aca7a3d2
MB
2987 (font_open_by_name): Delete unused variable.
2988 (Ffont_spec): Likewise. Validate property values.
2989 (Ffont_match_p): New function.
2990
2991 * font.h (QCscalable): Extern it.
1f45f627 2992 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
aca7a3d2 2993
1f45f627 2994 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
aca7a3d2 2995
1f45f627 2996 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
aca7a3d2
MB
2997 (xfont_list_pattern): New function.
2998 (xfont_list): Use xfont_list_pattern.
2999
73acf815 30002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3001
3002 * font.h (Flist_fonts): EXFUN it.
3003
73acf815 30042008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3005
3006 * w32term.c (w32_initialize): Add back smoothing_type and
3007 smoothing_enabled definitions.
3008
73acf815 30092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3010
3011 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
3012 s->face->font on determining underline position.
3013
73acf815 30142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3015
3016 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
3017 (font_has_char): Accept font-object too.
3018 (font_find_for_lface): Try at first with a size specified in face.
3019
73acf815 30202008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3021
3022 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
3023 font_open_by_name.
3024
73acf815 30252008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3026
3027 * font.h (QCspacing, QCdpi): Extern them.
3028 (enum font_spacing): New enum.
3029 (FONT_PIXEL_SIZE_QUANTUM): New macro.
3030
3031 * font.c (POINT_TO_PIXEL): Don't divice POINT by 10.
3032 (QCspacing, QCdpi): New variables.
3033 (syms_of_font): Initialize them.
3034 (font_pixel_size): New function.
3035 (font_put_extra): New function.
3036 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
3037 in FONT_EXTRA.
3038 (font_parse_fcname): Handle enumenrated values (e.g. bold). Fix
3039 handling font size. Add QCname property that contains only
3040 unknown properties.
1f45f627 3041 (font_score): Change argument. Change caller. Pay attention to
aca7a3d2 3042 FONT_PIXEL_SIZE_QUANTUM.
4c4475a8
GM
3043 (font_sort_entites, font_list_entities, font_find_for_lface)
3044 (font_open_for_lface, font_open_by_name): Fix handling of font size.
1f45f627 3045 (Ffont_spec): Add QCname property that contains only unknown properties.
aca7a3d2
MB
3046
3047 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
3048 include weight in listing pattern, instead check weight of each
3049 listed font. Don't include scalable in pattern. Pay attention to
3050 FONT_PIXEL_SIZE_QUANTUM.
3051
73acf815 30522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3053
aca7a3d2 3054 * font.c (font_parse_fcname): Fix parsing of point-size.
1f45f627 3055 (font_unparse_fcname): Produce symbolic names for style properties.
aca7a3d2
MB
3056 (font_list_entities): Handle float size correctly.
3057 (font_open_by_name): Prefer `normal' property values if the name
3058 doesn't specify them.
3059
3060 * fontset.c (Finternal_char_font): Use font_get_name, not
3061 Ffont_xlfd_name.
3062
3063 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
3064 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
3065 pattern. Don't force scalable.
3066
3067 * xftfont.c (xftfont_open): For generating a name, start from
3068 96-byte buffer.
3069
880820fe 30702008-02-01 Jan Djärv <jan.h.d@swipnet.se>
aca7a3d2
MB
3071
3072 * frame.h (x_new_fontset2): Fix prototype.
3073
73acf815 30742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3075
1f45f627 3076 * font.h (struct font_driver): Delete member parse_name.
aca7a3d2
MB
3077 (font_match_p, font_get_spec, font_parse_fcname)
3078 (font_unparse_fcname): Extern them.
1f45f627 3079 (font_get_name): Adjust prototype.
aca7a3d2
MB
3080
3081 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
3082 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
3083 (font_expand_wildcards): Fix handling ENCODING field. Avoid
3084 unnecessary checks for weight, slant, and swidth.
3085 (font_parse_fcname): New function.
3086 (font_unparse_fcname): New function.
3087 (font_parse_name): New function.
3088 (font_match_p): New function.
1f45f627 3089 (font_get_name): Change return value to Lisp string.
aca7a3d2
MB
3090 (font_get_spec): New function.
3091 (Qunspecified, Qignore_defface): Don't extern them.
3092 (font_find_for_lface): Assume that LFACE is fully specified.
3093 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
3094 object, use it for FACE.
3095 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
3096 driver->parse_name.
3097 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
3098
1f45f627
GM
3099 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
3100 prototype.
aca7a3d2 3101
1f45f627
GM
3102 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
3103 argument F. Don't call Fnew_fontset. Instead, directly call
aca7a3d2
MB
3104 make_fontset.
3105
1f45f627 3106 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
aca7a3d2 3107
1f45f627 3108 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
aca7a3d2
MB
3109 of x_new_fontset2.
3110
3111 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
3112 (Qsans__serif): New variables.
3113 (ftfont_generic_family_list): New variable.
3114 (syms_of_ftfont): Initialize the above variables.
1f45f627 3115 (ftfont_pattern_entity): Delete argument NAME.
aca7a3d2
MB
3116 (ftfont_list_generic_family): New function.
3117 (ftfont_parse_name): Delete this function.
1f45f627 3118 (ftfont_list): Try generic family only when FcFontList found no font.
aca7a3d2
MB
3119 (ftfont_list_family): Fix args to FcObjectSetBuild.
3120
3121 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
3122 object in attrs[LFACE_FONT_INDEX].
3123 (set_lface_from_font_name): Cancel all changes for font-backend.
3124 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
3125 function.
3126 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
3127 font object in QCfont attribute.
3128 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
3129 (realize_default_face) [USE_FONT_BACKEND]: Call
3130 set_lface_from_font_and_fontset.
3131
3132 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
3133 "fixed", and signal error here if no suitable font was found.
3134
3135 * xfont.c (xfont_parse_name): Delete this function.
3136
3137 * xftfont.c (xftfont_open): Change coding style of error
3138 handling. Generate fontconfig's fontname pattern.
3139
3140 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
3141 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
3142
3143 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
3144 Both args FONTSET and FONT_OBJECT must be existing ones.
3145
73acf815 31462008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
3147
3148 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
3149
73acf815 31502008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3151
3152 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
3153
3154 * font.h (struct font): Fix typo.
3155
3156 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
3157 XLFD_XXX_INDEX.
3158 (enum xlfd_field_mask): New enum.
1f45f627 3159 (intern_font_field): Changed argument. Change caller. If digits
aca7a3d2
MB
3160 are followed by non-digits, return a symbol.
3161 (font_expand_wildcards): New function.
3162 (font_parse_xlfd): Fix wildcard handling.
3163 (Ffont_spec): If :name is specified, reflect the info in the other
3164 properties.
3165
3166 * ftfont.c (ftfont_pattern_entity): Fix typo.
3167 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
3168 locale.
3169
73acf815 31702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3171
3172 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
3173
1f45f627 3174 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
aca7a3d2
MB
3175 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
3176 registry doesn't specify encoding part.
3177 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
3178 (font_open_by_name): At first try parsing the name.
3179 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
3180 as Lisp symbols.
3181
3182 * fontset.c (reorder_font_vector): Pay attention to the case that
3183 the 3rd element of font_def is nil.
3184 (fontset_font): For the default fontset, append one more fontset
3185 elements for a script-based font specification. Don't add script
3186 attribute on finding a font.
3187 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
3188 font name.
3189 (fontset_ascii_font): If a font can't be opened, return nil.
3190
1f45f627 3191 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
aca7a3d2
MB
3192 (ftfont_pattern_entity): New function.
3193 (ftfont_get_cache): Assume that freetype_font_cache is already
3194 initialized.
3195 (ftfont_list): Handle the case that a file is specified in font
3196 name. Use ftfont_pattern_entity to generate entities.
3197 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
3198 (syms_of_ftfont): Initialize freetype_font_cache.
3199
3200 * xftfont.c (xftfont_open): Make the font name fontconfig's
3201 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
3202 (xftfont_close): Free font->font.name if not NULL.
3203
3204 * xfont.c (xfont_list): If script is specified for a font, return
3205 null_vector.
3206 (xfont_list_family): Declare argument type.
3207
3208 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
3209 name, set LFACE_FONT (lface) to nil.
3210
3211 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
3212 return Qnil.
3213
73acf815 32142008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3215
1f45f627 3216 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
aca7a3d2
MB
3217 (standard_args): Add "-enable-font-backend".
3218
73acf815 32192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3220
3221 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
3222 (struct xftdraw_list, xftdraw_list): Delete them.
3223 (register_xftdraw, check_xftdraw): Delete them.
3224 (xftfont_prepare_face): Don't call register_xftdraw.
3225 (xftfont_done_face): Don't call check_xftdraw.
3226 (xftfont_draw): Get backroudn color only when with_background is
3227 nonzero.
3228
3229 * xfont.c (xfont_encode_char): Fix calculation of char2b.
3230
73acf815 32312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3232
3233 These changes are for the new font handling codes.
3234
3235 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
3236 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
3237 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
3238 (FONTSRC, FONTOBJ): New variables.
3239 (obj): Add $(FONTOBJ).
3240 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
3241 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
3242 @LIBOTF_LIBS@.
3243 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
1f45f627 3244 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
aca7a3d2 3245
1f45f627 3246 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
aca7a3d2
MB
3247
3248 * character.h (Vscript_representative_chars): Extern it.
3249
3250 * character.c (Vscript_representative_chars): New variable.
3251 (syms_of_character): Declare it as a Lisp variable.
3252
3253 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
3254 enable_font_backend is nonzero, accept the composition method
3255 COMPOSITION_WITH_GLYPH_STRING.
3256
3257 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
3258 enumeration COMPOSITION_WITH_GLYPH_STRING.
3259
aca7a3d2
MB
3260 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
3261 members clip_x, clip_y, clip_width, and clip_height.
3262 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
3263
3264 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
3265 --enable-font-backend. Call syms_of_font.
3266
3267 * fns.c (assoc_no_quit): New function.
3268
3269 * fontset.h (FONT_INFO_FROM_FACE): New macro.
3270 (face_for_font, new_fontset_from_font)
3271 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
3272
3273 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
3274 (fontset_font, fontset_ascii, face_for_char)
3275 (make_fontset_for_ascii_face, Ffont_info)
3276 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
3277 is nonzero, use font-backend mechanism.
3278 (find_font_encoding): Make it non-static.
3279 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
3280 New functions.
3281
3282 * frame.h (struct frame): New members resx and resy.
3283 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
3284 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
3285
3286 * frame.c [USE_FONT_BACKEND]: Include "font.h".
1f45f627 3287 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
aca7a3d2
MB
3288
3289 * lisp.h (assoc_no_quit): Extern it.
3290
3291 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
3292 Through out the file, use FONT_INFO_FROM_FACE instead of
3293 FONT_INFO_FROM_ID, use get_per_char_metric instead of
3294 rif->per_char_metric.
3295 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
3296 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
3297 (get_glyph_face_and_encoding, fill_composite_glyph_string)
3298 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
3299 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
3300 nonzero, use font-backend mechanism.
3301 (get_per_char_metric): New function.
3302
3303 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
3304 (set_lface_from_font_name)
3305 (set_font_frame_param, free_realized_face)
3306 (prepare_face_for_display, clear_face_gcs)
3307 (Finternal_set_font_selection_order, realize_x_face)
3308 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
3309 font-backend mechanism.
1f45f627 3310 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
aca7a3d2
MB
3311 (load_face_font) [USE_FONT_BACKEND]: Abort.
3312 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
1f45f627 3313 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
aca7a3d2
MB
3314
3315 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
3316 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
3317 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
3318 nonzero, register all available font drivers. Call
3319 x_default_font_parameter for deciding a font.
3320 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
3321
3322 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
3323 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
3324 (x_set_glyph_string_clipping_exactly)
3325 (x_compute_glyph_string_overhangs)
3326 (x_draw_glyph_string_foreground)
3327 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
3328 (x_free_frame_resources) [USE_FONT_BACKEND]: If
3329 enable_font_backend is nonzero, use font-backend mechanism.
3330 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
3331
73acf815 33322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3333
fcb314b2 3334 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
aca7a3d2
MB
3335 system_eol_type.
3336 (syms_of_coding): Initialize system_eol_type.
3337
fcb314b2
GM
3338 * process.c (Fset_process_coding_system): Inherit system's eol
3339 format if necessary.
aca7a3d2 3340
73acf815 33412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
3342
3343 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
3344
73acf815 33452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3346
3347 * coding.c (decode_eol): Pay attention to buffer relocation in
3348 del_range_2.
3349 (decode_coding): Call decode_eol before restoring undo_list.
3350
73acf815 33512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3352
3353 * charset.c (Fdefine_charset_internal): Fix setting of
3354 emacs_mule_bytes.
3355
73acf815 33562008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3357
3358 * keyboard.c (read_char): Check if C is a character or not before
3359 looking up Vkeyboard_translate_table.
3360
73acf815 33612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3362
3363 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
3364 condition to terminate the loop.
3365
73acf815 33662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3367
3368 * coding.c (produce_composition): Compare charbuf[i] instead of
3369 args[i] against 0.
3370 (Fterminal_coding_system): Use EQ to compare Lisp objects.
3371
73acf815 33722008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3373
3374 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
3375 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
3376 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
3377 detect_coding.
3378 (emacs_mule_char): Handle old style (Emacs 20) component character
3379 of a composition.
4c4475a8
GM
3380 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
3381 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
3382 composition rule.
aca7a3d2
MB
3383 (decode_coding_emacs_mule): Handle invalid bytes correctly.
3384
73acf815 33852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3386
3387 * coding.c (encode_coding_ccl): Allocate destination dynamically
3388 when necessary.
3389
73acf815 33902008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3391
3392 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
3393 the loop. When quitted, show a proper error message.
3394
73acf815 33952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3396
aca7a3d2
MB
3397 * xterm.c (x_set_glyph_string_clipping_exactly): Set
3398 src->clip_head and src->clip_tail temporarily instead of src->hl.
3399
3400 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
3401 character sequence.
3402 (Fccl_execute_on_string): Use ASET, not XSET.
3403
73acf815 34042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3405
1f45f627 3406 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
aca7a3d2 3407
73acf815 34082008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3409
3410 * coding.c (decode_coding): Fix the condition of terminating the
3411 decoding loop.
3412
73acf815 34132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3414
3415 * data.c (Faset): On setting a character bigger than 255 in a
1f45f627 3416 unibyte string, signal an error instead of make the string multibyte.
aca7a3d2 3417
73acf815 34182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3419
3420 * charset.c (map_charset_chars): Fix for ascii-compatible charset
3421 made by a mapping table.
3422
73acf815 34232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3424
3425 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
3426 not.
3427 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
3428 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
3429
3430 * xterm.c (x_draw_composite_glyph_string_foreground): Check
3431 s->face is NULL or not.
3432
73acf815 34332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3434
3435 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
3436 (x_draw_glyph_string): Fix drawing of right_overhang and
3437 left_overhang around/on cursor.
3438
1f45f627 3439 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
aca7a3d2 3440
73acf815 34412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3442
3443 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
3444
73acf815 34452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3446
4c4475a8
GM
3447 * coding.c (Fdefine_coding_system_internal)
3448 (Fdefine_coding_system_alias): Avoid a duplicated element in
3449 Vcoding_system_alist.
aca7a3d2 3450
73acf815 34512008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3452
3453 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
3454
fcb314b2 3455 * coding.c (Qcoding_system_define_form): New variable.
aca7a3d2
MB
3456 (syms_of_coding): Intern and staticpro it.
3457 (Fcoding_system_p): Check Qcoding_system_define_form.
1f45f627 3458 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
aca7a3d2
MB
3459
3460 * coding.h (CODING_SYSTEM_P): If ID is not available, call
3461 Fcoding_system_p.
3462 (CHECK_CODING_SYSTEM): If ID is not available, call
3463 Fcheck_coding_system.
4c4475a8
GM
3464 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
3465 Try also Fcheck_coding_system.
aca7a3d2 3466
73acf815 34672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3468
aca7a3d2
MB
3469 * coding.c (code_conversion_restore): GCPRO arg.
3470
73acf815 34712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3472
3473 * character.c (lisp_string_width): Check multibyteness of STRING.
3474
73acf815 34752008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
3476
3477 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
3478 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
3479 (decode_mac_font_name): Use decode_coding_c_string instead of
3480 decode_coding.
3481 (x_load_font): Initialize fontp->fontset to -1. Set
3482 fontp->encoding_type.
3483
73acf815 34842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3485
3486 * search.c (search_buffer): Give up BM search on case-fold-search
3487 if one of a target character has a case-equivalence of different
3488 byte length even if that target charcter is an ASCII.
1f45f627
GM
3489 (simple_search): Fix calculation of byte length of matched text.
3490 (boyer_moore): Fix handling of case-equivalent multibyte characters.
aca7a3d2 3491
73acf815 34922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3493
3494 * coding.c (decode_coding): Fix handling of invalid bytes.
3495
73acf815 34962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3497
3498 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
3499 Unicode characters.
3500
73acf815 35012008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3502
3503 * coding.c (encode_coding_object): If a pre-write-conversion
3504 function makes a new buffer, kill it.
3505
73acf815 35062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3507
3508 * coding.c (QCascii_compatible_p): New variable.
3509 (syms_of_coding): Initialize it.
4c4475a8
GM
3510 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
3511 calling string_char.
aca7a3d2
MB
3512 (record_conversion_result): Add `default:' case.
3513 (coding_charset_list): Delete unused variable `coding_type'.
3514 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
3515 property in the plist of the coding system.
3516 (Fcoding_system_put): Check QCascii_compatible_p.
3517
73acf815 35182008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2
MB
3519
3520 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
3521 removed calculation of frame `f', as it's now used.
3522
73acf815 35232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3524
1f45f627 3525 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
aca7a3d2
MB
3526 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
3527 (UNIDATA): New variable.
3528 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
3529 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
3530 $(RUN_TEMACS) unconditionally.
3531
73acf815 35322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3533
1f45f627 3534 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
aca7a3d2
MB
3535 (admindir): New variable.
3536 ($(lispsource)international/charprop.el): New target.
3537
73acf815 35382008-02-01 Miles Bader <miles@gnu.org>
aca7a3d2 3539
1f45f627 3540 * character.c (chars-in-region): Remove obsolete function.
aca7a3d2
MB
3541 (syms_of_character): Remove its initialization.
3542
73acf815 35432008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
aca7a3d2
MB
3544
3545 * w32select.c (validate_coding_system)
3546 (setup_windows_coding_system): New functions.
3547 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
3548 setup_windows_coding_system.
3549 (setup_config, Fw32_get_clipboard_data): Use
3550 validate_coding_system.
3551 (Fx_selection_exists): Move call to setup_config to a place
1f45f627 3552 where signals are allowed.
aca7a3d2
MB
3553
3554 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
3555 (Fcheck_coding_system): Add declarations.
3556
73acf815 35572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3558
1f45f627 3559 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
aca7a3d2 3560
73acf815 35612008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
3562
3563 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
3564 string as the second argument for x_new_fontset.
3565
73acf815 35662008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3567
3568 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
3569 (encode_coding_object): Use safe_call instead of call2.
3570
73acf815 35712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3572
1f45f627 3573 * fontset.c (Fset_fontset_font): Check family element of a given vector.
aca7a3d2
MB
3574
3575 * Makefile.in (lisp): Include charprop.el.
3576
73acf815 35772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aca7a3d2
MB
3578
3579 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
3580 Not sure if it's unnecessary.
3581
73acf815 35822008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
3583
3584 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
3585 some possibly unnecessary fontset checking code that crashed
1f45f627 3586 when creating a new frame.
aca7a3d2 3587
73acf815 35882008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3589
3590 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
3591 lookup_face.
3592
3593 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
3594
1f45f627 3595 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
aca7a3d2 3596
73acf815 35972008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3598
73acf815 3599 * coding.c: Cancel the change done in HEAD on 2008-02-01.
aca7a3d2
MB
3600 (coding_charset_list): New function.
3601
3602 * coding.h (coding_charset_list): Extern it.
3603
73acf815 36042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3605
3606 * fontset.c (Fset_fontset_font): Call find_font_encoding with
3607 concatenation of family and registry.
3608
73acf815 36092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3610
3611 * character.h (BYTE8_STRING): Fix typo.
3612
3613 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
3614 string to multibyte (sync to HEAD).
3615
3616 * casefiddle.c (casify_region): Handle changes in byte-length
3617 using replace_range_2 (sync to HEAD).
3618
73acf815 36192008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
3620
3621 * chartab.c (map_char_table): GCPRO table and arg.
3622
73acf815 36232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3624
3625 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
3626 already at limit.
3627
73acf815 36282008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3629
3630 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
3631 instead of fast_c_string_match_ignore_case.
1f45f627 3632 (find_font_encoding): Change argument to Lisp_Object. Use
aca7a3d2 3633 fast_string_match_ignore_case instead of
1f45f627 3634 fast_c_string_match_ignore_case. Change caller.
aca7a3d2 3635
73acf815 36362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3637
3638 * xdisp.c (get_next_display_element): In unibyte case, decide to
3639 display in octal form by checking a chacter by
3640 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
3641
1f45f627 3642 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
aca7a3d2
MB
3643
3644 * character.c (unibyte_has_multibyte_table): New variable.
3645
3646 * character.h (unibyte_has_multibyte_table): Extern it.
3647 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
3648
73acf815 36492008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3650
3651 * coding.c (encode_coding_iso_2022): Fix handling of charset
3652 annotation.
3653
73acf815 36542008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3655
3656 * coding.c (setup_coding_system): If coding_system is nil, use
3657 Qundecided.
3658 (Fterminal_coding_system): Return nil if terminal coding system is
3659 `undecided'.
3660 (syms_of_coding): Define coding-system `undecided' here. Setup
3661 terminal_coding as `undecided'.
3662
73acf815 36632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3664
3665 * xdisp.c (message_dolog, set_message_1): Call
3666 unibyte_char_to_multibyte with arg type int.
3667
aca7a3d2
MB
3668 * lread.c (read1): Fix reading of a char-table.
3669
3670 * print.c (print_object): Include sub char-table in cicularities
3671 detection.
3672
73acf815 36732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3674
3675 * keymap.c (where_is_internal_2): Fix for the case that KEY is a
1f45f627 3676 cons. Append the found sequences in car of ARGS instead of prepending.
aca7a3d2 3677
73acf815 36782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3679
3680 * fileio.c (report_file_error): Make a unibyte string from
3681 strerror (errorno).
3682 (Fsubstitute_in_file_name): Fix the arg to
3683 unibyte_char_to_multibyte. It is evaluated twice.
3684
73acf815 36852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3686
3687 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
3688
73acf815 36892008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3690
3691 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
3692 BOM is not found.
4c4475a8
GM
3693 (detect_coding, detect_coding_system): Optimization for ISO-2022
3694 when no 8-bit data is found.
aca7a3d2 3695
73acf815 36962008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
3697
3698 * w32fns.c (x_to_w32_font): Update to use new coding struct.
3699
73acf815 37002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3701
4c4475a8
GM
3702 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
3703 CHARS.
aca7a3d2 3704
73acf815 37052008-02-01 Steven Tamm <steventamm@mac.com>
aca7a3d2
MB
3706
3707 * macterm.c (mac_encode_char): Add charset argument and update
3708 to use encoding_type.
3709 (x_new_font,x_new_fontset): Merge in changes from xterm.c;
1f45f627
GM
3710 switch to pure fontset.
3711 (decode_mac_font_name): Temporarily remove decoding.
3712 (x_font_name_to_mac_font_name): Temporarily remove encoding.
3713 (x_load_font): Temporarily remove encoding.
aca7a3d2 3714
73acf815 37152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3716
3717 * xfaces.c (Fface_font): If frame is not on a window system,
3718 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
3719 refer to face->font.
3720 (split_font_name_into_vector, build_font_name_from_vector)
3721 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
3722 whne HAVE_WINDOW_SYSTEM is defined.
3723
73acf815 37242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3725
3726 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
3727 (x_produce_glyphs): Fix setting of members of cmp in case
1f45f627 3728 cmp->glyph_len is zero.
aca7a3d2 3729
1f45f627 3730 * fontset.c (Fset_fontset_font): Fix docstring.
aca7a3d2
MB
3731 (Ffontset_info): Make it backward compatible. New arg ALL.
3732
73acf815 37332008-02-01 Kim F. Storm <storm@cua.dk>
aca7a3d2
MB
3734
3735 * process.c (read_process_output): Grow decoding_buf when needed;
3736 this could cause a crash in allocate_string and compact_small_strings.
3737
73acf815 37382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3739
1f45f627 3740 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
aca7a3d2 3741
73acf815 37422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3743
3744 * coding.c (setup_coding_system): Set coding->common_flags
3745 correctly for raw-text.
3746 (consume_chars): On encoding unibyte text by raw-text, don't check
3747 multibyte form.
1f45f627 3748 (encode_coding): On encoding by raw-text, never use translation tables.
aca7a3d2
MB
3749
3750 * fileio.c (e_write): Short cut for the case of no encoding.
3751
73acf815 37522008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3753
4c4475a8
GM
3754 * coding.c (detect_coding, detect_coding_system): Delete unused
3755 variables.
aca7a3d2 3756
73acf815 37572008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3758
3759 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
3760 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
3761
73acf815 37622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3763
3764 * coding.c (Ffind_coding_systems_region_internal): Include
3765 raw-text and no-conversion in the result.
3766
73acf815 37672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3768
1f45f627 3769 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
aca7a3d2
MB
3770 (load_font_get_repertory): Delete unnecessary check of ENCODING of
3771 FONT_DEF.
3772 (font_def_arg, add_arg, from_arg, to_arg): New args.
1f45f627 3773 (set_fontset_font): Change argument.
aca7a3d2
MB
3774 (Fset_fontset_font): Fix for the case that TARGET is a script
3775 name and charset name.
3776 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
3777
73acf815 37782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3779
1f45f627
GM
3780 * fontset.c (fontset_font): Rename from fontset_face. Change return
3781 value.
4c4475a8
GM
3782 (face_suitable_for_char_p, face_for_char): Adjust for the change
3783 of fontset_font.
aca7a3d2
MB
3784 (make_fontset_for_ascii_face): Fix setting of the fontset element
3785 for ASCII.
3786 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
3787 to get a font name.
1f45f627 3788 (Ffontset_info): Adjust for the change of fontset_font.
aca7a3d2 3789
fcb314b2 3790 * coding.c (emacs_mule_char): Check invalid code more regidly.
aca7a3d2
MB
3791
3792 * character.h (LEADING_CODE_LATIN_1_MIN)
3793 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
3794
73acf815 37952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3796
fcb314b2 3797 * editfns.c (check_translation): New function.
aca7a3d2
MB
3798 (Ftranslate_region_internal): Handle M:N mapping.
3799
73acf815 38002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3801
3802 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
3803
73acf815 38042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3805
3806 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
3807 goto invalid_code.
3808 (decode_coding_iso_2022): Fix handling of invalid designation.
3809
3810 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
3811 after calling code_conversion_save.
3812
73acf815 38132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3814
3815 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
3816
3817 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
3818
3819 * fontset.c: Include "intervals.h".
3820 (fontset_face): Fix comparing of Lisp_Objects.
4c4475a8
GM
3821 (free_face_fontset, new_fontset_from_font_name): Fix
3822 Lisp_Object/int mixup.
aca7a3d2
MB
3823
3824 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
3825
3826 * coding.c: Add many prototypes for static functions.
3827 (get_translation_table): Allow max_lookup to be NULL.
4c4475a8
GM
3828 (decode_coding,Ffind_coding_systems_region_internal)
3829 (Funencodable_char_position, Fcheck_coding_systems_region): Call
3830 get_translation_table with max_lookup NULL.
aca7a3d2 3831
73acf815 38322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3833
3834 * coding.c (get_translation_table): Declare it as Lisp_Object.
3835 (LOOKUP_TRANSLATION_TABLE): New macro.
4c4475a8
GM
3836 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
3837 instead of CHAR_TABLE_REF.
aca7a3d2 3838
73acf815 38392008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3840
1f45f627 3841 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
aca7a3d2
MB
3842 annotation data format.
3843 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
1f45f627 3844 Change arguments FROM and TO to single argument NCHARS. Change caller.
4c4475a8 3845 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
aca7a3d2 3846 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4c4475a8
GM
3847 (decode_coding_ccl, decode_coding_charset): Pay attention to
3848 coding->charbuf_used.
aca7a3d2
MB
3849 (get_translation): New function.
3850 (produce_chars): New arguments translation_table and last_block.
3851 Translate characters here. Return number of carryover chars.
1f45f627
GM
3852 Change caller.
3853 (produce_composition): New argument pos. Change caller.
3854 Adjust for the change of annotation data format.
aca7a3d2
MB
3855 (produce_charset, produce_annotation): Likewise.
3856 (decode_coding, encode_coding): Don't call translate_chars.
1f45f627
GM
3857 (consume_chars): New arg translation_table. Change caller.
3858 (translate_chars): Delete.
3859 (syms_of_coding): Make translation-table's number of extra slots 2.
aca7a3d2 3860
73acf815 38612008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3862
3863 * search.c (simple_search): Fix setting this_pos_byte in backward
3864 search.
3865
3866 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
3867 byte sequence.
3868 (detect_coding_ccl): Fix setting of the variable valids.
3869
73acf815 38702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3871
3872 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
3873
3874 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
3875
1f45f627 3876 * editfns.c (Ftranslate_region_internal): Rename from
aca7a3d2
MB
3877 Ftranslate_region. Accept a char-table in TABLE.
3878 (syms_of_editfns): Defsubr Stranslate_region_internal.
3879
3880 * xfaces.c (set_lface_from_font_name): If a font is specified for
3881 a frame, generate a fontset from the font.
3882 (build_scalable_font_name): If the scalable font is requested for
3883 a specific size, don't change that size.
3884 (try_font_list): Try a scalable font also in the case that a
1f45f627 3885 pattern string is specified.
aca7a3d2 3886
73acf815 38872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3888
3889 * xfaces.c (Fface_font): New optional arg CHARACTER.
3890
73acf815 38912008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3892
3893 * charset.h (CHARSET_OFFSET): New macro.
3894
73acf815 38952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3896
3897 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
3898
3899 * fontset.c (fontset_face): Handle the case that repertory is a
3900 char-table.
3901 (find_font_encoding): Return nil for unknown encoding.
3902 (Fset_fontset_font): Ignore a font of unknown encoding.
3903
73acf815 39042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3905
1f45f627 3906 * keymap.c (describe_vector): Handle default value of a char table.
aca7a3d2
MB
3907
3908 * fontset.c (fontset_face): Handle fallback fonts correctly.
3909 (Ffontset_info): Return infomation about fallback fonts.
3910
73acf815 39112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3912
3913 * fontset.c (FONTSET_DEFAULT): New macro.
4c4475a8 3914 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
aca7a3d2
MB
3915 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
3916 the case that it is nil.
3917 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
1f45f627 3918 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
aca7a3d2
MB
3919
3920 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
3921 subset or superset.
3922
73acf815 39232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3924
3925 * emacs.c (main): Call init_charset after syms_of_XXX.
3926
1f45f627 3927 * charset.c (Vcharset_map_directory): Delete.
aca7a3d2
MB
3928 (Vcharset_map_path): New variable
3929 (load_charset_map_from_file): Use Vcharset_map_path instead.
3930 (init_charset): Initialize Vcharset_map_path.
3931 (syms_of_charset): Delete declaration of "charset-map-directory",
3932 add declaration of "charset-map-path".
3933
73acf815 39342008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3935
4c4475a8
GM
3936 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
3937 ASCII only string.
aca7a3d2
MB
3938
3939 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
3940
3941 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
6f69e89b 3942 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
aca7a3d2 3943
73acf815 39442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3945
3946 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
3947
3948 * coding.c (QCmnemonic, QCdefalut_char)
3949 (QCdecode_translation_table, QCencode_translation_table)
3950 (QCpost_read_conversion, QCpre_write_conversion): New variables.
3951 (get_translation_table): Return a list of translation tables if
3952 necessary.
3953 (decode_coding): Call get_translation_table with ENCODEP 0.
3954 (char_encodable_p): If translation_table is non-nil, always call
3955 translate_char.
3956 (Fdefine_coding_system_internal): Accept list of translation
3957 tables as :encode-translation-table and :decode-translation-table.
3958 (Fcoding_system_put): New function.
3959 (syms_of_coding): Declare new symbols. Defsubr
3960 Scoding_system_put.
4c4475a8
GM
3961 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
3962 typically JISX0212.
aca7a3d2
MB
3963
3964 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
3965 when the charset is superset type.
3966
3967 * character.c (translate_char): Accept list of translation tables.
3968
73acf815 39692008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 3970
1f45f627 3971 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
aca7a3d2
MB
3972 (CODING_ATTR_TRANS_TBL): New macro.
3973
3974 * coding.c (get_translation_table): New function.
3975 (translate_chars): Fix the bug of skipping annotation data.
4c4475a8
GM
3976 (decode_coding, encode_coding): Utilize get_translation_table.
3977 (char_encodable_p, Funencodable_char_position): Translate char if
3978 necessary.
3979 (Ffind_coding_systems_region_internal)
3980 (Fcheck_coding_systems_region): Setup translation table for encode
3981 in a coding system attribute vector in advance.
aca7a3d2
MB
3982 (Fdefine_coding_system_internal): Allow a symbol as translation
3983 table. For shift-jis type coding system, allow 4th charset.
3984
73acf815 39852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3986
3987 * coding.c (decode_coding_sjis): Check the first byte rigidly.
3988
3989 * xdisp.c (get_next_display_element): Pass -1 as POS to
3990 FACE_FOR_CHAR if displaying a C-string.
3991
73acf815 39922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
3993
3994 * composite.c (get_composition_id): Handle xoff and yoff in a
3995 composition rule.
3996
3997 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
3998 (struct composition): New member lbearing and rbearing.
3999
4000 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
4001 (x_get_glyph_overhangs): Handle a composition glyph.
1f45f627 4002 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
aca7a3d2
MB
4003
4004 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
4005 composition glyph.
4006
73acf815 40072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4008
4009 * print.c: Include charset.h.
4010 (Vprint_charset_text_property): New variable.
4011 (Qdefault): Extern it.
4012 (PRINT_STRING_NON_CHARSET_FOUND)
4013 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
4014 (print_check_string_result): New variable.
4015 (print_check_string_charset_prop): New function.
4016 (print_prune_charset_plist): New variable.
4017 (print_prune_string_charset): New function.
4018 (print_object): Call print_prune_string_charset if
4019 Vprint_charset_text_property is not t.
4020 (print_interval): Print nothing if itnerval->plist is nil.
4021 (syms_of_print): Declare Vprint_charset_text_property as a lisp
4022 variable. Init and staticpro print_prune_charset_plist.
4023
73acf815 40242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4025
4026 * fontset.c (new_fontset_from_font_name): Use the specified font
4027 for all characters in the new fontset.
4028
4029 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
4030 OBJECT args.
4031
4032 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
4033 OBJECT args for composition too.
4034
4035 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
4036 OBJECT args.
4037
73acf815 40382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4039
4040 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
4041
1f45f627 4042 * fontset.c (reorder_font_vector): Adjust for the change of
aca7a3d2 4043 FONT_DEF format.
1f45f627 4044 (fontset_face): New arg id. Change caller.
aca7a3d2 4045 (face_for_char): New args pos and object.
1f45f627 4046 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF
aca7a3d2
MB
4047 format.n
4048 (fs_query_fontset): Check NAME by Fassoc too.
4049 (Fset_fontset_font): Allow non-XLFD font name.
1f45f627 4050 (Ffontset_info): Adjust for the change of FONT_DEF format.
aca7a3d2 4051
1f45f627 4052 * fontset.h (face_for_char): Adjust prototype.
aca7a3d2 4053
4c4475a8
GM
4054 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
4055 (append_space, extend_face_to_end_of_line)
4056 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
4057 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
aca7a3d2
MB
4058
4059 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
4060 POS and OBJECT args.
4061
4062 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
4063 POS and OBJECT args.
4064
73acf815 40652008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4066
4067 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
4068 of GlobalAlloc'ed memory.
4069
73acf815 40702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4071
4072 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
4073
4074 * charset.h (charset_table_used): Delete extern.
4075
4076 * charset.c (charset_table_used): Make it static.
4077 (map_charset_chars): Fix args to c_function with.
4078
4079 * chartab.c (map_sub_char_table_for_charset): Fix args to
4080 c_function with.
4081
4082 * coding.h (enum coding_result_code): Delete
4083 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
4084
4085 * coding.c (Qinsufficient_source, Qinconsistent_eol)
1f45f627 4086 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
aca7a3d2
MB
4087 (Vlast_code_conversion_error): New variables.
4088 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
4089 (ONE_MORE_BYTE): Record error if any instead of signaling an
4090 error. If non-ASCII multibyte char is found, return the negative
4091 value of the code. All callers changed to check it.
4092 (ONE_MORE_BYTE_NO_CHECK): Likewise.
1f45f627
GM
4093 (record_conversion_result): New function. Change all codes setting
4094 coding->result to call this function.
4c4475a8
GM
4095 (detect_coding_utf_8, decode_coding_utf_8)
4096 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
4097 Don't use the local variable incomplete.
aca7a3d2 4098 (emacs_mule_char): Change the second arg to `const'.
aca7a3d2
MB
4099 (decode_coding): Fix of flushing out unprocessed data.
4100 (make_conversion_work_buffer): Fix making of a work buffer.
4101 (decode_coding_object): Return coding->dst_object;
4102
4103 * fontset.c (set_fontset_font): Fix args.
4104
4105 * lisp.h (CHARACTERBITS): Define as 22.
4106
4107 * process.c (send_process): Be sure to set coding->src_multibyte.
4108
4109 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
4110
73acf815 41112008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4112
4113 * xdisp.c (handle_auto_composed_prop): Give limit to
4114 Fnext_single_char_property_change.
4115
73acf815 41162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4117
424c157f 4118 * composite.c (syms_of_composite): Don't make the composition hash
1f45f627 4119 table weak.
aca7a3d2
MB
4120
4121 * fontset.c (Fset_fontset_font): Fix docstring.
4122
4123 * lisp.h (detect_coding_system): Adjust prototype.
4124
4125 * fileio.c (kill_workbuf_unwind): Delete this function.
4126 (Finsert_file_contents): Adjust the call of detect_coding_system.
4127 Get conversion_buffer by code_conversion_save. Use the macor
4128 CODING_MAY_REQUIRE_DECODING. After decoding, update
4129 coding_system.
4130
4131 * coding.h (make_conversion_work_buffer): Delete extern.
4132 (code_conversion_save): Extern it.
4133
4134 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
1f45f627 4135 (CODING_GET_INFO): Delete argument eol_type. Change callers.
aca7a3d2
MB
4136 (decode_coding_utf_8): Don't do eol converion.
4137 (detect_coding_utf_16): Check coding->src_chars, not
1f45f627 4138 coding->src_bytes. Add heuristics for those that have no signature.
4c4475a8
GM
4139 (decode_coding_emacs_mule, decode_coding_iso_2022)
4140 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
4141 Don't do eol converion.
aca7a3d2
MB
4142 (adjust_coding_eol_type): Return a new coding system.
4143 (detect_coding): Don't detect eol. Fix for utf-16 detection.
4144 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
4145 each change.
4146 (decode_coding): Pay attention to undo_list. Do eol convesion for
4147 all types of coding-systems (if necessary).
4148 (Vcode_conversion_work_buf_list): Delete it.
1f45f627 4149 (Vcode_conversion_reused_workbuf): Rename from
aca7a3d2
MB
4150 Vcode_conversion_reused_work_buf.
4151 (Vcode_conversion_workbuf_name): New variable.
4152 (reused_workbuf_in_use): New variable.
4153 (make_conversion_work_buffer): Delete the arg DEPTH.
4c4475a8 4154 (code_conversion_restore): Change argument to cons.
1f45f627
GM
4155 (code_conversion_save): Delete the argument BUFFER. Change callers.
4156 (detect_coding_system): New argument src_chars. Change callers.
aca7a3d2
MB
4157 Fix for utf-16 detection.
4158 (init_coding_once): Don't use ISO_carriage_return.
1f45f627 4159 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
aca7a3d2
MB
4160 reused_workbuf_in_use.
4161
73acf815 41622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4163
4164 * keymap.c (store_in_keymap): Pay attention to the case that idx
4165 is a cons specifying a character range.
4166
73acf815 41672008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4168
4169 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
4170 HANDLED_RECOMPUTE_PROPS.
4171
4172 * coding.c (Fdefine_coding_system_internal): Fix checking of
4173 ascii compatibility.
4174
73acf815 41752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4176
1f45f627 4177 * charset.c (find_charsets_in_text): Delete unused locale variable.
aca7a3d2
MB
4178 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
4179
4180 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
4181 Resync charset_list to Vemacs_mule_charset_list.
4182
4183 * keymap.c (store_in_keymap): Pay attention to the case that idx
4184 is a cons specifying a character range.
4185
73acf815 41862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4187
4188 * composite.c (update_compositions): Bind inhibit-read-only, etc
4189 to t before calling remove-list-of-text-properties.
4190
4191 * print.c (print_object): Always print ASCII chars as is.
4192
73acf815 41932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4194
1f45f627 4195 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
aca7a3d2 4196
4c4475a8
GM
4197 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
4198 is a char table.
aca7a3d2 4199
73acf815 42002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4201
1f45f627 4202 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
aca7a3d2 4203
73acf815 42042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4205
4206 * xfaces.c (set_lface_from_font_name): Fix for the case that
4207 FONTNAME is not fontset name.
4208
73acf815 42092008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4210
4211 * fns.c (base64_encode_1): Fix previous change.
4212
73acf815 42132008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4214
4215 * fontset.c (set_fontset_font): New function.
4216 (Fset_fontset_font): If a font is specified for a charset, use
4217 map_charset_chars to store the font spec in a fontset.
4218
73acf815 42192008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4220
4221 * fontset.c (fontset_face): Create a fallback fontset on demand
4222 (make_fontset): Don't create a fallback fontset here.
4223 (free_face_fontset): Free a fallback fontset (if any) too.
4224 (n_auto_fontsets): Delete this variable.
4225 (auto_fontset_alist): New variable.
4226 (new_fontset_from_font_name): Check auto_fontset_alist.
4227 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
4228 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
4229 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
4230 Defsubr Sfontset_list_all.
4231
73acf815 42322008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4233
4234 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
4235
73acf815 42362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4237
4238 * fontset.c (Fnew_fontset): Check NAME more rigidly.
4239
73acf815 42402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4241
4242 * editfns.c (Fgoto_char): Fix docstring.
4243
73acf815 42442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4245
4246 * insdel.c (insert_from_gap): Adjust intervals correctly.
4247
73acf815 42482008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4249
4250 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
4251 (pfnGetFontUnicodeRanges): New dynamically loaded function.
4252 (w32_initialize): Try to load it.
4253 (x_get_font_repertory): Use it if available.
4254 (w32_encode_char): Add shortcut for unicode output.
4255
4256 * w32fns.c (w32_load_system_font): Default charset to -1.
4257 (x_to_w32_charset): Match all fonts for unicode.
1f45f627 4258 (w32_to_x_charset): New parameter matching. Don't return partial
aca7a3d2
MB
4259 or wildcard charsets.
4260 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
4261 (w32_codepage_for_font): Return CP_UNICODE for unicode.
4262 (w32_to_x_font): Match charset to real charset.
4263 (enum_font_cb2): Always list unicode versions.
4264
4265 * makefile.w32-in (temacs): Increase EMHEAP.
4266
73acf815 42672008-02-01 Jason Rumney <jasonr@gnu.org>
aca7a3d2
MB
4268
4269 * w32term.c (w32_encode_char): New charset parameter.
4270 font_info.encoding becomes encoding_type.
1f45f627 4271 (x_get_font_repertory): New function. Warning: stub only!
aca7a3d2
MB
4272 (x_new_font): Return quickly if font already set.
4273 (x_new_fontset): fontsetname parameter is Lisp_Object.
1f45f627 4274 Use new fs_query_fontset. Try new_fontset_from_font_name. Use
aca7a3d2
MB
4275 fontset_name for return value.
4276
4277 * w32term.h: Declare x_get_font_repertory.
4278
4279 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
1f45f627 4280 place of find_charset_in_text. Use encode_coding_object in place
aca7a3d2
MB
4281 of encode_coding.
4282 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
4283 decode_coding.
4284
4285 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
4286 of x_new_fontset.
4287 (w32_load_system_font): Initialize charset as unicode.
4288 font_info.encoding becomes encoding_type.
1f45f627
GM
4289 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
4290 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
aca7a3d2
MB
4291 (syms_of_w32fns): Set get_font_repertory_func.
4292
1f45f627 4293 * w32console.c: Include character.h. Use terminal_encode_buffer
aca7a3d2 4294 from term.c.
1f45f627 4295 (write_glyphs): Use new version of encode_terminal_code. Use
aca7a3d2
MB
4296 encode_coding_object in place of encode_coding.
4297
4298 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
4299 encoding becomes encoding_type.
4300
4301 * term.c (terminal_encode_buffer): Make externally visible.
4302
4303 * makefile.w32-in: Add character.h dependancies.
4304 (character.o, chartab.o): New targets.
4305
73acf815 43062008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4307
4308 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
1f45f627 4309 CODING_ID_EOL_TYPE.
aca7a3d2 4310
73acf815 43112008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2
MB
4312
4313 * coding.c (produce_chars): Revert last change.
4314
73acf815 43152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4316
4317 * charset.h (charset_unicode): Extern it.
4318
4319 * charset.c (string_xstring_p): Check by (C >= 0x100).
1f45f627 4320 (find_charsets_in_text): Change format of the arc CHARSETS. New
aca7a3d2 4321 arg MULTIBYTE.
1f45f627 4322 (Ffind_charset_region, Ffind_charset_string): Adjust for the
aca7a3d2
MB
4323 change of find_charsets_in_text.
4324 (Fsplit_char): Fix doc. Never return unknown.
4325
4326 * chartab.c (char_table_translate): Use CHARACTERP, not INETEGERP.
4327
4328 * coding.c (Fdefine_coding_system_alias): Update
4329 Vcoding_system_list.
4330
4331 * fontset.c (load_font_get_repertory): Pay attention to the case
4332 that ENCODING of a font is specified by a char-table.
4333
4334 * xterm.c (x_get_font_repertory): Handle the case that the
4335 encoding of font is other than Unicode.
4336
73acf815 43372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4338
4339 * term.c (encode_terminal_code): Don't handle glyph-table. Check
4340 if a character is encodable by the terminal coding system. If
4341 not, produces proper number of `?'s. Update
4342 terminal_encode_buffer and terminal_encode_buf_size if necessary.
4343 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
4344
73acf815 43452008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4346
4347 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
4348 variables.
1f45f627 4349 (encode_terminal_code): Change argument. Encode multiple
aca7a3d2
MB
4350 characters at once. Store the result of encoding in
4351 terminal_encode_buffer.
4c4475a8
GM
4352 (write_glyphs, insert_glyphs): Adjust for the change of
4353 encode_terminal_code.
aca7a3d2
MB
4354 (term_init): Initialize terminal_encode_buffer and
4355 terminal_encode_buf_size.
4356
4357 * coding.c (consume_chars): If coding->src_object is nil, don't
4358 check annotation.
4359
73acf815 43602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4361
4362 * character.c (char_string): Use ASCII_CHAR_P instead of
4363 SINGLE_BYTE_CHAR_P.
4364
73acf815 43652008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4366
4367 * xdisp.c (handle_auto_composed_prop): Check if the last
4368 characters of auto-composed region is newly composed with the
4369 following characters.
4370 (handle_composition_prop): Fix checking of point being inside
4371 composition.
4372
73acf815 43732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4374
4375 * fns.c (concat): Don't change multibyteness of the result by
4376 concatenating an 8-bit character.
4377
4378 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
4379 multibyteness of the result when newelt is an 8-bit character.
4380
73acf815 43812008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4382
4383 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
4384 EMACS_INT.
4385
4386 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
4387
4388 * xfaces.c (face_numeric_value): Declare dim size_t.
4389 (Finternal_lisp_face_equal_p): Remove unused f.
4390
4391 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
4392 (MATRIX_ROW): Remove unused vars.
4393 (draw_glyphs, x_insert_glyphs, fast_find_position)
4394 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
4395 byte/char counts.
4396
4397 * regex.c (regex_compile): Remove unused var.
4398
4399 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
4400
4401 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
4402 (Faccessible_keymaps, where_is_internal): Remove unused vars.
4403
4404 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
4405
4406 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
4407
4408 * fileio.c (Fwrite_region): Remove unused var.
4409
4410 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
4411 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
4412
4413 * composite.c (Fremove_list_of_text_properties): Declare.
4414
1f45f627
GM
4415 * coding.c (inhibit_pre_post_conversion): Remove (unused).
4416 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
aca7a3d2
MB
4417 (coding_inherit_eol_type): Remove unused attrs.
4418 (detect_coding): Cast arg of detect_eol.
4419
4420 * charset.c (syms_of_charset): Remove unused var p.
4421 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
4422 byte/char counts.
4423
4424 * casetab.c (set_case_table): Remove unused var.
4425
4426 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
1f45f627 4427 unused vars.
aca7a3d2 4428
73acf815 44292008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4430
4431 * xterm.c (x_bitmap_mask): Declare.
4432
73acf815 44332008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4434
4435 * xterm.c (x_term_init): Fix type error.
4436
4437 * lisp.h: Add Funibyte_char_to_multibyte.
4438
4439 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
4440 (Fset_coding_system_priority): Doc fix.
4441
aca7a3d2
MB
4442 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
4443
4444 * indent.c (check_composition): Make start and end EMACS_INT.
4445
4446 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
4447
4448 * xdisp.c (handle_composition_prop, check_point_in_composition):
4449 Make buffer positions EMACS_INT.
4450
4451 * composite.c (find_composition, run_composition_function)
4452 (update_compositions, Ffind_composition_internal): Make buffer
4453 positions EMACS_INT.
4454
4455 * composite.h (find_composition, update_compositions): Make
4456 position args EMACS_INT.
4457
1f45f627 4458 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
aca7a3d2
MB
4459
4460 * intervals.c (get_property_and_range):
4461 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
4462
4463 * unexalpha.c: Don't include varargs.h.
4464
73acf815 44652008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4466
4467 * coding.h (ENCODE_UTF_8): New.
4468
4469 * Makefile.in (gtkutil.o): Depend on coding.h.
4470
4471 * coding.c (Fset_coding_system_priority): Doc fix.
4472
73acf815 44732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4474
4475 * fileio.c (Finsert_file_contents): Call setup_coding_system in
4476 the case of auto saving.
4477
73acf815 44782008-02-01 Andreas Schwab <schwab@suse.de>
aca7a3d2 4479
4c4475a8
GM
4480 * chartab.c (map_char_table, map_char_table_for_charset): Protect
4481 `range' from GC.
aca7a3d2 4482
73acf815 44832008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4484
4485 * coding.c (decode_coding_sjis): Check bytes more rigidly.
4486
73acf815 44872008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4488
1f45f627 4489 * fileio.c (choose_write_coding_system): Return a decided coding system.
aca7a3d2
MB
4490 (Fwrite_region): Set Vlast_coding_system_used to the return value
4491 of choose_write_coding_system.
4492
73acf815 44932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4494
4495 * charset.c (Fset_charset_priority): Pay attention to duplicated
4496 arguments.
4497
4498 * coding.c (QCcategory): New variable.
4499 (syms_of_coding): Defsym it. Set all elements of
4500 Vcoding_category_table and their symbol values.
4501 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
4502 coding-category-XXX, and coding-category-list.
4503 (Fdefine_coding_system_internal): Add category in the plist.
4504
73acf815 45052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4506
4507 * callproc.c (Fcall_process): Handle carryover correctly.
4508
1f45f627 4509 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
aca7a3d2
MB
4510 (raw_text_coding_system): Check NILP (coding_system).
4511 (coding_inherit_eol_type): Check NILP (coding_system) and
4512 NILP (parent).
4513 (consume_chars): Fix for the case of raw-text.
4514
4515 * process.c (read_process_output): Handle carryover correctly.
4516
73acf815 45172008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4518
4519 * regex.c (re_search_2): Fix last change.
4520
73acf815 45212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4522
4523 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
4524 target_multibyte. Even in a unibyte case, return a converted
4525 multibyte char.
4526 (GET_CHAR_AFTER): New macro.
4527 (PATFETCH): Translate via multibyte char.
4528 (HANDLE_UNIBYTE_RANGE): Delete this macro.
4529 (SETUP_MULTIBYTE_RANGE): New macro.
4530 (regex_compile): Setup compiled code so that its multibyteness
4531 matches that of a target. Fix the handling of "[X-YZ]" using
4532 SETUP_MULTIBYTE_RANGE.
4533 (analyse_first) <charset>: For filling fastmap for all multibyte
4534 characters, don't check by BASE_LEADING_CODE_P.
4535 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
4536 the same as RE_MULTIBYTE_P (bufp) now.
1f45f627 4537 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
aca7a3d2
MB
4538 (TARGET_CHAR_AND_LENGTH): Delete this macro.
4539 (TRANSLATE_VIA_MULTIBYTE): New macro.
4540 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
4541 It is the same as RE_MULTIBYTE_P (bufp) now.
4542 <exactn>: Translate via multibyte.
4543 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
4544 translate it.
4545 <charset, charset_not>: Fetch a character by
4546 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
4547 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
4548 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
4549 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
4550 by GET_CHAR_AFTER.
c5ad7a3d 4551 (bcmp_translate): Likewise.
aca7a3d2
MB
4552
4553 * search.c (compile_pattern): Check the member target_multibyte,
4554 not the member multibyte of buf.
4555
4556 * lread.c (read1): While reading a string, set force_singlebyte
4557 and force_multibyte correctly.
4558
4c4475a8
GM
4559 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
4560 up of unibyte_to_multibyte_table.
aca7a3d2 4561
73acf815 45622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4563
4564 * coding.c (setup_coding_system): If coding has
4565 post-read-conversion or pre-write-conversion, set
4566 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
4567 respectively.
4568 (decode_coding_gap): Run post-read-conversion if any.
4569
4570 * fileio.c (Finsert_file_contents): Even if we read into a
4571 unibyte buffer, check if we must decode the result or not.
4572
73acf815 45732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4574
4575 * coding.c (make_conversion_work_buffer): Change the work buffer
4576 name to the same one as that of Emacs 21.
4577
73acf815 45782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4579
1f45f627 4580 * coding.h (make_conversion_work_buffer): Adjust prototype.
aca7a3d2
MB
4581 (code_conversion_restore): Don't extern it.
4582
4583 * coding.c (detected_mask): Delete unused variable.
4584 (decode_coding_iso_2022): Pay attention to the byte sequence of
4585 CTEXT extended segment, and retain those bytes as is.
4586 (decode_coding_ccl): Delete unused variable `valids'.
4587 (setup_coding_system): Delete unused variable `category'.
4588 (consume_chars): Delete unused variable `category'. Make it work
4589 for non-multibyte case.
1f45f627 4590 (make_conversion_work_buffer): Change argument.
aca7a3d2
MB
4591 (saved_coding): Delete unused variable.
4592 (code_conversion_restore): Don't check saved_coding->destination.
4593 (code_conversion_save): New function.
4594 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
4595 instead of record_unwind_protect.
1f45f627 4596 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
aca7a3d2 4597 (detect_coding_system): Delete unused variable `mask'.
1f45f627 4598 (Fdefine_coding_system_internal): Delete unused vaiable id.
aca7a3d2
MB
4599
4600 * fileio.c (kill_workbuf_unwind): New function.
4601 (Finsert_file_contents): On replacing, call
4602 make_conversion_work_buffer with correct args, and call
4603 record_unwind_protect with the first arg kill_workbuf_unwind.
4604
4605 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
4606
73acf815 46072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4608
1f45f627 4609 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
aca7a3d2
MB
4610 (fontset_add): Fix for the case that TO is less than TO1.
4611 (Ffontset_info): Don't use fallback fontset on checking the
4612 default fontset.
4613 (dump_fontset): New function for debugging.
4614
4615 * coding.c (Fdefine_coding_system_internal): Fix for the case that
4616 coding_type is Qcharset.
4617
73acf815 46182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4619
4620 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
4621 (map_char_table): Don't inherit the value from the parent on
1f45f627 4622 initializing VAL. Adjust for the above change.
aca7a3d2 4623
73acf815 46242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4625
4626 * coding.c (Qsignature, Qendian): Delete these variables.
4627 (syms_of_coding): Don't initialize them.
4628 (CATEGORY_MASK_UTF_16_AUTO): New macro.
4629 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
4630 detect_info->found.
4631 (decode_coding_utf_16): Don't detect BOM here.
4632 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
4633 is NOT utf_16_without_bom.
4634 (setup_coding_system): For a coding system of type utf-16, check
4635 if the attribute :endian is Qbig or not (not nil or not), and set
4636 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
4637 (detect_coding): If coding type is utf-16 and BOM detection is
4638 required, detect it.
4639 (Fdefine_coding_system_internal): For a coding system of type
1f45f627 4640 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
aca7a3d2 4641
73acf815 46422008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4643
4644 * coding.c (coding_set_source): Fix for the case that the current
4645 buffer is different from coding->src_object.
4646 (decode_coding_object): Don't use the conversion work buffer if
4647 DST_OBJECT is a buffer.
4648
73acf815 46492008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4650
4651 * lread.c (read_emacs_mule_char) [len==2]: Index
4652 emacs_mule_charset correctly.
4653
73acf815 46542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4655
4656 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
4657 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
1f45f627 4658 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
aca7a3d2
MB
4659 treated specially.)
4660 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
4661 (detected_mask): Remove Big5 bits.
4662
73acf815 46632008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4664
4665 The following changes are to make the font rescaling facility
4666 compatible with Emacs 21.
4667
1f45f627 4668 * xfaces.c (Vface_font_rescale_alist): Rename from
aca7a3d2
MB
4669 Vface_resizing_fonts.
4670 (struct font_name): Rename member resizing_ratio to rescale_ratio.
1f45f627 4671 (font_rescale_ratio): Rename from font_resizing_ratio.
aca7a3d2
MB
4672 (split_font_name): Set font->rescale_ratio.
4673 (better_font_p): Pay attention to font->rescale_ratio.
4674 (build_scalable_font_name): Likewise. Change RESX, and RESY
4675 fields.
1f45f627 4676 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
aca7a3d2 4677
73acf815 46782008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4679
4680 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
4681 (Qutf_16_le): Remove these variables.
4682 (syms_of_coding): Don't DEFSYM them.
4683 (decode_coding_utf_16): Fix handling of BOM.
4684 (encode_coding_utf_16): Fix handling of BOM.
4685
73acf815 46862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4687
4688 * fileio.c (Finsert_file_contents): On replacing, before decoding
1f45f627 4689 the file into the work buffer, set point of the work buffer to the end.
aca7a3d2 4690
73acf815 46912008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4692
4693 * coding.c (Fcheck_coding_systems_region): Fix type errors.
4694
73acf815 46952008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4696
4697 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
4698 and fix C types.
4699
73acf815 47002008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4701
4702 * xdisp.c (SKIP_GLYPHS): New macro.
4703 (set_cursor_from_row): Pay attention to string display properties.
4704
4705 * category.c (copy_category_entry): Fix for the case that RANGE
4706 is an integer.
4707
4708 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
4709
1f45f627 4710 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
aca7a3d2 4711
73acf815 47122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4713
4714 * charset.c (Fcharset_id_internal): New function.
4715 (syms_of_charset): Defsubr it.
4716
4717 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
4718 with the last arg charset_list acquired from coding.
4719 (Fdefine_coding_system_internal): For ccl-based coding system, fix
4720 the attribute coding_attr_ccl_valids.
4721
4722 * coding.h (enum define_coding_ccl_arg_index): Set the first
4723 member coding_arg_ccl_decoder to coding_arg_max.
4724
1f45f627 4725 * ccl.h (ccl_driver): Adjust prototype.
aca7a3d2
MB
4726
4727 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
4728 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
4729 of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
4c4475a8
GM
4730 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
4731 last arg Qnil.
aca7a3d2 4732
73acf815 47332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4734
4735 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
4736 call encode_char.
4737
1f45f627 4738 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
aca7a3d2 4739
73acf815 47402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 4741
1f45f627 4742 * composite.c (syms_of_composite): Make composition_hash_table weak.
aca7a3d2 4743
73acf815 47442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4745
4746 * dispextern.h (check_face_attributes, generate_ascii_font_name)
4747 (font_name_registry): Don't extern them.
1f45f627 4748 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
aca7a3d2
MB
4749
4750 * fontset.h (Qfontset): Don't extern it.
4751 (new_fontset_from_font_name): Extern it.
4752
4753 * fontset.c: Give 8 extra slots to fontset objects.
4754 (Qfontset_info): New variable.
4755 (syms_of_fontset): Defsym it.
4756 (FONTSET_FALLBACK): New macro.
4757 (fontset_face): Try also the default fontset.
1f45f627
GM
4758 (make_fontset): Realize a fallback fontset from the default fontset.
4759 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
aca7a3d2
MB
4760 using split_font_name_into_vector and build_font_name_from_vector.
4761 (Fset_fontset_font): Access the elements of font_spec by enum
4762 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
4763 name by using split_font_name_into_vector.
4764 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
4765 generate a proper font name from the fontset name. Update
4766 Vfontset_alias_alist.
4767 (n_auto_fontsets): New variable.
4768 (new_fontset_from_font_name): New function.
4769 (Ffont_info): Store the information about fonts generated from the
1f45f627 4770 default fontset in the first extra slot of the returned char-table.
aca7a3d2 4771
1f45f627
GM
4772 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
4773 (font_name_registry): Delete function.
aca7a3d2
MB
4774 (split_font_name_into_vector): New function.
4775 (build_font_name_from_vector): New function.
1f45f627 4776 (font_list): The argument REGISTRY is now a list of registry names.
aca7a3d2
MB
4777 (choose_face_font): If we are choosing an ASCII font, and ATTRS
4778 specifies an explicit font name, return the name as is. Make a
4779 list of registy names.
4780
1f45f627 4781 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
aca7a3d2
MB
4782 of x_new_fontset.
4783 (Fx_create_frame): Don't call x_new_fontset here. Just use
4784 x_list_fonts to check the existence of fonts.
4785
1f45f627 4786 * xterm.h (x_new_fontset): Adjust prototype.
aca7a3d2
MB
4787
4788 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
4789 string. Use new_fontset_from_font_name to create a fontset from a
4790 font name.
4791
1c8658b9
GM
47922008-02-01 Kenichi Handa <handa@m17n.org>
4793
4794 * syntax.c (Vfind_word_boundary_function_table): New name for
4795 Vnext_word_boundary_function_table.
4796 (find-word-boundary-function-table): New name for
4797 next-word-boundary-function-table.
4798
73acf815 47992008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4800
4801 * Makefile.in: Fix some dependencies.
4802
4803 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
4804 set it to nil before returning.
4805
4806 * composite.c (update_compositions): Fix type error.
4807
4808 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
4809
73acf815 48102008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4811
4812 * xterm.c (x_new_font): Optimize for the case that the font is
4813 already set for the frame.
4814
73acf815 48152008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4816
4817 * chartab.c (char_table_ascii): Check if the char table contents
4818 is sub-char-table or not.
4c4475a8
GM
4819 (char_table_set, char_table_set_range): Fix argument to
4820 char_table_ascii.
aca7a3d2
MB
4821
4822 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
4823 (detect_coding_utf_8, detect_coding_utf_16)
4824 (detect_coding_emacs_mule, detect_coding_iso_2022)
4825 (detect_coding_sjis, detect_coding_big5)
4826 (detect_coding_ccl, detect_coding_charset): Change argument MASK
4827 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
1f45f627 4828 sequence is valid in this coding system. Change callers.
aca7a3d2
MB
4829 (MAX_ANNOTATION_LENGTH): New macro.
4830 (ADD_ANNOTATION_DATA): New macro.
1f45f627
GM
4831 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
4832 ADD_ANNOTATION_DATA. Change the format of annotation data.
aca7a3d2 4833 (ADD_CHARSET_DATA): New macro.
1f45f627 4834 (emacs_mule_char): New argument ID. Change callers.
aca7a3d2
MB
4835 (decode_coding_emacs_mule, decode_coding_iso_2022)
4836 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
4837 Produce charset annotation data in coding->charbuf.
4838 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
4839 to charset annotation data in coding->charbuf.
4840 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
4841 coding->common_flags if the coding system is iso-2022 based and
4842 uses designation.
1f45f627 4843 (produce_composition): Adjust for the new annotation data format.
aca7a3d2
MB
4844 (produce_charset): New function.
4845 (produce_annotation): Handle charset annotation.
4846 (handle_composition_annotation, handle_charset_annotation): New
4847 functions.
4848 (consume_chars): Handle charset annotation. Utilize the above two
4849 functions.
4850 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
4851 buffer, get the deleted text as a string and set
4852 coding->src_object to that string.
4853 (detect_coding, detect_coding_system): Use the new struct
4854 coding_detection_info.
4855
4856 * coding.h (struct coding_detection_info): New structure.
1f45f627 4857 (struct coding_system): Adjust prototype of the member `detector'.
aca7a3d2
MB
4858 (CODING_ANNOTATE_CHARSET_MASK): New macro.
4859
73acf815 48602008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4861
4862 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
4863
73acf815 48642008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 4865
1f45f627 4866 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
aca7a3d2
MB
4867 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
4868 to new local and nullify apropos_accumulate before returning.
4869 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
4870
73acf815 48712008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4872
4873 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
4874 correctly.
4875
73acf815 48762008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4877
4878 * fns.c (Flanginfo): Call synchronize_system_time_locale.
4879
73acf815 48802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4881
4882 The following changes are to make character composition happen
4883 automatically on displaying.
4884
4885 * Makefile.in (lisp, shortlisp): Add composite.elc
4886
1f45f627
GM
4887 * composite.h (Qauto_composed, Vauto_composition_function)
4888 (Qauto_composition_function): Extern them.
aca7a3d2 4889
1f45f627
GM
4890 * composite.c (Vcomposition_function_table)
4891 (Qcomposition_function_table): Delete variables.
4892 (Qauto_composed, Vauto_composition_function)
4893 (Qauto_composition_function): New variables.
aca7a3d2
MB
4894 (run_composition_function): Don't call
4895 compose-chars-after-function.
4896 (update_compositions): Clear `auto-composed' text property.
4897 (compose_chars_in_text): Delete this function.
4898 (syms_of_composite): Staticpro Qauto_composed and
4899 Qauto_composition_function. Declare Vauto_composition_function as
4900 a Lisp variable.
4901
4902 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
4903
4904 * xdisp.c (it_props): Add an entry for Qauto_composed.
4905 (handle_auto_composed_prop): New function.
4906
4907 * xselect.c (selection_data_to_lisp_data): Don't call
4908 compose_chars_in_text.
4909
73acf815 49102008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4911
4912 * keyboard.c (read_char): Modify checking around use of
4913 Vkeyboard_translate_table.
4914
4915 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
4916 and fix C types.
4917
73acf815 49182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4919
4c4475a8
GM
4920 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
4921 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
4922 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
aca7a3d2 4923 the case that the last byte is '\r' correctly.
1f45f627
GM
4924 (decode_coding): Flush out the unprocessed data correctly.
4925 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
aca7a3d2 4926
73acf815 49272008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4928
4929 * xterm.c (XTread_socket): Fix changes for defined keysyms. Add
4930 XK_ISO... case.
4931 (xaw_scroll_callback): Revert last change.
4932
73acf815 49332008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4934
1f45f627 4935 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
aca7a3d2 4936
73acf815 49372008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4938
4939 * xfaces.c (Vface_resizing_fonts): New variable.
4940 (struct font_name): New member `resizing_ratio'.
4941 (font_resizing_ratio): New function.
4942 (split_font_name): Set font->resizing_ratio.
4943 (better_font_p): Pay attention to font->resizing_ratio.
4944 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
4945 RESX, and RESY fields.
4946 (try_alternative_families): Try scalable fonts if
4947 Vscalable_fonts_allowed is not Qt.
4948 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
4949
73acf815 49502008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4951
4952 * xterm.c (xaw_scroll_callback): Cast correctly.
4953
73acf815 49542008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4955
4956 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
4957 (lispy_kana_keys): Comment out.
4958 (make_lispy_event) [XK_kana_A]: Comment out.
4959
4960 * xterm.c (xaw_scroll_callback): Cast call_data.
4961 (XTread_socket): Deal with ASCII keysyms.
4962 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
4963
73acf815 49642008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4965
4966 * xterm.c (Vx_keysym_table): New.
4967 (syms_of_xterm): Initialize it.
4968 (XTread_socket): Use it.
4969 From head: Eliminate incorrect optimization that tried to avoid
4970 decoding the output of X*LookupString.
4971 (x_get_font_repertory): Delete charset declaration.
4972
73acf815 49732008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 4974
1f45f627
GM
4975 * coding.c (detect_coding_charset): If only ASCII bytes are found,
4976 return 0.
aca7a3d2
MB
4977 (Fdefine_coding_system_internal): Setup
4978 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
4979
73acf815 49802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
4981
4982 * coding.c (Fcheck_coding_system): Doc fix.
4983
4984 * editfns.c (Finsert_byte): Return a proper value.
4985
73acf815 49862008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
4987
4988 * coding.c (decode_coding): Fix args to translate_chars. Pay
4989 attention to Vstandard_translation_table_for_decode.
4990 (encode_coding): Fix args to translate_chars. Pay attention to
4991 Vstandard_translation_table_for_encode.
4992
4993 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
4994 SINGLE_BYTE_CHAR_P.
4995
4996 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
4997 not by SINGLE_BYTE_CHAR_P.
4998
4999 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
5000 SINGLE_BYTE_CHAR_P.
5001
5002 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
5003 SINGLE_BYTE_CHAR_P.
5004
5005 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
5006 by SINGLE_BYTE_CHAR_P.
5007
5008 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
5009 SINGLE_BYTE_CHAR_P.
5010
73acf815 50112008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5012
5013 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
5014
73acf815 50152008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5016
5017 * fns.c (Flanginfo): Fix typo.
5018
5019 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
5020
73acf815 50212008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5022
4c4475a8
GM
5023 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
5024 (detect_coding_emacs_mule, detect_coding_iso_2022)
5025 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
5026 incomplete byte sequence. Don't update *mask when correctly detected.
aca7a3d2 5027 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
1f45f627 5028 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
4c4475a8 5029 (detect_coding, detect_coding_system): Adjust for the changes above.
aca7a3d2 5030
73acf815 50312008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5032
1f45f627
GM
5033 * character.c (char_string): Rename from
5034 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
5035 (string_char): Rename from string_char.
aca7a3d2 5036
4c4475a8
GM
5037 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
5038 if C is greater than MAX_3_BYTE_CHAR.
5039 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
5040 string_char instead of string_char_with_unification.
aca7a3d2 5041
73acf815 50422008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5043
5044 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
5045
73acf815 50462008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5047
1f45f627 5048 * keymap.c (push_key_description): Pay attention to force_multibyte.
aca7a3d2
MB
5049
5050 * regex.c (re_search_2): Fix for the case of unibyte buffer.
5051
73acf815 50522008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5053
5054 * charset.c (define_charset_internal): Rename `supprementary'.
5055
5056 * Makefile.in (lisp, shortlisp): Remove latin-N.
5057
73acf815 50582008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5059
5060 * xfns.c (x_window, x_window): Use use_xim.
5061
5062 * xterm.c (use_xim): Initialize.
5063 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
5064 (x_term_init): Maybe set use_xim.
5065
5066 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
5067
73acf815 50682008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5069
5070 * search.c (search_buffer): Fix case-fold-search of multibyte
5071 characters.
5072 (boyer_moore): Rename the last argument to char_high_bits.
5073
73acf815 50742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5075
5076 * xdisp.c (display_string): Fix for the case of zero width glyph.
5077
5078 * xfns.c (x_set_font): Change the error message of the case that
5079 x_new_fontset returns Qt.
5080
5081 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
5082 (Finternal_set_lisp_face_attribute): Use signal_error for the
5083 error of invalid fontset.
5084
5085 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
5086 fontset, return Qt.
5087
73acf815 50882008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 5089
aca7a3d2
MB
5090 * unexelf.c (unexec): Make .got handling not SGI-specific.
5091
5092 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
5093
5094 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
5095
5096 * keyboard.c (read_key_sequence): Fix type error.
5097
5098 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
5099 type error.
5100
5101 * fontset.c (fontset_add): Return Lisp_Object.
5102
73acf815 51032008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5104
5105 * charset.h (charset_ordered_list_tick): Declare extern.
5106
73acf815 51072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5108
73acf815 5109 The following changes (and some of 2008-02-01 changes of mine) are
aca7a3d2
MB
5110 for handling syntax, category, and case conversion for unibyte
5111 characters by converting them to multibyte on the fly. With these
5112 changes, we don't have to setup syntax and case tables for unibyte
5113 characters in each language environment.
5114
5115 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
5116 multibyte if necessary.
5117
5118 * bytecode.c (Fbyte_code): Likewise.
5119
5120 * character.h (LEADING_CODE_LATIN_1_MIN)
5121 (LEADING_CODE_LATIN_1_MAX): New macros.
5122 (unibyte_to_multibyte_table): Extern it.
5123 (unibyte_char_to_multibyte): New macro.
5124 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
5125 (CHAR_LEADING_CODE): New macro.
5126 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
5127
5128 * character.c (unibyte_to_multibyte_table): New variable.
1f45f627 5129 (unibyte_char_to_multibyte): Move to character.h and define as macro.
aca7a3d2
MB
5130 (multibyte_char_to_unibyte): If C is an eight-bit character,
5131 convert it to the corresponding byte value.
5132
5133 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
5134 not 1, singals an error. Update the elements of
5135 unibyte_to_multibyte_table.
5136 (init_charset_once): Initialize unibyte_to_multibyte_table.
5137 (syms_of_charset): Define the charset `iso-8859-1'.
5138
aca7a3d2
MB
5139 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
5140 as is without converting it to unibyte. In a unibyte buffer,
5141 convert C to multibyte before checking the syntax.
5142
1f45f627 5143 * lisp.h (unibyte_char_to_multibyte): Delete extern.
aca7a3d2
MB
5144
5145 * minibuf.c (Fminibuffer_complete_word): Use the macro
5146 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
5147
5148 * regex.h (struct re_pattern_buffer): New member target_multibyte.
5149
5150 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
5151 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
5152 that is zero, convert an eight-bit char to multibyte.
5153 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
5154 non-emacs case.
5155 (PATFETCH): Convert an eight-bit char to multibyte.
5156 (HANDLE_UNIBYTE_RANGE): New macro.
5157 (regex_compile): Setup the compiled pattern for multibyte chars
5158 even if the given regex string is unibyte. Use PATFETCH_RAW
5159 instead of PATFETCH in many places. To handle `charset'
c5ad7a3d 5160 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
aca7a3d2 5161 only for ASCII chars.
1f45f627 5162 (analyse_first) <exactn>: Simplify because the compiled pattern
aca7a3d2
MB
5163 is multibyte.
5164 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
5165 <charset>: Use CHAR_LEADING_CODE to get leading codes.
1f45f627 5166 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
aca7a3d2
MB
5167 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
5168 multibyte always 1.
5169 (re_search_2): In emacs, set the locale variable multibyte to 1,
5170 otherwise to 0. New local variable target_multibyte. Check it
5171 to decide the multibyteness of STR1 and STR2. If
5172 target_multibyte is zero, convert unibyte chars to multibyte
5173 before translating and checking fastmap.
5174 (TARGET_CHAR_AND_LENGTH): New macro.
5175 (re_match_2_internal): In emacs, set the locale variable multibyte
5176 to 1, otherwise to 0. New local variable target_multibyte. Check
5177 it to decide the multibyteness of STR1 and STR2. Use
5178 TARGET_CHAR_AND_LENGTH to fetch a character from D.
5179 <charset, charset_not>: If multibyte is nonzero, check fastmap
c5ad7a3d 5180 only for ASCII chars. Call bcmp_translate with
aca7a3d2
MB
5181 target_multibyte, not with multibyte.
5182 <begline>: Declare the local variable C as `unsigned'.
5183 (bcmp_translate): Change the last arg name to target_multibyte.
5184
5185 * search.c (compile_pattern_1): Don't adjust the multibyteness of
5186 the regexp pattern and the matching target. Set cp->buf.multibyte
5187 to the multibyteness of the regexp pattern. Set
1f45f627 5188 cp->but.target_multibyte to the multibyteness of the matching target.
aca7a3d2
MB
5189 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
5190 FETCH_STRING_CHAR_ADVANCE.
5191 (Freplace_match): Convert unibyte chars to multibyte.
5192
4c4475a8
GM
5193 * syntax.c (char_quoted, back_comment, scan_words)
5194 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
5195 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
aca7a3d2 5196 unibyte chars to multibyte.
1f45f627
GM
5197 (skip_chars): Delete the arg syntaxp, and move the code for
5198 handling syntaxes to skip_syntaxes. Change callers.
aca7a3d2
MB
5199 Fix the case that the multibyteness of STRING and the current
5200 buffer doesn't match.
5201 (skip_syntaxes): New function.
5202 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
5203 SINGLE_BYTE_CHAR_P.
aca7a3d2 5204
73acf815 52052008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5206
5207 * xfaces.c (QCfontset): New variable.
5208 (LFACE_FONTSET): New macro.
5209 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
5210 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
4c4475a8
GM
5211 (Finternal_set_lisp_face_attribute)
5212 (Finternal_get_lisp_face_attribute): Handle QCfontset.
aca7a3d2
MB
5213 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
5214 check also LFACE_FONTSET_INDEX.
5215 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
5216 attrs[LFACE_FONT_INDEX].
5217 (syms_of_xfaces): Intern and staticpro QCfontset.
5218
5219 * dispextern.h (enum lface_attribute_index): New member
5220 LFACE_FONTSET_INDEX.
5221
5222 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
5223
73acf815 52242008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5225
5226 * coding.c (coding_set_destination): Fix coding->destination for
5227 the case converting a region.
5228 (encode_coding_utf_8): Encode eight-bit chars as single byte.
5229 (encode_coding_object): Fix coding->dst_pos and
5230 coding->dst_pos_byte for the case converting a region.
5231
5232 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
5233
5234 * character.h (BYTE8_STRING): New macro.
5235
5236 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
5237
73acf815 52382008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5239
5240 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
5241 characters by octal form.
5242
5243 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
5244
1f45f627 5245 * buffer.h (_fetch_multibyte_char_len): Delete extern.
4c4475a8
GM
5246 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
5247 _fetch_multibyte_char_len.
aca7a3d2
MB
5248 (FETCH_CHAR_AS_MULTIBYTE): New macro.
5249
1f45f627 5250 * casetab.c (set_canon, set_identity, shuffle): Simplify.
aca7a3d2 5251
1f45f627 5252 * casefiddle.c (casify_object): Simplify. Handle the case that
aca7a3d2 5253 the case conversion change the byte length.
1f45f627 5254 (casify_region): Likewise.
aca7a3d2 5255
1f45f627 5256 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
aca7a3d2 5257
1f45f627 5258 * character.c (_fetch_multibyte_char_len): Delet this variable.
aca7a3d2
MB
5259 (syms_of_character): Setup Vprintable_chars.
5260
5261 * editfns.c (Fchar_equal): Fix for the unibyte case.
5262 (Finsert_byte): New function.
5263 (syms_of_editfns): Defsubr it.
5264
5265 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
5266 of direct code 0x3ffff.
5267
5268 * search.c (Freplace_match): Fix for the unibyte case.
5269
73acf815 52702008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5271
5272 * lread.c (safe_to_load_p): Fix the logic.
5273
5274 * syntax.c (scan_words): Don't treat characters belonging to
5275 different scripts as constituting a word.
5276
5277 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
5278
1f45f627 5279 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
aca7a3d2
MB
5280
5281 * emacs.c (main): In the case of --unibyte, instead of aborting on
5282 finding non-empty buffer, make it unibyte.
5283
73acf815 52842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5285
5286 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
5287 to create a fontset.
5288
73acf815 52892008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5290
5291 * character.c (Funibyte_char_to_multibyte): Doc fix.
5292
5293 * xfns.c [HAVE_STDLIB_H]: Fix last change.
5294
73acf815 52952008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5296
5297 * fontset.c (fontset_add): Make the type `int'.
5298 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
5299
4c4475a8
GM
5300 * character.c (unibyte_char_to_multibyte)
5301 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
aca7a3d2 5302 charset_unibyte, not charset_primary.
aca7a3d2 5303
1f45f627 5304 * charset.h (charset_unibyte): Extern it instead of charset_primary.
aca7a3d2 5305
1f45f627
GM
5306 * charset.c (charset_unibyte): Rename from charset_primary.
5307 (Funibyte_charset): Rename from Fprimary_charset.
5308 (Fset_unibyte_charset): Rename from Fset_primary_charset.
5309 (syms_of_charset): Adjust for the above changes.
aca7a3d2
MB
5310
5311 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
5312 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
5313 it->multibyte_p is zero.
5314
5315 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
1f45f627 5316 Delete extern.
aca7a3d2 5317
73acf815 53182008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5319
5320 * coding.c (Fdefine_coding_system_internal): Fix category setting
5321 for a coding system of type iso-2022.
5322
73acf815 53232008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5324
1f45f627 5325 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
aca7a3d2 5326
73acf815 53272008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5328
5329 * syntax.c (Vnext_word_boundary_function_table): New variable.
1c8658b9
GM
5330 (next-word-boundary-function-table): Declare it as a Lisp variable
5331 in syms_of_syntax.
aca7a3d2
MB
5332 (scan_words): Call functions in Vnext_word_boundary_function_table
5333 if any.
5334
5335 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
5336
5337 * fontset.c (fs_load_font): If fontp->charset is not negative,
5338 return fontp without setting its members.
5339
73acf815 53402008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 5341
aca7a3d2
MB
5342 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
5343
5344 * m/sparc.h (HAVE_ALLOCA): Delete.
5345
5346 * s/irix6-5.h: Don't include strings.h.
5347 (bcopy, bzero, bcmp): Don't undef.
5348
5349 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
5350
5351 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
5352 (TIOCSIGSEND): Don't test IRIX6.
5353 (bcopy, bzero, bcmp): Define conditionally.
5354
73acf815 53552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5356
5357 * buffer.c (Qas, Qmake, Qto): New variables.
1f45f627 5358 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
aca7a3d2
MB
5359 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
5360
5361 * callproc.c (Fcall_process): Don't call insert_1_both directly if
5362 we are inserting a process output into a multibyte buffer.
5363
5364 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
5365 multibyte_char_to_unibyte.
5366
5367 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
5368 by the primary charset, make it eight-bit char.
5369 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
5370
1f45f627
GM
5371 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
5372 (charset_8_bit__control, charset_8_bit_graphic)
5373 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
aca7a3d2
MB
5374 (define_charset_internal): New function.
5375 (syms_of_charset): Call define_charset_internal for pre-defined
5376 charsets.
5377
5378 * charset.h (charset_8_bit): Extern it.
5379
1f45f627 5380 * coding.c (make_conversion_work_buffer): Adjust for the change
aca7a3d2
MB
5381 of Fset_buffer_multibyte.
5382 (encode_coding_raw_text): Increment p0 in the loop.
5383
1f45f627 5384 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
aca7a3d2 5385
1f45f627 5386 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
aca7a3d2
MB
5387 for the change of Fset_buffer_multibyte.
5388
5389 * fns.c (Fstring_to_multibyte): New function.
5390 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
5391
73acf815 53922008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5393
5394 * xfns.c (x_put_x_image): Declare args.
5395
1f45f627 5396 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
aca7a3d2
MB
5397 (try_font_list): Declare an arg.
5398
5399 * xdisp.c (message2_nolog, set_message): Declare an arg.
5400
5401 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
5402
5403 * syntax.c (scan_sexps_forward): Declare an arg.
5404
5405 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
5406 Declare an arg.
5407
5408 * lisp.h (Fnew_fontset): Declare.
5409
5410 * keymap.c (push_key_description): Call CHARACTERP correctly.
5411
1f45f627 5412 * fontset.c (fontset_add): Declare args. Call make_number correctly.
aca7a3d2
MB
5413 (face_for_char): Delete unused vars.
5414 (Fset_fontset_font): Doc fix. Delete unused vars.
5415
5416 * doc.c (Fsubstitute_command_keys): Delete unused vars.
5417
5418 * composite.c (update_compositions): Declare arg.
5419
5420 * cm.c (calccost, cmgoto): Declare args.
5421
5422 * charset.c: Remove `emacs' conditional. Doc fixes.
5423 (map_char_table_for_charset): Declare.
5424
1f45f627 5425 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
aca7a3d2 5426
1f45f627 5427 * ccl.c: Remove `emacs' conditional.
aca7a3d2 5428
73acf815 54292008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5430
5431 The following changes are to allow specifying multiple font
5432 patterns for a character range (specified by script or charset).
5433
5434 * Makefile.in (abbrev.o): Depend on syntax.h.
5435 (xfaces.o): Depend on charset.h.
5436
5437 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
5438 SINGLE_BYTE_CHAR_P.
5439
5440 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
5441
5442 * character.h (Vchar_script_table): Extern it.
5443
1f45f627 5444 * character.c (Vscript_alist): Delete.
aca7a3d2
MB
5445 (Vchar_script_table, Qchar_script_table): New variable.
5446 (syms_of_character): Declare Vchar_script_table as a lisp variable
5447 and initialize it.
5448
1f45f627 5449 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
aca7a3d2
MB
5450 have property char-table-extra-slots, make no extra slot.
5451
1f45f627 5452 * dispextern.h (struct face): Delete member `charset'.
4c4475a8
GM
5453 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
5454 SINGLE_BYTE_CHAR_P.
1f45f627
GM
5455 (choose_face_font, lookup_non_ascii_face, font_name_registry):
5456 Add prototypes.
5457 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
5458 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
5459
5460 * fontset.h (get_font_repertory_func): New prototype.
1f45f627 5461 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
aca7a3d2
MB
5462 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
5463
5464 * fontset.c (Qprepend, Qappend): New variables.
1f45f627 5465 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
aca7a3d2
MB
5466 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
5467 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
5468 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
5469 (fontset_ref_and_range, fontset_add, reorder_font_vector)
5470 (load_font_get_repertory): New functions.
1f45f627 5471 (fontset_set): Delete.
aca7a3d2 5472 (fontset_face): New arg FACE. Return face ID, not face.
1f45f627 5473 Complete re-write to handle new fontset structure. Change caller.
aca7a3d2
MB
5474 (free_face_fontset): Use ASET istead of AREF (X) = Y.
5475 (face_for_char): Don't call lookup_face.
5476 (make_fontset_for_ascii_face): New arg FACE.
5477 (fs_load_font): New arg CHARSET_ID. Don't check
5478 Vfont_encoding_alist here.
5479 (find_font_encoding): New function.
5480 (list_fontsets): Use STRINGP, not ! NILP.
5481 (accumulate_script_ranges): New function.
5482 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
5483 re-written to handle new fontset structure.
5484 (Ffontset_font): Return a copy of element.
5485 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
5486 docstring of font-encoding-alist.
5487
5488 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
5489 (Fset_fotset_font): Fix arguments to 5.
5490
1f45f627 5491 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
aca7a3d2
MB
5492
5493 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
5494 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
1f45f627 5495 (highlight_trailing_whitespace): Adjust for the change of
aca7a3d2
MB
5496 lookup_named_face.
5497
5498 * xfaces.c: Include charset.h.
1f45f627
GM
5499 (load_face_font): Delete argument C. Change caller.
5500 (generate_ascii_font_name): Rename from generate_ascii_font.
aca7a3d2
MB
5501 (font_name_registry): New function.
5502 (cache_face): Store ascii faces before non-ascii faces in buckets.
1f45f627 5503 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
aca7a3d2
MB
5504 Lookup only ascii faces.
5505 (lookup_non_ascii_face): New function.
1f45f627
GM
5506 (lookup_named_face): Delete argument C. Change caller.
5507 (lookup_derived_face): Delete argument C. Change caller.
5508 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
aca7a3d2 5509 a string, just call font_list with it.
1f45f627
GM
5510 (choose_face_font): Delete arguments FACE and C. New arg
5511 FONT_SPEC. Change caller.
4c4475a8
GM
5512 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
5513 Change caller.
aca7a3d2
MB
5514 (realize_non_ascii_face): New function.
5515 (realize_x_face): Call load_face_font here.
1f45f627 5516 (realize_tty_face): Delete argument C. Change caller.
aca7a3d2
MB
5517 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
5518 get a face ID.
5519 (dump_realized_face): Don't print charset of FACE.
5520
5521 * xfns.c (x_set_font): Always call x_new_fontset and
5522 store_frame_parameter.
5523 (Fx_create_frame): Call x_new_fontset, not x_new_font.
1f45f627 5524 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
aca7a3d2
MB
5525
5526 * xterm.h (x_get_font_repertory): Extern it.
5527
5528 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
5529 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
5530 it->multibyte_p is zero.
5531 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
5532 (x_new_fontset): If FONTSETNAME doesn't match any existing
5533 fontsets, create a new one.
5534 (x_get_font_repertory): New function.
5535
73acf815 55362008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5537
5538 * coding.c (Ffind_coding_systems_region_internal): Detect an
5539 ASCII only string correctly.
5540
5541 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
5542 version is 0.
5543
73acf815 55442008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5545
5546 * lread.c: Include "coding.h".
1f45f627
GM
5547 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
5548 (load_each_byte, unread_char): New variables.
5549 (readchar_backlog): Delete.
aca7a3d2
MB
5550 (readchar): Return a character unless load_each_byte is nonzero.
5551 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
5552 cons. If unread_char is not -1, simply return it.
5553 (unreadchar): Handle the case that readcharfun is
1f45f627
GM
5554 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
5555 (read_multibyte): Delete.
aca7a3d2
MB
5556 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
5557 (read_emacs_mule_char): New functions.
5558 (Fload): Even if the file doesn't have the extention ".elc", if
5559 safe_to_load_p returns a positive version number, assume that the
5560 file contains bytecompiled code. If the version is less than 22,
5561 load the file while decoding multibyte sequences by emacs-mule.
5562 (readevalloop): Don't use readchar_backlog.
1f45f627
GM
5563 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
5564 (Fread_from_string): Pay attention to the case that STREAM is a cons.
5565 (read_escape): Delete the arg BYTEREP.
aca7a3d2
MB
5566 (read1): Set load_each_byte to 1 temporarily while handling
5567 #@NUMBER. Don't call read_multibyte.
5568 (read_vector): Call Fread with a cons. If readcharfun is
5569 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
1f45f627 5570 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
aca7a3d2
MB
5571 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
5572 and Qload_force_doc_strings.
5573
73acf815 55742008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5575
5576 * xdisp.c (face_before_or_after_it_pos): Call
5577 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
5578
73acf815 55792008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5580
5581 * character.h (TRAILING_CODE_P): New macro.
1f45f627 5582 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
aca7a3d2
MB
5583 (string_char_with_unification): Fix prototype.
5584 (Vscript_alist): Extern it.
5585
5586 * character.c (Vscript_alist): New variable.
4c4475a8
GM
5587 (string_char_with_unification, str_as_unibyte)
5588 (string_escape_byte8): Add `const' to local variables.
aca7a3d2
MB
5589 (syms_of_character): Declare script-alist as a Lisp variable.
5590
5591 * charset.h (Vcharset_ordered_list): Extern it.
5592 (charset_ordered_list_tick): Extern it.
5593 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
5594 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
5595 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
5596 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros
1f45f627 5597 (Funify_charset): Adjust for the change of Funify_charset.
aca7a3d2
MB
5598
5599 * charset.c (charset_ordered_list_tick): New variable.
5600 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
5601 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
5602 deunify intead of unify a charset.
5603 (string_xstring_p): Add `const' to local variables.
1f45f627
GM
5604 (find_charsets_in_text): Add `const' to arguemnts and local variables.
5605 (encode_char): Adjust for the change of Funify_charset. Fix
aca7a3d2
MB
5606 detecting of invalid code.
5607 (Fset_charset_priority): Increment charset_ordered_list_tick.
5608 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
5609 and TO_CODE.
5610
5611 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
1f45f627
GM
5612 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
5613 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
4c4475a8
GM
5614 (decode_coding_ccl, consume_chars)
5615 (Ffind_coding_systems_region_internal)
5616 (Fcheck_coding_systems_region): Add `const' to local variables.
aca7a3d2
MB
5617
5618 * print.c (print_object): Use octal form for printing the
5619 contents of a bool vector.
5620
73acf815 56212008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5622
5623 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
5624 <version == 20>: Refuse to load.
5625
73acf815 56262008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5627
5628 * fns.c: Move coding.h.
5629 (Qcodeset, Qdays, Qmonths): New.
5630 (concat): Use CHARACTERP instead of INTERGERP.
1f45f627 5631 (Flocale_codeset): Delete.
aca7a3d2 5632 (Flanginfo): New function.
1f45f627 5633 (syms_of_fns): Change accordingly.
aca7a3d2
MB
5634
5635 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
5636
73acf815 56372008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5638
5639 * casetab.c (init_casetab_once, init_casetab_once): Fix
5640 CHAR_TABLE_SET call.
5641
5642 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
5643
5644 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
5645
5646 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
5647 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
5648 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
5649
5650 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
5651
5652 * coding.c (ENCODE_DESIGNATION, decode_eol)
5653 (make_conversion_work_buffer, code_conversion_restore)
5654 (Fdefine_coding_system_internal): Convert Lisp types.
5655 (code_conversion_restore): Use EQ, not ==.
5656 (Fencode_coding_string): Fix code_convert_string call.
5657
5658 * coding.h (code_convert_region): Fix prototype.
5659
1f45f627 5660 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
aca7a3d2
MB
5661
5662 * fontset.c (fontset_ref, fontset_set, fs_load_font)
5663 (Ffontset_info): Convert Lisp types.
5664
5665 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
5666
5667 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
5668
5669 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
5670
5671 * chartab.c: Include "...h", not <...h> in some cases.
5672
5673 * callproc.c (Fcall_process): Remove unused variables.
5674
73acf815 56752008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5676
5677 * coding.c (Fset_coding_system_priority): Allow null arg list.
5678
73acf815 56792008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5680
5681 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
5682 (Fself_insert_and_exit): Use CHARACTERP.
5683
5684 * callproc.c (Fcall_process): Remove unused vars.
5685
5686 * xterm.c (XTread_socket): Add extra dead keysyms.
5687
5688 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
5689
5690 * dispextern.h: Remove prototypes for redraw_frame,
5691 redraw_garbaged_frames.
5692
5693 * cmds.c (Fself_insert_command): Use CHARACTERP.
5694
5695 * chartab.c (make_sub_char_table): Remove unused var.
5696 (Fset_char_table_default, Fmap_char_table): Doc fix.
5697
5698 * keymap.c (access_keymap): Remove generic char code.
5699 (push_key_description): Use CHARACTERP.
5700
73acf815 57012008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5702
5703 * charset.c: Doc fixes.
5704 (Funify_charset): Extra checking.
5705
73acf815 57062008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5707
5708 * lread.c: Remove some unused variables.
5709 (safe_to_load_p): If safe, return the magic number version byte.
5710 (Fload): Maybe use load-with-code-conversion.
5711
73acf815 57122008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5713
5714 * category.c (Fmodify_category_entry): Don't modify the contents
5715 of category_set for characters out of the range. Avoid
5716 unnecessary modification.
5717
1f45f627 5718 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
aca7a3d2
MB
5719 Vchar_unify_table. The default value of the table is now nil.
5720
5721 * character.c (syms_of_character): Setup Vchar_width_table for
5722 eight-bit-control and raw-byte chars.
5723
5724 * charset.h (enum define_charset_arg_index): Delete
5725 charset_arg_parents and add charset_arg_subset and
5726 charset_arg_superset.
5727 (enum charset_attr_index): Delete charset_parents and add
5728 charset_subset and charset_superset.
5729 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
5730 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
1f45f627 5731 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
aca7a3d2
MB
5732 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
5733 (CHARSET_SUPERSET): New macros.
5734 (charset_work): Extern it.
5735 (ENCODE_CHAR): Use charset_work.
1f45f627 5736 (CHAR_CHARSET_P): Adjust for the change of encoder format.
aca7a3d2
MB
5737 (map_charset_chars): Extern it.
5738
5739 * charset.c (load_charset_map): Set the default value of encoder
5740 and deunifier char-tables to nil.
1f45f627 5741 (map_charset_chars): Change argument. Change callers. Use
aca7a3d2
MB
5742 map_char_table_for_charset instead of map_char_table.
5743 (Fmap_charset_chars): New optional args from_code and to_code.
1f45f627 5744 (Fdefine_charset_internal): Adjust for the change of
aca7a3d2
MB
5745 `define-charset' (:parents -> :subset or :superset).
5746 (charset_work): New variable.
4c4475a8
GM
5747 (encode_char, syms_of_charset): Adjust for the change of
5748 Fdefine_charset_internal.
aca7a3d2
MB
5749 (Ffind_charset_string): Setup the vector `charsets' correctly.
5750
1f45f627 5751 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
aca7a3d2 5752 the previous change.
1f45f627 5753 (char_table_ref_and_range): Adjust for the above change.
aca7a3d2
MB
5754 (map_sub_char_table_for_charset): New function.
5755 (map_char_table_for_charset): New function.
5756
5757 * keymap.c (describe_vector): Handle a char-table directly here.
1f45f627 5758 (describe_char_table): Delete.
aca7a3d2 5759
1f45f627 5760 * lisp.h (map_charset_chars): Delete.
aca7a3d2 5761
73acf815 57622008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5763
5764 * fns.c (count_combining): Comment out (unused).
5765 (Flocale_codeset): New.
5766 (syms_of_fns): Defsubr it.
5767
5768 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
1f45f627 5769 (size_t): Remove.
aca7a3d2 5770
73acf815 57712008-02-01 Dave Love <fx@gnu.org>
aca7a3d2 5772
6f69e89b 5773 * Makefile.in (chartab.o): Depend on charset.h.
aca7a3d2 5774
73acf815 57752008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5776
5777 * character.c (syms_of_character): Set the default value of
5778 Vprintable_chars to Qnil.
5779
73acf815 57802008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5781
5782 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
5783
73acf815 57842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5785
5786 * charset.c (load_charset_map): Handle the case that from < to
5787 correctly.
5788
4c4475a8
GM
5789 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
5790 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
5791 Pay attention to raw-8-bit chars.
aca7a3d2 5792
73acf815 57932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5794
4c4475a8
GM
5795 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
5796 It is not bytecompiled now.
aca7a3d2
MB
5797
5798 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
5799 (charset_jisx0208): New variables.
5800 (Fdefine_charset_internal): Setup them if appropriate.
5801 (init_charset_once): Initialize them to -1.
5802
1f45f627
GM
5803 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
5804 (charset_jisx0208): Extern them.
aca7a3d2
MB
5805
5806 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro
5807 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
1f45f627
GM
5808 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
5809 (setup_iso_safe_charsets): Fix arguments to Fassq.
4c4475a8
GM
5810 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
5811 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
5812 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
aca7a3d2
MB
5813 (encode_coding_iso_2022): Change the 1st arg to
5814 ENCODE_ISO_CHARACTER to a variable.
5815
73acf815 58162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5817
5818 * charset.h (enum define_charset_arg_index): New enums
5819 charset_arg_min_code and charset_arg_max_code.
5820 (struct charset): New member char_index_offset.
5821
4c4475a8
GM
5822 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
5823 Take charset->char_index_offset into account.
aca7a3d2
MB
5824 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
5825 args[charset_arg_max_code]. Setup charset.char_index_offset.
5826 (syms_of_charset): Fix args to Fdefine_charset_internal.
5827
73acf815 58282008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5829
5830 * coding.c (decode_coding_utf_8): Reject overlong sequences.
5831
73acf815 58322008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5833
5834 * coding.c: Doc fixes.
5835 (Fcoding_system_aliases): Fix return value.
5836 (Qmac): Remove (duplicated) definition.
5837
73acf815 58382008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5839
5840 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
5841 functions.
5842
5843 * character.c (Fstring): Doc fix.
5844
5845 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
5846
5847 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
5848 ids.
5849 (font-encoding-alist): Doc fix.
5850
73acf815 58512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5852
5853 * term.c (costs_set): Declare static, non-initialized for pcc.
1f45f627 5854 (encode_terminal_code): Remove unused var.
aca7a3d2
MB
5855
5856 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
5857 for K&R.
5858
5859 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
5860
5861 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
1f45f627 5862 (suffixes): Move out of make_subsidiaries for K&R.
aca7a3d2 5863
1f45f627 5864 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
aca7a3d2
MB
5865
5866 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
5867
73acf815 58682008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5869
5870 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
5871
1f45f627 5872 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
aca7a3d2 5873
73acf815 58742008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2
MB
5875
5876 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
5877
1f45f627 5878 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
aca7a3d2 5879
73acf815 58802008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5881
4c4475a8 5882 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
aca7a3d2 5883 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
aca7a3d2 5884
73acf815 58852008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5886
1f45f627 5887 * coding.c (decode_coding_charset): Adjust for the change of
aca7a3d2
MB
5888 Fdefine_coding_system_internal.
5889 (Fdefine_coding_system_internal): For a coding system of
5890 `charset' type, store a list of charset IDs in
5891 `charset_attr_charset_valids' element of coding attributes.
5892
73acf815 58932008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5894
5895 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
1f45f627
GM
5896 (emacs_mule_char): New arg src. Delete arg `composition'. Change
5897 caller. Handle 2-byte and 3-byte charsets correctly.
5898 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
5899 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
aca7a3d2
MB
5900 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
5901 (DECODE_EMACS_MULE_21_COMPOSITION): Call
5902 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
5903 sequence.
5904 (decode_coding_emacs_mule): Handle composition correctly. Rewind
1f45f627 5905 `src' and `consumed_chars' correctly before calling emacs_mule_char.
aca7a3d2
MB
5906 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
5907 and alt&rule composition.
5908 (decode_coding_iso_2022): Handle composition correctly.
5909 (init_coding_once): Setup emacs_mule_bytes for private charsets.
5910
5911 * charset.c (Fdefine_charset_internal): Fix bug for the case of
5912 re-defining a charset. If the charset has :emacs-mule-id, setup
5913 emacs_mule_bytes.
1f45f627 5914 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
aca7a3d2 5915
73acf815 59162008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2 5917
4c4475a8
GM
5918 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
5919 (encode_coding_big5, encode_coding_charset): If coding requires safe
aca7a3d2
MB
5920 encoding, produce a character specified by
5921 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
aca7a3d2 5922
73acf815 59232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5924
5925 * xterm.c (XSetIMValues): Declare.
5926
5927 * process.c: Conditionally include sys/wait.h, pty.h.
5928
1f45f627 5929 * print.c (print_object): Fix print format for 64-bit systems.
aca7a3d2 5930
1f45f627 5931 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
aca7a3d2
MB
5932
5933 * buffer.c (emacs_strerror): Declare.
aca7a3d2
MB
5934
5935 * fontset.c (Fclear_face_cache): Declare.
1f45f627 5936 (accumulate_font_info): Comment-out (unused).
aca7a3d2
MB
5937 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
5938 variables.
5939
5940 * character.h (string_escape_byte8): Declare.
5941
5942 * charset.c (load_charset_map, load_charset_map_from_file): Remove
5943 unused vars.
5944 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
5945 (Fmap_charset_chars): Doc fix.
5946
1f45f627 5947 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
aca7a3d2
MB
5948 (Fset_coding_system_priority, Fset_coding_system_priority)
5949 (Fdefine_coding_system_internal): Doc fix.
5950
73acf815 59512008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5952
5953 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
5954
73acf815 59552008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5956
5957 * character.c (string_escape_byte8): Make multibyte string with
5958 correct size.
5959
5960 * charset.c (Fmake_char): Delete unnecessary code.
5961
73acf815 59622008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5963
5964 * xfns.c (x_encode_text): Allocate coding.destination here, and
5965 call encode_coding_object with dst_object Qnil.
5966
5967 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
5968 multibyte form correctly.
5969
5970 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
5971 against Vfont_encoding_alist.
5972
5973 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
5974 handling of charset list.
5975 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
5976 (decode_coding_object): Move point to coding->dst_pos before
5977 calling post-read-conversion function.
5978 (encode_coding_object): Give correct arguments to
5979 pre-write-conversion. Ignore the return value of
5980 pre-write-conversion function. Pay attention to the case that
5981 pre-write-conversion changes the current buffer. If dst_object is
5982 Qt, even if coding->src_bytes is zero, allocate at least one byte
5983 to coding->destination.
5984
5985 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
5986
5987 * charset.c (Fmake_char): Make it more backward compatible.
5988 (Fmap_charset_chars): Fix docstring.
5989
73acf815 59902008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
5991
5992 * coding.c: Doc fixes.
5993 (Fdefine_coding_system_alias): Use names, not symbols, in
5994 coding-system-alist.
5995
73acf815 59962008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
5997
5998 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
5999 of calling free_realized_face.
6000
73acf815 60012008-02-01 Yong Lu <lyongu@asia-infonet.com>
aca7a3d2 6002
1f45f627
GM
6003 * charset.c (read_hex): Don't treat SPC as a comment starter.
6004 (decode_char): If CODE_POINT_TO_INDEX retruns -1, always return -1.
aca7a3d2
MB
6005 (Fdecode_char): Fix typo.
6006
73acf815 60072008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6008
6009 * charset.h (struct charset): New member `code_space_mask'.
6010
1f45f627 6011 * coding.c (coding_set_source): Delete the local variable beg_byte.
4c4475a8
GM
6012 (encode_coding_charset, Fdefine_coding_system_internal):
6013 Delete the local variable charset.
aca7a3d2
MB
6014 (Fdefine_coding_system_internal): Setup
6015 attrs[coding_attr_charset_valids] correctly.
6016
6017 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
6018 member to check if CODE is valid or not.
6019 (Fdefine_charset_internal): Initialize `code_space_mask' member.
6020 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
6021 is within the range of charset->min_code and carset->max_code.
6022
73acf815 60232008-02-01 Dave Love <fx@gnu.org>
aca7a3d2
MB
6024
6025 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
6026
6027 * dispextern.h (generate_ascii_font): Fix return type.
6028
6029 * xfaces.c (generate_ascii_font): Fix arg declaration.
6030
6031 * coding.c (coding_inherit_eol_type)
6032 (Fset_terminal_coding_system_internal)
6033 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
6034
73acf815 60352008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6036
6037 * coding.c (decode_coding_charset, encode_coding_charset): Handle
6038 multiple charsets correctly.
6039
73acf815 60402008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6041
6042 * search.c (boyer_moore): Fix handling of mulitbyte character
6043 translation.
6044
6045 * xdisp.c (display_mode_element): When the variable `elt' is
6046 changed, update `this' and `lisp_string'.
6047
73acf815 60482008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6049
6050 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
6051
6052 * callproc.c (Fcall_process): Be sure to give the current buffer
1f45f627 6053 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
aca7a3d2
MB
6054
6055 * charset.c (struct charset_map_entries): New struct.
1f45f627
GM
6056 (load_charset_map): Rename from parse_charset_map. New args
6057 entries and n_entries. Change caller.
6058 (load_charset_map_from_file): Rename from load_charset_map.
6059 Change caller. New arg control_flag. Call load_charset_map at
aca7a3d2
MB
6060 the tail.
6061 (load_charset_map_from_vector): New function.
6062 (Fdefine_charset_internal): Setup charset.compact_codes_p.
6063 (encode_char): If the charset is compact, change a character index
6064 to a code point.
6065
6066 * coding.c (coding_alloc_by_making_gap): Check the case that the
6067 source and destination are the same correctly.
6068 (decode_coding_raw_text): Set coding->consumed_char and
6069 coding->consumed to 0.
6070 (produce_chars): If coding->chars_at_source is nonzero, update
6071 coding->consumed_char and coding->consumed before calling
6072 alloc_destination.
6073 (Fdefine_coding_system_alias): Register ALIAS in
6074 Vcoding_system_alist.
6075 (syms_of_coding): Define `no-convesion' coding system at the tail.
6076
6077 * fileio.c (Finsert_file_contents): Set coding_system instead of
6078 val. If the current buffer is multibyte, always call
6079 decode_coding_gap.
6080
6081 * xfaces.c (try_font_list): Give higher priority to fontset's
6082 family than face's family.
6083
73acf815 60842008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6085
6086 * callproc.c (Fcall_process): Be sure to give the current buffer
6087 to decode_coding_c_string.
6088
6089 * xfaces.c (try_font_list): Give a family specified in a fontset
6090 higher priority than a family specified in a face.
6091
73acf815 60922008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6093
6094 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
6095 Fix arguments to insert_from_buffer.
6096
6097 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
6098
73acf815 60992008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6100
6101 * coding.c (produce_chars): Set the variable `multibytep' correctly.
6102 (decode_coding_gap): Set coding->dst_multibyte correctly.
6103
73acf815 61042008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6105
6106 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
1f45f627 6107 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
aca7a3d2
MB
6108 (encode_coding_utf_16): Substitute coding->default_char for
6109 non-Unicode characters.
6110 (decode_coding): Don't call record_insert here.
6111 (setup_coding_system): Initialize `surrogate' of
6112 coding->spec.utf_16 to 0.
6113 (EMIT_ONE_BYTE): Fix for multibyte case.
6114
6115 * insdel.c (insert_from_gap): Call record_insert.
6116
73acf815 61172008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6118
6119 * casefiddle.c (casify_region): Fix multibyte case.
6120
6121 * character.c (c_string_width): Add return type `int'.
1f45f627 6122 (char_string_with_unification): Delete arg ADVANCED.
aca7a3d2
MB
6123
6124 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
1f45f627 6125 (CHAR_STRING): Adjust for the change of char_string_with_unification.
aca7a3d2
MB
6126 (CHAR_STRING_ADVANCE): Make it do-while statement.
6127
1f45f627 6128 * chartab.c (sub_char_table_set_range): Optimize for the case
aca7a3d2
MB
6129 DEPTH == 3. Add workaround code for a GCC optimization bug.
6130
6131 * charset.c (parse_charset_map): Remove an unused variable.
6132
6133 * coding.c: Delete unused variables.
6134
6135 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
6136 earlier. If inserted is zero and the coding system doesn't
6137 require flushing, don't call decode_coding_gap.
6138
6139 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
6140
73acf815 61412008-02-01 Kenichi Handa <handa@m17n.org>
aca7a3d2
MB
6142
6143 The following changes are for using Unicode as an internal
6144 character model, and use UTF-8 format for buffer/string
6145 representation.
6146
1f45f627 6147 * .gdbinit (xchartable): Adjust for the change of char table structure.
aca7a3d2
MB
6148 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
6149
6150 * Makefile.in (obj): Add character.o and chartab.o.
6151 (lisp, shortlisp): Remove utf-8.elc:
6152 (*.o): For many files, change dependency on charset.h to
6153 character.h, and add dependency on character.h.
6154 (character.o, chartab.o): New targets.
6155
1f45f627
GM
6156 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
6157 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
6158 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
aca7a3d2
MB
6159 of "charset.h".
6160
6161 * dired.c, filelock.c: Include "character.h".
6162
6163 * alloc.c: Include "character.h" instead of "charset.h".
4c4475a8 6164 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
aca7a3d2
MB
6165 (syms_of_alloc): Remove defsubr for Smake_char_table.
6166
6167 * buffer.c: Include "character.h" instead of "charset.h", don't
6168 include "coding.h".
1f45f627 6169 (Fset_buffer_multibyte): Adjust for UTF-8.
aca7a3d2
MB
6170
6171 * buffer.h: EXFUN Fbuffer_live_p.
6172
6173 * callproc.c: Include "character.h" instead of "charset.h".
6174 (Fcall_process): Big change for the new code-conversion APIs.
6175
6176 * casetab.c: Include "character.h" instead of "charset.h".
1f45f627 6177 (set_canon, set_identity, shuffle): Adjust for the new
aca7a3d2
MB
6178 map_char_table spec.
6179 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
6180 accessing the char table structure.
6181
6182 * chartab.c: New file that implements char table.
6183
6184 * category.c: Include "character.h".
6185 (copy_category_entry): New function.
6186 (copy_category_table): Call map_char_table and copy_category_entry.
6187 (Fmake_category_table): Initialize all top-vel slots.
6188 (char_category_set): New function.
1f45f627 6189 (modify_lower_category_set): Delete.
aca7a3d2
MB
6190 (Fmodify_category_entry): Call char_table_ref_and_range.
6191
6192 * category.h (CATEGORY_SET): Just call char_category_set.
6193
6194 * ccl.c: Include "character.h".
6195 (Qccl, Qcclp): New variables.
6196 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
6197 it's less than 256.
1f45f627
GM
6198 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
6199 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
aca7a3d2 6200 and DST type.
1f45f627
GM
6201 (ccl_driver): Change types of argument, adjust code accordingly.
6202 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
aca7a3d2
MB
6203 ccl_driver.
6204 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
6205
1f45f627
GM
6206 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
6207 New members src_multibyte, dst_multibyte, consumed, and produced.
6208 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
aca7a3d2 6209 (CODING_SPEC_CCL_PROGRAM): New macro.
1f45f627 6210 (ccl_driver): Update prototype.
aca7a3d2
MB
6211 (Qccl, Qcclp, Fccl_program_p): Extern them.
6212 (CHECK_CCL_PROGRAM): New macro.
6213
6214 * character.c, character.h, chartab.c: New files.
6215
1f45f627
GM
6216 * charset.c: Mostly re-written. Move character and multibyte sequence
6217 handling codes to character.c.
aca7a3d2 6218
1f45f627
GM
6219 * charset.h: Mostly re-written. Move character and multibyte sequence
6220 handling codes to character.h.
aca7a3d2
MB
6221
6222 * coding.c, coding.h: Mostly re-written.
6223
6224 * composite.c: Include "character.h" instead of "charset.h".
1f45f627
GM
6225 (CHAR_WIDTH): Move to character.h.
6226 (HASH_KEY, HASH_VALUE): Delete.
aca7a3d2 6227
1f45f627
GM
6228 * composite.h (enum composition_method): Change order of enumeration
6229 symbols.
aca7a3d2
MB
6230
6231 * data.c: Include "character.h" instead of "charset.h".
6232 (Faref): Call CHAR_TABLE_REF for a char table.
6233 (Faset): Call CHAR_TABLE_SET for a char table.
6234
1f45f627
GM
6235 * dispextern.h (free_realized_face, check_face_attribytes)
6236 (generate_ascii_font): Extern them.
6237 (free_realized_multibyte_face): Delete extern.
aca7a3d2 6238
1f45f627 6239 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
aca7a3d2
MB
6240 table structure.
6241
6242 * editfns.c: Include "character.h" instead of "charset.h".
6243 (Fchar_to_string): Always call CHAR_STRING.
6244
6245 * emacs.c (main): Call init_charset_once, init_charset,
6246 syms_of_chartab, and syms_of_character.
6247
6248 * fileio.c: Include "character.h" instead of "charset.h".
1f45f627 6249 (Finsert_file_contents): Big change for the new code-conversion API.
4c4475a8 6250 (choose_write_coding_system, Fwrite_region): Likewise.
1f45f627 6251 (build_annotations_2): Delete.
aca7a3d2
MB
6252 (e_write): Big change for the new code-conversion API.
6253
6254 * fns.c: Include "character.h" instead of "charset.h".
1f45f627 6255 (copy_sub_char_table): Move to chartab.c.
aca7a3d2
MB
6256 (Fcopy_sequence): Call copy_char_table for a char table.
6257 (concat): Delete codes calling count_multibyte.
4c4475a8
GM
6258 (string_char_to_byte, string_byte_to_char): Adjust for the new
6259 multibyte form.
1f45f627
GM
6260 (internal_equal): Adjust for the change of char table structure.
6261 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
6262 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
6263 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
6264 (char_table_translate, optimize_sub_char_table)
6265 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
aca7a3d2 6266 chartab.c.
1f45f627
GM
6267 (char_table_ref_and_index): Delete.
6268 (HASH_KEY, HASH_VALUE): Move to lisp.h.
aca7a3d2 6269 (Fmd5): Call preferred_coding_system instead of accessing
1f45f627
GM
6270 Vcoding_category_list. Adjust for the new code-conversion API.
6271 (syms_of_fns): Move defsubr for char table related functions to
aca7a3d2
MB
6272 chartab.c.
6273
6274 * fontset.c: Mostly re-written.
6275
1f45f627 6276 * fontset.h (struct font_info): Change type of the member encoding_type.
aca7a3d2 6277 (enum FONT_SPEC_INDEX): New enum.
1f45f627
GM
6278 (fontset_font_pattern, fs_load_font): Update prototype.
6279 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
aca7a3d2
MB
6280
6281 * indent.c: Include "character.h" instead of "charset.h".
1f45f627 6282 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
aca7a3d2
MB
6283
6284 * insdel.c: Include "character.h" instead of "charset.h".
6285 (copy_text): Don't refer to Vnonascii_translation_table.
6286 (insert_from_gap): New function.
6287
6288 * keyboard.c: Include "character.h" instead of "charset.h".
6289 (command_loop_1): Never call direct_output_forward_char before
6290 a non-ASCII character.
6291 (read_char): If Vkeyboard_translate_table is a char table, always
1f45f627 6292 translate a character.
aca7a3d2
MB
6293
6294 * keymap.c: Include "character.h".
6295 (store_in_keymap): Handle the case that IDX is a cons.
6296 (Fdefine_key): Handle the case that KEY is a cons and the car part
6297 is also a cons (range).
1f45f627 6298 (push_key_description): Adjust for the new character code.
aca7a3d2
MB
6299 (describe_vector): Call describe_char_table for a char table.
6300 (describe_char_table): New function.
6301
6302 * keymap.h (describe_char_table): Extern it.
6303
6304 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
6305 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
1f45f627
GM
6306 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
6307 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
6308 Delete.
6309 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
aca7a3d2
MB
6310 structure.
6311 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
1f45f627
GM
6312 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
6313 (CHARTAB_SIZE_BITS_3): New macros.
aca7a3d2 6314 (chartab_size): Extern it.
1f45f627 6315 (struct Lisp_Char_Table): Re-design.
aca7a3d2 6316 (struct Lisp_Sub_Char_Table): New structure.
1f45f627
GM
6317 (HASH_KEY, HASH_VALUE): Move from fns.c.
6318 (CHARACTERBITS): Define as 22.
6319 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
aca7a3d2
MB
6320 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
6321 (GC_SUB_CHAR_TABLE_P): New macro.
1f45f627
GM
6322 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
6323 (code_convert_string_norecord): Deleted extern.
6324 (init_character_once, syms_of_character, init_charset)
6325 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
aca7a3d2
MB
6326
6327 * lread.c: Include "character.h".
6328 (read_multibyte): New arg NBYTES.
1f45f627
GM
6329 (read_escape): Change the meaning of returned *BYTEREP.
6330 (to_multibyte): Delete.
6331 (read1): Adjust the handling of char table and string.
aca7a3d2
MB
6332
6333 * print.c: Include "character.h" instead of "charset.h".
6334 (print_string): Convert 8-bit raw bytes to octal form by
6335 string_escape_byte8.
1f45f627 6336 (print_object): Adjust for the new multibyte form. Print 8-bit
aca7a3d2
MB
6337 raw bytes always in octal form. Handle sub char table correctly.
6338
6339 * process.c: Include "character.h" instead of "charset.h".
4c4475a8
GM
6340 (read_process_output, send_process): Adjust for the new
6341 code-conversion API.
aca7a3d2 6342
1f45f627 6343 * puresize.h (BASE_PURESIZE): Increase.
aca7a3d2
MB
6344
6345 * regex.c: Include "character.h" instead of "charset.h".
6346 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
6347 (regex_compile): Accept a range whose starting and ending
6348 character have different leading bytes.
1f45f627 6349 (analyse_first): Adjust for the above change.
aca7a3d2
MB
6350
6351 * search.c: Include "character.h" instead of "charset.h".
1f45f627
GM
6352 (search_buffer, boyer_moore): Adjust for the new multibyte form.
6353 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
aca7a3d2
MB
6354
6355 * syntax.c: Include "character.h" instead of "charset.h".
1f45f627 6356 (syntax_parent_lookup): Delete.
aca7a3d2 6357 (Fmodify_syntax_entry): Accept a cons as CHAR.
1f45f627 6358 (skip_chars): Adjust for the new multibyte form.
aca7a3d2
MB
6359 (init_syntax_once): Call char_table_set_range instead of directly
6360 accessing the structure of a char table.
6361
6362 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
1f45f627 6363 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
aca7a3d2
MB
6364 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
6365 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
6366
6367 * term.c: Include "buffer.h" and "character.h".
4c4475a8
GM
6368 (encode_terminal_code, write_glyphs): Adjust for the new
6369 code-conversion API.
aca7a3d2
MB
6370 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
6371
1f45f627 6372 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
aca7a3d2
MB
6373
6374 * xdisp.c: Include "character.h".
1f45f627
GM
6375 (get_next_display_element): Adjust for the new multibyte form.
6376 (disp_char_vector): Adjust for the new char table structure.
6377 (decode_mode_spec_coding): Adjust for the new structure of
aca7a3d2 6378 coding system.
1f45f627 6379 (decode_mode_spec): Adjust for the new code-conversion API.
aca7a3d2
MB
6380
6381 * xfaces.c: Include "character.h" instead of "charset.h".
1f45f627 6382 (load_face_font): Adjust for the change of choose_face_font and
aca7a3d2
MB
6383 FS_LOAD_FONT.
6384 (generate_ascii_font): New function.
1f45f627
GM
6385 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
6386 (set_font_frame_param): Adjust for the change of choose_face_font.
aca7a3d2 6387 (free_realized_face): Make it public.
1f45f627 6388 (free_realized_faces_for_fontset): Rename from
aca7a3d2 6389 free_realized_multibyte_face. Free also faces realized for ASCII.
1f45f627 6390 (choose_face_font): Change arguments. Adjust for the change of
aca7a3d2
MB
6391 fontset_font_pattern and FS_LOAD_FONT.
6392
6393 * xfns.c: Include "character.h".
1f45f627 6394 (x_encode_text): Adjust for the new code-conversion API.
aca7a3d2
MB
6395
6396 * xselect.c: Don't include "charset.h".
1f45f627 6397 (selection_data_to_lisp_data): Adjust for the new code conversion API.
aca7a3d2
MB
6398
6399 * xterm.c: Include "character.h".
1f45f627 6400 (x_encode_char): New argument CHARSET. Change caller.
4c4475a8
GM
6401 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
6402 Call ENCODE_CHAR instead of SPLIT_CHAR.
aca7a3d2
MB
6403 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
6404 CHAR_WIDTH instead of CHARSET_WIDTH.
1f45f627
GM
6405 (XTread_socket): Adjust for the new code-conversion API.
6406 (x_new_font): Adjust for the change of FS_LOAD_FONT.
6407 (x_load_font): Adjust for the change of struct font.
aca7a3d2 6408
d6abfc14
SM
64092008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
6410
6411 * xfaces.c (face_at_buffer_position): Remove unused vars.
6412
0acdaf8d
KH
64132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6414
4c4475a8
GM
6415 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
6416 Fix overflow checking.
0acdaf8d 6417
6c8a0ebf
GM
64182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
6419
6420 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
6421 Cancel previous change.
6422
64232008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
6424
6425 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
6426 ccl->eight_bit_control. Fix check for buffer overflow.
6427 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
6428 (ccl_driver): Initialize extra_bytes to 0.
6429
a32aad64
KH
64302008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
6431
6432 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
6433 return it ORed with ctrl_modifier.
6434
8b329dba
MB
64352008-01-29 Miles Bader <miles@gnu.org>
6436
6437 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
6438
548667aa
JR
64392008-01-28 Jason Rumney <jasonr@gnu.org>
6440
6441 * w32.c (stat): Don't double check for networked drive.
6442
0975aa24
SM
64432008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
6444
ef264c42
SM
6445 * window.c (run_window_configuration_change_hook): New function.
6446 Code extracted from set_window_buffer. Set the selected frame.
6447 (set_window_buffer): Use it.
6448 * window.h (run_window_configuration_change_hook): Declare.
6449 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
6450
0975aa24
SM
6451 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
6452
9c28b587
DN
64532008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
6454
6455 * Makefile.in: Remove references to unused macros.
6456
c617afce
EZ
64572008-01-26 Eli Zaretskii <eliz@gnu.org>
6458
6459 * w32.c (g_b_init_get_sid_sub_authority)
6460 (g_b_init_get_sid_sub_authority_count): New static variables.
6461 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
6462 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
0975aa24
SM
6463 (init_user_info): Use them to retrieve uid and gid.
6464 Use 500/513, the Windows defaults, as Administrator's uid/gid.
248c21c5
EZ
6465 (fstat): Use pw_uid and pw_gid from the_passwd structure for
6466 st_uid and st_gid of the file.
c617afce 6467
302d7d54
JR
64682008-01-26 Jason Rumney <jasonr@gnu.org>
6469
6470 * w32.c (logon_network_drive): New function.
6471 (stat): Use it.
6472
3ac7a21e
CY
64732008-01-26 Chong Yidong <cyd@stupidchicken.com>
6474
6475 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
6476 invisible text covered with an ellipsis.
6477
bbb9fc1f
RS
64782008-01-25 Richard Stallman <rms@gnu.org>
6479
6480 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
6481 jump back to beginning. Move some other initializations after that.
6482 (Qwindow_text_change_functions, Vwindow_text_change_functions):
6483 New variables.
6484 (syms_of_xdisp): Init them.
6485
6486 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
6487
0975aa24
SM
6488 * buffer.c (reset_buffer_local_variables):
6489 Implement `permanent-local-hook'.
bbb9fc1f 6490 (Qpermanent_local_hook): New variable.
0975aa24 6491 (syms_of_buffer): Init and staticpro it.
bbb9fc1f 6492
79235cbe
MA
64932008-01-25 Michael Albinus <michael.albinus@gmx.de>
6494
6495 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
6496
ccd8f7fe
TTN
64972008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
6498
6499 * fns.c (Fclrhash): Return TABLE.
6500
dfbe40f2 65012008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
223b3d1d
YM
6502
6503 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
6504 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
6505 is set even without positional changes.
6506 (x_scroll_bar_clear): Set bar->redraw_needed_p.
6507
6508 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
6509
dfbe40f2 65102008-01-23 Jason Rumney <jasonr@gnu.org>
602e142f 6511
d6169680
JR
6512 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
6513
602e142f
JR
6514 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
6515 the unicode range available in MULE by locale-coding-system.
c041e2d1 6516 Improve dbcs lead byte detection. Set event timestamp and modifiers
602e142f
JR
6517 earlier.
6518
dfbe40f2 65192008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5ee4de53
YM
6520
6521 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
6522 [MAC_OSX] (init_mac_osx_environment): Initialize it.
6f69e89b 6523 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
5ee4de53
YM
6524 when used on child processes.
6525
8c7a4ac5
MA
65262008-01-21 Michael Albinus <michael.albinus@gmx.de>
6527
e0df1b73 6528 * dbusbind.c (Fdbus_method_return_internal): Rename from
8c7a4ac5 6529 Fdbus_method_return.
e0df1b73 6530 (Fdbus_unregister_object): Move to dbus.el.
8c7a4ac5 6531 (Fdbus_call_method, Fdbus_method_return_internal)
e0df1b73 6532 (Fdbus_send_signal): Improve debug messages.
8c7a4ac5 6533
8abe0f97
MR
65342008-01-20 Martin Rudalics <rudalics@gmx.at>
6535
6536 * undo.c (undo_inhibit_record_point): New variable.
6537 (syms_of_undo): Initialize it.
6538 (record_point): Don't record point when undo_inhibit_record_point
6539 is set.
6540
c3b232e4
SM
65412008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
6542
e69c4cae
SM
6543 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
6544
823e0ebb
SM
6545 * xdisp.c (Qauto_hscroll_mode): New var.
6546 (syms_of_xdisp): Initialize it.
6547 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
6548 window's buffer.
6549 (hscroll_windows): Don't check automatic_hscrolling_p here.
6550
c3b232e4
SM
6551 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
6552 vscroll if we're setting window-buffer to the value it already has.
6553
76ed5e01
DN
65542008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
6555
6556 * m/intel386.h: Remove references to XENIX.
6557
55e6d9b2
AS
65582008-01-17 Andreas Schwab <schwab@suse.de>
6559
6560 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
6561 instead of HAVE_X86_64_LIB64_DIR.
6562 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
6563
b16ed52d
GM
65642008-01-17 Glenn Morris <rgm@gnu.org>
6565
6566 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
6567 to HAVE_X86_64_LIB64_DIR.
6568
6bed5c4a
DN
65692008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
6570
6571 * s/irix3-3.h:
6572 * s/irix4-0.h:
6573 * s/386-ix.h:
6574 * s/domain.h:
6575 * s/hpux9-x11r4.h:
6576 * s/hpux9shxr4.h: Remove files for systems no longer supported.
6577
6578 * sysdep.c: Remove code containing references to symbols defined
6579 by unsupported systems.
6580
fdecf907
GM
65812008-01-16 Glenn Morris <rgm@gnu.org>
6582
6583 * coding.c (select-safe-coding-system-function): Doc fix.
6584
9292328f
GM
65852008-01-15 Glenn Morris <rgm@gnu.org>
6586
6587 * config.in: Revert 2008-01-13 change: this is a generated file.
6588
944df511
MO
65892008-01-13 Tom Tromey <tromey@redhat.com>
6590
6591 * lisp.h: Fix typo.
6592
8111ec05
DN
65932008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
6594
f40f5dc3
DN
6595 * m/sequent-ptx.h:
6596 * m/sequent.h:
6597 * s/ptx.h:
6598 * s/ptx4-2.h:
6599 * s/ptx4.h: Remove files for systems no longer supported.
6600
ce20b664 6601 * callproc.c (Fcall_process): Fix previous change.
8111ec05 6602
e39a993c
DN
66032008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
6604
052e457f 6605 * unexsunos4.c: Remove file, system not supported anymore.
e39a993c 6606
290afd83
JB
6607 * m/mips.h:
6608 * m/intel386.h:
e39a993c
DN
6609 * callproc.c:
6610 * config.in:
6611 * ecrt0.c:
6612 * emacs.c:
6613 * fileio.c:
6614 * frame.c:
6615 * getpagesize.h:
6616 * keyboard.c:
6617 * lread.c:
6618 * process.c:
6619 * puresize.h:
6620 * sysdep.c:
6621 * systty.h:
6622 * syswait.h:
6623 * unexec.c:
6624 * xdisp.c:
6625 * alloc.c: Remove code containing references to symbols defined by
6626 unsupported systems.
6627
81cd7687
KH
66282008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
6629
6630 * coding.c (detect_coding_mask): Fix previous change.
6631
218b3b76
KH
66322008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
6633
6634 * coding.c (detect_coding_iso2022): New arg
6635 latin_extra_code_state. Allow Latin extra codes only
6636 when *latin_extra_code_state is nonzero.
6637 (detect_coding_mask): If there is a NULL byte, detect the encoding
6638 as UTF-16 or binary. If Latin extra codes exist, detect the
6639 encoding as ISO-2022 only when there's no other proper encoding is
6640 found.
6641
59ce725a 66422008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
081f2203 6643
59ce725a
MB
6644 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
6645 #ifdef MAC_OS.
048addec 6646
59ce725a 66472008-01-08 Richard Stallman <rms@gnu.org>
048addec 6648
59ce725a 6649 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
048addec 6650
8290574e
NR
66512008-01-06 Nick Roberts <nickrob@snap.net.nz>
6652
a0a3805c 6653 * keyboard.c (parse_menu_item): Don't enclose key bindings on
8290574e
NR
6654 menu bar in parentheses.
6655
f3041af1
DN
66562008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
6657
6658 * m/7300.h:
6659 * m/acorn.h:
6660 * m/alliant-2800.h:
6661 * m/alliant.h:
6662 * m/alliant1.h:
6663 * m/alliant4.h:
6664 * m/altos.h:
6665 * m/amdahl.h:
6666 * m/apollo.h:
6667 * m/att3b.h:
6668 * m/aviion-intel.h:
6669 * m/aviion.h:
6670 * m/celerity.h:
6671 * m/clipper.h:
6672 * m/cnvrgnt.h:
6673 * m/convex.h:
6674 * m/cydra5.h:
6675 * m/delta88k.h:
6676 * m/dpx2.h:
6677 * m/dual.h:
6678 * m/elxsi.h:
6679 * m/f301.h:
6680 * m/gould-np1.h:
6681 * m/gould.h:
6682 * m/i860.h:
6683 * m/ibmps2-aix.h:
6684 * m/ibmrt-aix.h:
6685 * m/ibmrt.h:
6686 * m/irist.h:
6687 * m/is386.h:
6688 * m/isi-ov.h:
6689 * m/mega68.h:
6690 * m/mg1.h:
6691 * m/news-r6.h:
6692 * m/news-risc.h:
6693 * m/news.h:
6694 * m/nh3000.h:
6695 * m/nh4000.h:
6696 * m/ns16000.h:
6697 * m/ns32000.h:
6698 * m/nu.h:
6699 * m/orion.h:
6700 * m/orion105.h:
6701 * m/paragon.h:
6702 * m/pfa50.h:
6703 * m/plexus.h:
6704 * m/pyramid.h:
6705 * m/pyrmips.h:
6706 * m/sh3el.h:
6707 * m/sps7.h:
6708 * m/sr2k.h:
6709 * m/stride.h:
6710 * m/sun1.h:
6711 * m/sun2.h:
6712 * m/sun3-68881.h:
6713 * m/sun3-fpa.h:
6714 * m/sun3-soft.h:
6715 * m/sun3.h:
6716 * m/sun386.h:
6717 * m/symmetry.h:
6718 * m/tad68k.h:
6719 * m/tahoe.h:
6720 * m/targon31.h:
6721 * m/tek4300.h:
6722 * m/tekxd88.h:
6723 * m/tower32.h:
6724 * m/tower32v3.h:
6725 * m/ustation.h:
6726 * m/wicat.h:
6727 * m/xps100.h:
6728 * s/cxux.h:
6729 * s/cxux7.h:
6730 * s/dgux.h:
6731 * s/dgux4.h:
6732 * s/dgux5-4-3.h:
6733 * s/dgux5-4r2.h:
6734 * s/esix.h:
6735 * s/esix5r4.h:
6736 * s/hiuxmpp.h:
6737 * s/hiuxwe2.h:
6738 * s/iris3-5.h:
6739 * s/iris3-6.h:
6740 * s/isc2-2.h:
6741 * s/isc3-0.h:
6742 * s/isc4-0.h:
6743 * s/isc4-1.h:
6744 * s/newsos5.h:
6745 * s/newsos6.h:
6746 * s/osf1.h:
6747 * s/osf5-0.h:
6748 * s/riscix1-1.h:
6749 * s/riscix12.h:
6750 * s/sco4.h:
6751 * s/sco5.h:
6752 * s/sunos4-0.h:
6753 * s/sunos4-1.h:
6754 * s/sunos413.h:
6755 * s/sunos4shr.h:
6756 * s/umax.h:
6757 * s/unipl5-2.h:
6758 * s/xenix.h:
6759 * cxux-crt0.s:
6760 * unexapollo.c:
6761 * unexconvex.c:
6762 * unexenix.c:
6763 * unexsni.c: Remove files for systems no longer supported.
6764
6765 * m/intel386.h: Remove references to unsupported systems.
6766
6767 * w32.c (get_emacs_configuration): Remove reference to i860.
6768
6769 * sysdep.c: Remove dead code.
6770
d35e1cd7
DN
67712008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
6772
6773 * s/rtu.h:
a0a3805c 6774 * m/masscomp.h: Remove files. Platform is obsolete.
d35e1cd7 6775
abe136ee
MA
67762008-01-04 Michael Albinus <michael.albinus@gmx.de>
6777
6778 * dbusbind.c (Fdbus_method_return): New function.
6779 (xd_read_message): Add the serial number to the event.
6780 (Fdbus_register_method): Activate the function.
6781
87df3c32
SM
67822008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
6783
6784 * keyboard.c (read_key_sequence): Fix typo.
6785
5125905e
MA
67862008-01-03 Michael Albinus <michael.albinus@gmx.de>
6787
6788 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
6789 (xd_signature, xd_append_arg): Handle element type detection for
6790 empty arrays.
6791 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
6792 SDATA () calls; this must be solved more general.
6793 (Fdbus_register_signal): Use SBYTES instead of strlen.
6794
8bba1b5c
MH
67952008-01-03 Magnus Henoch <magnus@zemdatav>
6796
6797 * dbusbind.c (xd_append_arg): Use unsigned char instead of
6798 unsigned int for byte values (necessary for big-endian platform).
2c3a8b27 6799 (Fdbus_call_method): Handle the case of no returned arguments.
8bba1b5c 6800
a0a3805c 68012007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
15f16c1b
MA
6802
6803 * dbusbind.c (xd_read_message): Use non-static input_event struct.
6804
a271e124
MH
68052007-12-31 Magnus Henoch <mange@freemail.hu>
6806
6807 * dbusbind.c (xd_signature): Signature of variant is just "v".
6808
17bc8f94
MA
68092007-12-30 Michael Albinus <michael.albinus@gmx.de>
6810
87df3c32
SM
6811 * dbusbind.c: Fix several errors and compiler warnings.
6812 Reported by Tom Tromey <tromey@redhat.com>
17bc8f94
MA
6813 (XD_ERROR, XD_DEBUG_MESSAGE)
6814 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
6815 (xd_append_arg): Part for basic D-Bus types rewitten.
6816 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
6817 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
6818 appropriate.
6819 (xd_read_message): Return Qnil. Don't signal an error; it is not
6820 useful during event reading.
6821 (Fdbus_register_signal): Signal an error if the check for
6822 FUNCTIONP fails.
6823 (Fdbus_register_method): New function. The implementation is not
6824 complete, the call of the function signals an error therefore.
6825 (Fdbus_unregister_object): New function, renamed from
6826 Fdbus_unregister_signal. The initial check signals an error, if
5125905e 6827 the object is not well formed.
17bc8f94 6828
dd6f2802
RS
68292007-12-30 Richard Stallman <rms@gnu.org>
6830
6831 * textprop.c (get_char_property_and_overlay):
6832 Signal error if POSITION is out of range in a buffer.
6833
1da8a031
MR
68342007-12-29 Martin Rudalics <rudalics@gmx.at>
6835
6836 * w32fns.c (Fx_create_frame): Make copy of frame parameters
6837 because the original parameters are in pure storage now.
6838
5742be86
YM
68392007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6840
6841 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
6842
b014713c
EZ
68432007-12-22 Eli Zaretskii <eliz@gnu.org>
6844
b17f53ab
MB
6845 * callint.c (syms_of_callint) <command-history>: Add reference to
6846 history-length in the doc string.
048addec 6847
b17f53ab 68482007-12-17 Jason Rumney <jasonr@gnu.org>
048addec 6849
b17f53ab
MB
6850 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
6851 before passing as wParam.
048addec 6852
9af5078b
MA
68532007-12-22 Michael Albinus <michael.albinus@gmx.de>
6854
6855 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
6856 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
6857 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
6858 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
6859 as number.
6860 (Fdbus_call_method): Fix docstring.
6861
87cf1a39
MA
68622007-12-21 Michael Albinus <michael.albinus@gmx.de>
6863
6864 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
6865 New macros.
87df3c32 6866 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
a0a3805c
JB
6867 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
6868 Simplify.
87cf1a39
MA
6869 (xd_signature): New function.
6870 (xd_append_arg): Compute also signatures. Major rewrite.
6871 (xd_retrieve_arg): Make debug messages friendly.
87df3c32
SM
6872 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
6873 Check for signatures of arguments.
87cf1a39 6874
54371585
MA
68752007-12-19 Michael Albinus <michael.albinus@gmx.de>
6876
6877 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
6878 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
6879 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
6880 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
6881 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
87df3c32 6882 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
54371585
MA
6883 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
6884 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
87df3c32 6885 (xd_retrieve_value): Remove. Functionality included in ...
54371585
MA
6886 (xd_append_arg): New function.
6887 (Fdbus_call_method, Fdbus_send_signal): Apply it.
6888
f5306ca3
MA
68892007-12-16 Michael Albinus <michael.albinus@gmx.de>
6890
6891 * dbusbind.c (top): Include <stdio.h>.
6892 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
6893 dbus_message_new_method_call and dbus_message_new_signal.
87df3c32
SM
6894 (Fdbus_register_signal): Rename unique_name to uname.
6895 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
f5306ca3
MA
6896 non-existing unique name. Fix typos in matching rule. Return an
6897 object which is useful in Fdbus_unregister_signal.
6898 (Fdbus_unregister_signal): Reimplementation, in order to remove
6899 only the corresponding entry.
6900 (Vdbus_registered_functions_table): Change the order of entries.
6901 Apply these changes in xd_read_message and Fdbus_register_signal.
6902
77a28bbf
AS
69032007-12-16 Andreas Schwab <schwab@suse.de>
6904
6905 * fileio.c (Finsert_file_contents): Fix overflow check to not
6906 depend on undefined integer overflow.
6907
2e3566d8
JR
69082007-12-14 Jason Rumney <jasonr@gnu.org>
6909
6910 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
6911 for characters above 127.
6912
bf254037
JR
69132007-12-13 Jason Rumney <jasonr@gnu.org>
6914
6915 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
6916 before dereferencing array.
6917 (lookup_vk_code): Remove zero comparison.
6918
eb7c7bf5
MA
69192007-12-14 Michael Albinus <michael.albinus@gmx.de>
6920
6921 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
87df3c32
SM
6922 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
6923 Use `unsigned int' instead of `uint'.
eb7c7bf5
MA
6924 (xd_read_message, Fdbus_register_signal): Split expressions into
6925 multiple lines before operators "&&" and "||", according to the
6926 GNU Coding Standards.
6927
34fb0fc9
EZ
69282007-12-14 Eli Zaretskii <eliz@gnu.org>
6929
6930 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
6931
c7d97628
JL
69322007-12-12 Juri Linkov <juri@jurta.org>
6933
6934 * buffer.c (Frename_buffer): In interactive spec replace
6935 `read-buffer' with `read-string' that uses `buffer-name-history'
6936 as history, and the current buffer's name as default.
6937
3709505e
SM
69382007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
6939
6940 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
6941 manipulating the backtrace manually.
6942 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
6943 (struct backtrace, backtrace_list): Remove.
6944 (command_loop_1): Remove dead var `no_direct'.
6945
6946 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
6947 preserve non-built-in buffer-local variables.
6948 (Fkill_all_local_variables): Don't re-create&re-set permanent
6949 buffer-local variables.
6950
e2bec886
JL
69512007-12-09 Juri Linkov <juri@jurta.org>
6952
6953 * buffer.c (Frename_buffer): Change interactive spec from "s" to
6954 Lisp code that uses `read-buffer' with current buffer as default.
6955
a31d47c7
MA
69562007-12-08 Michael Albinus <michael.albinus@gmx.de>
6957
6958 * dbusbind.c (xd_read_message): Generate an event for every
6959 registered handler. There might be several handlers registered
6960 for the same signal.
6961 (Fdbus_register_signal): Don't overwrite a registration for the
6962 same signal. Add a new registration if handlers are different.
6963 (Vdbus_registered_functions_table): Rework doc string.
6964
52da95fa
MA
69652007-12-07 Michael Albinus <michael.albinus@gmx.de>
6966
6967 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
6968 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
6969 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
6970 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
6971 Unify argument lists.
a0a3805c 6972 (xd_read_message, Fdbus_register_signal): Reorder and extend event
52da95fa
MA
6973 arguments and hash table keys. Use unique name for service.
6974 (Fdbus_unregister_signal): Remove checks.
6975 (Vdbus_registered_functions_table): Fix doc string.
6976
e5e76c04 69772007-12-05 Magnus Henoch <mange@freemail.hu>
0277bfa1
RS
6978
6979 * process.c (make_process): Initialize pty_flag to 0.
6980
e5e76c04 69812007-12-05 Jason Rumney <jasonr@gnu.org>
44b1dc2e
JR
6982
6983 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
6984 specified XBMs.
6985
e5e76c04 69862007-12-05 Richard Stallman <rms@gnu.org>
048addec 6987
e5e76c04 6988 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
048addec 6989
e5e76c04 69902007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 6991
e5e76c04
MB
6992 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
6993 New variable.
6994 (mac_try_close_socket) [MAC_OSX]: New function.
6995 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
6996 Update cfsockets_for_select. Replace invalid CFRunLoop source.
048addec 6997
e5e76c04
MB
6998 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
6999 Use mac_try_close_socket.
048addec 7000
e5e76c04 70012007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 7002
e5e76c04
MB
7003 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
7004 reloc_base.
7005 (copy_dysymtab): Compute relocation base here.
7006 (rebase_reloc_address) [__ppc64__]: New function.
7007 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
7008 changed.
048addec 7009
e5e76c04 70102007-12-05 Jason Rumney <jasonr@gnu.org>
048addec 7011
e5e76c04 7012 * w32proc.c (sys_spawnve): Quote args with wildcards.
048addec 7013
e5e76c04 70142007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
048addec 7015
e5e76c04
MB
7016 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
7017 __objc_* sections.
7018 (unrelocate) [_LP64]: Set relocation base to address of data segment.
048addec 7019
96faeb40
MA
70202007-12-05 Michael Albinus <michael.albinus@gmx.de>
7021
7022 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
7023 Move check for Vdbus_registered_functions_table to
7024 xd_read_queued_messages.
7025 (xd_read_queued_messages): Protect xd_read_message calls by
7026 internal_condition_case_1.
7027
39abdd4a
MA
70282007-12-04 Michael Albinus <michael.albinus@gmx.de>
7029
87df3c32 7030 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
39abdd4a 7031 Qdbus_system_bus and Qdbus_session_bus, respectively.
87df3c32 7032 (Vdbus_intern_symbols): Remove.
39abdd4a 7033 (Vdbus_registered_functions_table): New hash table.
87df3c32 7034 (XD_SYMBOL_INTERN_SYMBOL): Remove.
39abdd4a 7035 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
87df3c32 7036 Rewrite in order to manage registered functions by hash table
39abdd4a
MA
7037 Vdbus_registered_functions_table.
7038
880820fe 70392007-12-03 Jan Djärv <jan.h.d@swipnet.se>
7ba30657
JD
7040
7041 * xterm.c: Update URL to Window Manager Specification in comment.
7042
033b73e2
MA
70432007-12-02 Michael Albinus <michael.albinus@gmx.de>
7044
7045 * config.in (HAVE_DBUS): Add.
7046
a0a3805c 7047 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
033b73e2
MA
7048 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
7049 (obj): Add $(DBUS_OBJ).
7050 (LIBES): Add $(DBUS_LIBS).
7051 (dbusbind.o): New target.
7052
7053 * dbusbind.c: New file.
7054
7055 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
7056
7057 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
a0a3805c 7058 (Qdbus_event): New Lisp symbol.
033b73e2 7059 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
87df3c32 7060 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
033b73e2
MA
7061 (keys_of_keyboard ): Define dbus-event.
7062
7063 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
7064
39d0bf74
RS
70652007-12-01 Richard Stallman <rms@gnu.org>
7066
7067 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
7068
f3157c65
JR
70692007-11-30 Jason Rumney <jasonr@gnu.org>
7070
7071 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
7072 (w32con_reset_terminal_modes): Clear screen buffer.
f1e8dcf1
JR
7073 (w32_face_attributes): Don't use color indexes that are out of range.
7074 Only reverse the default colors.
f3157c65
JR
7075
7076 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
7077 WINDOWSNT.
7078
7079 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
7080
b510360c
JR
70812007-11-29 Jason Rumney <jasonr@gnu.org>
7082
7083 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
7084 (w32_face_attributes): Use Vtty_defined_color_alist to determine
7085 if the terminal colors are initialized.
7086 (unspecified_fg, unspecified_bg): Remove unused declarations.
7087
4b7ab1c4
AS
70882007-11-29 Andreas Schwab <schwab@suse.de>
7089
7090 * keyboard.c (apply_modifiers): Fix typo.
7091
4bb6c266
RS
70922007-11-29 Richard Stallman <rms@gnu.org>
7093
7094 * keymap.c (Fcurrent_local_map): Doc fix.
7095
aa44cd84
GM
70962007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
7097
7098 * s/gnu-kfreebsd.h: New file.
7099
21ec2c43
SM
71002007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
7101
cc648cef
SM
7102 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
7103 Don't cast redundantly.
7104
21ec2c43
SM
7105 * keyboard.c (KEY_TO_CHAR): New macro.
7106 (parse_modifiers, apply_modifiers): Accept integer arguments.
7107 (read_key_sequence): Use them to unify the "shift->unshift" mapping
7108 for chars and symbol keys.
7109 After doing such remapping, apply function-key-map again.
7110
73e72da4
DN
71112007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
7112
7113 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
7114 compiled anymore.
7115
254693ff
AS
71162007-11-26 Andreas Schwab <schwab@suse.de>
7117
7118 * process.c (list_processes_1): Fix indentation level of the
7119 command column.
7120
ff6e6ac8
AS
71212007-11-23 Andreas Schwab <schwab@suse.de>
7122
7123 * editfns.c (Fformat): Handle %c specially since it requires the
7124 argument to be of type int.
7125
f7cf8b20
SM
71262007-11-23 Markus Triska <markus.triska@gmx.at>
7127
7128 * emacs.c (main): Call init_editfns before init_process, since
7129 init_process sets Vprocess_connection_type depending on OS release
7130
569c11e3
SM
71312007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
7132
8787dd73
SM
7133 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
7134 (find_symbol_value): Use do_symval_forwarding.
7135
569c11e3
SM
7136 * data.c (set_internal): Set the value in the `cons-cell' (for
7137 Buffer_Local_values) not only for frame-local variables.
7138
6af1696d
AS
71392007-11-22 Andreas Schwab <schwab@suse.de>
7140
7141 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
7142 values to sprintf.
7143 * keymap.c (Fsingle_key_description): Likewise.
7144 * print.c (print_object): Likewise.
7145
880820fe 71462007-11-22 Jan Djärv <jan.h.d@swipnet.se>
d4ad8c04
JD
7147
7148 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
7149 file for image is nil.
7150
7c401d15
DN
71512007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
7152
7153 * term.c: Include stdarg.h.
569c11e3 7154 (fatal): Implement using varargs.
a0a3805c 7155 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
7c401d15 7156
64e16c3c
SM
71572007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
7158
7159 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
7160 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
7161 Update call to buffer_slot_type_mismatch.
7162 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
7163 (buffer_slot_type_mismatch): Update.
7164 * buffer.c (buffer_local_types): Remove.
7165 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
7166 (defvar_per_buffer): Set the type in the buffer_objfwd.
7167
d4aa48db 71682007-11-21 Jason Rumney <jasonr@gnu.org>
5f42a7eb 7169
64e16c3c
SM
7170 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
7171 CreateFileMapping returns NULL on failure.
5f42a7eb 7172
d4aa48db 71732007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
048addec 7174
d4aa48db
MB
7175 * search.c (Fset_match_data): Remove the `evaporate' feature.
7176 (unwind_set_match_data): Don't use the `evaporate' feature.
437dfb9f 7177
bdae0540
JR
71782007-11-21 Jason Rumney <jasonr@gnu.org>
7179
7180 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
7181
7182 * w32console.c (w32con_write_glyphs): Remove unused variables.
7183
202c09a8
DN
71842007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
7185
b951420f
DN
7186 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
7187
202c09a8
DN
7188 * s/darwin.h (MULTI_KBOARD): Remove.
7189
7190 * macfns.c (x_create_tip_frame, Fx_create_frame)
7191 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
7192
bae72c12
SM
71932007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
7194
e7c10f83
SM
7195 * buffer.c (Fbuffer_local_value): Remove redundant test.
7196 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
7197 than in `current-buffer' to match the comment.
7198 Do the swap using swap_in_global_binding.
7199
136eb6ed
SM
7200 * data.c (store_symval_forwarding, set_internal):
7201 * eval.c (specbind): Remove dead code.
7202
bae72c12
SM
7203 * coding.c (detect_coding, Fupdate_coding_systems_internal):
7204 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
7205 Since we do not want to see internal Lisp_*fwd objects here.
7206
880820fe 72072007-11-18 Jan Djärv <jan.h.d@swipnet.se>
95fbaefc 7208
3d66b985
JD
7209 * sysdep.c (init_system_name): Use getaddrinfo if available.
7210
95fbaefc
JD
7211 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
7212 (x_scroll_bar_note_movement): start, end, with, height in struct
7213 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
7214
6c1d8cb6
DN
72152007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
7216
7217 * puresize.h (BASE_PURESIZE): Increase to 1190000.
7218
30f95089
SM
72192007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
7220
66b04bd4
SM
7221 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
7222 This undoes Richard's change of 14-Oct-2002.
7223
6d3f2bb2
SM
7224 * alloc.c (allocate_other_vector):
7225 * lisp.h (allocate_other_vector): Remove.
7226
b05b4e27
SM
7227 * window.c (struct save_window_data): Move non-lisp data to the end
7228 and make it `int' rather than Lisp_Object.
7229 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
7230 Done wrap/unwrap integer values.
7231 (Fset_window_configuration, compare_window_configurations):
7232 Update use of fields to their new types.
7233
056ce195
SM
7234 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
7235 Turn integer fields into `int'. Merge x_window_low and x_window_high.
7236 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
7237 (SET_SCROLL_BAR_X_WINDOW): Remove.
7238 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
7239 Access the new x_window field directly.
7240 * xterm.c (x_scroll_bar_create): Use a pseudovector.
7241 Don't wrap/unwrap integers into Lisp_Objects.
7242 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
7243 (x_scroll_bar_report_motion):
7244 Don't wrap/unwrap integers into Lisp_Objects.
7245 (x_term_init): Use SDATA.
7246 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
7247 (x_scroll_bar_set_handle, x_scroll_bar_remove)
7248 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
7249 (x_scroll_bar_report_motion, x_scroll_bar_clear):
7250 * xfns.c (x_set_background_color):
7251 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
7252 Access the new x_window field directly.
7253
30f95089
SM
7254 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
7255 (allocate_pseudovector): Make non-static.
6d3f2bb2 7256
30f95089
SM
7257 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
7258 (allocate_pseudovector): Declare.
6f69e89b 7259 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
30f95089 7260
9b6112e8
AS
72612007-11-15 Andreas Schwab <schwab@suse.de>
7262
30f95089
SM
7263 * editfns.c (Fformat): Correctly format EMACS_INT values.
7264 Also take precision into account when formatting an integer.
0f860bd7 7265
9b6112e8
AS
7266 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
7267
262fcd41
SM
72682007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
7269
58da34c7
SM
7270 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
7271 (syms_of_keyboard): Defsubr it.
7272
262fcd41
SM
7273 * data.c (swap_in_global_binding): Fix longstanding bug where
7274 store_symval_forwarding was not called with the right second argument,
7275 thus causing objfwd-ing from being dropped.
7276
d29a9848
JB
72772007-11-14 Juanma Barranquero <lekktu@gmail.com>
7278
7279 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
7280 (Fx_display_pixel_height, Fx_display_planes)
7281 (Fx_display_color_cells, Fx_server_max_request_size)
7282 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
7283 (Fx_display_visual_class, Fx_display_save_under):
7284 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
7285 (Fx_display_pixel_height, Fx_display_planes)
7286 (Fx_display_color_cells, Fx_server_max_request_size)
7287 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
7288 (Fx_display_mm_height, Fx_display_mm_width)
7289 (Fx_display_backing_store, Fx_display_visual_class)
7290 (Fw32_select_font, Fx_display_save_under):
7291 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
7292 (Fx_display_pixel_height, Fx_display_planes)
7293 (Fx_display_color_cells, Fx_server_max_request_size)
7294 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
7295 (Fx_display_save_under): Fix typos in docstrings.
7296
74084731
JB
72972007-11-14 Juanma Barranquero <lekktu@gmail.com>
7298
7299 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
7300 corresponding to deleted entries; they are an implementation detail.
7301 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
7302 Remove variables.
7303 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
7304 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
7305 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
7306 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
7307 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
d29a9848 7308 (Fw32_define_rgb_color, Fw32_load_color_file)
74084731 7309 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
02b39a28
JB
7310 Fix typos in docstrings.
7311 (Fx_server_version): Reflow docstring.
7312 (Fw32_shell_execute): Doc fixes.
74084731 7313
fb053a1f
JB
73142007-11-13 Juanma Barranquero <lekktu@gmail.com>
7315
7316 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
7317 if w32_parse_hot_key returned nil.
7318
a457417e 73192007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
9ec1bdb6 7320
a457417e 7321 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
9ec1bdb6 7322
4b219faa
JR
73232007-11-09 Jason Rumney <jasonr@gnu.org>
7324
7325 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
7326
7327 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
7328
7329 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
7330 Remove W32_SCROLL_BAR_CLICK_EVENT.
7331
7332 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
7333 Add MULTIMEDIA_KEY_EVENT.
7334
7335 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
7336 (lispy_multimedia_keys) [WINDOWSNT]: New array.
7337 (make_lispy_event) [WINDOWSNT]: Use it to translate
7338 MULTIMEDIA_KEY_EVENT.
7339
7340 * w32term.h (WM_APPCOMMAND): Define if not already.
7341 (GET_APPCOMMAND_LPARAM): Likewise.
7342
7343 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
7344 WM_APPCOMMAND.
7345
7346 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
7347 (syms_of_w32fns): Export and initialize it.
7348 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
7349
c12ecb0a 73502007-11-09 Chong Yidong <cyd@stupidchicken.com>
d388d2ac
CY
7351
7352 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
7353 twice.
7354
7355 * xdisp.c (handle_face_prop): Fix last change.
7356
c12ecb0a 73572007-11-09 Richard Stallman <rms@gnu.org>
048addec 7358
c12ecb0a
MB
7359 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
7360 not just for after-strings and before-strings.
7361 Call face_for_overlay_string and pass the overlay to it.
7362 (handle_display_prop): Determine whether property came from an overlay.
7363 Pass OVERLAY arg to handle_single_display_spec.
7364 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
7365 (load_overlay_strings): Fill in it->string_overlays.
7366 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
b5cb6072 7367
c12ecb0a
MB
7368 * xfaces.c (face_for_overlay_string): Function renamed from
7369 face_at_buffer_position_no_overlays, and add arg OVERLAY.
b5cb6072 7370
c12ecb0a
MB
7371 * dispextern.h (struct it): New elt string_overlays.
7372 New elt from_overlay, also in stack.
7373 Rearrange a few elements.
7374 (face_for_overlay_string): Decl renamed from
7375 face_at_buffer_position_no_overlays, and add argument.
15fff01d 7376
c12ecb0a 73772007-11-09 Richard Stallman <rms@gnu.org>
0065bb74 7378
c12ecb0a
MB
7379 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
7380 to get the base face for an overlay string.
0d8466cc 7381
c12ecb0a 7382 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15fff01d 7383
c12ecb0a 7384 * xfaces.c (face_at_buffer_position_no_overlays): New function.
2fae9111 7385
c12ecb0a 7386 * xdisp.c (handle_stop): Move some code out of loop.
2d6c1fc0 7387
c12ecb0a 73882007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
07025a55 7389
c12ecb0a
MB
7390 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
7391 Fix conversion from Lisp object to ATSUFontID.
07025a55 7392
c12ecb0a 73932007-11-09 Jason Rumney <jasonr@gnu.org>
07025a55 7394
c12ecb0a 7395 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
3a232704 7396
c12ecb0a 73972007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
539e92ad 7398
c12ecb0a
MB
7399 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
7400 Don't assume regions are aligned to page boundary.
7401 (print_load_command_name): Add LC_UUID if defined.
3a232704 7402
c12ecb0a 74032007-11-09 Richard Stallman <rms@gnu.org>
0cb8bb48 7404
c12ecb0a 7405 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
539e92ad 7406
b8ddfbcc
JR
74072007-11-07 Jason Rumney <jasonr@gnu.org>
7408
7409 * s/windows95.h: Remove.
7410
880820fe 74112007-11-06 Jan Djärv <jan.h.d@swipnet.se>
e624c3f9
JD
7412
7413 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
7414 abort with a message on unhandled store_type values.
7415
880820fe 74162007-11-01 Jan Djärv <jan.h.d@swipnet.se>
ac1278c1
JD
7417
7418 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
7419 Remove HAVE_X11R5 and HAVE_X11R4.
7420
04a697fe
DN
74212007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
7422
7423 * Makefile.in: Remove references to sunfns.c and sunfns.o.
7424
880820fe 74252007-11-01 Johan Bockgård <bojohan@gnu.org>
56dad874
GM
7426
7427 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
fb053a1f 7428 Don't set s->stippled_p here, since it has already been set by
56dad874
GM
7429 x_set_glyph_string_gc from x_draw_glyph_string.
7430
07e5c0b0
DN
74312007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
7432
7433 * sunfns.c: Remove file
7434
7435 * m/sun386.h:
7436 * m/sun2.h:
7437 * m/sparc.h: Remove Sun windows code.
7438
1bc973c2
SM
74392007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
7440
7441 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
7442 (init_keyboard): Set current_kboard's window-system to nil.
7443 (tty_read_avail_input): Typo.
7444 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
7445
c22140f6
DN
74462007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
7447
7448 * s/usg5-4.h:
7449 * s/usg5-3.h:
7450 * s/ptx.h:
7451 * m/is386.h:
7452 * m/ibmps2-aix.h:
7453 * Makefile.in: Remove all mentions of X10
7454
7455 * dispnew.c (syms_of_display): Don't mention version 10.
7456
660a8219
JB
74572007-10-28 Juanma Barranquero <lekktu@gmail.com>
7458
7459 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
7460 ($(BLD)/abbrev.$(O)): Remove.
7461
e047f448
SM
74622007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
7463
7464 Rewrite abbrev.c in Elisp.
7465 * image.c (Qcount): Don't declare as extern.
7466 (syms_of_image): Initialize and staticpro `Qcount'.
7467 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
7468 * emacs.c (main): Don't call syms_of_abbrev.
7469 * Makefile.in (obj): Remove abbrev.o.
7470 (abbrev.o): Remove.
7471 * abbrev.c: Remove.
7472
67b73e3a
MR
74732007-10-26 Martin Rudalics <rudalics@gmx.at>
7474
7475 * window.c (window_min_size_2): Don't count header-line.
7476
e3d7bd83
DN
74772007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
7478
7479 * frame.h (struct frame): Move all bit fields after the first bit
660a8219 7480 field to take advantage of the available space. Group all the
e3d7bd83
DN
7481 chars together to reduce wasted space due to padding.
7482
a3547743
JB
74832007-10-26 Juanma Barranquero <lekktu@gmail.com>
7484
e298936f
JB
7485 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
7486
d3d47262
JB
7487 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
7488 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
7489 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
7490 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
7491 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
7492 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
7493 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
7494 (last_marked, mark_object_loop_halt): Make static.
7495
a3547743
JB
7496 * frame.c (syms_of_frame) <delete-frame-functions>:
7497 Fix typo in docstring.
7498
14c71d8b
JB
74992007-10-25 Juanma Barranquero <lekktu@gmail.com>
7500
7501 * w32.c (init_environment): Fix tiny memory leak.
66199f74 7502 (w32_get_resource): Remove unused variable `ok'.
14c71d8b 7503
70b8d0a4
SM
75042007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
7505
7506 Make `window-system' into a keyboard-local variable (rather than
7507 frame-local as done originally by multi-tty).
7508
7509 * keyboard.h (struct kboard): Add Vwindow_system.
7510 * keyboard.c (init_kboard): Set a default for Vwindow_system.
7511 (mark_kboards): Mark Vwindow_system.
7512
7513 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
7514 (init_display): Don't set the obsolete `window-system' frame-param.
7515
7516 * xterm.c (x_term_init):
7517 * w32term.c (w32_create_terminal):
7518 * term.c (init_tty): Set Vwindow_system.
7519 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
7520 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
7521
7522 * xfns.c (Fx_create_frame, x_create_tip_frame):
7523 * w32fns.c (Fx_create_frame, x_create_tip_frame):
7524 * macfns.c (Fx_create_frame):
7525 Don't set the obsolete `window-system' frame-param.
7526
7527 * frame.h (Qwindow_system): Remove.
7528 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
7529 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
7530
fdc90613 75312007-10-24 Richard Stallman <rms@gnu.org>
4521d1fc 7532
fdc90613
MB
7533 * frame.c (x_figure_window_size): For fullscreen case,
7534 set USPosition | PPosition without clobbering rest of window_prompting.
7c75be36 7535
fdc90613 7536 * keyboard.c (Fcurrent_idle_time): Doc fix.
4521d1fc 7537
fdc90613 7538 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4521d1fc 7539
7357cb04
SM
75402007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
7541
98228e72
SM
7542 * process.c (unwind_request_sigio): Only define if __ultrix__.
7543
1baf6db9
SM
7544 * callproc.c (child_setup): Remove spurious *.
7545
4d0ac3d7
SM
7546 * lisp.h (Fget_text_property): Declare.
7547 (have_menus_p): Declare it here rather than in sys-dep header files.
7548 * macterm.h (have_menus_p):
7549 * msdos.h (have_menus_p):
7550 * xterm.h (have_menus_p): Remove.
7551
7357cb04
SM
7552 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7553 (Fmake_variable_frame_local): Just check the variable's const-ness
7554 rather than checking nil or t.
7555
866e6dd6
JR
75562007-10-22 Jason Rumney <jasonr@gnu.org>
7557
b00afeae
JR
7558 * w32fns.c: Include math.h.
7559 (w32_abort): Declaration moved to nt/config.nt.
0f7f11b7 7560
c8f7c76b
JR
7561 * s/ms-w32.h (HAVE_STDLIB_H): Define.
7562 (abort): Redefinition moved to nt/config.nt.
7563
866e6dd6
JR
7564 * m/windowsnt.h: Remove.
7565
e79beb56
JB
75662007-10-22 Juanma Barranquero <lekktu@gmail.com>
7567
7568 * emacs.c (Fdump_emacs): Fix typo in message.
7569 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
7570 <installation-directory>: Reflow docstring.
7571
fb30dfd2
JL
75722007-10-22 Juri Linkov <juri@jurta.org>
7573
7574 * minibuf.c: Allow minibuffer default to be a list of default values.
7575 With empty input use the first element of this list as returned default.
e79beb56 7576 (string_to_object)
0f7f11b7 7577 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
fb30dfd2
JL
7578 (read_minibuf): If defalt is cons, set histstring to its car.
7579 (Fread_string): If default_value is cons, set val to its car.
7580 (Fread_buffer): If def is cons, use its car.
7581 (Fcompleting_read): If defalt is cons, set val to its car.
7582
1f163f28
MA
75832007-10-21 Michael Albinus <michael.albinus@gmx.de>
7584
7585 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
7586
db3534c3
JB
75872007-10-20 Juanma Barranquero <lekktu@gmail.com>
7588
7589 * doc.c (Fdocumentation): Check for advice in all cases.
7590
c6f18a07
CY
75912007-10-19 Chong Yidong <cyd@stupidchicken.com>
7592
7593 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
7594
2a1534d3
RS
75952007-10-19 Richard Stallman <rms@gnu.org>
7596
7597 * doc.c (Fdocumentation): Check for and handle an advised function.
7598
7b82c3b6
JB
75992007-10-19 Juanma Barranquero <lekktu@gmail.com>
7600
7601 * process.c (Fset_process_filter): Doc fix.
7602
3278f20e
SM
76032007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
7604
7605 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
7606 which caused key-translation-map to applied repeatedly (thus breaking
7607 double-mode).
7608
99784d63
SM
76092007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
7610
7611 * xselect.c (x_own_selection, x_handle_selection_clear)
7612 (x_clear_frame_selections):
7613 * w32menu.c (list_of_panes, list_of_items):
7614 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
7615 * textprop.c (validate_plist, interval_has_all_properties)
7616 (interval_has_some_properties, interval_has_some_properties_list)
7617 (add_properties, text_property_list):
7618 * process.c (Fget_buffer_process, list_processes_1, status_notify):
7619 * minibuf.c (Fassoc_string):
7620 * macselect.c (x_own_selection, x_clear_frame_selections)
7621 (Fx_disown_selection_internal):
7622 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
7623 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
7624
44bb704d
CY
76252007-10-17 Chong Yidong <cyd@stupidchicken.com>
7626
7627 * process.c: Link to libs for calling res_init() if available.
7628 (Fmake_network_process): Call res_init() before getaddrinfo or
7629 gethostbyname, if possible.
7630
d314756e
SM
76312007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
7632
2504022a
SM
7633 * lread.c (read1): Set pvectype for char_tables.
7634
19fa82b9
SM
7635 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
7636 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
7637 Add type checks.
7638 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
7639
d314756e
SM
7640 * alloc.c (free_misc): Use XMISCTYPE.
7641 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
7642
94b9aaa2
GM
76432007-10-17 Glenn Morris <rgm@gnu.org>
7644
7645 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
7646 (syms_of_minibuf): Add Qcompletion_ignore_case.
7647 * dired.c (Qcompletion_ignore_case): Change to external.
7648 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
7649 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
7650 (Fread_file_name): Use it rather than intern'ing.
7651
7652 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
7653 (Fread_coding_system): Ignore case of user input.
7654
da6658e8
YM
76552007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7656
7657 * xdisp.c (handle_display_prop): Ignore display specs after
7658 replacing one when string text is being replaced.
7659 (handle_single_display_spec): Pretend as if characters with display
7660 property haven't been consumed only when buffer text is being replaced.
7661
11fb4bdb
SM
76622007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
7663
9beb8baa
SM
7664 * xfns.c (Fx_create_frame, Fx_display_list):
7665 * window.c (window_fixed_size_p, enlarge_window)
7666 (shrink_window_lowest_first):
7667 * macterm.c (init_font_name_table):
7668 * macfns.c (Fx_create_frame, Fx_display_list):
7669 * lread.c (close_load_descs):
7670 * keyboard.c (read_char_x_menu_prompt):
7671 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
7672 * coding.c (code_convert_region_unwind): Test the type of an object
7673 rather than just !NILP before extracting data from it.
7674
d3f41ff5
SM
7675 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
7676
67ee9f6e
SM
7677 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
7678 (XMISCANY): New macro.
7679 (XMISCTYPE): Use it.
7680 (struct Lisp_Misc_Any): New type.
7681 (union Lisp_Misc): Use it.
7682 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
7683 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
7684 (find_symbol_value, set_internal, default_value, Fset_default)
7685 (Fmake_variable_buffer_local, Fmake_local_variable)
7686 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
7687 (Flocal_variable_if_set_p, Fvariable_binding_locus):
7688 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
7689 * alloc.c (allocate_buffer): Set the size and tag.
7690 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
7691 Use XMISCANY.
7692 (die): Follow the GNU convention for error messages.
7693 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
7694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
7695 tag any more.
7696 (set_buffer_internal_1):
7697 * frame.c (store_frame_param):
7698 * eval.c (specbind):
7699 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
7700
11fb4bdb
SM
7701 * doc.c (Fsnarf_documentation): Simplify.
7702
decb374a
JB
77032007-10-14 Juanma Barranquero <lekktu@gmail.com>
7704
7705 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
7706 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
7707
b5a40ee7
SM
77082007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
7709
7710 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
7711
35277b03
JB
77122007-10-14 Juanma Barranquero <lekktu@gmail.com>
7713
7714 * eval.c (do_autoload): Don't save autoloads.
7715
7716 * data.c (Ffset): Save autoload of the function being set.
7717
35fdaa62
GM
77182007-10-07 John Paul Wallington <jpw@pobox.com>
7719
7720 * xfns.c (x_create_tip_frame): Set the `display-type' frame
7721 parameter before setting up faces.
7722
1ea40aa2
EZ
77232007-10-13 Eli Zaretskii <eliz@gnu.org>
7724
35fdaa62 7725 * ccl.c (Fregister_code_conversion_map):
96a5affb
EZ
7726 * keyboard.c (append_tool_bar_item): Reformat last change.
7727
1ea40aa2
EZ
7728 * lisp.h (eabs): Rename from `abs'. All callers changed.
7729
35277b03 77302007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
71d00ce4
EZ
7731
7732 * buffer.c (add_overlay_mod_hooklist):
7733 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
7734 * fontset.c (make_fontset):
7735 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
7736 (append_tool_bar_item):
7737 * macmenu.c (grow_menu_items):
35fdaa62 7738 * w32menu.c (grow_menu_items):
71d00ce4 7739 * xmenu.c (grow_menu_items): Use larger_vector.
35fdaa62 7740
bc82f120
EZ
77412007-10-13 Eli Zaretskii <eliz@gnu.org>
7742
7743 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
7744 selected frame'' on MSDOS).
7745
d57d5a78
MR
77462007-10-12 Martin Rudalics <rudalics@gmx.at>
7747
7748 * frame.c (Qexplicit_name): New variable.
7749 (x_report_frame_params): Report it in parameter alist.
7750 (syms_of_frame): Intern and staticpro it.
7751
35277b03 77522007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
04710ebd
JR
7753
7754 * macfns.c (x_create_tip_frame): Set terminal for frame.
7755
c7a4b95b
SM
77562007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
7757
26f9c7b7
SM
7758 * frame.c (Qenvironment): Remove.
7759 (syms_of_frame) <Qenvironment>: Don't initialize.
7760 (Fdelete_frame): Don't treat the `environment' param specially.
7761 * frame.h (Qenvironment): Don't declare.
7762 * callproc.c (set_initial_environment): Don't set unused frame param.
7763
c7a4b95b
SM
7764 * frame.c (Fframe_with_environment): Remove.
7765 (syms_of_frame) <Sframe_with_environment>: Don't declare.
26f9c7b7 7766
c7a4b95b
SM
7767 * lisp.h (Fframe_with_environment): Don't declare.
7768
c86f7377
JB
77692007-10-10 Juanma Barranquero <lekktu@gmail.com>
7770
7771 * indent.c (indent_tabs_mode, last_known_column)
7772 (last_known_column_modified): Make static.
7773 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
7774
d1b3a122
KY
77752007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
7776
7777 * puresize.h (BASE_PURESIZE): Increase to 1170000.
7778
d57d5a78
MR
77792007-10-09 Jason Rumney <jasonr@gnu.org>
7780
7781 * w32term.c (x_set_window_size): Disable code that attempts to tell
7782 Lisp code about a size change before it actually happens.
7783
81d3d428 77842007-10-09 Richard Stallman <rms@gnu.org>
91175673 7785
81d3d428
MB
7786 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
7787 return HANDLED_RETURN.
91175673 7788
1af74d06 77892007-10-08 Martin Rudalics <rudalics@gmx.at>
4f1b1854 7790
1af74d06
MB
7791 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
7792 when there's an unread command event.
e0fead5d 7793
c7a4b95b 7794 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1af74d06
MB
7795 window autoselection act appropriately when leaving selected frame.
7796 (syms_of_frame): Initialize focus_follows_mouse.
7797 * frame.h (focus_follows_mouse): Extern it.
7798 * macterm.c (XTread_socket): When focus_follows_mouse is nil
c7a4b95b 7799 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1af74d06
MB
7800 * msdos.c (dos_rawgetc): Likewise.
7801 * w32term.c (w32_read_socket): Likewise.
7802 * xterm.c (handle_one_xevent): Likewise.
7803 * xdisp.c (syms_of_xdisp): In doc-string of
7804 mouse-autoselect-window mention focus-follows-mouse.
e0fead5d 7805
1af74d06 78062007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
e0fead5d 7807
1af74d06
MB
7808 * macterm.c (mac_load_query_font): Fix missing return value.
7809 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
7810 Add BLOCK_INPUT.
c186cdb3 7811
1af74d06 78122007-10-08 Richard Stallman <rms@gnu.org>
c186cdb3 7813
1af74d06
MB
7814 * xdisp.c (get_window_cursor_type): Implement documented behavior
7815 for cursor-in-non-selected-windows = t.
c186cdb3 7816
1af74d06 78172007-10-08 Jason Rumney <jasonr@gnu.org>
c186cdb3 7818
1af74d06 7819 * w32.c (w32_get_resource): Always close registry keys.
58cfce98 7820
1af74d06 78212007-10-08 Jason Rumney <jasonr@gnu.org>
58cfce98 7822
1af74d06 7823 * makefile.w32-in (LIBS): Add COMCTL32.
62854fe2 7824
1af74d06 7825 * w32fns.c (globals_of_w32fns): Init common controls.
62854fe2 7826
1af74d06 78272007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 7828
c7a4b95b 7829 * image.c (our_memory_buffer): Rename from omfib_buffer.
656f46bb 7830
1af74d06 78312007-10-08 Richard Stallman <rms@gnu.org>
656f46bb 7832
1af74d06 7833 * buffer.c (Foverlays_at): Doc fix.
036e218d 7834
1af74d06 78352007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
036e218d 7836
1af74d06 7837 * fns.c (Fplist_put): Preserve uneven tail data.
7ddb2c16 7838
1af74d06 78392007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
7ddb2c16 7840
1af74d06 7841 * termhooks.h (enum event_kind): Remove trailing comma.
ace9b298 7842
1af74d06 7843 * frame.h (enum): Remove trailing comma.
90647b07 7844
1af74d06 78452007-10-08 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
90647b07 7846
1af74d06 7847 * w32proc.c (delete_child): Don't terminate threads of zombies.
ace9b298 7848
1af74d06 78492007-10-08 Martin Rudalics <rudalics@gmx.at>
ace9b298 7850
1af74d06 7851 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
ace9b298 7852
1af74d06
MB
7853 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
7854 last-repeatable-command.
7855 (init_kboard): Initialize Vlast_repeatable_command.
7856 (command_loop_1): Set it to real_this_command unless that was
7857 bound to an input event.
7858 (mark_kboards): Mark it.
9fbc32aa 7859
1af74d06 78602007-10-08 Richard Stallman <rms@gnu.org>
036e218d 7861
1af74d06 7862 * eval.c (condition-case): Doc fix.
9fbc32aa 7863
1af74d06 78642007-10-08 Masatake YAMATO <jet@gyve.org>
9fbc32aa 7865
1af74d06
MB
7866 * xfaces.c (tty_supports_face_attributes_p): Fix code
7867 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
7868 was copied and not edited.
9fbc32aa 7869
beb9f745
SM
78702007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
7871
c86f7377 7872 Add new `input-decode-map' keymap and use it for terminal
4f4a84ec
SM
7873 escape sequences.
7874 * keyboard.h (struct kboard): Add Vinput_decode_map.
7875 Remove Vlocal_key_translation_map.
7876 * keyboard.c (read_key_sequence): Add support for input-decode-map.
7877 (init_kboard): Init input-decode-map.
7878 Replace local-key-translation-map back with key-translation-map.
7879 (syms_of_keyboard): Declare input-decode-map.
7880 Remove local-key-translation-map. Update docstrings.
7881 (mark_kboards): Mark Vinput_decode_map.
7882 Don't mark Vlocal_key_translation_map.
7883 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
7884 Replace local-key-translation-map back with key-translation-map.
7885 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
7886 Bind in input-decode-map rather than function-key-map.
7887
beb9f745
SM
7888 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
7889 This was made redundant by the previous introduction of XSETPVECTYPE.
7890
65342ae3
RS
78912007-10-09 Richard Stallman <rms@gnu.org>
7892
beb9f745 7893 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
65342ae3
RS
7894
78952007-09-29 Richard Stallman <rms@gnu.org>
7896
7897 * eval.c (internal_condition_case_2, internal_condition_case_1)
7898 (internal_condition_case): Reenable abort if x_catching_errors ()
7899 to see if that really happens and why.
7900
6cff77fd
AS
79012007-10-06 Andreas Schwab <schwab@suse.de>
7902
7903 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
7904
bbe6f2aa
JB
79052007-10-04 Juanma Barranquero <lekktu@gmail.com>
7906
7907 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
7908
a390930c
SM
79092007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
7910
7911 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
7912
d6aa1876
SM
79132007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
7914
d0fdb6da
SM
7915 * window.h (struct window):
7916 * window.c (struct save_window_data, struct saved_window):
7917 * termhooks.h (struct terminal):
7918 * process.h (struct Lisp_Process):
7919 * frame.h (struct frame):
7920 * buffer.h (struct buffer):
7921 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
7922 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
7923 The size field of (pseudo)vectors is now unsigned.
7924 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
7925
878f97ff
SM
7926 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
7927 Turn `count' into an integer.
d0fdb6da 7928
878f97ff
SM
7929 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
7930 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
7931 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
7932 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
7933 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
7934
d2029e5b
SM
7935 * alloc.c (allocate_pseudovector): New fun.
7936 (ALLOCATE_PSEUDOVECTOR): New macro.
7937 (allocate_window, allocate_terminal, allocate_frame)
7938 (allocate_process): Use it.
7939 (mark_vectorlike): New function.
7940 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
7941 (mark_terminals): Use it.
7942 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
7943 (Fmake_byte_code): Use XSETPVECTYPE.
7944
7945 * frame.c (Fframe_parameters): Minor simplification.
7946
7947 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
7948
7949 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
7950
7951 * buffer.c (Fget_buffer_create, init_buffer_once):
7952 * lread.c (defsubr):
7953 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
7954
7955 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
7956 defined differently in the m/*.h files.
7957 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
7958 (XSETPVECTYPE): New macro.
7959 (XSETPSEUDOVECTOR): Use it.
7960
d6aa1876
SM
7961 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
7962 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
d2029e5b 7963
d6aa1876
SM
7964 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
7965 * lread.c (defvar_per_buffer):
7966 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
7967
7968 * window.c (candidate_window_p): Only consider as visible frames that
7969 are on the same terminal.
7970
7971 * m/ibms390x.h (MARKBIT): Remove unused macro.
7972
88852d45
JB
79732007-10-01 Juanma Barranquero <lekktu@gmail.com>
7974
7975 * lread.c (Fload): Fix typo in docstring.
7976
880820fe 79772007-10-01 Michaël Cadilhac <michael@cadilhac.name>
2742fe30
MC
7978
7979 * floatfns.c (Fexpt): Manually check for overflows, so that a power
7980 of a non-zero value can't yield zero.
7981
ed0c79c6
SM
79822007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
7983
b870aa61
SM
7984 * term.c (term_clear_mouse_face, term_mouse_highlight)
7985 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
7986
4c37a414
SM
7987 * print.c (safe_debug_print): Use XHASH.
7988
b9466edb
SM
7989 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
7990 Lisp elements such as tags.
7991 (XHASH): New macro.
7992 (EQ): Use it.
7993 (SREF, SSET, STRING_COPYIN): Use SDATA.
7994 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
7995
9c545a55
SM
7996 * alloc.c (mark_terminal): Remove left-over declaration.
7997 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
7998 (allocate_vectorlike): Remove type argument. Adjust callers.
7999 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
8000 Only handle the one remaining MEM_TYPE_VECTORLIKE.
8001
dafc79fa
SM
8002 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
8003 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
8004 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
8005 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
8006 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
8007 Use them.
8008
ed0c79c6
SM
8009 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
8010 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
8011 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
8012
3c81afd4
DN
80132007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
8014
8015 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
8016 loaded by default.
8017
6178ce5e
SM
80182007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
8019
4ce5ab77
SM
8020 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
8021 on this tty.
8022 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
8023
6178ce5e
SM
8024 * term.c (mouse_face_window): Rename from Qmouse_face_window.
8025 Update all users.
8026 (handle_one_term_event): Use Gpm_DrawPointer.
8027 (Fgpm_mouse_start): Rename from Fterm_open_connection.
8028 Signal errors instead of returning nil. Always return nil.
8029 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
8030 Make it a noop if gpm-mouse was not activated.
8031 (syms_of_term): Update names.
8032
bdf5f8ef
SM
80332007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
8034
75a8734b
SM
8035 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
8036 (init_sys_modes): Check that gpm_tty is the current tty.
8037
13559ee0
SM
8038 * alloc.c (allocate_terminal): Set the vector size to only count the
8039 lisp fields. Initialize those to nil.
8040 (mark_object): Don't treat terminals specially.
8041 (mark_terminal): Remove.
8042 (mark_terminals): Use mark_object instead.
8043
ff16b875
SM
8044 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
8045 the GC to the beginning.
8046
83155776
SM
8047 * indent.h:
8048 * indent.c: Use EMACS_INT for ints coming from Elisp data.
8049
bdf5f8ef
SM
8050 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
8051
ec8705b6
JR
80522007-09-25 Jason Rumney <jasonr@gnu.org>
8053
8054 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
8055
8056 * w32console.c (create_w32cons_output): Remove.
8057
8058 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
8059
8060 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
8061 (reset_sys_modes): Use reset_terminal_modes_hook.
8062
7351b242
SM
80632007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
8064
8065 * eval.c (do_autoload): Don't output any message.
8066
16706228
JL
80672007-09-24 Juri Linkov <juri@jurta.org>
8068
8069 * emacs.c (standard_args): Change priority of "--no-splash"
8070 from 40 to 3. Add "--no-desktop" with the same priority.
8071
3ae2e3a3
RS
80722007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
8073
8074 * alloc.c (gc_sweep): Check cons cell mark bits word by word
8075 and optimize the case where they are all 1.
8076
7a58fb43
GM
80772007-09-23 Johannes Weiner <hannes@saeurebad.de>
8078
3ae2e3a3
RS
8079 * lisp.h (abs): Define if not defined.
8080 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
8081 Don't define `abs', since it's defined in lisp.h.
7a58fb43 8082
78048085
EZ
80832007-09-22 Eli Zaretskii <eliz@gnu.org>
8084
c7a4b95b 8085 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
78048085
EZ
8086 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
8087 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
8088 (init_tty): Use DEV_TTY instead of "/dev/tty".
8089 [WINDOWSNT]: No need to protect from NAME arg being null.
8090
23d4cba5
DN
80912007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
8092
8093 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
8094 up the tty state.
8095
71f44e7a
SM
80962007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
8097
8098 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
8099 (gpm_tty): Change its type.
8100 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
8101 (gpm_tty): Change its type and initialize it.
8102 (Fterm_open_connection): Check the frame is indeed a tty.
8103 Use the new gpm_tty.
8104 (Fterm_close_connection): Use the new gpm_tty.
8105 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
8106 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
8107
def7fa34
JB
81082007-09-21 Juanma Barranquero <lekktu@gmail.com>
8109
8110 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
8111 underline_color, to draw strike-through.
8112
d2bb6598
SM
81132007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
8114
273f164c
SM
8115 * lisp.h (allocate_terminal): Declare.
8116
ca2d5566
SM
8117 * window.c (candidate_window_p): Consider frames that are being placed
8118 by the user as somewhere between visible and iconified.
8119 (window_loop): Prefer windows on the current frame.
8120 (Fselect_window): Move the use of select-frame to the beginning so we
8121 can just delegate all the work (it'll call us back anyway).
8122
6168122d
SM
8123 * frame.c (Qdisplay_environment_variable):
8124 * frame.h (Qdisplay_environment_variable): Delete.
8125
c51842ec
SM
8126 * .gdbinit (xbacktrace): Print the arg's address rather than the value
8127 of the first arg, since that value may be a union.
8128
d2bb6598
SM
8129 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
8130 parameter rather than Qdisplay_environment_variable. If all else
8131 fails, look for DISPLAY in initial-environment.
8132
6f022c19
GM
81332007-09-21 Glenn Morris <rgm@gnu.org>
8134
8135 * Makefile.in (emacstool): Remove target.
f466320b 8136 (lisp, shortlisp): Remove termdev.elc.
6f022c19 8137
ea1bf8c7
GM
81382007-09-21 Markus Triska <markus.triska@gmx.at>
8139
d2bb6598 8140 * xterm.c (x_delete_display): Compile session management conditionally.
ea1bf8c7 8141
d30a25b3
SM
81422007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
8143
db699fc6
SM
8144 * callproc.c (getenv_internal_1): New function.
8145 (getenv_internal): Use it.
8146 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
8147
d2bb6598 8148 * terminal.c (get_terminal): Don't accept ints to represent terminals.
c5911e55
SM
8149 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
8150 (Fset_terminal_parameter): Work with dead terminals as well.
8151 (Fmodify_terminal_parameters): Remove.
8152
d30a25b3
SM
8153 * terminal.c (get_terminal): Handle terminals.
8154 Make sure the terminal returned is live.
8155 (create_terminal): Use allocate_terminal.
8156 (mark_terminals): Move to alloc.c.
8157 (delete_terminal): Use terminal->name as liveness status.
8158 NULL out fields after freeing their contents.
8159 Don't deallocate the object.
8160 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
8161 rather than an int.
8162 (Fterminal_live_p): Accept non-integer arguments.
8163 (Fterminal_list): Return terminal objects rather than an ints.
8164
8165 * alloc.c (enum mem_type): New member for `terminal' objects.
8166 (allocate_terminal): New function.
d2bb6598
SM
8167 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
8168 Handle terminals.
d30a25b3
SM
8169 (mark_terminal): New fun.
8170 (mark_terminals): Move from terminal.c.
8171
8172 * term.c (get_tty_terminal): Don't treat output_initial specially.
8173 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
8174 (delete_tty): Use terminal->name as liveness status.
8175
8176 * termhooks.h (struct terminal): Make it into a pseudovector.
8177 Remove `deleted' replaced by checking `name's nullness.
8178
8179 * print.c (print_object): Handle terminals.
8180
8181 * lisp.h (enum pvec_type): New `terminal' pseudovector.
8182 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
8183
8184 * frame.c (make_terminal_frame):
8185 * keyboard.c (tty_read_avail_input):
8186 * w32term.c (x_delete_terminal):
8187 * xfns.c (Fx_create_frame, x_create_tip_frame):
8188 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
8189
eba25e7c
GM
81902007-09-20 Glenn Morris <rgm@gnu.org>
8191
8192 * process.c (Fmake_network_process): Doc fix.
8193
2a29c3c1
JR
81942007-09-19 Jason Rumney <jasonr@gnu.org>
8195
8196 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
8197
880820fe 81982007-09-19 Michaël Cadilhac <michael@cadilhac.name>
ba1cbad7
MC
8199
8200 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
8201 Fix a C warning regarding variable constness.
8202
8203 * xterm.c (handle_one_xevent): Fix a C warning.
8204
334a1195
JR
82052007-09-18 Jason Rumney <jasonr@gnu.org>
8206
8207 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
8208
880820fe 82092007-09-17 Jan Djärv <jan.h.d@swipnet.se>
879ffad9
JD
8210
8211 * gtkutil.c (gdpy_def): New variable.
8212 (xg_initialize): Initialize gdpy_def.
8213 (xg_display_close): If no other display exists, set gdpy_def to a
8214 new connection.
8215
880820fe 82162007-09-16 Jan Djärv <jan.h.d@swipnet.se>
45c94881
JD
8217
8218 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
8219 when we have no file name for the icon.
8220 (xg_tool_bar_expose_callback): Remove.
8221 (xg_create_tool_bar): Don't connect expose signal to
8222 xg_tool_bar_expose_callback.
8223 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
8224
4d580af2
AS
82252007-09-16 Andreas Schwab <schwab@suse.de>
8226
8227 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
8228 values instead of zapping them.
8229
aca946f3
GM
82302007-09-14 Glenn Morris <rgm@gnu.org>
8231
8232 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
8233 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
8234 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
8235 scope and rename to omfib_buffer for clarity.
8236 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
8237
25c460e5
KH
82382007-09-14 Kenichi Handa <handa@m17n.org>
8239
8240 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
8241
09b69f01
JR
82422007-09-13 Jason Rumney <jasonr@gnu.org>
8243
8244 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
8245
8246 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
8247
8248 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
8249 (mac_term_init): Call here instead, passing rif.
8250
442218db
GM
82512007-09-13 Glenn Morris <rgm@gnu.org>
8252
8253 * s/hpux.h: No longer define `static' as nothing.
8254
880820fe 82552007-09-13 Johan Bockgård <bojohan@gnu.org>
4795c40f
GM
8256
8257 * callint.c (Fcall_interactively): Remove unused var `fun'.
8258
1971a872
RF
82592007-09-12 Romain Francoise <romain@orebokech.com>
8260
8261 * window.c (prefer_window_split_horizontally, display_buffer):
8262 Revert 2007-09-08 change.
8263
2d33f506
GM
82642007-09-12 Glenn Morris <rgm@gnu.org>
8265
585474ae 8266 * alloca.c: Remove file.
ca7af97a
GM
8267 * Makefile.in (alloca): Do not undef.
8268 (allocaobj, alloca.o): Remove.
8269 (otherobj): Remove allocaobj.
8270 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
8271 * regex.c (C_ALLOCA): Remove all references and code that was only
8272 used when this was defined.
8273 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
8274 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
99dfbaf1
GM
8275 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
8276
2d33f506 8277 * Makefile.in (SOURCES, unlock, relock): Delete.
ca7af97a
GM
8278
8279 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
8280 (menu_grab_callback): All uses changed.
8281
8282 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
8283 (x_reply_selection_request): All uses changed.
2d33f506 8284
18a4a65e
SM
82852007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
8286
8287 * lread.c (load_warn_old_style_backquotes): Change message to look
8288 better when it appears in the middle of byte-compiler messages.
8289
47cc8819
DN
82902007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
8291
b7ea0894
DN
8292 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
8293
47cc8819
DN
8294 * xterm.c (x_create_terminal): Add comment.
8295
8296 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
8297
5632bd0f
RS
82982007-09-10 Richard Stallman <rms@gnu.org>
8299
8300 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
8301
880820fe 83022007-09-10 Michaël Cadilhac <michael@cadilhac.name>
ccb5c14f 8303
4bca9161
MC
8304 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
8305 (DEFUN): Document `intspec', use it instead of `prompt'.
8306
04724b69
MC
8307 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
8308
8a6d230a
MC
8309 * data.c (Finteractive_form): If the interactive specification starts
8310 with a `(', use it as a Lisp form.
8311
09fbdf6c
MC
8312 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
8313 name and file modes.
8314
ccb5c14f
MC
8315 * callint.c (Fcall_interactively): Comment fixes.
8316
023accd6
SM
83172007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
8318
8319 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
8320 and compiled functions.
8321
f26b9544
EZ
83222007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
8323
8324 * window.c (prefer_window_split_horizontally): New variable.
8325 (display_buffer): Consider splitting window horizontally depending
8326 on prefer_window_split_horizontally.
8327
4d395425
EZ
83282007-09-08 Eli Zaretskii <eliz@gnu.org>
8329
97ddc760 8330 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
4d395425 8331
08c1d235
SM
83322007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
8333
179cef48
SM
8334 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
8335
08c1d235
SM
8336 * frame.c (x_set_frame_parameters): Check number is positive before
8337 using XFASTINT.
8338
8339 * window.c (freeze_window_start): Don't presume selected_window holds
8340 a window object.
92f94a12 8341 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
08c1d235 8342
97ddc760 83432007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
de52dcbb
DN
8344
8345 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
8346
90ab5c62
SM
83472007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
8348
8349 * window.c (Vsplit_window_preferred_function): New var.
8350 (Fdisplay_buffer): Use it.
8351 (syms_of_window): Export, and initialize it.
8352
1ab2cd43
TTN
83532007-09-06 Pixel <pixel@mandriva.com> (tiny change)
8354
8355 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
8356
0b0515bc
GM
83572007-09-06 Glenn Morris <rgm@gnu.org>
8358
57fd5c55 8359 * gtkutil.c (menu_grab_callback) <cnt>:
0b0515bc
GM
8360 * xselect.c (x_reply_selection_request) <cnt>: Move static
8361 variable to file scope.
8362
98594580
SM
83632007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
8364
8365 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
8366 consistent values of selected_frame and selected_window.
8367
0f4c7aef
JR
83682007-09-04 Jason Rumney <jasonr@gnu.org>
8369
8370 * w32console.c (initialize_w32_display): Zero unused hooks.
8371
e4019195
DN
83722007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
8373
8374 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
8375 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
8376
bce179b5
JR
83772007-09-04 Jason Rumney <jasonr@gnu.org>
8378
a0236551
JR
8379 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
8380 in w32console.c. Set up input. Remove XXX comments that have been
8381 confirmed as correct.
8382
a4926668
JR
8383 * s/ms-w32.h (MULTI_KBOARD): Define.
8384
953bf0dc
JR
8385 * w32console.c (one_and_only_w32cons): Remove.
8386 (initialize_w32_display): Take terminal argument.
8387
8388 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
8389 initialize_w32_display.
8390 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
8391
bce179b5
JR
8392 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
8393
8394 * keyboard.c (discard_mouse_events): Discard it.
8395 (make_lispy_event): Translate it to a lisp event.
8396 (lispy_wheel_names): Add wheel-left and right events.
8397 (syms_of_keyboard): Enlarge wheel_syms.
8398
8399 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
8400 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
8401
8402 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
8403
8404 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
8405 from WM_MOUSEHWHEEL.
8406 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
8407
8408 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
8409 terminal.
8410
8411 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
8412 keyboard for the terminal.
8413
92cd6a7c
DN
84142007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
8415
8416 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
8417 (Vresume_tty_hook): Rename from Vresume_tty_functions.
8418 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
8419 and resume-tty-function to resume-tty-hook.
8420 (Fsuspend_tty, Fresume_tty): Use new names.
8421
880820fe 84222007-09-02 Jan Djärv <jan.h.d@swipnet.se>
2154c964
JD
8423
8424 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
8425 if it starts with "n:".
8426
880820fe 84272007-08-31 Jan Djärv <jan.h.d@swipnet.se>
b42ff099
JD
8428
8429 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
8430
6b8e474c
SM
84312007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
8432
92d9c1d4
SM
8433 * frame.h:
8434 * frame.c (Qterm_environment_variable): Remove.
8435 (syms_of_frame): Don't init and staticpro it.
8436
92d9c1d4
SM
8437 * callproc.c (getenv_internal): Remove special case for $TERM.
8438
6b8e474c
SM
8439 * callproc.c (Vinitial_environment): New variable.
8440 (set_initial_environment): Initialize it.
8441 (syms_of_callproc): Declare it.
8442 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
8443 TERM under which a process runs is never related to the TERM in which
8444 Emacs is running.
8445
0f1444e1
DN
84462007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
8447
8448 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
8449 * s/darwin.h: ... do it here.
8450
b8866860
SM
84512007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
8452
8453 * lisp.h (set_initial_environment): Rename from set_global_environment.
8454
8455 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
8456 removed by mistake on the multi-tty branch.
8457
8458 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
8459 (Fmodify_frame_parameters): Return a value.
8460
8461 * image.c (png_load): Comment-out var only used in commented-out code.
8462
8463 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
8464 before passing it to mark_object.
8465
8466 * xfaces.c (internal_resolve_face_name): Return a value.
8467 (internal_resolve_face_name, resolve_face_name_error): Comment out.
8468
8469 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
8470 (x_icon): Comment-out var only used in commented-out code.
8471
0a42be6d
RF
84722007-08-29 Romain Francoise <romain@orebokech.com>
8473
8474 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
8475 QUIT hasn't been provided.
8476
8d9cc0b7
MB
84772007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
8478
8479 * callproc.c (child_setup, getenv_internal): Use the
ce20b664 8480 display-environment-variable and term-environment-variable frame params.
8d9cc0b7
MB
8481 (set_initial_environment): Initialise Vprocess_environment.
8482
8483 * config.in: Disable multi-keyboard support on a mac.
8484
8485 * frame.c (Qterm_environment_variable)
8486 (Qdisplay_environment_variable): New variables.
8487 (syms_of_frame): Intern and staticpro them.
8488 (Fmake_terminal_frame): Disable output method test.
8489
8490 * frame.h: Declare them here.
8491
8492 * macfns.c (x_set_mouse_color): Get rif from the frame.
8493 (x_set_tool_bar_lines): Don't use updating_frame.
8494 (mac_window): Add 2 new parameters for consistency with other systems.
8495 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
8496 frame parameters following what is done in X11 and w32. Don't use
8497 FRAME_MAC_DISPLAY_INFO.
8498 (Fx_open_connection, start_hourglass): Remove window-system check.
8499 (x_create_tip_frame): Get the keyboard from the terminal.
8500
8501 * macmenu.c: Reorder includes.
8502 (Fx_popup_menu): Use terminal specific mouse_position_hook.
8503
8504 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
8505 terminal parameter.
8506 (x_clear_frame): Add a frame parameter.
8507 (note_mouse_movement): Get rif from the frame.
8508 (mac_term_init): Initialize the terminal.
8509 (mac_initialize): Make static and move terminal initialization ...
8510 (mac_create_terminal): ... to this new function.
8511
8512 * macterm.h (struct mac_display_info): Add terminal.
7196c970 8513 (mac_initialize): Delete declaration.
8d9cc0b7 8514
381864b2 8515 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
8d9cc0b7
MB
8516
8517 * sysdep.c: Comment out text after #endif.
8518
8519 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
8520 is defined. Better initialize ttys in windows. Use terminal
8521 specific mouse_position_hook.
8522
8523 * termhooks.h (union display_info): Add mac_display_info.
8524
b8866860
SM
8525 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
8526 Set the default minibuffer frame, window_system and the rest of the
8d9cc0b7
MB
8527 frame parameters following what is done in X11.
8528
8529 * w32term.c (w32_initialize): Make static.
8530
8531 * xselect.c (x_handle_selection_clear): Only access
8532 terminal->kboard when MULTI_KBOARD is defined.
8533
8534 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
8535 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
8536
85372007-08-29 Jason Rumney <jasonr@gnu.org>
8538
8539 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
8540 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
8541
8542 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
8543 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
8544
8545 * keyboard.c (restore_kboard_configuration): Only define when
8546 MULTI_KBOARD defined.
8547
35277b03 8548 * makefile.w32-in: Update dependancies from Makefile.in.
8d9cc0b7
MB
8549 (OBJ1): Add terminal.$(O)
8550
b8866860
SM
8551 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
8552 Don't define function body.
8d9cc0b7
MB
8553 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
8554
8555 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
8556
8557 * w32.c (request_sigio, unrequest_sigio): Remove.
8558
8559 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
8560 (w32con_clear_frame, w32con_clear_end_of_line)
8561 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
8562 (w32con_delete_glyphs, w32con_set_terminal_window)
8563 (scroll_line, w32_sys_ring_bell): Add frame arg.
b8866860
SM
8564 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
8565 Add terminal arg.
8d9cc0b7
MB
8566 (PICK_FRAME): Remove.
8567 (w32con_write_glyphs): Use frame specific terminal coding.
8568 (one_and_only_w32cons): New global variable.
8569 (initialize_w32_display): Use it for storing hooks.
8570 (create_w32cons_output): New function.
8571
8572 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
8573 arg a frame.
8574
b8866860
SM
8575 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
8576 Set window_system.
8d9cc0b7
MB
8577 (x_set_tool_bar_lines): Don't use updating_frame.
8578 (Fx_create_frame): Set terminal and ref count.
8579 (Fx_open_connection): Remove window-system check.
8580
8581 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
8582
8583 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
8584 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
8585 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
8586 Add frame arg.
8587 (x_delete_terminal, w32_create_terminal): New functions.
8588 (w32_term_init): Create a terminal.
8589 (w32_initialize): Move terminal specific initialization to
8590 w32_create_terminal.
8591
b8866860 8592 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
8d9cc0b7
MB
8593 (w32_clear_rect, w32_clear_area): Use background from frame.
8594 (w32_display_info): Add terminal.
8595 (w32_sys_ring_bell, x_delete_display): Declare here.
8596
8597 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
8598
8599 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
8600
86012007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
8602
8603 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
8604 Fix get_named_tty calls for the controlling tty.
8605
86062007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
8607
8608 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
8609
86102007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
8611
8612 * term.c (tty_insert_glyphs): Add missing first parameter.
8613
880820fe 86142007-08-29 Károly Lőrentey <karoly@lorentey.hu>
8d9cc0b7 8615
b8866860
SM
8616 * buffer.c (Fbuffer_list, Fbury_buffer):
8617 Take frame->buried_buffer_list into account.
8d9cc0b7
MB
8618
8619 * cm.c (current_tty): New variable, for cmputc().
8620 (cmputc): Use it.
8621 (cmcheckmagic): Add tty parameter, look up terminal streams there.
8622 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
b8866860
SM
8623 (cmgoto): Add tty parameter. Pass it on to calccost().
8624 Use emacs_tputs() instead of tputs().
8d9cc0b7
MB
8625
8626 * cm.h (emacs_tputs): New macro to set current_tty, and then call
8627 tputs().
8628 (current_tty): New variable, for cmputc().
8629 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
8630
8631 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
8632 (internal_condition_case, internal_condition_case_1)
8633 (internal_condition_case_2): Don't abort when x_catching_errors.
8634
8635 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
8636 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
8637 prevent crashes caused by bogus longjmps in read_char.
8638
8639 * keymap.h (Fset_keymap_parent): Add EXFUN.
8640
8641 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
8642 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
8643 Remove redundant definition.
8644
b8866860
SM
8645 * macfns.c (x_set_mouse_color, x_make_gc):
8646 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7 8647
b8866860
SM
8648 * w32term.c (x_free_frame_resources):
8649 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
8650 (w32_initialize): Use the accessor macros for terminal characteristics.
8651
8652 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
8653 Use the accessor macros for terminal characteristics.
8654 * msdos.c (internal_terminal_init): Use the accessor macros for
8655 terminal characteristics.
b8866860
SM
8656 (ScreenVisualBell, internal_terminal_init):
8657 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
8658
8659 * termopts.h (no_redraw_on_reenter): Declare.
8660
8661 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
03f06e5c 8662 (mark_terminals, mark_ttys): Declare.
8d9cc0b7 8663 (Fgarbage_collect): Call them.
03f06e5c 8664 (mark_object): Mark buried_buffer_list.
8d9cc0b7
MB
8665
8666 * prefix-args.c: Include stdlib.h for exit.
8667
8668 * syssignal.h: Add comment.
8669
8670 * indent.c: Include stdio.h.
8671
8672 * window.h (Vinitial_window_system): Declare.
8673 (Vwindow_system): Delete declaration.
8674
8675 * fontset.c (Finternal_char_font): Use FRAME_RIF.
8676
8677 * image.c (lookup_image): Don't initialize `c' until the xasserts
8678 have been run.
8679
8680 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
8681 FRAME_FOREGROUND_PIXEL.
8682
8683 * print.c (print_preprocess): Don't lose print_depth levels while
8684 iterating.
8685
b8866860
SM
8686 * widget.c (update_from_various_frame_slots):
8687 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
8688
8689 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
8690 frames.
8691 (window_internal_height): Remove bogus make_number call.
b8866860 8692 (init_window_once): Call make_terminal_frame with two zero parameters.
8d9cc0b7
MB
8693
8694 * fileio.c (Fread_file_name): Update comment.
8695
b8866860
SM
8696 * callint.c (Fcall_interactively):
8697 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
8d9cc0b7
MB
8698 Make sure it is correctly unwound.
8699
8700 * xsmfns.c (x_session_close): New function.
8701
03f06e5c 8702 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
8d9cc0b7
MB
8703 Delete declarations.
8704
8705 * xterm.h: Remove declaration for x_fully_uncatch_errors.
8706 (x_output): Remove background_pixel and foreground_pixel fields.
03f06e5c 8707 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
8d9cc0b7
MB
8708 (x_delete_device):
8709 (x_session_close): Declare.
8710
8711 * lread.c: Include setjmp.h. Update declaration of `read_char'.
8712 (read_filtered_event): Call `read_char' with a local
8713 `wrong_kboard_jmpbuf'.
8714
b8866860
SM
8715 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
8716 Don't call single_kboard_state. Use FRAME_RIF.
8d9cc0b7
MB
8717
8718 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
8719 systems.
8720
b8866860 8721 * lisp.h (set_process_environment): Rename to `set_global_environment'.
03f06e5c 8722 (Fframe_with_environment, Fset_input_meta_mode)
8d9cc0b7 8723 (Fset_quit_char): EXFUN.
03f06e5c 8724 (x_create_device, tty_output, terminal, tty_display_info): Declare.
8d9cc0b7
MB
8725 (init_sys_modes, reset_sys_modes): Update prototypes.
8726 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
8727
b8866860
SM
8728 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
8729 Vlocal_key_translation_map, and Vkeyboard_translate_table.
03f06e5c 8730 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
8d9cc0b7 8731 Delete declarations.
03f06e5c
JB
8732 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
8733 (temporarily_switch_to_single_kboard, tty_read_avail_input):
8d9cc0b7
MB
8734 New declarations.
8735
8736 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
8737 already does that during init_display(). Call syms_of_keymap
b8866860
SM
8738 before syms_of_keyboard. Call `syms_of_terminal'.
8739 Call set_initial_environment, not set_process_environment.
8d9cc0b7
MB
8740 (shut_down_emacs): Call reset_all_sys_modes() instead of
8741 reset_sys_modes().
8742
8743 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
03f06e5c
JB
8744 (internal_resolve_face_name, resolve_face_name_error): New functions.
8745 (resolve_face_name): Protect against loops and errors thrown by Fget.
8746 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
8d9cc0b7
MB
8747 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
8748
8749 * scroll.c: Replace CURTTY() with local variables throughout the
8750 file (where applicable).
8751 (calculate_scrolling, calculate_direct_scrolling)
8752 (scrolling_1, scroll_cost): Use the accessor macros for terminal
8753 characteristics.
8754
8755 * keymap.c (Vfunction_key_map): Remove.
b8866860 8756 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
8d9cc0b7
MB
8757 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
8758 (Vkey_translation_map): Remove.
8759 (syms_of_keymap): Remove DEFVAR for key-translation-map.
8760 (Fdescribe_buffer_bindings):
8761 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
8762 Update for terminal-local key-translation-map.
8763
8764 * Makefile.in (callproc.o): Update dependencies.
8765 (lisp, shortlisp): Add termdev.elc.
8766 (obj): Add terminal.o.
8767 (terminal.o): Add dependencies.
8768 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
8769 (data.o, fns.o): Add termhooks.h dependency.
8770 (SOME_MACHINE_LISP): Add dnd.elc.
8771 (minibuf.o): Fix typo.
8772 Update dependencies.
8773
8774 * data.c (do_symval_forwarding, store_symval_forwarding)
8775 (find_symbol_value): Use the selected frame's keyboard, not
8776 current_kboard.
8777
8778 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
8779 Vwindow_system.
8780
8781 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
8782 Fmenu_bar_open.
8783 (syms_of_xmenu): Update defsubr.
8784 (mouse_position_for_popup, Fx_popup_menu)
8785 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
8786 (set_frame_menubar, free_frame_menubar)
8787 (create_and_show_popup_menu, xmenu_show, )
8788 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
8789 an X frame.
8790
8791 * xselect.c (x_own_selection): Abort if not an X frame.
8792 (some_frame_on_display): Check if it is an X frame.
8793 (x_handle_selection_clear): Deal with MULTI_KBOARD.
8794
8795 * coding.c: Include frame.h and termhooks.h.
03f06e5c 8796 (terminal_coding, keyboard_coding): Delete.
8d9cc0b7
MB
8797 (Fset_terminal_coding_system_internal):
8798 (Fset_keyboard_coding_system_internal):
8799 (Fkeyboard_coding_system):
03f06e5c
JB
8800 (Fterminal_coding_system): Add a terminal parameter.
8801 Get terminal_coding from the terminal.
8d9cc0b7
MB
8802 (init_coding_once): Don't call setup_coding_system here.
8803
8804 * dispextern.h (set_scroll_region, turn_off_insert)
8805 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
8806 (tty_clear_end_of_line, tty_setup_colors)
03f06e5c 8807 (delete_tty, updating_frame)
8d9cc0b7
MB
8808 (produce_special_glyphs, produce_glyphs, write_glyphs)
8809 (insert_glyphs): Remove.
8810 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
03f06e5c 8811 (tty_turn_off_highlight, get_tty_size): Add declaration.
b8866860 8812 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
8d9cc0b7
MB
8813
8814 * frame.h (enum output_method): Add output_initial.
8815 (struct x_output): Delete.
b8866860
SM
8816 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
8817 Access foreground_pixel and background_pixel directly from the frame.
8d9cc0b7
MB
8818 (tty_display): Delete.
8819 (struct frame): Add buried_buffer_list, foreground_pixel,
03f06e5c 8820 background_pixel and terminal. Delete kboard
8d9cc0b7
MB
8821 (union output_data): Add tty.
8822 (FRAME_KBOARD): Get the kboard from the terminal.
8823 (FRAME_INITIAL_P): New macro.
8824 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
8825 (Qterm_environment_variable, Qdisplay_environment_variable)
b8866860
SM
8826 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
8827 New declarations.
8d9cc0b7
MB
8828
8829 * termchar.h (tty_output, tty_display_info): New structures.
8830 (tty_list): Declare.
8831 (FRAME_TTY, CURTTY): New macros.
8832 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
8833 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
8834 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
8835 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
8836
8837 * callproc.c: Include frame.h and termhooks.h, for terminal
8838 parameters.
8839 (add_env): New function.
8840 (child_setup): Use it.
b8866860 8841 (child_setup, getenv_internal): Handle the new Vprocess_environment.
8d9cc0b7
MB
8842 (getenv_internal): Fix get_terminal_param call.
8843 (Fgetenv_internal, egetenv): Update doc.
8844 (syms_of_callproc): Initialize Vprocess_environment to nil.
03f06e5c 8845 Register and initialize them. Remove obsolete defvars. Update doc
8d9cc0b7
MB
8846 strings.
8847 (child_setup): Handle Vlocal_environment_variables.
b8866860
SM
8848 (getenv_internal): Add terminal parameter.
8849 Handle Vlocal_environment_variables.
8d9cc0b7
MB
8850 (Fgetenv_internal): Add terminal parameter.
8851 (child_setup, getenv_internal, Fgetenv_internal): Store the local
b8866860 8852 environment in a frame (not terminal) parameter. Update doc strings.
8d9cc0b7
MB
8853 (set_initial_environment): Rename from set_global_environment.
8854 Store Emacs environment in initial frame parameter.
8855
8856 * xdisp.c (redisplay_internal): Update references to
8857 `previous_terminal_frame'.
8858 (display_mode_line, Fformat_mode_line): Replace calls to
8859 `push_frame_kboard' with `push_kboard'.
8860 (get_glyph_string_clip_rects): Add extra parentheses and
8861 braces to prevent compiler warnings.
8862 (calc_pixel_width_or_height): Add xassert to check that the
8863 frame is alive. Don't call `lookup_image' on a termcap frame.
8864 (message2_nolog, message3_nolog, redisplay_internal)
8865 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
8866 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
8867 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
8868 (Fx_display_pixel_width, Fx_display_pixel_height)
8869 (Fx_display_planes, Fx_display_color_cells)
8870 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
8871 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
8872 (Fx_display_backing_store, Fx_display_visual_class)
8873 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
97ddc760 8874 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
8d9cc0b7
MB
8875
8876 * xfns.c (x_set_foreground_color x_set_background_color)
b8866860
SM
8877 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
8878 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
8d9cc0b7
MB
8879 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
8880 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
8881 terminal that is being deleted.
8882 (Fx_create_frame): Use `store_frame_param' to set `window-system'
b8866860 8883 frame parameter, and make sure it overrides any user-supplied setting.
8d9cc0b7
MB
8884 (Fx_close_connection, Fx_synchronize): Unify argument names with
8885 the rest of the DEFUNs.
8886
8887 * dispnew.c (Fsend_string_to_terminal): Update call to
8888 `get_tty_terminal'.
8889 (Fredraw_frame, Fsend_string_to_terminal)
2d33f506 8890 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
8d9cc0b7
MB
8891 FRAME_TERMCAP_P and FRAME_TTY.
8892 (window_change_signal): Don't believe width/height values that are
8893 impossibly small.
8894 (Vinitial_window_system): Rename from Vwindow_system.
8895 (termscript, Wcm, rif): Delete.
8896
8897 * termhooks.h (struct terminal): New struct containing the
8898 previously global text display hooks and new members NAME,
8899 DELETED and PARAM_ALIST.
8900 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
8901 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
8902 (FRAME_RIF): New macros.
8903 (get_terminal_param, get_device): New declarations.
8904 (termscript): Delete declaration.
8905
8906 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
8907 (XTflash, x_free_frame_resources, x_scroll_bar_create)
8908 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
8909 FRAME_FOREGROUND_PIXEL.
8910 (x_fully_uncatch_errors): Disable definition.
8911 (x_scroll_bar_expose): Fix reference to foreground pixel.
8912 (XTread_socket): Disable loop on all X displays.
8913 (x_delete_terminal): Don't set terminal->deleted and let
8914 delete_terminal delete the frames on the terminal.
8915 (x_delete_display): Doc update to reflect changes in
8916 delete_terminal.
8917 (x_display_info) <terminal>: Move member earlier in the struct.
8d9cc0b7
MB
8918 (deleting_tty): Remove old variable.
8919 (Fsuspend_tty): Call clear_tty_hooks.
8920 (Fresume_tty, init_tty): Call set_tty_hooks.
8d9cc0b7
MB
8921 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
8922 errors on X frames.
8923 (x_catch_errors_unwind): Abort if x_error_message is NULL.
8924 (handle_one_xevent): Initialize `f' to NULL.
9cab96b0 8925 (x_delete_terminal, x_create_terminal): New functions.
8d9cc0b7
MB
8926 (XTset_terminal_modes, XTreset_terminal_modes)
8927 (XTread_socket, x_connection_closed, x_term_init)
8928 (x_term_init, x_delete_display): Add terminal parameter.
8929 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
8930 X connections.
8931
bf380f53
GM
8932 * frame.c: Include termchar.h.
8933 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
8934 (Qwindow_system, Qenvironment, Qterm_environment_variable)
8935 (Qdisplay_environment_variable): New vars.
8936 (Fframep): Deal with output_initial.
8937 (Fframe-live-p): Doc fix.
8938 (Fwindow-system): New function.
8d9cc0b7
MB
8939 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
8940 (make_terminal_frame): Don't create frames on a terminal that is
bf380f53 8941 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
b8866860 8942 (store_frame_param): Check for found_for_frame before calling XFRAME.
8d9cc0b7
MB
8943 (Fmake_terminal_frame): Handle NULL tty names correctly.
8944 (syms_of_frame): Enhance doc string of `default-frame-alist'.
bf380f53
GM
8945 (Fdelete_frame): Remove unused variable `count'. Don't allow other
8946 frames to refer to a deleted frame in their 'environment parameter.
8d9cc0b7 8947 (Fframe_with_environment): New function.
b8866860 8948 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
8d9cc0b7
MB
8949 (get_future_frame_param): New function.
8950 (Fmake_terminal_frame): Use it.
2d33f506 8951 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
8d9cc0b7
MB
8952
8953 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
8954 * sysdep.c (reset_sys_modes): Update for renames.
8955
8956 * keyboard.c (tty_read_avail_input): New function.
03f06e5c 8957 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
8d9cc0b7
MB
8958 (syms_of_keyboard): Defsubr them.
8959 (Fset_input_meta_mode, Fset_quit_char): New functions.
8960 (Fset_input_mode): Split to above functions.
8961
8962 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
8963 parameter. Use it in call to `read_char'.
b8866860
SM
8964 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
8965 Set wrong_kboard_jmpbuf correctly in recursive calls.
8966 Use current_kboard to access Vkeyboard_translate_table.
8967 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
8968 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
8969 Update longjmp invocations. Remember the original current_kboard,
8970 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
8971 changes it. Comment out unnecessary calls to
8972 `record_single_kboard_state' and `any_kboard_state'.
8973 Update recursive calls.
8d9cc0b7
MB
8974 (wrong_kboard_jmpbuf): Remove global variable.
8975 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
8976 Handle deleted interrupted_kboards correctly; that is a legal
8977 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
b8866860 8978 and read_char calls. Abort if interrupted_kboard died in read_char.
8d9cc0b7
MB
8979 (any_kboard_state, single_kboard_state)
8980 (push_frame_kboard): Remove function.
8981 (pop_kboard): Switch out of single_kboard mode if the kboard has
03f06e5c
JB
8982 been deleted. Remove unused variable. Help debugging by not
8983 changing current_kboard unnecessarily. Set current_kboard to the
8d9cc0b7
MB
8984 kboard of the selected frame when the stored kboard object has
8985 been deleted before pop_kboard.
8986 (temporarily_switch_to_single_kboard): Change first parameter to a
8987 frame pointer. Throw an error when caller wants to change kboards
8988 while in single_kboard mode. Don't push_kboard if we weren't in
8989 single kboard state. Don't pop_kboard if we popped into any
8990 kboard state.
8991 (restore_kboard_configuration): Abort if pop_kboard changed the
03f06e5c 8992 kboard in single_kboard mode. Call pop_kboard only after setting
8d9cc0b7
MB
8993 up single_kboard mode.
8994 (Frecursive_edit): Switch to single_kboard mode only in nested
8995 command loops.
b8866860
SM
8996 (cmd_error, command_loop, command_loop_1, timer_check):
8997 Comment out unnecessary call to `any_kboard_state' and
8d9cc0b7
MB
8998 `record_single_kboard_state'.
8999 (delete_kboard): Exit single_kboard mode if we have just deleted
03f06e5c 9000 that kboard. Use FRAME_KBOARD.
8d9cc0b7
MB
9001 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
9002 `fatal_error_signal'.
9003 (record_single_kboard_state): Don't push_kboard if we weren't in
9004 single kboard state. Don't pop_kboard if we popped into any
9005 kboard state.
9006 (push_frame_kboard): Rename to push_kboard.
9007 (kbd_buffer_get_event): Use FRAME_TERMINAL.
9008 (read_avail_input): Read input from all terminals.
9009 (mark_kboards): Also mark Vkeyboard_translate_table.
9010 (kbd_buffer_store_event_hold): Simplify condition.
9011 (read_key_sequence): Reinitialize fkey and keytran at each replay.
9012 (Vkeyboard_translate_table): Move to struct kboard.
9013 (init_kboard): Initialize Vkeyboard_translate_table.
9014 (syms_of_keyboard): Use DEFVAR_KBOARD to define
9015 Vkeyboard_translate_table. Update doc strings. Update docs of
9016 local-function-key-map and function-key-map.
9017
9018 * terminal.c: New file.
9019
9020 * term.c: Include errno.h.
9021 (Vring_bell_function, device_list, initial_device)
9022 (next_device_id, ring_bell, update_begin, update_end)
9023 (set_terminal_window, cursor_to, raw_cursor_to)
9024 (clear_to_end, clear_frame, clear_end_of_line)
9025 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
9026 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
9027 (syms_of_term): Move their initialization to terminal.c.
9028 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
9029 (Ftty_display_color_cells)
9030 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
9cab96b0 9031 (clear_tty_hooks, set_tty_hooks)
8d9cc0b7
MB
9032 (init_tty, maybe_fatal): New functions.
9033 (Ftty_type): Return nil if terminal is not on a tty instead of
9034 throwing an error. Doc update.
9035 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
03f06e5c 9036 Doc update. Initialize new subrs and variables.
8d9cc0b7
MB
9037 (delete_tty): Use terminal->deleted.
9038 (tty_set_terminal_modes): Rename from set_terminal_modes.
9039 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
9040 (set_scroll_region): Rename to `tty_set_scroll_region'.
9041 (turn_on_insert): Rename to `tty_turn_on_insert'.
9042 (turn_off_insert): Rename to `tty_turn_off_insert'.
9043 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
9044 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
9045 (toggle_highligh): Rename to `tty_toggle_highlight'.
9046 (background_highlight): Rename to `tty_background_highlight'.
9047 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
9048 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
9049 (tty_set_scroll_region, tty_background_highlight)
9050 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
9051 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
9052 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
9053 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
9054 Add static modifier.
9055 (tty_reset_terminal_modes, tty_set_terminal_window)
9056 (tty_set_scroll_region, tty_background_highlight)
9057 (tty_highlight_if_desired, tty_cursor_to)
9058 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
9059 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
9060 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
9061 renames.
9062
880820fe 90632007-08-28 Jan Djärv <jan.h.d@swipnet.se>
cf0590c4
JD
9064
9065 * keyboard.c: Qrtl is new.
9066 (parse_tool_bar_item): Handle :rtl keyword.
9067 (syms_of_keyboard): Intern :rtl keyword.
9068
9069 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
9070
9071 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
9072 so no Lisp code is executed.
9073 (file_for_image, find_rtl_image): New functions.
9074 (xg_get_image_for_pixmap): Use file_for_image
9075 (update_frame_tool_bar): If direction is RTL, use RTL image if
9076 defined. Use Gtk stock images if defined.
9077
83cc8d35
YM
90782007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9079
9080 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
9081 for nonexistent or zero-width glyph in composition glyph.
9082
e60c4e15
SM
90832007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
9084
d7e2a28f
SM
9085 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
9086
e60c4e15
SM
9087 * xdisp.c (Finvisible_p): New function.
9088 (syms_of_xdisp): defsubr it.
9089
ee163e6d
JB
90902007-08-24 Juanma Barranquero <lekktu@gmail.com>
9091
9092 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
9093 Doc fixes.
9094
90fa408d
YM
90952007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9096
35277b03 9097 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
90fa408d 9098
cac4219c
MR
90992007-08-24 Martin Rudalics <rudalics@gmx.at>
9100
9101 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
9102 whether decoding has modified buffer contents.
9103
5fc9fdeb
JR
91042007-08-24 Jason Rumney <jasonr@gnu.org>
9105
9106 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
9107 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
9108 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
9109 (init_svg_functions) [HAVE_NTGUI]: New function.
9110 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
9111 (svg_load_image): Use them.
9112 (svg_load_image) [HAVE_NTGUI]: Implement background.
9113
93b23406
YM
91142007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9115
9116 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
9117 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
9118 (LIBX): Remove @RSVG_LIBS@.
9119 (LIBES): Add $(RSVG_LIBS).
9120
9121 * image.c (svg_load_image): Blend with specified background if exists.
9122 Use IMAGE_BACKGROUND. Add Mac OS Support.
9123
9124 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
9125 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
9126 Remove macros.
9127 [MAC_OSX] (socket_callback): Do nothing.
9128 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
9129 ReceiveNextEvent.
9130 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
9131 socket_callback.
9132 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
9133
2467875c
GM
91342007-08-22 Glenn Morris <rgm@gnu.org>
9135
ff8da443 9136 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2467875c 9137
4ab27a43
GM
91382007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
9139
9140 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
ff8da443 9141
666e0eda
GM
9142 * image.c: Add support for SVG images. Some additional comments
9143 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
9144 (svg_image_p): New function to test for SVG image.
9145 (svg_load): New function to load SVG image.
9146 (svg_load_image): New function, helper for svg_load.
9147 (Qsvg): New Lisp_object.
9148 (svg_keyword_index): New enum.
9149 (svg_format): New static `image_keyword' struct.
9150 (svg_type): New static `image_type' struct.
9151 (librsvg/rsvg.h): Include it.
4ab27a43 9152
b636b4c1
SM
91532007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
9154
9155 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
9156
9ecb827b
SM
91572007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
9158
1d064697
SM
9159 * lread.c (Qold_style_backquotes): New var.
9160 (syms_of_lread): Init and staticpro it.
9161 (load_warn_old_style_backquotes): New fun.
9162 (Fload): Use them to warn about old style backquotes.
9163 (end_of_file_error, Fload): Remove unused vars.
9164
5772ed4b
SM
9165 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
9166
9ecb827b 9167 * lread.c (Vold_style_backquotes): New var.
5aa273b0 9168 (syms_of_lread): Init and export it to Elisp.
9ecb827b
SM
9169 (read1): Set it when we find an old-style (back)quote.
9170
32e1c7b1
JR
91712007-08-22 Jason Rumney <jasonr@gnu.org>
9172
9173 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
9174
b8fa755b
KY
91752007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
9176
9177 * puresize.h (BASE_PURESIZE): Increase to 1140000.
9178
1283140e
RS
91792007-08-19 Richard Stallman <rms@gnu.org>
9180
9181 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
9182
2c4685ee
AS
91832007-08-19 Andreas Schwab <schwab@suse.de>
9184
9185 * alloc.c (pure): Round PURESIZE up.
9186
880820fe 91872007-08-17 Jan Djärv <jan.h.d@swipnet.se>
e8953ebf
JD
9188
9189 * xterm.c (handle_one_xevent): Remove check that mouse click is in
9190 active frame.
9191
6e33efc4
RS
91922007-08-16 Richard Stallman <rms@gnu.org>
9193
9194 * eval.c (Fcommandp): Add parens to clarify.
9195
9196 * minibuf.c (Fall_completions): Use enum for type of table.
9197
9198 * emacs.c (USAGE2): Improve text.
9199
fcf8ff2e
GM
92002007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
9201
5205ee62
GM
9202 * term.c (tty_default_color_capabilities): Declare static
9203 variables in file scope, to avoid HPUX compiler problem.
fcf8ff2e 9204
880820fe 92052007-08-13 Jan Djärv <jan.h.d@swipnet.se>
81d13a51
JD
9206
9207 * gtkutil.c (update_frame_tool_bar): Use -1 as index
9208 to gtk_toolbar_insert.
9209
4a181359
SM
92102007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
9211
1bc99c9c
SM
9212 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
9213
4a181359
SM
9214 * insdel.c (reset_var_on_error): New fun.
9215 (signal_before_change, signal_after_change):
9216 Use it to reset (after|before)-change-functions to nil in case of error.
9217 Bind inhibit-modification-hooks to t.
9218 Don't bind (after|before)-change-functions to nil while they run.
9219
6c28435c
YM
92202007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9221
9222 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
9223 filling pixmap with stippled background.
9224
ad3b3e02
YM
92252007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9226
9227 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
9228 Don't use invisible frame as parent window for repositioning.
9229
a22dec27
SM
92302007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
9231
9232 * print.c (new_backquote_output): Rename from old_backquote_output.
9233 (print): Inverse its logic (according to its name) so as to match the
9234 behavior of new_backquote_flag in lread.c.
9235
7b7d07bb
YM
92362007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9237
9238 * gmalloc.c (posix_memalign): New function.
9239
9240 * macterm.c (frame_highlight, frame_unhighlight): Don't call
9241 ActivateControl/DeactivateControl here.
9242 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
9243 frame-notice-user-settings is non-nil.
9244 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
9245 for kEventParamFMFontStyle.
9246 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
9247 mac_pass_command_to_system and mac_pass_control_to_system here.
9248 (XTread_socket): Call ActivateControl/DeactivateControl here.
9249 (XTread_socket) [TARGET_API_MAC_CARBON]:
9250 Check mac_pass_command_to_system and mac_pass_control_to_system here.
f9426479
YM
9251 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
9252 for window repositioning.
7b7d07bb 9253
22e9fe24
GM
92542007-08-08 Glenn Morris <rgm@gnu.org>
9255
9256 * Replace `iff' in doc-strings and comments.
9257
ae494350
CY
92582007-08-07 Chong Yidong <cyd@stupidchicken.com>
9259
9260 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
9261
6f2528d8
MR
92622007-08-07 Martin Rudalics <rudalics@gmx.at>
9263
9264 * fileio.c (Finsert_file_contents): Run format-decode and
9265 after_insert_file_functions on entire buffer when REPLACE is
9266 non-nil and inhibit modification_hooks and point_motion_hooks.
9267 For consistency, run after_insert_file_functions iff something
9268 got inserted. Move signal_after_change and update_compositions
9269 after code running after_insert_file_functions. Make sure that
6b8e474c 9270 undo_list doesn't record intermediate steps of the decoding process.
6f2528d8 9271
3ceeb306
YM
92722007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9273
9274 * emacs.c (main)
9275 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
9276 Call malloc_enable_thread on interactive startup.
9277
9278 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
7b7d07bb
YM
9279 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
9280 [USE_PTHREAD]: Conditionalize with it.
3ceeb306
YM
9281 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
9282 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
9283 New functions.
9284
ca5e6fd5
CY
92852007-08-06 Chong Yidong <cyd@stupidchicken.com>
9286
32bfce5d
CY
9287 * xdisp.c (redisplay_window): When restoring original buffer
9288 position, make sure it is still valid.
9289
ca5e6fd5
CY
9290 * image.c (png_load): Ignore png-supplied background color.
9291
a5b11587
YM
92922007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9293
9294 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
9295 Use kCFAbsoluteTimeIntervalSince1970.
9296
9297 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
9298 New variable.
9299 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
9300 event loop should be quit.
9301 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
9302 Quit dialog event loop if quit_dialog_event_loop is set.
9303
9304 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
9305 (Selection): New typedef. Use instead of ScrapRef.
9306 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
9307 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
9308 (mac_clear_selection): Rename from clear_scrap.
9309 (get_flavor_type_from_symbol): New argument SEL and subsume function of
ff8da443 9310 scrap_has_target_type. All uses changed.
a5b11587
YM
9311 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9312 (mac_selection_has_target_p): New functions.
9313 (mac_put_selection_value): Rename from put_scrap_string.
9314 (mac_get_selection_value): Rename from get_scrap_string.
9315 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
9316 (put_scrap_private_timestamp, scrap_has_target_type)
9317 (get_scrap_private_timestamp): Remove functions.
9318 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
9319 (x_own_selection, x_get_local_selection):
9320 Use mac_valid_selection_value_p.
9321 (x_own_selection): Don't use put_scrap_private_timestamp.
9322 Record OWNERSHIP-INFO into Vselection_alist instead.
9323 (x_get_local_selection): Don't check type if request is local.
9324 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
9325 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
9326
880820fe 93272007-08-04 Jan Djärv <jan.h.d@swipnet.se>
991bde0d
JD
9328
9329 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
9330 add comment explaining why.
9331
73ff9d42
RS
93322007-08-03 Richard Stallman <rms@gnu.org>
9333
9334 * fileio.c (Fvisited_file_modtime): Use make_time.
9335
54ed9a2d 93362007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
cdf5c17a
VJL
9337
9338 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
9339 build.
9340
65a9c8e2
SM
93412007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
9342
9343 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
9344
c5925799
KY
93452007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
9346
9347 * puresize.h (BASE_PURESIZE): Increase to 1130000.
9348
adef3de7
RS
93492007-07-30 Richard Stallman <rms@gnu.org>
9350
9351 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
9352
880820fe 93532007-07-29 Jan Djärv <jan.h.d@swipnet.se>
784c1472
JD
9354
9355 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
9356
a10421a1
NR
93572007-07-28 Nick Roberts <nickrob@snap.net.nz>
9358
9359 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
9360 remote default-directory.
9361
9362 * buffer.c (mode-line-format): Update doc string.
9363
0cb1ae20
YM
93642007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9365
9366 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
9367 scroll bar gap.
9368 (x_scroll_bar_create): Set bar->fringe_extended_p.
9369 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
9370 on frame edge. Check fringe background extension. Don't clear
9371 extended fringe background area.
9372
9373 * w32term.h (struct scroll_bar): New member fringe_extended_p.
9374 (w32_fill_area): Enclose multiple statements with do ... while (0).
9375
9376 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
9377 Extend fringe background to scroll bar gap.
9378 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
9379 Set bar->fringe_extended_p.
9380 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
9381 Put leftmost/rightmost scroll bars on frame edge. Check fringe
9382 background extension. Don't clear extended fringe background area.
9383
9384 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
9385 New member fringe_extended_p.
9386
cacc7b51
GM
93872007-07-25 Glenn Morris <rgm@gnu.org>
9388
9389 * Relicense all FSF files to GPLv3 or later.
9390
9391 * COPYING: Switch to GPLv3.
9392
89835619
SM
93932007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
9394
c4f46926
SM
9395 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
9396
9397 * data.c (Finteractive_form): Check for the presence of an
9398 `interactive-form' symbol property more thoroughly.
9399
9400 * data.c (Finteractive_form): Use an `interactive-form' property if
89835619
SM
9401 present, analogous to the function-documentation property.
9402
ee04257d
JR
94032007-07-24 Jason Rumney <jasonr@gnu.org>
9404
9405 * w32fns.c (x_real_positions): Get real position from OS instead of
9406 calculating it.
9407
50624218
JR
94082007-07-23 Jason Rumney <jasonr@gnu.org>
9409
9410 * filelock.c (current_lock_owner): Allow for @ sign in username.
9411
3650f60e
NR
94122007-07-22 Nick Roberts <nickrob@snap.net.nz>
9413
9414 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
9415 remote default-directory.
9416
9417 * buffer.c (mode-line-format): Describe above case in doc string.
9418
1e899515 94192007-07-20 Eli Zaretskii <eliz@gnu.org>
b395d6e1 9420
75be5258
EZ
9421 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
9422 Define if not defined.
9423
2b6e2f4d
JR
94242007-07-18 Jason Rumney <jasonr@gnu.org>
9425
9426 * w32proc.c (w32_executable_type): Handle 64 bit executables.
9427
23dacf80
JB
94282007-07-18 Richard Stallman <rms@gnu.org>
9429
9430 * data.c (Fsetq_default): Doc fix.
9431
9432 * eval.c (Fsetq): Doc fix.
9433
94342007-07-18 Juanma Barranquero <lekktu@gmail.com>
9435
9436 * coding.c (Ffind_operation_coding_system):
9437 * eval.c (For, Fand): Doc fixes.
880820fe 9438 Reported by Johan Bockgård.
23dacf80 9439
880820fe 94402007-07-18 Jan Djärv <jan.h.d@swipnet.se>
656de71a 9441
23dacf80 9442 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
656de71a 9443
23dacf80 9444 * xterm.h: Declare x_ewmh_activate_frame.
656de71a
JD
9445
9446 * xterm.c (x_ewmh_activate_frame): New function.
9447 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
9448
71ec17e6
MR
94492007-07-17 Martin Rudalics <rudalics@gmx.at>
9450
9451 * window.c (Fdisplay_buffer): If largest or LRU window is the
9452 only window, split it even if it is not eligible for splitting.
9453 This restores the original behavior broken by the 2007-07-15
9454 change.
9455
e9818042
GM
94562007-07-17 Glenn Morris <rgm@gnu.org>
9457
9458 * abbrev.c (abbrev_check_chars): New function.
6b8e474c
SM
9459 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
9460 Call abbrev_check_chars to check abbrev characters are word
e9818042
GM
9461 constituents. Doc fix.
9462
e6fca843
SM
94632007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
9464
9465 * process.c (Fstart_process, Fmake_network_process)
9466 (read_process_output): Fix up last changes.
9467
b5d2b4ab
EZ
94682007-07-16 Eli Zaretskii <eliz@gnu.org>
9469
9470 * makefile.w32-in (clean): Don't delete *~.
9471
413a79ad
AS
94722007-07-16 Andreas Schwab <schwab@suse.de>
9473
9474 * window.c (Fdisplay_buffer): Use NILP.
9475 (Fset_window_scroll_bars): Likewise.
9476
f1de8c77
MR
94772007-07-15 Martin Rudalics <rudalics@gmx.at>
9478
9479 * window.c (window_min_size_2): New function.
9480 (window_min_size_1, size_window, Fdisplay_buffer)
9481 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
9482 windows without mode- or header-lines when window-min-height is
9483 too small.
9484 (size_window): Reset nodelete_p after testing it, following an
9485 earlier note by Kim F. Storm.
9486 (display_buffer): Do not set split_height_threshold to twice the
9487 value of window_min_height to avoid changing the value of a
9488 customizable variable. Rather explicitly check whether the
9489 height of the window that shall be splitted is at least as large
9490 as split_height_threshold.
1af74d06
MB
9491 (Fwindow_full_width_p): New defun.
9492 (syms_of_window): Defsubr it.
d31053f9 9493
1af74d06 9494 * window.h: Add EXFUN for Fwindow_full_width_p.
f1de8c77 9495
5e1ab613
JR
94962007-07-14 Jason Rumney <jasonr@gnu.org>
9497
9498 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
9499
f01cbfdd
RS
95002007-07-14 Richard Stallman <rms@gnu.org>
9501
9502 * eval.c (maybe_call_debugger): New function.
9503 (find_handler_clause): Use maybe_call_debugger.
9504 Call it when the handler says `debug'.
9505 Eliminate DEBUGGER_VALUE_PTR.
9506 (Fsignal): Eliminate debugger_value.
9507 (Qdebug): New variable.
9508 (syms_of_eval): Initialize it.
9509
1bab435a
JB
95102007-07-14 Juanma Barranquero <lekktu@gmail.com>
9511
9512 * eval.c (Fprogn):
9513 * keyboard.c (Ftrack_mouse):
9514 * print.c (Fwith_output_to_temp_buffer):
9515 * window.c (Fsave_window_excursion): Doc fix.
9516
be436d23
SM
95172007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
9518
9519 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
9520
60f0fb11
SM
95212007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
9522
9523 * process.h (struct Lisp_Process): Turn slots infd, outfd,
9524 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
9525 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
9526 read_output_delay, and read_output_skip from Lisp_Objects to ints.
9527 Remove unused encoding_carryover.
9528 * process.c: Adjust all functions accordingly.
9529
d8b18043
RS
95302007-07-12 Richard Stallman <rms@gnu.org>
9531
9532 * term.c: Include unistd.h only if HAVE_UNISTD_H.
9533
d5781bb6
JR
95342007-07-11 Jason Rumney <jasonr@gnu.org>
9535
9536 * makefile.w32-in (LIBS): Include OLE32.
9537
9538 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
9539 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
9540
5bb7dfee
SM
95412007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
9542
9543 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
9544 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
9545 from a Lisp_Object into a bare pointer.
9546 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9547 Adjust the code correspondingly.
9548
9549 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
9550
9551 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
9552 (term_show_mouse_face): Remove unused var `j'.
9553 (handle_one_term_event): Remove unused vars `i' and `j'.
9554 Don't cast return value of ttyname since it's not necessary.
9555
a1be1ce8
SM
95562007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
9557
5045e68e
SM
9558 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
9559 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
9560
8071c00f
SM
9561 * fns.c (map_char_table): Use an array of int for `indices' rather than
9562 an array of Lisp_Objects (which are only ever integers anyway).
9563 (Fmap_char_table): Update caller.
9564 * lisp.h: Update prototype.
9565 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
9566 * fontset.c (Ffontset_info):
9567 * casetab.c (set_case_table): Update callers.
9568
9569 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
9570
fab84e3c
SM
9571 * keymap.c (struct accessible_keymaps_data)
9572 (struct where_is_internal_data): New structures.
9573 (accessible_keymaps_1, where_is_internal_1): Use them to change
9574 interface to adhere to the one used by map_keymap.
9575 (Faccessible_keymaps, where_is_internal): Use map_keymap.
9576 (accessible_keymaps_char_table, where_is_internal_2): Remove.
9577
a1be1ce8
SM
9578 * keymap.h (map_keymap_function_t): More informative prototype.
9579
ef887810
RS
95802007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
9581
9582 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
9583 (looking_at_1): Don't change search_regs and last_thing_searched
9584 if `inhibit-changing-match-data' is non-nil.
9585 (string_match_1, search_buffer, set_search_regs): Likewise.
9586 (syms_of_search): Add Lisp level definition for
9587 `inhibit-changing-match-data' and set it to nil.
8071c00f
SM
9588 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
9589 start and end of the match, instead of using values in search_regs.
ef887810 9590
4d02fc25
SM
95912007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
9592
9593 * minibuf.c (Fcompleting_read): New value `confirm-only'
9594 for `require-match'.
9595
fe45b81f
SM
95962007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
9597
9598 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
9599 part of the 2007-06-27 change to syms_of_fileio.
9600
a56dd283
YM
96012007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9602
9603 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
9604 Check WINDOWP before using XWINDOW. Consolidate return statements.
9605
0cf9f5b5
RS
96062007-06-27 Richard Stallman <rms@gnu.org>
9607
9608 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
9609
a66f285a
JB
96102007-06-27 Juanma Barranquero <lekktu@gmail.com>
9611
9612 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
9613
8d0d84d2
YM
96142007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9615
9616 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
9617 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
9618 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
9619 (_free_internal, memalign): Use them.
9620 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
9621 Initialize to PTHREAD_MUTEX_INITIALIZER.
9622 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
9623 (morecore_nolock): Rename from morecore. All uses changed.
9624 Use only nolock versions of internal allocation functions.
9625 (_malloc_internal_nolock, _realloc_internal_nolock)
9626 (_free_internal_nolock): New functions created from
9627 _malloc_internal, _realloc_internal, and _free_internal.
9628 (_malloc_internal, _realloc_internal, _free_internal): Use them.
9629 Copy hook value to automatic variable before its use.
9630 (memalign): Copy hook value to automatic variable before its use.
9631
5a0bbd9a
KH
96322007-06-26 Kenichi Handa <handa@m17n.org>
9633
9634 * coding.c (Ffind_operation_coding_system): Docstring improved.
9635 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
9636
9a51747b
DK
96372007-06-25 David Kastrup <dak@gnu.org>
9638
9639 * keymap.c (Fcurrent_active_maps): Add `position' argument.
9640 (Fwhere_is_internal): Adjust call to `current-active-maps' to
9641 cater for additional parameter.
9642
9643 * keymap.h: Adjust number of parameters to `current-active-maps'.
9644
9645 * doc.c (Fsubstitute_command_keys): Adjust call of
9646 `current-active-maps'.
9647
e4305426
DK
96482007-06-25 David Kastrup <dak@gnu.org>
9649
9650 * callint.c (Fcall_interactively): Make the parsing of interactive
9651 specs somewhat more readable.
9652
511a18d9
YM
96532007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9654
9655 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
9656 to scroll bar gap also when bitmap fills fringe. Draw only foreground
9657 if extended background has already been filled.
9658
512eb161
YM
96592007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9660
9661 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
9662 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
9663
9664 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
9665 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
9666 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
9667 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
9668 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
9669 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
9670 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
9671 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
9672 Run timers during dialog popup.
9673 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
9674
2386b1f1
JR
96752007-06-21 Jason Rumney <jasonr@gnu.org>
9676
9677 * image.c (convert_mono_to_color_image): Swap fore and background.
9678
fab8b787
JR
96792007-06-20 Jason Rumney <jasonr@gnu.org>
9680
9681 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
9682 (w32_free_bdf_font): Unmap memory not handle.
9683
15bdd7a0 96842007-06-20 Sam Steingold <sds@gnu.org>
3cacba85
SS
9685
9686 * gmalloc.c (__morecore): Fix the declaration to comply with the
9687 definition.
9688
1bb8a291
JB
96892007-06-20 Juanma Barranquero <lekktu@gmail.com>
9690
9691 * w32term.c (w32_delete_display): Remove leftover declaration.
9692 (w32_define_cursor, w32_initialize): Make static.
9693
9694 * w32.c (_wsa_errlist): Fix typo in error message.
9695 (init_environment): Ignore any environment variable from the
9696 registry having a null value.
9697
92648dea
GM
96982007-06-20 Glenn Morris <rgm@gnu.org>
9699
9700 * Makefile.in (LIBGIF): Default to -lgif.
9701
ff25d115
JR
97022007-06-17 Jason Rumney <jasonr@gnu.org>
9703
9704 * w32menu.c (add_menu_item): Don't use multibyte string functions on
9705 unicode strings.
9706
a1a578a5
JB
97072007-06-16 Juanma Barranquero <lekktu@gmail.com>
9708
9709 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
9710 Fix typo in docstring.
9711
af41f8a8
EZ
97122007-06-16 Eli Zaretskii <eliz@gnu.org>
9713
9714 * w32menu.c (add_menu_item): Escape `&' characters in menu items
9715 and their keybindings.
9716
8b29cab9
CY
97172007-06-15 Chong Yidong <cyd@stupidchicken.com>
9718
9719 * composite.c (update_compositions): Fix last fix.
9720
c433c134
JR
97212007-06-14 Jason Rumney <jasonr@gnu.org>
9722
9723 * w32.c (get_process_times_fn): New function pointer.
9724 (globals_of_w32): Intialize it if present in kernel32.dll.
9725 (w32_get_internal_run_time): New function.
9726
9727 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
9728
553d3164
KH
97292007-06-14 Kenichi Handa <handa@etlken.m17n.org>
9730
9731 * composite.c (update_compositions): Check the validness of
9732 compositions.
9733
446ba96f
YM
97342007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9735
9736 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
9737 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
9738
9739 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
9740 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
9741
9742 * macgui.h (USE_MAC_TOOLBAR): New define.
9743
9744 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
9745 Return immediately unless popup is activated.
9746
9747 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
9748 background to scroll bar gap.
9749 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
9750 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
9751 scroll bars on frame edge. Check fringe background extension.
9752 Don't clear extended fringe background area.
9753 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
9754 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
9755 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
9756 [USE_MAC_TOOLBAR]: New macros.
9757 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
9758 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
9759 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
9760 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
9761 [USE_MAC_TOOLBAR]: New functions.
9762 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
9763 manually if previous repositioning has failed.
9764 (mac_handle_keyboard_event): Use precomputed event kind.
9765 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
9766 as tool bar item click. Handle mouse movement over tool bar items.
9767
9768 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
9769 toolbar_win_gravity.
9770 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
9771 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
9772 Add externs.
9773
9774 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
9775 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
9776
9720173f
CY
97772007-06-14 Chong Yidong <cyd@stupidchicken.com>
9778
9779 * image.c (search_image_cache): Remove unused variable.
9780
1217dd00
CY
97812007-06-13 Chong Yidong <cyd@stupidchicken.com>
9782
9783 * xfns.c, xmenu.c: Link to xaw3d if available.
9784
c5b8e0ea
YM
97852007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9786
9787 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
9788 frame_foreground and frame_background.
9789
9790 * image.c (lookup_image): Save frame foreground and background colors.
9791 (search_image_cache): Check if saved and current frame colors match.
9792
c69b0314
SM
97932007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
9794
9795 * regex.c (regex_compile): Remove the `regnum' counter.
9796 Use bufp->re_nsub instead. Add support for \(?N:RE\).
9797
c9612b8e
SM
97982007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
9799
9800 * term.c: Include intervals.h to declare Fget_text_property.
9801
843d2458
JR
98022007-06-10 Jason Rumney <jasonr@gnu.org>
9803
9804 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
9805
1e0d2d60 98062007-06-08 Juanma Barranquero <lekktu@gmail.com>
977f6cfb
JB
9807
9808 * callint.c (Fcall_interactively):
9809 * editfns.c (Fdelete_and_extract_region):
9810 * fileio.c (Fread_file_name):
9811 * fns.c (Fmapconcat):
9812 * keyboard.c (cmd_error_internal):
9813 * keymap.c (Fkey_description):
9814 * lread.c (openp):
9815 * minibuf.c (read_minibuf):
9816 * search.c (wordify):
9817 * sunfns.c (sel_read):
9818 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
9819 * xfns.c (x_default_scroll_bar_color_parameter):
9820 * xmenu.c (menu_help_callback):
9821 * xselect.c (Fx_get_atom_name):
9822 * xterm.c (x_term_init): Use empty_unibyte_string.
9823
15bdd7a0 98242007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
977f6cfb
JB
9825
9826 * alloc.c (init_strings): Initialize canonical empty strings.
9827 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
9828 canonical empty string when the requested size is 0.
9829
9830 * emacs.c (empty_unibyte_string): Rename from empty_string.
9831 (empty_multibyte_string): New canonical empty string.
9832 (syms_of_emacs): Don't initialize empty_string.
9833
9834 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
9835 string, if appropriate.
9836 (empty_unibyte_string, empty_multibyte_string): New externs.
9837 (empty_string): Remove extern.
9838
9839 * lread.c (syms_of_lread): Use empty_unibyte_string.
9840
42c4c67a
JR
98412007-06-07 Jason Rumney <jasonr@gnu.org>
9842
9843 * s/ms-w32.h: Don't define HAVE_TZNAME.
9844
9845 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
9846
aa8280d3
YM
98472007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9848
9849 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
9850
9851 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
9852 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
9853
9854 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
9855 Don't call next handler.
9856 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
9857 Remove argument. Install handler to application.
9858 (set_frame_menubar): Don't change deep_p.
1e0d2d60 9859 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
aa8280d3
YM
9860 FRAME_OUTER_TO_INNER_DIFF_Y.
9861 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
9862 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
9863 [HAVE_DIALOGS]: New macros.
9864 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
9865 Use them.
9866 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
9867
9868 * macselect.c [MAC_OSX] (install_service_handler): Rename from
9869 init_service_handler. All callers changed. Return OSStatus value.
9870
9871 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
9872 All callers changed so as not to call SetPortWindowPort.
9873 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
9874 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
9875 mac_draw_string_common.
9876 (mac_draw_image_string_qd): Likewise.
9877 (mac_draw_string_common): Use them. Add INLINE.
9878 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
9879 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
9880 GetGlobalMouse.
9881 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
9882 and FRAME_OUTER_TO_INNER_DIFF_Y.
9883 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
9884 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
9885 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
9886 repositioning window to mac_handle_window_event.
9887 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
9888 saving window location to mac_handle_window_event
9889 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
9890 (install_menu_target_item_handler): Remove argument in extern.
9891 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
9892 Also accept command events.
9893 (do_keystroke): New function created from XTread_socket.
9894 (init_command_handler): Remove functions.
9895 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
9896 and save window location by kEventWindowShowing and kEventWindowHiding
9897 handlers here. Don't call next handler for window state change and
9898 focus events.
9899 (mac_handle_application_event, mac_handle_keyboard_event)
9900 [TARGET_API_MAC_CARBON]: New functions.
9901 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
9902 kEventWindowShowing and kEventWindowHiding events. Move installation
9903 of mouse, font, text input and menu target item handlers to
9904 install_application_handler.
9905 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
9906 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9907 New function.
9908 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9909 Register it.
c9612b8e
SM
9910 (XTread_socket) [TARGET_API_MAC_CARBON]:
9911 Consolidate SendEventToEventTarget calls.
9912 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
9913 Move application activation handler to mac_handle_application_event.
9914 Move keyboard handler to mac_handle_keyboard_event.
aa8280d3
YM
9915 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
9916 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
9917 init_command_handler. Call install_application_handler.
9918
9919 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
9920 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
9921
6926c954
GM
99222007-06-07 Glenn Morris <rgm@gnu.org>
9923
9924 * emacs.c (main): Use `emacs-copyright' in --version output.
9925
6fe04c89
CY
99262007-06-06 Chong Yidong <cyd@stupidchicken.com>
9927
c9612b8e 9928 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
6fe04c89 9929
7eb0d727
YM
99302007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9931
9932 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
9933
9934 * macgui.h: Replace WindowPtr with WindowRef.
9935
9936 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
9937 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
9938 Replace ControlHandle with ControlRef.
9939 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
9940
9941 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
9942 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
9943 Replace ControlHandle with ControlRef.
9944 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
9945 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
9946
9947 * macterm.h (struct scroll_bar): Rename member control_handle_low
9948 and control_handle_high to control_ref_low and control_ref_high.
9949 All uses changed.
9950 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
9951 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
9952 respectively. All uses changed.
9953 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
9954 (install_window_handler, remove_window_handler): Replace WindowPtr
9955 with WindowRef in externs.
9956
65fddb74
JB
99572007-06-05 Juanma Barranquero <lekktu@gmail.com>
9958
9959 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
9960
db1213a9
NR
99612007-06-03 Nick Roberts <nickrob@snap.net.nz>
9962
9963 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
9964
65fddb74 9965 * frame.c (Fmouse_position, Fmouse_pixel_position):
db1213a9
NR
9966 Condition on HAVE_GPM too.
9967
9968 * term.c (term_mouse_highlight): Remove unused variables.
9969 (Fterm_open_connection): Set gpm_zerobased to 1.
9970 (term_mouse_movement, term_mouse_click, handle_one_term_event):
9971 Use zero based co-ordinates.
9972 (handle_one_term_event): Report a drag as mouse movement too.
9973
9974 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
9975
d94df25b
CY
99762007-06-03 Chong Yidong <cyd@stupidchicken.com>
9977
9978 * image.c (search_image_cache): New function. Require background
9979 color match if background color is unspecified in the image spec.
9980 (uncache_image, lookup_image): Use it.
9981
4797b6d9
JB
99822007-06-01 Juanma Barranquero <lekktu@gmail.com>
9983
9984 * window.c (Fshrink_window): Reflow docstring.
9985
1ffe7343
NR
99862007-06-02 Chong Yidong <cyd@stupidchicken.com>
9987
9988 * Version 22.1 released.
9989
99902007-06-01 Richard Stallman <rms@gnu.org>
9991
9992 * xfns.c (x_encode_text): Add GCPRO.
9993
99942007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9995
9996 * xfns.c (x_set_name_internal): Save encoded name before
9997 x_encode_text in case string data is relocated.
9998
99992007-05-31 Richard Stallman <rms@gnu.org>
10000
10001 * buffer.c (syms_of_buffer): Doc fix.
10002
100032007-05-30 Nick Roberts <nickrob@snap.net.nz>
10004
10005 * sysdep.c (init_sys_modes): Add rather than replace with
10006 O_NONBLOCK.
10007
10008 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
10009 term_mouse_moveto.
10010
10011 * termhooks.h (term_mouse_moveto): New extern.
10012
10013 * term.c (mouse_face_window): Rename...
10014 (Qmouse_face_window): ...to this.
10015 (term_show_mouse_face, term_clear_mouse_face)
10016 (term_mouse_highlight): Use Qmouse_face_window.
10017 (term_mouse_moveto): New function.
10018 (term_mouse_position): Make it work.
10019 (syms_of_term): Uncomment assignment to mouse_position_hook.
10020 Staticpro Qmouse_face_window.
10021
100222007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10023
10024 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
10025 around current_column call.
10026
100272007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
10028
10029 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
10030 * xdisp.c (next_element_from_buffer):
10031 * window.c (delete_window):
10032 * term.c (term_mouse_highlight):
10033 * msdos.c (getdefdir):
10034 * macterm.c (mac_create_bitmap_from_bitmap_data)
10035 (init_font_name_table):
10036 * fns.c (Fsxhash):
10037 * data.c (Fmake_local_variable):
10038 * ccl.c (ccl_driver): Likewise.
10039
100402007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10041
10042 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
10043 Call mac_wakeup_from_rne on window size change.
10044
100452007-05-25 Chong Yidong <cyd@stupidchicken.com>
10046
10047 * image.c (uncache_image): Fix typo.
10048
100492007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
10050
10051 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
10052
100532007-05-22 Richard Stallman <rms@gnu.org>
10054
10055 * xterm.c (x_connection_closed): Remove NO_RETURN.
10056
100572007-05-22 Martin Rudalics <rudalics@gmx.at>
10058
10059 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
10060
100612007-05-21 Chong Yidong <cyd@stupidchicken.com>
10062
10063 * image.c (uncache_image): New function.
10064 (Fimage_refresh): New function.
10065
880820fe 100662007-05-20 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
10067
10068 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
10069
100702007-05-20 Nick Roberts <nickrob@snap.net.nz>
10071
10072 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
10073 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
10074
100752007-05-20 Nick Roberts <nickrob@snap.net.nz>
10076
10077 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
10078 conditional on [HAVE_GPM_H].
10079
100802007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
10081
10082 * syntax.c (skip_chars): Update syntax-table only after we checked that
10083 the new location is valid.
10084
100852007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10086
10087 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
10088 mac_get_window_bounds.
10089
100902007-05-20 Nick Roberts <nickrob@snap.net.nz>
10091
10092 * Makefile.in (LIBGPM): Allow it to be set from configure.
10093 If set then link Emacs with it.
10094
10095 * config.in: Regenerate.
10096
10097 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
10098 New externs.
10099
10100 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
10101 Include gpm.h.
10102 (handle_one_term_event, term_gpm): New externs.
10103
10104 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
10105 and allow it to be interrupted by SIGIO.
10106
10107 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
10108 (wait_reading_process_output): Wait on gpm_fd too.
10109 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
10110 (add_gpm_wait_descriptor_called_flag): New variable.
10111 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
10112
10113 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
10114 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
10115 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
10116 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
10117 (make_lispy_event): Add case GPM_CLICK_EVENT.
10118 (read_avail_input): Handle mouse input.
10119
10120 * term.c (write_glyphs_with_face): New function.
10121 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
10122 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
10123 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
10124 (mouse_face_face_id, term_gpm, pos_x, pos_y)
10125 (last_mouse_x, last_mouse_y): New variables.
10126 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
10127 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
10128 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
10129 (Fterm_close_connection): New functions.
10130 (term_init): Initialise mouse_face_window.
10131
101322007-05-19 Chong Yidong <cyd@stupidchicken.com>
10133
10134 * xdisp.c (redisplay_window): If first window line is a
10135 continuation line, recompute the new window start instead of
10136 recentering.
10137
101382007-05-18 Glenn Morris <rgm@gnu.org>
10139
10140 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
10141 Suggested by Alfred M. Szmidt <ams@gnu.org>.
10142
101432007-05-17 Glenn Morris <rgm@gnu.org>
10144
10145 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
10146
101472007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10148
10149 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
10150 dead key repeat and up events.
10151
101522007-05-14 Chong Yidong <cyd@stupidchicken.com>
10153
10154 * image.c (pbm_load): Check image size for monochrome pbm.
10155
101562007-05-13 Chong Yidong <cyd@stupidchicken.com>
10157
10158 * xterm.c (XTread_socket): Revert last change.
10159
101602007-05-12 Chong Yidong <cyd@stupidchicken.com>
10161
10162 * image.c (pbm_load): Correctly check image size for greyscale pbm.
10163
10164 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
10165
101662007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
10167
10168 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
10169 mixup (YAILOM).
10170
101712007-05-07 Andreas Schwab <schwab@suse.de>
10172
10173 * keymap.c (Flookup_key): Fix typo in last change.
10174
101752007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
10176
10177 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
10178 mapping for unibyte strings.
10179
101802007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10181
10182 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
10183 (Fx_popup_dialog) [MAC_OSX]: Likewise.
10184
101852007-04-29 Richard Stallman <rms@gnu.org>
10186
10187 * insdel.c (replace_range): For undo, record insertion first.
10188
101892007-04-29 Andreas Schwab <schwab@suse.de>
10190
10191 * lisp.h (VECSIZE): Use OFFSETOF.
10192
101932007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10194
10195 * xdisp.c (try_window_reusing_current_matrix): Fix number of
10196 disabled lines.
10197
101982007-04-28 Richard Stallman <rms@gnu.org>
10199
10200 * lread.c (read_escape): In a string, \s is always space.
10201
880820fe 102022007-04-27 Jan Djärv <jan.h.d@swipnet.se>
1ffe7343
NR
10203
10204 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
10205
10206 * gtkutil.c (xg_update_menubar, create_menus): Create empty
10207 submenu for menu bar items.
10208
382c648d 10209See ChangeLog.10 for earlier changes.
6922b018
KH
10210
10211;; Local Variables:
880820fe 10212;; coding: utf-8
33462dfa 10213;; add-log-time-zone-rule: t
6922b018 10214;; End:
2a34a036 10215
59ce725a 10216 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
7f6d64f8
GM
10217
10218 This file is part of GNU Emacs.
10219
10220 GNU Emacs is free software; you can redistribute it and/or modify
10221 it under the terms of the GNU General Public License as published by
684d6f5b 10222 the Free Software Foundation; either version 3, or (at your option)
7f6d64f8
GM
10223 any later version.
10224
10225 GNU Emacs is distributed in the hope that it will be useful,
10226 but WITHOUT ANY WARRANTY; without even the implied warranty of
10227 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10228 GNU General Public License for more details.
10229
10230 You should have received a copy of the GNU General Public License
10231 along with GNU Emacs; see the file COPYING. If not, write to the
10232 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
10233 Boston, MA 02110-1301, USA.
ab5796a9 10234
28f60c3d 10235;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40