(Finsert_file_contents): Don't limit size to INT_MAX/4.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ab226c50
SM
12009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
4
46dfb8fb
JD
52009-03-27 Jan Djärv <jan.h.d@swipnet.se>
6
7 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
8 lines and columns so we keep the same pixel height and width.
9
10 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
11 the property _NET_WM_STATE has changed.
12 updated.
13 (x_handle_net_wm_state): New function to update frame parameter
14 fullscreen.
15 (x_term_init): Initialize atoms for _NET_WM_STATE.
16
17 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
18
d347e494
SM
192009-03-27 Kevin Ryde <user42@zip.com.au>
20
21 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
22 Gpm_GetEvent as an error that justifies closing the filedescriptor.
23 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
24 (Fgpm_mouse_stop): Pass that new parameter.
25 * termhooks.h (close_gpm): Adjust prototype.
26
84db11d6
SM
272009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
28
c95a5008
SM
29 * lisp.h (Fx_focus_frame): Declare.
30
84db11d6
SM
31 * callint.c (Fcall_interactively): For '^' just delegate the work to
32 handle-shift-selection.
33 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
34
0a1958d6
CY
352009-03-24 Chong Yidong <cyd@stupidchicken.com>
36
0bfdff23
CY
37 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
38
0a1958d6
CY
39 * data.c (Qinteractive_form): New variable.
40 (Finteractive_form): Use it.
41
42 * eval.c (Fcommandp): Use Qinteractive_form.
43
58aec0d6
JR
442009-03-24 Jason Rumney <jasonr@gnu.org>
45
46 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
47 Calculate total size precisely. Decode environment variables
48 before substituting. (Bug#38)
49
553dd618
KH
502009-03-24 Kenichi Handa <handa@m17n.org>
51
52 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 53 encoding (Bug#2722).
553dd618 54
c39ea606
JD
552009-03-23 Jan Djärv <jan.h.d@swipnet.se>
56
57 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
58 that gdpy is set.
59
bc9b2b5e
AM
602009-03-22 Alan Mackenzie <acm@muc.de>
61
62 * callint.c (Finteractive): Clarify the doc string - even
63 promptless elements need \n separators.
64
9f995a76
JR
652009-03-22 Jason Rumney <jasonr@gnu.org>
66
67 * w32term.c (syms_of_w32term): Doc fix for
68 x-use-underline-position-properties.
69
22749e9a
EZ
702009-03-21 Eli Zaretskii <eliz@gnu.org>
71
72 * w32.c (getpwuid): Change argument type to unsigned.
73 (struct w32_id): Change type of `rid' member to unsigned.
74 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
75 argument ID to unsigned. All callers changed.
76 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
77
e00553bf
EZ
782009-03-20 Eli Zaretskii <eliz@gnu.org>
79
80 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
81 negative, produce a float value.
82
83 * dired.c (make_uid, make_gid): New functions.
84 (Ffile_attributes): Use them to avoid negative UID and GID.
85
f761d6b6
JB
862009-03-20 Juanma Barranquero <lekktu@gmail.com>
87
88 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
89 (syms_of_keyboard) <command-hook-internal, input-method-function>:
90 Fix typos in docstrings.
91
d507f8d7
KH
922009-03-19 Kenichi Handa <handa@m17n.org>
93
94 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
95 changed, use font_load_for_lface to get a new font object.
96 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
97
98 * frame.c (x_set_font): Handle the case that ARG is a cons.
99
c68845e0
GM
1002009-03-19 Glenn Morris <rgm@gnu.org>
101
102 * fileio.c (Fsubstitute_in_file_name): Doc fix.
103
bfa49dd1
CY
1042009-03-19 Chong Yidong <cyd@stupidchicken.com>
105
106 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
107
8458d4c1
KH
1082009-03-19 Kenichi Handa <handa@m17n.org>
109
110 * charset.c (load_charset_map_from_file): When a mapfile can't be
111 loaded, signal an error.
112
78e7d1fe
EZ
1132009-03-18 Eli Zaretskii <eliz@gnu.org>
114
115 * dired.c (Ffile_attributes): Make sure UID and GID are always
116 positive, even if the value is too large for a positive EMACS_INT.
117 Doc fix.
118
119 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
120
5da9fdfa
YM
1212009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
122
123 * xmenu.c (xdialog_show): Move Fredisplay call ...
124 (Fx_popup_dialog): ... here.
125
7519c40d
SM
1262009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
127
128 * dired.c (file_name_completion): Disable the first optimization just
129 installed, since it is not implemented correctly.
130
2cd298e2
SM
1312009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
132
133 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 134 only if the entry can affect bestmatch.
2cd298e2
SM
135 Stop the search early, as Ftry_completion already does.
136
48d37adf
CY
1372009-03-17 Chong Yidong <cyd@stupidchicken.com>
138
e10c9c93 139 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 140
9286b16a
CY
1412009-03-15 Chong Yidong <cyd@stupidchicken.com>
142
143 * keyboard.c (parse_menu_item): Don't display remappings as menu
144 equivalent bindings (Bug#788).
145
f7b146dc
JR
1462009-03-15 Jason Rumney <jasonr@gnu.org>
147
148 * w32term.h (WM_EMACS_PAINT): New message.
149 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
150 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
151 before passing to lisp thread. (Bug#950)
152
f761d6b6 1532009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 154
d93f9575
CY
155 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
156 variable as it was never reset.
157 (ns_term_init): Remove initialization of Lisp-settable defaults
158 and ns_expand_space.
159 (-setPanelFromDefaultValues): Remove ns_expand_space.
160 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
161 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
162 i.e. no additional spacing, similar to Carbon port.
163
d93f9575
CY
164 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
165 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 166
305018ec
JD
1672009-03-14 Jan Djärv <jan.h.d@swipnet.se>
168
169 * sound.c (alsa_configure): Remove call to deprecated
170 snd_pcm_sw_params_set_xfer_align.
171
f761d6b6 1722009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
173
174 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
175 after clicking in a detached tool bar.
176 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
177
46e722a9
SM
1782009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
179
348db3dd
SM
180 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
181 int/Lisp_Object mixup).
46e722a9 182
a3d16f39
KH
1832009-03-13 Kenichi Handa <handa@m17n.org>
184
185 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 186 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
187 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
188 (set_fontset_font): Change ARG to a vector. Handle range_list in
189 ARG correctly.
190 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 191 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
192 the above change.
193 (fontset_from_font): Fix previous change.
fe24f56a 194 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
195 entry. If FONTSET is the default fontset, don't set the extra
196 slot of the returning char-table.
197
b066e6b6
JB
1982009-03-12 Juanma Barranquero <lekktu@gmail.com>
199
200 * nsfns.m (Fx_close_connection): Doc fix.
201 (Fns_do_applescript): Reflow docstring.
202 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
203 (Fx_display_pixel_width, Fx_display_pixel_height)
204 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
205 Fix typos in docstrings.
206 (Fns_set_alpha): Fix typos in error messages.
207
d472514e 2082009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 209
d472514e 210 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
211 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
212 were used for such events.
213
d472514e
JB
214 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
215 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 216
d472514e 217 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
218 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
219
fb930676
KH
2202009-03-11 Kenichi Handa <handa@m17n.org>
221
ff85581a
KH
222 * font.h (font_open_by_spec): Extern it.
223
c50b7e98
KH
224 * font.c (font_open_by_spec): New function.
225 (font_open_by_name): Use font_open_by_spec.
226
fb930676
KH
227 * frame.c (x_set_font): When ARG is a font-object, don't alter the
228 fontset of the frame.
229
230 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
231 modify the default font of frames that use this fontset.
232 (num_auto_fontsets): New variable.
233 (fontset_from_font): Use num_auto_fontsets to decide a fontset
234 name. Be sure to set FONTSET_ASCII to the correct font name.
235 (update_auto_fontset_alist): New function.
236
df4e8455
JB
2372009-03-11 Juanma Barranquero <lekktu@gmail.com>
238
239 * makefile.w32-in: Update dependencies.
240
0a375797
AR
2412009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
242
243 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
244
61313fa3
SM
2452009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
246
247 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
248
b55103fb
CY
2492009-03-10 Chong Yidong <cyd@stupidchicken.com>
250
251 * lread.c (Feval_buffer): Doc fix.
252
dde2559c
KH
2532009-03-09 Kenichi Handa <handa@m17n.org>
254
255 * charset.c (Qfile_name_handler_alist): Extern it.
256 (load_charset_map_from_file): Temporarily bind
257 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
258
df4e8455 2592009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 260
47f588bb
GM
261 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
262 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 263
4ddf94bd
AR
2642009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
265
4c9bdfc2
AR
266 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
267 (x_set_window_size): Change back to calculated method of setting
268 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
269 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
270 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
271
fe41ae9e
AR
272 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
273
4c9bdfc2
AR
274 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
275 accelerator in parens under GNUstep.
276
825d0875
KH
2772009-03-06 Kenichi Handa <handa@m17n.org>
278
279 These changes are to detect incorrect composition sequence without
f3b3be74 280 looking ahead the source. (Bug#2370)
825d0875
KH
281
282 * coding.h: Include "composite.h".
283 (enum compisition_state): New enum.
284 (struct compisition_status): New struct.
285 (struct iso_2022_spec): New member cmp_status.
286 (struct emacs_mule_spec): New struct.
287 (struct coding_system): New members ctext_extended_segment_len and
288 embedded_utf_8. Change the union member
289 spec.emacs_mule_full_support to spec.emacs_mule.
290
291 * coding.c (CODING_ISO_CMP_STATUS): New macro.
292 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
293 (MAX_ANNOTATION_LENGTH): Defined to 5.
294 (ADD_COMPOSITION_DATA): New arg nbytes.
295 (emacs_mule_char): New arg cmp_status.
296 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
297 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
298 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
299 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
300 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
301 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
302 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
303 (EMACS_MULE_COMPOSITION_END): New macro.
304 (emacs_mule_finish_composition): New function.
305 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
306 (decode_coding_emacs_mule): Avoid long looking ahead while
307 handling composition.
308 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
309 (ENCODE_COMPOSITION_RULE): New macro.
310 (finish_composition): New function.
311 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
312 (DECODE_COMPOSITION_START): New implementation.
313 (DECODE_COMPOSITION_END): Likewise.
314 (STORE_COMPOSITION_RULE): New macro.
315 (decode_coding_iso_2022): Avoid long looking ahead while handling
316 composition, CTEXT extended segment, and embedded UTF-8.
317 (setup_coding_system): For a coding of type iso-2022, reset
318 CODING_ISO_EXTSEGMENT_LEN (coding) and
319 CODING_ISO_EMBEDDED_UTF_8 (coding).
320 (get_translation): Delete arguments last_block, from_nchars,
321 to_nchars. Callers changed.
322 (produce_chars): Don't modify charbuf. Adjusted for the change of
323 get_translation.
324 (produce_composition): Adjusted for the new annotation sequence.
325 (handle_composition_annotation): Likewise.
326 (consume_chars): Adjusted for the change of get_translation.
327
ccbc4452
AR
3282009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
329
4ddf94bd 330 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 331
988a7ddb
KH
3322009-03-05 Kenichi Handa <handa@m17n.org>
333
334 * font.c (font_select_entity): New function.
335 (font_find_for_lface): Use font_select_entity to select a font.
336
337 * fontset.c (fontset_find_font): If a font found without
338 restricting of the characters C doen't support C, try to find a
339 font with C restriction.
340
be1bce46 3412009-03-04 Nikolaj Schumacher <me@nschum.de> (tiny change)
2f462d73 342
be1bce46 343 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 344
10ea2b82
JR
3452009-03-04 Jason Rumney <jasonr@gnu.org>
346
2c93b248 347 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 348 characters that have already been read. (Bug#2569)
2c93b248 349
10ea2b82
JR
350 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
351 Log an error message if check_image_size failed.
352 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 353 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 354
71a0c011
EZ
3552009-03-02 Eli Zaretskii <eliz@gnu.org>
356
357 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
358 when decoding process output.
359
2f63bba8
RS
3602009-03-01 Richard M Stallman <rms@gnu.org>
361
362 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
363
364 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
365
0a9564cb
EZ
3662009-02-28 Eli Zaretskii <eliz@gnu.org>
367
368 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
369 (decode_coding_emacs_mule, decode_coding_iso_2022)
370 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
371 (decode_coding_raw_text, decode_coding_charset)
372 (setup_coding_system, decode_eol, decode_coding, consume_chars):
373 Honor inhibit-eol-conversion. (Bug #2186)
374
449148b3
JR
3752009-02-28 Jason Rumney <jasonr@gnu.org>
376
377 * coding.c (detect_coding_charset): If not checking latin extra,
378 fail on characters between 0x80 and 0xA0. (Bug#2354)
379
a4aee864
EZ
3802009-02-28 Eli Zaretskii <eliz@gnu.org>
381
382 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 383 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 384
d88bee5a
GM
3852009-02-27 Glenn Morris <rgm@gnu.org>
386
387 * callint.c (Finteractive): Doc fix.
388
a808f22d
KH
3892009-02-27 Kenichi Handa <handa@m17n.org>
390
391 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
392
caf8d60c
CY
3932009-02-27 Chong Yidong <cyd@stupidchicken.com>
394
395 * font.c (font_style_to_value): Set value for unknown symbols to
396 100 instead of 255.
b61137ea
CY
397 (weight_table, slant_table, width_table): Treat "unspecified" as
398 the default value.
caf8d60c 399
1a0de25c
JB
4002009-02-26 Juanma Barranquero <lekktu@gmail.com>
401
402 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
403
8fc45744
JB
4042009-02-25 Juanma Barranquero <lekktu@gmail.com>
405
107bd7d1
JB
406 * lread.c (Fload): Stop checking Vloads_in_progress and signal
407 error as soon as a recursive load is detected.
8fc45744 408
f097e223
AR
4092009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
410
411 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
412 before caching.
413
8810a12f
KH
4142009-02-24 Kenichi Handa <handa@m17n.org>
415
416 * fontset.c (fontset_find_font): Fix the condition for checking
417 unavailable font.
418
2c7d1565
GM
4192009-02-24 Glenn Morris <rgm@gnu.org>
420
421 * xfaces.c (Finternal_set_font_selection_order): Remove leading
422 whitespace that confuses documentation.
423
a20878b6
MB
4242009-02-23 Miles Bader <miles@gnu.org>
425
426 * process.c (Flist_system_processes, Fprocess_attributes)
427 (syms_of_process): Rename `system-process-attributes' to
428 `process-attributes'.
429
b3b58c01
AS
4302009-02-22 Andreas Schwab <schwab@linux-m68k.org>
431
1b3b981b
AS
432 * coding.h (struct coding_system): Make safe_charsets a pointer to
433 unsigned char.
434 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
435 being 255.
436 (SAFE_CHARSET_P): Likewise.
437 (setup_iso_safe_charsets): Properly setup safe_charsets.
438 (Fdefine_coding_system_internal): Likewise.
439 (setup_coding_system): Likewise. Remove unneeded casts.
440 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
441 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
442 unneeded casts.
443
b3b58c01
AS
444 * insdel.c (del_range_2): Don't modify gap contents when called
445 from decode_coding_object. (Bug#1809)
446
0b6f228c
CY
4472009-02-21 Chong Yidong <cyd@stupidchicken.com>
448
449 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
450 Qfont_object.
451 (Ftype_of): Recognize font objects.
452
453 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
454
455 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
456 moved to data.c.
457
52f8870b
AR
4582009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
459
460 * nsterm.m (x_make_frame_invisible): Unset async_visible,
461 async_iconified. Based on a patch by Christian Lynbech
462 <christian.lynbech@tieto.com>.
463 (EmacsView-windowDidMiniaturize:): Unset async_visible.
464
7087d5e9
GM
4652009-02-20 Glenn Morris <rgm@gnu.org>
466
467 * syntax.c (Fskip_chars_forward): Fix doc typo.
468
41d2ceef
CY
4692009-02-20 Chong Yidong <cyd@stupidchicken.com>
470
471 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
472
1a3b7ca6
CY
4732009-02-19 Chong Yidong <cyd@stupidchicken.com>
474
475 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
476
73cce38d
KH
4772009-02-19 Kenichi Handa <handa@m17n.org>
478
479 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 480 Don't overflow coding->carryover. (Bug#2370)
73cce38d 481
a51092ee
DN
4822009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
483
484 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
485
c423ecca
KH
4862009-02-18 Kenichi Handa <handa@m17n.org>
487
488 * font.c (font_check_otf_features): Fix handling of `nil' element.
489 (Ffont_spec): Describe :lang and :otf in the docstring.
490
4c1958f4
AS
4912009-02-16 Andreas Schwab <schwab@suse.de>
492
493 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
494 string.
495
5704f39a
KH
4962009-02-16 Kenichi Handa <handa@m17n.org>
497
498 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 499 (Bug#1723)
5704f39a 500
8f0085aa
CY
5012009-02-14 Chong Yidong <cyd@stupidchicken.com>
502
a057d86a 503 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
504
505 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
506 (handle_line_prefix): Suppress wrapping of wrap prefixes.
507
aff01dd9
EZ
5082009-02-14 Eli Zaretskii <eliz@gnu.org>
509
510 * msdos.c (MAX_SCREEN_BUF): New macro.
511 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
512 Encode the entire run of glyphs sharing the same face, instead of
513 doing that one glyph at a time (fixes a bug with displaying
514 double-size characters).
515
ba301db3
AR
5162009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
517
518 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
519
520 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
521 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 522 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
523
524 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 525 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 526
51d861de
SM
5272009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
528
529 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
530 invisible areas.
531
7fed8996
JR
5322009-02-12 Jason Rumney <jasonr@gnu.org>
533
631ea4fb
JR
534 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
535 (add_font_entity_to_list): Call check_face_name even when family
536 is unspecified.
537
cb4a3e42
JR
538 * w32term.c (x_display_pixel_height, x_display_pixel_width):
539 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 540 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 541
7fed8996 542 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 543 raster fonts. (Bug#2219)
7fed8996 544
895416e3
KH
5452009-02-12 Kenichi Handa <handa@m17n.org>
546
547 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
548 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
549 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 550 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
551 (find_automatic_composition): While looking forward and backward,
552 check static composition. Fix where to stop looking forward.
553 (composition_adjust_point): Fix checking of static composition.
554 (Fcomposition_get_gstring): Pay attention to
1dacf998 555 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
556
557 * lisp.h (fast_looking_at): Extern it.
558
559 * search.c (fast_looking_at): New function.
560
51d861de 561 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
562 <struct glyph>.u.cmp.to.
563 (append_composite_glyph): Likewise.
564
51d861de 565 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
566 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
567 composition.
51d861de 568 (append_composite_glyph): Adjust for the change of
895416e3
KH
569 <strcut glyph>.u.cmp.to.
570
8510724d
JB
5712009-02-11 Juanma Barranquero <lekktu@gmail.com>
572
573 * casetab.c (init_casetab_once):
574 * coding.c (ALLOC_CONVERSION_WORK_AREA):
575 * font.c (font_update_lface):
576 * fontset.c (Fnew_fontset):
577 * ftfont.c (ftfont_drive_otf):
578 * xfont.c (xfont_open):
579 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
580
294fa707
SM
5812009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
582
583 * fileio.c (Fwrite_region): !NILP -> CONSP.
584
b5bfebec
AS
5852009-02-10 Andreas Schwab <schwab@suse.de>
586
587 * process.c (send_process): Properly relocate pointer into data
adab88bd 588 when using encoded data. (Bug#2272)
b5bfebec 589
cb84a2be
KH
5902009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
591
592 * coding.c (detect_coding_charset): Fix previous change.
593
89e09428
JR
5942009-02-08 Jason Rumney <jasonr@gnu.org>
595
596 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 597 disappeared while hourglass was displayed. (Bug #2193)
89e09428 598
4470a277
AS
5992009-02-07 Andreas Schwab <schwab@suse.de>
600
601 * unexelf.c (unexec): Fix error message.
602
3175b12a
AR
6032009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
604
605 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 606 when modal window is active. (Bug #2152)
3175b12a
AR
607 (applicationShouldTerminate:): Remove now-unneeded while loop
608 around NSRunAlertPanel.
609
610 * nsmenu.m (popupSession): New file-global variable.
611 (pop_down_menu): End the popupSession before closing dialog.
612 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
613 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
614 don't query NSApp for events (just sleep instead).
615
8434d0b8
EZ
6162009-02-07 Eli Zaretskii <eliz@gnu.org>
617
51d861de
SM
618 * coding.c (syms_of_coding) <translation-table-for-input>:
619 Modify doc string to discourage use for character code unification.
8434d0b8 620
aa82edfd
CY
6212009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
622
623 * atimer.c (run_timers): Update pending_atimers.
624
2d283c7c
CY
6252009-02-06 Chong Yidong <cyd@stupidchicken.com>
626
eb306cab
CY
627 * image.c (svg_load_image): Fix last change.
628
2d283c7c
CY
629 * xfns.c (Fx_create_frame): Signal an error if no font is
630 found (Bug#2147).
631
4d8e170e
JB
6322009-02-05 Juanma Barranquero <lekktu@gmail.com>
633
634 * character.c (syms_of_character) <script-representative-chars>:
635 Fix typo in docstring.
636
c96169a0
AR
6372009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
638
639 * nsmenu.m (pop_down_menu): New function.
640 (ns_popup_dialog): Call it on unwind.
641 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
642 call timer_check() (Bug#2154).
643 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
644 handling_signal is set.
645 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
646
647 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
648
649 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
650
651 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
652
51d861de
SM
653 * keyboard.c (poll_for_input_1, handle_async_input):
654 Set handling_signal under HAVE_NS.
c96169a0 655
aacd8ba1
GM
6562009-02-04 Glenn Morris <rgm@gnu.org>
657
658 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
659
4cb75c4b
KH
6602009-02-04 Kenichi Handa <handa@m17n.org>
661
662 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
663
664 * charset.c (Fchar_charset): New optional arg restriction.
665
666 * coding.h (coding_system_charset_list): Extern it.
667
668 * coding.c (coding_system_charset_list): New function.
669
670 * composite.c: Include coding.h and termhooks.h.
671 (composition_gstring_p): Fix for the terminal case.
672 (composition_gstring_width): Likewise.
673 (fill_gstring_body): Likewise.
674 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
675 the frame.
676 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
677 is within a composition.
867d4bb3 678 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
679
680 * term.c (encode_terminal_code): Fix handling of composition.
681 (produce_composite_glyph): For static composition, get pixel_width
682 from struct composition.
683
826ba17e
AS
6842009-02-02 Andreas Schwab <schwab@suse.de>
685
686 * unexelf.c (unexec): Handle unaligned bss offset.
687
8ad093db
AR
6882009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
689
690 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
691 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 692
8ad093db
AR
693 * keyboard.c (handle_interrupt): Don't call
694 quit_throw_to_read_char() under NS.
d0a76a6e 695
8ad093db
AR
696 * blockinput.h: Remove NS-specific code.
697
4d18a7a2
DN
6982009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
699
db878925
DN
700 * dispnew.c (window_change_signal): Don't try to get the size of a
701 suspended tty frame.
702 * term.c (Fresume_tty): Resize if the size has changed while the
703 tty was suspended.
704
4d18a7a2
DN
705 * alloc.c (mark_stack): Properly conditionalize previous change.
706
8984df7c
JB
7072009-01-30 Juanma Barranquero <lekktu@gmail.com>
708
709 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
710 * w32term.c (w32_read_socket) [SYNC_INPUT]:
711 Remove; this code is not used on Windows.
712
75f4f1ac
EZ
7132009-01-30 Eli Zaretskii <eliz@gnu.org>
714
715 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
716 EOLs that also has stray ^M characters.
717
07a1e794
JB
7182009-01-30 Juanma Barranquero <lekktu@gmail.com>
719
720 * atimer.c (run_timers, alarm_signal_handler):
721 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
722 * w32inevt.c (w32_console_read_socket):
723 * w32term.c (w32_read_socket):
724 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
725
a8b11cc9
CY
7262009-01-30 Chong Yidong <cyd@stupidchicken.com>
727
728 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
729 Initialize it as a relative filename pattern.
730 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
731 (Fcall_process_region): Simplify temp file creation using
732 temporary-file-directory.
733
c279587b
EZ
7342009-01-29 Eli Zaretskii <eliz@gnu.org>
735
736 * msdos.c: Rename pending_signals to msdos_pending_signals.
737 (sig_suspender, sigprocmask): Adjust.
738
a8fe3242
CY
7392009-01-29 Chong Yidong <cyd@stupidchicken.com>
740
741 * keyboard.c (pending_signals): New var.
742 (poll_for_input, input_available_signal, init_keyboard): Set it.
743 (process_pending_signals): New function.
744
745 * lisp.h (QUIT): Check pending_signals instead of
746 interrupt_input_pending. Use process_pending_signals.
747
51d861de 748 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 749
51d861de 750 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
751
752 * sysdep.c (emacs_write): Use process_pending_signals.
753
754 * xterm.c (XTread_socket): Update pending_signals.
755
756 * w32term.c (w32_read_socket): Update pending_signals.
757
758 * w32inevt.c (w32_console_read_socket): Update pending_signals.
759
6570a1c4
KH
7602009-01-29 Kenichi Handa <handa@m17n.org>
761
762 * xftfont.c (xftfont_has_char): New function.
763 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
764
d72a4afa
AR
7652009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
766
767 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
768 under GNUstep.
769 (ns_query_color): New declaration.
770
771 * nsterm.m (ns_confirm_quit): New variable.
772 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
773 (EmacsApp-applicationShouldTerminate:): Use it.
774 (EmacsPrefsController): Let user set it.
775 (ns_query_color): New function.
776 (ns_defined_color): Use it.
777 (ns_initialize): Drop.
778 (ns_term_init): Add two lines from ns_initialize(), and set
779 input_interrupt_mode to nil.
780
781 * image.c (svg_load_image): Don't right-shift background RGB when
782 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
783
9fe78804
KH
7842009-01-28 Kenichi Handa <handa@m17n.org>
785
786 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
787 (fontset_get_font_group): Remember that no font-group is specified
788 for C.
9fe78804 789
fa57de36
CY
7902009-01-27 Chong Yidong <cyd@stupidchicken.com>
791
930600e9
CY
792 * fns.c (concat): Check for string overflow (bug#1787).
793
fa57de36
CY
794 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
795 Quadruple undo limits (bug#1501).
796
7179ce7b
KH
7972009-01-27 Kenichi Handa <handa@m17n.org>
798
799 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
800 directly use GT_Get_Char_index.
801
802 * xftfont.c (struct xftfont_info): New member `index'.
803
804 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 805 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 806
5be8fcc0
CY
8072009-01-26 Kenichi Handa <handa@m17n.org>
808
809 * fontset.c (fontset_find_font): Fix handling of non-cons return
810 value of fontset_get_font_group.
811 (fontset_font): Revert last change.
812
19ae3e61
JR
8132009-01-26 Jason Rumney <jasonr@gnu.org>
814
815 * w32font.c (w32font_list_internal): Return quickly if registry is
816 unknown. Simplify final return.
817 (add_font_entity_to_list): Break complex logic down into more
818 manageable chunks. Move unknown registry check to
819 w32font_list_internal.
820
8612b71a
AR
8212009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
822
823 Changes to remove Feval calls from GUI under NS.
824
d8038940
JB
825 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
826 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
827 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
828
829 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
830 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
831 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
832 instead of NON_ASCII_KEYSTROKE_EVENT.
833 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
834 (EmacsApp-applicationShouldTerminate:): Query user.
835 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
836 instead of Feval.
837
838 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
839
840 * keyboard.c (kbd_buffer_get_event): Check for it.
841 (keys_of_keyboard): Define lispy keys for
842 ns-put/unput-working-text.
843
844 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
845 versions.
846 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
847
6288ae55
CY
8482009-01-25 Chong Yidong <cyd@stupidchicken.com>
849
850 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 851 setting current_buffer directly. (Bug#2044)
6288ae55 852
289e7f8f
CY
8532009-01-24 Chong Yidong <cyd@stupidchicken.com>
854
5ce87308 855 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 856 any work. (Bug#1952, bug#1990).
5ce87308 857
64cc3cf6 858 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 859
b3243e6f
AR
8602009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
861
862 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
863 (ns_no_defaults): New declaration.
864 (main): Use it.
e0d2e69a 865
d900b2af 866 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 867
d900b2af 868 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 869
d900b2af
AR
870 * nsterm.m (ns_no_defaults): New variable.
871 (ns_initialize): Don't read defaults when ns_no_defaults.
872 (EmacsView-readSelectionFromPasteboard:)
873 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 874 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
875 (ns_dumpglyphs_stretch): New function.
876 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 877 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 878
e0d2e69a
AR
879 * nsimage.m (setPixmapData:): Set to ignore image DPI.
880
3ac71f5d
CY
8812009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
882
883 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
884 call for Sparc64.
885
3fe53a83
AR
8862009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
887
888 * nsfns.m:
889 * nsgui.h:
890 * nsmenu.m:
891 * nsselect.m:
892 * nsterm.h:
893 * nsterm.m: Remove '23' comments that indicated code added during
894 update from emacs-20 -> emacs-23.
895
10f87c6f 8962009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
897
898 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 899 ns_alternate_modifier. (Bug#1217)
a3b53a85 900
c7cef62d
AR
901 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
902 Display all shortcuts, including those w/o super modifier.
903
575fb8bd
AR
904 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
905
918b848b
CY
9062009-01-22 Chong Yidong <cyd@stupidchicken.com>
907
908 * fileio.c (Vwrite_region_post_annotation_function)
909 (Vwrite_region_annotation_buffers): New vars.
910 (build_annotations_unwind): Just reset
911 Vwrite_region_annotation_buffers.
912 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
913 Call write-region-post-annotation-function.
914 (build_annotations): Add to Vwrite_region_annotation_buffers if
915 buffer changes.
916
a39e2539
AR
9172009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
918
919 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
920 Tiger.
51d861de
SM
921 * nsfns.m (ns_do_applescript):
922 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 923
35ed44db
AR
9242009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
925
926 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
927
cbe0b5bf
AR
9282009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
929
930 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 931
6049d3a0
AR
932 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
933
934 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
935 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
936 handle Ctrl-tab. (Bug#1841)
937 (ns_get_color): Use unsigned long long for scanned hex string value.
938 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 939 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 940 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 941 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 942 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 943 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 944 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 945
d3810c21 946 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 947 DPI. (Bug#1316)
d3810c21
AR
948 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
949 values in onTiger section.
4c7077c3 950
e301e634
CY
9512009-01-19 Chong Yidong <cyd@stupidchicken.com>
952
7f82490b
CY
953 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
954 Check return value of font_spec_from_name.
64cc3cf6 955 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
956
957 * font.c (font_spec_from_name): Return Qnil if font name could not
958 be parsed.
959 (font_parse_name): Treat a `?' character as part of an XLFD.
960
e301e634
CY
961 * fns.c (Fsubstring): Doc fix.
962
1c0db158
KH
9632009-01-19 Kenichi Handa <handa@m17n.org>
964
51d861de 965 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
966 (ftfont_list): Likewise.
967
acf20901
JB
9682009-01-18 Juanma Barranquero <lekktu@gmail.com>
969
fff4e459
JB
970 * dbusbind.c (Fdbus_register_signal):
971 * process.c (conv_sockaddr_to_lisp):
972 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
973
acf20901
JB
974 * callproc.c (Fgetenv_internal): Doc fix.
975
e7abcdfb
CY
9762009-01-16 Chong Yidong <cyd@stupidchicken.com>
977
978 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
979 it is not even used.
980
b60861e6
GM
9812009-01-16 Glenn Morris <rgm@gnu.org>
982
983 * font.c (Ffont_variation_glyphs): Silence compiler.
984
8db52afe
JB
9852009-01-15 Juanma Barranquero <lekktu@gmail.com>
986
987 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
988 Reported by David Robinow <drobinow@gmail.com>.
989
4cddb209
KH
9902009-01-15 Kenichi Handa <handa@m17n.org>
991
51d861de 992 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 993
f247f67b
JR
9942009-01-14 Jason Rumney <jasonr@gnu.org>
995
996 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 997 never a fontset. (Bug#1562)
f247f67b 998
f56a4450
KH
9992009-01-14 Kenichi Handa <handa@m17n.org>
1000
1001 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 1002 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 1003
4e99855e
CY
10042009-01-13 Chong Yidong <cyd@stupidchicken.com>
1005
1006 * font.c (font_clear_prop): If clearing the family, clear the font
1007 width index too.
1008
fff4e459 1009 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 1010
24f01470
JB
10112009-01-12 Juanma Barranquero <lekktu@gmail.com>
1012
1013 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
1014 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
1015 functions, use sizeof.
1016
a41240a3
MR
10172009-01-12 Martin Rudalics <rudalics@gmx.at>
1018
1019 * keyboard.c (read_char): Fix case where last_nonmenu_event
1020 returned a bad value with submenus. (Bug#447)
1021
944636b8
CY
10222009-01-12 Chong Yidong <cyd@stupidchicken.com>
1023
1024 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
1025 family, clear the font width index too.
1026
0dad7c6f
JR
10272009-01-11 Jason Rumney <jasonr@gnu.org>
1028
1029 * keyboard.c (cmd_error_internal): Exit when errors occur before
1030 frame creation and not in daemon mode. (Bug#1836)
1031
7c2363af
CY
10322009-01-10 Chong Yidong <cyd@stupidchicken.com>
1033
1034 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
1035 of a display vector, backtrack.
1036 (try_window_reusing_current_matrix): Check glyph type before
1037 referencing charpos member.
1038
97b1b294
EZ
10392009-01-10 Eli Zaretskii <eliz@gnu.org>
1040
1041 Fix Bug #876:
1042
1043 * coding.c (inhibit_null_byte_detection): New variable.
1044 (detect_coding, detect_coding_system): Don't pay attention to null
1045 bytes if inhibit_null_byte_detection is non-zero.
51d861de 1046 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
1047 <inhibit-iso-escape-detection>: Doc fix.
1048
4624b6e3
JR
10492009-01-09 Jason Rumney <jasonr@gnu.org>
1050
1051 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 1052 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
1053 Only report Unicode Plane 2 fonts as unicode-sip.
1054
323b840c
CY
10552009-01-09 Chong Yidong <cyd@stupidchicken.com>
1056
51d861de
SM
1057 * xfaces.c (Fx_font_family_list): Delete function.
1058 Move compatibility version to faces.el.
323b840c 1059
51d861de 1060 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 1061
eba7400d
MR
10622009-01-09 Martin Rudalics <rudalics@gmx.at>
1063
1064 * frame.c (x_set_frame_parameters): Remember requested value for
1065 fullscreen before it's reset by the parameter handler.
1066
4b09796d
GM
10672009-01-09 Glenn Morris <rgm@gnu.org>
1068
1069 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 1070 (last_command_event): ... and update all users.
4b09796d
GM
1071 (last_input_char): For clarity, rename to...
1072 (last_input_event): ... and update all users.
1073 (last-command-char, last-input-char): Move to subr.el as aliases.
1074 * cmds.c, commands.h: Update for last_command_char rename.
1075
14ccea62
CY
10762009-01-08 Chong Yidong <cyd@stupidchicken.com>
1077
51d861de 1078 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 1079
5f004711
JR
10802009-01-08 Jason Rumney <jasonr@gnu.org>
1081
1082 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
1083 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
1084 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
1085 Don't declare.
fff4e459 1086 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
1087 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
1088
b71f6f73
KH
10892009-01-07 Kenichi Handa <handa@m17n.org>
1090
50b06221 1091 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 1092 remember the coding system used for decoding in
50b06221
KH
1093 coding_system (Bug#1039).
1094
b71f6f73 1095 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 1096 breaking the loop. (Bug#870)
b71f6f73
KH
1097 (decode_coding_utf_16, decode_coding_emacs_mule)
1098 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
1099 (decode_coding_charset): Likewise.
1100
56f668f7
MR
11012009-01-05 Martin Rudalics <rudalics@gmx.at>
1102
1103 * frame.c (x_set_frame_parameters): Make sure height (width) get
1104 applied when fullwidth (fullheight) is set. (Bug#1522)
1105
5da9424d
JB
11062009-01-04 Juanma Barranquero <lekktu@gmail.com>
1107
1108 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
1109 (utc_base): Declare as ULONGLONG, not long double.
1110 (convert_time_raw): Delete.
1111 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
1112 (initialize_utc_base): New function.
1113 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
1114 (convert_from_time_t): Use initialize_utc_base; compute result with
1115 64-bit arithmetic.
1116 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
1117
c4605e09
EZ
11182009-01-03 Eli Zaretskii <eliz@gnu.org>
1119
9acef61c 1120 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
1121 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
1122 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
1123 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
1124 [!subprocesses]: Define.
1125 (syms_of_process) [!subprocesses]: Intern and staticpro them.
1126 (Flist_system_processes, Fsystem_process_attributes)
1127 [!subprocesses]: Call list_system_processes and
1128 system_process_attributes instead of returning Qnil.
1129
9acef61c
JB
1130 * dosfns.c (system_process_attributes, list_system_processes):
1131 New functions.
c4605e09
EZ
1132
1133 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
1134
1135 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
1136 Don't use the default (no-op) implementation.
1137
8b7d0a16
JR
11382009-01-03 Jason Rumney <jasonr@gnu.org>
1139
a6d46bc1
JR
1140 * keyboard.c (parse_modifiers_uncached): Wheel events are
1141 clicks (bug#687).
1142
8b7d0a16
JR
1143 * w32term.c (x_query_colors, x_query_color): New functions.
1144
1145 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
1146 (svg_load_image): Cast returned pointers from dynamically loaded
1147 functions. Eliminate W32 specific code.
1148
bfe11752
DN
11492009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
1150
89e2438a
DN
1151 * nsfns.m (x_set_foreground_color, x_set_background_color)
1152 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
1153 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
1154 x_ prefix instead of ns_. Update references.
1155 (syms_of_nsfns): Add a FIXME comment.
1156
1157 * nsterm.m (x_set_cursor_type): New prototype.
1158 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
1159
bfe11752
DN
1160 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
1161 for Solaris instead of incorrectly providing Qutime and Qcutime.
1162
031da700
EZ
11632009-01-02 Eli Zaretskii <eliz@gnu.org>
1164
1165 * w32.c (process_times): Compute sum of utime and stime.
1166 (system_process_attributes): Add Qtime to the alist.
1167
1168 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
1169 and add them to the alist.
1170
1171 * process.c (top level) <Qtime, Qctime>: New variables.
1172 (syms_of_process): staticpro them.
1173 (Fsystem_process_attributes): Add their documentation to the doc
1174 string.
1175
1176 * process.h: Declare Qtime and Qctime.
1177
df23bf08
JR
11782009-01-02 Jason Rumney <jasonr@gnu.org>
1179
9acef61c 1180 * image.c (Qgobject): New symbol.
df23bf08
JR
1181 (syms_of_image): Initialize it.
1182 (init_svg_functions): Load some functions from gobject library.
1183
5bbdf7aa
DN
11842009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
1185
1186 * frame.c (make_terminal_frame): Remove redundant code and useless
1187 block.
1188
63136da6
AS
11892009-01-01 Andreas Schwab <schwab@suse.de>
1190
1191 * process.c (conv_sockaddr_to_lisp): Add workaround for
1192 getsockname bug on BSD.
1193
9ef69046
CY
11942009-01-01 Chong Yidong <cyd@stupidchicken.com>
1195
d6fafbe0
CY
1196 * xfns.c (x_create_tip_frame): Set border width of the X window.
1197
51d861de 1198 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 1199
f9c34147
JR
12002009-01-01 Jason Rumney <jasonr@gnu.org>
1201
9acef61c 1202 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
1203 Don't block input, as per earlier xterm.c changes.
1204
f5497e45
AR
12052008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
1206
1207 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
1208 (ns_appkit_version_int): New function.
1209 (x-server-version): Use ns_appkit_version_int and follow 21+
1210 convention of returning 3 integers.
1211
c19cab20
KH
12122008-12-30 Kenichi Handa <handa@m17n.org>
1213
1214 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
1215 (CHAR_SURROGATE_PAIR_P): New macro.
1216
1217 * font.h (struct font_driver): New member get_variation_glyphs.
1218
9acef61c 1219 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
1220 (Ffont_variation_glyphs): New function.
1221 (syms_of_font): Defsubr it.
1222
1223 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
1224 ftfont_variation_glyphs.
1225 (setup_otf_gstring): New function.
1226 (ftfont_drive_otf): Use it.
1227 (ftfont_shape_by_flt): Handle variation selector.
1228 (ftfont_variation_glyphs): New function.
1229
28cd591f
MR
12302008-12-30 Martin Rudalics <rudalics@gmx.at>
1231
1232 * frame.c (Vemacs_iconified): Remove.
1233
7f714baf
JR
12342008-12-30 Jason Rumney <jasonr@gnu.org>
1235
1236 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 1237 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 1238
9d2d22ab
CY
12392008-12-30 Chong Yidong <cyd@stupidchicken.com>
1240
1241 * indent.c (Fvertical_motion): Don't advance iterator if we have
1242 reseated to the desired position.
1243
1244 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
1245 checking for pos match.
1246
545312c2
KH
12472008-12-30 Kenichi Handa <handa@m17n.org>
1248
1ede3eb6
KH
1249 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
1250 just get the low 8-bit of the code.
1251
545312c2
KH
1252 * font.c (font_intern_prop): Validate str as multibyte.
1253
bd7bbf29
DN
12542008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1255
31e0750e
DN
1256 * dispextern.h (struct face): Move lface and hash from the middle
1257 of bitfields.
1258
bd7bbf29
DN
1259 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
1260
b5672e7c
DN
12612008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
1262
1263 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
1264 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
1265 instead of intervals.h.
1266
d704470f
AS
12672008-12-26 Andreas Schwab <schwab@suse.de>
1268
1269 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
1270 cons.
1271
54b33868
MR
12722008-12-26 Martin Rudalics <rudalics@gmx.at>
1273
1274 * textprop.c (Qminibuffer_prompt): New variable.
1275 (syms_of_textprop): Initialize it.
1276 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
1277 in minibuffer-prompt face. (Bug#1662)
1278
40b615d6
JR
12792008-12-25 Jason Rumney <jasonr@gnu.org>
1280
1281 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
1282
baae5c2d
JR
12832008-12-24 Jason Rumney <jasonr@gnu.org>
1284
1285 * ralloc.c (r_alloc_reset_variable): New function.
1286
1287 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 1288 record of what points where. (Bug#716)
baae5c2d 1289
a9051c88
DN
12902008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
1291
1292 * minibuf.c (read_minibuf): Follow the non-interactive case when
1293 running as a daemon, before detaching.
1294
8b146312
AS
12952008-12-22 Andreas Schwab <schwab@suse.de>
1296
1297 * buffer.c (init_buffer): Use realloc instead of xrealloc.
1298 * gtkutil.c (free_widget_value): Use xfree instead of free.
1299
56f2de10
MR
13002008-12-22 Martin Rudalics <rudalics@gmx.at>
1301
1302 * frame.c (delete_frame): New function derived from
1303 Fdelete_frame to handle Qnoelisp value for FORCE argument.
1304 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
1305 (Fdelete_frame): Call delete_frame. Remove line from doc-string
1306 saying that FORCE non-nil doesn't run `delete-frame-functions'.
1307 * frame.h: Extern delete_frame.
1308 * window.c (window_loop):
1309 * terminal.c (delete_terminal):
1310 * xterm.c (x_connection_closed):
1311 * xfns.c (Fx_hide_tip):
9acef61c 1312 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 1313
1fc200d6
JR
13142008-12-21 Jason Rumney <jasonr@gnu.org>
1315
1316 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
1317 when character maps to .notdef character.
1318
5e252df2
SM
13192008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
1320
1321 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
1322
99b72cc4
JR
13232008-12-20 Jason Rumney <jasonr@gnu.org>
1324
1325 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 1326 a graphical frame on Windows. (Bug#1325)
99b72cc4 1327
acc49a52
JD
13282008-12-20 Jan Djärv <jan.h.d@swipnet.se>
1329
1330 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
1331
6ea15123
CY
13322008-12-20 Chong Yidong <cyd@stupidchicken.com>
1333
1334 * minibuf.c (Fread_buffer): Doc fix.
1335
b2dab6c8
JR
13362008-12-20 Jason Rumney <jasonr@gnu.org>
1337
54ea0c87 1338 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 1339 server name in UNC paths. (Bug#719)
54ea0c87 1340
b2dab6c8 1341 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 1342 charbuf. (Bug#1035)
b2dab6c8 1343
6d1921be
DN
13442008-12-19 Daniel Engeler <engeler@gmail.com>
1345
1346 * sysdep.c (serial_configure): Fix typo.
1347
53934c98
DN
13482008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1349
1350 * sysdep.c: Include alloca.h.
f4f634e8
DN
1351 (system_process_attributes): Add implementation for Solaris.
1352
1353 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 1354
06e111a6
DN
13552008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1356
1357 Reorganize implementation of Flist_system_processes and
1358 Fsystem_process_attributes. No functional changes.
1359 * process.c: Don't #include pwd.h, grp.h and limits.h.
1360 (Flist_system_processes): Just call list_system_processes.
1361 (Fsystem_process_attributes): Just call system_process_attributes.
1362 (procfs_list_system_processes, time_from_jiffies)
1363 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
1364 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
1365
1366 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
1367 (list_system_processes): Rename from
1368 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
1369 Provide a do nothing implementation.
1370 (system_process_attributes): Rename from
1371 procfs_list_system_processes.
1372 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 1373 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
1374
1375 * w32.c (list_system_processes): Rename from
1376 w32_list_system_processes.
1377 (system_process_attributes): Rename from
1378 w32_system_process_attributes.
1379
1380 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
1381
1382 * process.h (w32_list_system_processes)
1383 (w32_system_process_attributes): Remove.
1384 (list_system_processes, system_process_attributes): New
1385 prototypes.
1386
6a705b23
KH
13872008-12-19 Kenichi Handa <handa@m17n.org>
1388
1389 * xfont.c (xfont_decode_coding_xlfd): New function.
1390 (xfont_encode_coding_xlfd): New function.
1391 (xfont_list_pattern): Decode XLFD by iso-8859-1.
1392 (xfont_list): Decode and encode XLFD by iso-8859-1.
1393 (xfont_match): Likewise.
1394 (xfont_list_family): Likewise.
1395 (xfont_open): Likewise.
1396
d66c0241 1397 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
1398 names are utf-8.
1399
d66c0241 1400 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
1401 names are utf-8.
1402
5a130941
JD
14032008-12-18 Jan Djärv <jan.h.d@swipnet.se>
1404
1405 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
1406 changed.
bfd20325
JD
1407 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
1408 clicked on a detached tool bar button.
5a130941 1409
fd95644b
DN
14102008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
1411
1412 * emacs.c (main): Print and error and exit when no data is read
1413 from the pipe.
1414
e6eee6ae
JR
14152008-12-17 Jason Rumney <jasonr@gnu.org>
1416
1417 * w32font.c (w32font_has_char): Always return -1.
1418
a35dd56b
KH
14192008-12-16 Kenichi Handa <handa@m17n.org>
1420
1421 * font.c (font_open_entity): Fix previous change.
1422
0e3635c2
DN
14232008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1424
1425 * process.c: Include <limits.h>.
1426
d4835507 14272008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1428
1429 * font.c (font_update_drivers): Fix mistake in reconstructing the
1430 driver list.
1431
14322008-12-16 Chong Yidong <cyd@stupidchicken.com>
1433
1434 * font.c (font_clear_cache): Fix format of font cache data.
1435
e2cbc401
CY
14362008-12-15 Chong Yidong <cyd@stupidchicken.com>
1437
1438 * xftfont.c (xftfont_open): Free Xft font pattern if
1439 XftFontOpenPattern fails.
1440
1441 * xterm.c (x_free_frame_resources): Remove extraneous call to
1442 free_frame_faces.
1443
b131d535
CY
14442008-12-13 Chong Yidong <cyd@stupidchicken.com>
1445
1446 * xterm.c (x_delete_display): Move xim_close_dpy call to
1447 x_delete_terminal.
1448 (x_delete_terminal): Call xim_close_dpy.
1449
e6df5336
JR
14502008-12-13 Jason Rumney <jasonr@gnu.org>
1451
1452 * w32font.c (intern_font_name): New function.
1453 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1454 (w32font_open_internal, Fx_select_font): Decode font name.
1455 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1456
1457 * w32font.h (intern_font_name): Declare new function.
1458
1459 * w32uniscribe.c (add_opentype_font_name_to_list):
1460 Use intern_font_name.
1461
20d68145
CY
14622008-12-13 Chong Yidong <cyd@stupidchicken.com>
1463
9f2554de
CY
1464 * frame.c (Fdelete_frame): Call free_font_driver_list.
1465
3d9bec9a
CY
1466 * font.c (free_font_driver_list): Implement missing function.
1467
20d68145
CY
1468 * w32term.c (w32_term_init): Don't initialize the image cache
1469 here; it will be done in init_frame_faces.
1470
1471 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1472 (struct x_display_info): Remove unused member null_pixel. New
1473 member xim_callback_data.
1474
1475 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1476 (xim_initialize): Save pointer to callback function data.
1477 (xim_close_dpy): Free callback function data. Call XCloseIM,
1478 reverting 2008-11-04 change by David Smith.
1479 (x_term_init): Don't initialize the image cache here; it will be
1480 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1481 (x_delete_display): Free x_dnd_atoms member.
1482
96f9306b
KH
14832008-12-13 Kenichi Handa <handa@m17n.org>
1484
6dec9044
JB
1485 * font.c (font_rescale_ratio): Moved from xfaces.c.
1486 Argument type changed. Handle a font-spec too.
96f9306b 1487 (font_score): Check Vface_font_rescale_alist.
6dec9044 1488 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1489
1490 * xfaces.c (font_rescale_ratio): Moved to font.c.
1491
8d5b4964
CY
14922008-12-13 Chong Yidong <cyd@stupidchicken.com>
1493
1494 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1495
e6df5336
JR
14962008-12-12 Jason Rumney <jasonr@gnu.org>
1497
1498 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1499 Vwindow_system_version to the real w32 major version.
1500
97c6058a
DN
15012008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1502
1503 * term.c (init_tty): Move setting the terminal name before the
1504 potential user: maybe_fatal.
1505
ec4e88d7
CY
15062008-12-11 Chong Yidong <cyd@stupidchicken.com>
1507
d4835507
JB
1508 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1509 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1510
b4233ec9
JR
15112008-12-11 Jason Rumney <jasonr@gnu.org>
1512
8ec71e23 1513 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1514 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1515
b4233ec9 1516 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1517 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1518
011a0143
JB
15192008-12-11 Juanma Barranquero <lekktu@gmail.com>
1520
1521 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1522
3c309f34
JB
15232008-12-11 Juanma Barranquero <lekktu@gmail.com>
1524
1525 * process.c (Fsystem_process_attributes, syms_of_process):
1526 Fix typo in name of Ssystem_process_attributes.
1527 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1528
fedc6ab5
JB
15292008-12-11 Juanma Barranquero <lekktu@gmail.com>
1530
1531 * syntax.c (Fmodify_syntax_entry): Doc fix.
1532
ba3de0e8
JB
15332008-12-10 Juanma Barranquero <lekktu@gmail.com>
1534
1535 * font.c (Ffont_spec): Move usage to end of docstring.
1536
174f1c74
JR
15372008-12-10 Jason Rumney <jasonr@gnu.org>
1538
1539 * w32font.c (Qcham): New symbol.
1540 (font_supported_scripts): Add cham, and comments for other new
1541 scripts in bitfield from OpenType spec.
9d32f818
JR
1542 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1543 contain characters beyond the bmp.
174f1c74 1544
7b649478
KH
15452008-12-10 Kenichi Handa <handa@m17n.org>
1546
1547 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1548 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1549 Qunicode_sip.
1550
2133e2d1
JB
15512008-12-10 Juanma Barranquero <lekktu@gmail.com>
1552
1553 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1554 (Fcoding_system_put): Use QCdefault_char.
1555 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1556
9af886ee
CY
15572008-12-09 Chong Yidong <cyd@stupidchicken.com>
1558
74d819eb
CY
1559 * xftfont.c (syms_of_xftfont): Fix typo.
1560
4ccfa1c0 1561 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1562
7c19d3ae
DN
15632008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1564
1565 * emacs.c (main): Close daemon_pipe on exec.
1566
567826bb
CY
15672008-12-08 Chong Yidong <cyd@stupidchicken.com>
1568
1569 * termchar.h (struct tty): New members termcap_term_buffer and
1570 termcap_strings_buffer.
1571
1572 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1573 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1574 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1575 All callers changed.
1576 (init_tty): Store termcap data and string buffers in new struct
1577 tty members termcap_term_buffer and termcap_strings_buffer.
1578 (delete_tty): Free them.
4ccfa1c0 1579 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1580
aa96c42b
SZ
15812008-12-07 Seiji Zenitani <zenitani@mac.com>
1582
1583 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1584 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1585
b7e1d896
CY
15862008-12-06 Chong Yidong <cyd@stupidchicken.com>
1587
1588 * coding.c (make_conversion_work_buffer): Disable buffer
1589 modification hooks in the work buffer.
1590
b5ec91a5
EZ
15912008-12-05 Eli Zaretskii <eliz@gnu.org>
1592
1593 * process.c (procfs_system_process_attributes): If `nread' has a
1594 negative value, assign zero to it.
1595
a5d2a52b
CY
15962008-12-05 Chong Yidong <cyd@stupidchicken.com>
1597
68c5540b 1598 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1599
7bf1bb21
KH
16002008-12-05 Kenichi Handa <handa@m17n.org>
1601
1602 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1603 second character is a combining character.
1604
2fdc7d00
EZ
16052008-12-05 Eli Zaretskii <eliz@gnu.org>
1606
1607 * process.c (procfs_system_process_attributes): Don't use cmd,
1608 cmdsize, and q without initializing them first.
1609
bf6bfba8
JR
16102008-12-04 Jason Rumney <jasonr@gnu.org>
1611
1612 * w32font.c (w32font_draw): Initialize orig_clip before getting
1613 it, and delete it when finished.
1614
a3b1a468
DN
16152008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1616
1617 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1618 case when running as a daemon before detaching.
1619
8b8be8eb
JB
16202008-12-03 Juanma Barranquero <lekktu@gmail.com>
1621
805f2638 1622 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1623
b1bde622
KH
16242008-12-03 Kenichi Handa <handa@m17n.org>
1625
e500c47d
KH
1626 * font.c (font_at): Set `multibyte' at first.
1627
ca516334
KH
1628 * coding.c (decode_coding_charset): Check type of an element of
1629 vector VALIDS.
7bf1bb21 1630 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1631
4ccfa1c0 1632 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1633 (font_for_char): Likewise.
1634
1e5ecd37
CY
16352008-12-03 Chong Yidong <cyd@stupidchicken.com>
1636
d5b01609 1637 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1638 (font_update_lface): Handle fonts with corrupted size specs,
1639 i.e. non-int and non-float.
d5b01609 1640
11e3a6e4 1641 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1642 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1643 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1644
ab06788b
CY
1645 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1646
1e5ecd37 1647 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1648 underline_minimum_offset for underline position.
1e5ecd37 1649
63c125ab
DN
16502008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1651
1652 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1653
1654 * character.c (c_string_width): Specify the type for LEN.
1655
3a8406e1
KH
16562008-12-03 Kenichi Handa <handa@m17n.org>
1657
4ccfa1c0 1658 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1659 (decode_coding_utf_8): Likewise.
4ccfa1c0 1660 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1661 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1662
651df7d9
CY
16632008-12-02 Chong Yidong <cyd@stupidchicken.com>
1664
1665 * keyboard.c (make_lispy_position): Only use PT if the selected
1666 window is current.
1667
1f625c6c
AS
16682008-12-02 Andreas Schwab <schwab@suse.de>
1669
f7741ce9
AS
1670 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1671
1f625c6c
AS
1672 * doprnt.c (doprnt1): Fix size of charbuf.
1673
92bc2678
CY
16742008-12-02 Chong Yidong <cyd@stupidchicken.com>
1675
1676 * keyboard.c (timer_check): Revert last change.
1677
93b9e8cc
JB
16782008-12-02 Juanma Barranquero <lekktu@gmail.com>
1679
1680 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1681
fd7a37d5
JB
16822008-12-01 Juanma Barranquero <lekktu@gmail.com>
1683
1684 * makefile.w32-in: Update dependencies.
1685 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1686
c115043b
AS
16872008-12-01 Andreas Schwab <schwab@suse.de>
1688
1689 * font.c (register_font_driver): Use xmalloc.
1690 (font_put_frame_data): Likewise.
1691
f5668d2a
CY
16922008-12-01 Chong Yidong <cyd@stupidchicken.com>
1693
860d96be
CY
1694 * xfaces.c (realize_x_face): Make abort condition clearer.
1695
f5668d2a
CY
1696 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1697
379c17e7
CY
16982008-11-30 Chong Yidong <cyd@stupidchicken.com>
1699
1700 * keyboard.c (timer_check): After a timer runs, ensure that the
1701 selected window's buffer is current.
1702
35f36d65
JB
17032008-11-30 Juanma Barranquero <lekktu@gmail.com>
1704
f952c61c
JB
1705 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1706 It was accidentally restored by the Unicode merge.
1707
35f36d65
JB
1708 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1709
b23077df
JB
17102008-11-29 Juanma Barranquero <lekktu@gmail.com>
1711
1712 * w32proc.c: Include "coding.h".
1713 (Fw32_short_file_name): Encode filename passed to Windows API.
1714 (Fw32_long_file_name): Encode filename passed to Windows API and
1715 decode back the result. (Bug#1433)
1716
b8ebe9dd
KH
17172008-11-29 Kenichi Handa <handa@m17n.org>
1718
8cc53f96
KH
1719 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1720 not before accessing it.
1721
b8ebe9dd
KH
1722 * charset.c (Fdefine_charset_internal): After calculating
1723 min_char, max_char, and fastmap, copy the charset structure again.
1724 (encode_char): Fix the previous change.
1725
59bc82c0
SZ
17262008-11-28 Seiji Zenitani <zenitani@mac.com>
1727
1728 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1729
1730 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1731
1732 * nsterm.m (x_set_frame_alpha): New function.
1733
32247e3d
EZ
17342008-11-27 Eli Zaretskii <eliz@gnu.org>
1735
1736 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1737
b003e5ff
JB
17382008-11-27 Juanma Barranquero <lekktu@gmail.com>
1739
1740 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1741 pointer to check_face_name.
1742
708550f5
KH
17432008-11-27 Kenichi Handa <handa@m17n.org>
1744
1745 * category.h (SET_CATEGORY_SET): Call set_category_set.
1746 (set_category_set): Extern it.
1747
1748 * category.c (hash_get_category_set): New function.
1749 (Fmodify_category_entry): Adjusted for the change of
1750 char_table_ref_and_range. Call hash_get_category_set to get a
1751 category set to store in the table.
1752
1753 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1754 Funify_charset.
1755
2ae37cf0 1756 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1757 (DECODE_CHAR): Check if the decoder vector is ready.
1758 (ENCODE_CHAR): Check if the encoder char-table is ready.
1759 (maybe_unify_char): Extern it.
1760
1761 * charset.c (Vchar_unified_charset_table): Delete it.
1762 (inhibit_load_charset_map): New variable.
1763 (temp_charset_work): New variable.
1764 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1765 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1766 New macros.
1767 (load_charset_map): Meaning of control_flag changed. If
1768 inhibit_load_charset_map is nonzero, setup a table in
1769 temp_charset_work.
1770 (load_charset): New argument control_flag.
1771 (map_charset_for_dump): New function.
1772 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1773 map_charset_for_dump.
1774 (Fdefine_charset_internal): If the charset method is MAP, load
1775 mapping tables by calling load_charset.
1776 (Funify_charset): Don't load a mapping table but directly set
1777 Vchar_unify_table.
1778 (maybe_unify_char): New function.
1779 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1780 Handle the case of inhibit_load_charset_map being nonzero.
1781 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1782 Handle the case of inhibit_load_charset_map being nonzero.
1783 (Fclear_charset_maps): Just free temp_charset_work.
1784 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1785 variable.
1786
1787 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1788 change of char_table_ref_and_range.
1789 (char_table_ref_and_range): Change the meaning of argument FROM
1790 and TO. Now the caller must provide initial values for *FROM
1791 and *TO.
1792
1793 * fontset.c (fontset_add): Adjusted for the change of
1794 char_table_ref_and_range.
1795 (fontset_get_font_group): Likewise.
1796 (Ffontset_info): Likewise.
1797
1798 * keymap.c (describe_vector): Adjusted for the change of
1799 char_table_ref_and_range. For char-table, put boundary between
1800 non-ASCII and 8-bit characters.
1801
1802 * print.c (print_object): For bool-vector, delete unnecessary
1803 check of ASCII_BYTE_P.
1804
9196133b
JR
18052008-11-26 Jason Rumney <jasonr@gnu.org>
1806
1807 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1808 leading in font height. (Bug#879)
9196133b 1809
9f688acf
GM
18102008-11-26 Glenn Morris <rgm@gnu.org>
1811
1812 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1813 redefinition with ifdef. (Bug#1383)
1814
90d19aff
AR
18152008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1816
1817 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1818
4ccfa1c0 18192008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1820
1821 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1822 New EmacsView methods.
1823 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1824 Fixes bug #1048,1357,1414.
1825
18262008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1827
1828 Fix bug #1362.
1829 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1830 is not an indexed color.
1831 * nsterm.m (free_indexed_color): Add argument checking.
1832 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1833
e7d5ecb3
CY
18342008-11-24 Chong Yidong <cyd@stupidchicken.com>
1835
1836 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1837 Document confirm-after-completion value for
1838 minibuffer-completion-confirm.
1839
c285743c
JR
18402008-11-24 Jason Rumney <jasonr@gnu.org>
1841
1842 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1843 warning.
1844
b0857706
JR
18452008-11-23 Jason Rumney <jasonr@gnu.org>
1846
1847 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1848 restored before returning.
1849
1850 * w32font.c (check_face_name): New function.
1851 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1852 fonts. (Bug#642)
b0857706 1853
ee50ff07
MR
18542008-11-22 Martin Rudalics <rudalics@gmx.at>
1855
1856 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1857 confirm-nonexistent-file-or-buffer in doc-string.
1858
b8ff72fa
SM
18592008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1860
1861 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1862 Fix copy/paste typo. Add checks.
1863
cee53ed4
KH
18642008-11-21 Kenichi Handa <handa@m17n.org>
1865
1866 * coding.c (detect_coding_iso_2022): Reject invalid composition
1867 sequence.
1868 (DECODE_COMPOSITION_START): If the current source is the last
1869 block, and the current composition doesn't end, regard this
1870 sequence as invalid.
1871 (decode_coding_iso_2022): Handle invalid composition sequence.
1872
f6ef1e65
MR
18732008-11-20 Martin Rudalics <rudalics@gmx.at>
1874
1875 * window.c (coordinates_in_window): Don't return
1876 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1877 line when the window is not the rightmost one. (Bug#1372)
1878
e08b1705
MR
18792008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1880
1881 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1882
ad98e89f
EZ
18832008-11-15 Eli Zaretskii <eliz@gnu.org>
1884
1885 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1886 and bright_bg if noninteractive is non-zero.
1887
fb098a4b
CY
18882008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1889
1890 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1891 x_draw_glyph_string_background.
1892
1893 * w32term.c (x_draw_glyph_string): Likewise.
1894
ce952b6e
CY
18952008-11-15 Chong Yidong <cyd@stupidchicken.com>
1896
1897 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1898 the next glyph string once past the overhang width.
1899
1900 * nsterm.m (ns_draw_glyph_string): Likewise.
1901
1902 * w32term.c (x_draw_glyph_string): Likewise.
1903
26ea7079
CY
19042008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1905
1906 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1907 double file close.
1908
1c33c906
MR
19092008-11-14 Martin Rudalics <rudalics@gmx.at>
1910
1911 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1912 dedicated status of window before attempting to display another
1913 buffer in it.
1914
8fc29035
JB
19152008-11-14 Juanma Barranquero <lekktu@gmail.com>
1916
1917 * msdos.c (Fmsdos_long_file_names):
1918 (syms_of_msdos) <dos-unsupported-char-glyph>:
1919 * dosfns.c (Fint86): Fix typos in docstrings.
1920
55fb4286
EZ
19212008-11-14 Eli Zaretskii <eliz@gnu.org>
1922
1923 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1924
3fda0315
KY
19252008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1926
1927 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1928
7e849c17
CY
19292008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1930
1931 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1932
1933 * frame.h: Negative alpha means "don't touch".
1934
1935 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1936
1937 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1938
b9fd67bd
DN
19392008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1940
1941 * hftctl.c:
1942 * chpdef.h:
1943 * acldef.h: Remove files used only for systems no longer supported.
1944
1945 * Makefile.in: Fix .o alphabetical ordering.
1946 (hftctl.o): Remove dependency, file removed.
1947 (keymap.o, print.o): Depend on charset.h.
1948
d5998e03
KH
19492008-11-10 Kenichi Handa <handa@m17n.org>
1950
2ae37cf0 1951 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1952
be70e183
CY
19532008-11-08 Chong Yidong <cyd@stupidchicken.com>
1954
1955 * dired.c (file_name_completion): If completion_ignore_case is
1956 enabled, ignore case when checking completion-regexp-list.
1957
7cf94eac
EZ
19582008-11-08 Eli Zaretskii <eliz@gnu.org>
1959
1960 * vm-limit.c (get_lim_data): Fix last change.
1961
ee107a89
KH
19622008-11-08 Kenichi Handa <handa@m17n.org>
1963
1964 * character.c (Fget_byte): New function.
1965 (syms_of_character): Defsubr Fget_byte.
1966
5fd15622
CY
19672008-11-07 Chong Yidong <cyd@stupidchicken.com>
1968
1969 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1970 cursor position is valid after scrolling.
1971
13d62fad
JB
19722008-11-06 Juanma Barranquero <lekktu@gmail.com>
1973
1974 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1975
a1dd2936
GM
19762008-11-06 Glenn Morris <rgm@gnu.org>
1977
1978 * xterm.c (handle_one_xevent): Don't let popup menus cause
1979 mouse-autoselect-window related window switching. (Bug#1261)
1980
860cd236
CY
19812008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1982
1983 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1984
653a3150
AS
19852008-11-04 Andreas Schwab <schwab@suse.de>
1986
1987 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1988
870f5cac
CY
19892008-11-03 Chong Yidong <cyd@stupidchicken.com>
1990
1991 * xfns.c (Fx_wm_set_size_hint): New function.
1992
1e02f3cb
MR
19932008-11-03 Martin Rudalics <rudalics@gmx.at>
1994
1995 * textprop.c (Fprevious_single_char_property_change): Return 0
1996 when there's no change in a string. (Bug#1301)
1997
e630dfc6
MR
19982008-11-02 Martin Rudalics <rudalics@gmx.at>
1999
2000 * frame.c (do_switch_frame): New argument NORECORD passed to
2001 Fselect_window.
2002 (Fselect_frame): New argument NORECORD passed to
2003 do_switch_frame.
2004 (Fset_frame_selected_window): New argument NORECORD passed to
2005 Fselect_frame.
2006 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
2007 in call of do_switch_frame.
2008 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
2009 Handle NORECORD argument in call of Fselect_frame.
2010 * lisp.h (do_switch_frame, Fselect_frame)
2011 (Fset_frame_selected_window): Adjust declarations.
2012 * window.c (select_frame_norecord): New function.
2013 (run_window_configuration_change_hook): Use it and call
2014 Fselect_frame with NORECORD set.
2015 (Fselect_window): Pass NORECORD to Fselect_frame.
2016 (Fset_window_configuration): Handle NORECORD argument in call of
2017 do_switch_frame.
2018 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
2019 Fset_frame_selected_window.
2020 * keyboard.c (command_loop_1): Handle NORECORD in call of
2021 Fselect_frame (currently ifdefd).
2022
9020b223
GM
20232008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
2024
2025 * emacs.c (USAGE2): Untabify.
2026
793ffee8
SM
20272008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
2028
2029 * composite.c (fill_gstring_header): Fix copy/paste typo.
2030
ab6d1131
MR
20312008-10-31 Martin Rudalics <rudalics@gmx.at>
2032
2033 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
2034 (Fother_window): Rename argument and rewrite doc-string.
2035 (select_window_norecord): Fix return value. (Bug#1276)
2036
601a9cf1
JB
20372008-10-30 Juanma Barranquero <lekktu@gmail.com>
2038
2039 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
2040 new frames overriding foreground for tooltips. Based on similar patch
2041 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
2042
813b0652
CY
20432008-10-29 Chong Yidong <cyd@stupidchicken.com>
2044
2045 * emacs.c (Fdaemon_initialized): Initialize nfd.
2046
4414f58f
MR
20472008-10-29 Martin Rudalics <rudalics@gmx.at>
2048
2049 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
2050 (Fwindow_text_height): Clarify doc-strings.
2051 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
2052 doc-string of window-scroll-functions.
2053
ecdcaa09
RS
20542008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
2055
2056 * category.c (syms_of_category): Fix typo in docstring.
2057
23fe745a
JB
20582008-10-28 Juanma Barranquero <lekktu@gmail.com>
2059
2060 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
2061 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
2062 Fix typos in docstrings.
2063
ff808935
DN
20642008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
2065
2066 * emacs.c (daemon_pipe): Make non-static.
2067 (IS_DAEMON): Move definition ...
2068 * lisp.h (IS_DAEMON): ... here.
2069 (daemon_pipe): Declare.
2070 (is_daemon): Remove.
2071 * dispnew.c (init_display): Use IS_DAEMON.
2072
fc012771
SM
20732008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2074
2075 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
2076 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
2077
2078 * emacs.c (is_daemon): Remove.
2079 (main): Don't set is_daemon.
2080 (IS_DAEMON): New macro.
2081 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 2082 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
2083 parent exits.
2084 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
2085
d8bdbe6f
CY
20862008-10-27 Chong Yidong <cyd@stupidchicken.com>
2087
d1a072bf
CY
2088 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
2089 over-sized glyph, draw it with the default glyph width.
2090
e2e325aa
CY
2091 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2092 glyph, draw it with the default glyph width.
2093
2094 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
2095 glyph, draw it with the default glyph width.
2096
d8bdbe6f
CY
2097 * xdisp.c (try_scrolling): When computing the distance from the
2098 scroll margin to PT, try moving some distance past the window
2099 bottom before giving up.
2100
7bfac547
MR
21012008-10-27 Martin Rudalics <rudalics@gmx.at>
2102
2103 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
2104 (Fset_window_buffer): Explain in doc-string that a window can be
2105 "strongly" dedicated to its buffer.
2106
4ff029f6
DN
21072008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
2108
2109 * emacs.c (daemon_name): New variable.
2110 (main): Deal with --daemon=SERVER_NAME.
2111 (Fdaemonp): Return a name if one was passed to --daemon.
2112
5790ef40
DN
21132008-10-26 Romain Francoise <romain@orebokech.com>
2114
f9bd0df9 2115 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
2116 (main): Create a pipe before forking, make the parent exit only after
2117 the child has closed its end of the pipe. Move closing the
2118 descriptors ...
2119 (Fdaemon_initialized): ... here. New function.
2120
f5385255
SM
21212008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
2122
4d632321
SM
2123 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
2124 the previous unoptimized table.
2125
f5385255
SM
2126 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
2127 the distinction between non-nil and non-t value of `dedicated'.
2128
6c56a0f3
CY
21292008-10-25 Chong Yidong <cyd@stupidchicken.com>
2130
2131 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 2132 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 2133
fec89261
MR
21342008-10-25 Martin Rudalics <rudalics@gmx.at>
2135
2136 * window.c (Fget_buffer_window, Fdelete_windows_on)
2137 (Freplace_buffer_in_windows): Make buffer argument optional and
2138 rename to buffer_or_name.
2139
34fcddd0
CY
21402008-10-24 Chong Yidong <cyd@stupidchicken.com>
2141
f5385255
SM
2142 * xdisp.c (handle_single_display_spec, handle_display_prop):
2143 Undo 2005-05-16 change.
34fcddd0
CY
2144 (handle_stop): Pop iterator if it's loaded with an empty string.
2145 (get_overlay_strings_1): Don't save iterator if it's loaded with
2146 an empty string (bug#1201).
2147
064766f2
KH
21482008-10-24 Kenichi Handa <handa@m17n.org>
2149
2150 * ftfont.c (ftfont_otf_features): Fix previous change.
2151 (ftfont_otf_capability): Check FeatureList.FeatureCount before
2152 calling ftfont_otf_features.
2153
f9bd0df9 21542008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
2155
2156 * font.c (font_match_p): Fix for the case that a vector of
2157 characters is in script-representative-chars.
2158
1dae9197
MA
21592008-10-24 Michael Albinus <michael.albinus@gmx.de>
2160
2161 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 2162 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
2163 (xd_read_queued_messages): Catch Qdbus_error from the macros.
2164 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
2165 macro. (Bug#1186).
2166
f9bd0df9 21672008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
2168
2169 * s/sol2-10.h: New file.
2170
878a4584
JB
21712008-10-23 Juanma Barranquero <lekktu@gmail.com>
2172
2173 * xdisp.c (fill_glyph_string): Fix typo in source (though the
2174 poor beast has survived 9+ years and the jump from xterm.c!).
2175
cd265ca6
MR
21762008-10-23 Martin Rudalics <rudalics@gmx.at>
2177
2178 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
2179 Reword doc-string.
f5385255 2180 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 2181
472a4dc9
JB
21822008-10-23 Juanma Barranquero <lekktu@gmail.com>
2183
2184 * character.c (syms_of_character) <script-representative-chars>:
2185 <unicode-category-table>: Doc fixes.
2186
159bd5a2
NF
21872008-10-23 Noah Friedman <friedman@splode.com>
2188
2189 * coding.c (make_conversion_work_buffer): Check that
2190 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
2191 Fget_buffer_create.
2192
49f9c344
KH
21932008-10-23 Kenichi Handa <handa@m17n.org>
2194
2195 * font.c (font_add_log): Check the values of extra properties.
2196
12bb3111
MR
21972008-10-22 Martin Rudalics <rudalics@gmx.at>
2198
2199 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2200 Reword doc-string.
2201 (Fset_window_parameter): Use NILP.
2202 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 2203 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 2204
bbeb4e99
JB
22052008-10-22 Juanma Barranquero <lekktu@gmail.com>
2206
2207 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
2208
22092008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
2210
2211 * nsfns.m (ns_appkit_version): New function.
2212 (x-server-version): Use it.
2213 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
2214 (x-server-vendor): Don't check_ns().
2215
2216 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
2217
a9b555d3
JB
22182008-10-22 Juanma Barranquero <lekktu@gmail.com>
2219
2220 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
2221 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
2222
4626499f
KH
22232008-10-22 Kenichi Handa <handa@m17n.org>
2224
e3681952
KH
2225 * syntax.c (scan_words): Call word_boundary_p instead of comparing
2226 scripts.
2227
4626499f
KH
2228 * category.c (word_boundary_p): Check scripts instead of charset.
2229 Handle nil value in word-separating-categories and
2230 word-combining-categories.
2231 (syms_of_category): Fix docstrings of word-separating-categories
2232 and word-combining-categories.
2233
1560f91a
EZ
22342008-10-21 Eli Zaretskii <eliz@gnu.org>
2235
2236 * coding.c (Fencode_coding_region, Fdecode_coding_region)
2237 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
2238
f4668441
MR
22392008-10-21 Martin Rudalics <rudalics@gmx.at>
2240
2241 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
2242 Rename arg "buffer" to "buffer_or_name".
2243 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
2244 it optional.
2245 (no_switch_window): Remove since the return value is not used.
a9b555d3 2246 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
2247 Consider window as dedicated when Fwindow_dedicated_p returns a
2248 non-nil value.
2249 * lisp.h: Remove prototype for no_switch_window.
2250
fd75ddb2
JD
22512008-10-21 Jan Djärv <jan.h.d@swipnet.se>
2252
2253 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 2254 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 2255
07295713
KH
22562008-10-21 Kenichi Handa <handa@m17n.org>
2257
2258 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
2259 check Vlatin_extra_code_table.
2260
712adc82
EZ
22612008-10-20 Eli Zaretskii <eliz@gnu.org>
2262
2263 * fileio.c (Fset_file_modes): Doc fix.
2264
f549eb0b
MA
22652008-10-19 Michael Albinus <michael.albinus@gmx.de>
2266
2267 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
2268 in arrays.
2269
aac0c6e3
MR
22702008-10-19 Martin Rudalics <rudalics@gmx.at>
2271
2272 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
2273 Mention kill-buffer in doc-string.
2274 (Fset_window_buffer): Reinsert tem check removed in last commit.
2275 (Fenlarge_window, Fshrink_window): Have argument names and
2276 doc-string follow Elisp manual more closely.
2277
22782008-10-18 Eli Zaretskii <eliz@gnu.org>
2279
2280 * fileio.c (Fset_file_modes): Doc fix.
2281
22822008-10-18 Martin Rudalics <rudalics@gmx.at>
2283
2284 * window.c (Fwindow_width, Fset_window_start)
2285 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
2286 (Fdelete_windows_on, Freplace_buffer_in_windows):
2287 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
2288 (Fwindow_dedicated_p): Make window argument optional.
2289 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
2290 (Fset_window_buffer): Respect any non-nil dedicated value for
2291 window. Rename "buffer" argument to "buffer_or_name".
2292
22932008-10-18 Ulrich Mueller <ulm@gentoo.org>
2294
2295 * m/sh3.h: New file, machine description for SuperH.
2296
22972008-10-17 Martin Rudalics <rudalics@gmx.at>
2298
2299 * window.c (Fsplit_window): Rename arg horflag to horizontal.
2300
23012008-10-17 Kenichi Handa <handa@m17n.org>
2302
2303 * ftfont.c (ftfont_otf_features): Fix indexing
2304 gsub_gpos->FeatureList.Feature. Check the validity of indices.
2305
23062008-10-16 Magnus Henoch <mange@freemail.hu>
2307
2308 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
2309 (Fdbus_call_method_asynchronously): Ditto.
2310 This change makes C-h f display the argument list.
2311
23122008-10-16 Chong Yidong <cyd@stupidchicken.com>
2313
2314 * fileio.c (Fexpand_file_name): Doc fix.
2315
2316 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
2317 of :foreground and :background equivalent to unspecified (20.x
2318 compatibility).
2319
23202008-10-15 Eli Zaretskii <eliz@gnu.org>
2321
2322 * buffer.c (syms_of_buffer): Doc fix.
2323
23242008-10-14 Kenichi Handa <handa@m17n.org>
2325
2326 * font.c (font_clear_prop): When clearing font width, clear the
2327 average width field too.
2328
23292008-10-12 Andreas Schwab <schwab@suse.de>
2330
2331 * ftfont.c (ftfont_shape_by_flt): Make static.
2332 * ftfont.h (ftfont_shape_by_flt): Don't declare.
2333
2334 * font.c: Don't include <m17n-flt.h>.
2335
23362008-10-10 Eli Zaretskii <eliz@gnu.org>
2337
2338 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
2339
23402008-10-09 Eli Zaretskii <eliz@gnu.org>
2341
2342 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
2343 away code.
2344
23452008-10-09 Chong Yidong <cyd@stupidchicken.com>
2346
2347 * dispnew.c (update_text_area): Avoid looping due to large glyph
2348 overhangs (bug#1070).
2349
23502008-10-09 Kenichi Handa <handa@m17n.org>
2351
2352 * fontset.c (face_for_char): If face->fontset is negative, just
2353 return ascii_face.
2354
f5385255
SM
2355 * font.c (font_delete_unmatched): Fix previous change.
2356 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
2357
23582008-10-09 Martin Rudalics <rudalics@gmx.at>
2359
2360 * frame.c (Fraise_frame): On text-only terminals select frame in
2361 order to make it visible. (Bug#1061)
2362
23632008-10-08 Chong Yidong <cyd@stupidchicken.com>
2364
2365 * fontset.c (fontset_find_font): Check frame validity.
2366
23672008-10-07 Chong Yidong <cyd@stupidchicken.com>
2368
a9b555d3 2369 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
2370 (xg_display_close): Allow Emacs to close all displays (bug#985).
2371
23722008-10-06 Andreas Schwab <schwab@suse.de>
2373
f5385255 2374 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
2375
23762008-10-06 Chong Yidong <cyd@stupidchicken.com>
2377
f5385255 2378 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 2379
a9b555d3 2380 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
2381
2382 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
2383 during initialization.
2384
23852008-10-04 Eli Zaretskii <eliz@gnu.org>
2386
2387 * xdisp.c (redisplay_internal): If frame switched, redisplay the
2388 whole thing on MSDOS frames as well as on a TTY.
2389
2390 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
2391 well as for TTY.
2392 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
2393 well as on a TTY.
2394
2395 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
2396 as well as for TTY.
2397
2398 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
2399
2400 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
2401 MSDOS frames as well.
2402
24032008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2404
2405 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
2406 correct arguments.
2407 * menu.c (find_and_return_menu_selection) Add cast.
2408
24092008-10-03 Glenn Morris <rgm@gnu.org>
2410
2411 * emacs.c (USAGE1): Add --daemon.
2412
24132008-10-02 Eli Zaretskii <eliz@gnu.org>
2414
2415 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2416 100, so it's in percents as advertised.
2417
24182008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2419
2420 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2421 (ns_output.current_cursor, ns_output.desired_cursor)
2422 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2423 (FRAME_NEW_CURSOR_COLOR): Remove.
2424
2425 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2426 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2427 enumeration (HOLLOW_BOX_CURSOR, etc.).
2428
2429 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2430 (draw_window_cursor): Simplify code.
f5385255
SM
2431 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2432 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2433 updates manually.
a9b555d3
JB
2434 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2435 Use core Emacs cursor types.
aac0c6e3 2436
b8ff72fa 2437 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2438
24392008-10-02 Martin Rudalics <rudalics@gmx.at>
2440
2441 * process.c (Faccept_process_output): Fix doc-string.
2442
24432008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2444
2445 * gmalloc.c (__sbrk): Also define for uClibc.
2446
2447 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2448 for uClibc.
2449
24502008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2451
2452 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2453 styles.
2454 (nsfont_open): Reenable the cache.
2455
24562008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2457
2458 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2459 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2460
24612008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2462
2463 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2464 a suspended terminal.
2465
24662008-09-30 Michael Albinus <michael.albinus@gmx.de>
2467
2468 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2469
24702008-09-30 Eli Zaretskii <eliz@gnu.org>
2471
2472 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2473
24742008-09-30 Chong Yidong <cyd@stupidchicken.com>
2475
2476 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2477 in a continued line coincides with a line beginning.
2478
24792008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2480
2481 * nsfont.m (nsfont_trait_distance): Fix bug.
2482 (nsfont_list): Return a list rather than a vector (syncs with Handa
2483 changes of 2008-05-14).
2484 (nsfont_open): Improve logging.
2485
24862008-09-29 Andreas Schwab <schwab@suse.de>
2487
2488 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2489
24902008-09-28 Martin Rudalics <rudalics@gmx.at>
2491
2492 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2493 name as char-resolve-modifiers.
2494 Reported by: Markus Triska <markus.triska@gmx.at>
2495
24962008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2497
2498 * dispnew.c (init_display): Return earlier when running as a daemon.
2499
25002008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2501
2502 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2503
25042008-09-27 Eli Zaretskii <eliz@gnu.org>
2505
2506 * composite.c (Fcomposition_get_gstring)
2507 (Fcompose_region_internal, Fcompose_string_internal)
2508 (Ffind_composition_internal): Doc fix.
2509 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2510 (syms_of_composite) <auto-composition-function>: Doc fix.
2511 (syms_of_composite) <composition-function-table>: Doc fix.
2512
25132008-09-25 Chong Yidong <cyd@stupidchicken.com>
2514
2515 * search.c (wordify): New argument for lax word-ends.
2516 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2517
25182008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2519
2520 * lisp.h (is_daemon): Declare.
2521 * dispnew.c (init_display): Do not try to initialize the terminal
2522 when running as a daemon.
2523
25242008-09-22 Chong Yidong <cyd@stupidchicken.com>
2525
2526 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2527 x_display_pixel_height.
2528
25292008-09-22 Martin Rudalics <rudalics@gmx.at>
2530
2531 * undo.c (record_point): Don't call Fundo_boundary for first
2532 change. (Bug#731)
2533
25342008-09-22 Juanma Barranquero <lekktu@gmail.com>
2535
2536 * emacs.c (Fdaemonp): Doc fix.
2537
25382008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2539
2540 * emacs.c (main): Place #ifdef in the proper place.
2541
25422008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2543
2544 * emacs.c (standard_args): Add --daemon.
2545 (main): Disconnect from the terminal when --daemon is passed.
2546 (is_daemon): New variable.
2547 (Fdaemonp): New function.
2548 (syms_of_emacs): Defsubr it.
2549
25502008-09-20 Chong Yidong <cyd@stupidchicken.com>
2551
2552 * xdisp.c (get_next_display_element): Handle string display
2553 correctly when checking for the end of a box run.
2554
25552008-09-20 Glenn Morris <rgm@gnu.org>
2556
2557 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2558 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2559 (Frename_file): Avoid copying to trash if a rename involves
2560 a delete. (Bug#964).
2561
25622008-09-20 Eli Zaretskii <eliz@gnu.org>
2563
2564 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2565 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2566 frames as well as termcap frames.
2567 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2568 get_named_tty.
2569
25702008-09-19 Eli Zaretskii <eliz@gnu.org>
2571
2572 * process.c (procfs_system_process_attributes): Fix cmdline in
2573 case /proc/PID/cmdline is empty.
2574
2575 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2576 x_display_pixel_height.
2577
25782008-09-19 Juanma Barranquero <lekktu@gmail.com>
2579
2580 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2581
2582 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2583 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2584
25852008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2586
2587 * dispextern.h (struct it): Move line_wrap away from the middle of
2588 bitfields. Move voffset in struct iterator_stack_entry after the
2589 bitfields. Move tab_width near after another short.
2590
25912008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2592
2593 * frame.h (struct frame): Move alpha from the middle of bitfields.
2594
2595 * window.h (struct window): Move frozen_window_start_p after the
2596 rest of the bitfields to reduce padding.
2597
25982008-09-18 Chong Yidong <cyd@stupidchicken.com>
2599
2600 * xterm.h (x_display_info): Remove `height' and `width' members.
2601
2602 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2603
2604 * w32term.h (w32_display_info): Remove `height', `width',
2605 `height_in', and `width_in' members.
2606
b8ff72fa
SM
2607 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2608 New functions.
aac0c6e3
MR
2609 (x_calc_absolute_position): Use them.
2610 (x_term_init): Omit removed `height' and `width' members.
2611
b8ff72fa
SM
2612 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2613 New functions.
aac0c6e3
MR
2614 (w32_read_socket, x_calc_absolute_position): Use them.
2615 (w32_initialize_display_info, w32_term_init): Omit removed members
2616 of w32_display_info.
2617
b8ff72fa
SM
2618 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2619 New functions.
2620 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2621
b8ff72fa
SM
2622 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2623 New functions.
aac0c6e3
MR
2624 (x_calc_absolute_position): Use them.
2625 (x_term_init): Omit removed `height' and `width' members.
2626
2627 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2628 (compute_tip_xy):
2629 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2630 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2631 x_display_pixel_width.
2632
26332008-09-18 Kenichi Handa <handa@m17n.org>
2634
2635 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2636 (composition_compute_stop_pos): Fix handling of static composition.
2637 (Fcomposition_get_gstring): Check FROM and TO at first.
2638
26392008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2640
46e722a9 2641 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
2642 mixup (YAILOM).
2643
26442008-09-17 Chong Yidong <cyd@stupidchicken.com>
2645
2646 * indent.c (Fvertical_motion): Use position reported by iterator
2647 instead of PT for determining screen motion (bug#943).
2648
26492008-09-17 Romain Francoise <romain@orebokech.com>
2650
2651 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2652
26532008-09-17 Kenichi Handa <handa@m17n.org>
2654
2655 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2656
2657 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2658 if necessary.
2659
26602008-09-16 Kenichi Handa <handa@m17n.org>
2661
2662 * coding.c (make_conversion_work_buffer): Avoid calling
2663 Fget_buffer_create if it is not necessary.
2664
26652008-09-15 Martin Rudalics <rudalics@gmx.at>
2666
2667 * window.c (Fselect_window): Don't update window_select_count and
2668 use_time when norecord is not nil.
2669
26702008-09-14 Kenichi Handa <handa@m17n.org>
2671
2672 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2673 specpdl_ptr.
2674
26752008-09-12 Kenichi Handa <handa@m17n.org>
2676
2677 * indent.c (scan_for_column): Don't handle automatic composition
2678 if the current buffer is not associated with a window.
2679
2680 * composite.c (composition_reseat_it): If the current buffer is
2681 not associated with a window, ignore the automatic composition.
2682 (find_automatic_composition): Likewise.
2683
26842008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2685
2686 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2687 (Fgpm_mouse_stop): Use it.
2688 * termhooks.h (close_gpm): Declare.
2689 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2690 connection if Gpm_GetEvent fails.
2691
2692 * window.c (set_window_buffer): Always preserve current-buffer.
2693
26942008-09-12 Glenn Morris <rgm@gnu.org>
2695
2696 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2697
26982008-09-11 Glenn Morris <rgm@gnu.org>
2699
2700 * charset.c (charset-map-path): Doc fix.
2701
27022008-09-10 Kenichi Handa <handa@m17n.org>
2703
2704 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2705
2706 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2707 compose a grapheme cluster with the preceding base glyph.
2708
2709 * composite.c (composition_compute_stop_pos): Fix previous change.
2710 Reset cmp_it->id to -1 at first.
2711
27122008-09-10 Glenn Morris <rgm@gnu.org>
2713
2714 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2715
27162008-09-09 Chong Yidong <cyd@stupidchicken.com>
2717
2718 * keyboard.c (read_key_sequence): Reapply translation maps when
2719 switching keyboards.
2720
27212008-09-09 Kenichi Handa <handa@m17n.org>
2722
2723 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2724 characters.
2725
2726 * composite.c (FORWARD_CHAR): Fix calculation
2727 of (POSITION).pos_byte.
2728 (composition_compute_stop_pos): Limit the search of composition to
2729 at most 500 characters ahead. If we reach the limit or find a
2730 newline, set cmp_it->ch to -2 and return 0.
2731 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2732
27332008-09-08 Kenichi Handa <handa@m17n.org>
2734
2735 * indent.c (Fvertical_motion): Be sure to set
2736 it_overshoot_expected if it.cmp_it.id is non-negative.
2737
27382008-09-07 Andreas Schwab <schwab@suse.de>
2739
2740 * callproc.c (Fcall_process): Don't hold references to string data
2741 across garbage collection. Move initialisation of new_argv down
2742 to avoid compiler bug.
2743
27442008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2745
2746 * process.c (Fsystem_process_attributes): Doc fix.
2747
27482008-09-07 Chong Yidong <cyd@stupidchicken.com>
2749
2750 * callproc.c (Fcall_process): Canonicalize current directory name.
2751
2752 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2753 iterator advances to the next line if the current line ends in a
2754 continued tab.
2755
27562008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2757
2758 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2759 member to point to cmp_from.
2760
2761 * xdisp.c: Doc fix for references to gidx data member.
2762
27632008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2764
2765 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2766
27672008-09-07 Kenichi Handa <handa@m17n.org>
2768
2769 * composite.c (FORWARD_CHAR): Check STOP after
2770 incrementing (POSITION).pos.
2771
27722008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2773
2774 * process.c (Fsystem_process_attributes): Doc fix.
2775
27762008-09-06 Chong Yidong <cyd@stupidchicken.com>
2777
2778 * keyboard.c (Ftop_level): Doc fix.
2779
27802008-09-06 Eli Zaretskii <eliz@gnu.org>
2781
2782 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2783 minibuffer, don't let lower part of menu invade the echo area.
2784
2785 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2786 "char *q" to access menu text and advance through it. Revert the
2787 change that displayed ">" instead of ASCII character 0x10.
2788
27892008-09-05 Eli Zaretskii <eliz@gnu.org>
2790
2791 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2792 toggle boxes and radio buttons on MS-DOS as well.
2793
27942008-09-05 Kenichi Handa <handa@m17n.org>
2795
2796 * composite.c (autocmp_chars): Check lookback count.
2797 (composition_compute_stop_pos): Set cmp_it->lookback.
2798 (composition_reseat_it): Check lookback count.
2799 (struct position_record): New struct.
2800 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2801 (find_automatic_composition): New function.
2802 (composition_adjust_point): Use find_automatic_composition.
2803
2804 * dispextern.h (struct composition_it): New member lookback.
2805
28062008-09-02 Chong Yidong <cyd@stupidchicken.com>
2807
2808 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2809 if moving by a single line.
2810
28112008-09-02 Andreas Schwab <schwab@suse.de>
2812
2813 * xterm.c (x_delete_display): Fix merge error.
2814
2815 * fileio.c (Fexpand_file_name): Remove unused variables.
2816
28172008-09-02 Eli Zaretskii <eliz@gnu.org>
2818
2819 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2820 storage on all platforms, not just on DOS_NT.
2821
28222008-09-02 Jason Rumney <jasonr@gnu.org>
2823
b8ff72fa
SM
2824 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2825 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2826
28272008-09-01 Chong Yidong <cyd@stupidchicken.com>
2828
2829 * xfaces.c (Finternal_set_alternative_font_family_alist)
2830 (Finternal_set_alternative_font_registry_alist): Properly copy
2831 entire alist structure.
2832
28332008-09-01 Kenichi Handa <handa@m17n.org>
2834
d66c0241 2835 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2836 representative chars of the script is a vector.
d66c0241
JB
2837 (ftfont_list): Handle the case where the representative chars of
2838 the script is a vector.
aac0c6e3
MR
2839
2840 * character.c (syms_of_character): Docstring of
2841 script-representative-chars fixed.
2842
28432008-08-31 Eli Zaretskii <eliz@gnu.org>
2844
2845 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2846 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2847 the menu. Allocate larger buffer for `text', to account for
2848 possible ^C characters.
2849
28502008-08-31 Martin Rudalics <rudalics@gmx.at>
2851
2852 * xdisp.c (prepare_menu_bars): Don't call
2853 Vwindow_size_change_functions with arg Qt.
2854
28552008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2856
2857 * font.h (font_range):
2858 * fileio.c (report_file_error):
46e722a9
SM
2859 * composite.c (composition_update_it): Yet another int/Lisp_Object
2860 mixup (YAILOM).
aac0c6e3
MR
2861
28622008-08-30 Glenn Morris <rgm@gnu.org>
2863
2864 * data.c (Fmake_variable_frame_local): Doc fix.
2865
2866 * frame.c (Fmodify_frame_parameters): Doc fix.
2867
28682008-08-30 Eli Zaretskii <eliz@gnu.org>
2869
2870 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2871 needed by GetTokenInformation.
2872 (w32_system_process_attributes): Check return values of all system
2873 APIs.
2874
2875 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2876 only when the state changes.
2877 (IT_update_begin, IT_update_end): Add termscript trace.
2878
2879 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2880 clipboard is unavailable. Set dst to NULL if it doesn't point to
2881 malloc'ed data.
2882 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2883 passing random values to xfree.
2884
2885 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2886 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2887
28882008-08-29 Jason Rumney <jasonr@gnu.org>
2889
2890 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2891
28922008-08-29 Eli Zaretskii <eliz@gnu.org>
2893
2894 * composite.c (fill_gstring_body): Avoid compiler warnings.
2895
2896 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2897 LGLYPH_SET_CODE to avoid compiler warnings.
2898
2ae37cf0 2899 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2900
2901 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2902
2903 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2904 LGLYPH_SET_CODE.
2905
29062008-08-29 Kenichi Handa <handa@m17n.org>
2907
2908 * fileio.c (report_file_error): Don't downcase the first character
2909 of errstring if it is still unibyte.
2910
29112008-08-29 Kenichi Handa <handa@m17n.org>
2912
2913 These changes are to re-implement the automatic composition so
2914 that it doesn't use text properties.
2915
2916 * Makefile.in (ftfont.o): Depend on composite.h.
2917 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2918
2919 * character.h (Vunicode_category_table): Extern it.
2920
2921 * character.c (Vunicode_category_table): New variable.
2922 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2923
2924 * chartab.c (optimize_sub_char_table): Perform more greedy
2925 optimization.
2926
b8ff72fa
SM
2927 * composite.h (enum composition_method):
2928 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2929 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2930 (Vcomposition_function_table): Extern it.
2931 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2932 (composition_gstring_put_cache, composition_gstring_from_id)
2933 (composition_gstring_p, composition_gstring_width)
2934 (composition_compute_stop_pos, composition_reseat_it)
2935 (composition_update_it, composition_adjust_point): Extern them.
2936 (Fcomposition_get_gstring): EXFUN it.
2937
d66c0241 2938 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2939 (Vcomposition_function_table)
2940 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2941 (gstring_hash_table, gstring_work, gstring_work_headers):
2942 New variables.
aac0c6e3
MR
2943 (gstring_lookup_cache, composition_gstring_put_cache)
2944 (composition_gstring_from_id, composition_gstring_p)
2945 (composition_gstring_width, fill_gstring_header)
2946 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2947 (composition_reseat_it, composition_update_it)
b8ff72fa 2948 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2949 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2950 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2951 Defsubr compostion_get_gstring.
2952
2953 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2954 cmp_id.
2955 (struct glyph_string): Delete the member gidx. New members
2956 cmp_id, cmp_from, and cmp_to.
2957 (enum it_method): Delete GET_FROM_COMPOSITION.
2958 (struct composition_it): New struct.
2959 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2960 Delete c, len, cmp_id, cmp_len in u.comp.
2961
2962 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2963 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2964 (enum lglyph_indices): Likewise.
b8ff72fa 2965 (font_range): Adjust extern.
aac0c6e3
MR
2966 (font_fill_lglyph_metrics): Extern it.
2967
2968 * font.c (QCf): New variable.
2969 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2970 (font_prepare_composition): Delete this function.
2971 (font_range): Type and arguments changed.
2972 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2973 (font_fill_lglyph_metrics): New function.
b8ff72fa 2974 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2975 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2976 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2977 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2978
2979 * fontset.h (font_for_char): Extern it.
2980
2981 * fontset.c (font_for_char): New function.
2982
2983 * ftfont.c: Include composite.h.
2984 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2985 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2986
2987 * indent.c: Include composite.h and dispextern.h.
2988 (check_composition): Delete this function.
2989 (scan_for_column): Handle composition by
2990 composition_compute_stop_pos, composition_reseat_it, and
2991 composition_update_it.
2992 (compute_motion): Likewise.
2993 (Fvertical_motion): Fix checking of composition.
2994
2995 * keyboard.c (adjust_point_for_property): Check composition by
2996 composition_adjust_point.
2997
b8ff72fa 2998 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2999 struct glyph_string.
3000
b8ff72fa
SM
3001 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
3002 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
3003 struct glyph.
3004 (produce_composite_glyph): Likewise.
3005
b8ff72fa
SM
3006 * w32term.c (x_draw_composite_glyph_string_foreground):
3007 Adjust for the change of struct glyph_string.
aac0c6e3
MR
3008 (x_draw_glyph_string): Likewise.
3009
3010 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
3011 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
3012
3013 * xdisp.c: Include font.h.
3014 (it_props): Delete the entry for Qauto_composed.
3015 (init_iterator): Initialize it->cmp_it.id to -1.
3016 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 3017 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
3018 (handle_auto_composed_prop): Delete it.
3019 (handle_composition_prop): Handle only static composition.
3020 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
3021 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 3022 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
3023 (pop_it): Likewise.
3024 (get_next_element): Delete next_element_from_composition.
3025 (CHAR_COMPOSED_P): New macro.
3026 (get_next_display_element): For automatic composition, get a face
3027 from the font in the glyph-string.
3028 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 3029 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
3030 (next_element_from_string): Check if the character at the current
3031 position is composed by CHAR_COMPOSED_P.
3032 (next_element_from_buffer): Likewise.
d66c0241
JB
3033 (next_element_from_composition): Adjust for the change of struct it.
3034 Update it->cmp_it.
b8ff72fa
SM
3035 (dump_glyph): Adjust for the change of struct glyph.
3036 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
3037 it and struct glyph. Don't handle automatic composition here.
3038 (fill_gstring_glyph_string): New function.
3039 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 3040 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
3041 (BUILD_GSTRING_GLYPH_STRING): New macro.
3042 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
3043 automatic composition.
b8ff72fa 3044 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 3045 struct glyph.
b8ff72fa 3046 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 3047
b8ff72fa 3048 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
3049 the change of struct glyph_string.
3050 (x_draw_glyph_string): Likewise.
3051
30522008-08-29 Glenn Morris <rgm@gnu.org>
3053
3054 * buffer.c (word-wrap): Doc fix.
3055 * xdisp.c (truncate-partial-width-windows): Doc fix.
3056 Increase default to 50.
3057
30582008-08-29 Chong Yidong <cyd@stupidchicken.com>
3059
3060 * xdisp.c (update_tool_bar_unwind): New function.
3061 (update_tool_bar): Temporarily set selected frame before building
3062 tool-bar items.
3063
30642008-08-28 Michael Albinus <michael.albinus@gmx.de>
3065
3066 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
3067 snprintf, respectively.
3068 (xd_append_arg): Convert strings with Fstring_make_unibyte.
3069
30702008-08-28 Chong Yidong <cyd@stupidchicken.com>
3071
3072 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
3073 LDFLAGS to GNUstep CC invocation.
3074
30752008-08-27 Chong Yidong <cyd@stupidchicken.com>
3076
3077 * indent.c (Fvertical_motion): Revert last change. Handle the
3078 general case where we are moving forward, and PT spans multiple
3079 screen lines.
3080
3081 * eval.c (find_handler_clause): Temporarily increase
3082 max-lisp-eval-depth while printing the backtrace buffer, to
3083 guarantee that help-mode code can run.
3084
30852008-08-27 Eli Zaretskii <eliz@gnu.org>
3086
3087 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
3088 colors under -rv.
3089 (IT_set_frame_parameters): Don't swap foreground and background
3090 colors if `(reverse . t)' is present in the frame properties.
3091 (internal_terminal_init): Call init_frame_faces only for the
3092 initial frame.
3093
30942008-08-27 Andreas Schwab <schwab@suse.de>
3095
3096 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
3097
30982008-08-27 Andreas Schwab <schwab@suse.de>
3099
3100 * search.c (search_buffer): Set char_base to zero only at the end.
3101
31022008-08-27 Kenichi Handa <handa@m17n.org>
3103
b8ff72fa 3104 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
3105
31062008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
3107
3108 * xterm.c (x_term_init): Temporarily hide the partially
3109 initialized terminal while calling vendor-specific-keysyms.
3110
31112008-08-26 Eli Zaretskii <eliz@gnu.org>
3112
3113 * msdos.c (internal_terminal_init): Most initializations done only
3114 once, especially initial_screen_colors[] and termscript open.
3115
31162008-08-26 Chong Yidong <cyd@stupidchicken.com>
3117
3118 * eval.c (Fcondition_case): Doc fix.
3119
3120 * widgetprv.h (EmacsFramePart): Change font member to the new font
3121 struct.
3122
3123 * widget.c: Include character.h and font.h for XSETFONT.
3124 (setup_frame_gcs): Compute X font id from font struct, just once.
3125
31262008-08-26 Eli Zaretskii <eliz@gnu.org>
3127
3128 * term.c (get_named_tty): Fix last change.
3129
31302008-08-26 Chong Yidong <cyd@stupidchicken.com>
3131
3132 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 3133 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
3134
31352008-08-25 Eli Zaretskii <eliz@gnu.org>
3136
3137 * frame.c (do_switch_frame): Mark previously displayed frame as
3138 obscured for FRAME_MSDOS_P frames as well.
3139
31402008-08-24 Eli Zaretskii <eliz@gnu.org>
3141
3142 * frame.c (make_terminal_frame): Initialize f->terminal,
3143 f->terminal->reference_count, and scroll bars on MS-DOS as well.
3144 Set the top frame to newly created frame.
3145 (Fmake_terminal_frame): Reuse the_only_display_info.
3146
3147 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
3148 estimating available memory.
3149
b97439ce 31502008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
3151
3152 * nsterm.m (ns_draw_window_cursor): Don't call
3153 NSDisableScreenUpdates and NSEnableScreenUpdates on
3154 non-NS_IMPL_COCOA systems.
3155
31562008-08-23 Andreas Schwab <schwab@suse.de>
3157
3158 * process.c (procfs_system_process_attributes): Fix use of
3159 uninitialized variables.
3160
31612008-08-23 Eli Zaretskii <eliz@gnu.org>
3162
3163 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
3164
3165 * dispnew.c (init_display): Remove MS-DOS specific conditions for
3166 calling tty-set-up-initial-frame-faces.
3167
b8ff72fa
SM
3168 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
3169 Allow MSDOS frames along with X frames.
aac0c6e3
MR
3170
3171 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
3172 addition to output_termcap.
3173
3174 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
3175
3176 * termchar.h (FRAME_TTY): Support output_msdos_raw.
3177 (struct tty_display_info) [MSDOS]: Add fields related to mouse
3178 highlight.
3179
3180 * process.c [!subprocesses]: Define QCname.
3181 (syms_of_process): Intern and staticpro it.
3182
3183 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
3184 Adjust for changes in encoding/decoding routines.
3185 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
3186 encode_coding and decode_coding.
3187
b8ff72fa 3188 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
3189
3190 * dosfns.c: Include frame.h before termhooks.h.
3191 (dos_cleanup): Use CURTTY ()->termscript instead of a global
3192 variable termscript.
3193
3194 * s/msdos.h (USER_FULL_NAME): Define.
3195 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
3196
3197 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
3198 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
3199 pw->pw_gecos.
3200
3201 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
3202 SELECTED_FRAME as additional (1st) argument.
3203 (tty_read_avail_input): Handle output_msdos_raw in
3204 addition to output_termcap.
3205
3206 * msdos.c: Include frame.h before termhooks.h.
3207 (mouse_on, mouse_off, mouse_moveto, mouse_init)
3208 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
3209 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
3210 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
3211 (IT_set_terminal_modes, IT_reset_terminal_modes)
3212 (IT_set_frame_parameters): Use tty->termscript instead of a global
3213 variable termscript.
3214 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
3215 global variable terminal_coding. Don't refer to
3216 Vnonascii_translation_table.
3217 (internal_terminal_init): Set Vwindow_system in current_kboard.
3218 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
3219 Announce date and time of session start, if termscript is open.
3220 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
3221 term.c:init_tty). Open termscript only of not already open.
3222 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
3223 here instead of dos_ttraw. Don't initialize display if this is an
3224 initial tty. Don't set FRAME_FONT.
3225 (Vwindow_system_version): Bump to 23.
3226 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
3227 is available, set up mouse_position_hook.
3228 (dos_ttraw, IT_set_terminal_modes): If called with initial
3229 terminal, do nothing.
3230 (IT_set_frame_parameters): Handle the Qtty_type frame
3231 parameter by calling internal_terminal_init.
3232 (dos_set_window_size, show_mouse_face)
3233 (clear_mouse_face, IT_note_mode_line_highlight)
3234 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
3235 (dos_rawgetc): Use tty_display_info instead of x_display_info.
3236 (initialize_msdos_display): New function.
3237 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
3238 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
3239 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
3240 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 3241 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
3242 (request_sigio, unrequest_sigio): Don't define, now defined on
3243 sysdep.c.
3244 (IT_write_glyphs): Rewrite to use encode_terminal_code.
3245
3246 * term.c [MSDOS]: Include msdos.h.
3247 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
3248 conditional to DOS_NT. Allow only one call to this function in a
3249 session. Don't allocate a new struct tty_display_info; instead,
3250 reuse the_only_display_info. Call get_tty_size to get screen
3251 dimensions. Call init_baud_rate to set bad_rate.
3252 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
3253 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 3254 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
3255 (get_tty_terminal, get_named_tty, Ftty_type)
3256 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
3257 output_termcap.
b8ff72fa
SM
3258 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
3259 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 3260 only when subprocesses are supported.
aac0c6e3
MR
3261
3262 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
3263 f->output_data.x.
3264 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
3265 terminal devices.
3266
5582fbc7 3267 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
3268 x_output.
3269 (FRAME_FONT): Use output_data.tty.
3270 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
3271 (struct x_display_info): Rename from display_info. Update all users in
3272 msdos.c.
aac0c6e3 3273 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 3274 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
3275 (dos_ttraw): Update prototype.
3276
3277 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
3278 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
3279
32802008-08-23 Jason Rumney <jasonr@gnu.org>
3281
3282 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
3283 (fn_TIFFSetDirectory): New library function used.
3284 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
3285 (tiff_load): Use :index to select among multiple images. Set count
3286 property when multiple images exist.
3287 (gif_format): Use :index, not :image.
3288
32892008-08-23 Chong Yidong <cyd@stupidchicken.com>
3290
3291 * xdisp.c (try_scrolling): Check INT_MAX instead of
3292 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
3293 to obtain INT_MAX.
3294
32952008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
3296
3297 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
3298
32992008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
3300
3301 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
3302 GNUstep library location.
3303
33042008-08-21 Chong Yidong <cyd@stupidchicken.com>
3305
3306 * xfaces.c (x_update_menu_appearance): Check validity of menu font
3307 before using it.
3308
3309 * puresize.h (BASE_PURESIZE): Increase to 1250000.
3310
33112008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3312
3313 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
3314 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
3315 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
3316 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
3317 (EmacsApp-cursor_blink_handler): Remove declaration.
3318 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
3319 match 01 Feb 2008 changes in xterm.c.
3320 (ns_read_socket): Add cast to avoid warning.
3321 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
3322 GNUstep.
3323
33242008-08-20 Chong Yidong <cyd@stupidchicken.com>
3325
3326 * xselect.c (x_get_foreign_selection): Return nil if desired
3327 selection could not be obtained, instead of signalling an error.
3328
33292008-08-20 David Reitter <david.reitter@gmail.com>
3330
3331 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
3332 * nsterm.m: Remove ns-specific code for cursor blinking.
3333 (ns_draw_window_cursor): Clear cursor properly rather than
3334 redrawing the area. Respect width of bar cursors.
3335 These changes enable the use of generic blink-cursor-mode and
3336 generic cursor types in NS and support smooth cursor movements (do
3337 not blink off after command).
3338 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
3339 Nextstep, too.
3340
33412008-08-19 Kenichi Handa <handa@m17n.org>
3342
3343 * font.c (Vfont_log_deferred): New variable.
3344 (font_add_log): Check Vfont_log_deferred.
3345 (font_deferred_log): New function.
3346
3347 * font.h (font_deferred_log): Extern it.
3348
3349 * fontset.c (reorder_font_vector): Use encoding charset of fonts
3350 for sorting.
3351 (face_for_char): Use deferred log.
3352
33532008-08-18 Kenichi Handa <handa@m17n.org>
3354
3355 * fontset.c (face_for_char): Add font log.
3356
3357 * font.c (font_add_log): Add the font properties :script, :lang,
3358 and :otf in the log.
3359
33602008-08-17 Chong Yidong <cyd@stupidchicken.com>
3361
3362 * xdisp.c: Remove dead code.
3363 (handle_invisible_prop, next_overlay_string): Defer call to
3364 setup_for_ellipsis.
3365 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
3366
33672008-08-15 Chong Yidong <cyd@stupidchicken.com>
3368
3369 * xfaces.c (lookup_derived_face): Properly handle possible zero
3370 return value of get_lface_attributes.
3371 (merge_faces): Don't tell lookup_derived_face to signal an error
3372 if face is not found.
3373
3374 * dired.c (Fdirectory_files): Doc fix.
3375
3376 * process.c (make_process): Initialize kill_without_query struct
3377 member.
3378
33792008-08-15 Eli Zaretskii <eliz@gnu.org>
3380
3381 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
3382 Alternative calculation of totphys for Visual Studio 6.
3383
3384 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
3385
3386 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
3387 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
3388 All users changed.
3389 (stat): Only root directory passed to GetDriveType. Allow RAM
3390 disk as well as local fixed disk when w32-get-true-file-attributes
3391 is set to `local'.
3392 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
3393 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
3394 (w32_cached_id, w32_add_to_cache): New functions.
3395 (get_name_and_id): Look account names in the cache before calling
3396 lookup_account_sid.
3397 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
3398 New initialization flags.
3399 (globals_of_w32): Initialize them to zero.
3400 (w32_system_process_attributes): Use w32_cached_id and
3401 w32_add_to_cache.
3402
34032008-08-14 Lawrence Mitchell <wence@gmx.li>
3404
3405 * lread.c (Fread_char, Fread_char_exclusive): If no character
3406 event is read before timeout is reached, return nil, rather than
3407 converting to a number.
3408
34092008-08-14 Chong Yidong <cyd@stupidchicken.com>
3410
3411 * fns.c (use_dialog_box): Doc fix.
3412
3413 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3414 on OS X.
3415
34162008-08-13 Chong Yidong <cyd@stupidchicken.com>
3417
3418 * frame.c (Qns_parse_geometry): New var.
3419 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3420
34212008-08-11 Chong Yidong <cyd@stupidchicken.com>
3422
3423 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3424 space character in calculating tabs.
3425
34262008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3427
3428 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3429
34302008-08-10 Glenn Morris <rgm@gnu.org>
3431
3432 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3433 silence gcc "limited range of data type" warnings in some
3434 make_fixnum_or_float calls.
3435
34362008-08-09 Eli Zaretskii <eliz@gnu.org>
3437
3438 * w32.c (w32_system_process_attributes): If the process does not
3439 exist, return nil.
3440
3441 * w32.c: Include thelp32.h, psapi.h and coding.h.
3442 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3443 declarations.
3444 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3445 (Process32Next_Proc): New typedefs.
3446 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3447 (g_b_init_process32_next, g_b_init_open_thread_token)
3448 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3449 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3450 (g_b_init_get_process_working_set_size)
3451 (g_b_init_global_memory_status_ex): New static variables.
3452 (globals_of_w32): Initialize them.
3453 (create_toolhelp32_snapshot, process32_first, process32_next)
3454 (open_thread_token, impersonate_self, revert_to_self)
3455 (get_process_memory_info, get_process_working_set_size)
3456 (global_memory_status, global_memory_status_ex): New wrapper
3457 functions.
3458 (w32_list_system_processes, w32_system_process_attributes)
3459 (enable_privilege, restore_privilege, ltime, process_times):
3460 New functions.
3461 (convert_time_raw): New function.
3462 (convert_time): Remove conversion of FILETIME into time in 100
3463 nsec units, call convert_time_raw instead.
3464
3465 * process.h (w32_list_system_processes, w32_system_process_attributes):
3466 Add prototypes.
3467 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3468 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3469 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3470 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3471
3472 * process.c (Fsystem_process_attributes): Doc fix.
3473
34742008-08-08 Chong Yidong <cyd@stupidchicken.com>
3475
3476 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3477 a continued multi-char glyph; if so, advance to the actual glyph.
3478
34792008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3480
3481 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3482
3483 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3484 (.m.o): Use it.
3485 * config.in: Regenerate.
3486
34872008-08-07 Chong Yidong <cyd@stupidchicken.com>
3488
3489 * xdisp.c (redisplay_window): Revert last change.
3490 (try_window): Check bottom scroll margin too.
3491
34922008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3493
3494 * config.in: Regenerate.
3495
3496 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3497 -list-load-path-shadows'.
3498 (nsgui.h): Reduce number of things depending on it.
3499
35002008-08-06 Chong Yidong <cyd@stupidchicken.com>
3501
3502 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3503 instead of window-end which does the wrong thing at eob.
3504 (try_cursor_movement): Minor optimization.
3505 (redisplay_window): If scroll margin is defined, don't assume
3506 window doesn't need scrolling.
3507
35082008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3509
3510 * config.in: Regenerate.
3511
3512 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3513 (mostlyclean): Don't delete *.d under NS.
3514
3515 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3516
35172008-08-06 Kenichi Handa <handa@m17n.org>
3518
3519 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3520
35212008-08-06 Andreas Schwab <schwab@suse.de>
3522
3523 * config.in: Regenerate.
3524
35252008-08-05 Chong Yidong <cyd@stupidchicken.com>
3526
3527 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3528 forcing a window start.
3529
3530 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3531 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3532
35332008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3534
3535 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3536 argument.
3537
35382008-08-05 Juanma Barranquero <lekktu@gmail.com>
3539
3540 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3541 <scroll-down-aggressively, before-change-functions>:
3542 <after-change-functions>: Reflow docstrings.
3543
35442008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3545 Ken Raeburn <raeburn@gnu.org>
3546
3547 Dock menu customization, based on a patch by Ken Raeburn, plus some
3548 other fixes.
3549 * nsmenu.m (dockMenu): New variable.
3550 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3551
3552 * nsterm.h (dockMenu): Declare.
3553
3554 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3555 (ns_term_init): Initialize dockMenu.
3556 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3557 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3558 left.
3559
3560 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3561
35622008-08-04 Chong Yidong <cyd@stupidchicken.com>
3563
3564 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3565
3566 * config.in: Regenerate.
3567
35682008-08-04 Seiji Zenitani <zenitani@mac.com>
3569
3570 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3571
35722008-08-04 Chong Yidong <cyd@stupidchicken.com>
3573
3574 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3575
35762008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3577
3578 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3579
3580 * keyboard.h: Comment an #endif.
3581
3582 * lisp.h (have_menus_p): Adjust comment.
3583
3584 * menu.c (find_and_return_menu_selection): Fix comparison with
3585 client_data.
3586
3587 * nsmenu.m (popup_activated_flag): New variable.
3588 (popup_activated): New function.
3589 (menu-or-popup-active-p): New exported lisp definition.
3590 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3591 when popup done.
3592 (ns_popup_dialog): Set popup_activated_flag.
3593
3594 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3595 version for GNUstep (handled by conditional typedef in nsterm.m).
3596 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3597 in rgb.txt).
3598
3599 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3600
3601 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3602
3603 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3604
3605 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3606 shortcircuit if popup_activated like GTK and X toolkit.
3607
3608 * m/inter386.h: Change DARWIN to DARWIN_OS.
3609
3610 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3611 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3612 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3613 comment on NO_SOCK_SIGIO.
3614
36152008-08-03 Chong Yidong <cyd@stupidchicken.com>
3616
3617 * nsterm.m (windowDidResize): Remove stopModal call.
3618
36192008-08-03 Andreas Schwab <schwab@suse.de>
3620
3621 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3622 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3623
36242008-08-02 Chong Yidong <cyd@stupidchicken.com>
3625
3626 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3627 Don't use uninitialized pointer variable when using getrlimit.
3628
36292008-08-02 Jason Rumney <jasonr@gnu.org>
3630
3631 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3632
36332008-08-02 Eli Zaretskii <eliz@gnu.org>
3634
3635 * alloc.c (NSTATICS): Bump to 0x640.
3636
3637 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3638
3639 * lisp.h: Add prototype for directory_files_internal.
3640
3641 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3642 New functions.
3643 (syms_of_process): Defsubr them. Add initializations for various
3644 Q* symbols used in procfs_system_process_attributes.
3645 (procfs_list_system_processes, procfs_system_process_attributes)
3646 [HAVE_PROCFS]: New functions.
3647 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3648 (procfs_get_total_memory): New functions.
3649
36502008-08-01 Juanma Barranquero <lekktu@gmail.com>
3651
3652 * xfaces.c (Fx_load_color_file): Fix previous change;
3653 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3654
36552008-08-01 Michael Albinus <michael.albinus@gmx.de>
3656
3657 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3658
36592008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3660
3661 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3662
36632008-08-01 Chong Yidong <cyd@stupidchicken.com>
3664
3665 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3666
3667 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3668 define NSApplicationDelegateReplySuccess.
3669 (EmacsView -converstationIdentifier): Use long instead of
3670 NSInteger for GNUstep, since it doesn't have NSInteger.
3671
3672 * xmenu.c: Revert last change.
3673
3674 * keyboard.h: Fix last change.
3675
36762008-08-01 Juanma Barranquero <lekktu@gmail.com>
3677
3678 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3679 on Windows.
3680
36812008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3682
3683 Warning clearing and clean-up in NS port.
3684 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3685 Add prototypes.
3686 * nsgui.h (FACE_DEFAULT): Remove, unused.
3687 (XGCValues): Change colors to unsigned long.
3688 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3689 nsterm.m.
3690 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3691 (ns_list_fonts): Remove, unused.
3692 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3693 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3694 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3695 (nsfont_draw): Compare face colors to 0, not nil.
3696 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3697 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3698 (-addSubmenuWithTitle:): Use NSMenuItem class.
3699 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3700 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3701 (ns_clip_to_row): Make gc arg a BOOL.
3702 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3703 ns_clip_to_row() call.
3704 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3705 used). Cast FRAME_FONT assignments.
3706 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3707 (ns_string_to_lispmod): Change arg to const char.
3708 (ns_term_init): Use NSMenuItem class.
3709 (EmacsApp -openFile:): Move to different section of file.
3710 (EmacsApp -application:openFiles:): Don't return a value, call
3711 -replyToOpenOrPrint:.
3712 (EmacsView -keyDown:): Fix up cast.
3713 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3714 (EmacsView -menuDown:): Cast tag in call to
3715 find_and_call_menu_selection().
3716 (ns_list_fonts): Remove, unused.
3717 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3718 (ns_fontname_to_xlfd): Make static.
3719 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3720 Remove prototypes (now in keyboard.h).
3721 (next_menubar_widget_id): Remove, unused.
3722 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3723 Remove prototypes (now in keyboard.h).
3724 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3725
37262008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3727
3728 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3729 (floatfns.o): Depend on syssignal.h.
3730 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3731
3732 * systty.h: Fix previous change that removed BSD_TERMIOS.
3733 Add comments to #ifdefs.
3734
37352008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3736
3737 * w32fns.c (w32-load-color-file): Remove.
3738 (x-open-connection): Use renamed Fx_load_color_file.
3739 * xfaces.c (x-load-color-file): Add.
3740 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3741 Emacs.clr.
3742 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3743
37442008-07-31 Michael Albinus <michael.albinus@gmx.de>
3745
3746 * dbusbind.c (Fdbus_call_method_asynchronously)
3747 (Fdbus_method_error_internal): New defuns.
3748 (xd_read_message): Handle also reply messages.
3749 (Vdbus_registered_functions_table): Extend docstring.
3750
37512008-07-31 Juanma Barranquero <lekktu@gmail.com>
3752
3753 * keyboard.c (gobble_input): Fix previous change.
3754
37552008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3756
3757 * bitmaps/README:
3758 * xfns.c:
3759 * termcap.c:
3760 * term.c:
3761 * syswait.h:
3762 * systty.h:
3763 * systime.h:
3764 * syssignal.h:
3765 * sysdep.c:
3766 * process.h:
3767 * process.c:
3768 * print.c:
3769 * ndir.h:
3770 * lread.c:
3771 * keyboard.c:
3772 * getpagesize.h:
3773 * floatfns.c:
3774 * fileio.c:
3775 * emacs.c:
3776 * doc.c:
3777 * dispnew.c:
3778 * dired.c:
3779 * data.c:
3780 * callproc.c:
3781 * buffer.c:
3782 * README:
3783 * Makefile.in:
3784 * s/template.h:
3785 * s/msdos.h:
3786 * m/vax.h: Remove VMS support.
3787 * s/vms.h:
3788 * vlimit.h:
3789 * uaf.h:
3790 * temacs.opt:
3791 * param.h:
3792 * ioctl.h: Remove file.
3793
37942008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3795
3796 * s/ms-w32.h (MULTI_KBOARD): Remove.
3797 * xterm.c:
3798 * xselect.c:
3799 * xfns.c:
3800 * window.c:
3801 * w32term.c:
3802 * w32fns.c:
3803 * terminal.c:
3804 * termhooks.h:
3805 * term.c:
3806 * sysdep.c:
3807 * keyboard.h:
3808 * keyboard.c:
3809 * frame.h:
3810 * frame.c:
3811 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3812 * config.in: Regenerate.
3813
38142008-07-30 Jason Rumney <jasonr@gnu.org>
3815
3816 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3817
3818 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3819 (w32font_open_internal): Get unicode version of textmetrics.
3820 Don't enable or disable glyph indices here.
3821 (w32font_open): Disable use of glyph indices.
3822
3823 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3824
38252008-07-30 Chong Yidong <cyd@stupidchicken.com>
3826
3827 * minibuf.c (Vread_buffer_function): Doc fix.
3828
38292008-07-30 John Paul Wallington <jpw@pobox.com>
3830
3831 * minibuf.c (read_buffer_completion_ignore_case): New var.
3832 (Fread_buffer): Use it.
3833
38342008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3835
3836 * systty.h (sensemode): Remove empty #if. Remove reference to
3837 BSD_TERMIOS, unused.
3838
3839 * sysdep.c: Remove reference to DGUX.
3840 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3841
3842 * config.in: Regenerate.
3843
38442008-07-30 Jason Rumney <jasonr@gnu.org>
3845
3846 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3847
38482008-07-29 Jason Rumney <jasonr@gnu.org>
3849
3850 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3851 is populated.
3852 (uniscribe_encode_char): Always use uniscribe.
3853 Avoid using context if cache is populated.
3854
38552008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3856
3857 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3858 open menu.
3859
3860 * gtkutil.c (menu_nav_ended): Remove.
3861 (create_menus): Remove signal connect for menu_nav_ended.
3862
38632008-07-28 Chong Yidong <cyd@stupidchicken.com>
3864
3865 * xdisp.c (redisplay_window): Check return value of
3866 compute_window_start_on_continuation_line before forcing a window
3867 start.
3868
38692008-07-28 Jason Rumney <jasonr@gnu.org>
3870
3871 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3872
3873 * w32term.c (w32_enable_unicode_output, cleartype_active):
3874 Remove obsolete display options.
3875 (x_draw_glyph_string_background): Don't use old cleartype_active
3876 workaround.
3877 (w32_initialize): Remove cleartype_active initialization.
3878 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3879
38802008-07-28 Andreas Schwab <schwab@suse.de>
3881
3882 * lisp.h (init_weak_hash_tables, syms_of_font)
3883 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3884 (remove_hash_entry): Don't declare.
3885 * eval.c (maybe_call_debugger): Make static and move before use.
3886 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3887 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3888 * xterm.h (x_set_frame_alpha): Declare.
3889
38902008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3891
3892 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3893 (create_menus): Connect selection-done to menu_nav_ended.
3894
38952008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3896
3897 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3898 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3899 parameter with read of 'alpha' one.
3900 (Qns_frame_parameter): Remove.
5582fbc7 3901 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3902 (next-selection-coding-system, Vselection_coding_system)
3903 (Vnext_selection_coding_system): Drop.
3904
39052008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3906
3907 * nsfns.m (do-applescript, do_applescript): Rename to
3908 ns-do-applescript, ns_do_applescript, and move within file.
3909
39102008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3911
3912 Remove support for Mac Carbon.
3913 * mactoolbox.c:
3914 * macterm.h:
3915 * macterm.c:
3916 * macselect.c:
3917 * macmenu.c:
3918 * macgui.h:
3919 * macfns.c:
3920 * mac.c: Remove file.
3921 * s/darwin.h:
3922 * m/intel386.h:
3923 * xfaces.c:
3924 * xdisp.c:
3925 * window.c:
3926 * tparam.c:
3927 * termhooks.h:
3928 * termcap.c:
3929 * term.c:
3930 * syssignal.h:
3931 * sysselect.h:
3932 * sysdep.c:
3933 * process.c:
3934 * lread.c:
3935 * lisp.h:
3936 * keyboard.c:
3937 * image.c:
3938 * fringe.c:
3939 * frame.h:
3940 * frame.c:
3941 * fontset.c:
3942 * font.h:
3943 * font.c:
3944 * fns.c:
3945 * fileio.c:
3946 * emacs.c:
3947 * dispnew.c:
3948 * dispextern.h:
3949 * config.in:
3950 * atimer.c:
2ae37cf0 3951 * Makefile.in: Remove code for Carbon.
aac0c6e3 3952
f0131492 39532008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3954
3955 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3956
39572008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3958
3959 * macterm.h (kCGBitmapByteOrder32Host): New define for
3960 non-universal SDKs.
3961
3962 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3963 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3964
3965 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3966 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3967
39682008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3969
3970 * w32inevt.c: Include dispextern.h.
3971
39722008-07-26 Andreas Schwab <schwab@suse.de>
3973
3974 * print.c (print_object): Fix off-by-one in last change.
3975
39762008-07-25 Juanma Barranquero <lekktu@gmail.com>
3977
3978 * term.c (syms_of_term): Don't initialize default_orig_pair,
3979 default_set_foreground and default_set_background on Windows.
3980
39812008-07-25 Jason Rumney <jasonr@gnu.org>
3982
3983 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3984 ScriptItemize. Clean up return value checking. Remove unused
3985 variables.
3986 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3987 shaping engine.
3988
3989 * w32font.c (w32font_has_char): Handle the case where we can't
3990 determine the script for a character.
3991
39922008-07-25 Chong Yidong <cyd@stupidchicken.com>
3993
3994 * term.c (syms_of_term): Initialize default_orig_pair,
3995 default_set_foreground, and default_set_background.
3996
3997 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3998 clash (bug#86).
3999 (getloadavg): Callers changed.
4000
4001 * image.c (svg_load_image): Fix last change.
4002 (svg_load_image): Use rsvg_handle_get_dimensions to check that
4003 image size is valid. Use g_object_unref instead of deprecated
4004 rsvg_handle_free to free rsvg handle.
4005 (x_from_xcolors): Don't initialize pixmap (silence compiler).
4006
40072008-07-25 Jason Rumney <jasonr@gnu.org>
4008
4009 * w32font.c (w32font_encode_char): Encode characters outside BMP as
4010 surrogates before looking up glyph index.
4011 (w32font_text_extents): Encode as surrogates if falling back to
4012 functions that need UTF-16 wide chars.
4013
4014 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
4015 BMP as surrogates before looking up glyph index.
4016
40172008-07-25 Chong Yidong <cyd@stupidchicken.com>
4018
4019 * image.c (svg_load_image): Check for failure in return value of
4020 rsvg_handle_get_pixbuf. Free rsvg handle when done.
4021
40222008-07-25 Jason Rumney <jasonr@gnu.org>
4023
4024 * w32font.c (Fx_select_font): Reverse sense of second arg.
4025
40262008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
4027
4028 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
4029 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
4030
4031 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
4032 (PURESIZE): Use it.
4033
40342008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
4035
4036 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
4037 * m/alpha.h (TEXT_END):
4038 * m/ibmrs6000.h (TEXT_END):
4039 * m/macppc.h (TEXT_END):
4040 * s/darwin.h (TEXT_END):
4041 * s/msdos.h (TEXT_END): Remove, unused.
4042 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
4043 * s/cygwin.h: Remove comment.
4044
4045 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
4046 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
4047 * m/intel386.h (DOT_GLOBAL_START):
4048 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
4049 (USG): Remove, file not used on USG platforms.
4050
4051 * Makefile.in (HAVE_X11): Remove empty #else.
4052
40532008-07-24 Andreas Schwab <schwab@suse.de>
4054
4055 * fileio.c (Finsert_file_contents): Properly adjust undo list
4056 after format conversion.
4057
40582008-07-24 Jan Djärv <jan.h.d@swipnet.se>
4059
4060 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
4061 (menu_nav_ended): Remove.
4062 (create_menus): Remove signal connect for menu_nav_ended.
4063 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
4064 create_menus.
4065 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
4066
40672008-07-23 Jason Rumney <jasonr@gnu.org>
4068
4069 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
4070 with opened font.
4071 (w32font_open): Set font type to gdi.
4072
4073 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
4074
40752008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
4076
4077 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
4078 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
4079 defines it.
4080 * unexec.c (ADDR_CORRECT): Define unconditionally.
4081
4082 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
4083
4084 * unexec.c: Remove code depending on !COFF and USG, the file is
4085 not used for such systems.
4086
4087 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
4088 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
4089 (LD_SWITCH_SYSTEM_1): Remove, update users.
4090
4091 * s/darwin.h (DATA_END):
4092 * m/intel386.h (DATA_END):
4093 * m/ibmrs6000.h (DATA_END):
4094 * m/alpha.h (DATA_END): Remove, unused.
4095
4096 * config.in: Regenerate.
4097 * s/ms-w32.h (subprocesses): Define unconditionally.
4098 * s/template.h (subprocesses): Update comment.
4099 * s/vms.h (subprocesses):
4100 * s/usg5-4.h (subprocesses):
4101 * s/hpux10-20.h (subprocesses):
4102 * s/gnu-linux.h (subprocesses):
4103 * s/cygwin.h (subprocesses):
4104 * s/bsd-common.h (subprocesses):
4105 * s/aix4-2.h (subprocesses):
4106 * s/darwin.h (subprocesses): Do not define, defined by default now.
4107
4108 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
4109 Remove all references.
4110 (temacs): Add GNUstep specific ld flags.
4111
4112 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
4113 similarly to what X does.
4114
41152008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4116
4117 * nsfns.m (x-list-fonts): Remove.
4118 (syms_of_nsfns): Drop the x-list-fonts declaration.
4119 * nsterm.m: Get rid of remaining "//" comments.
4120
41212008-07-22 Chong Yidong <cyd@stupidchicken.com>
4122
4123 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
4124
4125 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
4126 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
4127 (Fns_own_selection_internal, Fx_disown_selection_internal)
4128 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
4129
4130 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
4131 ... */' style of docstrings. Doc fixes.
4132
41332008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4134
4135 * terminfo.c (UP, BC, PC): Undo previous change.
4136
4137 * nsfns.m: Rename ns prefixed functions/variables to the
4138 corresponding x versions. Update references.
4139
41402008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
4141
4142 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
4143
41442008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
4145
4146 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
4147 Remove forwarding functions.
4148 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
4149 non-static.
4150 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
4151 non-static.
4152 (ns_frame_parm_handlers): Use the new names.
4153 (syms_of_nsfns): Move to the end of file.
4154
4155 * nsterm.m (syms_of_nsterm): Move to the end of file.
4156
4157 * dispnew.c (init_display): Remove code for X10.
4158
41592008-07-22 Jason Rumney <jasonr@gnu.org>
4160
4161 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
4162 bare drive.
4163
41642008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
4165
4166 * nsterm.m (syms_of_nsterm): Remove debugging println.
4167
41682008-07-22 David Reitter <david.reitter@gmail.com>
4169
4170 * nsfns.m (do_applescript, F_do_applescript): NS version of the
4171 Carbon implementation of the same functionality: execute arbitrary
4172 AppleScript code.
4173
41742008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
4175
4176 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
4177 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
4178 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
4179 (Fx_display_mm_height, Fx_display_mm_width)
4180 (Fx_display_backing_store, Fx_display_visual_class)
4181 (Fx_display_save_under, Fx_open_connection)
4182 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
4183 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
4184 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4185 (Fx_display_pixel_width, Fx_display_pixel_height)
4186 (Fx_display_usable_bounds, Fx_display_planes)
4187 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
4188 ... */' style of docstrings.
4189
41902008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
4191
4192 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
4193 on this platform.
4194 (mips):
4195 * m/iris4d.h (mips): Do not define.
4196 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
4197
4198 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
4199
4200 * image.c:
4201 * nsfns.m:
4202 * nsselect.m:
4203 * nsterm.h:
4204 * nsterm.m: Rename ns prefixed functions/variables to the
4205 corresponding x versions. Update references.
4206
4207 * m/ibms390x.h (NO_REMAP): Do not undefine.
4208
4209 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
4210
42112008-07-21 Chong Yidong <cyd@stupidchicken.com>
4212
4213 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
4214 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
4215 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
4216 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
4217 (Fns_display_mm_height, Fns_display_mm_width)
4218 (Fns_display_backing_store, Fns_display_visual_class)
4219 (Fns_display_save_under, Fns_open_connection)
4220 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
4221 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
4222 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
4223 (Fns_display_pixel_width, Fns_display_pixel_height)
4224 (Fns_display_usable_bounds, Fx_display_planes)
4225 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
4226
42272008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
4228
4229 * print.c (print_object): Check print_depth before searching for
4230 circularities.
4231
42322008-07-21 Michael Albinus <michael.albinus@gmx.de>
4233
4234 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
4235 only sprintf.
4236
42372008-07-21 Kenichi Handa <handa@m17n.org>
4238
4239 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
4240
42412008-07-20 Andreas Schwab <schwab@suse.de>
4242
4243 * syntax.c (find_start_pos, find_start_value)
4244 (find_start_value_byte, find_start_begv, find_defun_start)
4245 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
4246
42472008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4248
4249 * s/sol2-3.h: Insert contents of s/sol2.h.
4250 (LD_SWITCH_SYSTEM): Remove redundant definition.
4251 * s/sol2.h: Remove, unused.
4252
42532008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4254
4255 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
4256
42572008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
4258
4259 * Makefile.in (ns_appdir): Fix typo in find command.
4260
42612008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
4262
4263 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
4264
4265 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
4266 added not supported anymore.
4267
4268 * s/usg5-4-2.h (LIBS_SYSTEM):
4269 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
4270
4271 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4272 * s/lynxos.h (GETPGRP_NO_ARG):
4273 * s/hpux10-20.h (NO_SIOCTL_H):
4274 * s/gnu.h (GETPGRP_NO_ARG):
4275 * s/gnu-linux.h (NO_SIOCTL_H):
4276 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
4277 * s/cygwin.h (GETPGRP_NO_ARG):
4278 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
4279 (C_DEBUG_SWITCH): Remove duplicate definition.
4280
4281 * m/ibms390.h: Remove boilerplate comments.
4282
4283 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
4284
4285 * process.c (HAVE_SERIAL): Consolidate ifdefs.
4286 (wait_reading_process_output): Remove code for SunOS, platform not
4287 supported anymore. Use SOLARIS2 instead of sun.
4288
42892008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4290
4291 * font.c (font_open_by_name): Under NS, default lface height to zero.
4292 (font_open_for_lface): Under NS, set size based on frame fontsize.
4293 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
4294 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
4295
42962008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4297
4298 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
4299 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
4300 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
4301 YES/NO.
4302 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
4303 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
4304 * Makefile.in (clean): Clear out build destination dir.
4305
43062008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4307
4308 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
4309 xterm, xselect.
4310 * lisp.h: Remove declaration of hash_remove.
4311 * nsgui.h: Remove redefinitions of hash_remove.
4312 * fns.c (hash_remove): Rename to hash_remove_from_table.
4313
43142008-07-19 Seiji Zenitani <zenitani@mac.com>
4315
4316 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
4317 strdup() the family UTF8String before modifying it.
4318
43192008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
4320
4321 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
4322 NS_FACE_BACKGROUND with 0 instead of nil.
4323 * nsfont.m (nsfont_draw): Same.
4324
43252008-07-19 Chong Yidong <cyd@stupidchicken.com>
4326
4327 * nsfns.m (ns_set_background_color): Fix crash.
4328
43292008-07-18 Chong Yidong <cyd@stupidchicken.com>
4330
4331 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
4332
43332008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
4334
4335 * puresize.h (BASE_PURESIZE): Increase to 1240000.
4336
43372008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4338
4339 * gtkutil.c: Include <config.h> instead of "config.h".
4340
4341 * lisp.h (Foverlay_buffer): Add EXFUN.
4342
4343 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
4344 child process to complete child_setup. Undo 2005-09-21 change.
4345
4346 * s/darwin.h: Mention setsid after vfork.
4347
43482008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4349
4350 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
4351 Depend on macgui.h.
4352
4353 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
4354 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
4355
4356 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
4357 and f19.
4358 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
4359
4360 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
4361 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
4362 Remove enumerators.
4363
4364 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
4365 Check if FACE_FROM_ID returns NULL.
4366
43672008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
4368
4369 * w32inevt.c (change_frame_size): Remove extern declaration.
4370 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
4371 change_frame_size.
4372
43732008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4374
4375 * getloadavg.c: Revert last change (2008-07-15).
4376
43772008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4378
4379 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
4380 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
4381 from configure.
4382
43832008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
4384
4385 * s/sol2.h:
4386 * s/sol2-4.h: Reorganize conditionals.
4387
4388 * ecrt0.c: Remove code depending on m68000, not used anymore.
4389
4390 * fns.c (hash_remove): Make static.
4391 * lisp.h (hash_remove): Don't prototype.
4392
4393 * m/ibmrs6000.h:
4394 * m/ibms390x.h:
4395 * m/macppc.h: Remove boilerplate comments.
4396
4397 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
4398 Solaris, which does not need them.
4399
4400 * m/vax.h: Remove comments about unsupported systems.
4401
4402 * s/darwin.h: Reorganize ifdefs.
4403
44042008-07-17 Andreas Schwab <schwab@suse.de>
4405
4406 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
4407
44082008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
4409
4410 Use SDATA. Follow coding convention of placing operators at
4411 beginning of next line rather than end of previous line, and placing
4412 spaces around infix operators.
4413
4414 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4415 in case it was defined already.
4416 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4417 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4418 ns_default.
4419 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4420 Lisp_Objects.
4421 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4422 (ns_defined_color, ns_color_to_lisp): Declare.
4423 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4424 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4425 it's accepted even with USE_LISP_UNION_TYPE.
4426 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4427 (update_frame_tool_bar): Remove apparently obsolete tests for
4428 non-integerness of f->tool_bar_lines.
4429 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4430 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4431 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4432 (nsfont_open): Don't confuse NULL for Qnil.
4433 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4434 * menu.h (find_and_call_menu_selection):
4435 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4436 (find_and_return_menu_selection): Always return something.
4437 * frame.h: Include dispextern.h for Display_Info.
4438 (display_x_get_resource): Declare.
4439
44402008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4441
4442 * syntax.c: Remove stdio.h include accidentally introduced in
4443 Emacs.app commit.
4444 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4445 NS_IMPL_COCOA.
4446 * keyboard.c (handle_async_input, input_available_signal): Remove
4447 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4448
44492008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4450
4451 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4452 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4453 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4454 Use SDATA.
4455
4456 * keymap.c: Remove all NS-specific code.
4457 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4458 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4459 where_is_preferred_modifier, return a different value depending on how
4460 preferred is the binding.
4461 (where_is_internal): Adjust accordingly.
4462 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4463 Adjust to new preferred_sequence_p.
4464 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4465 * keyboard.c (parse_solitary_modifier): Not static any more.
4466 * keyboard.h (parse_solitary_modifier): Declare.
4467
44682008-07-16 Andreas Schwab <schwab@suse.de>
4469
4470 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4471 of easymenu.
4472
44732008-07-16 Chong Yidong <cyd@stupidchicken.com>
4474
4475 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4476 that we don't move off the line.
4477
44782008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4479
4480 * keyboard.c (Qsuper): Remove.
4481 (parse_menu_item): Don't call where_is_internal specially for NS.
4482
44832008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4484
4485 * s/gnu-linux.h: Remove boilerplate comments.
4486
4487 * m/alpha.h (__ELF__): Consolidate conditions.
4488
4489 * m/m68k.h (linux): Use GNU_LINUX instead.
4490 Remove boilerplate comments.
4491
4492 * m/intel386.h: Undo refactoring from previous change.
4493 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4494 too, remove dead code.
4495 (linux): Use GNU_LINUX instead.
4496
44972008-07-16 Jason Rumney <jasonr@gnu.org>
4498
4499 * w32gui.h: Repeat 26 June changes lost by last change.
4500
45012008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4502
4503 * systty.h: Remove code for Aix on 386, unsupported platform.
4504
4505 * s/ms-w32.h: Remove boilerplate comments.
4506 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4507
4508 * s/gnu-linux.h (TERM): Remove support.
4509 (HAVE_SYSVIPC): Remove, unused.
4510 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4511 for this system.
4512
4513 * process.c: Remove support for IRIS, unused.
4514 Remove support for TERM, not relevant anymore.
4515
4516 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4517 used with the definition.
4518
4519 * s/aix4-2.h (static): Do not undef.
4520
4521 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4522 only used on Aix.
4523 (HAVE_SYSVIPC): Remove, unused.
4524
4525 * m/hp800.h (CANNOT_DUMP): Do not undef.
4526
4527 * m/alpha.h: Fix comment.
4528
4529 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4530 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4531 used by this configuration.
4532 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4533 * unexec.c: Remove code depending on HPUX and
4534 USG_SHARED_LIBRARIES, not used with this file. Remove code
4535 depending on IRIS, unused. Remove if 0-ed code.
4536
4537 * s/template.h: Remove comments about static.
4538
4539 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4540 Remove if 0-ed code.
4541 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4542 were the same as the default.
4543 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4544 Remove boilerplate comments.
4545 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4546 (HAVE_SYSVIPC): Remove, unused.
4547 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4548
4549 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4550 Remove boilerplate comments.
4551 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4552 Remove boilerplate comments.
4553 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4554 Remove boilerplate comments.
4555 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4556
4557 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4558 USG systems which do not use DATA_SEG_BITS.
4559 Refactor code. Remove boilerplate comments.
4560
4561 * m/ibms390.h:
4562 * m/m68k.h:
4563 * s/bsd-common.h:
4564 * s/cygwin.h:
4565 * s/darwin.h:
4566 * s/freebsd.h:
4567 * s/gnu.h:
4568 * s/msdos.h: Remove boilerplate comments.
4569
4570 * m/iris4d.h: Remove boilerplate comments and code for systems that
4571 do not use this file.
4572 (IRIS_4D): Remove, unused.
4573
4574 * m/mips.h: Remove boilerplate comments and code for systems that
4575 do not use this file.
4576 (SIGN_EXTEND_CHAR):
4577 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4578 * unexmips.c: Remove file, unused.
4579
4580 * editfns.c (Fuser_full_name): Replace the only use of
4581 USER_FULL_NAME with its value.
4582 * config.in: Regenerate.
4583
45842008-07-16 David Reitter <david.reitter@gmail.com>
4585
4586 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4587 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4588
45892008-07-16 Glenn Morris <rgm@gnu.org>
4590
4591 * emacs.c (system-type): Doc fix.
4592
45932008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4594
4595 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4596 If the cache doesn't work, let's fix it, rather than work around it.
4597
45982008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4599
4600 * Makefile.in: Correct additions for nsfont.o in last commit.
4601 * nsfont.m: New file (forgot last commit).
4602
46032008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4604
4605 * callproc.c (set_initial_environment): Initialize
4606 Vprocess_environment under CANNOT_DUMP (fixes crash when
4607 batch-compiling for bootstrap).
4608
46092008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4610 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4611
4612 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4613 fix crash due to different init order.
4614
46152008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4616
4617 Changes and additions for NeXTstep windowing system (Cocoa and
4618 GNUstep) support.
4619
4620 * Makefile.in:
4621 * config.in: Support defines and build commands for NS port.
4622 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4623 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4624 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4625 windowing.
4626 (struct face): Add synth_ital field.
4627 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4628 (init_display): Initialize Vinitial_window_system to "ns" when so
4629 compiled.
4630 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4631 (display_arg): Use under NS.
4632 (main): Under NS, allocate autorelease pool and handle command line
4633 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4634 (standard_args): Add NS-specific args.
4635 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4636 * font.c (DEFAULT_ENCODING): New variable.
4637 (font_find_for_lface): Use it.
4638 (syms_of_font): Load syms_of_nsfont under NS.
4639 * font.h: Declare nsfont_driver when compiled under NS.
4640 * fontset.c: When compiling under NS, include nsterm.h.
4641 (fontset_from_font): Autoconstruct fontset under NS.
4642 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4643 symbol, document and use it.
4644 (do_switch_frame): When for_deletion under Cocoa, add
4645 Fraise_frame(Qnil).
4646 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4647 (x_get_arg): Allow "yes" and "no" as boolean values.
4648 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4649 Qright under Cocoa.
4650 (focus-follows-mouse): Default to 0 under NS.
4651 * frame.h (enum output_method): Add output_ns.
4652 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4653 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4654 (FRAME_WINDOW_P): NS-specific definition.
4655 * fringe.c (max_used_fringe_bitmap): Make public.
4656 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4657 (getloadavg): Use NeXT code under descendant OS's.
4658 * image.c (includes and header section, x_create_bitmap_from_data)
4659 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4660 (image_background_transparent, x_clear_image_1)
4661 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4662 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4663 (x_to_xcolors, x_from_xcolors, x_disable_image)
4664 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4665 other GUIs, including XPM support using code originally written for
4666 Carbon GUI.
4667 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4668 using NS API.
4669 (image_ascent): Use font metrics macros instead of direct struct field
4670 access.
4671 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4672 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4673 Also, handle NS as GTK for menu bar purposes.
4674 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4675 toolkit where they differ.
4676 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4677 use cachelist, still needed under NS.
4678 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4679 (struct widget_value): Define it here for menu.c.
4680 * keymap.c (includes): Include modifier internals.
4681 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4682 NS.
4683 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4684 support for preferring sequences using certain modifiers, specified by
4685 the FIRSTONLY argument.
4686 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4687 under NS GNUstep implementation.
4688 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4689 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4690 * menu.c: Include nsterm.h under NS.
4691 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4692 (free_menubar_widget_tree_value, update_submenu_strings)
4693 (find_and_call_menu_selection): Treat NS as X and NT.
4694 (find_and_return_menu_selection): New function, used for popup menus.
4695 * nsgui.h:
4696 * nsterm.h:
4697 * nsfns.m:
4698 * nsimage.m:
4699 * nsmenu.m:
4700 * nsselect.m:
4701 * nsterm.m: New files.
4702 * process.c (wait_reading_process_output): Under NS, call ns_select()
4703 instead of plain select().
4704 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4705 beginning of buffer.
4706 * sysselect.h (init_process): Rename when compiling under Cocoa to
4707 avoid name conflict.
4708 * termhooks.h (display_info): Add ns_display_info to union.
4709 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4710 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4711 COCOA environment.
4712 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4713 unexec() signature. (Note, this will dump, but the resulting file
4714 crashes; unexosx is used instead; keeping around for reference and
4715 possible aid in getting dump working under GNUstep.)
4716 * w32gui.h (button_type, widget_value): Remove definitions (now in
4717 keyboard.h).
4718 * window.c: Include nsterm.h when compiling under NS.
4719 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4720 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4721 other GUI windowing systems.
4722 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4723 GTK.
4724 (x_consider_frame_title): Under NS, set icon type and frame
4725 modified-state indicator; use ns_set_name_as_filename() when using
4726 formatted title.
4727 (update_window_cursor): Make public when compiling under NS.
4728 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4729 (hourglass_atimer, Vhourglass_delay
4730 * xfaces.c (header section, init_frame_faces, clear_font_table)
4731 (defined_color, unload_color, x_face_list_fonts)
4732 (prepare_face_for_display): Add NS support parallel to other GUIs.
4733 Emulate GCs like other non-X GUIs.
4734 (split_font_name): Don't lowercase font name under NS.
4735 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4736 under NS.
4737 * s/darwin.h: Add support for compilation under NS.
4738
47392008-07-15 Jason Rumney <jasonr@gnu.org>
4740
4741 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4742 (w32_show_hourglass): Rename from show_hourglass.
4743 (w32_hide_hourglass): Rename from hide_hourglass.
4744 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4745 (Vhourglass_delay): Declare extern.
4746 (hourglass_started): Remove.
4747
4748 * xdisp.c (Vhourglass_delay): Remove static.
4749 (hourglass_started, start_hourglass, cancel_hourglass):
4750 Don't include these versions on WINDOWSNT.
4751
47522008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4753
4754 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4755 variables (formerly in xfns.c).
4756 (show_hourglass, hide_hourglass): New prototypes (same).
4757 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4758 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4759 in xfns.c).
4760 (syms_of_xdisp): Declare/initialize display-hourglass,
4761 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4762 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4763 formerly in xfns.c.
4764 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4765 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4766 (start_hourglass, cancel_hourglass): Remove.
4767 (show_hourglass, hide_hourglass): Remove prototypes and static
4768 modifiers.
4769 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4770 hourglass_atimer, hourglass_shown_p declaration/initialization.
4771 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4772 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4773 (start_hourglass, cancel_hourglass): Remove.
4774 (show_hourglass, hide_hourglass): Remove prototypes and static
4775 modifiers.
4776 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4777 hourglass_atimer, hourglass_shown_p declaration/initialization.
4778 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4779 (DEFAULT_HOURGLASS_DELAY): Remove.
4780 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4781 hourglass_shown_p declaration/initialization.
4782
47832008-07-14 Jason Rumney <jasonr@gnu.org>
4784
4785 * w32fns.c (w32_get_arg): Remove wrapper function.
4786 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4787 directly.
4788 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4789
47902008-07-14 Kenichi Handa <handa@m17n.org>
4791
4792 * xfont.c (xfont_open): Add workaround for X's bug.
4793
47942008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4795
4796 * fontset.c: Include <stdio.h> unconditionally.
4797
47982008-07-13 Michael Albinus <michael.albinus@gmx.de>
4799
4800 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4801 for filtering.
4802
48032008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4804
4805 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4806
4807 * m/macppc.h:
4808 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4809
4810 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4811 (SPECIAL_EMACS_INT):
4812 * m/ia64.h (SPECIAL_EMACS_INT):
4813 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4814 * s/gnu.h (NLIST_STRUCT):
4815 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4816 * s/gnu-linux.h (LINUX):
4817 * s/msdos.h (HAVE_FACES):
4818 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4819
4820 * systty.h:
4821 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4822 anymore.
4823
48242008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4825
4826 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4827 always defined as int.
4828
4829 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4830 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4831 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4832 * s/freebsd.h (HAVE_WAIT_HEADER):
4833 * s/bsd-common.h (HAVE_UNION_WAIT):
4834 * s/aix4-2.h (HAVE_WAIT_HEADER):
4835 * m/mips.h (HAVE_UNION_WAIT):
4836 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4837 (COFF, static): Do not define, they are undefined later in the file.
4838
4839 * process.c (update_status): Don't use a union.
4840 (status_convert):
4841 (sigchld_handler): Use int instead of WAITTYPE.
4842
48432008-07-12 Chong Yidong <cyd@stupidchicken.com>
4844
4845 * indent.c (Fvertical_motion): Restore hscroll before moving to
4846 goal column.
4847
48482008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4849
4850 * lisp.h: Remove left over code.
4851
48522008-07-11 Andreas Schwab <schwab@suse.de>
4853
4854 * lisp.h: Fix logic in last change.
4855
4856 * menu.h: New file.
4857 * menu.c: Include it.
4858 * xmenu.c: Likewise.
4859 * Makefile.in: Update dependencies.
4860
48612008-07-11 Kenichi Handa <handa@m17n.org>
4862
4863 * fontset.c (fontset_from_font): Cancel the previous change.
4864
48652008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4866
4867 * lisp.h:
4868 * w32heap.c:
4869 * emacs.c:
4870 * alloc.c: Replace all references of NO_UNION_TYPE with
4871 USE_LISP_UNION_TYPE.
4872
4873 * m/xtensa.h (NO_UNION_TYPE):
4874 * m/vax.h (NO_UNION_TYPE):
4875 * m/template.h (NO_UNION_TYPE):
4876 * m/sparc.h (NO_UNION_TYPE):
4877 * m/mips.h (NO_UNION_TYPE):
4878 * m/macppc.h (NO_UNION_TYPE):
4879 * m/m68k.h (NO_UNION_TYPE):
4880 * m/iris4d.h (NO_UNION_TYPE):
4881 * m/intel386.h (NO_UNION_TYPE):
4882 * m/ibms390x.h (NO_UNION_TYPE):
4883 * m/ibms390.h (NO_UNION_TYPE):
4884 * m/ibmrs6000.h (NO_UNION_TYPE):
4885 * m/ia64.h (NO_UNION_TYPE):
4886 * m/hp800.h (NO_UNION_TYPE):
4887 * m/arm.h (NO_UNION_TYPE):
4888 * m/amdx86-64.h (NO_UNION_TYPE):
4889 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4890 defining it the same.
4891
48922008-07-10 Chong Yidong <cyd@stupidchicken.com>
4893
4894 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4895
48962008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4897
4898 * fileio.c:
4899 * sysdep.c
4900 * systty.h:
4901 * m/ibmrs6000.h:
4902 * m/iris4d.h:
4903 * s/aix4-2.h:
4904 * s/freebsd.h:
4905 * s/gnu-linux.h:
4906 * s/hpux10-20.h:
4907 * s/hpux11.h:
4908 * s/netbsd.h:
4909 * s/sol2-3.h:
4910 * s/sol2-4.h:
4911 * s/sol2.h:
4912 * s/usg5-4.h:
4913 * s/vms.h: Remove references to unused variables.
4914
49152008-07-10 Andreas Schwab <schwab@suse.de>
4916
4917 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4918 pattern before matching the generic family.
4919
49202008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4921
4922 * unexec.c:
4923 * s/vms.h:
4924 * s/usg5-4-2.h:
4925 * s/sol2-5.h:
4926 * s/freebsd.h:
4927 * s/darwin.h: Remove dead code.
4928
4929 * m/template.h:
4930 * m/sparc.h:
4931 * m/mips.h:
4932 * m/m68k.h:
4933 * m/iris4d.h:
4934 * m/intel386.h:
4935 * m/ibms390x.h:
4936 * m/ibms390.h:
4937 * m/ia64.h:
4938 * m/hp800.h:
4939 * m/arm.h:
4940 * m/amdx86-64.h: Remove dead code and references to unused
4941 and compiler defined symbols.
4942
4943 * unexmips.c:
4944 * unexelf.c: Remove references to desupported systems.
4945
4946 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4947
4948 * m/powermac.h: Remove boilerplate comments.
4949 (NO_REMAP): Remove unused definition.
4950
4951 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4952 define them.
4953
49542008-07-10 Kenichi Handa <handa@m17n.org>
4955
4956 * xfont.c (xfont_open): Log the reason of failure.
4957
49582008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4959
4960 * fontset.c (fontset_get_font_group):
4961 * font.c (font_check_otf): Specify argument types.
4962
49632008-07-09 Kenichi Handa <handa@m17n.org>
4964
4965 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4966 non-ASCII char is found.
4967
4968 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4969 (reorder_font_vector): Change the arg preferred_family to font.
4970 Prefer the spec matching with font.
4971 (fontset_get_font_group): New function.
4972 (fontset_find_font): Change the format of an element of a realized
4973 fontset. Use fontset_get_font_group.
4974 (fontset_font): Try the current fontset, the default fontset, the
4975 fallbacks of the current fontset, and the fallbacks of the default
4976 fontset in this order.
4977 (face_for_char): Delete the shortcut to use the current font.
4978 (fontset_from_font): Don't set fonts for Latin in the fontset.
4979
4980 * font.h (font_make_object, font_match_p): Adjust prototypes.
4981
4982 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4983
4984 * font.c (font_make_object): New arg entity and pixelsize.
4985 (font_check_otf_features, font_check_otf): New functions.
4986 (font_match_p): Check :lang, :script, and :otf properties.
4987
4988 * xfont.c (xfont_open): Adjust it for the change of
4989 font_make_object.
4990 (xfont_text_extents): Fix initial setting of metrics.
4991
4992 * ftfont.c (struct ftfont_info): New member index, delete member
4993 fc_charset_idx. Make the member order compatible with struct
4994 xftfont_info.
4995 (fc_charset_table): Change charset names to registry names.
4996 (ftfont_pattern_entity): Delete the args registry and
4997 fc_charset_idx. Change the value of :font-entity property
4998 to (FONTNAME . INDEX). Always set :registry property to
4999 `iso10646-1'.
5000 (struct ftfont_cache_data): New struct.
5001 (ftfont_lookup_cache): New arg for_face.
5002 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
5003 (ftfont_driver): Set the member otf_capability.
5004 (ftfont_get_charset): Adjust it for the change of
5005 fc_charset_table.
5006 (OTF_TAG_SYM): New macro.
5007 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
5008 for the change of fc_charset_table.
5009 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
5010 ftfont_pattern_entity. Add FC_INDEX to objset.
5011 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
5012 and ftfont_pattern_entity.
5013 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
5014 font_make_object, struct ftfont_info.
5015 (ftfont_has_char): Use ftfont_get_fc_charset.
5016 (ftfont_otf_features, ftfont_otf_capability): New functions.
5017 (ftfont_shape): Use ftfont_get_otf.
5018 (ftfont_text_extents): Fix initial setting of metrics.
5019
5020 * xftfont.c (struct xftfont_info): New member ft_size. Make the
5021 member order compatible with struct ftfont_info.
5022 (xftfont_open): Add FC_CHARSET to the pattern. Set
5023 xftfont_info->ft_size. Don't unlock the face. Check BDF
5024 properties if appropriate.
5025 (xftfont_close): Unlock the face.
5026 (xftfont_anchor_point, xftfont_shape): Deleted.
5027 (syms_of_xftfont): Don't set members anchor_point and shape of
5028 xftfont_driver.
5029
5030 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
5031 font_make_object.
5032
5033 * w32font.c (w32font_open): Adjust it for the change of
5034 font_make_object.
5035 (w32font_open_internal): Don't set properties of font_object here.
5036
50372008-07-08 Chong Yidong <cyd@stupidchicken.com>
5038
5039 * macfns.c (x_create_tip_frame):
5040 * w32fns.c (x_create_tip_frame):
5041 * xfns.c (x_create_tip_frame): Pass parameter argument to
5042 face-set-after-frame-default.
5043
5044 * xfaces.c (Finternal_merge_in_global_face): Save merged
5045 attributes for the default face back into the face vector.
5046
50472008-07-08 Andreas Schwab <schwab@suse.de>
5048
5049 * fontset.h: Declare fontset_from_font. Don't declare
5050 new_fontset_from_font and fontset_from_font_name.
5051 * xterm.c: Include "fontset.h".
5052 * Makefile.in (xterm.o): Update dependencies.
5053
50542008-07-08 Glenn Morris <rgm@gnu.org>
5055
5056 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
5057 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
5058
50592008-07-07 Chong Yidong <cyd@stupidchicken.com>
5060
5061 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
5062 (x_set_frame_parameters): Don't bind it.
5063
50642008-07-07 Juanma Barranquero <lekktu@gmail.com>
5065
5066 * w32fns.c (map_w32_filename): Declare extern.
5067
50682008-07-07 Jason Rumney <jasonr@gnu.org>
5069
5070 * w32term.c (WS_EX_LAYERED): Define if not already.
5071
50722008-07-06 Chong Yidong <cyd@stupidchicken.com>
5073
5074 * xfaces.c (set_font_frame_param): Don't try to set the font
5075 parameter if it is still unspecified in the lface.
5076
50772008-07-05 Chong Yidong <cyd@stupidchicken.com>
5078
5079 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
5080 face if it didn't already exist.
5081
5082 * xdisp.c (try_window_id): Give up if word-wrapping is on.
5083
50842008-07-05 Andreas Schwab <schwab@suse.de>
5085
5086 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
5087
50882008-07-05 Chong Yidong <cyd@stupidchicken.com>
5089
5090 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
5091 word-wrapping.
5092 (IT_DISPLAYING_WHITESPACE): New macro.
5093 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
5094 when word-wrapping. Simplify word-wrapping logic. Use correct
5095 pixel positions when saving copies of the iterator.
5096 (display_line): Use proper wrap point if the last character on a
5097 line was preceded by whitespace.
5098
50992008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
5100
5101 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
5102
51032008-07-04 Kenichi Handa <handa@m17n.org>
5104
5105 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
5106
5107 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
5108
51092008-07-02 Jason Rumney <jasonr@gnu.org>
5110
5111 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 5112 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
5113
5114 * xdisp.c (next_element_from_display_vector): Move assignment out
5115 of if statement.
5116
51172008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
5118
5119 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
5120
5121 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
5122 (syms_of_fileio): Initialize and export them.
5123 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
5124
5125 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
5126 (Fsystem_move_file_to_trash): New function.
5127 (syms_of_w32fns): Export it to lisp.
5128
51292008-07-01 Jason Rumney <jasonr@gnu.org>
5130
5131 * w32font.c (w32font_text_extents): Don't count overhang as part
5132 of width.
5133
51342008-06-30 Miles Bader <miles@gnu.org>
5135
5136 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
5137 Add `avoid_cursor_p' field.
5138
5139 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
5140 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
5141 (append_glyph, append_composite_glyph, produce_image_glyph)
5142 (append_stretch_glyph): Initialize avoid_cursor_p.
5143 (get_it_property): Rename from `get_line_height_property'.
5144 (x_produce_glyphs): Use get_it_property.
5145 (handle_line_prefix, push_display_prop): New functions.
5146 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
5147 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
5148 New variables.
5149 (syms_of_xdisp): Initialize them.
5150
51512008-06-30 Kenichi Handa <handa@m17n.org>
5152
5153 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
5154 XftDefaultSubstitute (they are called in XftFontMatch).
5155 (xftfont_open): Fix args to ftfont_font_format.
5156
5157 * ftfont.c (fc_charset_table): New member lang.
5158 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 5159 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
5160 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
5161 (ftfont_open): Fix args to ftfont_font_format.
5162 (ftfont_font_format): New arg filename.
5163
51642008-06-30 Chong Yidong <cyd@stupidchicken.com>
5165
5166 * xfaces.c (Finternal_merge_in_global_face): If default face was
5167 modified, realize it again. Update the font face attribute.
5168
51692008-06-29 Jason Rumney <jasonr@gnu.org>
5170
5171 * w32term.c (x_set_frame_alpha): Fix logic.
5172
51732008-06-29 Kenichi Handa <handa@m17n.org>
5174
5175 * fontset.c (Finternal_char_font): Return font-object instead of
5176 font-name.
5177
5178 * composite.c (get_composition_id): Fix the width calculation for TAB.
5179
51802008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
5181
5182 * indent.c (Fvertical_motion): Properly handle float column arg.
5183
51842008-06-28 Jason Rumney <jasonr@gnu.org>
5185
5186 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
5187 (pfnSetLayeredWindowAttributes): New function pointer.
5188 (w32_initialize): Initialize it when supported.
5189 (x_set_frame_alpha): New function.
5190
5191 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
5192 (w32_frame_parm_handlers): Set alpha handler.
5193
5194 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
5195
51962008-06-27 Jason Rumney <jasonr@gnu.org>
5197
5198 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
5199 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
5200 (w32_to_x_charset, x_to_w32_charset)
5201 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5202 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5203 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5204 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5205 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5206 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5207 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
5208 (Qw32_charset_unicode): Remove.
5209 (syms_of_w32fns): Update for above changes.
5210
5211 * w32font.c (w32_to_x_charset, x_to_w32_charset)
5212 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
5213 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
5214 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
5215 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
5216 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
5217 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
5218 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
5219 (syms_of_w32font): Update for above changes.
5220
52212008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
5222
5223 * s/usg5-4.h: Fix previous change: keep the correct branch of a
5224 removed #if.
5225 (USG_SHARED_LIBRARIES): Remove duplicate definition.
5226
52272008-06-26 Juanma Barranquero <lekktu@gmail.com>
5228 Eli Zaretskii <eliz@gnu.org>
5229
5230 * makefile.w32-in (LOCAL_FLAGS):
5231 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
5232
5233 * sysdep.c (_spawnlp, _getpid):
5234 Declare with explicit _cdecl instead of _CRTAPI1.
5235
5236 * editfns.c (Fget_internal_run_time):
5237 Check for WINDOWSNT with #ifdef, not #if.
5238
52392008-06-26 Jason Rumney <jasonr@gnu.org>
5240
5241 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
5242
5243 * w32term.c (x_draw_glyph_string_foreground)
5244 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
5245 Use FONT_HANDLE macro.
5246 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
5247
5248 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5249 (uniscribe_encode_char): Use FONT_HANDLE macro.
5250
5251 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
5252 (w32font_text_extents): Use precast w32_font.
5253 (w32font_close): Free cached metrics.
5254 (w32font_open_internal): Allocate space for name on stack.
5255
52562008-06-26 Chong Yidong <cyd@stupidchicken.com>
5257
5258 * xdisp.c (extend_face_to_end_of_line): Fix last change.
5259
52602008-06-26 Jason Rumney <jasonr@gnu.org>
5261
5262 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
5263 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
5264
52652008-06-26 Juanma Barranquero <lekktu@gmail.com>
5266
5267 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
5268
52692008-06-26 Jason Rumney <jasonr@gnu.org>
5270
5271 * w32bdf.c, w32bdf.h: Remove obsolete files.
5272
5273 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
5274
5275 * w32gui.h: Don't include w32bdf.h.
5276 (XCharStruct, enum w32_char_font_type, W32FontStruct):
5277 Remove obsolete font support.
5278
5279 * w32font.h (struct w32font_info): Remove compat_w32_font.
5280 Add hfont member.
5281 (FONT_COMPAT): Remove obsolete macro.
5282
5283 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
5284 (w32font_encode_char, w32font_text_extents): Use new hfont member.
5285 (w32font_open_internal): Remove compat code. Set new hfont member.
5286 (Fx_select_font): Use new hfont member.
5287
5288 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
5289 (uniscribe_encode_char): Use new hfont member.
5290
5291 * w32term.c (x_draw_glyph_string_foreground)
5292 (x_draw_composite_glyph_string_foreground): Use new hfont member.
5293 (x_draw_glyph_string): Use metrics in w32font_info.
5294
52952008-06-26 Kenichi Handa <handa@m17n.org>
5296
5297 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
5298
52992008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
5300
5301 * unexnext.c:
5302 * m/ews4800.h:
5303 * m/hp9000s300.h:
5304 * m/ibm370aix.h:
5305 * m/mips-siemens.h:
5306 * m/ncr386.h:
5307 * m/next.h:
5308 * m/pmax.h:
5309 * m/powerpcle.h:
5310 * m/tandem-s2.h:
5311 * s/386bsd.h:
5312 * s/bsd386.h:
5313 * s/bsd4-1.h:
5314 * s/bsd4-2.h:
5315 * s/bsdos2-1.h:
5316 * s/bsdos2.h:
5317 * s/bsdos3.h:
5318 * s/bsdos4.h:
5319 * s/nextstep.h:
5320 * s/ultrix4-3.h:
5321 * s/usg5-0.h:
5322 * s/usg5-2-2.h:
5323 * s/usg5-2.h:
5324 * s/usg5-4-3.h:
5325 * s/ux4800.h:
5326 * s/uxpds.h:
5327 * s/uxpv.h: Remove support for obsolete systems.
5328 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 5329 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
5330 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
5331 Remove, insert contents in s/aix4-2.h.
5332 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
5333 * s/bsd4-3.h: Rename to ...
5334 * s/bsd-common.h: ... this.
5335 * data.c:
5336 * doc.c:
5337 * ecrt0.c:
5338 * emacs.c:
5339 * fileio.c:
5340 * floatfns.c:
5341 * keyboard.c:
5342 * mem-limits.h:
5343 * print.c:
5344 * process.c:
5345 * sysdep.c:
5346 * syssignal.h:
5347 * systty.h:
5348 * syswait.h:
5349 * term.c:
5350 * unexec.c:
5351 * unexelf.c:
5352 * unexhp9k800.c:
5353 * m/hp800.h:
5354 * m/ibmrs6000.h:
5355 * m/mips.h:
5356 * m/vax.h:
5357 * s/darwin.h:
5358 * s/freebsd.h:
5359 * s/gnu.h:
5360 * s/ms-w32.h:
5361 * s/msdos.h:
5362 * s/netbsd.h:
5363 * s/template.h: Remove references to obsolete variables.
5364
5365 * Makefile.in: Add dependencies for all unexec files.
5366 (admindir): Remove unused variable.
5367 (UNEXEC_SRC): Remove references.
5368
53692008-06-25 Chong Yidong <cyd@stupidchicken.com>
5370
5371 * xfns.c (x_default_font_parameter): If Xft is available, first
5372 try Monospace-12 for the default font.
5373
53742008-06-25 Jason Rumney <jasonr@gnu.org>
5375
5376 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
5377
53782008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
5379
5380 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
5381
5382 * buffer.c (syms_of_buffer): Remove default-word-wrap.
5383
53842008-06-25 Juanma Barranquero <lekktu@gmail.com>
5385
5386 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
5387 <scroll-conservatively>: Fix typo in docstring.
5388
5389 * xselect.c (Fx_send_client_event): Doc fix.
5390
53912008-06-25 Kenichi Handa <handa@m17n.org>
5392
5393 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
5394
5395 * font.c (font_parse_fcname): Remove unused variables.
5396 (font_sort_entites): Delete the arg SPEC. Caller changed.
5397 Fix for the case of ! best_only.
5398 (font_delete_unmatched): Check DPI and AVGWIDTH too.
5399
5400 * lisp.h (Fstring_to_unibyte): EXFUN it.
5401
5402 * character.h (str_to_unibyte): Extern it.
5403
5404 * character.c (str_to_unibyte): New function.
5405
5406 * fns.c (Fstring_to_unibyte): New function.
5407 (syms_of_fns): Defsubr it.
5408
54092008-06-24 Kenichi Handa <handa@m17n.org>
5410
5411 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
5412 DPI too.
5413 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5414
54152008-06-24 Andreas Schwab <schwab@suse.de>
5416
5417 * Makefile.in (${lispsource}loaddefs.el): Rename from
5418 ../lisp/loaddefs.el.
5419 (bootstrap-clean): Do what distclean does but don't remove
5420 Makefile.
5421 (distclean): Depend on bootstrap-clean and remove Makefile.
5422
54232008-06-24 Chong Yidong <cyd@stupidchicken.com>
5424
5425 * buffer.h (struct buffer): New member word_wrap.
5426
5427 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5428 word-wrap.
5429 (init_buffer_once): Initialize them.
5430
5431 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5432 line_wrap enum possessing three possible values.
5433
5434 * termopts.h: Replace truncate_partial_width_windows with
5435 Vtruncate_partial_width_windows.
5436
5437 * dispnew.c (direct_output_for_insert): Avoid direct output when
5438 inserting a space with word wrap on.
5439
5440 * indent.c (compute_motion): Obey integer values of
5441 truncate-partial-width-windows.
5442
5443 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5444 replacing truncate_partial_width_windows.
5445 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5446 truncate only if the window width is below that integer.
5447 (start_display, resize_mini_window, produce_stretch_glyph)
5448 (display_string, move_it_in_display_line_to): Use line_wrap.
5449 (back_to_previous_visible_line_start, reseat_1): Reset
5450 string_from_display_prop_p.
5451 (display_line): Extend default face to end of line when wrapping.
5452
54532008-06-24 Kim F. Storm <storm@cua.dk>
5454
5455 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5456 to wrap continued lines at word boundaries.
5457
54582008-06-24 Jason Rumney <jasonr@gnu.org>
5459
5460 * font.c (Ffont_face_attributes): Multiply pixel size before point
5461 conversion to avoid multiplying rounding error.
5462
54632008-06-23 Jason Rumney <jasonr@gnu.org>
5464
5465 * w32term.c (x_draw_glyph_string_background)
5466 (x_draw_glyph_string): Remove old bdf font code.
5467
5468 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5469
54702008-06-22 Kenichi Handa <handa@m17n.org>
5471
5472 * font.c (font_find_for_lface): Try the adstyle specified in
5473 the property of LFACE_FONT of LFACE (if any).
5474
54752008-06-21 Seiji Zenitani <zenitani@mac.com>
5476 Ryo Yoshitake <ryo@shiftmode.net>
5477
5478 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5479
54802008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5481
5482 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5483 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5484 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5485 (witness-emacs): Remove.
5486 (lisp, shortlisp): Move loaddefs.el earlier.
5487 (mostlyclean): Forget about witness-emacs.
5488
54892008-06-22 Glenn Morris <rgm@gnu.org>
5490
5491 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5492 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5493
54942008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5495
5496 * Makefile.in (PRECOMP): Remove.
5497 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5498 (witness-emacs): Run `compile-first'.
5499 (.el.elc): Use the new compile-onefile target.
5500
55012008-06-21 Kenichi Handa <handa@m17n.org>
5502
5503 * xftfont.c (xftfont_open): Handle QCembolden only when
5504 FC_EMBOLDEN is defined.
5505
55062008-06-21 Andreas Schwab <schwab@suse.de>
5507
5508 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5509 (.el.elc): Likewise.
5510
55112008-06-21 Miles Bader <miles@gnu.org>
5512
5513 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5514 build dir, not the lisp source dir.
5515
55162008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5517
5518 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5519 (bootstrapclean): Remove.
5520 (.el.elc): New rule.
5521 (PRECOMP): New var.
5522 (../lisp/subdirs.el): Remove.
5523 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5524 (witness-emacs): New target.
5525 (mostlyclean): Remove witness-emacs as well.
5526 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5527 Add witness-emacs dependency.
5528
55292008-06-20 Chong Yidong <cyd@stupidchicken.com>
5530
5531 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5532 defined by the font.
5533
55342008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5535
5536 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5537 (bootstrap-clean): New target that keeps TAGS around.
5538 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5539 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5540
55412008-06-20 Jason Rumney <jasonr@gnu.org>
5542
5543 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5544 Remove obsolete font code.
5545
5546 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5547 to determine language support.
5548
55492008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5550
5551 * sysdep.c (cfsetspeed): New fun extracted from the code.
5552 (cfmakeraw): Move before first use.
5553
55542008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5555
5556 * sysdep.c (cfmakeraw): Provide fallback implementation.
5557 (serial_configure): Provide fallback implementation of cfsetspeed.
5558
55592008-06-20 Kenichi Handa <handa@m17n.org>
5560
5561 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5562 the pattern.
5563
5564 * fontset.c (fontset_from_font): Copy font_spec before changing
5565 the elements.
5566
5567 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5568
55692008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5570
5571 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5572 for explicit `font' parameters.
5573
5574 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5575
55762008-06-19 Kenichi Handa <handa@m17n.org>
5577
5578 * frame.c: Include <ctype.h>.
5579 (x_set_font_backend): Allow spacing characters in the X resource
5580 for FontBackend.
5581
55822008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5583
5584 * w32fns.c, xfns.c (Qfont_param): New var.
5585 (syms_of_w32fns): Initialize it.
5586 (x_default_font_parameter): Record explicit `font' into
5587 `font-parameter'.
5588
55892008-06-18 Kenichi Handa <handa@m17n.org>
5590
5591 * font.c (font_parse_xlfd): Fix previous change.
5592 (font_parse_fcname): Don't use :fc-unknown-spec.
5593 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5594 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5595 (font_add_log): Prepend the driver name to the resulting fonts.
5596
5597 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5598 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5599 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5600
5601 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5602 (QCembolden): New variables.
5603 (syms_of_xftfont): DEFSYM them.
5604 (xftfont_open): Call XftFontMatch. Don't trust the result of
5605 XftTextExtents8 if the pixel_size is less than 5.
5606
56072008-06-18 Andreas Schwab <schwab@suse.de>
5608
5609 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5610 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5611
56122008-06-18 Jason Rumney <jasonr@gnu.org>
5613
5614 * w32font.c (w32font_list, w32font_match): Add logging.
5615
5616 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5617
56182008-06-17 Chong Yidong <cyd@stupidchicken.com>
5619
5620 * font.c (font_parse_fcname): Store divider characters for
5621 unknown-spec list. For known key symbols, intern using correct
5622 symbol name.
5623
56242008-06-17 Kenichi Handa <handa@m17n.org>
5625
5626 * xfaces.c (realize_default_face): If the frame is not on window
5627 system, set the fontset of face to nil.
5628
56292008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5630
5631 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5632
56332008-06-16 Juanma Barranquero <lekktu@gmail.com>
5634
5635 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5636 (build_font_name_from_vector): Delete externs.
5637
5638 * xfaces.c (struct font_name): Don't declare.
5639
56402008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5641
5642 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5643
56442008-06-16 Chong Yidong <cyd@stupidchicken.com>
5645
5646 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5647
56482008-06-16 Juanma Barranquero <lekktu@gmail.com>
5649
5650 * font.c (Ffont_spec): Fix usage in docstring.
5651 (Ffont_face_attributes): Doc fix.
5652
56532008-06-16 Andreas Schwab <schwab@suse.de>
5654
5655 * font.c (Ffont_face_attributes): Fix definition.
5656
56572008-06-16 Jason Rumney <jasonr@gnu.org>
5658
5659 * font.h (font_style_symbolic_from_value): Remove.
5660
5661 * font.c (font_style_symbolic_from_value): Remove.
5662 (font_style_symbolic): Revert to pre 2008-06-13 version.
5663
5664 * w32font.c (w32_to_fc_weight): New function.
5665 (w32font_full_name, logfont_to_fcname): Use it.
5666
56672008-06-16 Kenichi Handa <handa@m17n.org>
5668
5669 * font.c (font_check_object): Delete it.
5670 (font_clear_cache): Check if a font-object is alive.
5671 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5672 font-object to nil.
5673 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5674 (font_at): Don't call font_check_object.
5675 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5676
56772008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5678
5679 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5680
56812008-06-16 Chong Yidong <cyd@stupidchicken.com>
5682
5683 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5684
56852008-06-15 Chong Yidong <cyd@stupidchicken.com>
5686
5687 * font.c (font_parse_fcname): Only one decimal point.
5688 (font_unparse_fcname): Handle data in family and foundry indices
5689 as symbols, not strings.
5690 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5691
5692 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5693
5694 * font.h (font_unparse_gtkname): Add prototype.
5695
56962008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5697
5698 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5699
57002008-06-15 Andreas Schwab <schwab@suse.de>
5701
5702 * font.c (font_update_drivers): Fix crash when no drivers match.
5703
57042008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5705
5706 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5707 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5708
57092008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5710
5711 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5712
57132008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5714
5715 * process.c (Fserial_process_configure, Fprocess_send_eof):
5716 Use EQ to compare Lisp_Objects.
5717
57182008-06-13 Jason Rumney <jasonr@gnu.org>
5719
5720 * w32fns.c (Fw32_select_font): Remove old font API function.
5721
5722 * w32font.c (logfont_to_fcname): New function.
5723 (Fx_select_font): New font dialog function compatible with
5724 GTK/fontconfig version.
5725
5726 * font.c (font_style_symbolic_from_value): New function.
5727 (font_style_symbolic): Use it.
5728
5729 * font.h (font_style_symbolic_from_value): Declare new function.
5730
57312008-06-13 Juanma Barranquero <lekktu@gmail.com>
5732
5733 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5734 <font-width-table>: Fix typos in docstrings.
5735
57362008-06-13 Daniel Engeler <engeler@gmail.com>
5737
5738 These changes add serial port access.
5739 * process.c: Add HAVE_SERIAL.
5740 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5741 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5742 (list_processes_1, select_wrapper, Fstop_process)
5743 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5744 (status_notify): Modify to handle serial processes.
5745 [HAVE_SERIAL] (Fserial_process_configure)
5746 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5747 New functions.
5748 * process.h (struct Lisp_Process): Add `type'.
5749 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5750 New functions.
5751 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5752 serial ports.
5753 (serial_open, serial_configure) New functions.
5754 * w32.h: Add FILE_SERIAL.
5755 (struct _child_process): Add ovl_read, ovl_write.
5756
57572008-06-13 Kenichi Handa <handa@m17n.org>
5758
5759 * dispextern.h (enum lface_attribute_index): New member
5760 LFACE_FOUNDRY_INDEX.
5761
5762 * font.c (font_score): Delete arg alternate_families. Check only
5763 weight, slant, width, and size. Ignore the difference of alias
5764 style symbols.
5765 (font_sort_entites): Adjust for the above change. Reflect the
5766 order of font-driver to scores.
5767 (font_list_entities): Don't check alternate_familes here.
5768 (font_clear_prop): Handle foundry.
5769 (font_update_lface): Don't parse "foundry-family" form here.
5770 Handle FONT_FOUNDRY_INDEX.
5771 (font_find_for_lface): Likewise. Handle alternate families here.
5772 If registry is nil, try iso8859-1 and ascii-0.
5773 (font_open_for_lface): Pay attention to size in ENTITY.
5774 (font_open_by_name): Simplify by calling font_load_for_lface.
5775 (free_font_driver_list): Delete it.
5776 (font_update_drivers): Preserve the order of backends.
5777 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5778 of font_score and font_sort_entites.
5779 (font_update_sort_order): Likewise.
5780
5781 * xfaces.c (LFACE_FOUNDRY): New macro.
5782 (check_lface_attrs): Check foundry.
5783 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5784 (merge_face_vectors): Check foundry.
5785 (merge_face_ref): Likewise.
5786 (Finternal_set_lisp_face_attribute): Likewise.
5787 (x_update_menu_appearance): Likewise.
5788 (Finternal_get_lisp_face_attribute): Likewise.
5789 (lface_hash): Likewise.
5790 (lface_same_font_attributes_p): Likewise.
5791 (x_supports_face_attributes_p): Likewise.
5792 (tty_supports_face_attributes_p): Likewise.
5793 (Finternal_set_alternative_font_family_alist): Intern strings.
5794 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5795 (realize_default_face): Set LFACE_FOUNDRY (lface).
5796
5797 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5798 font-driver at first.
5799
5800 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5801
58022008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5803
5804 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5805
58062008-06-12 Jim Meyering <meyering@redhat.com>
5807
5808 Make unexec_free handle NULL the same way free does.
5809 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5810
58112008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5812
5813 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5814 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5815 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5816 (WEAK_ALIAS): Simplify.
5817 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5818 when searching a unibyte buffer.
5819
58202008-06-12 Chong Yidong <cyd@stupidchicken.com>
5821
5822 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5823
58242008-06-12 Juanma Barranquero <lekktu@gmail.com>
5825
5826 * w32font.c: Include ctype.h.
5827
58282008-06-11 Jason Rumney <jasonr@gnu.org>
5829
5830 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5831 misreported as space.
5832 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5833 as aliases for registry iso10646-1.
5834
58352008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5836
5837 * buffer.c (clone_per_buffer_values): Skip `name'.
5838
58392008-06-11 Chong Yidong <cyd@stupidchicken.com>
5840
5841 * font.c (font_parse_fcname): Fix last change; accept decimal
5842 points in font size.
5843
58442008-06-10 Jason Rumney <jasonr@gnu.org>
5845
5846 * w32uniscribe.c (add_opentype_font_name_to_list):
5847 Skip non unicode fonts.
5848
58492008-06-10 Chong Yidong <cyd@stupidchicken.com>
5850
5851 * xfns.c (Fx_font_dialog): New function.
5852
5853 * gtkutil.c (xg_dialog_response_cb): Rename from
5854 xg_file_response_callback.
5855 (pop_down_dialog): Rename from pop_down_file_dialog.
5856 (xg_get_file_name): Callers changed.
5857 (xg_get_font_name): New function.
5858
5859 * gtkutil.h (xg_get_font_name): Insert prototype.
5860
58612008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5862
5863 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5864 x_underline_minimum_display_offset.
5865 (syms_of_xdisp): Declare it here rather than in xterm.c.
5866 * dispextern.h (underline_minimum_offset): Declare it.
5867 * w32term.c (x_draw_glyph_string): Use it.
5868 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5869 (syms_of_xterm): Don't declare it any more.
5870 (x_draw_glyph_string): Adjust to the new name.
5871
58722008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5873
5874 * xterm.c (x_underline_minimum_display_offset): New var.
5875 (x_draw_glyph_string): Use it.
5876 (syms_of_xterm): Declare it.
5877
58782008-06-10 Chong Yidong <cyd@stupidchicken.com>
5879
5880 * font.c (font_parse_fcname): Accept GTK-style font names too.
5881
58822008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5883
5884 * dired.c (file_name_completion): Don't return t if the match is exact
5885 but with different capitalization.
5886 * minibuf.c (Ftry_completion): Simplify.
5887
5888 * window.c (Vwindow_point_insertion_type): New var.
5889 (set_window_buffer): Use it.
5890 (syms_of_window): Init and export it to Lisp.
5891
58922008-06-10 Kenichi Handa <handa@m17n.org>
5893
5894 * font.h (font_intern_prop): Prototype adjusted.
5895
5896 * font.c (font_intern_prop): New arg force_symbol.
5897 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5898 Adjust for the change of font_intern_prop.
5899
5900 * ftfont.c (ftfont_pattern_entity):
5901 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5902 (w32_registry):
5903 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5904 the change of font_intern_prop.
5905
59062008-06-09 Juanma Barranquero <lekktu@gmail.com>
5907
5908 * w32menu.c (digest_single_submenu): Declare extern.
5909
59102008-06-09 Jason Rumney <jasonr@gnu.org>
5911
5912 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5913
5914 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5915 (parse_single_submenu): Remove.
5916 (digest_single_submenu): Remove.
5917 (syms_of_w32menu): Don't initialise variables that have moved
5918 to menu.c.
5919 (set_frame_menubar): Sync with version in xmenu.c.
5920 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5921
5922 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5923 Make static again.
5924
59252008-06-09 Jason Rumney <jasonr@gnu.org>
5926
5927 Changes to w32 files related to the move of common menu code
5928 to menu.c on 2008-06-08 by Chong Yidong.
5929
5930 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5931 defs to w32gui.h.
5932 (single_keymap_panes, push_menu_item, push_menu_pane):
5933 Make globally visible.
5934
5935 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5936 (local_free, malloc_widget_value, free_widget_value)
5937 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5938 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5939 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5940 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5941 (menu_items, menu_items_allocated, menu_items_used)
5942 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5943 (init_menu_items, finish_menu_items, discard_menu_items)
5944 (grow_menu_items, push_submenu_start, push_submenu_end)
5945 (push_left_right_boundary, push_menu_pane, push_menu_item)
5946 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5947 (free_menubar_widget_tree_value, parse_single_submenu)
5948 (update_submenu_strings): Remove functions.
5949 (xmalloc_widget_value): Remove and declare extern.
5950
5951 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5952 (OBJ1): Build it.
5953
5954 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5955 (local_heap, local_alloc, local_free, malloc_widget_value)
5956 (free_widget_value): Define here.
5957
59582008-06-09 Kenichi Handa <handa@m17n.org>
5959
5960 * font.h (Qascii_0): Extern it.
5961
5962 * font.c (Qascii_0): New variable.
5963 (syms_of_font): DEFSYM it.
5964 (font_open_by_name): If the registry "iso8859-1" fails, try also
5965 "ascii-0".
5966
5967 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5968
59692008-06-08 Kenichi Handa <handa@m17n.org>
5970
5971 * .gdbinit (xfont): New command.
5972
59732008-06-08 Andreas Schwab <schwab@suse.de>
5974
5975 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5976 * Makefile.in (menu.o): Update dependencies.
5977
5978 * Makefile.in (obj): Always add menu.o.
5979 * emacs.c (main): Always call syms_of_menu.
5980 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5981
59822008-06-08 Chong Yidong <cyd@stupidchicken.com>
5983
5984 * Makefile.in: Compile menu.c.
5985
5986 * lisp.h: Declare syms_of_menu.
5987
5988 * emacs.c (main): Call syms_of_menu.
5989
5990 * keyboard.h: Relocate platform-independent menu definitions from
5991 xmenu.c.
5992
5993 * menu.c: New file. Relocate platform-independent menu
5994 definitions from xmenu.c. Suggested by Adrian Robert.
5995
5996 * xmenu.c: Remove platform-independent menu definitions.
5997 (menu_items menu_items_inuse, menu_items_allocated)
5998 (menu_items_used, menu_items_n_panes)
5999 (menu_items_submenu_depth): Move to keyboard.h.
6000 (init_menu_items, finish_menu_items, unuse_menu_items)
6001 (discard_menu_items, restore_menu_items, save_menu_items)
6002 (grow_menu_items, push_submenu_start, push_submenu_end)
6003 (push_left_right_boundary, push_menu_pane, push_menu_item)
6004 (keymap_panes, single_keymap_panes, single_menu_item)
6005 (list_of_panes, list_of_items, find_and_call_menu_selection)
6006 (xmalloc_widget_value, free_menubar_widget_value_tree)
6007 (parse_single_submenu, digest_single_submenu)
6008 (update_submenu_strings): Move to menu.c.
6009
60102008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
6011
6012 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
6013
60142008-06-06 Miles Bader <miles@gnu.org>
6015
6016 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
6017 face, not frame default.
6018
60192008-06-05 Martin Rudalics <rudalics@gmx.at>
6020
6021 * window.c (pop_up_windows, pop_up_frames)
6022 (display_buffer_reuse_frames, Vpop_up_frame_function)
6023 (Vdisplay_buffer_function, Veven_window_heights)
6024 (Vspecial_display_buffer_names, Vspecial_display_regexps)
6025 (Vspecial_display_function, Vsame_window_buffer_names)
6026 (Vsame_window_regexps, split_height_threshold)
6027 (Vsplit_window_preferred_function): Move those vars to window.el.
6028 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
6029 (Fdisplay_buffer): Move those functions to window.el.
6030 (syms_of_window): Remove corresponding declarations.
6031 (display_buffer): New function.
6032 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
6033 * dispnew.c (Flast_nonminibuf_frame): New function.
6034 * buffer.c (Fpop_to_buffer): Move to window.el.
6035
60362008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6037
6038 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
6039
60402008-06-05 Kenichi Handa <handa@m17n.org>
6041
6042 * coding.c (detect_coding): Fix previous change.
6043 (detect_coding_system): Likewise.
6044
60452008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6046
6047 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
6048
6049 * keymap.c (Vminibuffer_local_filename_must_match_map):
6050 Rename from Vminibuffer_local_must_match_filename_map.
6051 (syms_of_keymap):
6052 * minibuf.c (Fcompleting_read): Adjust accordingly.
6053 * commands.h: Rename declaration as well.
6054
60552008-06-05 Kenichi Handa <handa@m17n.org>
6056
6057 * font.c (Ffont_spec): Don't use font_parse_family_registry for
6058 family name.
6059 (Ffont_put): Likewise.
6060
6061 * fontset.c (fontset_find_font): Call font_open_for_lface with the
6062 current font-spec.
6063
6064 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
6065 is unspecified.
6066
6067 * xfaces.c (realize_x_face): If the font-related face attributes
6068 are the same as those of default face, realize a new fontset from
6069 default->fontset.
6070 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
6071
60722008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
6073
6074 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
6075 (move_it_in_display_line): New wrapper.
6076
6077 * window.c (window_scroll_pixel_based_preserve_x)
6078 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
6079 (window_scroll_pixel_based, window_scroll_line_based):
6080 Use them to preserve column positions.
6081 (syms_of_window): Initialize them.
6082
6083 * indent.c (Fvertical_motion): Extend first arg to allow passing an
6084 (HPOS . VPOS) pair.
6085
6086 * dispextern.h (move_it_in_display_line): Declare.
6087
60882008-06-05 Juanma Barranquero <lekktu@gmail.com>
6089
6090 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
6091 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
6092 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
6093
60942008-06-04 Juanma Barranquero <lekktu@gmail.com>
6095
6096 * window.c (Fset_window_parameter): Doc fix.
6097 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
6098
60992008-06-04 Joakim Verona <joakim@verona.se>
6100
6101 * window.h (struct window): Add new member window_parameters.
6102
6103 * window.c (Fwindow_parameters, Fwindow_parameter)
6104 (Fset_window_parameter): New defuns.
6105 (syms_of_window): Defsubr the new defuns.
6106 (make_window): Initialize window_parameters to nil.
6107
61082008-06-04 John Paul Wallington <jpw@pobox.com>
6109
6110 * eval.c (Fdefmacro): Doc fix.
6111
61122008-06-04 Kenichi Handa <handa@m17n.org>
6113
6114 * coding.c (detect_coding): Fix handling of coding->head_ascii.
6115 Be sure to call setup_coding_system when we find a proper coding system.
6116 (detect_coding_system): Fix handling of coding->head_ascii.
6117
61182008-06-03 Andreas Schwab <schwab@suse.de>
6119
6120 * font.c (font_prop_validate_spacing): Fix last change.
6121
61222008-06-03 Kenichi Handa <handa@m17n.org>
6123
6124 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
6125 (font_parse_fcname): Fix handling of unknown key.
6126
6127 * xfont.c (xfont_list): Try an alias.
6128
6129 * charset.c (char_charset): Return NULL if the arg charset_list is
6130 specified and C doesn't belong to any of them.
6131
61322008-06-02 Chip Coldwell <coldwell@redhat.com>
6133
6134 * font.c (font_pixel_size): Don't take cdr of an integer.
6135
61362008-06-02 Jim Meyering <meyering@redhat.com>
6137
6138 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
6139 * alloc.c (xfree): Return right away for a NULL arg.
6140 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
6141 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
6142 * mac.c (create_apple_event_from_event_ref): Likewise.
6143 (create_apple_event_from_drag_ref, cfstring_create_normalized):
6144 Likewise.
6145 * doprnt.c (doprnt1): Likewise.
6146 * frame.c (frame): Likewise.
6147 * keyboard.c (wipe_kboard): Likewise.
6148 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
6149 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
6150 * term.c (tty_default_color_capabilities, maybe_fatal)
6151 (delete_tty): Likewise.
6152 * w16select.c (string): Likewise.
6153 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
6154 * w32bdf.c (w32_free_bdf_font): Likewise.
6155 * w32fns.c (w32_unload_font): Likewise.
6156 * w32font.c (w32font_close): Likewise.
6157 * window.c (size_window): Likewise.
6158 * xselect.c (receive_incremental_selection): Likewise.
6159 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
6160 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
6161 * w32.c (stat): Likewise.
6162
6163 Remove useless if-before-free tests.
6164 * editfns.c (Fset_time_zone_rule): Likewise.
6165 * lread.c (nosuffix): Likewise.
6166 * ralloc.c (get_bloc): Likewise.
6167 * regex.c (reg_free): Likewise.
6168 * xftfont.c (xftfont_open, xftfont_close): Likewise.
6169 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
6170 * xsmfns.c (smc_save_yourself_CB): Likewise.
6171
61722008-06-02 Kenichi Handa <handa@m17n.org>
6173
6174 * font.c (font_find_for_lface): Handle float font size.
6175 (font_open_for_lface): Likewise.
6176
6177 * xfaces.c (x_supports_face_attributes_p): Check face->font before
6178 comparing the properties.
6179
61802008-06-01 Jason Rumney <jasonr@gnu.org>
6181
6182 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
6183 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
6184 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
6185 Don't add empty script list.
6186 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
6187
61882008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
6189
6190 * Makefile.in (dot, dotdot): Remove, update users.
6191 ".." has been used elsewhere in the file for a long time.
6192 (LIBXT_STATIC): Remove conditional based on unused variable.
6193
61942008-06-01 Miles Bader <miles@gnu.org>
6195
6196 * xfaces.c (Vface_remapping_alist): New variable.
6197 (syms_of_xfaces): Initialize it.
6198 (enum named_merge_point_kind): New type.
6199 (struct named_merge_point): Add `named_merge_point_kind' field.
6200 (push_named_merge_point): Make cycle detection respect different
6201 named-merge-point kinds.
6202 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
6203 Remove face-name alias resolution.
6204 (lface_from_face_name): New definition using
6205 `lface_from_face_name_no_resolve'.
6206 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
6207 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
6208 (get_lface_attributes): New definition that layers face-remapping on
6209 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
6210 (lookup_basic_face): New function.
6211 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
6212 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
6213 `get_lface_attributes'.
6214 (face_at_buffer_position): Use `lookup_basic_face' to lookup
6215 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
6216 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
6217
6218 * xdisp.c (init_iterator): Pass base_face_id through
6219 `lookup_basic_face' when we actually use it as a face-id.
6220 (handle_single_display_prop): Use `lookup_basic_face' to lookup
6221 DEFAULT_FACE_ID.
6222
6223 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
6224 lookup the initial face-id.
6225
6226 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
6227
62282008-06-01 Juanma Barranquero <lekktu@gmail.com>
6229
6230 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
6231 (Fremove_text_properties): Fix typos in docstrings.
6232
62332008-05-31 Kenichi Handa <handa@m17n.org>
6234
6235 * font.c (font_list_entities): Fix the car part of data to be
6236 stored in the cache.
6237
6238 * ftfont.c (ftfont_font_format): Don't use strcasestr.
6239
62402008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6241
6242 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
6243 Add a `test' argument so another predicate than `equal' can be used.
6244 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
6245 (map_char_table): Remove unused vars `c' and `i'.
6246 * lisp.h (Foptimize_char_table): Adjust declaration.
6247 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
6248
62492008-05-30 Kenichi Handa <handa@m17n.org>
6250
6251 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
6252 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
6253 defined.
6254
62552008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
6256
6257 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6258 (Fmake_variable_frame_local): Disallow mixing buffer-local and
6259 frame-local settings for the same variable.
6260
62612008-05-30 Kenichi Handa <handa@m17n.org>
6262
6263 * fontset.c (Ffont_info): Move to font.c.
6264 (syms_of_fontset): Delete defsubr of Sfont_info.
6265
6266 * font.c (font_style_to_value, font_score): Delete casting of the
6267 args to xstcasecmp.
6268 (register_font_driver): Increment num_font_drivers only when
6269 registering the driver globally.
6270 (Ffont_info): Move from fontset.c. Handle a font object too.
6271 (syms_of_font): Defsubr Sfont_info.
6272
62732008-05-29 Kenichi Handa <handa@m17n.org>
6274
6275 * coding.h (enum define_coding_utf8_arg_index): New enum.
6276 (enum coding_attr_index): Change coding_attr_utf_16_bom to
6277 coding_attr_utf_bom.
6278 (enum utf_bom_type): Rename from utf_16_bom_type.
6279 (struct utf_16_spec): Adjust for the above change.
6280 (struct coding_system): Add utf_8_bom in `spec' union.
6281
6282 * coding.c (CODING_UTF_8_BOM): New macro.
6283 (enum coding_category): Delete coding_category_utf_8, add
6284 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
6285 coding_category_utf_8_sig.
6286 (CATEGORY_MASK_UTF_8): Delete it.
6287 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
6288 (CATEGORY_MASK_UTF_8_SIG): New macros.
6289 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
6290 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
6291 CATEGORY_MASK_UTF_8_SIG.
6292 (CATEGORY_MASK_UTF_8): New macro.
6293 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
6294 (detect_coding_utf_8): Check BOM.
6295 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
6296 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
6297 (encode_coding_utf_16): Likewise.
6298 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
6299 (detect_coding, detect_coding_system): Handle utf-8-auto.
6300 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
6301 (syms_of_coding): Fix setting up of Vcoding_category_table.
6302
63032008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
6304
6305 * process.c (Faccept_process_output): If `millisec' is non-nil,
6306 `seconds' default to 0.
6307 (wait_reading_process_output): Also return non-nil if we read output
6308 from a non-running process.
6309
63102008-05-29 Jason Rumney <jasonr@gnu.org>
6311
6312 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
6313 `raster' specified.
6314 (add_font_entity_to_list): Allow non-opentype truetype fonts back
6315 in the uniscribe backend, but disallow any font that has no
6316 unicode subrange support.
6317
63182008-05-29 Juanma Barranquero <lekktu@gmail.com>
6319
6320 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
6321 Fix typos in docstrings.
6322
63232008-05-29 Kenichi Handa <handa@m17n.org>
6324
6325 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
6326 (Fx_family_fonts): Set frame correctly.
6327
63282008-05-28 Jason Rumney <jasonr@gnu.org>
6329
6330 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
6331
63322008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
6333
6334 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
6335 calling build_annotations.
6336
63372008-05-28 Juanma Barranquero <lekktu@gmail.com>
6338
6339 * coding.c (Fdecode_coding_region, Fencode_coding_region)
6340 (Fencode_coding_string):
6341 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
6342 <latin-extra-code-table>: Fix typos in docstrings.
6343 (syms_of_coding) <coding-system-alist>: Doc fix.
6344 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
6345
63462008-05-28 Kenichi Handa <handa@m17n.org>
6347
6348 * fontset.c (Ffont_info): Don't call font_close_object.
6349
6350 * font.c (font_parse_family_registry): Use Ffont_put to validate
6351 foundry and family.
6352 (font_delete_unmatched): Don't check spacing.
6353 (font_list_entities): Add spacing to the spec to list fonts.
6354
6355 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
6356 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
6357
6358 * coding.c (encode_coding_raw_text): Fix previous change.
6359 (encode_coding_object): When the dst_object is a buffer and is
6360 different from src_object, move gap to PT.
6361
63622008-05-27 Chong Yidong <cyd@stupidchicken.com>
6363
6364 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
6365
63662008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6367
6368 * coding.c (encode_coding_raw_text): Set coding->produced_char for
6369 all branches. Compute it differently.
6370
6371 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
6372
63732008-05-27 Juanma Barranquero <lekktu@gmail.com>
6374
6375 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
6376 into "else if () ... else ...".
6377
63782008-05-27 Jason Rumney <jasonr@gnu.org>
6379
6380 * w32font.c (w32font_open_internal): Determine if glyph indices
6381 are likely to work here.
6382
63832008-05-27 Chong Yidong <cyd@stupidchicken.com>
6384
6385 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
6386 draw overlap glyphs with appropriate highlighting.
6387
63882008-05-27 Kenichi Handa <handa@m17n.org>
6389
6390 * xfont.c (xfont_open): Fix calculation of font->average_width.
6391
63922008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6393
6394 * casefiddle.c (casify_object): Try to guess better whether the
6395 argument is a byte or a char.
6396
63972008-05-26 Andreas Schwab <schwab@suse.de>
6398
6399 * xselect.c (x_reply_selection_request): Properly handle format == 32.
6400 Always send multiples of format size.
6401
6402 * xterm.c (x_set_frame_alpha): Fix type mismatch.
6403
64042008-05-26 Jason Rumney <jasonr@gnu.org>
6405
6406 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
6407 (compute_metrics): Don't set failure if we just cleared the cache.
6408 (w32_weight_table): Remove unused variable.
6409 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
6410 backwards compatibility.
6411
64122008-05-25 Kenichi Handa <handa@m17n.org>
6413
6414 * w32term.c (x_draw_glyph_string):
6415 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6416
6417 * xfaces.c: Delete unused function prototypes.
6418 (xstrlwr, font_frame): Delete them.
6419 (clear_face_cache): Delete unused variable.
6420
6421 * xftfont.c (xftfont_open): Delete unused variable.
6422 If underline_thickness is not 1, adjust underline_position.
6423
6424 * ftxfont.c (ftxfont_open): Delete unused variable.
6425
6426 * fontset.c (face_for_char): Optimize for the case of no charset
6427 property.
6428
6429 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6430 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6431 (otf_open, font_otf_capability, generate_otf_features)
6432 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6433 Comment out by surrounding "#if 0" and "#endif" for the moment.
6434 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6435 (syms_of_font): Codes for accessing above commented out.
6436
64372008-05-24 Eli Zaretskii <eliz@gnu.org>
6438
6439 * w32proc.c: Include dispextern.h.
6440
6441 * w32.c: Include dispextern.h.
6442
64432008-05-23 Juanma Barranquero <lekktu@gmail.com>
6444
6445 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6446 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6447 Fix typos in docstrings.
6448
64492008-05-23 Jason Rumney <jasonr@gnu.org>
6450
6451 * xsmfns.c: Remove includes that are already included by config.h.
6452
64532008-05-23 Kenichi Handa <handa@m17n.org>
6454
6455 * charset.c (Qemacs, charset_emacs): New variables.
6456 (char_charset): Fix for non-Unicode characters.
6457 (syms_of_charset): Define charset_emacs.
6458
6459 * w32term.c (x_draw_glyph_string): Be sure to update
6460 s->underline_thickness and s->underline_position. Be sure to draw
6461 underline within the current line area.
6462
6463 * xterm.c (x_draw_glyph_string): Be sure to update
6464 s->underline_thickness and s->underline_position. Be sure to draw
6465 underline within the current line area.
6466
6467 * fontset.c: Delete unused variables and add casting for char *
6468 throughout the file.
6469 (fontset_font): Try the fallback fonts of the current fontset
6470 before consulting the default fontset.
6471
6472 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6473
6474 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6475
64762008-05-22 Jason Rumney <jasonr@gnu.org>
6477
6478 * font.c: Don't include strings.h.
6479
6480 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6481
6482 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6483 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6484 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6485 to call xstrcasecmp.
6486
6487 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6488
6489 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6490
6491 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6492
6493 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6494
64952008-05-22 Kenichi Handa <handa@m17n.org>
6496
6497 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6498
6499 * font.c (font_prop_validate_style): Adjust for the format
6500 change of font_style_table.
6501
6502 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6503 two args.
6504
6505 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6506 two args.
6507
65082008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6509
6510 * minibuf.c (keys_of_minibuf): Delete.
6511 * lisp.h (keys_of_minibuf): Delete.
6512 * emacs.c (main): Don't call keys_of_minibuf.
6513
65142008-05-22 Kenichi Handa <handa@m17n.org>
6515
6516 * ftfont.c (ftfont_resolve_generic_family): Rename from
6517 ftfont_list_generic_family. Return a single family for each
6518 generic family.
6519 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6520 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6521 Call font_add_log.
6522 (ftfont_match): Call font_add_log.
6523
6524 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6525 (FONT_DEBUG): Define it.
6526 (font_add_log): Extern it.
6527 (font_assert): Rename from xassert.
6528
6529 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6530 (xfont_list_family): Call font_add_log.
6531 (xfont_match): Likewise.
6532 (memq_no_quit): Delete.
6533
6534 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6535 call of Ffont_xlfd_name.
6536
6537 * xfaces.c (struct table_entry, slant_table, weight_table)
6538 (swidth_table): Move to font.c.
6539
6540 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6541 xassert are changed to font_assert. Delete many unused variables.
6542 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6543 New variables.
6544 (struct table_entry): Move from xfaces.c and modified.
6545 (weight_table, slant_table, width_table): Move from xfaces.c and
6546 contents adjusted for the change of struct table_entry.
6547 (font_style_to_value, font_style_symbolic): Adjust for the
6548 format change of font_style_table.
6549 (font_parse_family_registry): Don't overwrite existing foundry and
6550 family of font_spec.
6551 (font_score): Fix calculation of diff for sizes.
6552 (font_sort_entites): Call font_add_log.
6553 (font_delete_unmatched): Return a newly created list.
6554 (font_list_entities): Fix previous change. Call font_add_log.
6555 (font_matching_entity, font_open_entity, font_close_entity):
6556 Call font_add_log.
6557 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6558 (Finternal_set_font_style_table): Delete.
6559 (BUILD_STYLE_TABLE): New macro.
6560 (build_style_table): New function.
6561 (Vfont_log, font_log_env_checked): New variables.
6562 (font_add_log): New function.
6563 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6564 Declare Lisp variables "font-weight-table", "font-slant-table",
6565 "font-width-table", and "font-log". Initialize font_style_table.
6566
65672008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6568
6569 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6570
65712008-05-21 Seiji Zenitani <zenitani@mac.com>
6572 Ryo Yoshitake <ryo@shiftmode.net>
6573
6574 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6575 (Vframe_alpha_lower_limit): New variable.
6576 (x_set_alpha): New function.
6577
6578 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6579
6580 * xfns.c (x-create-frame, Qalpha):
6581 Initialize the frame parameter `alpha'.
6582 * xterm.c (OPAQUE, OPACITY): New.
6583 (x_set_frame_alpha): New function.
6584 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6585
6586 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6587 * w32fns.c (w32_frame_parm_handlers): Likewise.
6588
65892008-05-20 Jason Rumney <jasonr@gnu.org>
6590
6591 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6592 truetype fonts to opentype list.
6593
65942008-05-20 Juanma Barranquero <lekktu@gmail.com>
6595
6596 * fontset.c (Ffontset_info): Doc fix.
6597 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6598 <ignore-relative-composition>: Fix typos in docstrings.
6599
6600 * font.c (syms-of-font) <font-encoding-alist>:
6601 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6602 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6603 (Ffont_otf_alternates): Doc fixes.
6604
66052008-05-20 Kenichi Handa <handa@m17n.org>
6606
6607 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6608 font.h through out the file.
6609 (FONT_DRIVERS): Rename from FONTOBJ.
6610 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6611 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6612
6613 * emacs.c (main): Call syms_of_font unconditionally.
6614
6615 * font.h (find_font_encoding): Extern it.
6616
6617 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6618 fontset.c.
6619 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6620 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6621 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6622 only when HAVE_WINDOW_SYSTEM is defined.
6623 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6624 when HAVE_WINDOW_SYSTEM is defined.
6625
6626 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6627 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6628
6629 * xfaces.c: Include font.h unconditionally.
6630 (merge_face_ref, merge_face_vectors)
6631 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6632
66332008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6634
6635 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6636 indirect_variable.
6637 * eval.c (lisp_indirect_variable): New fun.
6638 (Fuser_variable_p): Use it.
6639
66402008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6641
6642 * lisp.h (indirect_variable):
6643 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6644 Use Lisp_Symbol pointers rather than Lisp_Object.
6645 Adjust callers.
6646 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6647 To this end, change calling-convention.
6648
6649 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6650 if some non-hidden buffers are selected by string&pred.
6651
66522008-05-19 Chong Yidong <cyd@stupidchicken.com>
6653
6654 * process.c (wait_reading_process_output): Always check status
6655 when in batch mode.
6656
66572008-05-19 Kenichi Handa <handa@m17n.org>
6658
6659 * font.c (font_list_entities): Fix handling of cache.
6660 (font_matching_entity): Likewise.
6661
6662 * ftfont.c (cs_iso8859_1): Delete.
6663 (ft_face_cache): New variable.
6664 (struct ftfont_info): New member fc_charset_idx.
6665 (ftfont_build_basic_charsets): Delete.
6666 (fc_charset_table): New variable.
6667 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6668 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6669 Callers changed.
6670 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6671 (ftfont_spec_pattern): New argument fc_charset_idx.
6672 Check registry more rigidly. Change callers.
6673 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6674 change of :font-entity property of the font.
6675
6676 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6677 property of the font.
6678
66792008-05-18 Juanma Barranquero <lekktu@gmail.com>
6680
6681 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6682 (Funencodable_char_position, Fcheck_coding_systems_region)
6683 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6684 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6685 (Ffind_operation_coding_system, Fset_coding_system_priority)
6686 (Fcoding_system_eol_type): Doc fixes.
6687
66882008-05-17 Glenn Morris <rgm@gnu.org>
6689
6690 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6691
66922008-05-16 Eli Zaretskii <eliz@gnu.org>
6693
6694 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6695 and st_gid.
6696
6697 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6698 HAVE_WINDOW_SYSTEM is not defined.
6699
6700 * xfaces.c (merge_face_ref, merge_face_vectors)
6701 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6702 HAVE_WINDOW_SYSTEM is defined.
6703 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6704
67052008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6706
6707 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6708
67092008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6710
6711 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6712
67132008-05-15 Kenichi Handa <handa@m17n.org>
6714
6715 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6716 preference.
6717
67182008-05-15 Glenn Morris <rgm@gnu.org>
6719
6720 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6721
67222008-05-15 Chong Yidong <cyd@stupidchicken.com>
6723
6724 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6725 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6726
6727 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6728
67292008-05-15 Kenichi Handa <handa@m17n.org>
6730
6731 * ftfont.c (ftfont_list): Downcase family name to check generic
6732 families.
6733
6734 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6735 font-spec for QCfont value.
6736
6737 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6738 buffer. Check the return value of it.
6739
67402008-05-14 Jason Rumney <jasonr@gnu.org>
6741
6742 * w32term.c (w32_get_glyph_overhangs): Remove.
6743 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6744
67452008-05-14 Kenichi Handa <handa@m17n.org>
6746
6747 * font.c (font_prop_validate): Make nil a valid value.
6748 (font_clear_cache): Check if the cached vector of entities is nil
6749 or not.
6750
67512008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6752
6753 * emacs.c (main_thread): Conditionalize on
6754 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6755 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6756
6757 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6758 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6759 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6760
67612008-05-14 Kenichi Handa <handa@m17n.org>
6762
6763 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6764 has no corresponding coding system.
6765
67662008-05-14 Jason Rumney <jasonr@gnu.org>
6767
6768 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6769
6770 * w32font.h (w32font_open_internal): Update declaration.
6771
6772 * w32font.c (w32font_open_internal): Change last argument from
6773 w32font_info struct to font object. Fill in font object from
6774 font_entity. Get Outline metrics if possible. Use them to
6775 calculate underline position and thickness. Use xlfd name as name
6776 property. Don't set codepage.
6777 (w32font_open): Pass font_object to w32font_open_internal. Don't
6778 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6779 (w32font_draw): Use s->font.
6780 (clear_cached_metrics): Don't clear non-existent blocks.
6781
6782 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6783 font was not found.
6784 (x_draw_glyph_string): Use underline position and thickness from font.
6785
6786 * w32uniscribe.c (uniscribe_open): Pass font_object to
6787 w32font_open_internal.
6788
67892008-05-14 Kenichi Handa <handa@m17n.org>
6790
6791 These changes are to delete all legacy font-handling codes, and
6792 make Emacs use only font-backends.
6793
6794 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6795 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6796
6797 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6798
6799 * charset.h (Vcharset_non_preferred_head)
6800 (Vcurrent_iso639_language): Extern them.
6801
6802 * charset.c (Vcharset_non_preferred_head): New variable.
6803 (Vcurrent_iso639_language): New variable.
6804 (syms_of_charset): Declare it as a Lisp variable.
6805 (char_charset): Don't check non preferred charsets. As a last
6806 resort, return charset_unicode.
6807 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6808
6809 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6810 conditionals. Don't check enable_font_backend. Delete all codes
6811 used only when USE_FONT_BACKEND is not defined.
6812
6813 * dispextern.h (struct glyph_string): Change type of `font' to
6814 `struct font *'.
6815 (struct glyph_string): New member underline_position and
6816 underline_thickness.
6817 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6818 (struct face): Change type of `font' to `struct font *'. Remove
6819 members `font_name', `font_info_id'.
6820 (per_char_metric, encode_char): Delete externs.
6821 (calc_pixel_width_or_height): Adjust the prototype.
6822
6823 * emacs.c (enable_font_backend): Delete extern.
6824 (main): Don't set enable_font_backend. Don't check the command
6825 line argument "-disable-font-backend".
6826
6827 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6828 (enum font_property_index): New members FONT_DPI_INDEX,
6829 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6830 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6831 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6832 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6833 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6834 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6835 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6836 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6837 (struct font_spec, struct font_entity): New structs.
6838 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6839 (struct font): Many members from old "struct font_info" moved to
6840 here. Members font and entity deleted.
6841 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6842 the new font-related objects.
6843 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6844 (CHECK_FONT_GET_OBJECT): Likewise.
6845 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6846 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6847 (struct font_driver): New members case_sensitive anc check. Type
6848 of the member list and open changed.
6849 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6850 (font_symbolic_width, font_find_object, font_get_spec)
6851 (font_set_lface_from_name): Delete extern.
6852 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6853
6854 * font.c: Include <strings.h>.
6855 (enable_font_backend): Delete it.
6856 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6857 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6858 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6859 (null_string): Delete it.
6860 (null_vector): Make it static.
6861 (font_family_alist): Delete it.
6862 (Qnormal): Extern it.
6863 (QCextra, QClanguage): Delete it.
6864 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6865 (font_make_spec, font_make_entity, font_make_object)
6866 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6867 the string. Callers changed.
6868 (font_pixel_size): Adjusted for the format change of font-related
6869 objects.
6870 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6871 (font_style_to_value, font_style_symbolic): New function.
6872 (build_font_family_alist): Delete it.
6873 (font_registry_charsets): Use Fassoc_string instead of
6874 assq_no_quit.
6875 (font_prop_validate_symbol): Don't return null_string.
6876 (font_prop_validate_style): Adjusted for the change of
6877 style-related values in a font vector.
6878 (font_property_table): Delete entries for QClanguage and
6879 QCantialias, add entries for QCavgwidth.
6880 (get_font_prop_index): Delete the 2nd argument FROM.
6881 (font_prop_validate): Arguments changed.
6882 (font_put_extra): Adjusted for the change of font-related objects.
6883 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6884 (font_parse_fcname, font_unparse_fcname)
6885 (font_prepare_composition): Likewise.
6886 (font_parse_family_registry): Renamed from font_merge_old_spec.
6887 (otf_open): Delete the 1st arg entity.
6888 (font_otf_capability): Adjusted for the above change.
6889 (font_score): New arg alternate_families. Adjusted for the change
6890 of font-related objects.
6891 (font_sort_entites): New arg best_only.
6892 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6893 Delete them.
6894 (font_match_p): Check alternate families.
6895 (font_find_object): Delete it.
6896 (font_check_object): New function.
6897 (font_clear_cache): Adjusted for the change of font-related objects.
6898 (font_delete_unmatched): New arg.
6899 (font_list_entities): Call font_driver->list with a spec that
6900 doesn't specify style-related properties.
6901 (font_matching_entity): Arguments changed. Caller changed.
6902 (font_open_entity): Adjusted for the change of font-related objects.
6903 (font_close_object, font_has_char, font_encode_char)
6904 (font_get_name, font_get_spec): Likewise.
6905 (font_spec_from_name, font_clear_prop, font_update_lface):
6906 New functions.
6907 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6908 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6909 (font_at): Adjusted for the change of font-related objects.
6910 (font_range): New function.
6911 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6912 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6913 (Fcopy_font_spec, Fmerge_font_spec): New function.
6914 (Ffont_family_list): Renamed from list-families.
6915 (Finternal_set_font_style_table): Arguments changed.
6916 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6917 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6918 change of font-related objects.
6919 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6920
6921 * fontset.h (struct font_info): Delete it. Most members go to
6922 struct font.
6923 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6924 (enum FONT_SPEC_INDEX): Delete it.
6925 (font_info, list_fonts_func, load_font_func, query_font_func)
6926 (set_frame_fontset_func, find_ccl_program_func)
6927 (get_font_repertory_func, new_fontset_from_font_name): Delete
6928 externs.
6929 (fontset_from_font_name): Extern it.
6930 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6931 (FONT_INFO_FROM_FACE): Deleted.
6932 (face_for_font): Adjust prototype.
6933
6934 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6935 conditionals. Don't check enable_font_backend. Delete all codes
6936 used only when USE_FONT_BACKEND is not defined.
6937 (get_font_info_func, list_font_func, load_font_func)
6938 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6939 (get_font_repertory_func): Delete them.
6940 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6941 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6942 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6943 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6944 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6945 (fontset_compare_rfontdef): New function.
6946 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6947 rfont-defs by qsort. Adjusted for the change of font-group vector.
6948 (load_font_get_repertory): Deleted.
6949 (fontset_find_font): Use new macros to ref/set elements of
6950 font-def and rfont-def.
6951 (fontset_font): Fix the timing of remembering that no font for C.
6952 (free_face_fontset): Do nothing if the face has no fontset.
6953 (face_suitable_for_char_p): Use new macros to ref/set elements of
6954 rfont-def.
6955 (face_for_char): Likewise. Call face_for_char with font_object.
6956 (fs_load_font): Delete. Delete #pragma surrounding it.
6957 (fs_query_fontset): Use strcasecmp instead of strcmp.
6958 (generate_ascii_font_name): Adjusted for the format change of
6959 font-spec.
6960 (Fset_fontset_font): Likewise. Use new macros to set elements of
6961 font-def.
6962 (Fnew_fontset): Use font_unparse_xlfd to generate
6963 FONTSET_ASCII (fontset).
6964 (new_fontset_from_font_name): Deleted.
6965 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6966 a fontset is already created for the font. FIx updating of
6967 Vfontset_alias_alist.
6968 (fontset_ascii_font): Deleted.
6969 (Ffont_info): Adjusted for the format change of font-spec.
6970 (Finternal_char_font): Likewise.
6971 (Ffontset_info): Likewise.
6972 (syms_of_fontset): Don't check load_font_func.
6973
6974 * fns.c (internal_equal): Handle PREV_FONT.
6975
6976 * frame.h: Delete USE_FONT_BACKEND conditional.
6977
6978 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6979 conditionals. Don't check enable_font_backend. Delete all codes
6980 used only when USE_FONT_BACKEND is not defined.
6981 (x_set_font): Call x_new_font, not x_new_fontset2.
6982 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6983 already set for the frame.
6984
6985 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6986 a font-entity by font_make_entity. Use font_intern_prop instead
6987 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6988 font property. If a font is scalable, set avgwidth property to 0.
6989 Set font-entity property by font_put_extra.
6990 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6991 (ffont_driver): Adjusted for the change of struct font_driver.
6992 (ftfont_spec_pattern): New function.
6993 (ftfont_list): Return a list, not vector.
6994 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6995 (ftfont_list_family): Don't downcase names.
6996 (ftfont_free_entity): Deleted.
6997 (ftfont_open): Return a font-object. Adjusted for the change of
6998 struct font. Get underline_thickness and underline_position from
6999 font property. Don't update dpyinfo->smallest_font_height and
7000 dpyinfo->smallest_char_width.
7001 (ftfont_close): Don't free `struct font'.
7002 (ftfont_has_char): Adjusted for the format change of font-entity.
7003 (ftfont_encode_char, ftfont_text_extents): Likewise.
7004
7005 * ftxfont.c (ftxfont_list): Return a list, not vector.
7006 (ftxfont_open): Return a font-object. Adjusted for the change of
7007 struct font. Get underline_thickness and underline_position from
7008 font property. Don't update dpyinfo->smallest_font_height and
7009 dpyinfo->smallest_char_width.
7010 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
7011 (ftxfont_draw): Adjusted for the change of struct font.
7012
7013 * image.c (image_ascent): Don't include "charset.h". Include
7014 "character.h" and "font.h".
7015
7016 * lisp.h (enum pvec_type): New member PREV_FONT.
7017 (Fassoc_string): EXFUN it.
7018
7019 * print.c: Include font.h.
7020 (print_object): Handle font-related objects.
7021
7022 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
7023 conditionals. Don't check enable_font_backend. Delete all codes
7024 used only when USE_FONT_BACKEND is not defined.
7025 (handle_auto_composed_prop): Do nothing if it->f is not on a
7026 window system. Check how many following characters can be
7027 displayed by the same font.
7028 (calc_pixel_width_or_height): Type of the 4th arg is changed to
7029 'struct font *'.
7030 (get_char_face_and_encoding): Assign the whole encoding task to
7031 the `encode-char' method of a font driver.
7032 (fill_composite_glyph_string): Adjusted for the change of `struct
7033 face' and `struct glyph_string'.
7034 (fill_glyph_string): Likewise.
7035 (get_per_char_metric): Arguments changed.
7036 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
7037 and `struct glyph_string'.
7038 (produce_stretch_glyph, calc_line_height_property)
7039 (x_produce_glyphs): Likewise.
7040
7041 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
7042 conditionals. Don't check enable_font_backend. Delete all codes
7043 used only when USE_FONT_BACKEND is not defined. Use
7044 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
7045 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
7046 (Qp): Extern them.
7047 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
7048 Deleted.
7049 (struct font_name): Deleted.
7050 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
7051 (compare_fonts_by_sort_order): New function.
7052 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
7053 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
7054 Deleted.
7055 (Fx_family_fonts): Use font_list_entities, and sort fonts by
7056 compare_fonts_by_sort_order.
7057 (Fx_font_family_list): Call Ffont_family_list.
7058 (face_numeric_value, face_numeric_weight, face_numeric_slant)
7059 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
7060 (face_symbolic_slant, face_symbolic_swidth)
7061 (split_font_name_into_vector, build_font_name_from_vector)
7062 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
7063 (font_rescale_ratio, split_font_name, build_font_name)
7064 (free_font_names, sort_fonts, x_face_list_fonts)
7065 (face_font_available_p, sorted_font_list, cmp_font_names)
7066 (font_list_1, concat_font_list, font_list, remove_duplicates):
7067 Deleted.
7068 (Fx_list_fonts): Use Ffont_list.
7069 (LFACE_AVGWIDTH): Deleted.
7070 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
7071 by FONTP.
7072 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
7073 (set_lface_from_font_name): Delete it.
7074 (set_lface_from_font): Renamed from
7075 set_lface_from_font_and_fontset. Caller changed. Don't set
7076 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
7077 for face.
7078 (merge_face_vectors): Copy font-spec if necessary.
7079 Clear properties of the font-spec if necessary.
7080 (merge_face_ref): Clear properties of the font-spec if necessary.
7081 (Finternal_set_lisp_face_attribute): Likewise.
7082 (set_font_frame_param): Use font_load_for_lface to load a
7083 font-object, and call Fmodify_frame_parameters with it.
7084 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
7085 font name by Ffont_xlfd_name.
7086 (Finternal_lisp_face_attribute_values): Don't check QCweight,
7087 QCslant, and QCwidth.
7088 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
7089 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
7090 Compare fonts by EQ.
7091 (lookup_non_ascii_face): Deleted.
7092 (face_for_font): The 2nd argument changed.
7093 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
7094 Check atomic font properties by case insensitive.
7095 (realize_non_ascii_face): Set face->overstrike correctly.
7096 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
7097 (dump_realized_face): Get font name from
7098 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
7099
7100 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
7101 conditionals. Don't check enable_font_backend. Delete all codes
7102 used only when USE_FONT_BACKEND is not defined.
7103 (xic_create_xfontset): Original code deleted and renamed from
7104 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
7105 (x_make_gc): Don't set GCFont in GCs.
7106 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
7107 opened by "fixed".
7108 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
7109 find_ccl_program_func, query_font_func, set_frame_fontset_func,
7110 get_font_repertory_func.
7111
7112 * xfont.c: Include <stdlib.h> and "ccl.h".
7113 (struct xfont_info): New structure.
7114 (xfont_query_font): Deleted.
7115 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
7116 moved from xterm.c.
7117 (xfont_driver): Adjusted for the change of struct font_driver.
7118 (compare_font_names): New function.
7119 (xfont_list_pattern): Sort font names case insensitively. Make
7120 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
7121 (xfont_list): Return a list, not vector.
7122 (xfont_match): If the font doesn't have QCname property, generate
7123 a name from the other font properties.
7124 (xfont_open): Return a font-object. Adjusted for the change of
7125 struct font. Get underline_thickness and underline_position from
7126 font property. Don't update dpyinfo->smallest_font_height and
7127 dpyinfo->smallest_char_width.
7128 (xfont_close): Don't free struct font.
7129 (xfont_prepare_face): Adjusted for the change of struct font.
7130 (xfont_done_face): Deleted.
7131 (xfont_has_char): Adjusted for the change of struct font.
7132 (xfont_encode_char, xfont_draw): Likewise.
7133 (xfont_check): New function.
7134
7135 * xftfont.c (xftfont_list): Adjusted for the change of `list'
7136 callback function.
7137 (xftfont_match): Adjusted for the format change of font-entity.
7138 (xftfont_open): Adjusted for the format change of font-entity and
7139 font-object. Adjusted for the change of struct font. Return a
7140 font-object. Don't update dpyinfo->smallest_font_height and
7141 dpyinfo->smallest_char_width.
7142 (xftfont_close): Block input while calling XftFontClose.
7143 (xftfont_prepare_face): Don't block input while calling
7144 xftfont_get_colors. Adjusted for the change of struct font.
7145 (xftfont_shape): Return value of error case fixed.
7146
7147 * xrdb.c (x_load_resources): Don't setup a fontset resource.
7148
7149 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
7150 conditionals.
7151 (FONT_WIDTH): Return (f)->max_width.
7152 (struct x_display_info): Delete member `font'.
7153 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
7154 (x_find_ccl_program, x_get_font_repertory): Delete externs.
7155 (struct x_output): Change type of `font' to `struct font *'.
7156
7157 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
7158 conditionals. Don't check enable_font_backend. Delete all codes
7159 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
7160 (x_per_char_metric, x_encode_char): Deleted.
7161 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
7162 (x_compute_glyph_string_overhangs): Adjusted for the change of
7163 `struct face'.
7164 (x_draw_glyph_string_foreground)
7165 (x_draw_composite_glyph_string_foreground): Likewise.
7166 (x_draw_glyph_string): Likewise. Use font->underline_position and
7167 font->underline_thickness.
7168 (x_new_font): Renamed from x_new_fontset2.
7169 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
7170 (x_check_font): Call `check' method of a font driver.
7171 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
7172 (x_query_font, x_get_font_repertory): Deleted.
7173 (x_find_ccl_program): Renamed and moved to xfont.c.
7174 (x_redisplay_interface): Adjusted for the change of `struct
7175 redisplay_interface'.
7176
7177 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
7178 conditionals. Don't check enable_font_backend. Delete all codes
7179 used only when USE_FONT_BACKEND is not defined. Surround non-used
7180 code by "#ifdef OLD_FONT" and "endif".
7181 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
7182
7183 * w32font.h (struct w32font_info): New member.
7184 (FONT_COMPAT): New macro.
7185 (w32font_open_internal): Prototype adjusted.
7186
7187 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
7188 OLD_FONT" and "endif".
7189
7190 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
7191 conditionals. Don't check enable_font_backend. Delete all codes
7192 used only when USE_FONT_BACKEND is not defined.
7193 (w32font_open): Return a font-object. Make a font-object by
7194 font_make_object. Adjusted for the change of struct w32font_info.
7195 (w32font_close): Don't free struct font. Adjusted for the change
7196 of struct w32font_info.
7197 (w32font_encode_char, w32font_text_extents, w32font_draw):
7198 Adjusted for the change of struct w32font_info.
7199 (w32font_draw): Likewise.
7200 (w32font_list_internal): Return a list, not vector.
7201 (w32font_open_internal): Change the 4th arg to font-object.
7202 Adjusted for the change of struct w32font_info and font-object format.
7203 (add_font_name_to_list): Don't downcase names.
7204 (w32_enumfont_pattern_entity): Make a font-entity by
7205 font_make_entity. Adjusted for the format change of font-entity.
7206 Use FONT_SET_STYLE to set a style-related font property. If a
7207 font is scalable, set avgwidth property to 0. Set font-entity
7208 property by font_put_extra.
7209 (font_matches_spec): Adjusted for the format change of font-entity.
7210 (w32_weight_table, w32_decode_weight): New variables.
7211 (w32_encode_weight): New function.
7212 (fill_in_logfont): Adjusted for the format change of font-spec.
7213 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
7214 weight value.
7215 (w32font_driver): Adjusted for the change of struct font_driver.
7216
7217 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
7218 conditionals. Don't check enable_font_backend. Surround non-used
7219 code by "#ifdef OLD_FONT" and "endif".
7220 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
7221 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
7222
7223 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
7224 conditionals. Don't check enable_font_backend. Delete all codes
7225 used only when USE_FONT_BACKEND is not defined. Surround non-used
7226 code by "#ifdef OLD_FONT" and "endif".
7227
7228 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
7229 (uniscribe_open): Return value changed to font-object.
7230 Adjusted for the format change of font-object.
7231 (uniscribe_otf_capability): Adjusted for the change of struct font.
7232 (add_opentype_font_name_to_list): Don't downcase names.
7233 (uniscribe_font_driver): Adjusted for the change of struct
7234 font_driver.
7235
72362008-05-13 Chong Yidong <cyd@stupidchicken.com>
7237
7238 * dispnew.c (update_frame_1): Check if tty output is still valid
7239 before flushing it.
7240
72412008-05-13 Jan Djärv <jan.h.d@swipnet.se>
7242
7243 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
7244 to Gtk+ menus.
7245
72462008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
7247
7248 * dired.c (file_name_completion): Tweak the code so as to always do it
7249 in a single pass. Tighten the scope of some variables.
7250
7251 * dired.c (Qdefault_directory): New var.
7252 (file_name_completion): Use it instead of Fexpand_file_name.
7253 (syms_of_dired): Initialize it.
7254
72552008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7256
7257 * fileio.c (double_dollars): Remove dead code.
7258
72592008-05-10 Eli Zaretskii <eliz@gnu.org>
7260
7261 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
7262 Mention w32-get-true-file-attributes in doc string.
7263
7264 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
7265
72662008-05-09 Glenn Morris <rgm@gnu.org>
7267
7268 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
7269 2008-04-23.
7270
72712008-05-09 Eli Zaretskii <eliz@gnu.org>
7272
7273 Support for reporting owner and group of each file on MS-Windows:
7274 * dired.c (stat_uname, stat_gname): New functions, with special
7275 implementation for w32.
7276 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
7277
7278 * w32.c: Rename the_passwd_* to dflt_passwd_*.
7279 (dflt_group_name): New static variable.
7280 (dflt_group): Rename from the_group.
7281 (init_user_info): Init dflt_group fields. Get user's group name
7282 from LookupAccountSid.
7283 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
7284 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
7285 New initialization states.
7286 (globals_of_w32): Initialize them to zero. Initialize the default
7287 group name to "None".
7288 (GetFileSecurity_Name): New global var, the name of the function
7289 to call for GetFileSecurity.
7290 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
7291 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
7292 (get_file_security, get_security_descriptor_owner)
7293 (get_security_descriptor_group, is_valid_sid)
7294 (get_file_security_desc, get_rid, get_name_and_id)
7295 (get_file_owner_and_group): New functions.
7296 (stat): Use get_file_security_desc and get_file_owner_and_group to
7297 report the owner and primary group of each file. Don't ignore the
7298 high 32 bits of file's size, now that st_size is 64-bit wide.
7299 Fix test when to get true file attributes.
7300 (init_user_info): Use get_rid instead of equivalent inline code.
7301 (fstat): Don't ignore the high 32 bits of file's size.
7302
73032008-05-09 Chong Yidong <cyd@stupidchicken.com>
7304
7305 * image.c (png_load): Use correct bit-depth for setting background
7306 color.
7307
73082008-05-08 Eli Zaretskii <eliz@gnu.org>
7309
7310 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
7311 epa-hook.elc.
7312
73132008-05-08 Juanma Barranquero <lekktu@gmail.com>
7314
7315 * font.c (Ffont_match_p): Don't use `iff' in docstring.
7316
73172008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
7318
7319 * macfns.c (Fx_create_frame): Make a copy of frame parameters
7320 because the original parameters are in pure storage now.
7321 (mac_window): Remove unused params. Update callers.
7322
73232008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
7324
7325 * lread.c (substitute_object_recurse): Use lower-level primitives.
7326 Don't signal errors when traversing sub-char-tables.
7327 Don't loop over all the possible characters when traversing char-tables.
7328
7329 * print.c (print_preprocess): Add sub-char-tables to the print-table,
7330 just like we do in print.c.
7331
73322008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
7333
7334 * minibuf.c (Ftry_completion): Remove code left over from when we used
7335 scmp instead of Fcompare_strings.
7336
73372008-05-04 Juanma Barranquero <lekktu@gmail.com>
7338
7339 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
7340
73412008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7342
7343 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
7344 Create bitmap context in native byte order.
7345
7346 * macterm.c (XDrawLine)
7347 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
7348 context in native byte order.
7349
73502008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7351
7352 * config.in: Regenerate.
7353
7354 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
7355 New definitions for Image I/O support.
7356 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
7357 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
7358 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7359 (mac_data_provider_release_data, image_load_image_io)
7360 [USE_MAC_IMAGE_IO]: New functions.
7361 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
7362 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
7363 (init_image_func_pointer) [MAC_OSX]: Remove function.
7364 (image_load_quartz2d) [MAC_OSX]: Check availability of
7365 CGImageCreateWithPNGDataProvider at compile time.
7366 Use lowercase `false' for boolean constant.
7367 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
7368 Use image_load_image_io.
7369 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
7370 Don't check MyCGImageCreateWithPNGDataProvider.
7371 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
7372 Don't call init_image_func_pointer.
7373
7374 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
7375
7376 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
7377 Make variable non-static.
7378 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
7379 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7380
7381 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
7382 (RED_FROM_ULONG): Mask off higher bits.
7383 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
7384
7385 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
7386 Include AvailabilityMacros.h.
7387 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
7388 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
7389
73902008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
7391
7392 * chartab.c (Fset_char_table_range): If range is t, really set all
7393 chars to that value.
7394
73952008-05-03 Eli Zaretskii <eliz@gnu.org>
7396
7397 * dired.c (Ffile_attributes): Don't allow the device number become
7398 negative.
7399
74002008-05-02 Daiki Ueno <ueno@unixuser.org>
7401
7402 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
7403
74042008-05-02 Juri Linkov <juri@jurta.org>
7405
7406 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
7407 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
7408 DEFAULT argument as a list of default values in docstrings.
7409
74102008-05-01 Chong Yidong <cyd@stupidchicken.com>
7411
7412 * puresize.h (BASE_PURESIZE): Increase to 1210000.
7413
74142008-05-01 Martin Rudalics <rudalics@gmx.at>
7415
7416 * dispnew.c (change_frame_size_1): Preserve small windows when
7417 shrinking frames by calling set_window_height|width with third
7418 arg 2.
7419
7420 * window.h (struct window): Replace field too_small_ok by field
7421 resize_proportionally.
7422
7423 * window.c (make_window): Initialize resize_proportionally.
7424 (enlarge_window): Temporarily set resize_proportionally to make
7425 sure that shrink_windows does scale the window proportionally.
7426 (shrink_windows): When window has resize_proportionally set try
7427 to shrink it proportionally by stealing from other windows.
7428 (struct saved_window, Fset_window_configuration)
7429 (compare_window_configurations): Handle resize_proportionally.
7430 (WINDOW_TOTAL_SIZE): New macro.
7431 (window_min_size, shrink_windows, size_window): Use it.
7432 (check_min_window_sizes): Remove. Invalid values of
7433 window-min-height|width are handled by window_min_size_2 now.
7434 (size_window, Fsplit_window, enlarge_window)
7435 (adjust_window_trailing_edge, grow_mini_window): Don't call
7436 check_min_window_sizes.
7437 (window_min_size_2, window_min_size_1, window_min_size):
7438 New argument safe_p for retrieving "safe" minimum sizes.
7439 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7440 (adjust_window_trailing_edge, grow_mini_window):
7441 Adjust arguments of window_min_size... functions.
7442 (shrink_windows): Argument min_size removed. New argument
7443 safe_p allows shrinking windows to their safe minimum sizes.
7444 Calculate minimum size and decide whether a window shall be
7445 deleted for each window individually.
7446 (size_window): When nodelete_p equals 2, tell shrink_windows to
7447 delete windows only if their new minimum size is no more safe.
7448 (shrink_window_lowest_first): Call window_min_size_1 to make
7449 sure to preserve modeline of bottom-most window when resizing
7450 the minibuffer.
7451 (Fset_window_configuration, Fcurrent_window_configuration)
7452 (compare_window_configurations): Do not handle
7453 window-min-height|width any more.
7454 (syms_of_window): Clarify window-min-height|width doc-strings.
7455
74562008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7457
7458 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7459 some more. Copy some of the code from Ftry_completions.
7460 Remove special case code that dates back to initial revision when the
7461 slash was only added when necessary and that can't trigger nowadays.
7462
74632008-04-27 Kenichi Handa <handa@m17n.org>
7464
7465 * font.c (font_prop_validate): Signal `error' instead of `font'.
7466
74672008-04-29 Jason Rumney <jasonr@gnu.org>
7468
7469 * w32fns.c (Fw32_battery_status): New defun.
7470 (syms_of_w32fns): Defsubr it.
7471
74722008-04-28 Andreas Schwab <schwab@suse.de>
7473
7474 * dired.c (file_name_completion): Fix another mixing of encoded
7475 and decoded names.
7476
74772008-04-28 Juanma Barranquero <lekktu@gmail.com>
7478
7479 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7480
74812008-04-27 Juanma Barranquero <lekktu@gmail.com>
7482
7483 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7484
74852008-04-27 Andreas Schwab <schwab@suse.de>
7486
7487 * dired.c (file_name_completion): Fix inappropriate mixing of
7488 encoded and decoded names.
7489
7490 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7491
7492 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7493
74942008-04-26 Eli Zaretskii <eliz@gnu.org>
7495
7496 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7497 2008-03-31, it's not needed anymore with `struct stat' definition
7498 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7499 for the same reasons.
7500
75012008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7502
7503 * m/sparc.h: Additional redefinitions for GNU/Linux.
7504
75052008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7506
7507 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7508 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7509 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7510 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7511 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7512 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7513 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7514 Likewise.
7515
7516 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7517 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7518 (mac_ax_number_of_characters): Add externs.
7519 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7520 [USE_MAC_TSM]: Likewise.
7521 (mac_handle_text_input_event) [MAC_OSX]:
7522 Handle kEventTextInputOffsetToPos for no active input area case.
7523 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7524 (mac_handle_document_access_event)
7525 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7526 (install_application_handler) [MAC_OSX]: Register handlers for
7527 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7528 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7529 Register mac_handle_document_access_event.
7530
7531 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7532 Make functions non-static.
7533
75342008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7535
7536 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7537 (read_file_name_completion_ignore_case, insert_default_directory)
7538 (Qdefault_directory): Move to minibuffer.el.
7539 (Fread_file_name): Call the new `read-file-name' instead.
7540
75412008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7542
7543 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7544 Make function non-static.
7545 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7546 Remove function.
7547 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7548 Move to mactoolbox.c.
7549 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7550
7551 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7552 (mac_rect_make): New macro.
7553
7554 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7555 instead of float.
7556 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7557 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7558 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7559 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7560 CGRectMake.
7561 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7562 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7563 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7564 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7565 instead of WindowRef in argument type.
7566 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7567 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7568 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7569 instead of DISPLAY. All uses changed.
7570 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7571 (x_calc_absolute_position): Simplify so as not to use
7572 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7573
7574 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7575 instead of WindowRef in argument type.
7576 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7577 [TARGET_API_MAC_CARBON]: Remove externs.
7578 (create_apple_event, mac_event_parameters_to_lisp)
7579 [TARGET_API_MAC_CARBON]: Add externs.
7580
7581 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7582 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7583 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7584 is clicked.
7585 (x_activate_menubar): Remove extern for saved_menu_event_location.
7586 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7587 Move from mac.c.
7588
75892008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7590
7591 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7592 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7593
75942008-04-23 Jason Rumney <jasonr@gnu.org>
7595
7596 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7597 attributes only for local files.
7598
7599 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7600 default to Qlocal.
7601
76022008-04-22 Juri Linkov <juri@jurta.org>
7603
7604 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7605 read-buffer-to-switch instead of using the letter "B".
7606
76072008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7608
7609 * fileio.c (Qdefault_directory): New variable.
7610 (Fread_file_name): Use it to pass `dir' to the completion functions.
7611
76122008-04-20 Chong Yidong <cyd@stupidchicken.com>
7613
7614 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7615
76162008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7617
7618 * keyboard.c (Vpre_help_message): Remove.
7619 (show_help_echo): Remove default C code.
7620
7621 * dired.c (directory_files_internal, file_name_completion):
7622 Only call ENCODE_FILE if the string is indeed decoded.
7623
76242008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7625
7626 * Makefile.in (TOOLKIT_DEFINES): Remove.
7627 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7628
76292008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7630
7631 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7632 (mactoolbox.o): New target.
7633
7634 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7635 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7636
7637 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7638 Use mac_set_frame_window_background instead of XSetWindowBackground.
7639 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7640 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7641 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7642 instead of SetWindowTitleWithCFString.
7643 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7644 Move function to mactoolbox.c.
7645 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7646 Use mac_set_window_modified instead of SetWindowModified.
7647 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7648 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7649 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7650 FrontNonFloatingWindow. Use mac_activate_window instead of
7651 ActivateWindow. Use mac_active_non_floating_window instead of
7652 ActiveNonFloatingWindow.
7653 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7654 Use mac_show_hourglass and mac_hide_hourglass.
7655 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7656 instead of GetGlobalMouse.
7657 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7658 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7659 Use mac_bring_window_to_front instead of BringToFront.
7660 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7661 mactoolbox.c.
7662 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7663 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7664 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7665 mactoolbox.c.
7666
7667 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7668 (XtPointer): Move typedef from macmenu.c.
7669 (enum button_type): Move enum from macmenu.c.
7670 (widget_value): Move typedef from macmenu.c.
7671 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7672 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7673 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7674 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7675 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7676 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7677 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7678 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7679 (Selection): Move typedef from macselect.c.
7680 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7681 macterm.c.
7682 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7683 (mac_is_window_collapsed, mac_bring_window_to_front)
7684 (mac_send_window_behind, mac_hide_window, mac_show_window)
7685 (mac_collapse_window, mac_front_non_floating_window)
7686 (mac_active_non_floating_window, mac_activate_window)
7687 (mac_move_window_structure, mac_move_window, mac_size_window)
7688 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7689
7690 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7691 (enum mac_menu_kind): Move enum to mactoolbox.c.
7692 (min_menu_id): Move variable to mactoolbox.c.
7693 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7694 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7695 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7696 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7697 [TARGET_API_MAC_CARBON]: Likewise.
7698 (XtPointer): Move typedef to macgui.h.
7699 (enum button_type): Move enum to macgui.h.
7700 (widget_value): Move typedef to macgui.h.
7701 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7702 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7703 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7704 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7705 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7706 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7707 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7708 (popup_activated_flag): Make variable non-static.
7709 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7710 (add_menu_item, fill_menu, dispose_menus):
7711 Move functions to mactoolbox.c.
7712 (restore_show_help_function, menu_target_item_handler)
7713 (install_menu_target_item_handler, mac_handle_dialog_event)
7714 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7715 [TARGET_API_MAC_CARBON]: Likewise.
7716 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7717 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7718 (find_and_call_menu_selection, name_is_separator): Make function
7719 non-static.
7720 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7721 to mactoolbox.c.
7722 (set_frame_menubar): Don't call install_menu_quit_handler.
7723 (menu_item_selection): New variable.
7724 (mac_menu_show): Use create_and_show_popup_menu.
7725 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7726 selection but set variable menu_item_selection. All uses changed.
7727 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7728 Call install_menu_quit_handler. Move to mactoolbox.c.
7729
7730 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7731 (Selection): Move typedef to macgui.h.
7732 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7733 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7734 Make variables non-static.
7735 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7736 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7737 Make functions non-static.
7738 (Vmac_service_selection) [MAC_OSX]: Likewise.
7739 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7740 (mac_valid_selection_target_p, mac_clear_selection)
7741 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7742 (mac_put_selection_value, mac_selection_has_target_p)
7743 (mac_get_selection_value, mac_get_selection_target_list)
7744 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7745 Move functions to mactoolbox.c.
7746 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7747 Likewise.
7748 (copy_scrap_flavor_data, mac_handle_service_event)
7749 (install_service_handler) [MAC_OSX]: Likewise.
7750 (syms_of_macselect) <Vmac_dnd_known_types>:
7751 Use mac_dnd_default_known_types.
7752
7753 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7754 Move to mactoolbox.c.
7755 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7756 (Fx_selection_owner_p): Add EXFUN.
7757 (install_window_handler, remove_window_handler, XSetWindowBackground):
7758 Remove externs.
7759 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7760 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7761 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7762 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7763 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7764 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7765 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7766 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7767 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7768 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7769 (mac_valid_selection_target_p, mac_clear_selection)
7770 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7771 (mac_put_selection_value, mac_selection_has_target_p)
7772 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7773 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7774 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7775 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7776 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7777 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7778 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7779 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7780 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7781
7782 * mactoolbox.c: New file.
7783
77842008-04-18 Jason Rumney <jasonr@gnu.org>
7785
7786 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7787
77882008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7789
7790 * character.c (Fmultibyte_char_to_unibyte):
7791 Return latin1 chars unchanged.
7792
7793 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7794 relocated if it points to `name'.
7795
77962008-04-17 Kenichi Handa <handa@m17n.org>
7797
7798 * data.c (Faset): Allow setting a multibyte character in an
7799 ASCII-only unibyte string.
7800
7801 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7802
78032008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7804
7805 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7806 done in config.h.
7807
78082008-04-16 Juanma Barranquero <lekktu@gmail.com>
7809
7810 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7811 (Fchar_direction): Add usage in the docstring.
7812
78132008-04-15 Chong Yidong <cyd@stupidchicken.com>
7814
7815 * keyboard.c (read_key_sequence): Remove always-true checks.
7816
78172008-04-14 Jason Rumney <jasonr@gnu.org>
7818
7819 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7820 compatibility struct, for better underline positioning.
7821
78222008-04-13 David Hansen <david.hansen@gmx.net>
7823
7824 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7825 string.
7826
78272008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7828
7829 * m/hp800.h (XUINT, XSET): Remove.
7830
78312008-04-12 Juanma Barranquero <lekktu@gmail.com>
7832
7833 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7834 previous change.
7835
78362008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7837
7838 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7839 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7840
78412008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7842
7843 * keymap.h (map_keymap_canonical): Declare.
7844 * xmenu.c (single_keymap_panes): Use it.
7845
78462008-04-11 Glenn Morris <rgm@gnu.org>
7847
7848 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7849 set the target's value to that of the alias.
7850
78512008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7852
7853 * term.c (set_tty_color_mode): Left over typo.
7854
78552008-04-10 Michael Albinus <michael.albinus@gmx.de>
7856
7857 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7858 only after check for file name handler functions. Signal, when
7859 native functionality is not supported.
7860 (syms_of_fileio): Declare it unconditionally.
7861
78622008-04-10 Jason Rumney <jasonr@gnu.org>
7863
7864 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7865 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7866
7867 * w32.c (logon_network_drive): Also logon to remote drives that
7868 are mapped to drive letters.
7869
78702008-04-10 Glenn Morris <rgm@gnu.org>
7871
7872 * xdisp.c (truncate-partial-width-windows): Doc fix.
7873
78742008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7875
7876 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7877 Move functions to minibuffer.el.
7878 (syms_of_fileio): Don't declare them.
7879
78802008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7881
7882 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7883 (syms_of_minibuf): Remove its initialization.
7884
7885 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7886
78872008-04-09 Juanma Barranquero <lekktu@gmail.com>
7888
7889 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7890
78912008-04-09 Jason Rumney <jasonr@gnu.org>
7892
7893 * makefile.w32-in (distclean): Delete makefile too.
7894 (maintainer-clean): New target.
7895
7896 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7897
7898 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7899 for new font backend and composite cases.
7900
79012008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7902
7903 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7904 Most of the code moved to run_timers.
7905 (do_pending_atimers): Call run_timers.
7906 (run_timers): New function.
7907
7908 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7909 run atimers.
7910
7911 * process.c (wait_reading_process_output): The same as above.
7912
79132008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7914
7915 * minibuf.c (last_exact_completion): Remove variable.
7916 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7917 (complete_and_exit_1, complete_and_exit_2)
7918 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7919 (Fdisplay_completion_list, display_completion_list_1)
7920 (Fminibuffer_completion_help, Fself_insert_and_exit)
7921 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7922 minibuffer.el.
7923 (syms_of_minibuf): Remove corresponding initializations.
7924
7925 * keyboard.c (Qdeactivate_mark): New var.
7926 (command_loop_1): Use it to call `deactivate-mark'.
7927 (syms_of_keyboard): Initialize it.
7928
7929 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7930 to another frame.
7931 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7932 Don't call set_tty_color_mode.
7933 (store_frame_param): Reset previous_frame rather than call
7934 set_tty_color_mode.
7935 * term.c (set_tty_color_mode): Rewrite.
7936 * dispextern.h (set_tty_color_mode): New type.
7937 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7938
79392008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7940
7941 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7942 for generic chars, which do not exist any more in emacs-unicode.
7943
79442008-04-08 Michael Albinus <michael.albinus@gmx.de>
7945
7946 * coding.c (detect_coding_emacs_mule)
7947 (Ffind_operation_coding_system): Fix typo.
7948
79492008-04-08 Jason Rumney <jasonr@gnu.org>
7950
7951 * w32uniscribe.c (SNAME): Extract only symbol name.
7952
7953 * w32font.h (struct w32_metric_cache): New struct.
7954 (w32font_info): Use it.
7955 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7956 (CACHE_BLOCKSIZE): New constants.
7957
7958 * w32font.c (Qja, Qko, Qzh): New symbols.
7959 (syms_of_w32font): Initialise them.
7960 (font_matches_spec): Use them to filter by language.
7961 (recompute_cached_metrics): Remove function.
7962 (compute_metrics, clear_cached_metrics): New functions.
7963 (w32font_encode_char): Use them to manage metric cache.
7964 (w32font_text_extents): Cache metrics for all glyphs on demand.
7965 Delay converting glyph indices to WORD until needed.
7966 (w32font_open_internal): Initialize metric cache to empty.
7967 (registry_to_w32_charset): Charset should always be a symbol.
7968 (fill_in_logfont, list_all_matching_fonts): Family should
7969 always be a symbol.
7970
79712008-04-06 Jason Rumney <jasonr@gnu.org>
7972
7973 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7974 Give up if glyph indices not supported. Use uniscribe obtained
7975 ABC widths for individual metrics. Map glyph clusters back to
7976 characters using fClusterStart flag. Return number of glyphs
7977 produced, not chars processed.
7978 (uniscribe_shape): Map char at FROM to current glyph.
7979
79802008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7981
7982 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7983 Use SetMenuItemHierarchicalMenu.
7984
79852008-04-05 Jason Rumney <jasonr@gnu.org>
7986
7987 * image.c (pbm_load): Allow color values up to 65535.
7988 Throw an error if max_color_idx is outside the supported range.
7989 Report an error when image size is invalid.
7990 Read two bytes at a time when raw images have max_color_idx above 255.
7991
79922008-04-05 Eli Zaretskii <eliz@gnu.org>
7993
7994 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7995 cFileName a file name that includes `?' characters, use the 8+3
7996 alias in cAlternateFileName instead.
7997
79982008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7999
8000 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
8001 append "CCL: Quitted" when the CCL program is quitted.
8002 (setup_ccl_program): Initialize ccl->quit_silently to zero.
8003
8004 * ccl.h (struct ccl_program): New member quit_silently.
8005
80062008-04-05 Chong Yidong <cyd@stupidchicken.com>
8007
8008 * search.c (compile_pattern_1): Treat non-nil and non-string of
8009 search-spaces-regexp as nil.
8010
8011 * minibuf.c (Fassoc_string): Tweak docstring.
8012
80132008-04-05 Eli Zaretskii <eliz@gnu.org>
8014
8015 * dired.c (Ffile_attributes): Support inode numbers wider than 32
8016 bits. Remove ugly WINDOWSNT-specific kludge introduced on
8017 2008-03-14 to force inode be positive.
8018
8019 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
8020 _S_* ones, since we now use our own sys/stat.h.
8021 (stat, fstat): Don't mangle the inode number.
8022 (init_user_info): Don't restrict UID and GID to 0-60000 range.
8023
80242008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
8025
8026 * frame.h (struct frame): Give one more bit to `visible' since we use
8027 values larger than 1 to indicate obscured frames on ttys.
8028
8029 * keymap.c (Qkeymap_canonicalize): New var.
8030 (Fmap_keymap_internal): New fun.
8031 (describe_map): Use keymap-canonicalize.
8032
8033 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
8034 (Fundo_boundary): Set them.
8035 (syms_of_undo): Initialize them.
8036 (record_point): Use them instead of last_point_position*.
8037 (last_undo_buffer): Change type.
8038
80392008-04-04 Jason Rumney <jasonr@gnu.org>
8040
8041 * w32font.c (w32font_text_extents): Use font's ascent and descent.
8042 (recompute_cached_metrics): Don't set ascent and descent per char.
8043
8044 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
8045 (uniscribe_check_otf): Add GC protection before consing.
8046 Rearrange loop for counting features.
8047
80482008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
8049
8050 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
8051 buffer with byte-size of source buffer.
8052
80532008-04-03 Chong Yidong <cyd@stupidchicken.com>
8054
8055 * callint.c (Fcall_interactively): Handle temporary region even
8056 when shift-select-mode is off.
8057
80582008-04-03 Jason Rumney <jasonr@gnu.org>
8059
8060 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
8061
80622008-04-03 Kenichi Handa <handa@m17n.org>
8063
8064 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
8065 (CATEGORY_MASK_UTF_16): Likewise.
8066 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
8067 binary file.
8068 (detect_coding): Add null-byte detection for a binary file.
8069 (detect_coding_system): Likewise.
8070
80712008-04-03 Jason Rumney <jasonr@gnu.org>
8072
8073 * w32uniscribe.c: New file.
8074
8075 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
8076
8077 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
8078
8079 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
8080 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
8081 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
8082 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
8083 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
8084 (Qphonetic): New symbols.
8085 (syms_of_w32font): Initialize them.
8086 (font_supported_scripts): Use them.
8087 (w32font_list_family): List all charsets.
8088 (w32font_text_extents, recompute_cached_metrics): Fix metric
8089 calculations.
8090 (w32_enumfont_pattern_entity): Make full_type a DWORD.
8091 Give opentype fonts their own format.
8092 (font_matches_spec): New arguments backend and logfont.
8093 Handle :otf spec for uniscribe backend.
8094 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
8095 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
8096
8097 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
8098 font backend.
8099 (globals_of_w32fns): Initialize uniscribe font backend.
8100
8101 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
8102 dependencies.
8103 (w32uniscribe.$(O)): New file to build.
8104 (FONT_OBJ): Include w32uniscribe.$(O).
8105 (LIBS): Add uniscribe libraries.
8106
8107 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
8108
81092008-04-02 Chong Yidong <cyd@stupidchicken.com>
8110
8111 * callint.c (Vshift_select_mode): New var.
8112 (Finteractive): Document new ^ spec.
8113 (Fcall_interactively): Call handle-shift-selection if the ^ spec
8114 is present.
8115
8116 * keyboard.c (Vthis_command_keys_shift_translated): New var.
8117 (command_loop_1): Avoid running the direct display versions of
8118 forward-char and backward-char if shift-selection may occur.
8119 (read_key_sequence): Set Vthis_command_keys_shift_translated if
8120 shift-translation takes place.
8121
8122 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
8123 avoid clobbering by define-minor-mode.
8124
8125 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
8126 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
8127
8128 * syntax.c (Fforward_word): Add ^ interactive spec.
8129
8130 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
8131 (Fscroll_right): Add ^ interactive spec.
8132
81332008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
8134
8135 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
8136
8137 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
8138
8139 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
8140
81412008-03-31 Juri Linkov <juri@jurta.org>
8142
8143 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
8144
81452008-03-30 Jan Djärv <jan.h.d@swipnet.se>
8146
8147 * gtkutil.c (xg_set_geometry): Fix indentation.
8148 (xg_resize_outer_widget): Remove.
8149 (x_wm_size_hint_off): Fix indentation.
8150 (xg_frame_set_char_size): Call flush_and_sync after
8151 gtk_window_resize.
8152 (x_wm_set_size_hint): Pass NULL as geometry window to
8153 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
8154 Add menu bar and tool bar height to base height.
8155 (xg_update_frame_menubar, free_frame_menubar)
8156 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
8157 (update_frame_tool_bar, free_frame_tool_bar):
8158 Change xg_resize_outer_widget to xg_frame_set_char_size.
8159
81602008-03-30 Michael Albinus <michael.albinus@gmx.de>
8161
8162 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
8163 (Fdbus_call_method): New parameter TIMEOUT.
8164 (dbus-send-signal): Optimize UNGCPRO call.
8165
81662008-03-29 Juri Linkov <juri@jurta.org>
8167
8168 * window.c (Fdisplay_buffer): Move call to
8169 Vsplit_window_preferred_function out of conditions that check
8170 if window is eligible for vertical splitting.
8171 When Vsplit_window_preferred_function is non-nil, call it and use
8172 its non-nil return value as window. Otherwise, continue doing
8173 vertical splitting using Fsplit_window with arg horflag=nil.
8174 (syms_of_window) <Vsplit_window_preferred_function>: Change the
8175 default value from `split-window' to nil.
8176
81772008-03-29 Juri Linkov <juri@jurta.org>
8178
8179 * callint.c (Fcall_interactively): Revert 2008-03-16 change
8180 for interactive code letters 'b' and 'B'.
8181
81822008-03-29 Eli Zaretskii <eliz@gnu.org>
8183
8184 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
8185 multibyte string.
8186
81872008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
8188
8189 * keyboard.c (pending_funcalls): New var.
8190 (timer_check): Run it.
8191 (syms_of_keyboard): Initialize it.
8192 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
8193 (Vdelete_terminal_functions): New vars.
8194 (syms_of_terminal): Initialize them.
8195 (Fdelete_terminal): Run delete-terminal-functions.
8196 * xdisp.c (safe_eval): Rewrite.
8197 (safe_call2): New fun.
8198 * frame.c (Qdelete_frame_functions): New var.
8199 (syms_of_frame): Initialize it.
8200 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
8201 * lisp.h (safe_call2, pending_funcalls): Declare.
8202
82032008-03-28 Andreas Schwab <schwab@suse.de>
8204
8205 * indent.c (Fmove_to_column): Move declaration before statements.
8206
82072008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
8208
8209 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
8210 (struct frame): Use bit fields for boolean vars.
8211
8212 * process.c (server_accept_connection): Simplify naming.
8213 (emacs_get_tty_pgrp): Use SDATA.
8214
8215 * coding.c (decode_coding_object): Fix last change.
8216
82172008-03-27 Jason Rumney <jasonr@gnu.org>
8218
8219 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
8220
82212008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
8222
8223 * charset.c (Fdefine_charset_internal): Change the way of
8224 registering charsets in Vcharset_order_list.
8225 (syms_of_charset): Make the charset `eight-bit' supplementary.
8226
82272008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
8228
8229 * regex.c (EXTEND_BUFFER): Change order of pointer addition
8230 operations, to avoid having the difference between pointers
8231 overflow.
8232
82332008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
8234
8235 * indent.c (check_display_width): New fun.
8236 (scan_for_column): Use it.
8237
8238 * data.c (syms_of_data): Mark most-positive-fixnum and
8239 most-negative-fixnum as constants.
8240
8241 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
8242
8243 * indent.c (scan_for_column): Extract from current_column_1.
8244 Merge with the same code from Fmove_to_column.
8245 (current_column_1, Fmove_to_column): Use it.
8246
82472008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
8248
8249 * keymap.c (map_keymap_internal): New fun.
8250 (map_keymap): Use it.
8251 (Fmap_keymap_internal): New fun.
8252 (Fmap_keymap): Remove left-out test from before make_save_value.
8253
8254 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
8255
8256 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
8257 Use XCAR/XCDR.
8258
8259 * process.h (struct Lisp_Process): Remove filter_multibyte.
8260 * process.c (QCfilter_multibyte): Remove.
8261 (setup_process_coding_systems): Don't use filter_multibyte.
8262 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
8263 (read_process_output): Don't adjust multibyteness to filter_multibyte.
8264 (Fset_process_filter_multibyte): Change the coding-system to
8265 approximate the previous behavior.
8266 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
8267 coding-system.
8268
8269 * coding.c (decode_coding_object): When not decoding into a buffer,
8270 obey the coding system's preference of (uni|multi)byte.
8271
82722008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
8273
8274 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
8275 every char is changed and has a different byte-length.
8276 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
8277 Fix int -> EMACS_INT.
8278
82792008-03-23 David Hansen <david.hansen@gmx.net>
8280
8281 * dbusbind.c (xd_read_message): Remove extra copying of message
8282 strings. Check for NULL `interface' or `member'.
8283
82842008-03-22 Eli Zaretskii <eliz@gnu.org>
8285
8286 * w32.c (readdir): If FindFirstFile/FindNextFile return in
8287 cFileName a file name that includes `?' characters, use the 8+3
8288 alias in cAlternateFileName instead.
8289
82902008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
8291
8292 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
8293
82942008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8295
8296 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
8297 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
8298 work on current_buffer only instead (that was already the case
8299 for some of the code anyway).
8300 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
8301 (temp_set_point, temp_set_point_both): Use EMACS_INT.
8302 (SET_PT, SET_PT_BOTH): Adjust.
8303 * intervals.h (set_point, temp_set_point, set_point_both)
8304 (temp_set_point_both): Remove redundant declarations.
8305
83062008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
8307
8308 * fileio.c (Finsert_file_contents):
8309 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
8310 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
8311 when buffer != current_buffer anyway.
8312
83132008-03-20 Andreas Schwab <schwab@suse.de>
8314
8315 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
8316 as default.
8317
83182008-03-19 Jason Rumney <jasonr@gnu.org>
8319
8320 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
8321 (syms_of_w32fns): Initialize them.
8322 (HOURGLASS_ID): New constant.
8323 (x_window_to_frame): Don't check hourglass_window.
8324 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
8325 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
8326 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
8327 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
8328 Only change the cursor if hourglass is not active.
8329 (Fx_create_frame): Initialize frame's current_cursor.
8330 (hourglass_atimer): Remove.
8331 (hourglass_started): New function.
8332 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
8333 (show_hourglass): Adapt to w32, changing argument to frame.
8334
8335 * w32term.h (struct w32_output): Remove hourglass_window.
8336 Add current_cursor.
8337
8338 * eval.c (call_debugger, Fsignal):
8339 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
8340 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
8341 (Fexecute_extended_command, cancel_hourglass_unwind):
8342 * minibuf.c (read_minibuf):
8343 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
8344
83452008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
8346
8347 * window.c (run_funs): New fun.
8348 (run_window_configuration_change_hook): Use it to run the buffer-local
8349 and the global part of the hook.
8350
8351 * xdisp.c (format_mode_line_unwind_data): Add window argument.
8352 (unwind_format_mode_line): Restore selected window.
8353 (x_consider_frame_title, Fformat_mode_line): Set selected window.
8354
83552008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
8356
8357 * editfns.c (Fchar_equal): Check they are valid characters.
8358
8359 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
8360
83612008-03-17 Andreas Schwab <schwab@suse.de>
8362
8363 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
8364 against a charset.
8365
8366 * lisp.h (Fbuffer_list): Declare.
8367
83682008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 8369
aac0c6e3
MR
8370 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
8371 handlebox_widget is != 0.
8372
83732008-03-16 Juri Linkov <juri@jurta.org>
8374
8375 * callint.c (Fcall_interactively): For interactive code letters
8376 'b' and 'B' put the buffer list into the list of default "future"
8377 values of the minibuffer.
8378
83792008-03-16 Andreas Schwab <schwab@suse.de>
8380
8381 * keyboard.c (read_key_sequence): Fix downcasing of letters with
8382 modifiers.
8383
8384 * regex.c (re_match_2_internal): Correct matching of a charset
8385 against latin-1 characters.
8386
83872008-03-16 Kenichi Handa <handa@m17n.org>
8388
8389 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
8390 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
8391 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
8392 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
8393 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
8394 CHAR_STRING_ADVANCE.
8395 (produce_chars): Fix for the case that the source and the
8396 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
8397 instead of CHAR_STRING_ADVANCE.
8398 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
8399 STRING_CHAR_ADVANCE.
8400
84012008-03-15 Andreas Schwab <schwab@suse.de>
8402
8403 * regex.c (re_match_2_internal): Correct matching of eight bit
8404 characters in unibyte strings.
8405
84062008-03-15 Martin Rudalics <rudalics@gmx.at>
8407
8408 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
8409 at end of range when it coincides with the end of the buffer.
8410
84112008-03-14 Eli Zaretskii <eliz@gnu.org>
8412
8413 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8414
8415 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8416
84172008-03-14 Jason Rumney <jasonr@gnu.org>
8418
8419 * editfns.c (initial_tz): New variable.
8420 (syms_of_editfns): Initialize it.
8421 (Fset_time_zone_rule): Set it when first called.
8422 Use it when TZSTRING is nil.
8423
8424 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8425 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8426 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8427 (globals_of_w32fns): Initialize them.
8428 (compute_tip_xy): Use them to position tooltips.
8429
84302008-03-14 Glenn Morris <rgm@gnu.org>
8431
8432 * emacs.c (main): Revert previous change.
8433 (standard_args): Revert -internal-script back to -scriptload,
8434 and remove the long-option form.
8435
84362008-03-13 Glenn Morris <rgm@gnu.org>
8437
8438 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8439 Remove option -enable-font-backend.
8440
84412008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8442
8443 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8444
84452008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8446
8447 * xterm.c (x_connection_closed): For GTK: If this is the last
8448 terminal just exit without closing the display.
8449
84502008-03-11 Jason Rumney <jasonr@gnu.org>
8451
8452 * w32font.c (w32font_full_name): Use floor to round.
8453
f0131492 84542008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8455
8456 * sound.c (alsa_configure): Declare vol at beginning of block.
8457
8458 * fontset.c (Ffontset_info): Remove extra semicolon.
8459
84602008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8461
8462 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8463 size of resulting string.
8464
84652008-03-10 Jason Rumney <jasonr@gnu.org>
8466
8467 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8468
84692008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8470
8471 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8472 Don't pretend as if characters with display property haven't been
8473 consumed for string-replacing-string case.
8474
84752008-03-08 Kim F. Storm <storm@cua.dk>
8476
8477 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8478 (get_next_display_element, next_element_from_string)
8479 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8480
84812008-03-08 Andreas Schwab <schwab@suse.de>
8482
8483 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8484
84852008-03-06 Jason Rumney <jasonr@gnu.org>
8486
8487 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8488 when charset not specified. Only translate ANSI to unicode when
8489 font_type is truetype.
8490 (w32font_coverage_ok): New function.
8491 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8492
84932008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8494
8495 * lread.c (Fread_char): Resolve modifiers.
8496 (Fread_char_exclusive): Likewise.
8497
8498 * character.c (char_resolve_modifier_mask): New function.
8499 (char_string): Use char_resolve_modifier_mask.
8500 (Fchar_resolve_modifiers): New function.
8501 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8502 function.
8503
85042008-03-04 Jason Rumney <jasonr@gnu.org>
8505
8506 * makefile.w32-in: Always include w32font.c in the build.
8507 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8508
85092008-03-04 Andreas Schwab <schwab@suse.de>
8510
8511 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8512 (versionclean): Likewise.
8513
85142008-03-04 Juanma Barranquero <lekktu@gmail.com>
8515
8516 * .cvsignore: Add oo.
8517
85182008-03-03 Andreas Schwab <schwab@suse.de>
8519
8520 * coding.c (decode_coding_object): Inhibit gap shrinking while
8521 decoding in place.
8522
85232008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8524
8525 * w32term.c: Remove unused include "gnu.h".
8526 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8527
8528 * gnu.h: Rename to ...
8529 * emacs-icon.h: ... this.
8530 * xterm.c: Use emacs-icon.h instead of gnu.h.
8531 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8532
85332008-03-03 Juanma Barranquero <lekktu@gmail.com>
8534
8535 * w32font.c: Include math.h.
8536
85372008-03-03 Jason Rumney <jasonr@gnu.org>
8538
8539 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8540 Compute options separately.
8541 (w32font_open_internal): Set glyph_idx before caching metrics.
8542
8543 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8544 Define if system headers don't.
8545 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8546 (w32font_encode_char): Don't declare here.
8547
8548 * w32font.c (Quniscribe, QCformat): New symbols.
8549 (syms_of_w32font): Define them.
8550 (w32font_has_char): Indicate uncertainty.
8551 (w32font_encode_char): Encode as glyph point. Make static.
8552 (recompute_cached_metrics): New function.
8553 (w32font_open_internal): Use it. Set font to use glyph points
8554 initially. Set format based on type of font.
8555 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8556 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8557 on it. Set format based on information available here.
8558 (add_font_entity_to_list): Identify backend based on opentype_only.
8559
85602008-03-02 Andreas Schwab <schwab@suse.de>
8561
8562 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8563
8564 * coding.c (decode_coding_big5, produce_chars):
8565 Fix typos in last change.
8566
85672008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8568
8569 * gnu.h: New icon.
8570
85712008-03-02 Kenichi Handa <handa@m17n.org>
8572
8573 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8574 `dos', don't decode '\r' if that is the last in the source.
8575 (decode_coding_utf_16, decode_coding_emacs_mule)
8576 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8577 (decode_coding_raw_text, decode_coding_charset): Likewise.
8578 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8579
85802008-03-01 Jason Rumney <jasonr@gnu.org>
8581
8582 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8583
85842008-03-01 Kim F. Storm <storm@cua.dk>
8585
8586 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8587
85882008-03-01 Jason Rumney <jasonr@gnu.org>
8589
8590 * w32font.c (w32font_full_name): New function.
8591 (w32font_open_internal): Use it.
8592
85932008-03-01 Kim F. Storm <storm@cua.dk>
8594
8595 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8596
85972008-03-01 Jason Rumney <jasonr@gnu.org>
8598
8599 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8600
86012008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8602
8603 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8604 xg_frame_resized when the event is for the edit widget.
8605
8606 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8607
8608 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8609 set_char_size.
8610 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8611 operations on widgets here. Just set frame size if needed.
8612 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8613 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8614 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8615 the whole frame.
8616 (xg_create_tool_bar): Move attachment of the tool bar to
8617 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8618 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8619
86202008-03-01 Jason Rumney <jasonr@gnu.org>
8621
8622 * w32fns.c (w32_msg_pump): Disable debug code.
8623
86242008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8625
8626 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8627
86282008-02-29 Chong Yidong <cyd@stupidchicken.com>
8629
8630 * xdisp.c (next_overlay_string): Don't set
8631 overlay_strings_at_end_processed_p if we're currently reading from
8632 a display string.
8633
86342008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8635
8636 * xdisp.c (get_overlay_strings_1): Fix typo.
8637
86382008-02-29 Chong Yidong <cyd@stupidchicken.com>
8639
8640 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8641
86422008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8643
8644 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8645
8646 * xdisp.c (display_mode_element): Cancel the previous change.
8647 (decode_mode_spec): Likewise.
8648 (handle_auto_composed_prop): Don't make composition if it->string
8649 is a string.
8650
86512008-02-27 Kim F. Storm <storm@cua.dk>
8652
8653 * lisp.h (GLYPH): Change type from int to struct with separate char
8654 and face_id members.
8655 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8656 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8657 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8658 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8659 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8660 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8661 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8662 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8663 handle new Lisp glyph code encoding, either an integer or a cons.
8664
8665 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8666 (GLYPH_ALIAS): Delete.
8667 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8668 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8669 (GLYPH_FROM_CHAR): Replace macro by ...
8670 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8671
8672 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8673 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8674 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8675 (GLYPH_INVALID_P): New macro.
8676 (spec_glyph_lookup_face): Update prototype.
8677
8678 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8679 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8680 new glyph code encoding.
8681 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8682 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8683
8684 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8685 Adapt to new glyph type and new glyph code encoding.
8686
8687 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8688
8689 * indent.c (current_column, current_column_1, Fmove_to_column)
8690 (compute_motion): Adapt to new glyph code encoding.
8691
8692 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8693
86942008-02-27 Chong Yidong <cyd@stupidchicken.com>
8695
8696 * process.c (wait_reading_process_output): Check for window
8697 changes caused by timers.
8698 Suggested by Johan Bockgård.
8699
87002008-02-27 Glenn Morris <rgm@gnu.org>
8701
8702 * emacs.c (USAGE1): Add `--disable-font-backend'.
8703
87042008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8705
8706 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8707 is made to the buffer.
8708
87092008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8710
8711 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8712 (face_at_string_position):
8713 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8714 (face_at_string_position):
8715 * xdisp.c (display_string, next_overlay_change):
8716 * buffer.h (overlays_at):
8717 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8718 Update callers.
8719
87202008-02-26 Chong Yidong <cyd@stupidchicken.com>
8721
8722 * editfns.c (Fformat): Doc fix.
8723
87242008-02-26 Juanma Barranquero <lekktu@gmail.com>
8725
8726 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8727 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8728 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8729
87302008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8731
8732 * buffer.c (Fbuffer_swap_text): New function.
8733 (syms_of_buffer): Defsubr it.
8734
87352008-02-25 Chong Yidong <cyd@stupidchicken.com>
8736
8737 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8738
87392008-02-25 Jason Rumney <jasonr@gnu.org>
8740
8741 * w32font.c (w32font_draw): Draw one character at a time when padding.
8742
87432008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8744
8745 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8746 Handle a nil arg. Use run_window_configuration_change_hook.
8747 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8748 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8749 Use run_window_configuration_change_hook.
8750
87512008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8752
8753 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8754 1-pixel width.
8755
87562008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8757
8758 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8759 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8760 if the glyph in the font is zero pixel with.
8761
8762 * dispextern.h (struct glyph_string): New member padding_p.
8763
8764 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8765
8766 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8767
8768 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8769
8770 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8771
8772 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8773
87742008-02-25 Jason Rumney <jasonr@gnu.org>
8775
8776 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8777
87782008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8779
8780 Allow fine-grained image-cache flushing.
8781 * dispextern.h (struct image): Add `dependencies' field.
8782 (clear_image_caches): Change arg to Lisp_Object.
8783 * image.c (make_image): Initialize `dependencies' field.
8784 (clear_image_cache): Change arg to allow fine-grained flushing.
8785 Perform the flush even if image-cache-eviction-delay is nil.
8786 (clear_image_caches): Change arg to Lisp_Object.
8787 (Fclear_image_cache): Expand meaning of the argument.
8788 (mark_image): Mark `dependencies' field.
8789 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8790 (lface_hash): Use XHASH rather than XFASTINT.
8791 (face_at_buffer_position): Fix int -> EMACS_INT position.
8792 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8793 (select_frame_for_redisplay): Remove code duplication.
8794 (redisplay_internal): Adapt arg to call to clear_image_caches.
8795
87962008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8797
8798 * s/vms4-0.h:
8799 * s/vms4-2.h:
8800 * s/vms4-4.h:
8801 * s/vms5-5.h: Remove, unused.
8802
8803 * s/irix5-2.h:
8804 * s/irix6-0.h:
8805 * s/riscos5.h:
8806 * s/mach-bsd4-3.h:
8807 * m/mips4.h: Remove files for obsolete systems.
8808
8809 * Makefile.in:
8810 * filelock.c:
8811 * unexmips.c:
8812 * m/hp9000s300.h:
8813 * m/iris4d.h:
8814 * s/aix3-1.h:
8815 * s/hpux.h:
8816 * s/msdos.h:
8817 * s/usg5-0.h:
8818 * s/usg5-2-2.h:
8819 * s/usg5-2.h:
8820 * s/usg5-3.h: Remove references to obsolete variables.
8821
8822 * s/irix5-0.h: Remove, move all the contents ...
8823 * s/irix6-5.h: ... here. Simplify.
8824 * config.in: Regenerate.
8825
88262008-02-24 Jason Rumney <jasonr@gnu.org>
8827
8828 * w32term.c (x_draw_glyph_string_background): Clear the background
8829 manually when cleartype is in use.
8830 (x_draw_glyph_string_foreground): Draw text transparently when
8831 cleartype is in use.
8832
8833 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8834 a font into it unless we have to.
8835
88362008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8837
8838 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8839 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8840
aac0c6e3
MR
88412008-02-18 Jason Rumney <jasonr@gnu.org>
8842
8843 * w32fns.c (Fw32_shell_execute): Encode parameters.
8844
88452008-02-09 Eli Zaretskii <eliz@gnu.org>
8846
8847 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8848
88492008-02-05 Juanma Barranquero <lekktu@gmail.com>
8850
8851 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8852
88532008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8854
8855 * xterm.c (x_set_offset): Don't change the gravity if
8856 CHANGE_GRAVITY is -1.
8857
88582008-02-23 Chong Yidong <cyd@stupidchicken.com>
8859
8860 * fileio.c (auto_save_error_occurred): New var.
8861 (auto_save_error): Set it.
8862 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8863 error occurred.
8864
88652008-02-23 Eli Zaretskii <eliz@gnu.org>
8866
8867 * w32.c (globals_of_w32): Add initializations for
8868 g_b_init_get_sid_sub_authority and
8869 g_b_init_get_sid_sub_authority_count.
8870
88712008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8872
8873 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8874 (font_parse_xlfd): Use them for sanity check.
8875 (Finternal_set_font_style_table): Make sure the table is bijective.
8876
8877 Consolidate the image_cache to the terminal struct.
8878 * termhooks.h (P_): Remove redundant def.
8879 (struct terminal): New field `image_cache'.
8880 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8881 of FRAME_X_IMAGE_CACHE.
8882 * xterm.h (struct x_display_info): Remove image_cache field.
8883 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8884 * w32term.h (struct w32_display_info): Remove image_cache field.
8885 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8886 * macterm.h (struct mac_display_info): Remove image_cache field.
8887 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8888 * xterm.c (x_term_init):
8889 * w32term.c (w32_term_init):
8890 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8891 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8892 Remove declarations.
8893 (clear_image_caches, mark_image_cache): New declarations.
8894 * xfaces.c (clear_face_cache):
8895 * xdisp.c (redisplay_internal): Use clear_image_caches.
8896 * image.c (clear_image_cache): Don't check that a frame is on
8897 a window-system before checking if it shares the same cache.
8898 (clear_image_caches): New function.
8899 (Fclear_image_cache): Use it.
8900 (mark_image): Move from allo.c.
8901 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8902 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8903 (mark_object): Don't call mark_image_cache for frames.
8904 (mark_terminals): Call mark_image_cache.
8905
8906 * lisp.h (Fdelete_terminal): Declare.
8907
8908 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8909 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8910 wrong_type_argument.
8911
89122008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8913
8914 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8915 malayalam.el, and tamil.el. Add sinhala.el.
8916
89172008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8918
8919 * xterm.c (x_connection_closed): Consolidate identical tests.
8920 (x_delete_terminal): Don't crash if called via x_connection_closed.
8921
89222008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8923
8924 * xdisp.c (decode_mode_spec): New arg string.
8925 (display_mode_element): Adjust for the above change.
8926
89272008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8928
8929 * callint.c (Fcall_interactively): Use AREF.
8930
89312008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8932
8933 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8934
89352008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8936
8937 * xfns.c (Fx_show_tip): Set string to " " if empty.
8938
89392008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8940
8941 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8942 with Qt.
8943
89442008-02-17 Kenichi Handa <handa@m17n.org>
8945
8946 * ftfont.c (ftfont_shape): Return Lispy number.
8947
8948 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8949 for GCs.
8950 (Finternal_set_font_selection_order): Call font_update_sort_order
8951 only when enable_font_backend is set.
8952 (realize_x_face): Set face->font_info to that of default face only
8953 when enable_font_backend is set.
8954
8955 * xdisp.c (handle_composition_prop): Set it->c to the fist
8956 character of the composed region.
8957 (fill_composite_glyph_string): Set base_face->font_info to
8958 s->font_info. Get a face for ascii from base_face->ascii_face.
8959 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8960 with a face already decided.
8961 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8962 non-negative.
8963 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8964 call font_prepare_composition unconditionally.
8965
8966 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8967
8968 * xterm.h (struct x_display_info): New member font.
8969
8970 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8971 (x_set_mouse_face_gc, x_new_font): Likewise.
8972 (x_term_init): Setup display_info->font.
8973 (x_delete_terminal): Free display_info->font.
8974
8975 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8976
8977 * ftxfont.c (ftxfont_default_fid): Delete it.
8978 (ftxfont_open): Set xfont->fid to 0.
8979 (ftxfont_end_for_frame): Clear data specific to the frame and the
8980 font-driver.
8981
8982 * xftfont.c (xftfont_default_fid): Delete it.
8983 (xftfont_open): Set xfont->fid to 0.
8984
8985 * fontset.c (FONTSET_OBJLIST): New macro.
8986 (fontset_find_font): Update font-object list of the fontset.
8987 (free_realized_fontset): New function.
8988 (free_face_fontset): Call free_realized_fontset.
8989 (Ffont_info): Call font_close_object only when enable_font_backend
8990 is set.
8991
8992 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8993 [HAVE_NTGUI]: Include w32term.h.
8994 [MAC_OS]: Include macterm.ch.
8995 (font_otf_ValueRecord): Use make_number.
8996 (font_finish_cache): Fix handling of reference count.
8997 (font_clear_cache): Update num_fonts.
8998 (font_open_entity): Update smallest_char_width and
8999 smallest_font_height of the frame.
9000 (font_close_object): Update num_fonts.
9001 (Fclear_font_cache): Fix finding the target cache data.
9002
90032008-02-16 Glenn Morris <rgm@gnu.org>
9004
9005 * fontset.c (Finternal_char_font): Fix compilation warning.
9006
90072008-02-16 Eli Zaretskii <eliz@gnu.org>
9008
9009 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
9010 instead of char arrays. Enlarge the size of array passed to
9011 get_token_information.
9012
9013 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
9014 warnings.
9015
90162008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
9017
9018 * .gdbinit: Don't set `args', it breaks gdb --args.
9019
90202008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
9021
9022 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
9023 within a narrowed buffer.
9024
90252008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
9026
9027 * coding.c (decode_coding_object, encode_coding_object):
9028 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
9029
90302008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
9031
9032 * coding.c (coding_set_destination): Use BEG_BYTE rather than
9033 hardcoding 1.
9034 (detect_coding_system):
9035 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
9036 (string_char_to_byte, string_byte_to_char, insert_from_gap):
9037 * insdel.c (insert_from_gap):
9038 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
9039 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
9040 (string_to_multibyte):
9041 * character.c (chars_in_text, multibyte_chars_in_text):
9042 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
9043
9044 * character.h (FETCH_STRING_CHAR_ADVANCE)
9045 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
9046 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
9047 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
9048
9049 * casefiddle.c (casify_region): Only call after-change and composition
9050 functions on the part of the region that was changed.
9051
9052 * keyboard.c (read_avail_input):
9053 * frame.c (Fdelete_frame): Call Fdelete_terminal.
9054
90552008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9056
9057 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
9058 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
9059
90602008-02-11 Juanma Barranquero <lekktu@gmail.com>
9061
9062 * w32menu.c (push_submenu_start, push_submenu_end)
9063 (push_left_right_boundary, push_menu_pane, push_menu_item):
9064 * keyboard.c (read_key_sequence): Don't pass args with side effects
9065 to AREF, it fails when compiling with -DENABLE_CHECKING.
9066
90672008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
9068
9069 * Makefile.in (${lispsource}international/charprop.el):
9070 Delete this target.
9071
9072 * search.c (boyer_moore): Fix incorrect synching of the trunk and
9073 emacs-unicode-2.
9074
90752008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
9076
9077 * terminal.c (Fdelete_terminal): Clean up the `force' path.
9078
90792008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9080
9081 * frame.c (Qnoelisp): New symbol.
9082 (syms_of_frame): Initialize it.
9083 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
9084 harmless Elisp code, from a strong `force' from x_connection_closed.
9085 * frame.h (Qnoelisp): Declare.
9086 * xterm.c (x_connection_closed): Pass `noelisp'.
9087
9088 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
9089 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
9090 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
9091 rather than `int' for the type of `type'.
9092
90932008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
9094
9095 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
9096
9097 * Makefile.in (GNUC): Remove support for gcc-1.x.
9098
90992008-02-10 Richard Stallman <rms@gnu.org>
9100
9101 * lisp.h (ASET): Use AREF, not ASLOT.
9102
91032008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
9104
9105 * lisp.h (ASET): Check bounds.
9106
91072008-02-10 Glenn Morris <rgm@gnu.org>
9108
9109 * buffer.c (mode-name): Doc fix.
9110
91112008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9112
9113 * Makefile.in:
9114 * emacs.c:
9115 * gmalloc.c:
9116 * keyboard.c:
9117 * lisp.h:
9118 * m/ibm370aix.h:
9119 * process.c:
9120 * regex.c:
9121 * s/hpux.h:
9122 * sysdep.c:
9123 * sysselect.h:
9124 * systty.h:
9125 * unexec.c:
9126 * w32term.c:
9127 * xsmfns.c:
9128 * xterm.c: Remove code that deals with obsolete variables.
9129
9130 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
9131
9132 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
9133 nothing else needs it anymore.
9134
91352008-02-09 Eli Zaretskii <eliz@gnu.org>
9136
9137 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
9138 instead of unibyte_char_to_multibyte.
9139
91402008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
9141
9142 * s/gnu-linux.h: Remove commented out code.
9143
9144 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
9145
9146 * Makefile.in: Update what RMS says about using autoconf.
9147 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
9148 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
9149 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
9150 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
9151
91522008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
9153
9154 * keymap.c (Fkey_description): Move side effect outside of macro call.
9155
9156 * xfaces.c (Finternal_make_lisp_face):
9157 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
9158
9159 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
9160 (syms_of_fontset): Use ASET.
9161
9162 * fns.c (concat): Move side effect outside of macro call.
9163 (hash_clear): Use ASET.
9164
91652008-02-08 Richard Stallman <rms@gnu.org>
9166
9167 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
9168 If FORCE, and frame has a surrogate minibuffer for another frame,
9169 delete the other frame first.
9170
91712008-02-07 Timo Savola <timo.savola@iki.fi>
9172
9173 * xterm.c (x_detect_focus_change): Handle embed client message.
9174 (handle_one_xevent): Ditto.
9175 (handle_one_xevent): If embedded and we get a button press/release,
9176 request focus.
9177 (xembed_set_info, xembed_send_message): New functions.
9178 (x_make_frame_visible): Call xembed_set_info if embedded.
9179 (x_make_frame_invisible): Call xembed_set_info if embedded.
9180 (x_term_init): Initialize Xatom_XEMBED.
9181 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
9182 (x_iconify_frame): Ditto.
9183
9184 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
9185 (enum xembed_info, enum xembed_message, enum xembed_focus)
9186 (enum xembed_modifier, enum xembed_accelerator): New.
9187 (xembed_set_info, xembed_send_message): Declare.
9188 (FRAME_X_EMBEDDED_P): New.
9189
9190 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
9191 gtk_plug_new.
9192
9193 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
9194 window ID of a frame.
9195 (x_window): Reparent frame if embedded.
9196 (Fx_create_frame): Don't set border width if embedded.
9197
9198 * emacs.c (USAGE3): Add --parent-id.
9199 (standard_args): Ditto.
9200
92012008-02-07 Jan Djärv <jan.h.d@swipnet.se>
9202
9203 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
9204
92052008-02-07 Jim Meyering <meyering@redhat.com>
9206
9207 Use "do...while (0)", not "if (1)...else" in macro definitions.
9208 The latter provokes a warning from gcc about the empty else, when
9209 followed by ";". Also, without that trailing semicolon, it would
9210 silently swallow up any following statement.
9211 * syntax.h (SETUP_SYNTAX_TABLE)
9212 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
9213 * buffer.h (DECODE_POSITION): Likewise.
9214 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
9215 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
9216 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
9217 (FETCH_CHAR_ADVANCE): Likewise.
9218 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
9219
92202008-02-07 Jim Meyering <meyering@redhat.com>
9221
9222 * lread.c [lint]: Don't include <sys/inode.h>.
9223
92242008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
9225
9226 * xselect.c (x_handle_dnd_message):
9227 * xmenu.c (digest_single_submenu, xmenu_show):
9228 * xdisp.c (with_echo_area_buffer_unwind_data)
9229 (format_mode_line_unwind_data, unwind_format_mode_line)
9230 (display_menu_bar):
9231 * eval.c (Ffetch_bytecode):
9232 * doc.c (store_function_docstring):
9233 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
9234 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
9235 * buffer.c (add_overlay_mod_hooklist): Use ASET.
9236
92372008-02-07 Kenichi Handa <handa@m17n.org>
9238
9239 * ftxfont.c (ftxfont_open): Don't set
9240 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
9241
9242 * ftfont.c (ftfont_open): Fix previous change.
9243
92442008-02-06 Jason Rumney <jasonr@gnu.org>
9245
9246 * w32font.c (w32font_text_extents): Fill in lbearing metric.
9247 Use cached metrics for ASCII characters.
9248 (w32font_open_internal): Don't set font's owning_frame.
9249 Cache metrics for ASCII characters.
9250
9251 * w32font.h (struct w32font_info): Add ascii_metrics.
9252 Remove owning_frame.
9253
92542008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
9255
9256 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
9257 to negative value.
9258
9259 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
9260
9261 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
9262
9263 * charset.c (syms_of_charset): Set QCtest and Qeq.
9264
92652008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
9266
9267 * process.c (Fstart_process):
9268 * callproc.c (Fcall_process): Handle the case where
9269 Funhandled_file_name_directory returns nil.
9270
9271 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
9272 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
9273 * font.c (check_gstring): Use them and AREF to access the vector before
9274 we know it's really a gstring.
9275 (Ffont_shape_text): Fix typo.
46e722a9 9276 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
9277
9278 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
9279 Declare.
9280
9281 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
9282
92832008-02-05 Jason Rumney <jasonr@gnu.org>
9284
9285 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
9286 Set smallest_font_height and smallest_char_width in display info.
9287
92882008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
9289
9290 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
9291
92922008-02-05 Miles Bader <miles@gnu.org>
9293
9294 * xfaces.c (get_lface_attributes, merge_named_face)
9295 (lookup_named_face, lookup_derived_face, realize_named_face):
9296 Revert 2008-02-01 change by cyd@stupidchicken.com.
9297
92982008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
9299
9300 * fontset.c (Ffontset_info): Handle the case of inhibitting the
9301 fallback fonts.
9302 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
9303
93042008-02-04 Jason Rumney <jasonr@gnu.org>
9305
9306 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
9307 set full_name.
9308 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
9309
93102008-02-03 Jason Rumney <jasonr@gnu.org>
9311
9312 * makefile.w32-in (OBJ1): Include font.o here.
9313 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
9314
93152008-02-02 Jason Rumney <jasonr@gnu.org>
9316
9317 * makefile.w32-in (temacs): Bump EMHEAP to 21.
9318
93192008-02-01 Jason Rumney <jasonr@gnu.org>
9320
9321 * s/cygwin.h: Define VIRT_ADDR_VARIES.
9322
9323 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
9324
93252008-02-01 Andreas Schwab <schwab@suse.de>
9326
9327 * Makefile.in (shortlisp, lisp): Update for rename of
9328 ../lisp/language/myanmar.el.
9329
93302008-02-01 Chong Yidong <cyd@stupidchicken.com>
9331
9332 * xfaces.c (get_lface_attributes): Delete function.
9333 (merge_named_face, lookup_named_face, lookup_derived_face)
9334 (realize_named_face): Call lface_from_face_name directly, and use
9335 the fact that merge_face_vectors does not alter its FROM argument.
9336
93372008-02-01 Jason Rumney <jasonr@gnu.org>
9338
9339 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
9340 input in the default locale. Handle non-Unicode multibyte input.
9341
93422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9343
9344 * fontset.c (reorder_font_vector): Exclude nil elements from the
9345 font group. Don't try multiple fonts.
9346 (fontset_font): Adjust for the above change.
9347 (Finternal_char_font): Return nil if the found font doesn't
9348 contain the character ch.
9349
9350 * Makefile.in (lisp, shortlisp): Add cham.el.
9351
93522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9353
9354 * font.h (FONTP): Make it return 1 also for a font-object.
9355
9356 * .gdbinit (xfontset): New function.
9357
9358 * font.c (font_find_for_lface): Check if the character C is
9359 supported or not only for the first font.
9360
9361 * fontset.c (reorder_font_vector): Fix typo.
9362 (fontset_find_font): Don't add a font-spec specifying a script.
9363 Use 0 (not Qt) for the indication of empty font-group. Change the
9364 format of RFONT-DEF. Return Qt if no font in the font-group
9365 support the character.
9366 (fontset_font): Adjust for the above change. If no font was
9367 found the character, remember that.
9368 (face_for_char): Adjust for the change of RFONT-DEF.
9369 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
9370 no font for the target.
9371 (Finternal_char_font): Adjust for the change of RFONT-DEF.
9372
93732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9374
9375 * font.c (font_load_for_face): Handle the case that the font in
9376 face->lface is a string.
9377
93782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9379
9380 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
9381
93822008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9383
9384 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
9385 Fix previous change. If the frame is not on a window system,
9386 signal an error.
9387
93882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9389
9390 * coding.c (decode_coding_object, encode_coding_object): Adjust
9391 marker positions after conversion.
9392
9393 * lisp.h (struct Lisp_Marker): New member need_adjustment.
9394
93952008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9396
9397 * font.c (font_find_for_lface): Fix the handling of the return
9398 value of font_has_char.
9399 (Ffont_shape_text): Fix previous change.
9400
9401 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
9402 (fontset_ref_and_range): Delete it.
9403 (fontset_find_font): Call char_table_ref_and_range instead of
9404 FONTSET_REF_AND_RANGE.
9405 (make_fontset): Don't setup font groups of Latin here.
9406 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
9407 (new_fontset_from_font): Make the specified font the default for
9408 all Latin characters.
9409
94102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9411
9412 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
9413 is on a window system before accessing the fontset of the frame.
9414
94152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9416
9417 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9418
9419 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9420 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9421
9422 * font.c (Ffont_shape_text): If the font driver doesn't have a
9423 shaper function, make zero-width glyphs to have at least one-pixel
9424 width. Fix setting of `to' field of glyphs.
9425
94262008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9427
9428 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9429 glyphs.
9430
9431 * font.h (struct font_driver): Improve docstring of member `shape'.
9432
94332008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * composite.c (syms_of_composite): Fix docstring of
9436 auto-composition-function.
9437
9438 * font.h (LGLYPH_SIZE): New macro.
9439
9440 * font.c (Ffont_fill_gstring): Stop filling when a character not
9441 supported by the font is found.
9442 (Ffont_shape_text): When a shape callback function returns nil,
9443 try at most two more times with larger gstring.
9444 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9445
9446 * xdisp.c (handle_auto_composed_prop): Change the argument to
9447 auto-composition-function.
9448
9449 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9450 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9451 Lispy glyph and store it in the lgstring.
9452
9453 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9454
9455 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9456
94572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9458
9459 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9460
9461 * fontset.c (Vfont_encoding_charset_alist): New variable.
9462 (syms_of_fontset): DEFVAR it.
9463 (reorder_font_vector, fontset_find_font): Optimize for the case of
9464 no need of reordering.
9465 (face_for_char): Map the charset property by
9466 Vfont_encoding_charset_alist.
9467
94682008-02-01 Jason Rumney <jasonr@gnu.org>
9469
9470 * w32font.c (logfonts_match): Don't check adstyle here.
9471 (font_matches_spec): Check here against physical font instead.
9472 (add_font_entity_to_list): Avoid some substitutions.
9473
9474 * font.c (font_parse_fcname): Default weight and slant to normal.
9475 (font_score): Prefer normal fonts if weight or slant unspecified.
9476 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9477 match freetype scores.
9478
94792008-02-01 Jason Rumney <jasonr@gnu.org>
9480
9481 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9482 font, as it may have been deleted.
9483 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9484 most common hyphenless variation.
9485 (logfonts_match): Check generic family.
9486 (font_matches_spec): Don't check generic family here.
9487 (fill_in_logfont): Set generic family based on adstyle.
9488
9489 * w32font.h (w32font_get_cache): Update declaration.
9490
94912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9492
9493 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9494
9495 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9496 If none of the new drivers are available, call font_update_drivers
9497 with the old drivers.
9498
9499 * w32font.c (w32font_get_cache): Adjust the argument type.
9500
9501 * xfont.c (xfont_get_cache): Adjust the argument type.
9502
9503 * font.h (struct font_driver): Change argument type of get_cache.
9504
9505 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9506
9507 * font.c (Ffont_get): Fix arguments to Fassoc.
9508 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9509 (font_clear_cache): New function.
9510 (font_list_entities, font_matching_entity): Use font_get_cache.
9511 (font_update_drivers): Call font_clear_cache when finishing a driver.
9512
9513 * fontset.c (fontset_find_font): Fix previous change.
9514
95152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9516
9517 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9518 dpyinfo->font_table.
9519 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9520 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9521
9522 * font.c (font_at): Handle the case that the arg C is negative.
9523 Handle the unibyte case.
9524 (Ffont_at): Call font_at with the arg C -1.
9525
9526 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9527 the position here, and call font_at with the arg C -1.
9528 Don't check the range of the existing composition at the point.
9529
95302008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9531
9532 * fontset.c (fontset_add): New args charset_id and family.
9533 Change caller.
9534 (load_font_get_repertory, fontset_find_font): Assume that
9535 font_spec is always a font-spec object.
9536 (Fset_fontset_font): Always store a font-spec object in a fontset.
9537
9538 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9539 instead of get_property_and_range.
9540
95412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9542
9543 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9544 (xftfont_open): Don't keep locking face.
9545 (xftfont_close): Don't unlock face.
9546 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9547
9548 * fontset.c (fontset_find_font): Don't prefer a font of
9549 supplementary charset.
9550
95512008-02-01 Kenichi Handa <handa@m17n.org>
9552
9553 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9554 script, langsys_tag to langsys, new member script.
9555 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9556 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9557 listing to the script specified in that property. Fix arg to
9558 OTF_check_features.
9559
95602008-02-01 Jason Rumney <jasonr@gnu.org>
9561
9562 * w32font.h: New file.
9563
9564 * w32font.c: Include it.
9565 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9566 (w32font_open): Set owning_frame.
9567 (w32font_text_extents): Use owning_frame.
9568 (struct font_callback_data): Add opentype_only field.
9569 (add_font_entity_to_list): Use it to filter fonts.
9570 Don't check against full name.
9571 (w32font_list_internal): New function.
9572 (w32font_list): Use it.
9573 (w32font_match_internal): New function.
9574 (w32font_match): Use it.
9575 (w32font_open_internal): New function.
9576 (w32font_open): Use it.
9577 (w32font_get_cache, w32font_close, w32font_has_char)
9578 (w32font_encode_char, w32font_text_extents, w32font_draw):
9579 Make non-static.
9580
9581 * makefile.w32-in (w32font.o): Depend on w32font.h.
9582
95832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9584
9585 * charset.c (Fdefine_charset_internal): Record a supplementary
9586 charset at the tail of Vcharset_order_list.
9587
9588 * font.c (Ffont_shape_text): Fix the return value.
9589
9590 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9591
9592 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9593
95942008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9595
9596 * ftfont.c (struct OpenTypeSpec): New struct.
9597 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9598 (ftfont_get_open_type_spec): New function.
9599 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9600
9601 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9602
96032008-02-01 Jason Rumney <jasonr@gnu.org>
9604
9605 * w32font.c (add_font_entity_to_list): Compare only the beginning
9606 of full name.
9607
96082008-02-01 Kenichi Handa <handa@m17n.org>
9609
9610 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9611 Never return HANDLED_RECOMPUTE_PROPS.
9612
96132008-02-01 Kenichi Handa <handa@m17n.org>
9614
9615 * font.c (font_gstring_produce): Delete it.
9616
9617 * composite.h (COMPOSITION_METHOD):
9618 Handle COMPOSITION_WITH_GLYPH_STRING.
9619
96202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9621
9622 * xfont.c (Qx): Delete.
9623 (syms_of_xfont): Don't initialize Qx.
9624
9625 * composite.h (enum composition_method):
9626 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9627
96282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9629
9630 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9631 (choose_face_font): Accept new form of font-spec.
9632
9633 * frame.h (font_driver_list): Declare it unconditionally.
9634 (struct frame): Define members font_driver_list and font_data_list
9635 unconditionally.
9636
9637 * fontset.c: Include "font.h" unconditionally.
9638 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9639 (Fset_fontset_font): Accept a font-spec object.
9640
9641 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9642 PIXEL_SIZE part a wild card.
9643
9644 * dispextern.h (struct glyph_string): Define members clip and
9645 num_clips unconditionally.
9646 (struct face): Define members font_info and extra unconditionally.
9647
9648 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9649 ftfont_info only when HAVE_LIBOTF is defined.
9650
96512008-02-01 Andreas Schwab <schwab@suse.de>
9652
9653 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9654 and end.
9655
96562008-02-01 Jason Rumney <jasonr@gnu.org>
9657
9658 * w32font.c (w32font_driver): Add new fields.
9659
96602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9661
9662 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9663 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9664 (LIBES): Add @M17N_FLT_CFLAGS@.
9665
9666 * composite.c (compose_text): Don't treat the new style
9667 composition specially.
9668
9669 * emacs.c (main): Call syms_of_font unconditionally.
9670
9671 * font.h (FONT_ENTITY_NOT_LOADABLE)
9672 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9673 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9674 (struct font_driver): New member shape.
9675 (font_registry_charsets): Extern it.
9676 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9677 (font_otf_capability, font_drive_otf): Delete their externs.
9678
9679 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9680 (font_charset_alist, font_registry_charsets): Move from xfont.c
9681 and rename.
9682 (font_prop_validate_otf): New function.
9683 (font_property_table): Register it for QCotf.
9684 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9685 (font_drive_otf): Delete.
9686 (font_prepare_composition): New arg F. Adjust for the change of
9687 lispy gstring.
9688 (font_find_for_lface): New arg C.
9689 (font_load_for_face): Adjust for the change of font_find_for_lface.
9690 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9691 lispy gstring.
9692 (Ffont_shape_text): New function.
9693 (Fopen_font): If the font size is not given, use 12-pixel.
9694 (Ffont_at): New arg STRING.
9695 (syms_of_font): Initalize font_charset_alist.
9696 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9697 conditionally.
9698
9699 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9700 fonts of the same font-spec. Change the format of RFONT-DEF.
9701 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9702 Adjust for the change of RFONT-DEF.
9703 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9704
9705 * ftfont.h: New file.
9706
9707 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9708 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9709 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9710 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9711 font_otf_capability and font_drive_otf, set ftfont_shape.
9712 (ftfont_list): Adjust for the change of :otf property value.
9713 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9714 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9715 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9716 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9717 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9718 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9719
9720 * w32term.c (x_draw_composite_glyph_string_foreground):
9721 Adjust for the change of lispy gstring.
9722
9723 * xdisp.c (handle_composition_prop): Adjust for the change of
9724 lispy gstring. Call a function for auto-composition with the
9725 third arg it->window.
9726 (fill_composite_glyph_string): Adjust for the change of lispy string.
9727 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9728
9729 * xfaces.c (set_font_frame_param): Adjust for the change of
9730 font_find_for_lface.
9731
9732 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9733 (xfont_registry_charsets): Likewise. Change caller.
9734 (syms_of_xfont): Don't handle x_font_charset_alist.
9735
9736 * xftfont.c: Include "ftfont.h".
9737 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9738 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9739 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9740 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9741 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9742 Set xftfont_driver.shape to xftfont_shape.
9743
9744 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9745 the change of lispy gstring.
9746
97472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9748
9749 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9750
97512008-02-01 Jason Rumney <jasonr@gnu.org>
9752
9753 * w32font.c (w32font_draw): Fill background manually.
9754
97552008-02-01 Jason Rumney <jasonr@gnu.org>
9756
9757 * font.c (Qfontp): Remove unused symbol.
9758 (QCantialias): New symbol.
9759 (syms_of_font): Define it.
9760 (font_property_table): Set a validator for QCantialias.
9761
9762 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9763 Define if not already.
9764 (QCfamily): Share with xfaces.c.
9765 (Qstandard, Qsubpixel, Qnatural): New symbols.
9766 (syms_of_w32font): Define them. Don't define QCfamily here.
9767 (w32_antialias_type, lispy_antialias_type): New functions.
9768 (w32_enumfont_pattern_entity): New arg requested_font.
9769 Set antialias parameter if non-default was requested.
9770 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9771
97722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9773
9774 * lread.c (read1): Undo the previous change.
9775
97762008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9777
9778 * frame.c (Fdelete_frame): Call font_update_drivers only when
9779 USE_FONT_BACKEND is defined.
9780
97812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9782
9783 * font.h (struct font_bitmap): New member bits_per_pixel.
9784 (struct font_driver): New members start_for_frame and end_for_frame.
9785 (struct font_data_list): New struct.
9786 (font_put_frame_data, font_get_frame_data): Extern them.
9787
9788 * frame.h (struct frame): New member font_data_list.
9789
9790 * font.c (font_update_drivers): Call driver->start_for_frame and
9791 driver->end_for_frame at proper timings.
9792 (font_put_frame_data, font_get_frame_data): New functions.
9793 (Ffont_spec): Add usage in the docstring.
9794
9795 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9796 (Fdelete_frame): Call font_update_drivers.
9797
9798 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9799 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9800 (xftfont_get_xft_draw): New function.
9801 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9802 (xftfont_end_for_frame): New function.
9803 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9804
9805 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9806 Change argument. Cache GCs in the per-frame data.
9807 (struct ftxfont_frame_data): New struct.
9808 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9809 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9810 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9811 (ftxfont_end_for_frame): New function.
9812 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9813
9814 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9815
98162008-02-01 Kenichi Handa <handa@m17n.org>
9817
9818 * xselect.c (Vselection_coding_system)
9819 (Vnext_selection_coding_system): Delete them.
9820 (syms_of_xselect): Don't declare selection-coding-system and
9821 next-selection-coding-system. They are declared in select.el.
9822
98232008-02-01 Jason Rumney <jasonr@gnu.org>
9824
9825 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9826
9827 * w32fns.c: Include imm.h.
9828 (get_composition_string_fn, get_ime_context_fn): New optional
9829 system functions.
9830 (globals_of_w32fns): Load them from imm32.dll.
9831 (ignore_ime_char): New flag.
9832 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9833 WM_IME_ENDCOMPOSITION messages.
9834
9835 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9836 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9837
98382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9839
9840 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9841 (READCHAR_REPORT_MULTIBYTE): New macro.
9842 (readchar): New 2nd arg MULTIBYTE.
9843 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9844 Make symbol's name multibyte according to the multibyteness of the
9845 source.
9846
98472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9848
9849 * xfaces.c (face_for_overlay_string): Call lookup_face with
9850 correct arguments (fix of synching with the trunk).
9851
98522008-02-01 Kenichi Handa <handa@m17n.org>
9853
9854 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9855 (font_prop_validate_non_neg, font_prop_validate_spacing):
9856 Delete argument prop_index.
9857 (font_property_table): Change arguments to validater. Change Callers.
9858 (font_lispy_object): Delete.
9859 (font_at): Use font_find_object instead fo font_lispy_object.
9860
98612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9862
9863 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9864 and file names.
9865
98662008-02-01 Jason Rumney <jasonr@gnu.org>
9867
9868 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9869 (font_matches_spec): Remove debug output.
9870 (add_font_entity_to_list): Avoid using substituted fonts.
9871
98722008-02-01 Jason Rumney <jasonr@gnu.org>
9873
9874 * doc.c (Fsnarf_documentation):
9875 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9876
98772008-02-01 Miles Bader <miles@gnu.org>
9878
9879 * dispextern.h (struct glyph_row): Only define "clip" field if
9880 HAVE_WINDOW_SYSTEM is defined.
9881
98822008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9883
9884 Fix up multi-tty merge.
9885
9886 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9887 and indentation.
9888
9889 * xfaces.c (free_realized_face, clear_face_gcs):
9890 Include font_done_for_face in the input_blocked section, just in case.
9891
9892 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9893 (get_char_face_and_encoding): Undo last change and remove the *other*
9894 duplicate definition (i.e. keep the one that's better scoped and that
9895 includes code for the font-backend).
9896
9897 * terminal.c (create_terminal): Default keyboard_coding to
9898 `no-conversion' and terminal_coding to `undecided'.
9899
9900 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9901
9902 * fontset.c (free_realized_fontsets): Check that the table entry does
9903 contain a fontset before trying to compare it to `base'.
9904
9905 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9906 syms_of_charset, and syms_of_coding earlier because init_window_once
9907 now needs Vcoding_system_hash_table to be setup.
9908
9909 * coding.h (default_buffer_file_coding): Remove.
9910
9911 * coding.c (default_buffer_file_coding): Remove.
9912 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9913 than ->symbol, and use the terminal-local coding system.
9914 (syms_of_coding): Don't setup the coding-systems that are not
9915 terminal-local.
9916 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9917
9918 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9919 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9920
9921 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9922 in chartab.c and were re-added here by mistake.
9923 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9924
9925 * doc.c (Fsnarf_documentation):
9926 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9927 src to etc.
9928
9929 * ChangeLog.10: Add mistakenly removed entry.
9930
99312008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9932
9933 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9934
99352008-02-01 Miles Bader <miles@gnu.org>
9936
9937 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9938 Add extra args to FACE_FOR_CHAR.
9939
99402008-02-01 Kenichi Handa <handa@m17n.org>
9941
9942 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9943 in sequence.
9944
9945 * chartab.c (map_sub_char_table, map_char_table): If the range
9946 contains just one character, call the function with that character
9947 even if the depth is not 3.
9948
99492008-02-01 Jason Rumney <jasonr@gnu.org>
9950
9951 * w32font.c (w32font_text_extents): Calculate metrics for the
9952 whole string.
9953
99542008-02-01 Jason Rumney <jasonr@gnu.org>
9955
9956 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9957
99582008-02-01 Jason Rumney <jasonr@gnu.org>
9959
9960 * w32term.c (x_set_glyph_string_clipping): Use
9961 get_glyph_string_clip_rects.
9962 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9963 Adjust for the change of struct glyph_string.
9964
9965 * w32font.c (w32font_draw): Do clipping here.
9966
99672008-02-01 Kenichi Handa <handa@m17n.org>
9968
9969 * xftfont.c (xftfont_draw): Adjust for the change of struct
9970 glyph_string.
9971
9972 * xterm.c (x_set_glyph_string_clipping): Use
9973 get_glyph_string_clip_rects.
9974 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9975 Adjust for the change of struct glyph_string.
9976
9977 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9978 the resulting clip(s}.
9979 (expose_overlaps): Add arg r. Change callers. Set it to
9980 row->clip temporarily.
9981 (expose_window): Redraw rows overlapping the exposed area.
9982
9983 * dispextern.h (struct glyph_row): New member clip.
9984 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9985 clip_height, new member clip, and num_clips.
9986
99872008-02-01 Kenichi Handa <handa@m17n.org>
9988
9989 * data.c (Fchar_or_string_p): Fix docstring.
9990
99912008-02-01 Kenichi Handa <handa@m17n.org>
9992
9993 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9994 create a temporary XftDraw object.
9995
99962008-02-01 Kenichi Handa <handa@m17n.org>
9997
9998 * font.c (Ffontp): Fix docstring.
9999
10000 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
10001 strong evidence of ISO-2022.
10002
100032008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
10006 SYNTAX_ENTRY_FOLLOW_PARENT.
10007
100082008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
10009
10010 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
10011 its type.
10012 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
10013 Update to the new type of weak_hash_tables and next_weak.
10014
10015 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
10016 a plain C pointer to Lisp_Hash_Table.
10017
10018 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
10019 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
10020 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
10021 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
10022 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
10023 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
10024 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
10025 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
10026 (GC_EQ): Remove since they've been identical to their non-GC_
10027 alter-egos ever since the markbit was eradicated.
10028
10029 * alloc.c:
10030 * buffer.c:
10031 * buffer.h:
10032 * data.c:
10033 * fileio.c:
10034 * filelock.c:
10035 * fns.c:
10036 * frame.h:
10037 * lisp.h:
10038 * macterm.c:
10039 * print.c:
10040 * process.c:
10041 * w32fns.c:
10042 * w32menu.c:
10043 * w32term.c:
10044 * xfns.c:
10045 * xmenu.c:
10046 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
10047
100482008-02-01 Kenichi Handa <handa@m17n.org>
10049
10050 * chartab.c (map_sub_char_table): Make it work for the top-level
10051 char-table. Fix handling of parent char-table.
10052 (map_char_table): Adjust for the above change.
10053
100542008-02-01 Jason Rumney <jasonr@gnu.org>
10055
10056 * w32font.c (Qgdi): Rename from Qw32.
10057
100582008-02-01 Jason Rumney <jasonr@gnu.org>
10059
10060 * w32bdf.c (get_quoted_string): Make function static.
10061
100622008-02-01 Kenichi Handa <handa@m17n.org>
10063
10064 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
10065 bigger ascent and descent than those of the font, use them as
10066 font's ascent and descent.
10067
100682008-02-01 Kenichi Handa <handa@m17n.org>
10069
10070 * Makefile.in (${lispsource}international/charprop.el): Move this
10071 target within "#ifdef HAVE_UNIDATA" and "#endif".
10072
100732008-02-01 Kenichi Handa <handa@m17n.org>
10074
10075 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
10076 (shortlisp): Add ../lisp/language/tai-viet.el.
10077
100782008-02-01 Ulrich Mueller <ulm@gentoo.org>
10079
10080 * Makefile.in (${lispsource}international/charprop.el): Depend on
10081 temacs${EXEEXT}.
10082
100832008-02-01 Jason Rumney <jasonr@gnu.org>
10084
10085 * w32font.c (w32font_close): Delete the GDI font object.
10086
10087 * w32menu.c: Include character.h.
10088
10089 * w32proc.c: Likewise.
10090
10091 * w32select.c: Likewise.
10092
10093 * makefile.w32-in (w32proc.o): Depend on character.h.
10094
100952008-02-01 Jason Rumney <jasonr@gnu.org>
10096
10097 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
10098
10099 * w32menu.c (syms_of_w32menu): Likewise.
10100
10101 * w32proc.c (syms_of_ntproc): Likewise.
10102
10103 * w32select.c (syms_of_w32select): Likewise.
10104
10105 * w32term.c (syms_of_w32term): Likewise.
10106
101072008-02-01 Jason Rumney <jasonr@gnu.org>
10108
10109 * w32font.c (w32font_draw): Delete brush after using it.
10110
101112008-02-01 Jason Rumney <jasonr@gnu.org>
10112
10113 * w32font.c (w32font_open): Don't set font_idx.
10114 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
10115 to font settings.
10116 (w32font_draw): Fill background explicitly.
10117
101182008-02-01 Jason Rumney <jasonr@gnu.org>
10119
10120 * w32term.c (w32_initialize): Don't call w32font_initialize.
10121
10122 * w32font.c (w32font_info): Remove subranges.
10123 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
10124 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
10125 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
10126 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
10127 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
10128 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
10129 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
10130 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
10131 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
10132 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
10133 New symbols.
10134 (font_callback_data): New struct.
10135 (w32font_list, w32font_match): Use it.
10136 (w32font_open): Don't populate subranges.
10137 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
10138 (w32font_encode_char): Always return unicode code-point as-is.
10139 (w32font_text_extents): Supply a transformation matrix to
10140 GetGlyphOutline. Never look up by glyph index. Avoid looping
10141 twice. Use unicode version of GetTexExtentPoint32 instead of
10142 glyph index version.
10143 (set_fonts_frame): Remove.
10144 (w32_enumfont_pattern_entity): Add frame parameter, use it to
10145 set frame parameter. Use backward compatible fake foundries.
10146 Save generic family in extra slot under QCfamily. Make width slot
10147 constant. Save QCspacing value. Save list of scripts instead of
10148 binary subranges.
10149 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
10150 (add_font_entity_to_list): Use font_callback_data struct. Filter
10151 unwanted fonts.
10152 (add_one_font_entity_to_list): Use font_callback_data struct.
10153 (w32_registry): Default to iso10646_1.
10154 (fill_in_logfont): Use dpi from extra slot. Don't bother with
10155 string font registries. Don't fill in font name if it is a generic
10156 family name, fill family instead. Use spacing, family and script
10157 extra info to fill pitch, family and charset fields.
10158 (list_all_matching_fonts): Use font_callback_data struct.
10159 (unicode_range_for_char): Remove.
10160 (font_supported_scripts): New function.
10161 (w32font_initialize): Remove.
10162 (syms_of_w32font): Update which symbols are defined.
10163
101642008-02-01 Jason Rumney <jasonr@gnu.org>
10165
10166 * font.c (font_pixel_size): Reverse assq_no_quit args.
10167
10168 * w32term.h (FONT_WIDTH): Report max width, not average.
10169 (FONT_MAX_WIDTH): Remove.
10170 (FONT_AVG_WIDTH): New macro.
10171
10172 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
10173 redefinition of FONT_WIDTH.
10174
10175 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
10176 (w32_cache_char_metrics): Use FONT_WIDTH.
10177
10178 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
10179
101802008-02-01 Jason Rumney <jasonr@gnu.org>
10181
10182 * w32font.c (w32font_open): Make lfHeight negative.
10183
10184 * w32fns.c (x_default_font_parameter): Use new style font name.
10185 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
10186
101872008-02-01 Jason Rumney <jasonr@gnu.org>
10188
10189 * w32font.c (QCsubranges): New symbol.
10190 (w32font_open, w32font_has_char): Get subranges from subproperty
10191 of extra.
10192 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
10193 (syms_of_w32font): Define :subranges symbol.
10194
10195 * font.c (font_put_extra): Expose externally.
10196
10197 * font.h (font_put_extra): Move declaration from font.c.
10198
10199 * font.c (Ffont_get): Use font driver to determine otf capability.
10200 (adjust_anchor): Check if driver defines anchor_point before using.
10201
10202 * w32font.c (w32font_open): Handle size, height and pixel_size better.
10203 (w32font_draw): Use options.
10204 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
10205 Fix detection of truetype fonts.
10206 (registry_to_w32_charset): Handle charsets other than iso8859-1
10207 expressed as lisp symbols.
10208 (w32_registry): Express charset as lisp symbol.
10209 (fill_in_logfont): Reverse pixel and point height logic.
10210 Don't set width here. Set quality to default.
10211
10212 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
10213 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
10214
10215 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10216 Remove redundant loop and allocation.
10217
10218 * makefile.w32-in (font.o, w32font.o): New objects.
10219 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
10220 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
10221
10222 * xdisp.c (fill_composite_glyph_string): Make the first arg to
10223 STORE_XCHARB a valid l-value.
10224
10225 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
10226 calculations for non-Truetype fonts.
10227 (x_draw_glyph_string): Sync with xterm.c.
10228 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
10229 Remove redundant code.
10230 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
10231
10232 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
10233 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
10234
10235 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
10236 (x_to_w32_charset, w32_to_x_charset): Expose externally.
10237
10238 * w32font.c: New file for w32 font backend.
10239
102402008-02-01 Kenichi Handa <handa@m17n.org>
10241
10242 * term.c: Don't include "buffer.h" twice.
10243
102442008-02-01 Kenichi Handa <handa@m17n.org>
10245
10246 * character.c (Funibyte_string): New function.
10247 (syms_of_character): Defsubr it.
10248
102492008-02-01 Jason Rumney <jasonr@gnu.org>
10250
10251 * w32term.c [USE_FONT_BACKEND]:
10252 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
10253 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
10254 (x_draw_glyph_string, x_draw_glyph_string_foreground)
10255 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
10256 (x_free_frame_resources): Sync with xterm.c.
10257
102582008-02-01 Andreas Schwab <schwab@suse.de>
10259
10260 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
10261 char-table size.
10262
102632008-02-01 Kenichi Handa <handa@m17n.org>
10264
10265 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
10266
102672008-02-01 Kenichi Handa <handa@m17n.org>
10268
10269 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
10270 font_otf_gpos, add font_drive_otf.
10271
10272 * fontset.c (fontset_find_font): Pay attention to font size
10273 specified for a font.
10274 (reorder_font_vector): Check contents of font_def.
10275
10276 * font.c (struct otf_list): Delete it.
10277 (otf_list): Make it a lisp variable.
10278 (otf_open): Use lispy otf_list.
10279 (generate_otf_features): Rename from parse_gsub_gpos_spec.
10280 (check_otf_features): New function.
10281 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
10282 New functions.
10283 (font_drive_otf): New function merging font_otf_gsub and
10284 font_otf_gpos.
10285 (font_open_for_lface): New arg spec. Change argument order.
10286 (font_load_for_face): Adjust for the change of font_open_for_lface.
10287 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
10288 Ffont_otf_gpos.
10289 (syms_of_font): Staticpro otf_list. Delete defsubr of
10290 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
10291
10292 * xfaces.c (set_font_frame_param): Adjust for the change of
10293 font_open_for_lface.
10294
10295 * font.h (font_open_for_lface): Adjust prototype.
10296 (struct font_driver): Delete members otf_gsub and otf_gpos, add
10297 member otf_drive.
10298 (font_otf_gsub, font_otf_gpos): Delete externs.
10299 (font_drive_otf): Extern it.
10300
103012008-02-01 Kenichi Handa <handa@m17n.org>
10302
10303 * font.c (font_at): If the window W is not on a window system,
10304 return Qnil.
10305
10306 * coding.c (produce_chars, encode_coding): Don't call
10307 insert_from_gap if no characters to produce.
10308
103092008-02-01 Kenichi Handa <handa@m17n.org>
10310
10311 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
10312 Fclear_face_cache.
10313
10314 * xfaces.c (face_for_font): Check also face->font==font->font.font.
10315
103162008-02-01 Miles Bader <miles@gnu.org>
10317
10318 * emacs.c (main): Change default value of `enable_font_backend' to 1.
10319 Parse "--disable-font-backend" option.
10320 (standard_args): Add "--disable-font-backend" option.
10321
103222008-02-01 Kenichi Handa <handa@m17n.org>
10323
10324 * fontset.c (fontset_find_font): New function.
10325 (fontset_font): Use fontset_find_font.
10326 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
10327 Register the specified font for all Latin characters.
10328 (new_fontset_from_font): Register the specified font for all Latin
10329 characters.
10330 (dump_fontset): For a realized fontset, include the base fontset
10331 name in the returned vector.
10332
103332008-02-01 Kenichi Handa <handa@m17n.org>
10334
10335 * character.h (CHAR_STRING): Cast C to unsigned on calling
10336 char_string.
10337
10338 * character.c (char_string): Type of arg C changed to unsigned.
10339 Signal an error if C is an invalid character code.
10340
10341 * editfns.c (general_insert_function, Fchar_to_string):
10342 Use CHARACTERP, not INTEGERP.
10343
103442008-02-01 Kenichi Handa <handa@m17n.org>
10345
10346 * character.h (MIN_MULTIBYTE_LEADING_CODE)
10347 (MAX_MULTIBYTE_LEADING_CODE): New macros.
10348
10349 * regex.c (analyse_first): Fix for multibyte characters in "case
10350 charset:" and "case categoryspec:".
10351
103522008-02-01 Andreas Schwab <schwab@suse.de>
10353
10354 * Makefile.in (LIBES): Move standard libraries to the end.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
10359 nonzero, don't shrink the buffer nextb.
10360
10361 * buffer.h (struct buffer_text): New member inhibit_shrinking.
10362
10363 * coding.c (coding_alloc_by_making_gap): New arg offset.
10364 (alloc_destination): Call coding_alloc_by_making_gap with the arg
10365 offset.
10366 (decode_coding_iso_2022): Update coding->safe_charsets.
10367 (decode_coding_gap): Temporarily set
10368 current_buffer->text->inhibit_shrinking to 1.
10369
103702008-02-01 Kenichi Handa <handa@m17n.org>
10371
10372 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
10373 indexing into elements of s->cmp and s->char2b.
10374
103752008-02-01 Juanma Barranquero <lekktu@gmail.com>
10376
10377 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
10378
103792008-02-01 Kenichi Handa <handa@m17n.org>
10380
10381 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
10382 target_multibyte instead of multibyte.
10383 (re_match_2_internal): Call bcmp_translate with target_multibyte.
10384 (bcmp_translate): Change the argument name from multibyte to
10385 target_multibyte.
10386
103872008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 These changes are to compile a regexp into a pattern that can be
10390 used both for multibyte and unibyte targets.
10391
10392 * Makefile.in (search.o): Depend on charset.h.
10393
10394 * character.c (multibyte_char_to_unibyte_safe): New function.
10395
10396 * search.c: Include "charset.h".
10397 (compile_pattern_1): Delete argument multibyte. Don't set
10398 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
10399 (compile_pattern): Don't compare cp->buf.target_multibyte.
10400 Compare cp->buf.charset_unibyte.
10401 (compile_pattern): Set cp->buf.target_multibyte.
10402
10403 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
10404
10405 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
10406
10407 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
10408 multibyte. Change callers.
10409 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
10410 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
10411 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
10412 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
10413 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10414 (regex_compile): Make the compiled pattern usable both for
10415 multibyte and unibyte targets.
10416 (analyse_first): Make the fastmap usable both for multibyte and
10417 unibyte targets.
10418 (TRANSLATE_VIA_MULTIBYTE): Delete.
10419 (re_match_2_internal): Pay attention to the case that the
10420 multibyteness of bufp and target may be different.
10421
104222008-02-01 Kenichi Handa <handa@m17n.org>
10423
10424 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10425 empty box occupy at least one column width.
10426
104272008-02-01 Miles Bader <miles@gnu.org>
10428
10429 * Makefile.in: Remove redundant HAVE_XFT clause.
10430
104312008-02-01 Kenichi Handa <handa@m17n.org>
10432
10433 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10434
104352008-02-01 Kenichi Handa <handa@m17n.org>
10436
10437 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10438 being nil.
10439
104402008-02-01 Kenichi Handa <handa@m17n.org>
10441
10442 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10443
104442008-02-01 Kenichi Handa <handa@m17n.org>
10445
10446 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * search.c (simple_search): Fix previous change.
10451
104522008-02-01 Kenichi Handa <handa@m17n.org>
10453
10454 * xftfont.c (ftfont_font_format): Extern declaration.
10455
10456 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10457
10458 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10459 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10460
10461 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10462 (ftfont_font_format): Fix previous change.
10463
10464 * font.h (Ffont_xlfd_name): EXFUN it.
10465
10466 * font.c (font_parse_xlfd): Fix the array size of `f'.
10467 (register_font_driver): Use EQ to compare driver->type.
10468
10469 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10470 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10471 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10472
104732008-02-01 Kenichi Handa <handa@m17n.org>
10474
10475 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10476 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10477
104782008-02-01 Kenichi Handa <handa@m17n.org>
10479
10480 * xfont.c (xfont_open): Set font->format.
10481
10482 * xftfont.c (xftfont_open): Set font->format.
10483
10484 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10485 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10486 (ftfont_open): Set font->format.
10487 (ftfont_font_format): New function.
10488
10489 * font.h (struct font): New member format.
10490
10491 * font.c (Qopentype): New variable.
10492 (syms_of_font): Defsym it.
10493 (Fquery_font): Change the format of the last element of the return
10494 value.
10495
104962008-02-01 Kenichi Handa <handa@m17n.org>
10497
10498 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10499 last resort.
10500
105012008-02-01 Kenichi Handa <handa@m17n.org>
10502
10503 * coding.c (detect_coding_charset): Fix detection of multi-byte
10504 charset.
10505
105062008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10507
10508 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10509
105102008-02-01 Kenichi Handa <handa@m17n.org>
10511
10512 * xdisp.c (get_next_display_element): Set it->face_id for the
10513 first component of a composition.
10514 (x_produce_glyphs): Check if the font is changed or not for composition.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * fontset.c (Qlatin): New variable.
10519 (syms_of_fontset): Define it as a lisp symbol.
10520 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10521
105222008-02-01 Kenichi Handa <handa@m17n.org>
10523
10524 * font.c (font_unparse_fcname): Pay attention to the case that
10525 some of font property is a null string.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * term.c: Include "composite.h".
10530 (encode_terminal_code): Output all components of composition.
10531 Check the size of encode_terminal_src.
10532 (produce_glyphs): For composition, call produce_composite_glyph.
10533 (append_composite_glyph, produce_composite_glyph): New functions.
10534
10535 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10536 is not found, get font_info from the current ascii face.
10537
105382008-02-01 Kenichi Handa <handa@m17n.org>
10539
10540 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10541 buffer-file-name to Qnil before calling insert_from_buffer.
10542
10543 * font.c (font_unparse_fcname): Pay attention to the case that
10544 foundry is a null string.
10545
105462008-02-01 Kenichi Handa <handa@m17n.org>
10547
10548 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10549
10550 * font.c (Qunicode_sip): New variable.
10551 (syms_of_font): Declare it as a Lisp symbol.
10552
10553 * font.h (Qunicode_sip): Extern it.
10554
105552008-02-01 Kenichi Handa <handa@m17n.org>
10556
10557 * composite.c (get_composition_id): Pay attention to TAB component.
10558
10559 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10560 TAB. Adjust for the change of s->char2b which always points to
10561 the first element of allocated memory.
10562
10563 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10564
10565 * xdisp.c (handle_composition_prop): Set it->c to the first
10566 non-TAB component.
10567 (fill_composite_glyph_string): Change argument.
10568 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10569 (x_produce_glyphs): Fix handling of left/right padding.
10570
105712008-02-01 Kenichi Handa <handa@m17n.org>
10572
10573 * coding.c (detect_coding_system): Fix for handling off
10574 inhibit_iso_escape_detection. Fix for the case that no coding
10575 system is defined for a specific coding category.
10576
105772008-02-01 Kenichi Handa <handa@m17n.org>
10578
10579 * font.c (font_matching_entity): Delete unused local var.
10580
10581 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10582 opening a font.
10583
10584 * fileio.c (Finsert_file_contents): On recovering a file, assume
10585 Unix-like eol.
10586 (choose_write_coding_system): On auto-saving a file, force
10587 Unix-like eol.
10588
10589 * coding.c (setup_coding_system): Fix setting of
10590 coding->common_flags based on eol_type.
10591 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10592 inherit from it.
10593
105942008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * alloc.c (NSTATICS): Increas to 0x600.
10597
105982008-02-01 Kenichi Handa <handa@m17n.org>
10599
10600 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10601 (ftfont_list): Don't check :name property.
10602 (ftfont_match): New function.
10603 (ftfont_pattern_entity): If the pattern doesn't contain
10604 FC_SPACING, don't assume FC_MONO.
10605
10606 * font.h (struct font_driver): New member `match'.
10607 (font_update_drivers): Adjust prototype.
10608
10609 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10610 property of FONT.
10611 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10612 them unconditionally.
10613 (font_matching_entity): New function.
10614 (font_open_by_name): Try font_matching_entity if exact match is
10615 not found.
10616 (font_update_drivers): Delete the arg FONT. Return a list of
10617 actually used backends. Don't free faces, font caches here.
10618 Don't store data in frame parameters. Don't call x_set_font.
10619 (Ffont_spec): Store :name property as is.
10620 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10621 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10622 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10623 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10624 Call font->driver->otf_gsub instead of font_otf_gsub.
10625
10626 * frame.c (x_set_font_backend): Do more works that were done in
10627 font_update_drivers before.
10628
10629 * xfont.c (xfont_match): New function.
10630 (xfont_driver): Set xfont_driver.match to xfont_match.
10631 (xfont_draw): Set font in GC if necessary.
10632
10633 * ftxfont.c (ftxfont_match): New function.
10634 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10635
10636 * xftfont.c (xftfont_match): New function.
10637 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10638
106392008-02-01 Kenichi Handa <handa@m17n.org>
10640
10641 * font.h (struct font): New member scalable.
10642 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10643 (font_otf_gsub): Adjust prototype.
10644
10645 * font.c (font_otf_capability): Fix handling of the default langsys.
10646 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10647 Check the contents of SPEC.
10648 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10649 (check_gstring): New function.
10650 (REPLACEMENT_CHARACTER): New macro.
10651 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10652 glyph codes of GSTRING.
10653 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10654 (font_prepare_composition): Set cmp->glyph_len.
10655 (font_open_entity): Set font->scalable.
10656 (Ffont_get): Handle :otf property.
10657 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10658 functions.
10659 (Fquery_font): Use font->font.full_name.
10660 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10661 Sfont_otf_alternates.
10662
10663 * ftfont.c (ftfont_open): Set font->font.full_name and
10664 font->font.name properly. Fix calculation of font->font.height
10665 and font->min_width.
10666
10667 * ftxfont.c (ftxfont_create_gcs): New function.
10668 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10669 (ftxfont_draw_backgrond): Fix filling region.
10670 (ftxfont_default_fid): New function.
10671 (ftxfont_open): Set xfont->fid to the return value of
10672 ftxfont_default_fid.
10673 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10674 (ftxfont_done_face): Free only GCs that are created by
10675 ftxfont_create_gcs.
10676 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10677
10678 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10679 Clip to src->width, etc (not src->clip_XXX).
10680
10681 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10682 FontBackend frame parameter.
10683
106842008-02-01 Kenichi Handa <handa@m17n.org>
10685
10686 * font.h (struct font_driver_list): New member `on'.
10687 (Fclear_font_cache): EXFUN it.
10688 (font_update_drivers): Extern it.
10689
10690 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10691 (font_list_entities): Check driver_list->on.
10692 (register_font_driver): Initalize `on' member to 0.
10693 (font_update_drivers): New function.
10694 (Fclear_font_cache): Check driver_list->on.
10695
10696 * frame.h (Qfont_backend): Extern it.
10697 (x_set_font_backend): Extern it.
10698
10699 * frame.c (Qfont_backend): New variable.
10700 (frame_parms): New element for font-backend.
10701 (x_set_font_backend): New function.
10702
10703 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10704 FontBackend frame parameter.
10705 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10706 x_set_font_backend.
10707
10708 * xfont.c (xfont_list): Don't try listing by :name property if the
10709 name is not for XLFD.
10710
107112008-02-01 Kenichi Handa <handa@m17n.org>
10712
10713 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10714 (LGLYPH_SET_TO): New macros.
10715 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10716 element of G is vector or not.
10717 (font_at): Extern it.
10718
10719 * font.c: Include window.h.
10720 (font_lispy_object): New function.
10721 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10722 end of valid glyph.
10723 (font_close_object): Fix getting (struct font *).
10724 (font_at): New function.
10725 (Ffont_get): If FONT is a font-object, get entity from it.
10726 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10727 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10728 range check.
10729 (Ffont_at): New function.
10730 (syms_of_font): Defsubr Sfont_at.
10731
10732 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10733 before the entry for Qcomposition.
10734 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10735 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10736 the font in gstring.
10737 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10738 LGLYPH_FORM (g) to detect the end of valid glyph.
10739 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10740 we are composing with gstring.
10741
10742 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10743 Check if adjustment is vector or not.
10744
10745 * Makefile.in (font.o): Make it depends on window.h.
10746
107472008-02-01 Kenichi Handa <handa@m17n.org>
10748
10749 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10750 adjustment is vector or not.
10751
107522008-02-01 Miles Bader <miles@gnu.org>
10753
10754 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10755
107562008-02-01 Kenichi Handa <handa@m17n.org>
10757
10758 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10759 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10760 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10761
10762 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10763 (DEVICE_DELTA): Fix typo.
10764 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10765 LGLYPH format.
10766
10767 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10768 the change of LGLYPH format.
10769
107702008-02-01 Kenichi Handa <handa@m17n.org>
10771
10772 * ftfont.c (ftfont_list): Fix typo.
10773 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10774
107752008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10776
10777 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10778
10779 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10780 xftface_info is non-NULL.
10781
107822008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10783
10784 * ftfont.c (ftfont_list): Move misplaced #endif.
10785
107862008-02-01 Kenichi Handa <handa@m17n.org>
10787
10788 * ftfont.c (ftfont_list): Pay attention to the case that
10789 FC_CAPABILITY is not defined.
10790
107912008-02-01 Kenichi Handa <handa@m17n.org>
10792
10793 * xftfont.c (xftfont_open): Set charset related members to -1.
10794
10795 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10796 QCname.
10797 (ftfont_open): Set charset related members to -1.
10798
10799 * fontset.c (Votf_script_alist): New variable.
10800 (syms_of_fontset): Initialize it.
10801 (fontset_font): Delete unused variable.
10802
10803 * fontset.h (Votf_script_alist): Extern it.
10804
10805 * font.c (font_find_for_lface): Optimize code.
10806
10807 * font.h (font_close_object, font_merge_old_spec): Extern them.
10808
108092008-02-01 Kenichi Handa <handa@m17n.org>
10810
10811 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10812 (syms_of_font): Initialize them.
10813 (font_pixel_size): Allow float value in dpi.
10814 (font_prop_validate_type): Delete.
10815 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10816 Change caller.
10817 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10818 (font_prop_validate_extra): Delete.
10819 (font_prop_validate_spacing): New function.
10820 (font_property_table): Add elements for all known properties.
10821 (get_font_prop_index): Rename from check_font_prop_name. New
10822 argument FROM. Change caller.
10823 (font_prop_validate): Validate all known properties.
10824 (font_put_extra): Delete argument force. Change caller.
10825 (font_expand_wildcards): Make it static. Fix the way of shrinking
10826 the possible range.
10827 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10828 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10829 Change caller.
10830 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10831 (font_parse_fcname): Delete argument merge. Fix parsing of point
10832 size. Don't validate properties values here. Change caller.
10833 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10834 (font_open_by_name): Delete unused variable.
10835 (Ffont_spec): Likewise. Validate property values.
10836 (Ffont_match_p): New function.
10837
10838 * font.h (QCscalable): Extern it.
10839 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10840
10841 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10842
10843 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10844 (xfont_list_pattern): New function.
10845 (xfont_list): Use xfont_list_pattern.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * font.h (Flist_fonts): EXFUN it.
10850
108512008-02-01 Jason Rumney <jasonr@gnu.org>
10852
10853 * w32term.c (w32_initialize): Add back smoothing_type and
10854 smoothing_enabled definitions.
10855
108562008-02-01 Kenichi Handa <handa@m17n.org>
10857
10858 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10859 s->face->font on determining underline position.
10860
108612008-02-01 Kenichi Handa <handa@m17n.org>
10862
10863 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10864 (font_has_char): Accept font-object too.
10865 (font_find_for_lface): Try at first with a size specified in face.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10870 font_open_by_name.
10871
108722008-02-01 Kenichi Handa <handa@m17n.org>
10873
10874 * font.h (QCspacing, QCdpi): Extern them.
10875 (enum font_spacing): New enum.
10876 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10877
10878 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10879 (QCspacing, QCdpi): New variables.
10880 (syms_of_font): Initialize them.
10881 (font_pixel_size): New function.
10882 (font_put_extra): New function.
10883 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10884 in FONT_EXTRA.
10885 (font_parse_fcname): Handle enumerated values (e.g. bold).
10886 Fix handling font size. Add QCname property that contains only
10887 unknown properties.
10888 (font_score): Change argument. Change caller. Pay attention to
10889 FONT_PIXEL_SIZE_QUANTUM.
10890 (font_sort_entites, font_list_entities, font_find_for_lface)
10891 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10892 (Ffont_spec): Add QCname property that contains only unknown properties.
10893
10894 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10895 include weight in listing pattern, instead check weight of each
10896 listed font. Don't include scalable in pattern. Pay attention to
10897 FONT_PIXEL_SIZE_QUANTUM.
10898
108992008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * font.c (font_parse_fcname): Fix parsing of point-size.
10902 (font_unparse_fcname): Produce symbolic names for style properties.
10903 (font_list_entities): Handle float size correctly.
10904 (font_open_by_name): Prefer `normal' property values if the name
10905 doesn't specify them.
10906
10907 * fontset.c (Finternal_char_font): Use font_get_name, not
10908 Ffont_xlfd_name.
10909
10910 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10911 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10912 pattern. Don't force scalable.
10913
10914 * xftfont.c (xftfont_open): For generating a name, start from
10915 96-byte buffer.
10916
109172008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10918
10919 * frame.h (x_new_fontset2): Fix prototype.
10920
109212008-02-01 Kenichi Handa <handa@m17n.org>
10922
10923 * font.h (struct font_driver): Delete member parse_name.
10924 (font_match_p, font_get_spec, font_parse_fcname)
10925 (font_unparse_fcname): Extern them.
10926 (font_get_name): Adjust prototype.
10927
10928 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10929 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10930 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10931 unnecessary checks for weight, slant, and swidth.
10932 (font_parse_fcname): New function.
10933 (font_unparse_fcname): New function.
10934 (font_parse_name): New function.
10935 (font_match_p): New function.
10936 (font_get_name): Change return value to Lisp string.
10937 (font_get_spec): New function.
10938 (Qunspecified, Qignore_defface): Don't extern them.
10939 (font_find_for_lface): Assume that LFACE is fully specified.
10940 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10941 object, use it for FACE.
10942 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10943 driver->parse_name.
10944 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10945
10946 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10947 prototype.
10948
10949 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10950 argument F. Don't call Fnew_fontset. Instead, directly call
10951 make_fontset.
10952
10953 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10954
10955 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10956 of x_new_fontset2.
10957
10958 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10959 (Qsans__serif): New variables.
10960 (ftfont_generic_family_list): New variable.
10961 (syms_of_ftfont): Initialize the above variables.
10962 (ftfont_pattern_entity): Delete argument NAME.
10963 (ftfont_list_generic_family): New function.
10964 (ftfont_parse_name): Delete this function.
10965 (ftfont_list): Try generic family only when FcFontList found no font.
10966 (ftfont_list_family): Fix args to FcObjectSetBuild.
10967
10968 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10969 object in attrs[LFACE_FONT_INDEX].
10970 (set_lface_from_font_name): Cancel all changes for font-backend.
10971 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10972 function.
10973 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10974 font object in QCfont attribute.
10975 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10976 (realize_default_face) [USE_FONT_BACKEND]: Call
10977 set_lface_from_font_and_fontset.
10978
10979 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10980 "fixed", and signal error here if no suitable font was found.
10981
10982 * xfont.c (xfont_parse_name): Delete this function.
10983
10984 * xftfont.c (xftfont_open): Change coding style of error
10985 handling. Generate fontconfig's fontname pattern.
10986
10987 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10988 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10989
10990 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10991 Both args FONTSET and FONT_OBJECT must be existing ones.
10992
109932008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10994
10995 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10996
109972008-02-01 Kenichi Handa <handa@m17n.org>
10998
10999 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
11000
11001 * font.h (struct font): Fix typo.
11002
11003 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
11004 XLFD_XXX_INDEX.
11005 (enum xlfd_field_mask): New enum.
11006 (intern_font_field): Changed argument. Change caller. If digits
11007 are followed by non-digits, return a symbol.
11008 (font_expand_wildcards): New function.
11009 (font_parse_xlfd): Fix wildcard handling.
11010 (Ffont_spec): If :name is specified, reflect the info in the other
11011 properties.
11012
11013 * ftfont.c (ftfont_pattern_entity): Fix typo.
11014 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
11015 locale.
11016
110172008-02-01 Kenichi Handa <handa@m17n.org>
11018
11019 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
11020
11021 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
11022 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
11023 registry doesn't specify encoding part.
11024 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
11025 (font_open_by_name): At first try parsing the name.
11026 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
11027 as Lisp symbols.
11028
11029 * fontset.c (reorder_font_vector): Pay attention to the case that
11030 the 3rd element of font_def is nil.
11031 (fontset_font): For the default fontset, append one more fontset
11032 elements for a script-based font specification. Don't add script
11033 attribute on finding a font.
11034 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
11035 font name.
11036 (fontset_ascii_font): If a font can't be opened, return nil.
11037
11038 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
11039 (ftfont_pattern_entity): New function.
11040 (ftfont_get_cache): Assume that freetype_font_cache is already
11041 initialized.
11042 (ftfont_list): Handle the case that a file is specified in font
11043 name. Use ftfont_pattern_entity to generate entities.
11044 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
11045 (syms_of_ftfont): Initialize freetype_font_cache.
11046
11047 * xftfont.c (xftfont_open): Make the font name fontconfig's
11048 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
11049 (xftfont_close): Free font->font.name if not NULL.
11050
11051 * xfont.c (xfont_list): If script is specified for a font, return
11052 null_vector.
11053 (xfont_list_family): Declare argument type.
11054
11055 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
11056 name, set LFACE_FONT (lface) to nil.
11057
11058 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
11059 return Qnil.
11060
110612008-02-01 Kenichi Handa <handa@m17n.org>
11062
11063 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
11064 (standard_args): Add "-enable-font-backend".
11065
110662008-02-01 Kenichi Handa <handa@m17n.org>
11067
11068 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
11069 (struct xftdraw_list, xftdraw_list): Delete them.
11070 (register_xftdraw, check_xftdraw): Delete them.
11071 (xftfont_prepare_face): Don't call register_xftdraw.
11072 (xftfont_done_face): Don't call check_xftdraw.
11073 (xftfont_draw): Get background color only when with_background is
11074 nonzero.
11075
11076 * xfont.c (xfont_encode_char): Fix calculation of char2b.
11077
110782008-02-01 Kenichi Handa <handa@m17n.org>
11079
11080 These changes are for the new font handling codes.
11081
11082 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
11083 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
11084 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
11085 (FONTSRC, FONTOBJ): New variables.
11086 (obj): Add $(FONTOBJ).
11087 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
11088 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
11089 @LIBOTF_LIBS@.
11090 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
11091 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
11092
11093 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
11094
11095 * character.h (Vscript_representative_chars): Extern it.
11096
11097 * character.c (Vscript_representative_chars): New variable.
11098 (syms_of_character): Declare it as a Lisp variable.
11099
11100 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
11101 enable_font_backend is nonzero, accept the composition method
11102 COMPOSITION_WITH_GLYPH_STRING.
11103
11104 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
11105 enumeration COMPOSITION_WITH_GLYPH_STRING.
11106
11107 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
11108 members clip_x, clip_y, clip_width, and clip_height.
11109 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
11110
11111 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
11112 --enable-font-backend. Call syms_of_font.
11113
11114 * fns.c (assoc_no_quit): New function.
11115
11116 * fontset.h (FONT_INFO_FROM_FACE): New macro.
11117 (face_for_font, new_fontset_from_font)
11118 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
11119
11120 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
11121 (fontset_font, fontset_ascii, face_for_char)
11122 (make_fontset_for_ascii_face, Ffont_info)
11123 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
11124 is nonzero, use font-backend mechanism.
11125 (find_font_encoding): Make it non-static.
11126 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
11127 New functions.
11128
11129 * frame.h (struct frame): New members resx and resy.
11130 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
11131 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
11132
11133 * frame.c [USE_FONT_BACKEND]: Include "font.h".
11134 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
11135
11136 * lisp.h (assoc_no_quit): Extern it.
11137
11138 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
11139 Through out the file, use FONT_INFO_FROM_FACE instead of
11140 FONT_INFO_FROM_ID, use get_per_char_metric instead of
11141 rif->per_char_metric.
11142 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
11143 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
11144 (get_glyph_face_and_encoding, fill_composite_glyph_string)
11145 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11146 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
11147 nonzero, use font-backend mechanism.
11148 (get_per_char_metric): New function.
11149
11150 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
11151 (set_lface_from_font_name)
11152 (set_font_frame_param, free_realized_face)
11153 (prepare_face_for_display, clear_face_gcs)
11154 (Finternal_set_font_selection_order, realize_x_face)
11155 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
11156 font-backend mechanism.
11157 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
11158 (load_face_font) [USE_FONT_BACKEND]: Abort.
11159 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
11160 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
11161
11162 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
11163 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
11164 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
11165 nonzero, register all available font drivers. Call
11166 x_default_font_parameter for deciding a font.
11167 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
11168
11169 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
11170 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
11171 (x_set_glyph_string_clipping_exactly)
11172 (x_compute_glyph_string_overhangs)
11173 (x_draw_glyph_string_foreground)
11174 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
11175 (x_free_frame_resources) [USE_FONT_BACKEND]: If
11176 enable_font_backend is nonzero, use font-backend mechanism.
11177 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
11178
111792008-02-01 Kenichi Handa <handa@m17n.org>
11180
11181 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
11182 system_eol_type.
11183 (syms_of_coding): Initialize system_eol_type.
11184
11185 * process.c (Fset_process_coding_system): Inherit system's eol
11186 format if necessary.
11187
111882008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11189
11190 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
11191
111922008-02-01 Kenichi Handa <handa@m17n.org>
11193
11194 * coding.c (decode_eol): Pay attention to buffer relocation in
11195 del_range_2.
11196 (decode_coding): Call decode_eol before restoring undo_list.
11197
111982008-02-01 Kenichi Handa <handa@m17n.org>
11199
11200 * charset.c (Fdefine_charset_internal): Fix setting of
11201 emacs_mule_bytes.
11202
112032008-02-01 Kenichi Handa <handa@m17n.org>
11204
11205 * keyboard.c (read_char): Check if C is a character or not before
11206 looking up Vkeyboard_translate_table.
11207
112082008-02-01 Kenichi Handa <handa@m17n.org>
11209
11210 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
11211 condition to terminate the loop.
11212
112132008-02-01 Kenichi Handa <handa@m17n.org>
11214
11215 * coding.c (produce_composition): Compare charbuf[i] instead of
11216 args[i] against 0.
11217 (Fterminal_coding_system): Use EQ to compare Lisp objects.
11218
112192008-02-01 Kenichi Handa <handa@m17n.org>
11220
11221 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
11222 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
11223 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
11224 detect_coding.
11225 (emacs_mule_char): Handle old style (Emacs 20) component character
11226 of a composition.
11227 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
11228 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
11229 composition rule.
11230 (decode_coding_emacs_mule): Handle invalid bytes correctly.
11231
112322008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * coding.c (encode_coding_ccl): Allocate destination dynamically
11235 when necessary.
11236
112372008-02-01 Kenichi Handa <handa@m17n.org>
11238
11239 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
11240 the loop. When quitted, show a proper error message.
11241
112422008-02-01 Kenichi Handa <handa@m17n.org>
11243
11244 * xterm.c (x_set_glyph_string_clipping_exactly): Set
11245 src->clip_head and src->clip_tail temporarily instead of src->hl.
11246
11247 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
11248 character sequence.
11249 (Fccl_execute_on_string): Use ASET, not XSET.
11250
112512008-02-01 Kenichi Handa <handa@m17n.org>
11252
11253 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
11254
112552008-02-01 Kenichi Handa <handa@m17n.org>
11256
11257 * coding.c (decode_coding): Fix the condition of terminating the
11258 decoding loop.
11259
112602008-02-01 Kenichi Handa <handa@m17n.org>
11261
11262 * data.c (Faset): On setting a character bigger than 255 in a
11263 unibyte string, signal an error instead of make the string multibyte.
11264
112652008-02-01 Kenichi Handa <handa@m17n.org>
11266
11267 * charset.c (map_charset_chars): Fix for ascii-compatible charset
11268 made by a mapping table.
11269
112702008-02-01 Kenichi Handa <handa@m17n.org>
11271
11272 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
11273 not.
11274 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
11275 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
11276
11277 * xterm.c (x_draw_composite_glyph_string_foreground): Check
11278 s->face is NULL or not.
11279
112802008-02-01 Kenichi Handa <handa@m17n.org>
11281
11282 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
11283 (x_draw_glyph_string): Fix drawing of right_overhang and
11284 left_overhang around/on cursor.
11285
11286 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
11287
112882008-02-01 Kenichi Handa <handa@m17n.org>
11289
11290 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
11291
112922008-02-01 Kenichi Handa <handa@m17n.org>
11293
11294 * coding.c (Fdefine_coding_system_internal)
11295 (Fdefine_coding_system_alias): Avoid a duplicated element in
11296 Vcoding_system_alist.
11297
112982008-02-01 Kenichi Handa <handa@m17n.org>
11299
11300 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
11301
11302 * coding.c (Qcoding_system_define_form): New variable.
11303 (syms_of_coding): Intern and staticpro it.
11304 (Fcoding_system_p): Check Qcoding_system_define_form.
11305 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
11306
11307 * coding.h (CODING_SYSTEM_P): If ID is not available, call
11308 Fcoding_system_p.
11309 (CHECK_CODING_SYSTEM): If ID is not available, call
11310 Fcheck_coding_system.
11311 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
11312 Try also Fcheck_coding_system.
11313
113142008-02-01 Kenichi Handa <handa@m17n.org>
11315
11316 * coding.c (code_conversion_restore): GCPRO arg.
11317
113182008-02-01 Kenichi Handa <handa@m17n.org>
11319
11320 * character.c (lisp_string_width): Check multibyteness of STRING.
11321
113222008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11323
11324 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
11325 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
11326 (decode_mac_font_name): Use decode_coding_c_string instead of
11327 decode_coding.
11328 (x_load_font): Initialize fontp->fontset to -1. Set
11329 fontp->encoding_type.
11330
113312008-02-01 Kenichi Handa <handa@m17n.org>
11332
11333 * search.c (search_buffer): Give up BM search on case-fold-search
11334 if one of a target character has a case-equivalence of different
11335 byte length even if that target charcter is an ASCII.
11336 (simple_search): Fix calculation of byte length of matched text.
11337 (boyer_moore): Fix handling of case-equivalent multibyte characters.
11338
113392008-02-01 Kenichi Handa <handa@m17n.org>
11340
11341 * coding.c (decode_coding): Fix handling of invalid bytes.
11342
113432008-02-01 Kenichi Handa <handa@m17n.org>
11344
11345 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
11346 Unicode characters.
11347
113482008-02-01 Kenichi Handa <handa@m17n.org>
11349
11350 * coding.c (encode_coding_object): If a pre-write-conversion
11351 function makes a new buffer, kill it.
11352
113532008-02-01 Kenichi Handa <handa@m17n.org>
11354
11355 * coding.c (QCascii_compatible_p): New variable.
11356 (syms_of_coding): Initialize it.
11357 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
11358 calling string_char.
11359 (record_conversion_result): Add `default:' case.
11360 (coding_charset_list): Delete unused variable `coding_type'.
11361 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
11362 property in the plist of the coding system.
11363 (Fcoding_system_put): Check QCascii_compatible_p.
11364
113652008-02-01 Miles Bader <miles@gnu.org>
11366
11367 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
11368 removed calculation of frame `f', as it's now used.
11369
113702008-02-01 Kenichi Handa <handa@m17n.org>
11371
11372 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
11373 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
11374 (UNIDATA): New variable.
11375 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
11376 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
11377 $(RUN_TEMACS) unconditionally.
11378
113792008-02-01 Kenichi Handa <handa@m17n.org>
11380
11381 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
11382 (admindir): New variable.
11383 ($(lispsource)international/charprop.el): New target.
11384
113852008-02-01 Miles Bader <miles@gnu.org>
11386
11387 * character.c (chars-in-region): Remove obsolete function.
11388 (syms_of_character): Remove its initialization.
11389
113902008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
11391
11392 * w32select.c (validate_coding_system)
11393 (setup_windows_coding_system): New functions.
11394 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
11395 setup_windows_coding_system.
11396 (setup_config, Fw32_get_clipboard_data): Use
11397 validate_coding_system.
11398 (Fx_selection_exists): Move call to setup_config to a place
11399 where signals are allowed.
11400
11401 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
11402 (Fcheck_coding_system): Add declarations.
11403
114042008-02-01 Kenichi Handa <handa@m17n.org>
11405
11406 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
11407
114082008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11409
11410 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
11411 string as the second argument for x_new_fontset.
11412
114132008-02-01 Kenichi Handa <handa@m17n.org>
11414
11415 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11416 (encode_coding_object): Use safe_call instead of call2.
11417
114182008-02-01 Kenichi Handa <handa@m17n.org>
11419
11420 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11421
11422 * Makefile.in (lisp): Include charprop.el.
11423
114242008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11425
11426 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11427 Not sure if it's unnecessary.
11428
114292008-02-01 Steven Tamm <steventamm@mac.com>
11430
11431 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11432 some possibly unnecessary fontset checking code that crashed
11433 when creating a new frame.
11434
114352008-02-01 Kenichi Handa <handa@m17n.org>
11436
11437 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11438 lookup_face.
11439
11440 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11441
11442 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11443
114442008-02-01 Kenichi Handa <handa@m17n.org>
11445
11446 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11447 (coding_charset_list): New function.
11448
11449 * coding.h (coding_charset_list): Extern it.
11450
114512008-02-01 Kenichi Handa <handa@m17n.org>
11452
11453 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11454 concatenation of family and registry.
11455
114562008-02-01 Kenichi Handa <handa@m17n.org>
11457
11458 * character.h (BYTE8_STRING): Fix typo.
11459
11460 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11461 string to multibyte (sync to HEAD).
11462
11463 * casefiddle.c (casify_region): Handle changes in byte-length
11464 using replace_range_2 (sync to HEAD).
11465
114662008-02-01 Andreas Schwab <schwab@suse.de>
11467
11468 * chartab.c (map_char_table): GCPRO table and arg.
11469
114702008-02-01 Kenichi Handa <handa@m17n.org>
11471
11472 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11473 already at limit.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11478 instead of fast_c_string_match_ignore_case.
11479 (find_font_encoding): Change argument to Lisp_Object. Use
11480 fast_string_match_ignore_case instead of
11481 fast_c_string_match_ignore_case. Change caller.
11482
114832008-02-01 Kenichi Handa <handa@m17n.org>
11484
11485 * xdisp.c (get_next_display_element): In unibyte case, decide to
11486 display in octal form by checking a character by
11487 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11488
11489 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11490
11491 * character.c (unibyte_has_multibyte_table): New variable.
11492
11493 * character.h (unibyte_has_multibyte_table): Extern it.
11494 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11495
114962008-02-01 Kenichi Handa <handa@m17n.org>
11497
11498 * coding.c (encode_coding_iso_2022): Fix handling of charset
11499 annotation.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * coding.c (setup_coding_system): If coding_system is nil, use
11504 Qundecided.
11505 (Fterminal_coding_system): Return nil if terminal coding system is
11506 `undecided'.
11507 (syms_of_coding): Define coding-system `undecided' here. Setup
11508 terminal_coding as `undecided'.
11509
115102008-02-01 Kenichi Handa <handa@m17n.org>
11511
11512 * xdisp.c (message_dolog, set_message_1): Call
11513 unibyte_char_to_multibyte with arg type int.
11514
11515 * lread.c (read1): Fix reading of a char-table.
11516
11517 * print.c (print_object): Include sub char-table in circularities
11518 detection.
11519
115202008-02-01 Kenichi Handa <handa@m17n.org>
11521
11522 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11523 Append the found sequences in car of ARGS instead of prepending.
11524
115252008-02-01 Kenichi Handa <handa@m17n.org>
11526
11527 * fileio.c (report_file_error): Make a unibyte string from
11528 strerror (errorno).
11529 (Fsubstitute_in_file_name): Fix the arg to
11530 unibyte_char_to_multibyte. It is evaluated twice.
11531
115322008-02-01 Kenichi Handa <handa@m17n.org>
11533
11534 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11535
115362008-02-01 Kenichi Handa <handa@m17n.org>
11537
11538 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11539 BOM is not found.
11540 (detect_coding, detect_coding_system): Optimization for ISO-2022
11541 when no 8-bit data is found.
11542
115432008-02-01 Jason Rumney <jasonr@gnu.org>
11544
11545 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11546
115472008-02-01 Kenichi Handa <handa@m17n.org>
11548
11549 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11550 CHARS.
11551
115522008-02-01 Steven Tamm <steventamm@mac.com>
11553
11554 * macterm.c (mac_encode_char): Add charset argument and update
11555 to use encoding_type.
11556 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11557 switch to pure fontset.
11558 (decode_mac_font_name): Temporarily remove decoding.
11559 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11560 (x_load_font): Temporarily remove encoding.
11561
115622008-02-01 Kenichi Handa <handa@m17n.org>
11563
11564 * xfaces.c (Fface_font): If frame is not on a window system,
11565 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11566 refer to face->font.
11567 (split_font_name_into_vector, build_font_name_from_vector)
11568 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11569 when HAVE_WINDOW_SYSTEM is defined.
11570
115712008-02-01 Kenichi Handa <handa@m17n.org>
11572
11573 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11574 (x_produce_glyphs): Fix setting of members of cmp in case
11575 cmp->glyph_len is zero.
11576
11577 * fontset.c (Fset_fontset_font): Fix docstring.
11578 (Ffontset_info): Make it backward compatible. New arg ALL.
11579
115802008-02-01 Kim F. Storm <storm@cua.dk>
11581
11582 * process.c (read_process_output): Grow decoding_buf when needed;
11583 this could cause a crash in allocate_string and compact_small_strings.
11584
115852008-02-01 Kenichi Handa <handa@m17n.org>
11586
11587 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11588
115892008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * coding.c (setup_coding_system): Set coding->common_flags
11592 correctly for raw-text.
11593 (consume_chars): On encoding unibyte text by raw-text, don't check
11594 multibyte form.
11595 (encode_coding): On encoding by raw-text, never use translation tables.
11596
11597 * fileio.c (e_write): Short cut for the case of no encoding.
11598
115992008-02-01 Kenichi Handa <handa@m17n.org>
11600
11601 * coding.c (detect_coding, detect_coding_system): Delete unused
11602 variables.
11603
116042008-02-01 Kenichi Handa <handa@m17n.org>
11605
11606 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11607 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11608
116092008-02-01 Kenichi Handa <handa@m17n.org>
11610
11611 * coding.c (Ffind_coding_systems_region_internal): Include
11612 raw-text and no-conversion in the result.
11613
116142008-02-01 Kenichi Handa <handa@m17n.org>
11615
11616 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11617 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11618 FONT_DEF.
11619 (font_def_arg, add_arg, from_arg, to_arg): New args.
11620 (set_fontset_font): Change argument.
11621 (Fset_fontset_font): Fix for the case that TARGET is a script
11622 name and charset name.
11623 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11624
116252008-02-01 Kenichi Handa <handa@m17n.org>
11626
11627 * fontset.c (fontset_font): Rename from fontset_face. Change return
11628 value.
11629 (face_suitable_for_char_p, face_for_char): Adjust for the change
11630 of fontset_font.
11631 (make_fontset_for_ascii_face): Fix setting of the fontset element
11632 for ASCII.
11633 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11634 to get a font name.
11635 (Ffontset_info): Adjust for the change of fontset_font.
11636
11637 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11638
11639 * character.h (LEADING_CODE_LATIN_1_MIN)
11640 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11641
116422008-02-01 Kenichi Handa <handa@m17n.org>
11643
11644 * editfns.c (check_translation): New function.
11645 (Ftranslate_region_internal): Handle M:N mapping.
11646
116472008-02-01 Kenichi Handa <handa@m17n.org>
11648
11649 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11650
116512008-02-01 Kenichi Handa <handa@m17n.org>
11652
11653 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11654 goto invalid_code.
11655 (decode_coding_iso_2022): Fix handling of invalid designation.
11656
11657 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11658 after calling code_conversion_save.
11659
116602008-02-01 Kenichi Handa <handa@m17n.org>
11661
11662 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11663
11664 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11665
11666 * fontset.c: Include "intervals.h".
11667 (fontset_face): Fix comparing of Lisp_Objects.
11668 (free_face_fontset, new_fontset_from_font_name): Fix
11669 Lisp_Object/int mixup.
11670
11671 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11672
11673 * coding.c: Add many prototypes for static functions.
11674 (get_translation_table): Allow max_lookup to be NULL.
11675 (decode_coding, Ffind_coding_systems_region_internal)
11676 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11677 get_translation_table with max_lookup NULL.
11678
116792008-02-01 Kenichi Handa <handa@m17n.org>
11680
11681 * coding.c (get_translation_table): Declare it as Lisp_Object.
11682 (LOOKUP_TRANSLATION_TABLE): New macro.
11683 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11684 instead of CHAR_TABLE_REF.
11685
116862008-02-01 Kenichi Handa <handa@m17n.org>
11687
11688 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11689 annotation data format.
11690 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11691 Change arguments FROM and TO to single argument NCHARS. Change caller.
11692 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11693 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11694 (decode_coding_ccl, decode_coding_charset): Pay attention to
11695 coding->charbuf_used.
11696 (get_translation): New function.
11697 (produce_chars): New arguments translation_table and last_block.
11698 Translate characters here. Return number of carryover chars.
11699 Change caller.
11700 (produce_composition): New argument pos. Change caller.
11701 Adjust for the change of annotation data format.
11702 (produce_charset, produce_annotation): Likewise.
11703 (decode_coding, encode_coding): Don't call translate_chars.
11704 (consume_chars): New arg translation_table. Change caller.
11705 (translate_chars): Delete.
11706 (syms_of_coding): Make translation-table's number of extra slots 2.
11707
117082008-02-01 Kenichi Handa <handa@m17n.org>
11709
11710 * search.c (simple_search): Fix setting this_pos_byte in backward
11711 search.
11712
11713 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11714 byte sequence.
11715 (detect_coding_ccl): Fix setting of the variable valids.
11716
117172008-02-01 Kenichi Handa <handa@m17n.org>
11718
11719 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11720
11721 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11722
11723 * editfns.c (Ftranslate_region_internal): Rename from
11724 Ftranslate_region. Accept a char-table in TABLE.
11725 (syms_of_editfns): Defsubr Stranslate_region_internal.
11726
11727 * xfaces.c (set_lface_from_font_name): If a font is specified for
11728 a frame, generate a fontset from the font.
11729 (build_scalable_font_name): If the scalable font is requested for
11730 a specific size, don't change that size.
11731 (try_font_list): Try a scalable font also in the case that a
11732 pattern string is specified.
11733
117342008-02-01 Kenichi Handa <handa@m17n.org>
11735
11736 * xfaces.c (Fface_font): New optional arg CHARACTER.
11737
117382008-02-01 Kenichi Handa <handa@m17n.org>
11739
11740 * charset.h (CHARSET_OFFSET): New macro.
11741
117422008-02-01 Kenichi Handa <handa@m17n.org>
11743
11744 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11745
11746 * fontset.c (fontset_face): Handle the case that repertory is a
11747 char-table.
11748 (find_font_encoding): Return nil for unknown encoding.
11749 (Fset_fontset_font): Ignore a font of unknown encoding.
11750
117512008-02-01 Kenichi Handa <handa@m17n.org>
11752
11753 * keymap.c (describe_vector): Handle default value of a char table.
11754
11755 * fontset.c (fontset_face): Handle fallback fonts correctly.
11756 (Ffontset_info): Return infomation about fallback fonts.
11757
117582008-02-01 Kenichi Handa <handa@m17n.org>
11759
11760 * fontset.c (FONTSET_DEFAULT): New macro.
11761 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11762 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11763 the case that it is nil.
11764 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11765 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11766
11767 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11768 subset or superset.
11769
117702008-02-01 Kenichi Handa <handa@m17n.org>
11771
11772 * emacs.c (main): Call init_charset after syms_of_XXX.
11773
11774 * charset.c (Vcharset_map_directory): Delete.
11775 (Vcharset_map_path): New variable.
11776 (load_charset_map_from_file): Use Vcharset_map_path instead.
11777 (init_charset): Initialize Vcharset_map_path.
11778 (syms_of_charset): Delete declaration of "charset-map-directory",
11779 add declaration of "charset-map-path".
11780
117812008-02-01 Kenichi Handa <handa@m17n.org>
11782
11783 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11784 ASCII only string.
11785
11786 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11787
11788 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11789 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11790
117912008-02-01 Kenichi Handa <handa@m17n.org>
11792
11793 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11794
11795 * coding.c (QCmnemonic, QCdefalut_char)
11796 (QCdecode_translation_table, QCencode_translation_table)
11797 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11798 (get_translation_table): Return a list of translation tables if
11799 necessary.
11800 (decode_coding): Call get_translation_table with ENCODEP 0.
11801 (char_encodable_p): If translation_table is non-nil, always call
11802 translate_char.
11803 (Fdefine_coding_system_internal): Accept list of translation
11804 tables as :encode-translation-table and :decode-translation-table.
11805 (Fcoding_system_put): New function.
11806 (syms_of_coding): Declare new symbols. Defsubr
11807 Scoding_system_put.
11808 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11809 typically JISX0212.
11810
11811 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11812 when the charset is superset type.
11813
11814 * character.c (translate_char): Accept list of translation tables.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11819 (CODING_ATTR_TRANS_TBL): New macro.
11820
11821 * coding.c (get_translation_table): New function.
11822 (translate_chars): Fix the bug of skipping annotation data.
11823 (decode_coding, encode_coding): Utilize get_translation_table.
11824 (char_encodable_p, Funencodable_char_position): Translate char if
11825 necessary.
11826 (Ffind_coding_systems_region_internal)
11827 (Fcheck_coding_systems_region): Setup translation table for encode
11828 in a coding system attribute vector in advance.
11829 (Fdefine_coding_system_internal): Allow a symbol as translation
11830 table. For shift-jis type coding system, allow 4th charset.
11831
118322008-02-01 Kenichi Handa <handa@m17n.org>
11833
11834 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11835
11836 * xdisp.c (get_next_display_element): Pass -1 as POS to
11837 FACE_FOR_CHAR if displaying a C-string.
11838
118392008-02-01 Kenichi Handa <handa@m17n.org>
11840
11841 * composite.c (get_composition_id): Handle xoff and yoff in a
11842 composition rule.
11843
11844 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11845 (struct composition): New member lbearing and rbearing.
11846
11847 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11848 (x_get_glyph_overhangs): Handle a composition glyph.
11849 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11850
11851 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11852 composition glyph.
11853
118542008-02-01 Kenichi Handa <handa@m17n.org>
11855
11856 * print.c: Include charset.h.
11857 (Vprint_charset_text_property): New variable.
11858 (Qdefault): Extern it.
11859 (PRINT_STRING_NON_CHARSET_FOUND)
11860 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11861 (print_check_string_result): New variable.
11862 (print_check_string_charset_prop): New function.
11863 (print_prune_charset_plist): New variable.
11864 (print_prune_string_charset): New function.
11865 (print_object): Call print_prune_string_charset if
11866 Vprint_charset_text_property is not t.
11867 (print_interval): Print nothing if interval->plist is nil.
11868 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11869 variable. Init and staticpro print_prune_charset_plist.
11870
118712008-02-01 Kenichi Handa <handa@m17n.org>
11872
11873 * fontset.c (new_fontset_from_font_name): Use the specified font
11874 for all characters in the new fontset.
11875
11876 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11877 OBJECT args.
11878
11879 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11880 OBJECT args for composition too.
11881
11882 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11883 OBJECT args.
11884
118852008-02-01 Kenichi Handa <handa@m17n.org>
11886
11887 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11888
11889 * fontset.c (reorder_font_vector): Adjust for the change of
11890 FONT_DEF format.
11891 (fontset_face): New arg id. Change caller.
11892 (face_for_char): New args pos and object.
11893 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11894 (fs_query_fontset): Check NAME by Fassoc too.
11895 (Fset_fontset_font): Allow non-XLFD font name.
11896 (Ffontset_info): Adjust for the change of FONT_DEF format.
11897
11898 * fontset.h (face_for_char): Adjust prototype.
11899
11900 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11901 (append_space, extend_face_to_end_of_line)
11902 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11903 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11904
11905 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11906 POS and OBJECT args.
11907
11908 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11909 POS and OBJECT args.
11910
119112008-02-01 Jason Rumney <jasonr@gnu.org>
11912
11913 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11914 of GlobalAlloc'ed memory.
11915
119162008-02-01 Kenichi Handa <handa@m17n.org>
11917
11918 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11919
11920 * charset.h (charset_table_used): Delete extern.
11921
11922 * charset.c (charset_table_used): Make it static.
11923 (map_charset_chars): Fix args to c_function with.
11924
11925 * chartab.c (map_sub_char_table_for_charset): Fix args to
11926 c_function with.
11927
11928 * coding.h (enum coding_result_code): Delete
11929 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11930
11931 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11932 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11933 (Vlast_code_conversion_error): New variables.
11934 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11935 (ONE_MORE_BYTE): Record error if any instead of signaling an
11936 error. If non-ASCII multibyte char is found, return the negative
11937 value of the code. All callers changed to check it.
11938 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11939 (record_conversion_result): New function. Change all codes setting
11940 coding->result to call this function.
11941 (detect_coding_utf_8, decode_coding_utf_8)
11942 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11943 Don't use the local variable incomplete.
11944 (emacs_mule_char): Change the second arg to `const'.
11945 (decode_coding): Fix of flushing out unprocessed data.
11946 (make_conversion_work_buffer): Fix making of a work buffer.
11947 (decode_coding_object): Return coding->dst_object.
11948
11949 * fontset.c (set_fontset_font): Fix args.
11950
11951 * lisp.h (CHARACTERBITS): Define as 22.
11952
11953 * process.c (send_process): Be sure to set coding->src_multibyte.
11954
11955 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11956
119572008-02-01 Kenichi Handa <handa@m17n.org>
11958
11959 * xdisp.c (handle_auto_composed_prop): Give limit to
11960 Fnext_single_char_property_change.
11961
119622008-02-01 Kenichi Handa <handa@m17n.org>
11963
11964 * composite.c (syms_of_composite): Don't make the composition hash
11965 table weak.
11966
11967 * fontset.c (Fset_fontset_font): Fix docstring.
11968
11969 * lisp.h (detect_coding_system): Adjust prototype.
11970
11971 * fileio.c (kill_workbuf_unwind): Delete this function.
11972 (Finsert_file_contents): Adjust the call of detect_coding_system.
11973 Get conversion_buffer by code_conversion_save. Use the macro
11974 CODING_MAY_REQUIRE_DECODING. After decoding, update
11975 coding_system.
11976
11977 * coding.h (make_conversion_work_buffer): Delete extern.
11978 (code_conversion_save): Extern it.
11979
11980 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11981 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11982 (decode_coding_utf_8): Don't do eol converion.
11983 (detect_coding_utf_16): Check coding->src_chars, not
11984 coding->src_bytes. Add heuristics for those that have no signature.
11985 (decode_coding_emacs_mule, decode_coding_iso_2022)
11986 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11987 Don't do eol converion.
11988 (adjust_coding_eol_type): Return a new coding system.
11989 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11990 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11991 each change.
11992 (decode_coding): Pay attention to undo_list. Do eol conversion for
11993 all types of coding-systems (if necessary).
11994 (Vcode_conversion_work_buf_list): Delete it.
11995 (Vcode_conversion_reused_workbuf): Rename from
11996 Vcode_conversion_reused_work_buf.
11997 (Vcode_conversion_workbuf_name): New variable.
11998 (reused_workbuf_in_use): New variable.
11999 (make_conversion_work_buffer): Delete the arg DEPTH.
12000 (code_conversion_restore): Change argument to cons.
12001 (code_conversion_save): Delete the argument BUFFER. Change callers.
12002 (detect_coding_system): New argument src_chars. Change callers.
12003 Fix for utf-16 detection.
12004 (init_coding_once): Don't use ISO_carriage_return.
12005 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
12006 reused_workbuf_in_use.
12007
120082008-02-01 Kenichi Handa <handa@m17n.org>
12009
12010 * keymap.c (store_in_keymap): Pay attention to the case that idx
12011 is a cons specifying a character range.
12012
120132008-02-01 Kenichi Handa <handa@m17n.org>
12014
12015 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
12016 HANDLED_RECOMPUTE_PROPS.
12017
12018 * coding.c (Fdefine_coding_system_internal): Fix checking of
12019 ascii compatibility.
12020
120212008-02-01 Kenichi Handa <handa@m17n.org>
12022
12023 * charset.c (find_charsets_in_text): Delete unused locale variable.
12024 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
12025
12026 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
12027 Resync charset_list to Vemacs_mule_charset_list.
12028
12029 * keymap.c (store_in_keymap): Pay attention to the case that idx
12030 is a cons specifying a character range.
12031
120322008-02-01 Kenichi Handa <handa@m17n.org>
12033
12034 * composite.c (update_compositions): Bind inhibit-read-only, etc
12035 to t before calling remove-list-of-text-properties.
12036
12037 * print.c (print_object): Always print ASCII chars as is.
12038
120392008-02-01 Kenichi Handa <handa@m17n.org>
12040
12041 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
12042
12043 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
12044 is a char table.
12045
120462008-02-01 Kenichi Handa <handa@m17n.org>
12047
12048 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
12049
120502008-02-01 Kenichi Handa <handa@m17n.org>
12051
12052 * xfaces.c (set_lface_from_font_name): Fix for the case that
12053 FONTNAME is not fontset name.
12054
120552008-02-01 Kenichi Handa <handa@m17n.org>
12056
12057 * fns.c (base64_encode_1): Fix previous change.
12058
120592008-02-01 Kenichi Handa <handa@m17n.org>
12060
12061 * fontset.c (set_fontset_font): New function.
12062 (Fset_fontset_font): If a font is specified for a charset, use
12063 map_charset_chars to store the font spec in a fontset.
12064
120652008-02-01 Kenichi Handa <handa@m17n.org>
12066
12067 * fontset.c (fontset_face): Create a fallback fontset on demand.
12068 (make_fontset): Don't create a fallback fontset here.
12069 (free_face_fontset): Free a fallback fontset (if any) too.
12070 (n_auto_fontsets): Delete this variable.
12071 (auto_fontset_alist): New variable.
12072 (new_fontset_from_font_name): Check auto_fontset_alist.
12073 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
12074 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
12075 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
12076 Defsubr Sfontset_list_all.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
12081
120822008-02-01 Kenichi Handa <handa@m17n.org>
12083
12084 * fontset.c (Fnew_fontset): Check NAME more rigidly.
12085
120862008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * editfns.c (Fgoto_char): Fix docstring.
12089
120902008-02-01 Kenichi Handa <handa@m17n.org>
12091
12092 * insdel.c (insert_from_gap): Adjust intervals correctly.
12093
120942008-02-01 Jason Rumney <jasonr@gnu.org>
12095
12096 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
12097 (pfnGetFontUnicodeRanges): New dynamically loaded function.
12098 (w32_initialize): Try to load it.
12099 (x_get_font_repertory): Use it if available.
12100 (w32_encode_char): Add shortcut for unicode output.
12101
12102 * w32fns.c (w32_load_system_font): Default charset to -1.
12103 (x_to_w32_charset): Match all fonts for unicode.
12104 (w32_to_x_charset): New parameter matching. Don't return partial
12105 or wildcard charsets.
12106 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
12107 (w32_codepage_for_font): Return CP_UNICODE for unicode.
12108 (w32_to_x_font): Match charset to real charset.
12109 (enum_font_cb2): Always list unicode versions.
12110
12111 * makefile.w32-in (temacs): Increase EMHEAP.
12112
121132008-02-01 Jason Rumney <jasonr@gnu.org>
12114
12115 * w32term.c (w32_encode_char): New charset parameter.
12116 font_info.encoding becomes encoding_type.
12117 (x_get_font_repertory): New function. Warning: stub only!
12118 (x_new_font): Return quickly if font already set.
12119 (x_new_fontset): fontsetname parameter is Lisp_Object.
12120 Use new fs_query_fontset. Try new_fontset_from_font_name.
12121 Use fontset_name for return value.
12122
12123 * w32term.h: Declare x_get_font_repertory.
12124
12125 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
12126 place of find_charset_in_text. Use encode_coding_object in place
12127 of encode_coding.
12128 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
12129 decode_coding.
12130
12131 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
12132 of x_new_fontset.
12133 (w32_load_system_font): Initialize charset as unicode.
12134 font_info.encoding becomes encoding_type.
12135 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
12136 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
12137 (syms_of_w32fns): Set get_font_repertory_func.
12138
12139 * w32console.c: Include character.h. Use terminal_encode_buffer
12140 from term.c.
12141 (write_glyphs): Use new version of encode_terminal_code. Use
12142 encode_coding_object in place of encode_coding.
12143
12144 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
12145 encoding becomes encoding_type.
12146
12147 * term.c (terminal_encode_buffer): Make externally visible.
12148
12149 * makefile.w32-in: Add character.h dependancies.
12150 (character.o, chartab.o): New targets.
12151
121522008-02-01 Kenichi Handa <handa@m17n.org>
12153
12154 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
12155 CODING_ID_EOL_TYPE.
12156
121572008-02-01 Andreas Schwab <schwab@suse.de>
12158
12159 * coding.c (produce_chars): Revert last change.
12160
121612008-02-01 Kenichi Handa <handa@m17n.org>
12162
12163 * charset.h (charset_unicode): Extern it.
12164
12165 * charset.c (string_xstring_p): Check by (C >= 0x100).
12166 (find_charsets_in_text): Change format of the arc CHARSETS. New
12167 arg MULTIBYTE.
12168 (Ffind_charset_region, Ffind_charset_string): Adjust for the
12169 change of find_charsets_in_text.
12170 (Fsplit_char): Fix doc. Never return unknown.
12171
12172 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
12173
12174 * coding.c (Fdefine_coding_system_alias): Update
12175 Vcoding_system_list.
12176
12177 * fontset.c (load_font_get_repertory): Pay attention to the case
12178 that ENCODING of a font is specified by a char-table.
12179
12180 * xterm.c (x_get_font_repertory): Handle the case that the
12181 encoding of font is other than Unicode.
12182
121832008-02-01 Kenichi Handa <handa@m17n.org>
12184
12185 * term.c (encode_terminal_code): Don't handle glyph-table. Check
12186 if a character is encodable by the terminal coding system. If
12187 not, produces proper number of `?'s. Update
12188 terminal_encode_buffer and terminal_encode_buf_size if necessary.
12189 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
12190
121912008-02-01 Kenichi Handa <handa@m17n.org>
12192
12193 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
12194 variables.
12195 (encode_terminal_code): Change argument. Encode multiple
12196 characters at once. Store the result of encoding in
12197 terminal_encode_buffer.
12198 (write_glyphs, insert_glyphs): Adjust for the change of
12199 encode_terminal_code.
12200 (term_init): Initialize terminal_encode_buffer and
12201 terminal_encode_buf_size.
12202
12203 * coding.c (consume_chars): If coding->src_object is nil, don't
12204 check annotation.
12205
122062008-02-01 Kenichi Handa <handa@m17n.org>
12207
12208 * character.c (char_string): Use ASCII_CHAR_P instead of
12209 SINGLE_BYTE_CHAR_P.
12210
122112008-02-01 Kenichi Handa <handa@m17n.org>
12212
12213 * xdisp.c (handle_auto_composed_prop): Check if the last
12214 characters of auto-composed region is newly composed with the
12215 following characters.
12216 (handle_composition_prop): Fix checking of point being inside
12217 composition.
12218
122192008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * fns.c (concat): Don't change multibyteness of the result by
12222 concatenating an 8-bit character.
12223
12224 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
12225 multibyteness of the result when newelt is an 8-bit character.
12226
122272008-02-01 Dave Love <fx@gnu.org>
12228
12229 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
12230 EMACS_INT.
12231
12232 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
12233
12234 * xfaces.c (face_numeric_value): Declare dim size_t.
12235 (Finternal_lisp_face_equal_p): Remove unused f.
12236
12237 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
12238 (MATRIX_ROW): Remove unused vars.
12239 (draw_glyphs, x_insert_glyphs, fast_find_position)
12240 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
12241 byte/char counts.
12242
12243 * regex.c (regex_compile): Remove unused var.
12244
12245 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12246
12247 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
12248 (Faccessible_keymaps, where_is_internal): Remove unused vars.
12249
12250 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
12251
12252 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
12253
12254 * fileio.c (Fwrite_region): Remove unused var.
12255
12256 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
12257 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
12258
12259 * composite.c (Fremove_list_of_text_properties): Declare.
12260
12261 * coding.c (inhibit_pre_post_conversion): Remove (unused).
12262 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
12263 (coding_inherit_eol_type): Remove unused attrs.
12264 (detect_coding): Cast arg of detect_eol.
12265
12266 * charset.c (syms_of_charset): Remove unused var p.
12267 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
12268 byte/char counts.
12269
12270 * casetab.c (set_case_table): Remove unused var.
12271
12272 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
12273 unused vars.
12274
122752008-02-01 Dave Love <fx@gnu.org>
12276
12277 * xterm.c (x_bitmap_mask): Declare.
12278
122792008-02-01 Dave Love <fx@gnu.org>
12280
12281 * xterm.c (x_term_init): Fix type error.
12282
12283 * lisp.h: Add Funibyte_char_to_multibyte.
12284
12285 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
12286 (Fset_coding_system_priority): Doc fix.
12287
12288 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
12289
12290 * indent.c (check_composition): Make start and end EMACS_INT.
12291
12292 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
12293
12294 * xdisp.c (handle_composition_prop, check_point_in_composition):
12295 Make buffer positions EMACS_INT.
12296
12297 * composite.c (find_composition, run_composition_function)
12298 (update_compositions, Ffind_composition_internal): Make buffer
12299 positions EMACS_INT.
12300
12301 * composite.h (find_composition, update_compositions): Make
12302 position args EMACS_INT.
12303
12304 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
12305
12306 * intervals.c (get_property_and_range):
12307 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
12308
12309 * unexalpha.c: Don't include varargs.h.
12310
123112008-02-01 Dave Love <fx@gnu.org>
12312
12313 * coding.h (ENCODE_UTF_8): New.
12314
12315 * Makefile.in (gtkutil.o): Depend on coding.h.
12316
12317 * coding.c (Fset_coding_system_priority): Doc fix.
12318
123192008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 * fileio.c (Finsert_file_contents): Call setup_coding_system in
12322 the case of auto saving.
12323
123242008-02-01 Andreas Schwab <schwab@suse.de>
12325
12326 * chartab.c (map_char_table, map_char_table_for_charset): Protect
12327 `range' from GC.
12328
123292008-02-01 Kenichi Handa <handa@m17n.org>
12330
12331 * coding.c (decode_coding_sjis): Check bytes more rigidly.
12332
123332008-02-01 Kenichi Handa <handa@m17n.org>
12334
12335 * fileio.c (choose_write_coding_system): Return a decided coding system.
12336 (Fwrite_region): Set Vlast_coding_system_used to the return value
12337 of choose_write_coding_system.
12338
123392008-02-01 Kenichi Handa <handa@m17n.org>
12340
12341 * charset.c (Fset_charset_priority): Pay attention to duplicated
12342 arguments.
12343
12344 * coding.c (QCcategory): New variable.
12345 (syms_of_coding): Defsym it. Set all elements of
12346 Vcoding_category_table and their symbol values.
12347 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
12348 coding-category-XXX, and coding-category-list.
12349 (Fdefine_coding_system_internal): Add category in the plist.
12350
123512008-02-01 Kenichi Handa <handa@m17n.org>
12352
12353 * callproc.c (Fcall_process): Handle carryover correctly.
12354
12355 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
12356 (raw_text_coding_system): Check NILP (coding_system).
12357 (coding_inherit_eol_type): Check NILP (coding_system) and
12358 NILP (parent).
12359 (consume_chars): Fix for the case of raw-text.
12360
12361 * process.c (read_process_output): Handle carryover correctly.
12362
123632008-02-01 Dave Love <fx@gnu.org>
12364
12365 * regex.c (re_search_2): Fix last change.
12366
123672008-02-01 Kenichi Handa <handa@m17n.org>
12368
12369 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
12370 target_multibyte. Even in a unibyte case, return a converted
12371 multibyte char.
12372 (GET_CHAR_AFTER): New macro.
12373 (PATFETCH): Translate via multibyte char.
12374 (HANDLE_UNIBYTE_RANGE): Delete this macro.
12375 (SETUP_MULTIBYTE_RANGE): New macro.
12376 (regex_compile): Setup compiled code so that its multibyteness
12377 matches that of a target. Fix the handling of "[X-YZ]" using
12378 SETUP_MULTIBYTE_RANGE.
12379 (analyse_first) <charset>: For filling fastmap for all multibyte
12380 characters, don't check by BASE_LEADING_CODE_P.
12381 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
12382 the same as RE_MULTIBYTE_P (bufp) now.
12383 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
12384 (TARGET_CHAR_AND_LENGTH): Delete this macro.
12385 (TRANSLATE_VIA_MULTIBYTE): New macro.
12386 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
12387 It is the same as RE_MULTIBYTE_P (bufp) now.
12388 <exactn>: Translate via multibyte.
12389 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
12390 translate it.
12391 <charset, charset_not>: Fetch a character by
12392 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
12393 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
12394 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
12395 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
12396 by GET_CHAR_AFTER.
12397 (bcmp_translate): Likewise.
12398
12399 * search.c (compile_pattern): Check the member target_multibyte,
12400 not the member multibyte of buf.
12401
12402 * lread.c (read1): While reading a string, set force_singlebyte
12403 and force_multibyte correctly.
12404
12405 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
12406 up of unibyte_to_multibyte_table.
12407
124082008-02-01 Kenichi Handa <handa@m17n.org>
12409
12410 * coding.c (setup_coding_system): If coding has
12411 post-read-conversion or pre-write-conversion, set
12412 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
12413 respectively.
12414 (decode_coding_gap): Run post-read-conversion if any.
12415
12416 * fileio.c (Finsert_file_contents): Even if we read into a
12417 unibyte buffer, check if we must decode the result or not.
12418
124192008-02-01 Kenichi Handa <handa@m17n.org>
12420
12421 * coding.c (make_conversion_work_buffer): Change the work buffer
12422 name to the same one as that of Emacs 21.
12423
124242008-02-01 Kenichi Handa <handa@m17n.org>
12425
12426 * coding.h (make_conversion_work_buffer): Adjust prototype.
12427 (code_conversion_restore): Don't extern it.
12428
12429 * coding.c (detected_mask): Delete unused variable.
12430 (decode_coding_iso_2022): Pay attention to the byte sequence of
12431 CTEXT extended segment, and retain those bytes as is.
12432 (decode_coding_ccl): Delete unused variable `valids'.
12433 (setup_coding_system): Delete unused variable `category'.
12434 (consume_chars): Delete unused variable `category'. Make it work
12435 for non-multibyte case.
12436 (make_conversion_work_buffer): Change argument.
12437 (saved_coding): Delete unused variable.
12438 (code_conversion_restore): Don't check saved_coding->destination.
12439 (code_conversion_save): New function.
12440 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12441 instead of record_unwind_protect.
12442 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12443 (detect_coding_system): Delete unused variable `mask'.
12444 (Fdefine_coding_system_internal): Delete unused variable id.
12445
12446 * fileio.c (kill_workbuf_unwind): New function.
12447 (Finsert_file_contents): On replacing, call
12448 make_conversion_work_buffer with correct args, and call
12449 record_unwind_protect with the first arg kill_workbuf_unwind.
12450
12451 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12452
124532008-02-01 Kenichi Handa <handa@m17n.org>
12454
12455 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12456 (fontset_add): Fix for the case that TO is less than TO1.
12457 (Ffontset_info): Don't use fallback fontset on checking the
12458 default fontset.
12459 (dump_fontset): New function for debugging.
12460
12461 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12462 coding_type is Qcharset.
12463
124642008-02-01 Kenichi Handa <handa@m17n.org>
12465
12466 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12467 (map_char_table): Don't inherit the value from the parent on
12468 initializing VAL. Adjust for the above change.
12469
124702008-02-01 Kenichi Handa <handa@m17n.org>
12471
12472 * coding.c (Qsignature, Qendian): Delete these variables.
12473 (syms_of_coding): Don't initialize them.
12474 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12475 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12476 detect_info->found.
12477 (decode_coding_utf_16): Don't detect BOM here.
12478 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12479 is NOT utf_16_without_bom.
12480 (setup_coding_system): For a coding system of type utf-16, check
12481 if the attribute :endian is Qbig or not (not nil or not), and set
12482 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12483 (detect_coding): If coding type is utf-16 and BOM detection is
12484 required, detect it.
12485 (Fdefine_coding_system_internal): For a coding system of type
12486 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12487
124882008-02-01 Kenichi Handa <handa@m17n.org>
12489
12490 * coding.c (coding_set_source): Fix for the case that the current
12491 buffer is different from coding->src_object.
12492 (decode_coding_object): Don't use the conversion work buffer if
12493 DST_OBJECT is a buffer.
12494
124952008-02-01 Dave Love <fx@gnu.org>
12496
12497 * lread.c (read_emacs_mule_char) [len==2]: Index
12498 emacs_mule_charset correctly.
12499
125002008-02-01 Dave Love <fx@gnu.org>
12501
12502 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12503 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12504 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12505 treated specially.)
12506 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12507 (detected_mask): Remove Big5 bits.
12508
125092008-02-01 Kenichi Handa <handa@m17n.org>
12510
12511 The following changes are to make the font rescaling facility
12512 compatible with Emacs 21.
12513
12514 * xfaces.c (Vface_font_rescale_alist): Rename from
12515 Vface_resizing_fonts.
12516 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12517 (font_rescale_ratio): Rename from font_resizing_ratio.
12518 (split_font_name): Set font->rescale_ratio.
12519 (better_font_p): Pay attention to font->rescale_ratio.
12520 (build_scalable_font_name): Likewise. Change RESX, and RESY
12521 fields.
12522 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12523
125242008-02-01 Kenichi Handa <handa@m17n.org>
12525
12526 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12527 (Qutf_16_le): Remove these variables.
12528 (syms_of_coding): Don't DEFSYM them.
12529 (decode_coding_utf_16): Fix handling of BOM.
12530 (encode_coding_utf_16): Fix handling of BOM.
12531
125322008-02-01 Kenichi Handa <handa@m17n.org>
12533
12534 * fileio.c (Finsert_file_contents): On replacing, before decoding
12535 the file into the work buffer, set point of the work buffer to the end.
12536
125372008-02-01 Dave Love <fx@gnu.org>
12538
12539 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12540
125412008-02-01 Dave Love <fx@gnu.org>
12542
12543 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12544 and fix C types.
12545
125462008-02-01 Kenichi Handa <handa@m17n.org>
12547
12548 * xdisp.c (SKIP_GLYPHS): New macro.
12549 (set_cursor_from_row): Pay attention to string display properties.
12550
12551 * category.c (copy_category_entry): Fix for the case that RANGE
12552 is an integer.
12553
12554 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12555
12556 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12557
125582008-02-01 Kenichi Handa <handa@m17n.org>
12559
12560 * charset.c (Fcharset_id_internal): New function.
12561 (syms_of_charset): Defsubr it.
12562
12563 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12564 with the last arg charset_list acquired from coding.
12565 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12566 the attribute coding_attr_ccl_valids.
12567
12568 * coding.h (enum define_coding_ccl_arg_index): Set the first
12569 member coding_arg_ccl_decoder to coding_arg_max.
12570
12571 * ccl.h (ccl_driver): Adjust prototype.
12572
12573 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12574 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12575 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12576 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12577 last arg Qnil.
12578
125792008-02-01 Kenichi Handa <handa@m17n.org>
12580
12581 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12582 call encode_char.
12583
12584 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12585
125862008-02-01 Dave Love <fx@gnu.org>
12587
12588 * composite.c (syms_of_composite): Make composition_hash_table weak.
12589
125902008-02-01 Kenichi Handa <handa@m17n.org>
12591
12592 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12593 (font_name_registry): Don't extern them.
12594 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12595
12596 * fontset.h (Qfontset): Don't extern it.
12597 (new_fontset_from_font_name): Extern it.
12598
12599 * fontset.c: Give 8 extra slots to fontset objects.
12600 (Qfontset_info): New variable.
12601 (syms_of_fontset): Defsym it.
12602 (FONTSET_FALLBACK): New macro.
12603 (fontset_face): Try also the default fontset.
12604 (make_fontset): Realize a fallback fontset from the default fontset.
12605 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12606 using split_font_name_into_vector and build_font_name_from_vector.
12607 (Fset_fontset_font): Access the elements of font_spec by enum
12608 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12609 name by using split_font_name_into_vector.
12610 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12611 generate a proper font name from the fontset name. Update
12612 Vfontset_alias_alist.
12613 (n_auto_fontsets): New variable.
12614 (new_fontset_from_font_name): New function.
12615 (Ffont_info): Store the information about fonts generated from the
12616 default fontset in the first extra slot of the returned char-table.
12617
12618 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12619 (font_name_registry): Delete function.
12620 (split_font_name_into_vector): New function.
12621 (build_font_name_from_vector): New function.
12622 (font_list): The argument REGISTRY is now a list of registry names.
12623 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12624 specifies an explicit font name, return the name as is. Make a
12625 list of registy names.
12626
12627 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12628 of x_new_fontset.
12629 (Fx_create_frame): Don't call x_new_fontset here. Just use
12630 x_list_fonts to check the existence of fonts.
12631
12632 * xterm.h (x_new_fontset): Adjust prototype.
12633
12634 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12635 string. Use new_fontset_from_font_name to create a fontset from a
12636 font name.
12637
126382008-02-01 Kenichi Handa <handa@m17n.org>
12639
12640 * syntax.c (Vfind_word_boundary_function_table): New name for
12641 Vnext_word_boundary_function_table.
12642 (find-word-boundary-function-table): New name for
12643 next-word-boundary-function-table.
12644
126452008-02-01 Dave Love <fx@gnu.org>
12646
12647 * Makefile.in: Fix some dependencies.
12648
12649 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12650 set it to nil before returning.
12651
12652 * composite.c (update_compositions): Fix type error.
12653
12654 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12655
126562008-02-01 Kenichi Handa <handa@m17n.org>
12657
12658 * xterm.c (x_new_font): Optimize for the case that the font is
12659 already set for the frame.
12660
126612008-02-01 Kenichi Handa <handa@m17n.org>
12662
12663 * chartab.c (char_table_ascii): Check if the char table contents
12664 is sub-char-table or not.
12665 (char_table_set, char_table_set_range): Fix argument to
12666 char_table_ascii.
12667
12668 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12669 (detect_coding_utf_8, detect_coding_utf_16)
12670 (detect_coding_emacs_mule, detect_coding_iso_2022)
12671 (detect_coding_sjis, detect_coding_big5)
12672 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12673 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12674 sequence is valid in this coding system. Change callers.
12675 (MAX_ANNOTATION_LENGTH): New macro.
12676 (ADD_ANNOTATION_DATA): New macro.
12677 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12678 ADD_ANNOTATION_DATA. Change the format of annotation data.
12679 (ADD_CHARSET_DATA): New macro.
12680 (emacs_mule_char): New argument ID. Change callers.
12681 (decode_coding_emacs_mule, decode_coding_iso_2022)
12682 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12683 Produce charset annotation data in coding->charbuf.
12684 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12685 to charset annotation data in coding->charbuf.
12686 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12687 coding->common_flags if the coding system is iso-2022 based and
12688 uses designation.
12689 (produce_composition): Adjust for the new annotation data format.
12690 (produce_charset): New function.
12691 (produce_annotation): Handle charset annotation.
12692 (handle_composition_annotation, handle_charset_annotation): New
12693 functions.
12694 (consume_chars): Handle charset annotation. Utilize the above two
12695 functions.
12696 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12697 buffer, get the deleted text as a string and set
12698 coding->src_object to that string.
12699 (detect_coding, detect_coding_system): Use the new struct
12700 coding_detection_info.
12701
12702 * coding.h (struct coding_detection_info): New structure.
12703 (struct coding_system): Adjust prototype of the member `detector'.
12704 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12705
127062008-02-01 Kenichi Handa <handa@m17n.org>
12707
12708 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12709
127102008-02-01 Dave Love <fx@gnu.org>
12711
12712 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12713 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12714 to new local and nullify apropos_accumulate before returning.
12715 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12716
127172008-02-01 Kenichi Handa <handa@m17n.org>
12718
12719 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12720 correctly.
e3eea1fc 12721
aac0c6e3
MR
127222008-02-01 Dave Love <fx@gnu.org>
12723
12724 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12725
127262008-02-01 Kenichi Handa <handa@m17n.org>
12727
12728 The following changes are to make character composition happen
12729 automatically on displaying.
12730
12731 * Makefile.in (lisp, shortlisp): Add composite.elc.
12732
12733 * composite.h (Qauto_composed, Vauto_composition_function)
12734 (Qauto_composition_function): Extern them.
12735
12736 * composite.c (Vcomposition_function_table)
12737 (Qcomposition_function_table): Delete variables.
12738 (Qauto_composed, Vauto_composition_function)
12739 (Qauto_composition_function): New variables.
12740 (run_composition_function): Don't call
12741 compose-chars-after-function.
12742 (update_compositions): Clear `auto-composed' text property.
12743 (compose_chars_in_text): Delete this function.
12744 (syms_of_composite): Staticpro Qauto_composed and
12745 Qauto_composition_function. Declare Vauto_composition_function as
12746 a Lisp variable.
12747
12748 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12749
12750 * xdisp.c (it_props): Add an entry for Qauto_composed.
12751 (handle_auto_composed_prop): New function.
12752
12753 * xselect.c (selection_data_to_lisp_data): Don't call
12754 compose_chars_in_text.
12755
127562008-02-01 Dave Love <fx@gnu.org>
12757
12758 * keyboard.c (read_char): Modify checking around use of
12759 Vkeyboard_translate_table.
12760
12761 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12762 and fix C types.
12763
127642008-02-01 Kenichi Handa <handa@m17n.org>
12765
12766 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12767 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12768 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12769 the case that the last byte is '\r' correctly.
12770 (decode_coding): Flush out the unprocessed data correctly.
12771 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12772
127732008-02-01 Dave Love <fx@gnu.org>
12774
12775 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12776 Add XK_ISO... case.
12777 (xaw_scroll_callback): Revert last change.
12778
127792008-02-01 Kenichi Handa <handa@m17n.org>
12780
12781 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12782
127832008-02-01 Kenichi Handa <handa@m17n.org>
12784
12785 * xfaces.c (Vface_resizing_fonts): New variable.
12786 (struct font_name): New member `resizing_ratio'.
12787 (font_resizing_ratio): New function.
12788 (split_font_name): Set font->resizing_ratio.
12789 (better_font_p): Pay attention to font->resizing_ratio.
12790 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12791 RESX, and RESY fields.
12792 (try_alternative_families): Try scalable fonts if
12793 Vscalable_fonts_allowed is not Qt.
12794 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12795
127962008-02-01 Dave Love <fx@gnu.org>
12797
12798 * xterm.c (xaw_scroll_callback): Cast correctly.
12799
128002008-02-01 Dave Love <fx@gnu.org>
12801
12802 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12803 (lispy_kana_keys): Comment out.
12804 (make_lispy_event) [XK_kana_A]: Comment out.
12805
12806 * xterm.c (xaw_scroll_callback): Cast call_data.
12807 (XTread_socket): Deal with ASCII keysyms.
12808 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12809
128102008-02-01 Dave Love <fx@gnu.org>
12811
12812 * xterm.c (Vx_keysym_table): New.
12813 (syms_of_xterm): Initialize it.
12814 (XTread_socket): Use it.
12815 From head: Eliminate incorrect optimization that tried to avoid
12816 decoding the output of X*LookupString.
12817 (x_get_font_repertory): Delete charset declaration.
12818
128192008-02-01 Kenichi Handa <handa@m17n.org>
12820
12821 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12822 return 0.
12823 (Fdefine_coding_system_internal): Setup
12824 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12825
128262008-02-01 Dave Love <fx@gnu.org>
12827
12828 * coding.c (Fcheck_coding_system): Doc fix.
12829
12830 * editfns.c (Finsert_byte): Return a proper value.
12831
128322008-02-01 Kenichi Handa <handa@m17n.org>
12833
12834 * coding.c (decode_coding): Fix args to translate_chars. Pay
12835 attention to Vstandard_translation_table_for_decode.
12836 (encode_coding): Fix args to translate_chars. Pay attention to
12837 Vstandard_translation_table_for_encode.
12838
12839 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12840 SINGLE_BYTE_CHAR_P.
12841
12842 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12843 not by SINGLE_BYTE_CHAR_P.
12844
12845 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12846 SINGLE_BYTE_CHAR_P.
12847
12848 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12849 SINGLE_BYTE_CHAR_P.
12850
12851 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12852 by SINGLE_BYTE_CHAR_P.
12853
12854 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12855 SINGLE_BYTE_CHAR_P.
12856
128572008-02-01 Dave Love <fx@gnu.org>
12858
12859 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12860
128612008-02-01 Dave Love <fx@gnu.org>
12862
12863 * fns.c (Flanginfo): Fix typo.
12864
12865 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12866
128672008-02-01 Kenichi Handa <handa@m17n.org>
12868
12869 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12870 (detect_coding_emacs_mule, detect_coding_iso_2022)
12871 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12872 incomplete byte sequence. Don't update *mask when correctly detected.
12873 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12874 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12875 (detect_coding, detect_coding_system): Adjust for the changes above.
12876
128772008-02-01 Kenichi Handa <handa@m17n.org>
12878
12879 * character.c (char_string): Rename from
12880 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12881 (string_char): Rename from string_char.
12882
12883 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12884 if C is greater than MAX_3_BYTE_CHAR.
12885 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12886 string_char instead of string_char_with_unification.
12887
128882008-02-01 Dave Love <fx@gnu.org>
12889
12890 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12891
128922008-02-01 Kenichi Handa <handa@m17n.org>
12893
12894 * keymap.c (push_key_description): Pay attention to force_multibyte.
12895
12896 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12897
128982008-02-01 Dave Love <fx@gnu.org>
12899
12900 * charset.c (define_charset_internal): Rename `supprementary'.
12901
12902 * Makefile.in (lisp, shortlisp): Remove latin-N.
12903
129042008-02-01 Dave Love <fx@gnu.org>
12905
12906 * xfns.c (x_window, x_window): Use use_xim.
12907
12908 * xterm.c (use_xim): Initialize.
12909 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12910 (x_term_init): Maybe set use_xim.
12911
12912 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12913
129142008-02-01 Kenichi Handa <handa@m17n.org>
12915
12916 * search.c (search_buffer): Fix case-fold-search of multibyte
12917 characters.
12918 (boyer_moore): Rename the last argument to char_high_bits.
12919
129202008-02-01 Kenichi Handa <handa@m17n.org>
12921
12922 * xdisp.c (display_string): Fix for the case of zero width glyph.
12923
12924 * xfns.c (x_set_font): Change the error message of the case that
12925 x_new_fontset returns Qt.
12926
12927 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12928 (Finternal_set_lisp_face_attribute): Use signal_error for the
12929 error of invalid fontset.
12930
12931 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12932 fontset, return Qt.
12933
129342008-02-01 Dave Love <fx@gnu.org>
12935
12936 * unexelf.c (unexec): Make .got handling not SGI-specific.
12937
12938 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12939
12940 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12941
12942 * keyboard.c (read_key_sequence): Fix type error.
12943
12944 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12945 type error.
12946
12947 * fontset.c (fontset_add): Return Lisp_Object.
12948
129492008-02-01 Dave Love <fx@gnu.org>
12950
12951 * charset.h (charset_ordered_list_tick): Declare extern.
12952
129532008-02-01 Kenichi Handa <handa@m17n.org>
12954
12955 The following changes (and some of 2008-02-01 changes of mine) are
12956 for handling syntax, category, and case conversion for unibyte
12957 characters by converting them to multibyte on the fly. With these
12958 changes, we don't have to setup syntax and case tables for unibyte
12959 characters in each language environment.
12960
12961 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12962 multibyte if necessary.
12963
12964 * bytecode.c (Fbyte_code): Likewise.
12965
12966 * character.h (LEADING_CODE_LATIN_1_MIN)
12967 (LEADING_CODE_LATIN_1_MAX): New macros.
12968 (unibyte_to_multibyte_table): Extern it.
12969 (unibyte_char_to_multibyte): New macro.
12970 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12971 (CHAR_LEADING_CODE): New macro.
12972 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12973
12974 * character.c (unibyte_to_multibyte_table): New variable.
12975 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12976 (multibyte_char_to_unibyte): If C is an eight-bit character,
12977 convert it to the corresponding byte value.
12978
12979 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12980 not 1, signals an error. Update the elements of
12981 unibyte_to_multibyte_table.
12982 (init_charset_once): Initialize unibyte_to_multibyte_table.
12983 (syms_of_charset): Define the charset `iso-8859-1'.
12984
12985 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12986 as is without converting it to unibyte. In a unibyte buffer,
12987 convert C to multibyte before checking the syntax.
12988
12989 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12990
12991 * minibuf.c (Fminibuffer_complete_word): Use the macro
12992 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12993
12994 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12995
12996 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12997 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12998 that is zero, convert an eight-bit char to multibyte.
12999 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
13000 non-emacs case.
13001 (PATFETCH): Convert an eight-bit char to multibyte.
13002 (HANDLE_UNIBYTE_RANGE): New macro.
13003 (regex_compile): Setup the compiled pattern for multibyte chars
13004 even if the given regex string is unibyte. Use PATFETCH_RAW
13005 instead of PATFETCH in many places. To handle `charset'
13006 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
13007 only for ASCII chars.
13008 (analyse_first) <exactn>: Simplify because the compiled pattern
13009 is multibyte.
13010 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
13011 <charset>: Use CHAR_LEADING_CODE to get leading codes.
13012 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
13013 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
13014 multibyte always 1.
13015 (re_search_2): In emacs, set the locale variable multibyte to 1,
13016 otherwise to 0. New local variable target_multibyte. Check it
13017 to decide the multibyteness of STR1 and STR2. If
13018 target_multibyte is zero, convert unibyte chars to multibyte
13019 before translating and checking fastmap.
13020 (TARGET_CHAR_AND_LENGTH): New macro.
13021 (re_match_2_internal): In emacs, set the locale variable multibyte
13022 to 1, otherwise to 0. New local variable target_multibyte. Check
13023 it to decide the multibyteness of STR1 and STR2. Use
13024 TARGET_CHAR_AND_LENGTH to fetch a character from D.
13025 <charset, charset_not>: If multibyte is nonzero, check fastmap
13026 only for ASCII chars. Call bcmp_translate with
13027 target_multibyte, not with multibyte.
13028 <begline>: Declare the local variable C as `unsigned'.
13029 (bcmp_translate): Change the last arg name to target_multibyte.
13030
13031 * search.c (compile_pattern_1): Don't adjust the multibyteness of
13032 the regexp pattern and the matching target. Set cp->buf.multibyte
13033 to the multibyteness of the regexp pattern. Set
13034 cp->but.target_multibyte to the multibyteness of the matching target.
13035 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
13036 FETCH_STRING_CHAR_ADVANCE.
13037 (Freplace_match): Convert unibyte chars to multibyte.
13038
13039 * syntax.c (char_quoted, back_comment, scan_words)
13040 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
13041 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
13042 unibyte chars to multibyte.
13043 (skip_chars): Delete the arg syntaxp, and move the code for
13044 handling syntaxes to skip_syntaxes. Change callers.
13045 Fix the case that the multibyteness of STRING and the current
13046 buffer doesn't match.
13047 (skip_syntaxes): New function.
13048 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
13049 SINGLE_BYTE_CHAR_P.
13050
130512008-02-01 Kenichi Handa <handa@m17n.org>
13052
13053 * xfaces.c (QCfontset): New variable.
13054 (LFACE_FONTSET): New macro.
13055 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
13056 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
13057 (Finternal_set_lisp_face_attribute)
13058 (Finternal_get_lisp_face_attribute): Handle QCfontset.
13059 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
13060 check also LFACE_FONTSET_INDEX.
13061 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
13062 attrs[LFACE_FONT_INDEX].
13063 (syms_of_xfaces): Intern and staticpro QCfontset.
13064
13065 * dispextern.h (enum lface_attribute_index): New member
13066 LFACE_FONTSET_INDEX.
13067
13068 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
13069
130702008-02-01 Kenichi Handa <handa@m17n.org>
13071
13072 * coding.c (coding_set_destination): Fix coding->destination for
13073 the case converting a region.
13074 (encode_coding_utf_8): Encode eight-bit chars as single byte.
13075 (encode_coding_object): Fix coding->dst_pos and
13076 coding->dst_pos_byte for the case converting a region.
13077
13078 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
13079
13080 * character.h (BYTE8_STRING): New macro.
13081
13082 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
13083
130842008-02-01 Kenichi Handa <handa@m17n.org>
13085
13086 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
13087 characters by octal form.
13088
13089 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13090
13091 * buffer.h (_fetch_multibyte_char_len): Delete extern.
13092 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
13093 _fetch_multibyte_char_len.
13094 (FETCH_CHAR_AS_MULTIBYTE): New macro.
13095
13096 * casetab.c (set_canon, set_identity, shuffle): Simplify.
13097
13098 * casefiddle.c (casify_object): Simplify. Handle the case that
13099 the case conversion change the byte length.
13100 (casify_region): Likewise.
13101
13102 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
13103
13104 * character.c (_fetch_multibyte_char_len): Delete this variable.
13105 (syms_of_character): Setup Vprintable_chars.
13106
13107 * editfns.c (Fchar_equal): Fix for the unibyte case.
13108 (Finsert_byte): New function.
13109 (syms_of_editfns): Defsubr it.
13110
13111 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
13112 of direct code 0x3ffff.
13113
13114 * search.c (Freplace_match): Fix for the unibyte case.
13115
131162008-02-01 Kenichi Handa <handa@m17n.org>
13117
13118 * lread.c (safe_to_load_p): Fix the logic.
13119
13120 * syntax.c (scan_words): Don't treat characters belonging to
13121 different scripts as constituting a word.
13122
13123 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13124
13125 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
13126
13127 * emacs.c (main): In the case of --unibyte, instead of aborting on
13128 finding non-empty buffer, make it unibyte.
13129
131302008-02-01 Kenichi Handa <handa@m17n.org>
13131
13132 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
13133 to create a fontset.
13134
131352008-02-01 Dave Love <fx@gnu.org>
13136
13137 * character.c (Funibyte_char_to_multibyte): Doc fix.
13138
13139 * xfns.c [HAVE_STDLIB_H]: Fix last change.
13140
131412008-02-01 Kenichi Handa <handa@m17n.org>
13142
13143 * fontset.c (fontset_add): Make the type `int'.
13144 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
13145
13146 * character.c (unibyte_char_to_multibyte)
13147 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
13148 charset_unibyte, not charset_primary.
13149
13150 * charset.h (charset_unibyte): Extern it instead of charset_primary.
13151
13152 * charset.c (charset_unibyte): Rename from charset_primary.
13153 (Funibyte_charset): Rename from Fprimary_charset.
13154 (Fset_unibyte_charset): Rename from Fset_primary_charset.
13155 (syms_of_charset): Adjust for the above changes.
13156
13157 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13158 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13159 it->multibyte_p is zero.
13160
13161 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
13162 Delete extern.
13163
131642008-02-01 Kenichi Handa <handa@m17n.org>
13165
13166 * coding.c (Fdefine_coding_system_internal): Fix category setting
13167 for a coding system of type iso-2022.
13168
131692008-02-01 Kenichi Handa <handa@m17n.org>
13170
13171 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
13172
131732008-02-01 Kenichi Handa <handa@m17n.org>
13174
13175 * syntax.c (Vnext_word_boundary_function_table): New variable.
13176 (next-word-boundary-function-table): Declare it as a Lisp variable
13177 in syms_of_syntax.
13178 (scan_words): Call functions in Vnext_word_boundary_function_table
13179 if any.
13180
13181 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
13182
13183 * fontset.c (fs_load_font): If fontp->charset is not negative,
13184 return fontp without setting its members.
13185
131862008-02-01 Dave Love <fx@gnu.org>
13187
13188 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
13189
13190 * m/sparc.h (HAVE_ALLOCA): Delete.
13191
13192 * s/irix6-5.h: Don't include strings.h.
13193 (bcopy, bzero, bcmp): Don't undef.
13194
13195 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
13196
13197 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
13198 (TIOCSIGSEND): Don't test IRIX6.
13199 (bcopy, bzero, bcmp): Define conditionally.
13200
132012008-02-01 Kenichi Handa <handa@m17n.org>
13202
13203 * buffer.c (Qas, Qmake, Qto): New variables.
13204 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
13205 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
13206
13207 * callproc.c (Fcall_process): Don't call insert_1_both directly if
13208 we are inserting a process output into a multibyte buffer.
13209
13210 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
13211 multibyte_char_to_unibyte.
13212
13213 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
13214 by the primary charset, make it eight-bit char.
13215 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
13216
13217 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
13218 (charset_8_bit__control, charset_8_bit_graphic)
13219 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
13220 (define_charset_internal): New function.
13221 (syms_of_charset): Call define_charset_internal for pre-defined
13222 charsets.
13223
13224 * charset.h (charset_8_bit): Extern it.
13225
13226 * coding.c (make_conversion_work_buffer): Adjust for the change
13227 of Fset_buffer_multibyte.
13228 (encode_coding_raw_text): Increment p0 in the loop.
13229
13230 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
13231
13232 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
13233 for the change of Fset_buffer_multibyte.
13234
13235 * fns.c (Fstring_to_multibyte): New function.
13236 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
13237
132382008-02-01 Dave Love <fx@gnu.org>
13239
13240 * xfns.c (x_put_x_image): Declare args.
13241
13242 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
13243 (try_font_list): Declare an arg.
13244
13245 * xdisp.c (message2_nolog, set_message): Declare an arg.
13246
13247 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
13248
13249 * syntax.c (scan_sexps_forward): Declare an arg.
13250
13251 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
13252 Declare an arg.
13253
13254 * lisp.h (Fnew_fontset): Declare.
13255
13256 * keymap.c (push_key_description): Call CHARACTERP correctly.
13257
13258 * fontset.c (fontset_add): Declare args. Call make_number correctly.
13259 (face_for_char): Delete unused vars.
13260 (Fset_fontset_font): Doc fix. Delete unused vars.
13261
13262 * doc.c (Fsubstitute_command_keys): Delete unused vars.
13263
13264 * composite.c (update_compositions): Declare arg.
13265
13266 * cm.c (calccost, cmgoto): Declare args.
13267
13268 * charset.c: Remove `emacs' conditional. Doc fixes.
13269 (map_char_table_for_charset): Declare.
13270
13271 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
13272
13273 * ccl.c: Remove `emacs' conditional.
13274
132752008-02-01 Kenichi Handa <handa@m17n.org>
13276
13277 The following changes are to allow specifying multiple font
13278 patterns for a character range (specified by script or charset).
13279
13280 * Makefile.in (abbrev.o): Depend on syntax.h.
13281 (xfaces.o): Depend on charset.h.
13282
13283 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
13284 SINGLE_BYTE_CHAR_P.
13285
13286 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
13287
13288 * character.h (Vchar_script_table): Extern it.
13289
13290 * character.c (Vscript_alist): Delete.
13291 (Vchar_script_table, Qchar_script_table): New variable.
13292 (syms_of_character): Declare Vchar_script_table as a lisp variable
13293 and initialize it.
13294
13295 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
13296 have property char-table-extra-slots, make no extra slot.
13297
13298 * dispextern.h (struct face): Delete member `charset'.
13299 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
13300 SINGLE_BYTE_CHAR_P.
13301 (choose_face_font, lookup_non_ascii_face, font_name_registry):
13302 Add prototypes.
13303 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
13304 (generate_ascii_font_name): Rename from generate_ascii_font.
13305
13306 * fontset.h (get_font_repertory_func): New prototype.
13307 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
13308 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
13309
13310 * fontset.c (Qprepend, Qappend): New variables.
13311 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
13312 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
13313 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
13314 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
13315 (fontset_ref_and_range, fontset_add, reorder_font_vector)
13316 (load_font_get_repertory): New functions.
13317 (fontset_set): Delete.
13318 (fontset_face): New arg FACE. Return face ID, not face.
13319 Complete re-write to handle new fontset structure. Change caller.
13320 (free_face_fontset): Use ASET istead of AREF (X) = Y.
13321 (face_for_char): Don't call lookup_face.
13322 (make_fontset_for_ascii_face): New arg FACE.
13323 (fs_load_font): New arg CHARSET_ID. Don't check
13324 Vfont_encoding_alist here.
13325 (find_font_encoding): New function.
13326 (list_fontsets): Use STRINGP, not ! NILP.
13327 (accumulate_script_ranges): New function.
13328 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
13329 re-written to handle new fontset structure.
13330 (Ffontset_font): Return a copy of element.
13331 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
13332 docstring of font-encoding-alist.
13333
13334 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
13335 (Fset_fotset_font): Fix arguments to 5.
13336
13337 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
13338
13339 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
13340 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13341 (highlight_trailing_whitespace): Adjust for the change of
13342 lookup_named_face.
13343
13344 * xfaces.c: Include charset.h.
13345 (load_face_font): Delete argument C. Change caller.
13346 (generate_ascii_font_name): Rename from generate_ascii_font.
13347 (font_name_registry): New function.
13348 (cache_face): Store ascii faces before non-ascii faces in buckets.
13349 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
13350 Lookup only ascii faces.
13351 (lookup_non_ascii_face): New function.
13352 (lookup_named_face): Delete argument C. Change caller.
13353 (lookup_derived_face): Delete argument C. Change caller.
13354 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
13355 a string, just call font_list with it.
13356 (choose_face_font): Delete arguments FACE and C. New arg
13357 FONT_SPEC. Change caller.
13358 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
13359 Change caller.
13360 (realize_non_ascii_face): New function.
13361 (realize_x_face): Call load_face_font here.
13362 (realize_tty_face): Delete argument C. Change caller.
13363 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
13364 get a face ID.
13365 (dump_realized_face): Don't print charset of FACE.
13366
13367 * xfns.c (x_set_font): Always call x_new_fontset and
13368 store_frame_parameter.
13369 (Fx_create_frame): Call x_new_fontset, not x_new_font.
13370 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
13371
13372 * xterm.h (x_get_font_repertory): Extern it.
13373
13374 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13375 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13376 it->multibyte_p is zero.
13377 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13378 (x_new_fontset): If FONTSETNAME doesn't match any existing
13379 fontsets, create a new one.
13380 (x_get_font_repertory): New function.
13381
133822008-02-01 Kenichi Handa <handa@m17n.org>
13383
13384 * coding.c (Ffind_coding_systems_region_internal): Detect an
13385 ASCII only string correctly.
13386
13387 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
13388 version is 0.
13389
133902008-02-01 Kenichi Handa <handa@m17n.org>
13391
13392 * lread.c: Include "coding.h".
13393 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
13394 (load_each_byte, unread_char): New variables.
13395 (readchar_backlog): Delete.
13396 (readchar): Return a character unless load_each_byte is nonzero.
13397 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
13398 cons. If unread_char is not -1, simply return it.
13399 (unreadchar): Handle the case that readcharfun is
13400 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
13401 (read_multibyte): Delete.
13402 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
13403 (read_emacs_mule_char): New functions.
13404 (Fload): Even if the file doesn't have the extension ".elc", if
13405 safe_to_load_p returns a positive version number, assume that the
13406 file contains bytecompiled code. If the version is less than 22,
13407 load the file while decoding multibyte sequences by emacs-mule.
13408 (readevalloop): Don't use readchar_backlog.
13409 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
13410 (Fread_from_string): Pay attention to the case that STREAM is a cons.
13411 (read_escape): Delete the arg BYTEREP.
13412 (read1): Set load_each_byte to 1 temporarily while handling
13413 #@NUMBER. Don't call read_multibyte.
13414 (read_vector): Call Fread with a cons. If readcharfun is
13415 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13416 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13417 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13418 and Qload_force_doc_strings.
13419
134202008-02-01 Kenichi Handa <handa@m17n.org>
13421
13422 * xdisp.c (face_before_or_after_it_pos): Call
13423 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13424
134252008-02-01 Kenichi Handa <handa@m17n.org>
13426
13427 * character.h (TRAILING_CODE_P): New macro.
13428 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13429 (string_char_with_unification): Fix prototype.
13430 (Vscript_alist): Extern it.
13431
13432 * character.c (Vscript_alist): New variable.
13433 (string_char_with_unification, str_as_unibyte)
13434 (string_escape_byte8): Add `const' to local variables.
13435 (syms_of_character): Declare script-alist as a Lisp variable.
13436
13437 * charset.h (Vcharset_ordered_list): Extern it.
13438 (charset_ordered_list_tick): Extern it.
13439 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13440 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13441 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13442 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13443 (Funify_charset): Adjust for the change of Funify_charset.
13444
13445 * charset.c (charset_ordered_list_tick): New variable.
13446 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13447 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13448 deunify intead of unify a charset.
13449 (string_xstring_p): Add `const' to local variables.
13450 (find_charsets_in_text): Add `const' to arguments and local variables.
13451 (encode_char): Adjust for the change of Funify_charset. Fix
13452 detecting of invalid code.
13453 (Fset_charset_priority): Increment charset_ordered_list_tick.
13454 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13455 and TO_CODE.
13456
13457 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13458 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13459 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13460 (decode_coding_ccl, consume_chars)
13461 (Ffind_coding_systems_region_internal)
13462 (Fcheck_coding_systems_region): Add `const' to local variables.
13463
13464 * print.c (print_object): Use octal form for printing the
13465 contents of a bool vector.
13466
134672008-02-01 Dave Love <fx@gnu.org>
13468
13469 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13470 <version == 20>: Refuse to load.
13471
134722008-02-01 Dave Love <fx@gnu.org>
13473
13474 * fns.c: Move coding.h.
13475 (Qcodeset, Qdays, Qmonths): New.
13476 (concat): Use CHARACTERP instead of INTEGERP.
13477 (Flocale_codeset): Delete.
13478 (Flanginfo): New function.
13479 (syms_of_fns): Change accordingly.
13480
13481 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13482
134832008-02-01 Dave Love <fx@gnu.org>
13484
13485 * casetab.c (init_casetab_once, init_casetab_once): Fix
13486 CHAR_TABLE_SET call.
13487
13488 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13489
13490 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13491
13492 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13493 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13494 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13495
13496 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13497
13498 * coding.c (ENCODE_DESIGNATION, decode_eol)
13499 (make_conversion_work_buffer, code_conversion_restore)
13500 (Fdefine_coding_system_internal): Convert Lisp types.
13501 (code_conversion_restore): Use EQ, not ==.
13502 (Fencode_coding_string): Fix code_convert_string call.
13503
13504 * coding.h (code_convert_region): Fix prototype.
13505
13506 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13507
13508 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13509 (Ffontset_info): Convert Lisp types.
13510
13511 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13512
13513 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13514
13515 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13516
13517 * chartab.c: Include "...h", not <...h> in some cases.
13518
13519 * callproc.c (Fcall_process): Remove unused variables.
13520
135212008-02-01 Dave Love <fx@gnu.org>
13522
13523 * coding.c (Fset_coding_system_priority): Allow null arg list.
13524
135252008-02-01 Dave Love <fx@gnu.org>
13526
13527 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13528 (Fself_insert_and_exit): Use CHARACTERP.
13529
13530 * callproc.c (Fcall_process): Remove unused vars.
13531
13532 * xterm.c (XTread_socket): Add extra dead keysyms.
13533
13534 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13535
13536 * dispextern.h: Remove prototypes for redraw_frame,
13537 redraw_garbaged_frames.
13538
13539 * cmds.c (Fself_insert_command): Use CHARACTERP.
13540
13541 * chartab.c (make_sub_char_table): Remove unused var.
13542 (Fset_char_table_default, Fmap_char_table): Doc fix.
13543
13544 * keymap.c (access_keymap): Remove generic char code.
13545 (push_key_description): Use CHARACTERP.
13546
135472008-02-01 Dave Love <fx@gnu.org>
13548
13549 * charset.c: Doc fixes.
13550 (Funify_charset): Extra checking.
13551
135522008-02-01 Dave Love <fx@gnu.org>
13553
13554 * lread.c: Remove some unused variables.
13555 (safe_to_load_p): If safe, return the magic number version byte.
13556 (Fload): Maybe use load-with-code-conversion.
13557
135582008-02-01 Kenichi Handa <handa@m17n.org>
13559
13560 * category.c (Fmodify_category_entry): Don't modify the contents
13561 of category_set for characters out of the range. Avoid
13562 unnecessary modification.
13563
13564 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13565 Vchar_unify_table. The default value of the table is now nil.
13566
13567 * character.c (syms_of_character): Setup Vchar_width_table for
13568 eight-bit-control and raw-byte chars.
13569
13570 * charset.h (enum define_charset_arg_index): Delete
13571 charset_arg_parents and add charset_arg_subset and
13572 charset_arg_superset.
13573 (enum charset_attr_index): Delete charset_parents and add
13574 charset_subset and charset_superset.
13575 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13576 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13577 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13578 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13579 (CHARSET_SUPERSET): New macros.
13580 (charset_work): Extern it.
13581 (ENCODE_CHAR): Use charset_work.
13582 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13583 (map_charset_chars): Extern it.
13584
13585 * charset.c (load_charset_map): Set the default value of encoder
13586 and deunifier char-tables to nil.
13587 (map_charset_chars): Change argument. Change callers. Use
13588 map_char_table_for_charset instead of map_char_table.
13589 (Fmap_charset_chars): New optional args from_code and to_code.
13590 (Fdefine_charset_internal): Adjust for the change of
13591 `define-charset' (:parents -> :subset or :superset).
13592 (charset_work): New variable.
13593 (encode_char, syms_of_charset): Adjust for the change of
13594 Fdefine_charset_internal.
13595 (Ffind_charset_string): Setup the vector `charsets' correctly.
13596
13597 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13598 the previous change.
13599 (char_table_ref_and_range): Adjust for the above change.
13600 (map_sub_char_table_for_charset): New function.
13601 (map_char_table_for_charset): New function.
13602
13603 * keymap.c (describe_vector): Handle a char-table directly here.
13604 (describe_char_table): Delete.
13605
13606 * lisp.h (map_charset_chars): Delete.
13607
136082008-02-01 Dave Love <fx@gnu.org>
13609
13610 * fns.c (count_combining): Comment out (unused).
13611 (Flocale_codeset): New.
13612 (syms_of_fns): Defsubr it.
13613
13614 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13615 (size_t): Remove.
13616
136172008-02-01 Dave Love <fx@gnu.org>
13618
13619 * Makefile.in (chartab.o): Depend on charset.h.
13620
136212008-02-01 Kenichi Handa <handa@m17n.org>
13622
13623 * character.c (syms_of_character): Set the default value of
13624 Vprintable_chars to Qnil.
13625
136262008-02-01 Dave Love <fx@gnu.org>
13627
13628 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13629
136302008-02-01 Kenichi Handa <handa@m17n.org>
13631
13632 * charset.c (load_charset_map): Handle the case that from < to
13633 correctly.
13634
13635 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13636 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13637 Pay attention to raw-8-bit chars.
13638
136392008-02-01 Kenichi Handa <handa@m17n.org>
13640
13641 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13642 It is not bytecompiled now.
13643
13644 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13645 (charset_jisx0208): New variables.
13646 (Fdefine_charset_internal): Setup them if appropriate.
13647 (init_charset_once): Initialize them to -1.
13648
13649 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13650 (charset_jisx0208): Extern them.
13651
13652 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13653 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13654 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13655 (setup_iso_safe_charsets): Fix arguments to Fassq.
13656 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13657 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13658 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13659 (encode_coding_iso_2022): Change the 1st arg to
13660 ENCODE_ISO_CHARACTER to a variable.
13661
136622008-02-01 Kenichi Handa <handa@m17n.org>
13663
13664 * charset.h (enum define_charset_arg_index): New enums
13665 charset_arg_min_code and charset_arg_max_code.
13666 (struct charset): New member char_index_offset.
13667
13668 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13669 Take charset->char_index_offset into account.
13670 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13671 args[charset_arg_max_code]. Setup charset.char_index_offset.
13672 (syms_of_charset): Fix args to Fdefine_charset_internal.
13673
136742008-02-01 Dave Love <fx@gnu.org>
13675
13676 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13677
136782008-02-01 Dave Love <fx@gnu.org>
13679
13680 * coding.c: Doc fixes.
13681 (Fcoding_system_aliases): Fix return value.
13682 (Qmac): Remove (duplicated) definition.
13683
136842008-02-01 Dave Love <fx@gnu.org>
13685
13686 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13687 functions.
13688
13689 * character.c (Fstring): Doc fix.
13690
13691 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13692
13693 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13694 ids.
13695 (font-encoding-alist): Doc fix.
13696
136972008-02-01 Dave Love <fx@gnu.org>
13698
13699 * term.c (costs_set): Declare static, non-initialized for pcc.
13700 (encode_terminal_code): Remove unused var.
13701
13702 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13703 for K&R.
13704
13705 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13706
13707 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13708 (suffixes): Move out of make_subsidiaries for K&R.
13709
13710 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13711
13712 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13713
137142008-02-01 Dave Love <fx@gnu.org>
13715
13716 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13717
13718 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13719
137202008-02-01 Yong Lu <lyongu@asia-infonet.com>
13721
13722 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13723
13724 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13725
137262008-02-01 Kenichi Handa <handa@m17n.org>
13727
13728 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13729 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13730
137312008-02-01 Kenichi Handa <handa@m17n.org>
13732
13733 * coding.c (decode_coding_charset): Adjust for the change of
13734 Fdefine_coding_system_internal.
13735 (Fdefine_coding_system_internal): For a coding system of
13736 `charset' type, store a list of charset IDs in
13737 `charset_attr_charset_valids' element of coding attributes.
13738
137392008-02-01 Kenichi Handa <handa@m17n.org>
13740
13741 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13742 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13743 caller. Handle 2-byte and 3-byte charsets correctly.
13744 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13745 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13746 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13747 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13748 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13749 sequence.
13750 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13751 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13752 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13753 and alt&rule composition.
13754 (decode_coding_iso_2022): Handle composition correctly.
13755 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13756
13757 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13758 re-defining a charset. If the charset has :emacs-mule-id, setup
13759 emacs_mule_bytes.
13760 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13761
137622008-02-01 Kenichi Handa <handa@m17n.org>
13763
13764 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13765 (encode_coding_big5, encode_coding_charset): If coding requires safe
13766 encoding, produce a character specified by
13767 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13768
137692008-02-01 Dave Love <fx@gnu.org>
13770
13771 * xterm.c (XSetIMValues): Declare.
13772
13773 * process.c: Conditionally include sys/wait.h, pty.h.
13774
13775 * print.c (print_object): Fix print format for 64-bit systems.
13776
13777 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13778
13779 * buffer.c (emacs_strerror): Declare.
13780
13781 * fontset.c (Fclear_face_cache): Declare.
13782 (accumulate_font_info): Comment-out (unused).
13783 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13784 variables.
13785
13786 * character.h (string_escape_byte8): Declare.
13787
13788 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13789 unused vars.
13790 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13791 (Fmap_charset_chars): Doc fix.
13792
13793 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13794 (Fset_coding_system_priority, Fset_coding_system_priority)
13795 (Fdefine_coding_system_internal): Doc fix.
13796
137972008-02-01 Dave Love <fx@gnu.org>
13798
13799 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13800
138012008-02-01 Kenichi Handa <handa@m17n.org>
13802
13803 * character.c (string_escape_byte8): Make multibyte string with
13804 correct size.
13805
13806 * charset.c (Fmake_char): Delete unnecessary code.
13807
138082008-02-01 Kenichi Handa <handa@m17n.org>
13809
13810 * xfns.c (x_encode_text): Allocate coding.destination here, and
13811 call encode_coding_object with dst_object Qnil.
13812
13813 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13814 multibyte form correctly.
13815
13816 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13817 against Vfont_encoding_alist.
13818
13819 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13820 handling of charset list.
13821 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13822 (decode_coding_object): Move point to coding->dst_pos before
13823 calling post-read-conversion function.
13824 (encode_coding_object): Give correct arguments to
13825 pre-write-conversion. Ignore the return value of
13826 pre-write-conversion function. Pay attention to the case that
13827 pre-write-conversion changes the current buffer. If dst_object is
13828 Qt, even if coding->src_bytes is zero, allocate at least one byte
13829 to coding->destination.
13830
13831 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13832
13833 * charset.c (Fmake_char): Make it more backward compatible.
13834 (Fmap_charset_chars): Fix docstring.
13835
138362008-02-01 Dave Love <fx@gnu.org>
13837
13838 * coding.c: Doc fixes.
13839 (Fdefine_coding_system_alias): Use names, not symbols, in
13840 coding-system-alist.
13841
138422008-02-01 Kenichi Handa <handa@m17n.org>
13843
13844 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13845 of calling free_realized_face.
13846
138472008-02-01 Yong Lu <lyongu@asia-infonet.com>
13848
13849 * charset.c (read_hex): Don't treat SPC as a comment starter.
13850 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13851 (Fdecode_char): Fix typo.
13852
138532008-02-01 Kenichi Handa <handa@m17n.org>
13854
13855 * charset.h (struct charset): New member `code_space_mask'.
13856
13857 * coding.c (coding_set_source): Delete the local variable beg_byte.
13858 (encode_coding_charset, Fdefine_coding_system_internal):
13859 Delete the local variable charset.
13860 (Fdefine_coding_system_internal): Setup
13861 attrs[coding_attr_charset_valids] correctly.
13862
13863 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13864 member to check if CODE is valid or not.
13865 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13866 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13867 is within the range of charset->min_code and carset->max_code.
13868
138692008-02-01 Dave Love <fx@gnu.org>
13870
13871 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13872
13873 * dispextern.h (generate_ascii_font): Fix return type.
13874
13875 * xfaces.c (generate_ascii_font): Fix arg declaration.
13876
13877 * coding.c (coding_inherit_eol_type)
13878 (Fset_terminal_coding_system_internal)
13879 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13880
138812008-02-01 Kenichi Handa <handa@m17n.org>
13882
13883 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13884 multiple charsets correctly.
13885
138862008-02-01 Kenichi Handa <handa@m17n.org>
13887
13888 * search.c (boyer_moore): Fix handling of multibyte character
13889 translation.
13890
13891 * xdisp.c (display_mode_element): When the variable `elt' is
13892 changed, update `this' and `lisp_string'.
13893
138942008-02-01 Kenichi Handa <handa@m17n.org>
13895
13896 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13897
13898 * callproc.c (Fcall_process): Be sure to give the current buffer
13899 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13900
13901 * charset.c (struct charset_map_entries): New struct.
13902 (load_charset_map): Rename from parse_charset_map. New args
13903 entries and n_entries. Change caller.
13904 (load_charset_map_from_file): Rename from load_charset_map.
13905 Change caller. New arg control_flag. Call load_charset_map at
13906 the tail.
13907 (load_charset_map_from_vector): New function.
13908 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13909 (encode_char): If the charset is compact, change a character index
13910 to a code point.
13911
13912 * coding.c (coding_alloc_by_making_gap): Check the case that the
13913 source and destination are the same correctly.
13914 (decode_coding_raw_text): Set coding->consumed_char and
13915 coding->consumed to 0.
13916 (produce_chars): If coding->chars_at_source is nonzero, update
13917 coding->consumed_char and coding->consumed before calling
13918 alloc_destination.
13919 (Fdefine_coding_system_alias): Register ALIAS in
13920 Vcoding_system_alist.
13921 (syms_of_coding): Define `no-conversion' coding system at the tail.
13922
13923 * fileio.c (Finsert_file_contents): Set coding_system instead of
13924 val. If the current buffer is multibyte, always call
13925 decode_coding_gap.
13926
13927 * xfaces.c (try_font_list): Give higher priority to fontset's
13928 family than face's family.
13929
139302008-02-01 Kenichi Handa <handa@m17n.org>
13931
13932 * callproc.c (Fcall_process): Be sure to give the current buffer
13933 to decode_coding_c_string.
13934
13935 * xfaces.c (try_font_list): Give a family specified in a fontset
13936 higher priority than a family specified in a face.
13937
139382008-02-01 Kenichi Handa <handa@m17n.org>
13939
13940 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13941 Fix arguments to insert_from_buffer.
13942
13943 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13944
139452008-02-01 Kenichi Handa <handa@m17n.org>
13946
13947 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13948 (decode_coding_gap): Set coding->dst_multibyte correctly.
13949
139502008-02-01 Kenichi Handa <handa@m17n.org>
13951
13952 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13953 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13954 (encode_coding_utf_16): Substitute coding->default_char for
13955 non-Unicode characters.
13956 (decode_coding): Don't call record_insert here.
13957 (setup_coding_system): Initialize `surrogate' of
13958 coding->spec.utf_16 to 0.
13959 (EMIT_ONE_BYTE): Fix for multibyte case.
13960
13961 * insdel.c (insert_from_gap): Call record_insert.
13962
139632008-02-01 Kenichi Handa <handa@m17n.org>
13964
13965 * casefiddle.c (casify_region): Fix multibyte case.
13966
13967 * character.c (c_string_width): Add return type `int'.
13968 (char_string_with_unification): Delete arg ADVANCED.
13969
13970 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13971 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13972 (CHAR_STRING_ADVANCE): Make it do-while statement.
13973
13974 * chartab.c (sub_char_table_set_range): Optimize for the case
13975 DEPTH == 3. Add workaround code for a GCC optimization bug.
13976
13977 * charset.c (parse_charset_map): Remove an unused variable.
13978
13979 * coding.c: Delete unused variables.
13980
13981 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13982 earlier. If inserted is zero and the coding system doesn't
13983 require flushing, don't call decode_coding_gap.
13984
13985 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13986
139872008-02-01 Kenichi Handa <handa@m17n.org>
13988
13989 The following changes are for using Unicode as an internal
13990 character model, and use UTF-8 format for buffer/string
13991 representation.
13992
13993 * .gdbinit (xchartable): Adjust for the change of char table structure.
13994 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13995
13996 * Makefile.in (obj): Add character.o and chartab.o.
13997 (lisp, shortlisp): Remove utf-8.elc.
13998 (*.o): For many files, change dependency on charset.h to
13999 character.h, and add dependency on character.h.
14000 (character.o, chartab.o): New targets.
14001
14002 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
14003 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
14004 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
14005 of "charset.h".
14006
14007 * dired.c, filelock.c: Include "character.h".
14008
14009 * alloc.c: Include "character.h" instead of "charset.h".
14010 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
14011 (syms_of_alloc): Remove defsubr for Smake_char_table.
14012
14013 * buffer.c: Include "character.h" instead of "charset.h", don't
14014 include "coding.h".
14015 (Fset_buffer_multibyte): Adjust for UTF-8.
14016
14017 * buffer.h: EXFUN Fbuffer_live_p.
14018
14019 * callproc.c: Include "character.h" instead of "charset.h".
14020 (Fcall_process): Big change for the new code-conversion APIs.
14021
14022 * casetab.c: Include "character.h" instead of "charset.h".
14023 (set_canon, set_identity, shuffle): Adjust for the new
14024 map_char_table spec.
14025 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
14026 accessing the char table structure.
14027
14028 * chartab.c: New file that implements char table.
14029
14030 * category.c: Include "character.h".
14031 (copy_category_entry): New function.
14032 (copy_category_table): Call map_char_table and copy_category_entry.
14033 (Fmake_category_table): Initialize all top-level slots.
14034 (char_category_set): New function.
14035 (modify_lower_category_set): Delete.
14036 (Fmodify_category_entry): Call char_table_ref_and_range.
14037
14038 * category.h (CATEGORY_SET): Just call char_category_set.
14039
14040 * ccl.c: Include "character.h".
14041 (Qccl, Qcclp): New variables.
14042 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
14043 it's less than 256.
14044 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
14045 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
14046 and DST type.
14047 (ccl_driver): Change types of argument, adjust code accordingly.
14048 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
14049 ccl_driver.
14050 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
14051
14052 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
14053 New members src_multibyte, dst_multibyte, consumed, and produced.
14054 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
14055 (CODING_SPEC_CCL_PROGRAM): New macro.
14056 (ccl_driver): Update prototype.
14057 (Qccl, Qcclp, Fccl_program_p): Extern them.
14058 (CHECK_CCL_PROGRAM): New macro.
14059
14060 * character.c, character.h, chartab.c: New files.
14061
14062 * charset.c: Mostly re-written. Move character and multibyte sequence
14063 handling codes to character.c.
14064
14065 * charset.h: Mostly re-written. Move character and multibyte sequence
14066 handling codes to character.h.
14067
14068 * coding.c, coding.h: Mostly re-written.
14069
14070 * composite.c: Include "character.h" instead of "charset.h".
14071 (CHAR_WIDTH): Move to character.h.
14072 (HASH_KEY, HASH_VALUE): Delete.
14073
14074 * composite.h (enum composition_method): Change order of enumeration
14075 symbols.
14076
14077 * data.c: Include "character.h" instead of "charset.h".
14078 (Faref): Call CHAR_TABLE_REF for a char table.
14079 (Faset): Call CHAR_TABLE_SET for a char table.
14080
14081 * dispextern.h (free_realized_face, check_face_attribytes)
14082 (generate_ascii_font): Extern them.
14083 (free_realized_multibyte_face): Delete extern.
14084
14085 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
14086 table structure.
14087
14088 * editfns.c: Include "character.h" instead of "charset.h".
14089 (Fchar_to_string): Always call CHAR_STRING.
14090
14091 * emacs.c (main): Call init_charset_once, init_charset,
14092 syms_of_chartab, and syms_of_character.
14093
14094 * fileio.c: Include "character.h" instead of "charset.h".
14095 (Finsert_file_contents): Big change for the new code-conversion API.
14096 (choose_write_coding_system, Fwrite_region): Likewise.
14097 (build_annotations_2): Delete.
14098 (e_write): Big change for the new code-conversion API.
14099
14100 * fns.c: Include "character.h" instead of "charset.h".
14101 (copy_sub_char_table): Move to chartab.c.
14102 (Fcopy_sequence): Call copy_char_table for a char table.
14103 (concat): Delete codes calling count_multibyte.
14104 (string_char_to_byte, string_byte_to_char): Adjust for the new
14105 multibyte form.
14106 (internal_equal): Adjust for the change of char table structure.
14107 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
14108 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
14109 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
14110 (char_table_translate, optimize_sub_char_table)
14111 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
14112 chartab.c.
14113 (char_table_ref_and_index): Delete.
14114 (HASH_KEY, HASH_VALUE): Move to lisp.h.
14115 (Fmd5): Call preferred_coding_system instead of accessing
14116 Vcoding_category_list. Adjust for the new code-conversion API.
14117 (syms_of_fns): Move defsubr for char table related functions to
14118 chartab.c.
14119
14120 * fontset.c: Mostly re-written.
14121
14122 * fontset.h (struct font_info): Change type of the member encoding_type.
14123 (enum FONT_SPEC_INDEX): New enum.
14124 (fontset_font_pattern, fs_load_font): Update prototype.
14125 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
14126
14127 * indent.c: Include "character.h" instead of "charset.h".
14128 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
14129
14130 * insdel.c: Include "character.h" instead of "charset.h".
14131 (copy_text): Don't refer to Vnonascii_translation_table.
14132 (insert_from_gap): New function.
14133
14134 * keyboard.c: Include "character.h" instead of "charset.h".
14135 (command_loop_1): Never call direct_output_forward_char before
14136 a non-ASCII character.
14137 (read_char): If Vkeyboard_translate_table is a char table, always
14138 translate a character.
14139
14140 * keymap.c: Include "character.h".
14141 (store_in_keymap): Handle the case that IDX is a cons.
14142 (Fdefine_key): Handle the case that KEY is a cons and the car part
14143 is also a cons (range).
14144 (push_key_description): Adjust for the new character code.
14145 (describe_vector): Call describe_char_table for a char table.
14146 (describe_char_table): New function.
14147
14148 * keymap.h (describe_char_table): Extern it.
14149
14150 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
14151 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
14152 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
14153 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
14154 Delete.
14155 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
14156 structure.
14157 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
14158 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
14159 (CHARTAB_SIZE_BITS_3): New macros.
14160 (chartab_size): Extern it.
14161 (struct Lisp_Char_Table): Re-design.
14162 (struct Lisp_Sub_Char_Table): New structure.
14163 (HASH_KEY, HASH_VALUE): Move from fns.c.
14164 (CHARACTERBITS): Define as 22.
14165 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
14166 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
14167 (GC_SUB_CHAR_TABLE_P): New macro.
14168 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
14169 (code_convert_string_norecord): Deleted extern.
14170 (init_character_once, syms_of_character, init_charset)
14171 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
14172
14173 * lread.c: Include "character.h".
14174 (read_multibyte): New arg NBYTES.
14175 (read_escape): Change the meaning of returned *BYTEREP.
14176 (to_multibyte): Delete.
14177 (read1): Adjust the handling of char table and string.
14178
14179 * print.c: Include "character.h" instead of "charset.h".
14180 (print_string): Convert 8-bit raw bytes to octal form by
14181 string_escape_byte8.
14182 (print_object): Adjust for the new multibyte form. Print 8-bit
14183 raw bytes always in octal form. Handle sub char table correctly.
14184
14185 * process.c: Include "character.h" instead of "charset.h".
14186 (read_process_output, send_process): Adjust for the new
14187 code-conversion API.
14188
14189 * puresize.h (BASE_PURESIZE): Increase.
14190
14191 * regex.c: Include "character.h" instead of "charset.h".
14192 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
14193 (regex_compile): Accept a range whose starting and ending
14194 character have different leading bytes.
14195 (analyse_first): Adjust for the above change.
14196
14197 * search.c: Include "character.h" instead of "charset.h".
14198 (search_buffer, boyer_moore): Adjust for the new multibyte form.
14199 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
14200
14201 * syntax.c: Include "character.h" instead of "charset.h".
14202 (syntax_parent_lookup): Delete.
14203 (Fmodify_syntax_entry): Accept a cons as CHAR.
14204 (skip_chars): Adjust for the new multibyte form.
14205 (init_syntax_once): Call char_table_set_range instead of directly
14206 accessing the structure of a char table.
14207
14208 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
14209 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
14210 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
14211 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
14212
14213 * term.c: Include "buffer.h" and "character.h".
14214 (encode_terminal_code, write_glyphs): Adjust for the new
14215 code-conversion API.
14216 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
14217
14218 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
14219
14220 * xdisp.c: Include "character.h".
14221 (get_next_display_element): Adjust for the new multibyte form.
14222 (disp_char_vector): Adjust for the new char table structure.
14223 (decode_mode_spec_coding): Adjust for the new structure of
14224 coding system.
14225 (decode_mode_spec): Adjust for the new code-conversion API.
14226
14227 * xfaces.c: Include "character.h" instead of "charset.h".
14228 (load_face_font): Adjust for the change of choose_face_font and
14229 FS_LOAD_FONT.
14230 (generate_ascii_font): New function.
14231 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
14232 (set_font_frame_param): Adjust for the change of choose_face_font.
14233 (free_realized_face): Make it public.
14234 (free_realized_faces_for_fontset): Rename from
14235 free_realized_multibyte_face. Free also faces realized for ASCII.
14236 (choose_face_font): Change arguments. Adjust for the change of
14237 fontset_font_pattern and FS_LOAD_FONT.
14238
14239 * xfns.c: Include "character.h".
14240 (x_encode_text): Adjust for the new code-conversion API.
14241
14242 * xselect.c: Don't include "charset.h".
14243 (selection_data_to_lisp_data): Adjust for the new code conversion API.
14244
14245 * xterm.c: Include "character.h".
14246 (x_encode_char): New argument CHARSET. Change caller.
14247 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
14248 Call ENCODE_CHAR instead of SPLIT_CHAR.
14249 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
14250 CHAR_WIDTH instead of CHARSET_WIDTH.
14251 (XTread_socket): Adjust for the new code-conversion API.
14252 (x_new_font): Adjust for the change of FS_LOAD_FONT.
14253 (x_load_font): Adjust for the change of struct font.
14254
142552008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
14256
14257 * xfaces.c (face_at_buffer_position): Remove unused vars.
14258
142592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14260
14261 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
14262 Fix overflow checking.
14263
142642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
14265
14266 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
14267 Cancel previous change.
14268
142692008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14270
14271 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
14272 ccl->eight_bit_control. Fix check for buffer overflow.
14273 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
14274 (ccl_driver): Initialize extra_bytes to 0.
14275
142762008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
14277
14278 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
14279 return it ORed with ctrl_modifier.
14280
142812008-01-29 Miles Bader <miles@gnu.org>
14282
14283 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
14284
142852008-01-28 Jason Rumney <jasonr@gnu.org>
14286
14287 * w32.c (stat): Don't double check for networked drive.
14288
142892008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
14290
14291 * window.c (run_window_configuration_change_hook): New function.
14292 Code extracted from set_window_buffer. Set the selected frame.
14293 (set_window_buffer): Use it.
14294 * window.h (run_window_configuration_change_hook): Declare.
14295 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
14296
14297 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
14298
142992008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
14300
14301 * Makefile.in: Remove references to unused macros.
14302
143032008-01-26 Eli Zaretskii <eliz@gnu.org>
14304
14305 * w32.c (g_b_init_get_sid_sub_authority)
14306 (g_b_init_get_sid_sub_authority_count): New static variables.
14307 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
14308 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
14309 (init_user_info): Use them to retrieve uid and gid.
14310 Use 500/513, the Windows defaults, as Administrator's uid/gid.
14311 (fstat): Use pw_uid and pw_gid from the_passwd structure for
14312 st_uid and st_gid of the file.
14313
143142008-01-26 Jason Rumney <jasonr@gnu.org>
14315
14316 * w32.c (logon_network_drive): New function.
14317 (stat): Use it.
14318
143192008-01-26 Chong Yidong <cyd@stupidchicken.com>
14320
14321 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
14322 invisible text covered with an ellipsis.
14323
143242008-01-25 Richard Stallman <rms@gnu.org>
14325
14326 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
14327 jump back to beginning. Move some other initializations after that.
14328 (Qwindow_text_change_functions, Vwindow_text_change_functions):
14329 New variables.
14330 (syms_of_xdisp): Init them.
14331
14332 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
14333
14334 * buffer.c (reset_buffer_local_variables):
14335 Implement `permanent-local-hook'.
14336 (Qpermanent_local_hook): New variable.
14337 (syms_of_buffer): Init and staticpro it.
14338
143392008-01-25 Michael Albinus <michael.albinus@gmx.de>
14340
14341 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
14342
143432008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
14344
14345 * fns.c (Fclrhash): Return TABLE.
14346
143472008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14348
14349 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
14350 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
14351 is set even without positional changes.
14352 (x_scroll_bar_clear): Set bar->redraw_needed_p.
14353
14354 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
14355
143562008-01-23 Jason Rumney <jasonr@gnu.org>
14357
14358 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
14359
14360 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
14361 the unicode range available in MULE by locale-coding-system.
14362 Improve dbcs lead byte detection. Set event timestamp and modifiers
14363 earlier.
14364
143652008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14366
14367 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
14368 [MAC_OSX] (init_mac_osx_environment): Initialize it.
14369 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
14370 when used on child processes.
14371
143722008-01-21 Michael Albinus <michael.albinus@gmx.de>
14373
14374 * dbusbind.c (Fdbus_method_return_internal): Rename from
14375 Fdbus_method_return.
14376 (Fdbus_unregister_object): Move to dbus.el.
14377 (Fdbus_call_method, Fdbus_method_return_internal)
14378 (Fdbus_send_signal): Improve debug messages.
14379
143802008-01-20 Martin Rudalics <rudalics@gmx.at>
14381
14382 * undo.c (undo_inhibit_record_point): New variable.
14383 (syms_of_undo): Initialize it.
14384 (record_point): Don't record point when undo_inhibit_record_point
14385 is set.
14386
143872008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
14388
14389 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
14390
14391 * xdisp.c (Qauto_hscroll_mode): New var.
14392 (syms_of_xdisp): Initialize it.
14393 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
14394 window's buffer.
14395 (hscroll_windows): Don't check automatic_hscrolling_p here.
14396
14397 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
14398 vscroll if we're setting window-buffer to the value it already has.
14399
144002008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
14401
14402 * m/intel386.h: Remove references to XENIX.
14403
144042008-01-17 Andreas Schwab <schwab@suse.de>
14405
14406 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
14407 instead of HAVE_X86_64_LIB64_DIR.
14408 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
14409
144102008-01-17 Glenn Morris <rgm@gnu.org>
14411
14412 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
14413 to HAVE_X86_64_LIB64_DIR.
14414
144152008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14416
14417 * s/irix3-3.h:
14418 * s/irix4-0.h:
14419 * s/386-ix.h:
14420 * s/domain.h:
14421 * s/hpux9-x11r4.h:
14422 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14423
14424 * sysdep.c: Remove code containing references to symbols defined
14425 by unsupported systems.
14426
144272008-01-16 Glenn Morris <rgm@gnu.org>
14428
14429 * coding.c (select-safe-coding-system-function): Doc fix.
14430
144312008-01-15 Glenn Morris <rgm@gnu.org>
14432
14433 * config.in: Revert 2008-01-13 change: this is a generated file.
14434
144352008-01-13 Tom Tromey <tromey@redhat.com>
14436
14437 * lisp.h: Fix typo.
14438
144392008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14440
14441 * m/sequent-ptx.h:
14442 * m/sequent.h:
14443 * s/ptx.h:
14444 * s/ptx4-2.h:
14445 * s/ptx4.h: Remove files for systems no longer supported.
14446
14447 * callproc.c (Fcall_process): Fix previous change.
14448
144492008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14450
14451 * unexsunos4.c: Remove file, system not supported anymore.
14452
14453 * m/mips.h:
14454 * m/intel386.h:
14455 * callproc.c:
14456 * config.in:
14457 * ecrt0.c:
14458 * emacs.c:
14459 * fileio.c:
14460 * frame.c:
14461 * getpagesize.h:
14462 * keyboard.c:
14463 * lread.c:
14464 * process.c:
14465 * puresize.h:
14466 * sysdep.c:
14467 * systty.h:
14468 * syswait.h:
14469 * unexec.c:
14470 * xdisp.c:
14471 * alloc.c: Remove code containing references to symbols defined by
14472 unsupported systems.
14473
144742008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14475
14476 * coding.c (detect_coding_mask): Fix previous change.
14477
144782008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14479
14480 * coding.c (detect_coding_iso2022): New arg
14481 latin_extra_code_state. Allow Latin extra codes only
14482 when *latin_extra_code_state is nonzero.
14483 (detect_coding_mask): If there is a NULL byte, detect the encoding
14484 as UTF-16 or binary. If Latin extra codes exist, detect the
14485 encoding as ISO-2022 only when there's no other proper encoding is
14486 found.
14487
144882008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14489
14490 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14491 #ifdef MAC_OS.
14492
144932008-01-08 Richard Stallman <rms@gnu.org>
14494
14495 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14496
144972008-01-06 Nick Roberts <nickrob@snap.net.nz>
14498
14499 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14500 menu bar in parentheses.
14501
145022008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14503
14504 * m/7300.h:
14505 * m/acorn.h:
14506 * m/alliant-2800.h:
14507 * m/alliant.h:
14508 * m/alliant1.h:
14509 * m/alliant4.h:
14510 * m/altos.h:
14511 * m/amdahl.h:
14512 * m/apollo.h:
14513 * m/att3b.h:
14514 * m/aviion-intel.h:
14515 * m/aviion.h:
14516 * m/celerity.h:
14517 * m/clipper.h:
14518 * m/cnvrgnt.h:
14519 * m/convex.h:
14520 * m/cydra5.h:
14521 * m/delta88k.h:
14522 * m/dpx2.h:
14523 * m/dual.h:
14524 * m/elxsi.h:
14525 * m/f301.h:
14526 * m/gould-np1.h:
14527 * m/gould.h:
14528 * m/i860.h:
14529 * m/ibmps2-aix.h:
14530 * m/ibmrt-aix.h:
14531 * m/ibmrt.h:
14532 * m/irist.h:
14533 * m/is386.h:
14534 * m/isi-ov.h:
14535 * m/mega68.h:
14536 * m/mg1.h:
14537 * m/news-r6.h:
14538 * m/news-risc.h:
14539 * m/news.h:
14540 * m/nh3000.h:
14541 * m/nh4000.h:
14542 * m/ns16000.h:
14543 * m/ns32000.h:
14544 * m/nu.h:
14545 * m/orion.h:
14546 * m/orion105.h:
14547 * m/paragon.h:
14548 * m/pfa50.h:
14549 * m/plexus.h:
14550 * m/pyramid.h:
14551 * m/pyrmips.h:
14552 * m/sh3el.h:
14553 * m/sps7.h:
14554 * m/sr2k.h:
14555 * m/stride.h:
14556 * m/sun1.h:
14557 * m/sun2.h:
14558 * m/sun3-68881.h:
14559 * m/sun3-fpa.h:
14560 * m/sun3-soft.h:
14561 * m/sun3.h:
14562 * m/sun386.h:
14563 * m/symmetry.h:
14564 * m/tad68k.h:
14565 * m/tahoe.h:
14566 * m/targon31.h:
14567 * m/tek4300.h:
14568 * m/tekxd88.h:
14569 * m/tower32.h:
14570 * m/tower32v3.h:
14571 * m/ustation.h:
14572 * m/wicat.h:
14573 * m/xps100.h:
14574 * s/cxux.h:
14575 * s/cxux7.h:
14576 * s/dgux.h:
14577 * s/dgux4.h:
14578 * s/dgux5-4-3.h:
14579 * s/dgux5-4r2.h:
14580 * s/esix.h:
14581 * s/esix5r4.h:
14582 * s/hiuxmpp.h:
14583 * s/hiuxwe2.h:
14584 * s/iris3-5.h:
14585 * s/iris3-6.h:
14586 * s/isc2-2.h:
14587 * s/isc3-0.h:
14588 * s/isc4-0.h:
14589 * s/isc4-1.h:
14590 * s/newsos5.h:
14591 * s/newsos6.h:
14592 * s/osf1.h:
14593 * s/osf5-0.h:
14594 * s/riscix1-1.h:
14595 * s/riscix12.h:
14596 * s/sco4.h:
14597 * s/sco5.h:
14598 * s/sunos4-0.h:
14599 * s/sunos4-1.h:
14600 * s/sunos413.h:
14601 * s/sunos4shr.h:
14602 * s/umax.h:
14603 * s/unipl5-2.h:
14604 * s/xenix.h:
14605 * cxux-crt0.s:
14606 * unexapollo.c:
14607 * unexconvex.c:
14608 * unexenix.c:
14609 * unexsni.c: Remove files for systems no longer supported.
14610
14611 * m/intel386.h: Remove references to unsupported systems.
14612
14613 * w32.c (get_emacs_configuration): Remove reference to i860.
14614
14615 * sysdep.c: Remove dead code.
14616
146172008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14618
14619 * s/rtu.h:
14620 * m/masscomp.h: Remove files. Platform is obsolete.
14621
146222008-01-04 Michael Albinus <michael.albinus@gmx.de>
14623
14624 * dbusbind.c (Fdbus_method_return): New function.
14625 (xd_read_message): Add the serial number to the event.
14626 (Fdbus_register_method): Activate the function.
14627
146282008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14629
14630 * keyboard.c (read_key_sequence): Fix typo.
14631
146322008-01-03 Michael Albinus <michael.albinus@gmx.de>
14633
14634 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14635 (xd_signature, xd_append_arg): Handle element type detection for
14636 empty arrays.
14637 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14638 SDATA () calls; this must be solved more general.
14639 (Fdbus_register_signal): Use SBYTES instead of strlen.
14640
146412008-01-03 Magnus Henoch <magnus@zemdatav>
14642
14643 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14644 unsigned int for byte values (necessary for big-endian platform).
14645 (Fdbus_call_method): Handle the case of no returned arguments.
14646
146472007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14648
14649 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14650
146512007-12-31 Magnus Henoch <mange@freemail.hu>
14652
14653 * dbusbind.c (xd_signature): Signature of variant is just "v".
14654
146552007-12-30 Michael Albinus <michael.albinus@gmx.de>
14656
14657 * dbusbind.c: Fix several errors and compiler warnings.
14658 Reported by Tom Tromey <tromey@redhat.com>.
14659 (XD_ERROR, XD_DEBUG_MESSAGE)
14660 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14661 (xd_append_arg): Part for basic D-Bus types rewritten.
14662 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14663 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14664 appropriate.
14665 (xd_read_message): Return Qnil. Don't signal an error; it is not
14666 useful during event reading.
14667 (Fdbus_register_signal): Signal an error if the check for
14668 FUNCTIONP fails.
14669 (Fdbus_register_method): New function. The implementation is not
14670 complete, the call of the function signals an error therefore.
14671 (Fdbus_unregister_object): New function, renamed from
14672 Fdbus_unregister_signal. The initial check signals an error, if
14673 the object is not well formed.
14674
146752007-12-30 Richard Stallman <rms@gnu.org>
14676
14677 * textprop.c (get_char_property_and_overlay):
14678 Signal error if POSITION is out of range in a buffer.
14679
146802007-12-29 Martin Rudalics <rudalics@gmx.at>
14681
14682 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14683 because the original parameters are in pure storage now.
14684
146852007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14686
14687 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14688
146892007-12-22 Eli Zaretskii <eliz@gnu.org>
14690
14691 * callint.c (syms_of_callint) <command-history>: Add reference to
14692 history-length in the doc string.
14693
146942007-12-17 Jason Rumney <jasonr@gnu.org>
14695
14696 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14697 before passing as wParam.
14698
146992007-12-22 Michael Albinus <michael.albinus@gmx.de>
14700
14701 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14702 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14703 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14704 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14705 as number.
14706 (Fdbus_call_method): Fix docstring.
14707
147082007-12-21 Michael Albinus <michael.albinus@gmx.de>
14709
14710 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14711 New macros.
14712 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14713 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14714 Simplify.
14715 (xd_signature): New function.
14716 (xd_append_arg): Compute also signatures. Major rewrite.
14717 (xd_retrieve_arg): Make debug messages friendly.
14718 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14719 Check for signatures of arguments.
14720
147212007-12-19 Michael Albinus <michael.albinus@gmx.de>
14722
14723 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14724 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14725 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14726 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14727 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14728 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14729 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14730 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14731 (xd_retrieve_value): Remove. Functionality included in ...
14732 (xd_append_arg): New function.
14733 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14734
147352007-12-16 Michael Albinus <michael.albinus@gmx.de>
14736
14737 * dbusbind.c (top): Include <stdio.h>.
14738 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14739 dbus_message_new_method_call and dbus_message_new_signal.
14740 (Fdbus_register_signal): Rename unique_name to uname.
14741 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14742 non-existing unique name. Fix typos in matching rule. Return an
14743 object which is useful in Fdbus_unregister_signal.
14744 (Fdbus_unregister_signal): Reimplementation, in order to remove
14745 only the corresponding entry.
14746 (Vdbus_registered_functions_table): Change the order of entries.
14747 Apply these changes in xd_read_message and Fdbus_register_signal.
14748
147492007-12-16 Andreas Schwab <schwab@suse.de>
14750
14751 * fileio.c (Finsert_file_contents): Fix overflow check to not
14752 depend on undefined integer overflow.
14753
147542007-12-14 Jason Rumney <jasonr@gnu.org>
14755
14756 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14757 for characters above 127.
14758
147592007-12-13 Jason Rumney <jasonr@gnu.org>
14760
14761 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14762 before dereferencing array.
14763 (lookup_vk_code): Remove zero comparison.
14764
147652007-12-14 Michael Albinus <michael.albinus@gmx.de>
14766
14767 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14768 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14769 Use `unsigned int' instead of `uint'.
14770 (xd_read_message, Fdbus_register_signal): Split expressions into
14771 multiple lines before operators "&&" and "||", according to the
14772 GNU Coding Standards.
14773
147742007-12-14 Eli Zaretskii <eliz@gnu.org>
14775
14776 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14777
147782007-12-12 Juri Linkov <juri@jurta.org>
14779
14780 * buffer.c (Frename_buffer): In interactive spec replace
14781 `read-buffer' with `read-string' that uses `buffer-name-history'
14782 as history, and the current buffer's name as default.
14783
147842007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14785
14786 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14787 manipulating the backtrace manually.
14788 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14789 (struct backtrace, backtrace_list): Remove.
14790 (command_loop_1): Remove dead var `no_direct'.
14791
14792 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14793 preserve non-built-in buffer-local variables.
14794 (Fkill_all_local_variables): Don't re-create&re-set permanent
14795 buffer-local variables.
14796
147972007-12-09 Juri Linkov <juri@jurta.org>
14798
14799 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14800 Lisp code that uses `read-buffer' with current buffer as default.
14801
148022007-12-08 Michael Albinus <michael.albinus@gmx.de>
14803
14804 * dbusbind.c (xd_read_message): Generate an event for every
14805 registered handler. There might be several handlers registered
14806 for the same signal.
14807 (Fdbus_register_signal): Don't overwrite a registration for the
14808 same signal. Add a new registration if handlers are different.
14809 (Vdbus_registered_functions_table): Rework doc string.
14810
148112007-12-07 Michael Albinus <michael.albinus@gmx.de>
14812
14813 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14814 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14815 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14816 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14817 Unify argument lists.
14818 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14819 arguments and hash table keys. Use unique name for service.
14820 (Fdbus_unregister_signal): Remove checks.
14821 (Vdbus_registered_functions_table): Fix doc string.
14822
148232007-12-05 Magnus Henoch <mange@freemail.hu>
14824
14825 * process.c (make_process): Initialize pty_flag to 0.
14826
148272007-12-05 Jason Rumney <jasonr@gnu.org>
14828
14829 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14830 specified XBMs.
14831
148322007-12-05 Richard Stallman <rms@gnu.org>
14833
14834 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14835
148362007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14837
14838 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14839 New variable.
14840 (mac_try_close_socket) [MAC_OSX]: New function.
14841 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14842 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14843
14844 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14845 Use mac_try_close_socket.
14846
148472007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14848
14849 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14850 reloc_base.
14851 (copy_dysymtab): Compute relocation base here.
14852 (rebase_reloc_address) [__ppc64__]: New function.
14853 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14854 changed.
14855
148562007-12-05 Jason Rumney <jasonr@gnu.org>
14857
14858 * w32proc.c (sys_spawnve): Quote args with wildcards.
14859
148602007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14861
14862 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14863 __objc_* sections.
14864 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14865
148662007-12-05 Michael Albinus <michael.albinus@gmx.de>
14867
14868 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14869 Move check for Vdbus_registered_functions_table to
14870 xd_read_queued_messages.
14871 (xd_read_queued_messages): Protect xd_read_message calls by
14872 internal_condition_case_1.
14873
148742007-12-04 Michael Albinus <michael.albinus@gmx.de>
14875
14876 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14877 Qdbus_system_bus and Qdbus_session_bus, respectively.
14878 (Vdbus_intern_symbols): Remove.
14879 (Vdbus_registered_functions_table): New hash table.
14880 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14881 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14882 Rewrite in order to manage registered functions by hash table
14883 Vdbus_registered_functions_table.
14884
148852007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14886
14887 * xterm.c: Update URL to Window Manager Specification in comment.
14888
148892007-12-02 Michael Albinus <michael.albinus@gmx.de>
14890
14891 * config.in (HAVE_DBUS): Add.
14892
14893 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14894 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14895 (obj): Add $(DBUS_OBJ).
14896 (LIBES): Add $(DBUS_LIBS).
14897 (dbusbind.o): New target.
14898
14899 * dbusbind.c: New file.
14900
14901 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14902
14903 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14904 (Qdbus_event): New Lisp symbol.
14905 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14906 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14907 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14908
14909 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14910
149112007-12-01 Richard Stallman <rms@gnu.org>
14912
14913 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14914
149152007-11-30 Jason Rumney <jasonr@gnu.org>
14916
14917 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14918 (w32con_reset_terminal_modes): Clear screen buffer.
14919 (w32_face_attributes): Don't use color indexes that are out of range.
14920 Only reverse the default colors.
14921
14922 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14923 WINDOWSNT.
14924
14925 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14926
149272007-11-29 Jason Rumney <jasonr@gnu.org>
14928
14929 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14930 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14931 if the terminal colors are initialized.
14932 (unspecified_fg, unspecified_bg): Remove unused declarations.
14933
149342007-11-29 Andreas Schwab <schwab@suse.de>
14935
14936 * keyboard.c (apply_modifiers): Fix typo.
14937
149382007-11-29 Richard Stallman <rms@gnu.org>
14939
14940 * keymap.c (Fcurrent_local_map): Doc fix.
14941
149422007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14943
14944 * s/gnu-kfreebsd.h: New file.
14945
149462007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14947
14948 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14949 Don't cast redundantly.
14950
14951 * keyboard.c (KEY_TO_CHAR): New macro.
14952 (parse_modifiers, apply_modifiers): Accept integer arguments.
14953 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14954 for chars and symbol keys.
14955 After doing such remapping, apply function-key-map again.
14956
149572007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14958
14959 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14960 compiled anymore.
14961
149622007-11-26 Andreas Schwab <schwab@suse.de>
14963
14964 * process.c (list_processes_1): Fix indentation level of the
14965 command column.
14966
149672007-11-23 Andreas Schwab <schwab@suse.de>
14968
14969 * editfns.c (Fformat): Handle %c specially since it requires the
14970 argument to be of type int.
14971
149722007-11-23 Markus Triska <markus.triska@gmx.at>
14973
14974 * emacs.c (main): Call init_editfns before init_process, since
14975 init_process sets Vprocess_connection_type depending on OS release.
14976
149772007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14978
14979 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14980 (find_symbol_value): Use do_symval_forwarding.
14981
14982 * data.c (set_internal): Set the value in the `cons-cell' (for
14983 Buffer_Local_values) not only for frame-local variables.
14984
149852007-11-22 Andreas Schwab <schwab@suse.de>
14986
14987 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14988 values to sprintf.
14989 * keymap.c (Fsingle_key_description): Likewise.
14990 * print.c (print_object): Likewise.
14991
149922007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14993
14994 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14995 file for image is nil.
14996
149972007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14998
14999 * term.c: Include stdarg.h.
15000 (fatal): Implement using varargs.
15001 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
15002
150032007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15004
15005 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
15006 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
15007 Update call to buffer_slot_type_mismatch.
15008 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
15009 (buffer_slot_type_mismatch): Update.
15010 * buffer.c (buffer_local_types): Remove.
15011 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
15012 (defvar_per_buffer): Set the type in the buffer_objfwd.
15013
150142007-11-21 Jason Rumney <jasonr@gnu.org>
15015
15016 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
15017 CreateFileMapping returns NULL on failure.
15018
150192007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
15020
15021 * search.c (Fset_match_data): Remove the `evaporate' feature.
15022 (unwind_set_match_data): Don't use the `evaporate' feature.
15023
150242007-11-21 Jason Rumney <jasonr@gnu.org>
15025
15026 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
15027
15028 * w32console.c (w32con_write_glyphs): Remove unused variables.
15029
150302007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
15031
15032 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
15033
15034 * s/darwin.h (MULTI_KBOARD): Remove.
15035
15036 * macfns.c (x_create_tip_frame, Fx_create_frame)
15037 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
15038
150392007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
15040
15041 * buffer.c (Fbuffer_local_value): Remove redundant test.
15042 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
15043 than in `current-buffer' to match the comment.
15044 Do the swap using swap_in_global_binding.
15045
15046 * data.c (store_symval_forwarding, set_internal):
15047 * eval.c (specbind): Remove dead code.
15048
15049 * coding.c (detect_coding, Fupdate_coding_systems_internal):
15050 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
15051 Since we do not want to see internal Lisp_*fwd objects here.
15052
150532007-11-18 Jan Djärv <jan.h.d@swipnet.se>
15054
15055 * sysdep.c (init_system_name): Use getaddrinfo if available.
15056
15057 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
15058 (x_scroll_bar_note_movement): start, end, with, height in struct
15059 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
15060
150612007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
15062
15063 * puresize.h (BASE_PURESIZE): Increase to 1190000.
15064
150652007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
15066
15067 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
15068 This undoes Richard's change of 14-Oct-2002.
15069
15070 * alloc.c (allocate_other_vector):
15071 * lisp.h (allocate_other_vector): Remove.
15072
15073 * window.c (struct save_window_data): Move non-lisp data to the end
15074 and make it `int' rather than Lisp_Object.
15075 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
15076 Done wrap/unwrap integer values.
15077 (Fset_window_configuration, compare_window_configurations):
15078 Update use of fields to their new types.
15079
15080 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
15081 Turn integer fields into `int'. Merge x_window_low and x_window_high.
15082 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
15083 (SET_SCROLL_BAR_X_WINDOW): Remove.
15084 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
15085 Access the new x_window field directly.
15086 * xterm.c (x_scroll_bar_create): Use a pseudovector.
15087 Don't wrap/unwrap integers into Lisp_Objects.
15088 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
15089 (x_scroll_bar_report_motion):
15090 Don't wrap/unwrap integers into Lisp_Objects.
15091 (x_term_init): Use SDATA.
15092 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
15093 (x_scroll_bar_set_handle, x_scroll_bar_remove)
15094 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
15095 (x_scroll_bar_report_motion, x_scroll_bar_clear):
15096 * xfns.c (x_set_background_color):
15097 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
15098 Access the new x_window field directly.
15099
15100 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
15101 (allocate_pseudovector): Make non-static.
15102
15103 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
15104 (allocate_pseudovector): Declare.
15105 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
15106
151072007-11-15 Andreas Schwab <schwab@suse.de>
15108
15109 * editfns.c (Fformat): Correctly format EMACS_INT values.
15110 Also take precision into account when formatting an integer.
15111
15112 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
15113
151142007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
15115
15116 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
15117 (syms_of_keyboard): Defsubr it.
15118
15119 * data.c (swap_in_global_binding): Fix longstanding bug where
15120 store_symval_forwarding was not called with the right second argument,
15121 thus causing objfwd-ing from being dropped.
15122
151232007-11-14 Juanma Barranquero <lekktu@gmail.com>
15124
15125 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
15126 (Fx_display_pixel_height, Fx_display_planes)
15127 (Fx_display_color_cells, Fx_server_max_request_size)
15128 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15129 (Fx_display_visual_class, Fx_display_save_under):
15130 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
15131 (Fx_display_pixel_height, Fx_display_planes)
15132 (Fx_display_color_cells, Fx_server_max_request_size)
15133 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
15134 (Fx_display_mm_height, Fx_display_mm_width)
15135 (Fx_display_backing_store, Fx_display_visual_class)
15136 (Fw32_select_font, Fx_display_save_under):
15137 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
15138 (Fx_display_pixel_height, Fx_display_planes)
15139 (Fx_display_color_cells, Fx_server_max_request_size)
15140 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
15141 (Fx_display_save_under): Fix typos in docstrings.
15142
151432007-11-14 Juanma Barranquero <lekktu@gmail.com>
15144
15145 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
15146 corresponding to deleted entries; they are an implementation detail.
15147 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
15148 Remove variables.
15149 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
15150 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
15151 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
15152 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
15153 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
15154 (Fw32_define_rgb_color, Fw32_load_color_file)
15155 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
15156 Fix typos in docstrings.
15157 (Fx_server_version): Reflow docstring.
15158 (Fw32_shell_execute): Doc fixes.
15159
151602007-11-13 Juanma Barranquero <lekktu@gmail.com>
15161
15162 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
15163 if w32_parse_hot_key returned nil.
15164
151652007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
15166
15167 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
15168
151692007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 15170
aac0c6e3
MR
15171 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
15172
15173 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
15174
15175 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
15176 Remove W32_SCROLL_BAR_CLICK_EVENT.
15177
15178 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
15179 Add MULTIMEDIA_KEY_EVENT.
15180
15181 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
15182 (lispy_multimedia_keys) [WINDOWSNT]: New array.
15183 (make_lispy_event) [WINDOWSNT]: Use it to translate
15184 MULTIMEDIA_KEY_EVENT.
15185
15186 * w32term.h (WM_APPCOMMAND): Define if not already.
15187 (GET_APPCOMMAND_LPARAM): Likewise.
15188
15189 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
15190 WM_APPCOMMAND.
15191
15192 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
15193 (syms_of_w32fns): Export and initialize it.
15194 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
15195
151962007-11-09 Chong Yidong <cyd@stupidchicken.com>
15197
15198 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
15199 twice.
15200
15201 * xdisp.c (handle_face_prop): Fix last change.
15202
152032007-11-09 Richard Stallman <rms@gnu.org>
15204
15205 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
15206 not just for after-strings and before-strings.
15207 Call face_for_overlay_string and pass the overlay to it.
15208 (handle_display_prop): Determine whether property came from an overlay.
15209 Pass OVERLAY arg to handle_single_display_spec.
15210 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
15211 (load_overlay_strings): Fill in it->string_overlays.
15212 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
15213
15214 * xfaces.c (face_for_overlay_string): Function renamed from
15215 face_at_buffer_position_no_overlays, and add arg OVERLAY.
15216
15217 * dispextern.h (struct it): New elt string_overlays.
15218 New elt from_overlay, also in stack.
15219 Rearrange a few elements.
15220 (face_for_overlay_string): Decl renamed from
15221 face_at_buffer_position_no_overlays, and add argument.
15222
152232007-11-09 Richard Stallman <rms@gnu.org>
15224
15225 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
15226 to get the base face for an overlay string.
15227
15228 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
15229
15230 * xfaces.c (face_at_buffer_position_no_overlays): New function.
15231
15232 * xdisp.c (handle_stop): Move some code out of loop.
15233
152342007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15235
15236 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
15237 Fix conversion from Lisp object to ATSUFontID.
15238
152392007-11-09 Jason Rumney <jasonr@gnu.org>
15240
15241 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
15242
152432007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15244
15245 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
15246 Don't assume regions are aligned to page boundary.
15247 (print_load_command_name): Add LC_UUID if defined.
15248
152492007-11-09 Richard Stallman <rms@gnu.org>
15250
15251 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
15252
152532007-11-07 Jason Rumney <jasonr@gnu.org>
15254
15255 * s/windows95.h: Remove.
15256
152572007-11-06 Jan Djärv <jan.h.d@swipnet.se>
15258
15259 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
15260 abort with a message on unhandled store_type values.
15261
152622007-11-01 Jan Djärv <jan.h.d@swipnet.se>
15263
15264 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
15265 Remove HAVE_X11R5 and HAVE_X11R4.
15266
152672007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15268
15269 * Makefile.in: Remove references to sunfns.c and sunfns.o.
15270
152712007-11-01 Johan Bockgård <bojohan@gnu.org>
15272
15273 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
15274 Don't set s->stippled_p here, since it has already been set by
15275 x_set_glyph_string_gc from x_draw_glyph_string.
15276
152772007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
15278
15279 * sunfns.c: Remove file.
15280
15281 * m/sun386.h:
15282 * m/sun2.h:
15283 * m/sparc.h: Remove Sun windows code.
15284
152852007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
15286
15287 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
15288 (init_keyboard): Set current_kboard's window-system to nil.
15289 (tty_read_avail_input): Typo.
15290 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
15291
152922007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
15293
15294 * s/usg5-4.h:
15295 * s/usg5-3.h:
15296 * s/ptx.h:
15297 * m/is386.h:
15298 * m/ibmps2-aix.h:
15299 * Makefile.in: Remove all mentions of X10.
15300
15301 * dispnew.c (syms_of_display): Don't mention version 10.
15302
153032007-10-28 Juanma Barranquero <lekktu@gmail.com>
15304
15305 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
15306 ($(BLD)/abbrev.$(O)): Remove.
15307
153082007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
15309
15310 Rewrite abbrev.c in Elisp.
15311 * image.c (Qcount): Don't declare as extern.
15312 (syms_of_image): Initialize and staticpro `Qcount'.
15313 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
15314 * emacs.c (main): Don't call syms_of_abbrev.
15315 * Makefile.in (obj): Remove abbrev.o.
15316 (abbrev.o): Remove.
15317 * abbrev.c: Remove.
15318
153192007-10-26 Martin Rudalics <rudalics@gmx.at>
15320
15321 * window.c (window_min_size_2): Don't count header-line.
15322
153232007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
15324
15325 * frame.h (struct frame): Move all bit fields after the first bit
15326 field to take advantage of the available space. Group all the
15327 chars together to reduce wasted space due to padding.
15328
153292007-10-26 Juanma Barranquero <lekktu@gmail.com>
15330
15331 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
15332
15333 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
15334 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
15335 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
15336 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
15337 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
15338 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
15339 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
15340 (last_marked, mark_object_loop_halt): Make static.
15341
15342 * frame.c (syms_of_frame) <delete-frame-functions>:
15343 Fix typo in docstring.
15344
153452007-10-25 Juanma Barranquero <lekktu@gmail.com>
15346
15347 * w32.c (init_environment): Fix tiny memory leak.
15348 (w32_get_resource): Remove unused variable `ok'.
15349
153502007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
15351
15352 Make `window-system' into a keyboard-local variable (rather than
15353 frame-local as done originally by multi-tty).
15354
15355 * keyboard.h (struct kboard): Add Vwindow_system.
15356 * keyboard.c (init_kboard): Set a default for Vwindow_system.
15357 (mark_kboards): Mark Vwindow_system.
15358
15359 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
15360 (init_display): Don't set the obsolete `window-system' frame-param.
15361
15362 * xterm.c (x_term_init):
15363 * w32term.c (w32_create_terminal):
15364 * term.c (init_tty): Set Vwindow_system.
15365 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
15366 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
15367
15368 * xfns.c (Fx_create_frame, x_create_tip_frame):
15369 * w32fns.c (Fx_create_frame, x_create_tip_frame):
15370 * macfns.c (Fx_create_frame):
15371 Don't set the obsolete `window-system' frame-param.
15372
15373 * frame.h (Qwindow_system): Remove.
15374 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
15375 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
15376
153772007-10-24 Richard Stallman <rms@gnu.org>
15378
15379 * frame.c (x_figure_window_size): For fullscreen case,
15380 set USPosition | PPosition without clobbering rest of window_prompting.
15381
15382 * keyboard.c (Fcurrent_idle_time): Doc fix.
15383
15384 * print.c (Fwith_output_to_temp_buffer): Doc fix.
15385
153862007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
15387
15388 * process.c (unwind_request_sigio): Only define if __ultrix__.
15389
15390 * callproc.c (child_setup): Remove spurious *.
15391
15392 * lisp.h (Fget_text_property): Declare.
15393 (have_menus_p): Declare it here rather than in sys-dep header files.
15394 * macterm.h (have_menus_p):
15395 * msdos.h (have_menus_p):
15396 * xterm.h (have_menus_p): Remove.
15397
15398 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
15399 (Fmake_variable_frame_local): Just check the variable's const-ness
15400 rather than checking nil or t.
15401
154022007-10-22 Jason Rumney <jasonr@gnu.org>
15403
15404 * w32fns.c: Include math.h.
15405 (w32_abort): Declaration moved to nt/config.nt.
15406
15407 * s/ms-w32.h (HAVE_STDLIB_H): Define.
15408 (abort): Redefinition moved to nt/config.nt.
15409
15410 * m/windowsnt.h: Remove.
15411
154122007-10-22 Juanma Barranquero <lekktu@gmail.com>
15413
15414 * emacs.c (Fdump_emacs): Fix typo in message.
15415 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15416 <installation-directory>: Reflow docstring.
15417
154182007-10-22 Juri Linkov <juri@jurta.org>
15419
15420 * minibuf.c: Allow minibuffer default to be a list of default values.
15421 With empty input use the first element of this list as returned default.
15422 (string_to_object)
15423 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15424 (read_minibuf): If defalt is cons, set histstring to its car.
15425 (Fread_string): If default_value is cons, set val to its car.
15426 (Fread_buffer): If def is cons, use its car.
15427 (Fcompleting_read): If defalt is cons, set val to its car.
15428
154292007-10-21 Michael Albinus <michael.albinus@gmx.de>
15430
15431 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15432
154332007-10-20 Juanma Barranquero <lekktu@gmail.com>
15434
15435 * doc.c (Fdocumentation): Check for advice in all cases.
15436
154372007-10-19 Chong Yidong <cyd@stupidchicken.com>
15438
15439 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15440
154412007-10-19 Richard Stallman <rms@gnu.org>
15442
15443 * doc.c (Fdocumentation): Check for and handle an advised function.
15444
154452007-10-19 Juanma Barranquero <lekktu@gmail.com>
15446
15447 * process.c (Fset_process_filter): Doc fix.
15448
154492007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15450
15451 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15452 which caused key-translation-map to applied repeatedly (thus breaking
15453 double-mode).
15454
154552007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15456
15457 * xselect.c (x_own_selection, x_handle_selection_clear)
15458 (x_clear_frame_selections):
15459 * w32menu.c (list_of_panes, list_of_items):
15460 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15461 * textprop.c (validate_plist, interval_has_all_properties)
15462 (interval_has_some_properties, interval_has_some_properties_list)
15463 (add_properties, text_property_list):
15464 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15465 * minibuf.c (Fassoc_string):
15466 * macselect.c (x_own_selection, x_clear_frame_selections)
15467 (Fx_disown_selection_internal):
15468 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15469 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15470
154712007-10-17 Chong Yidong <cyd@stupidchicken.com>
15472
15473 * process.c: Link to libs for calling res_init() if available.
15474 (Fmake_network_process): Call res_init() before getaddrinfo or
15475 gethostbyname, if possible.
15476
154772007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15478
15479 * lread.c (read1): Set pvectype for char_tables.
15480
15481 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15482 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15483 Add type checks.
15484 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15485
15486 * alloc.c (free_misc): Use XMISCTYPE.
15487 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15488
154892007-10-17 Glenn Morris <rgm@gnu.org>
15490
15491 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15492 (syms_of_minibuf): Add Qcompletion_ignore_case.
15493 * dired.c (Qcompletion_ignore_case): Change to external.
15494 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15495 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15496 (Fread_file_name): Use it rather than intern'ing.
15497
15498 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15499 (Fread_coding_system): Ignore case of user input.
15500
155012007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15502
15503 * xdisp.c (handle_display_prop): Ignore display specs after
15504 replacing one when string text is being replaced.
15505 (handle_single_display_spec): Pretend as if characters with display
15506 property haven't been consumed only when buffer text is being replaced.
15507
155082007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15509
15510 * xfns.c (Fx_create_frame, Fx_display_list):
15511 * window.c (window_fixed_size_p, enlarge_window)
15512 (shrink_window_lowest_first):
15513 * macterm.c (init_font_name_table):
15514 * macfns.c (Fx_create_frame, Fx_display_list):
15515 * lread.c (close_load_descs):
15516 * keyboard.c (read_char_x_menu_prompt):
15517 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15518 * coding.c (code_convert_region_unwind): Test the type of an object
15519 rather than just !NILP before extracting data from it.
15520
15521 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15522
15523 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15524 (XMISCANY): New macro.
15525 (XMISCTYPE): Use it.
15526 (struct Lisp_Misc_Any): New type.
15527 (union Lisp_Misc): Use it.
15528 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15529 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15530 (find_symbol_value, set_internal, default_value, Fset_default)
15531 (Fmake_variable_buffer_local, Fmake_local_variable)
15532 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15533 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15534 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15535 * alloc.c (allocate_buffer): Set the size and tag.
15536 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15537 Use XMISCANY.
15538 (die): Follow the GNU convention for error messages.
15539 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15540 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15541 tag any more.
15542 (set_buffer_internal_1):
15543 * frame.c (store_frame_param):
15544 * eval.c (specbind):
15545 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15546
15547 * doc.c (Fsnarf_documentation): Simplify.
15548
155492007-10-14 Juanma Barranquero <lekktu@gmail.com>
15550
15551 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15552 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15553
155542007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15555
15556 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15557
155582007-10-14 Juanma Barranquero <lekktu@gmail.com>
15559
15560 * eval.c (do_autoload): Don't save autoloads.
15561
15562 * data.c (Ffset): Save autoload of the function being set.
15563
155642007-10-07 John Paul Wallington <jpw@pobox.com>
15565
15566 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15567 parameter before setting up faces.
15568
155692007-10-13 Eli Zaretskii <eliz@gnu.org>
15570
15571 * ccl.c (Fregister_code_conversion_map):
15572 * keyboard.c (append_tool_bar_item): Reformat last change.
15573
15574 * lisp.h (eabs): Rename from `abs'. All callers changed.
15575
155762007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15577
15578 * buffer.c (add_overlay_mod_hooklist):
15579 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15580 * fontset.c (make_fontset):
15581 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15582 (append_tool_bar_item):
15583 * macmenu.c (grow_menu_items):
15584 * w32menu.c (grow_menu_items):
15585 * xmenu.c (grow_menu_items): Use larger_vector.
15586
155872007-10-13 Eli Zaretskii <eliz@gnu.org>
15588
15589 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15590 selected frame'' on MSDOS).
15591
155922007-10-12 Martin Rudalics <rudalics@gmx.at>
15593
15594 * frame.c (Qexplicit_name): New variable.
15595 (x_report_frame_params): Report it in parameter alist.
15596 (syms_of_frame): Intern and staticpro it.
15597
155982007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15599
15600 * macfns.c (x_create_tip_frame): Set terminal for frame.
15601
156022007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15603
15604 * frame.c (Qenvironment): Remove.
15605 (syms_of_frame) <Qenvironment>: Don't initialize.
15606 (Fdelete_frame): Don't treat the `environment' param specially.
15607 * frame.h (Qenvironment): Don't declare.
15608 * callproc.c (set_initial_environment): Don't set unused frame param.
15609
15610 * frame.c (Fframe_with_environment): Remove.
15611 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15612
15613 * lisp.h (Fframe_with_environment): Don't declare.
15614
156152007-10-10 Juanma Barranquero <lekktu@gmail.com>
15616
15617 * indent.c (indent_tabs_mode, last_known_column)
15618 (last_known_column_modified): Make static.
15619 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15620
156212007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15622
15623 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15624
156252007-10-09 Jason Rumney <jasonr@gnu.org>
15626
15627 * w32term.c (x_set_window_size): Disable code that attempts to tell
15628 Lisp code about a size change before it actually happens.
15629
156302007-10-09 Richard Stallman <rms@gnu.org>
15631
15632 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15633 return HANDLED_RETURN.
15634
156352007-10-08 Martin Rudalics <rudalics@gmx.at>
15636
15637 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15638 when there's an unread command event.
15639
15640 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15641 window autoselection act appropriately when leaving selected frame.
15642 (syms_of_frame): Initialize focus_follows_mouse.
15643 * frame.h (focus_follows_mouse): Extern it.
15644 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15645 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15646 * msdos.c (dos_rawgetc): Likewise.
15647 * w32term.c (w32_read_socket): Likewise.
15648 * xterm.c (handle_one_xevent): Likewise.
15649 * xdisp.c (syms_of_xdisp): In doc-string of
15650 mouse-autoselect-window mention focus-follows-mouse.
15651
156522007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15653
15654 * macterm.c (mac_load_query_font): Fix missing return value.
15655 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15656 Add BLOCK_INPUT.
15657
156582007-10-08 Richard Stallman <rms@gnu.org>
15659
15660 * xdisp.c (get_window_cursor_type): Implement documented behavior
15661 for cursor-in-non-selected-windows = t.
15662
156632007-10-08 Jason Rumney <jasonr@gnu.org>
15664
15665 * w32.c (w32_get_resource): Always close registry keys.
15666
156672007-10-08 Jason Rumney <jasonr@gnu.org>
15668
15669 * makefile.w32-in (LIBS): Add COMCTL32.
15670
15671 * w32fns.c (globals_of_w32fns): Init common controls.
15672
156732007-10-08 Richard Stallman <rms@gnu.org>
15674
15675 * image.c (our_memory_buffer): Rename from omfib_buffer.
15676
156772007-10-08 Richard Stallman <rms@gnu.org>
15678
15679 * buffer.c (Foverlays_at): Doc fix.
15680
156812007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15682
15683 * fns.c (Fplist_put): Preserve uneven tail data.
15684
156852007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15686
15687 * termhooks.h (enum event_kind): Remove trailing comma.
15688
15689 * frame.h (enum): Remove trailing comma.
15690
156912007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15692
15693 * w32proc.c (delete_child): Don't terminate threads of zombies.
15694
156952007-10-08 Martin Rudalics <rudalics@gmx.at>
15696
15697 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15698
15699 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15700 last-repeatable-command.
15701 (init_kboard): Initialize Vlast_repeatable_command.
15702 (command_loop_1): Set it to real_this_command unless that was
15703 bound to an input event.
15704 (mark_kboards): Mark it.
15705
157062007-10-08 Richard Stallman <rms@gnu.org>
15707
15708 * eval.c (condition-case): Doc fix.
15709
157102007-10-08 Masatake YAMATO <jet@gyve.org>
15711
15712 * xfaces.c (tty_supports_face_attributes_p): Fix code
15713 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15714 was copied and not edited.
15715
157162007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15717
15718 Add new `input-decode-map' keymap and use it for terminal
15719 escape sequences.
15720 * keyboard.h (struct kboard): Add Vinput_decode_map.
15721 Remove Vlocal_key_translation_map.
15722 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15723 (init_kboard): Init input-decode-map.
15724 Replace local-key-translation-map back with key-translation-map.
15725 (syms_of_keyboard): Declare input-decode-map.
15726 Remove local-key-translation-map. Update docstrings.
15727 (mark_kboards): Mark Vinput_decode_map.
15728 Don't mark Vlocal_key_translation_map.
15729 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15730 Replace local-key-translation-map back with key-translation-map.
15731 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15732 Bind in input-decode-map rather than function-key-map.
15733
15734 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15735 This was made redundant by the previous introduction of XSETPVECTYPE.
15736
157372007-10-09 Richard Stallman <rms@gnu.org>
15738
15739 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15740
157412007-09-29 Richard Stallman <rms@gnu.org>
15742
15743 * eval.c (internal_condition_case_2, internal_condition_case_1)
15744 (internal_condition_case): Reenable abort if x_catching_errors ()
15745 to see if that really happens and why.
15746
157472007-10-06 Andreas Schwab <schwab@suse.de>
15748
15749 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15750
157512007-10-04 Juanma Barranquero <lekktu@gmail.com>
15752
15753 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15754
157552007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15756
15757 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15758
157592007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15760
15761 * window.h (struct window):
15762 * window.c (struct save_window_data, struct saved_window):
15763 * termhooks.h (struct terminal):
15764 * process.h (struct Lisp_Process):
15765 * frame.h (struct frame):
15766 * buffer.h (struct buffer):
15767 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15768 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15769 The size field of (pseudo)vectors is now unsigned.
15770 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15771
15772 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15773 Turn `count' into an integer.
15774
15775 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15776 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15777 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15778 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15779 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15780
15781 * alloc.c (allocate_pseudovector): New fun.
15782 (ALLOCATE_PSEUDOVECTOR): New macro.
15783 (allocate_window, allocate_terminal, allocate_frame)
15784 (allocate_process): Use it.
15785 (mark_vectorlike): New function.
15786 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15787 (mark_terminals): Use it.
15788 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15789 (Fmake_byte_code): Use XSETPVECTYPE.
15790
15791 * frame.c (Fframe_parameters): Minor simplification.
15792
15793 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15794
15795 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15796
15797 * buffer.c (Fget_buffer_create, init_buffer_once):
15798 * lread.c (defsubr):
15799 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15800
15801 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15802 defined differently in the m/*.h files.
15803 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15804 (XSETPVECTYPE): New macro.
15805 (XSETPSEUDOVECTOR): Use it.
15806
15807 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15808 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15809
15810 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15811 * lread.c (defvar_per_buffer):
15812 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15813
15814 * window.c (candidate_window_p): Only consider as visible frames that
15815 are on the same terminal.
15816
15817 * m/ibms390x.h (MARKBIT): Remove unused macro.
15818
158192007-10-01 Juanma Barranquero <lekktu@gmail.com>
15820
15821 * lread.c (Fload): Fix typo in docstring.
15822
158232007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15824
15825 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15826 of a non-zero value can't yield zero.
15827
158282007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15829
15830 * term.c (term_clear_mouse_face, term_mouse_highlight)
15831 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15832
15833 * print.c (safe_debug_print): Use XHASH.
15834
15835 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15836 Lisp elements such as tags.
15837 (XHASH): New macro.
15838 (EQ): Use it.
15839 (SREF, SSET, STRING_COPYIN): Use SDATA.
15840 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15841
15842 * alloc.c (mark_terminal): Remove left-over declaration.
15843 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15844 (allocate_vectorlike): Remove type argument. Adjust callers.
15845 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15846 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15847
15848 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15849 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15850 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15851 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15852 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15853 Use them.
15854
15855 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15856 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15857 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15858
158592007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15860
15861 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15862 loaded by default.
15863
158642007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15865
15866 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15867 on this tty.
15868 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15869
15870 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15871 Update all users.
15872 (handle_one_term_event): Use Gpm_DrawPointer.
15873 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15874 Signal errors instead of returning nil. Always return nil.
15875 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15876 Make it a noop if gpm-mouse was not activated.
15877 (syms_of_term): Update names.
15878
158792007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15880
15881 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15882 (init_sys_modes): Check that gpm_tty is the current tty.
15883
15884 * alloc.c (allocate_terminal): Set the vector size to only count the
15885 lisp fields. Initialize those to nil.
15886 (mark_object): Don't treat terminals specially.
15887 (mark_terminal): Remove.
15888 (mark_terminals): Use mark_object instead.
15889
15890 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15891 the GC to the beginning.
15892
15893 * indent.h:
15894 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15895
15896 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15897
158982007-09-25 Jason Rumney <jasonr@gnu.org>
15899
15900 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15901
15902 * w32console.c (create_w32cons_output): Remove.
15903
15904 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15905
15906 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15907 (reset_sys_modes): Use reset_terminal_modes_hook.
15908
159092007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15910
15911 * eval.c (do_autoload): Don't output any message.
15912
159132007-09-24 Juri Linkov <juri@jurta.org>
15914
15915 * emacs.c (standard_args): Change priority of "--no-splash"
15916 from 40 to 3. Add "--no-desktop" with the same priority.
15917
159182007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15919
15920 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15921 and optimize the case where they are all 1.
15922
159232007-09-23 Johannes Weiner <hannes@saeurebad.de>
15924
15925 * lisp.h (abs): Define if not defined.
15926 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15927 Don't define `abs', since it's defined in lisp.h.
15928
159292007-09-22 Eli Zaretskii <eliz@gnu.org>
15930
15931 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15932 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15933 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15934 (init_tty): Use DEV_TTY instead of "/dev/tty".
15935 [WINDOWSNT]: No need to protect from NAME arg being null.
15936
159372007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15938
15939 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15940 up the tty state.
15941
159422007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15943
15944 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15945 (gpm_tty): Change its type.
15946 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15947 (gpm_tty): Change its type and initialize it.
15948 (Fterm_open_connection): Check the frame is indeed a tty.
15949 Use the new gpm_tty.
15950 (Fterm_close_connection): Use the new gpm_tty.
15951 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15952 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15953
159542007-09-21 Juanma Barranquero <lekktu@gmail.com>
15955
15956 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15957 underline_color, to draw strike-through.
15958
159592007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15960
15961 * lisp.h (allocate_terminal): Declare.
15962
15963 * window.c (candidate_window_p): Consider frames that are being placed
15964 by the user as somewhere between visible and iconified.
15965 (window_loop): Prefer windows on the current frame.
15966 (Fselect_window): Move the use of select-frame to the beginning so we
15967 can just delegate all the work (it'll call us back anyway).
15968
15969 * frame.c (Qdisplay_environment_variable):
15970 * frame.h (Qdisplay_environment_variable): Delete.
15971
15972 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15973 of the first arg, since that value may be a union.
15974
15975 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15976 parameter rather than Qdisplay_environment_variable. If all else
15977 fails, look for DISPLAY in initial-environment.
15978
159792007-09-21 Glenn Morris <rgm@gnu.org>
15980
15981 * Makefile.in (emacstool): Remove target.
15982 (lisp, shortlisp): Remove termdev.elc.
15983
159842007-09-21 Markus Triska <markus.triska@gmx.at>
15985
15986 * xterm.c (x_delete_display): Compile session management conditionally.
15987
159882007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15989
15990 * callproc.c (getenv_internal_1): New function.
15991 (getenv_internal): Use it.
15992 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15993
15994 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15995 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15996 (Fset_terminal_parameter): Work with dead terminals as well.
15997 (Fmodify_terminal_parameters): Remove.
15998
15999 * terminal.c (get_terminal): Handle terminals.
16000 Make sure the terminal returned is live.
16001 (create_terminal): Use allocate_terminal.
16002 (mark_terminals): Move to alloc.c.
16003 (delete_terminal): Use terminal->name as liveness status.
16004 NULL out fields after freeing their contents.
16005 Don't deallocate the object.
16006 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
16007 rather than an int.
16008 (Fterminal_live_p): Accept non-integer arguments.
16009 (Fterminal_list): Return terminal objects rather than an ints.
16010
16011 * alloc.c (enum mem_type): New member for `terminal' objects.
16012 (allocate_terminal): New function.
16013 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
16014 Handle terminals.
16015 (mark_terminal): New fun.
16016 (mark_terminals): Move from terminal.c.
16017
16018 * term.c (get_tty_terminal): Don't treat output_initial specially.
16019 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
16020 (delete_tty): Use terminal->name as liveness status.
16021
16022 * termhooks.h (struct terminal): Make it into a pseudovector.
16023 Remove `deleted' replaced by checking `name's nullness.
16024
16025 * print.c (print_object): Handle terminals.
16026
16027 * lisp.h (enum pvec_type): New `terminal' pseudovector.
16028 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
16029
16030 * frame.c (make_terminal_frame):
16031 * keyboard.c (tty_read_avail_input):
16032 * w32term.c (x_delete_terminal):
16033 * xfns.c (Fx_create_frame, x_create_tip_frame):
16034 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
16035
160362007-09-20 Glenn Morris <rgm@gnu.org>
16037
16038 * process.c (Fmake_network_process): Doc fix.
16039
160402007-09-19 Jason Rumney <jasonr@gnu.org>
16041
16042 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
16043
160442007-09-19 Michaël Cadilhac <michael@cadilhac.name>
16045
16046 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
16047 Fix a C warning regarding variable constness.
16048
16049 * xterm.c (handle_one_xevent): Fix a C warning.
16050
160512007-09-18 Jason Rumney <jasonr@gnu.org>
16052
16053 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
16054
160552007-09-17 Jan Djärv <jan.h.d@swipnet.se>
16056
16057 * gtkutil.c (gdpy_def): New variable.
16058 (xg_initialize): Initialize gdpy_def.
16059 (xg_display_close): If no other display exists, set gdpy_def to a
16060 new connection.
16061
160622007-09-16 Jan Djärv <jan.h.d@swipnet.se>
16063
16064 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
16065 when we have no file name for the icon.
16066 (xg_tool_bar_expose_callback): Remove.
16067 (xg_create_tool_bar): Don't connect expose signal to
16068 xg_tool_bar_expose_callback.
16069 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
16070
160712007-09-16 Andreas Schwab <schwab@suse.de>
16072
16073 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
16074 values instead of zapping them.
16075
160762007-09-14 Glenn Morris <rgm@gnu.org>
16077
16078 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
16079 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
16080 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
16081 scope and rename to omfib_buffer for clarity.
16082 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
16083
160842007-09-14 Kenichi Handa <handa@m17n.org>
16085
16086 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
16087
160882007-09-13 Jason Rumney <jasonr@gnu.org>
16089
16090 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
16091
16092 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
16093
16094 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
16095 (mac_term_init): Call here instead, passing rif.
16096
160972007-09-13 Glenn Morris <rgm@gnu.org>
16098
16099 * s/hpux.h: No longer define `static' as nothing.
16100
161012007-09-13 Johan Bockgård <bojohan@gnu.org>
16102
16103 * callint.c (Fcall_interactively): Remove unused var `fun'.
16104
161052007-09-12 Romain Francoise <romain@orebokech.com>
16106
16107 * window.c (prefer_window_split_horizontally, display_buffer):
16108 Revert 2007-09-08 change.
16109
161102007-09-12 Glenn Morris <rgm@gnu.org>
16111
16112 * alloca.c: Remove file.
16113 * Makefile.in (alloca): Do not undef.
16114 (allocaobj, alloca.o): Remove.
16115 (otherobj): Remove allocaobj.
16116 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
16117 * regex.c (C_ALLOCA): Remove all references and code that was only
16118 used when this was defined.
16119 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
16120 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
16121 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
16122
16123 * Makefile.in (SOURCES, unlock, relock): Delete.
16124
16125 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
16126 (menu_grab_callback): All uses changed.
16127
16128 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
16129 (x_reply_selection_request): All uses changed.
16130
161312007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
16132
16133 * lread.c (load_warn_old_style_backquotes): Change message to look
16134 better when it appears in the middle of byte-compiler messages.
16135
161362007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
16137
16138 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
16139
16140 * xterm.c (x_create_terminal): Add comment.
16141
16142 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
16143
161442007-09-10 Richard Stallman <rms@gnu.org>
16145
16146 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
16147
161482007-09-10 Michaël Cadilhac <michael@cadilhac.name>
16149
16150 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
16151 (DEFUN): Document `intspec', use it instead of `prompt'.
16152
16153 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
16154
16155 * data.c (Finteractive_form): If the interactive specification starts
16156 with a `(', use it as a Lisp form.
16157
16158 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
16159 name and file modes.
16160
16161 * callint.c (Fcall_interactively): Comment fixes.
16162
161632007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
16164
16165 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
16166 and compiled functions.
16167
161682007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
16169
16170 * window.c (prefer_window_split_horizontally): New variable.
16171 (display_buffer): Consider splitting window horizontally depending
16172 on prefer_window_split_horizontally.
16173
161742007-09-08 Eli Zaretskii <eliz@gnu.org>
16175
16176 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
16177
161782007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16179
16180 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
16181
16182 * frame.c (x_set_frame_parameters): Check number is positive before
16183 using XFASTINT.
16184
16185 * window.c (freeze_window_start): Don't presume selected_window holds
16186 a window object.
16187 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
16188
161892007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
16190
16191 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
16192
161932007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
16194
16195 * window.c (Vsplit_window_preferred_function): New var.
16196 (Fdisplay_buffer): Use it.
16197 (syms_of_window): Export, and initialize it.
16198
161992007-09-06 Pixel <pixel@mandriva.com> (tiny change)
16200
16201 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
16202
162032007-09-06 Glenn Morris <rgm@gnu.org>
16204
16205 * gtkutil.c (menu_grab_callback) <cnt>:
16206 * xselect.c (x_reply_selection_request) <cnt>: Move static
16207 variable to file scope.
16208
162092007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
16210
16211 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
16212 consistent values of selected_frame and selected_window.
16213
162142007-09-04 Jason Rumney <jasonr@gnu.org>
16215
16216 * w32console.c (initialize_w32_display): Zero unused hooks.
16217
162182007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16219
16220 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
16221 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
16222
162232007-09-04 Jason Rumney <jasonr@gnu.org>
16224
16225 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
16226 in w32console.c. Set up input. Remove XXX comments that have been
16227 confirmed as correct.
16228
16229 * s/ms-w32.h (MULTI_KBOARD): Define.
16230
16231 * w32console.c (one_and_only_w32cons): Remove.
16232 (initialize_w32_display): Take terminal argument.
16233
16234 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
16235 initialize_w32_display.
16236 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
16237
16238 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
16239
16240 * keyboard.c (discard_mouse_events): Discard it.
16241 (make_lispy_event): Translate it to a lisp event.
16242 (lispy_wheel_names): Add wheel-left and right events.
16243 (syms_of_keyboard): Enlarge wheel_syms.
16244
16245 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
16246 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
16247
16248 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
16249
16250 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
16251 from WM_MOUSEHWHEEL.
16252 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
16253
16254 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
16255 terminal.
16256
16257 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
16258 keyboard for the terminal.
16259
162602007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
16261
16262 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
16263 (Vresume_tty_hook): Rename from Vresume_tty_functions.
16264 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
16265 and resume-tty-function to resume-tty-hook.
16266 (Fsuspend_tty, Fresume_tty): Use new names.
16267
162682007-09-02 Jan Djärv <jan.h.d@swipnet.se>
16269
16270 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
16271 if it starts with "n:".
16272
162732007-08-31 Jan Djärv <jan.h.d@swipnet.se>
16274
16275 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
16276
162772007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
16278
16279 * frame.h:
16280 * frame.c (Qterm_environment_variable): Remove.
16281 (syms_of_frame): Don't init and staticpro it.
16282
16283 * callproc.c (getenv_internal): Remove special case for $TERM.
16284
16285 * callproc.c (Vinitial_environment): New variable.
16286 (set_initial_environment): Initialize it.
16287 (syms_of_callproc): Declare it.
16288 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
16289 TERM under which a process runs is never related to the TERM in which
16290 Emacs is running.
16291
162922007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16293
16294 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
16295 * s/darwin.h: ... do it here.
16296
162972007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
16298
16299 * lisp.h (set_initial_environment): Rename from set_global_environment.
16300
16301 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
16302 removed by mistake on the multi-tty branch.
16303
16304 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
16305 (Fmodify_frame_parameters): Return a value.
16306
16307 * image.c (png_load): Comment-out var only used in commented-out code.
16308
16309 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
16310 before passing it to mark_object.
16311
16312 * xfaces.c (internal_resolve_face_name): Return a value.
16313 (internal_resolve_face_name, resolve_face_name_error): Comment out.
16314
16315 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
16316 (x_icon): Comment-out var only used in commented-out code.
16317
163182007-08-29 Romain Francoise <romain@orebokech.com>
16319
16320 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
16321 QUIT hasn't been provided.
16322
163232007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
16324
16325 * callproc.c (child_setup, getenv_internal): Use the
16326 display-environment-variable and term-environment-variable frame params.
16327 (set_initial_environment): Initialise Vprocess_environment.
16328
16329 * config.in: Disable multi-keyboard support on a mac.
16330
16331 * frame.c (Qterm_environment_variable)
16332 (Qdisplay_environment_variable): New variables.
16333 (syms_of_frame): Intern and staticpro them.
16334 (Fmake_terminal_frame): Disable output method test.
16335
16336 * frame.h: Declare them here.
16337
16338 * macfns.c (x_set_mouse_color): Get rif from the frame.
16339 (x_set_tool_bar_lines): Don't use updating_frame.
16340 (mac_window): Add 2 new parameters for consistency with other systems.
16341 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
16342 frame parameters following what is done in X11 and w32. Don't use
16343 FRAME_MAC_DISPLAY_INFO.
16344 (Fx_open_connection, start_hourglass): Remove window-system check.
16345 (x_create_tip_frame): Get the keyboard from the terminal.
16346
16347 * macmenu.c: Reorder includes.
16348 (Fx_popup_menu): Use terminal specific mouse_position_hook.
16349
16350 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
16351 terminal parameter.
16352 (x_clear_frame): Add a frame parameter.
16353 (note_mouse_movement): Get rif from the frame.
16354 (mac_term_init): Initialize the terminal.
16355 (mac_initialize): Make static and move terminal initialization ...
16356 (mac_create_terminal): ... to this new function.
16357
16358 * macterm.h (struct mac_display_info): Add terminal.
16359 (mac_initialize): Delete declaration.
16360
16361 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
16362
16363 * sysdep.c: Comment out text after #endif.
16364
16365 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
16366 is defined. Better initialize ttys in windows. Use terminal
16367 specific mouse_position_hook.
16368
16369 * termhooks.h (union display_info): Add mac_display_info.
16370
16371 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
16372 Set the default minibuffer frame, window_system and the rest of the
16373 frame parameters following what is done in X11.
16374
16375 * w32term.c (w32_initialize): Make static.
16376
16377 * xselect.c (x_handle_selection_clear): Only access
16378 terminal->kboard when MULTI_KBOARD is defined.
16379
16380 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
16381 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
16382
163832007-08-29 Jason Rumney <jasonr@gnu.org>
16384
16385 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
16386 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
16387
16388 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
16389 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
16390
16391 * keyboard.c (restore_kboard_configuration): Only define when
16392 MULTI_KBOARD defined.
16393
16394 * makefile.w32-in: Update dependancies from Makefile.in.
16395 (OBJ1): Add terminal.$(O)
16396
16397 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
16398 Don't define function body.
16399 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
16400
16401 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
16402
16403 * w32.c (request_sigio, unrequest_sigio): Remove.
16404
16405 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
16406 (w32con_clear_frame, w32con_clear_end_of_line)
16407 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
16408 (w32con_delete_glyphs, w32con_set_terminal_window)
16409 (scroll_line, w32_sys_ring_bell): Add frame arg.
16410 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
16411 Add terminal arg.
16412 (PICK_FRAME): Remove.
16413 (w32con_write_glyphs): Use frame specific terminal coding.
16414 (one_and_only_w32cons): New global variable.
16415 (initialize_w32_display): Use it for storing hooks.
16416 (create_w32cons_output): New function.
16417
16418 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16419 arg a frame.
16420
16421 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16422 Set window_system.
16423 (x_set_tool_bar_lines): Don't use updating_frame.
16424 (Fx_create_frame): Set terminal and ref count.
16425 (Fx_open_connection): Remove window-system check.
16426
16427 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16428
16429 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16430 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16431 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16432 Add frame arg.
16433 (x_delete_terminal, w32_create_terminal): New functions.
16434 (w32_term_init): Create a terminal.
16435 (w32_initialize): Move terminal specific initialization to
16436 w32_create_terminal.
16437
16438 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16439 (w32_clear_rect, w32_clear_area): Use background from frame.
16440 (w32_display_info): Add terminal.
16441 (w32_sys_ring_bell, x_delete_display): Declare here.
16442
16443 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16444
16445 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16446
164472007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16448
16449 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16450 Fix get_named_tty calls for the controlling tty.
16451
164522007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16453
16454 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16455
164562007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16457
16458 * term.c (tty_insert_glyphs): Add missing first parameter.
16459
164602007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16461
16462 * buffer.c (Fbuffer_list, Fbury_buffer):
16463 Take frame->buried_buffer_list into account.
16464
16465 * cm.c (current_tty): New variable, for cmputc().
16466 (cmputc): Use it.
16467 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16468 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16469 (cmgoto): Add tty parameter. Pass it on to calccost().
16470 Use emacs_tputs() instead of tputs().
16471
16472 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16473 tputs().
16474 (current_tty): New variable, for cmputc().
16475 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16476
16477 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16478 (internal_condition_case, internal_condition_case_1)
16479 (internal_condition_case_2): Don't abort when x_catching_errors.
16480
16481 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16482 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16483 prevent crashes caused by bogus longjmps in read_char.
16484
16485 * keymap.h (Fset_keymap_parent): Add EXFUN.
16486
16487 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16488 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16489 Remove redundant definition.
16490
16491 * macfns.c (x_set_mouse_color, x_make_gc):
16492 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16493
16494 * w32term.c (x_free_frame_resources):
16495 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16496 (w32_initialize): Use the accessor macros for terminal characteristics.
16497
16498 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16499 Use the accessor macros for terminal characteristics.
16500 * msdos.c (internal_terminal_init): Use the accessor macros for
16501 terminal characteristics.
16502 (ScreenVisualBell, internal_terminal_init):
16503 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16504
16505 * termopts.h (no_redraw_on_reenter): Declare.
16506
16507 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16508 (mark_terminals, mark_ttys): Declare.
16509 (Fgarbage_collect): Call them.
16510 (mark_object): Mark buried_buffer_list.
16511
16512 * prefix-args.c: Include stdlib.h for exit.
16513
16514 * syssignal.h: Add comment.
16515
16516 * indent.c: Include stdio.h.
16517
16518 * window.h (Vinitial_window_system): Declare.
16519 (Vwindow_system): Delete declaration.
16520
16521 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16522
16523 * image.c (lookup_image): Don't initialize `c' until the xasserts
16524 have been run.
16525
16526 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16527 FRAME_FOREGROUND_PIXEL.
16528
16529 * print.c (print_preprocess): Don't lose print_depth levels while
16530 iterating.
16531
16532 * widget.c (update_from_various_frame_slots):
16533 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16534
16535 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16536 frames.
16537 (window_internal_height): Remove bogus make_number call.
16538 (init_window_once): Call make_terminal_frame with two zero parameters.
16539
16540 * fileio.c (Fread_file_name): Update comment.
16541
16542 * callint.c (Fcall_interactively):
16543 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16544 Make sure it is correctly unwound.
16545
16546 * xsmfns.c (x_session_close): New function.
16547
16548 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16549 Delete declarations.
16550
16551 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16552 (x_output): Remove background_pixel and foreground_pixel fields.
16553 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16554 (x_delete_device, x_session_close): Declare.
16555
16556 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16557 (read_filtered_event): Call `read_char' with a local
16558 `wrong_kboard_jmpbuf'.
16559
16560 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16561 Don't call single_kboard_state. Use FRAME_RIF.
16562
16563 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16564 systems.
16565
16566 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16567 (Fframe_with_environment, Fset_input_meta_mode)
16568 (Fset_quit_char): EXFUN.
16569 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16570 (init_sys_modes, reset_sys_modes): Update prototypes.
16571 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16572
16573 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16574 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16575 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16576 Delete declarations.
16577 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16578 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16579 New declarations.
16580
16581 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16582 already does that during init_display(). Call syms_of_keymap
16583 before syms_of_keyboard. Call `syms_of_terminal'.
16584 Call set_initial_environment, not set_process_environment.
16585 (shut_down_emacs): Call reset_all_sys_modes() instead of
16586 reset_sys_modes().
16587
16588 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16589 (internal_resolve_face_name, resolve_face_name_error): New functions.
16590 (resolve_face_name): Protect against loops and errors thrown by Fget.
16591 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16592 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16593
16594 * scroll.c: Replace CURTTY() with local variables throughout the
16595 file (where applicable).
16596 (calculate_scrolling, calculate_direct_scrolling)
16597 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16598 characteristics.
16599
16600 * keymap.c (Vfunction_key_map): Remove.
16601 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16602 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16603 (Vkey_translation_map): Remove.
16604 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16605 (Fdescribe_buffer_bindings)
16606 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16607 Update for terminal-local key-translation-map.
16608
16609 * Makefile.in (callproc.o): Update dependencies.
16610 (lisp, shortlisp): Add termdev.elc.
16611 (obj): Add terminal.o.
16612 (terminal.o): Add dependencies.
16613 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16614 (data.o, fns.o): Add termhooks.h dependency.
16615 (SOME_MACHINE_LISP): Add dnd.elc.
16616 (minibuf.o): Fix typo.
16617 Update dependencies.
16618
16619 * data.c (do_symval_forwarding, store_symval_forwarding)
16620 (find_symbol_value): Use the selected frame's keyboard, not
16621 current_kboard.
16622
16623 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16624 Vwindow_system.
16625
16626 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16627 Fmenu_bar_open.
16628 (syms_of_xmenu): Update defsubr.
16629 (mouse_position_for_popup, Fx_popup_menu)
16630 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16631 (set_frame_menubar, free_frame_menubar)
b97439ce 16632 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16633 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16634 an X frame.
16635
16636 * xselect.c (x_own_selection): Abort if not an X frame.
16637 (some_frame_on_display): Check if it is an X frame.
16638 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16639
16640 * coding.c: Include frame.h and termhooks.h.
16641 (terminal_coding, keyboard_coding): Delete.
16642 (Fset_terminal_coding_system_internal)
16643 (Fset_keyboard_coding_system_internal)
16644 (Fkeyboard_coding_system)
16645 (Fterminal_coding_system): Add a terminal parameter.
16646 Get terminal_coding from the terminal.
16647 (init_coding_once): Don't call setup_coding_system here.
16648
16649 * dispextern.h (set_scroll_region, turn_off_insert)
16650 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16651 (tty_clear_end_of_line, tty_setup_colors)
16652 (delete_tty, updating_frame)
16653 (produce_special_glyphs, produce_glyphs, write_glyphs)
16654 (insert_glyphs): Remove.
16655 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16656 (tty_turn_off_highlight, get_tty_size): Add declaration.
16657 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16658
16659 * frame.h (enum output_method): Add output_initial.
16660 (struct x_output): Delete.
16661 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16662 Access foreground_pixel and background_pixel directly from the frame.
16663 (tty_display): Delete.
16664 (struct frame): Add buried_buffer_list, foreground_pixel,
16665 background_pixel and terminal. Delete kboard.
16666 (union output_data): Add tty.
16667 (FRAME_KBOARD): Get the kboard from the terminal.
16668 (FRAME_INITIAL_P): New macro.
16669 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16670 (Qterm_environment_variable, Qdisplay_environment_variable)
16671 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16672 New declarations.
16673
16674 * termchar.h (tty_output, tty_display_info): New structures.
16675 (tty_list): Declare.
16676 (FRAME_TTY, CURTTY): New macros.
16677 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16678 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16679 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16680 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16681
16682 * callproc.c: Include frame.h and termhooks.h, for terminal
16683 parameters.
16684 (add_env): New function.
16685 (child_setup): Use it.
16686 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16687 (getenv_internal): Fix get_terminal_param call.
16688 (Fgetenv_internal, egetenv): Update doc.
16689 (syms_of_callproc): Initialize Vprocess_environment to nil.
16690 Register and initialize them. Remove obsolete defvars. Update doc
16691 strings.
16692 (child_setup): Handle Vlocal_environment_variables.
16693 (getenv_internal): Add terminal parameter.
16694 Handle Vlocal_environment_variables.
16695 (Fgetenv_internal): Add terminal parameter.
16696 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16697 environment in a frame (not terminal) parameter. Update doc strings.
16698 (set_initial_environment): Rename from set_global_environment.
16699 Store Emacs environment in initial frame parameter.
16700
16701 * xdisp.c (redisplay_internal): Update references to
16702 `previous_terminal_frame'.
16703 (display_mode_line, Fformat_mode_line): Replace calls to
16704 `push_frame_kboard' with `push_kboard'.
16705 (get_glyph_string_clip_rects): Add extra parentheses and
16706 braces to prevent compiler warnings.
16707 (calc_pixel_width_or_height): Add xassert to check that the
16708 frame is alive. Don't call `lookup_image' on a termcap frame.
16709 (message2_nolog, message3_nolog, redisplay_internal)
16710 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16711 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16712 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16713 (Fx_display_pixel_width, Fx_display_pixel_height)
16714 (Fx_display_planes, Fx_display_color_cells)
16715 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16716 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16717 (Fx_display_backing_store, Fx_display_visual_class)
16718 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16719 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16720
16721 * xfns.c (x_set_foreground_color x_set_background_color)
16722 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16723 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16724 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16725 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16726 terminal that is being deleted.
16727 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16728 frame parameter, and make sure it overrides any user-supplied setting.
16729 (Fx_close_connection, Fx_synchronize): Unify argument names with
16730 the rest of the DEFUNs.
16731
16732 * dispnew.c (Fsend_string_to_terminal): Update call to
16733 `get_tty_terminal'.
16734 (Fredraw_frame, Fsend_string_to_terminal)
16735 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16736 FRAME_TERMCAP_P and FRAME_TTY.
16737 (window_change_signal): Don't believe width/height values that are
16738 impossibly small.
16739 (Vinitial_window_system): Rename from Vwindow_system.
16740 (termscript, Wcm, rif): Delete.
16741
16742 * termhooks.h (struct terminal): New struct containing the
16743 previously global text display hooks and new members NAME,
16744 DELETED and PARAM_ALIST.
16745 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16746 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16747 (FRAME_RIF): New macros.
16748 (get_terminal_param, get_device): New declarations.
16749 (termscript): Delete declaration.
16750
16751 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16752 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16753 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16754 FRAME_FOREGROUND_PIXEL.
16755 (x_fully_uncatch_errors): Disable definition.
16756 (x_scroll_bar_expose): Fix reference to foreground pixel.
16757 (XTread_socket): Disable loop on all X displays.
16758 (x_delete_terminal): Don't set terminal->deleted and let
16759 delete_terminal delete the frames on the terminal.
16760 (x_delete_display): Doc update to reflect changes in
16761 delete_terminal.
16762 (x_display_info) <terminal>: Move member earlier in the struct.
16763 (deleting_tty): Remove old variable.
16764 (Fsuspend_tty): Call clear_tty_hooks.
16765 (Fresume_tty, init_tty): Call set_tty_hooks.
16766 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16767 errors on X frames.
16768 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16769 (handle_one_xevent): Initialize `f' to NULL.
16770 (x_delete_terminal, x_create_terminal): New functions.
16771 (XTset_terminal_modes, XTreset_terminal_modes)
16772 (XTread_socket, x_connection_closed, x_term_init)
16773 (x_term_init, x_delete_display): Add terminal parameter.
16774 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16775 X connections.
16776
16777 * frame.c: Include termchar.h.
16778 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16779 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16780 (Qdisplay_environment_variable): New vars.
16781 (Fframep): Deal with output_initial.
16782 (Fframe-live-p): Doc fix.
16783 (Fwindow-system): New function.
16784 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16785 (make_terminal_frame): Don't create frames on a terminal that is
16786 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16787 (store_frame_param): Check for found_for_frame before calling XFRAME.
16788 (Fmake_terminal_frame): Handle NULL tty names correctly.
16789 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16790 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16791 frames to refer to a deleted frame in their 'environment parameter.
16792 (Fframe_with_environment): New function.
16793 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16794 (get_future_frame_param): New function.
16795 (Fmake_terminal_frame): Use it.
16796 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16797
16798 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16799 * sysdep.c (reset_sys_modes): Update for renames.
16800
16801 * keyboard.c (tty_read_avail_input): New function.
16802 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16803 (syms_of_keyboard): Defsubr them.
16804 (Fset_input_meta_mode, Fset_quit_char): New functions.
16805 (Fset_input_mode): Split to above functions.
16806 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16807 parameter. Use it in call to `read_char'.
16808 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16809 Set wrong_kboard_jmpbuf correctly in recursive calls.
16810 Use current_kboard to access Vkeyboard_translate_table.
16811 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16812 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16813 Update longjmp invocations. Remember the original current_kboard,
16814 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16815 changes it. Comment out unnecessary calls to
16816 `record_single_kboard_state' and `any_kboard_state'.
16817 Update recursive calls.
16818 (wrong_kboard_jmpbuf): Remove global variable.
16819 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16820 Handle deleted interrupted_kboards correctly; that is a legal
16821 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16822 and read_char calls. Abort if interrupted_kboard died in read_char.
16823 (any_kboard_state, single_kboard_state)
16824 (push_frame_kboard): Remove function.
16825 (pop_kboard): Switch out of single_kboard mode if the kboard has
16826 been deleted. Remove unused variable. Help debugging by not
16827 changing current_kboard unnecessarily. Set current_kboard to the
16828 kboard of the selected frame when the stored kboard object has
16829 been deleted before pop_kboard.
16830 (temporarily_switch_to_single_kboard): Change first parameter to a
16831 frame pointer. Throw an error when caller wants to change kboards
16832 while in single_kboard mode. Don't push_kboard if we weren't in
16833 single kboard state. Don't pop_kboard if we popped into any
16834 kboard state.
16835 (restore_kboard_configuration): Abort if pop_kboard changed the
16836 kboard in single_kboard mode. Call pop_kboard only after setting
16837 up single_kboard mode.
16838 (Frecursive_edit): Switch to single_kboard mode only in nested
16839 command loops.
16840 (cmd_error, command_loop, command_loop_1, timer_check):
16841 Comment out unnecessary call to `any_kboard_state' and
16842 `record_single_kboard_state'.
16843 (delete_kboard): Exit single_kboard mode if we have just deleted
16844 that kboard. Use FRAME_KBOARD.
16845 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16846 `fatal_error_signal'.
16847 (record_single_kboard_state): Don't push_kboard if we weren't in
16848 single kboard state. Don't pop_kboard if we popped into any
16849 kboard state.
16850 (push_frame_kboard): Rename to push_kboard.
16851 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16852 (read_avail_input): Read input from all terminals.
16853 (mark_kboards): Also mark Vkeyboard_translate_table.
16854 (kbd_buffer_store_event_hold): Simplify condition.
16855 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16856 (Vkeyboard_translate_table): Move to struct kboard.
16857 (init_kboard): Initialize Vkeyboard_translate_table.
16858 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16859 Vkeyboard_translate_table. Update doc strings. Update docs of
16860 local-function-key-map and function-key-map.
16861
16862 * terminal.c: New file.
16863
16864 * term.c: Include errno.h.
16865 (Vring_bell_function, device_list, initial_device)
16866 (next_device_id, ring_bell, update_begin, update_end)
16867 (set_terminal_window, cursor_to, raw_cursor_to)
16868 (clear_to_end, clear_frame, clear_end_of_line)
16869 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16870 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16871 (syms_of_term): Move their initialization to terminal.c.
16872 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16873 (Ftty_display_color_cells)
16874 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16875 (clear_tty_hooks, set_tty_hooks)
16876 (init_tty, maybe_fatal): New functions.
16877 (Ftty_type): Return nil if terminal is not on a tty instead of
16878 throwing an error. Doc update.
16879 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16880 Doc update. Initialize new subrs and variables.
16881 (delete_tty): Use terminal->deleted.
16882 (tty_set_terminal_modes): Rename from set_terminal_modes.
16883 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16884 (set_scroll_region): Rename to `tty_set_scroll_region'.
16885 (turn_on_insert): Rename to `tty_turn_on_insert'.
16886 (turn_off_insert): Rename to `tty_turn_off_insert'.
16887 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16888 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16889 (toggle_highligh): Rename to `tty_toggle_highlight'.
16890 (background_highlight): Rename to `tty_background_highlight'.
16891 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16892 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16893 (tty_set_scroll_region, tty_background_highlight)
16894 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16895 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16896 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16897 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16898 Add static modifier.
16899 (tty_reset_terminal_modes, tty_set_terminal_window)
16900 (tty_set_scroll_region, tty_background_highlight)
16901 (tty_highlight_if_desired, tty_cursor_to)
16902 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16903 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16904 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16905 renames.
16906
169072007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16908
16909 * keyboard.c: Qrtl is new.
16910 (parse_tool_bar_item): Handle :rtl keyword.
16911 (syms_of_keyboard): Intern :rtl keyword.
16912
16913 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16914
16915 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16916 so no Lisp code is executed.
16917 (file_for_image, find_rtl_image): New functions.
16918 (xg_get_image_for_pixmap): Use file_for_image.
16919 (update_frame_tool_bar): If direction is RTL, use RTL image if
16920 defined. Use Gtk stock images if defined.
16921
169222007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16923
16924 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16925 for nonexistent or zero-width glyph in composition glyph.
16926
169272007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16928
16929 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16930
16931 * xdisp.c (Finvisible_p): New function.
16932 (syms_of_xdisp): defsubr it.
16933
169342007-08-24 Juanma Barranquero <lekktu@gmail.com>
16935
16936 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16937 Doc fixes.
16938
169392007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16940
16941 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16942
169432007-08-24 Martin Rudalics <rudalics@gmx.at>
16944
16945 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16946 whether decoding has modified buffer contents.
16947
169482007-08-24 Jason Rumney <jasonr@gnu.org>
16949
16950 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16951 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16952 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16953 (init_svg_functions) [HAVE_NTGUI]: New function.
16954 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16955 (svg_load_image): Use them.
16956 (svg_load_image) [HAVE_NTGUI]: Implement background.
16957
169582007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16959
16960 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16961 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16962 (LIBX): Remove @RSVG_LIBS@.
16963 (LIBES): Add $(RSVG_LIBS).
16964
16965 * image.c (svg_load_image): Blend with specified background if exists.
16966 Use IMAGE_BACKGROUND. Add Mac OS Support.
16967
16968 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16969 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16970 Remove macros.
16971 [MAC_OSX] (socket_callback): Do nothing.
16972 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16973 ReceiveNextEvent.
16974 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16975 socket_callback.
16976 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16977
169782007-08-22 Glenn Morris <rgm@gnu.org>
16979
16980 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16981
169822007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16983
16984 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16985
16986 * image.c: Add support for SVG images. Some additional comments
16987 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16988 (svg_image_p): New function to test for SVG image.
16989 (svg_load): New function to load SVG image.
16990 (svg_load_image): New function, helper for svg_load.
16991 (Qsvg): New Lisp_object.
16992 (svg_keyword_index): New enum.
16993 (svg_format): New static `image_keyword' struct.
16994 (svg_type): New static `image_type' struct.
16995 (librsvg/rsvg.h): Include it.
16996
169972007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16998
16999 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
17000
170012007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
17002
17003 * lread.c (Qold_style_backquotes): New var.
17004 (syms_of_lread): Init and staticpro it.
17005 (load_warn_old_style_backquotes): New fun.
17006 (Fload): Use them to warn about old style backquotes.
17007 (end_of_file_error, Fload): Remove unused vars.
17008
17009 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
17010
17011 * lread.c (Vold_style_backquotes): New var.
17012 (syms_of_lread): Init and export it to Elisp.
17013 (read1): Set it when we find an old-style (back)quote.
17014
170152007-08-22 Jason Rumney <jasonr@gnu.org>
17016
17017 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
17018
170192007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
17020
17021 * puresize.h (BASE_PURESIZE): Increase to 1140000.
17022
170232007-08-19 Richard Stallman <rms@gnu.org>
17024
17025 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
17026
170272007-08-19 Andreas Schwab <schwab@suse.de>
17028
17029 * alloc.c (pure): Round PURESIZE up.
17030
170312007-08-17 Jan Djärv <jan.h.d@swipnet.se>
17032
17033 * xterm.c (handle_one_xevent): Remove check that mouse click is in
17034 active frame.
17035
170362007-08-16 Richard Stallman <rms@gnu.org>
17037
17038 * eval.c (Fcommandp): Add parens to clarify.
17039
17040 * minibuf.c (Fall_completions): Use enum for type of table.
17041
17042 * emacs.c (USAGE2): Improve text.
17043
170442007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
17045
17046 * term.c (tty_default_color_capabilities): Declare static
17047 variables in file scope, to avoid HPUX compiler problem.
17048
170492007-08-13 Jan Djärv <jan.h.d@swipnet.se>
17050
17051 * gtkutil.c (update_frame_tool_bar): Use -1 as index
17052 to gtk_toolbar_insert.
17053
170542007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
17055
17056 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
17057
17058 * insdel.c (reset_var_on_error): New fun.
17059 (signal_before_change, signal_after_change):
17060 Use it to reset (after|before)-change-functions to nil in case of error.
17061 Bind inhibit-modification-hooks to t.
17062 Don't bind (after|before)-change-functions to nil while they run.
17063
170642007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17065
17066 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
17067 filling pixmap with stippled background.
17068
170692007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17070
17071 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
17072 Don't use invisible frame as parent window for repositioning.
17073
170742007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
17075
17076 * print.c (new_backquote_output): Rename from old_backquote_output.
17077 (print): Inverse its logic (according to its name) so as to match the
17078 behavior of new_backquote_flag in lread.c.
17079
170802007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17081
17082 * gmalloc.c (posix_memalign): New function.
17083
17084 * macterm.c (frame_highlight, frame_unhighlight): Don't call
17085 ActivateControl/DeactivateControl here.
17086 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
17087 frame-notice-user-settings is non-nil.
17088 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
17089 for kEventParamFMFontStyle.
17090 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
17091 mac_pass_command_to_system and mac_pass_control_to_system here.
17092 (XTread_socket): Call ActivateControl/DeactivateControl here.
17093 (XTread_socket) [TARGET_API_MAC_CARBON]:
17094 Check mac_pass_command_to_system and mac_pass_control_to_system here.
17095 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
17096 for window repositioning.
17097
170982007-08-08 Glenn Morris <rgm@gnu.org>
17099
17100 * Replace `iff' in doc-strings and comments.
17101
171022007-08-07 Chong Yidong <cyd@stupidchicken.com>
17103
17104 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
17105
171062007-08-07 Martin Rudalics <rudalics@gmx.at>
17107
17108 * fileio.c (Finsert_file_contents): Run format-decode and
17109 after_insert_file_functions on entire buffer when REPLACE is
17110 non-nil and inhibit modification_hooks and point_motion_hooks.
17111 For consistency, run after_insert_file_functions iff something
17112 got inserted. Move signal_after_change and update_compositions
17113 after code running after_insert_file_functions. Make sure that
17114 undo_list doesn't record intermediate steps of the decoding process.
17115
171162007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17117
17118 * emacs.c (main)
17119 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
17120 Call malloc_enable_thread on interactive startup.
17121
17122 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
17123 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
17124 [USE_PTHREAD]: Conditionalize with it.
17125 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
17126 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
17127 New functions.
17128
171292007-08-06 Chong Yidong <cyd@stupidchicken.com>
17130
17131 * xdisp.c (redisplay_window): When restoring original buffer
17132 position, make sure it is still valid.
17133
17134 * image.c (png_load): Ignore png-supplied background color.
17135
171362007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17137
17138 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
17139 Use kCFAbsoluteTimeIntervalSince1970.
17140
17141 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
17142 New variable.
17143 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
17144 event loop should be quit.
17145 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
17146 Quit dialog event loop if quit_dialog_event_loop is set.
17147
17148 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
17149 (Selection): New typedef. Use instead of ScrapRef.
17150 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
17151 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
17152 (mac_clear_selection): Rename from clear_scrap.
17153 (get_flavor_type_from_symbol): New argument SEL and subsume function of
17154 scrap_has_target_type. All uses changed.
17155 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
17156 (mac_selection_has_target_p): New functions.
17157 (mac_put_selection_value): Rename from put_scrap_string.
17158 (mac_get_selection_value): Rename from get_scrap_string.
17159 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
17160 (put_scrap_private_timestamp, scrap_has_target_type)
17161 (get_scrap_private_timestamp): Remove functions.
17162 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
17163 (x_own_selection, x_get_local_selection):
17164 Use mac_valid_selection_value_p.
17165 (x_own_selection): Don't use put_scrap_private_timestamp.
17166 Record OWNERSHIP-INFO into Vselection_alist instead.
17167 (x_get_local_selection): Don't check type if request is local.
17168 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
17169 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
17170
171712007-08-04 Jan Djärv <jan.h.d@swipnet.se>
17172
17173 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
17174 add comment explaining why.
17175
171762007-08-03 Richard Stallman <rms@gnu.org>
17177
17178 * fileio.c (Fvisited_file_modtime): Use make_time.
17179
171802007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
17181
17182 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
17183 build.
17184
171852007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
17186
17187 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
17188
171892007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
17190
17191 * puresize.h (BASE_PURESIZE): Increase to 1130000.
17192
171932007-07-30 Richard Stallman <rms@gnu.org>
17194
17195 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
17196
171972007-07-29 Jan Djärv <jan.h.d@swipnet.se>
17198
17199 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
17200
172012007-07-28 Nick Roberts <nickrob@snap.net.nz>
17202
17203 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
17204 remote default-directory.
17205
17206 * buffer.c (mode-line-format): Update doc string.
17207
172082007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17209
17210 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
17211 scroll bar gap.
17212 (x_scroll_bar_create): Set bar->fringe_extended_p.
17213 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
17214 on frame edge. Check fringe background extension. Don't clear
17215 extended fringe background area.
17216
17217 * w32term.h (struct scroll_bar): New member fringe_extended_p.
17218 (w32_fill_area): Enclose multiple statements with do ... while (0).
17219
17220 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
17221 Extend fringe background to scroll bar gap.
17222 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
17223 Set bar->fringe_extended_p.
17224 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17225 Put leftmost/rightmost scroll bars on frame edge. Check fringe
17226 background extension. Don't clear extended fringe background area.
17227
17228 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
17229 New member fringe_extended_p.
17230
172312007-07-25 Glenn Morris <rgm@gnu.org>
17232
17233 * Relicense all FSF files to GPLv3 or later.
17234
17235 * COPYING: Switch to GPLv3.
17236
172372007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
17238
17239 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
17240
17241 * data.c (Finteractive_form): Check for the presence of an
17242 `interactive-form' symbol property more thoroughly.
17243
17244 * data.c (Finteractive_form): Use an `interactive-form' property if
17245 present, analogous to the function-documentation property.
17246
172472007-07-24 Jason Rumney <jasonr@gnu.org>
17248
17249 * w32fns.c (x_real_positions): Get real position from OS instead of
17250 calculating it.
17251
172522007-07-23 Jason Rumney <jasonr@gnu.org>
17253
17254 * filelock.c (current_lock_owner): Allow for @ sign in username.
17255
172562007-07-22 Nick Roberts <nickrob@snap.net.nz>
17257
17258 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
17259 remote default-directory.
17260
17261 * buffer.c (mode-line-format): Describe above case in doc string.
17262
172632007-07-20 Eli Zaretskii <eliz@gnu.org>
17264
17265 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
17266 Define if not defined.
17267
172682007-07-18 Jason Rumney <jasonr@gnu.org>
17269
17270 * w32proc.c (w32_executable_type): Handle 64 bit executables.
17271
172722007-07-18 Richard Stallman <rms@gnu.org>
17273
17274 * data.c (Fsetq_default): Doc fix.
17275
17276 * eval.c (Fsetq): Doc fix.
17277
172782007-07-18 Juanma Barranquero <lekktu@gmail.com>
17279
17280 * coding.c (Ffind_operation_coding_system):
17281 * eval.c (For, Fand): Doc fixes.
17282 Reported by Johan Bockgård.
17283
172842007-07-18 Jan Djärv <jan.h.d@swipnet.se>
17285
17286 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
17287
17288 * xterm.h: Declare x_ewmh_activate_frame.
17289
17290 * xterm.c (x_ewmh_activate_frame): New function.
17291 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
17292
172932007-07-17 Martin Rudalics <rudalics@gmx.at>
17294
17295 * window.c (Fdisplay_buffer): If largest or LRU window is the
17296 only window, split it even if it is not eligible for splitting.
17297 This restores the original behavior broken by the 2007-07-15
17298 change.
17299
173002007-07-17 Glenn Morris <rgm@gnu.org>
17301
17302 * abbrev.c (abbrev_check_chars): New function.
17303 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
17304 Call abbrev_check_chars to check abbrev characters are word
17305 constituents. Doc fix.
17306
173072007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
17308
17309 * process.c (Fstart_process, Fmake_network_process)
17310 (read_process_output): Fix up last changes.
17311
173122007-07-16 Eli Zaretskii <eliz@gnu.org>
17313
17314 * makefile.w32-in (clean): Don't delete *~.
17315
173162007-07-16 Andreas Schwab <schwab@suse.de>
17317
17318 * window.c (Fdisplay_buffer): Use NILP.
17319 (Fset_window_scroll_bars): Likewise.
17320
173212007-07-15 Martin Rudalics <rudalics@gmx.at>
17322
17323 * window.c (window_min_size_2): New function.
17324 (window_min_size_1, size_window, Fdisplay_buffer)
17325 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
17326 windows without mode- or header-lines when window-min-height is
17327 too small.
17328 (size_window): Reset nodelete_p after testing it, following an
17329 earlier note by Kim F. Storm.
17330 (display_buffer): Do not set split_height_threshold to twice the
17331 value of window_min_height to avoid changing the value of a
17332 customizable variable. Rather explicitly check whether the
17333 height of the window that shall be splitted is at least as large
17334 as split_height_threshold.
17335 (Fwindow_full_width_p): New defun.
17336 (syms_of_window): Defsubr it.
17337
17338 * window.h: Add EXFUN for Fwindow_full_width_p.
17339
173402007-07-14 Jason Rumney <jasonr@gnu.org>
17341
17342 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
17343
173442007-07-14 Richard Stallman <rms@gnu.org>
17345
17346 * eval.c (maybe_call_debugger): New function.
17347 (find_handler_clause): Use maybe_call_debugger.
17348 Call it when the handler says `debug'.
17349 Eliminate DEBUGGER_VALUE_PTR.
17350 (Fsignal): Eliminate debugger_value.
17351 (Qdebug): New variable.
17352 (syms_of_eval): Initialize it.
17353
173542007-07-14 Juanma Barranquero <lekktu@gmail.com>
17355
17356 * eval.c (Fprogn):
17357 * keyboard.c (Ftrack_mouse):
17358 * print.c (Fwith_output_to_temp_buffer):
17359 * window.c (Fsave_window_excursion): Doc fix.
17360
173612007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
17362
17363 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
17364
173652007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
17366
17367 * process.h (struct Lisp_Process): Turn slots infd, outfd,
17368 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
17369 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
17370 read_output_delay, and read_output_skip from Lisp_Objects to ints.
17371 Remove unused encoding_carryover.
17372 * process.c: Adjust all functions accordingly.
17373
173742007-07-12 Richard Stallman <rms@gnu.org>
17375
17376 * term.c: Include unistd.h only if HAVE_UNISTD_H.
17377
173782007-07-11 Jason Rumney <jasonr@gnu.org>
17379
17380 * makefile.w32-in (LIBS): Include OLE32.
17381
17382 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
17383 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
17384
173852007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
17386
17387 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
17388 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
17389 from a Lisp_Object into a bare pointer.
17390 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
17391 Adjust the code correspondingly.
17392
17393 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
17394
17395 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
17396 (term_show_mouse_face): Remove unused var `j'.
17397 (handle_one_term_event): Remove unused vars `i' and `j'.
17398 Don't cast return value of ttyname since it's not necessary.
17399
174002007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
17401
17402 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
17403 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
17404
17405 * fns.c (map_char_table): Use an array of int for `indices' rather than
17406 an array of Lisp_Objects (which are only ever integers anyway).
17407 (Fmap_char_table): Update caller.
17408 * lisp.h: Update prototype.
17409 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
17410 * fontset.c (Ffontset_info):
17411 * casetab.c (set_case_table): Update callers.
17412
17413 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17414
17415 * keymap.c (struct accessible_keymaps_data)
17416 (struct where_is_internal_data): New structures.
17417 (accessible_keymaps_1, where_is_internal_1): Use them to change
17418 interface to adhere to the one used by map_keymap.
17419 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17420 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17421
17422 * keymap.h (map_keymap_function_t): More informative prototype.
17423
174242007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17425
17426 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17427 (looking_at_1): Don't change search_regs and last_thing_searched
17428 if `inhibit-changing-match-data' is non-nil.
17429 (string_match_1, search_buffer, set_search_regs): Likewise.
17430 (syms_of_search): Add Lisp level definition for
17431 `inhibit-changing-match-data' and set it to nil.
17432 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17433 start and end of the match, instead of using values in search_regs.
17434
174352007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17436
17437 * minibuf.c (Fcompleting_read): New value `confirm-only'
17438 for `require-match'.
17439
174402007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17441
17442 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17443 part of the 2007-06-27 change to syms_of_fileio.
17444
174452007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17446
17447 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17448 Check WINDOWP before using XWINDOW. Consolidate return statements.
17449
174502007-06-27 Richard Stallman <rms@gnu.org>
17451
17452 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17453
174542007-06-27 Juanma Barranquero <lekktu@gmail.com>
17455
17456 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17457
174582007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17459
17460 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17461 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17462 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17463 (_free_internal, memalign): Use them.
17464 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17465 Initialize to PTHREAD_MUTEX_INITIALIZER.
17466 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17467 (morecore_nolock): Rename from morecore. All uses changed.
17468 Use only nolock versions of internal allocation functions.
17469 (_malloc_internal_nolock, _realloc_internal_nolock)
17470 (_free_internal_nolock): New functions created from
17471 _malloc_internal, _realloc_internal, and _free_internal.
17472 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17473 Copy hook value to automatic variable before its use.
17474 (memalign): Copy hook value to automatic variable before its use.
17475
174762007-06-26 Kenichi Handa <handa@m17n.org>
17477
17478 * coding.c (Ffind_operation_coding_system): Docstring improved.
17479 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17480
174812007-06-25 David Kastrup <dak@gnu.org>
17482
17483 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17484 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17485 cater for additional parameter.
17486
17487 * keymap.h: Adjust number of parameters to `current-active-maps'.
17488
17489 * doc.c (Fsubstitute_command_keys): Adjust call of
17490 `current-active-maps'.
17491
174922007-06-25 David Kastrup <dak@gnu.org>
17493
17494 * callint.c (Fcall_interactively): Make the parsing of interactive
17495 specs somewhat more readable.
17496
174972007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17498
17499 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17500 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17501 if extended background has already been filled.
17502
175032007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17504
17505 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17506 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17507
17508 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17509 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17510 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17511 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17512 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17513 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17514 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17515 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17516 Run timers during dialog popup.
17517 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17518
175192007-06-21 Jason Rumney <jasonr@gnu.org>
17520
17521 * image.c (convert_mono_to_color_image): Swap fore and background.
17522
175232007-06-20 Jason Rumney <jasonr@gnu.org>
17524
17525 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17526 (w32_free_bdf_font): Unmap memory not handle.
17527
175282007-06-20 Sam Steingold <sds@gnu.org>
17529
17530 * gmalloc.c (__morecore): Fix the declaration to comply with the
17531 definition.
17532
175332007-06-20 Juanma Barranquero <lekktu@gmail.com>
17534
17535 * w32term.c (w32_delete_display): Remove leftover declaration.
17536 (w32_define_cursor, w32_initialize): Make static.
17537
17538 * w32.c (_wsa_errlist): Fix typo in error message.
17539 (init_environment): Ignore any environment variable from the
17540 registry having a null value.
17541
175422007-06-20 Glenn Morris <rgm@gnu.org>
17543
17544 * Makefile.in (LIBGIF): Default to -lgif.
17545
175462007-06-17 Jason Rumney <jasonr@gnu.org>
17547
17548 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17549 unicode strings.
17550
175512007-06-16 Juanma Barranquero <lekktu@gmail.com>
17552
17553 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17554 Fix typo in docstring.
17555
175562007-06-16 Eli Zaretskii <eliz@gnu.org>
17557
17558 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17559 and their keybindings.
17560
175612007-06-15 Chong Yidong <cyd@stupidchicken.com>
17562
17563 * composite.c (update_compositions): Fix last fix.
17564
175652007-06-14 Jason Rumney <jasonr@gnu.org>
17566
17567 * w32.c (get_process_times_fn): New function pointer.
17568 (globals_of_w32): Intialize it if present in kernel32.dll.
17569 (w32_get_internal_run_time): New function.
17570
17571 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17572
175732007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17574
17575 * composite.c (update_compositions): Check the validness of
17576 compositions.
17577
175782007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17579
17580 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17581 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17582
17583 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17584 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17585
17586 * macgui.h (USE_MAC_TOOLBAR): New define.
17587
17588 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17589 Return immediately unless popup is activated.
17590
17591 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17592 background to scroll bar gap.
17593 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17594 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17595 scroll bars on frame edge. Check fringe background extension.
17596 Don't clear extended fringe background area.
17597 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17598 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17599 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17600 [USE_MAC_TOOLBAR]: New macros.
17601 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17602 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17603 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17604 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17605 [USE_MAC_TOOLBAR]: New functions.
17606 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17607 manually if previous repositioning has failed.
17608 (mac_handle_keyboard_event): Use precomputed event kind.
17609 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17610 as tool bar item click. Handle mouse movement over tool bar items.
17611
17612 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17613 toolbar_win_gravity.
17614 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17615 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17616 Add externs.
17617
17618 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17619 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17620
176212007-06-14 Chong Yidong <cyd@stupidchicken.com>
17622
17623 * image.c (search_image_cache): Remove unused variable.
17624
176252007-06-13 Chong Yidong <cyd@stupidchicken.com>
17626
17627 * xfns.c, xmenu.c: Link to xaw3d if available.
17628
176292007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17630
17631 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17632 frame_foreground and frame_background.
17633
17634 * image.c (lookup_image): Save frame foreground and background colors.
17635 (search_image_cache): Check if saved and current frame colors match.
17636
176372007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17638
17639 * regex.c (regex_compile): Remove the `regnum' counter.
17640 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17641
176422007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17643
17644 * term.c: Include intervals.h to declare Fget_text_property.
17645
176462007-06-10 Jason Rumney <jasonr@gnu.org>
17647
17648 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17649
176502007-06-08 Juanma Barranquero <lekktu@gmail.com>
17651
17652 * callint.c (Fcall_interactively):
17653 * editfns.c (Fdelete_and_extract_region):
17654 * fileio.c (Fread_file_name):
17655 * fns.c (Fmapconcat):
17656 * keyboard.c (cmd_error_internal):
17657 * keymap.c (Fkey_description):
17658 * lread.c (openp):
17659 * minibuf.c (read_minibuf):
17660 * search.c (wordify):
17661 * sunfns.c (sel_read):
17662 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17663 * xfns.c (x_default_scroll_bar_color_parameter):
17664 * xmenu.c (menu_help_callback):
17665 * xselect.c (Fx_get_atom_name):
17666 * xterm.c (x_term_init): Use empty_unibyte_string.
17667
176682007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17669
17670 * alloc.c (init_strings): Initialize canonical empty strings.
17671 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17672 canonical empty string when the requested size is 0.
17673
17674 * emacs.c (empty_unibyte_string): Rename from empty_string.
17675 (empty_multibyte_string): New canonical empty string.
17676 (syms_of_emacs): Don't initialize empty_string.
17677
17678 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17679 string, if appropriate.
17680 (empty_unibyte_string, empty_multibyte_string): New externs.
17681 (empty_string): Remove extern.
17682
17683 * lread.c (syms_of_lread): Use empty_unibyte_string.
17684
176852007-06-07 Jason Rumney <jasonr@gnu.org>
17686
17687 * s/ms-w32.h: Don't define HAVE_TZNAME.
17688
17689 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17690
176912007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17692
17693 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17694
17695 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17696 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17697
17698 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17699 Don't call next handler.
17700 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17701 Remove argument. Install handler to application.
17702 (set_frame_menubar): Don't change deep_p.
17703 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17704 FRAME_OUTER_TO_INNER_DIFF_Y.
17705 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17706 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17707 [HAVE_DIALOGS]: New macros.
17708 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17709 Use them.
17710 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17711
17712 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17713 init_service_handler. All callers changed. Return OSStatus value.
17714
17715 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17716 All callers changed so as not to call SetPortWindowPort.
17717 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17718 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17719 mac_draw_string_common.
17720 (mac_draw_image_string_qd): Likewise.
17721 (mac_draw_string_common): Use them. Add INLINE.
17722 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17723 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17724 GetGlobalMouse.
17725 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17726 and FRAME_OUTER_TO_INNER_DIFF_Y.
17727 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17728 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17729 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17730 repositioning window to mac_handle_window_event.
17731 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17732 saving window location to mac_handle_window_event
17733 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17734 (install_menu_target_item_handler): Remove argument in extern.
17735 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17736 Also accept command events.
17737 (do_keystroke): New function created from XTread_socket.
17738 (init_command_handler): Remove functions.
17739 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17740 and save window location by kEventWindowShowing and kEventWindowHiding
17741 handlers here. Don't call next handler for window state change and
17742 focus events.
17743 (mac_handle_application_event, mac_handle_keyboard_event)
17744 [TARGET_API_MAC_CARBON]: New functions.
17745 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17746 kEventWindowShowing and kEventWindowHiding events. Move installation
17747 of mouse, font, text input and menu target item handlers to
17748 install_application_handler.
17749 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17750 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17751 New function.
17752 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17753 Register it.
17754 (XTread_socket) [TARGET_API_MAC_CARBON]:
17755 Consolidate SendEventToEventTarget calls.
17756 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17757 Move application activation handler to mac_handle_application_event.
17758 Move keyboard handler to mac_handle_keyboard_event.
17759 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17760 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17761 init_command_handler. Call install_application_handler.
17762
17763 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17764 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17765
177662007-06-07 Glenn Morris <rgm@gnu.org>
17767
17768 * emacs.c (main): Use `emacs-copyright' in --version output.
17769
177702007-06-06 Chong Yidong <cyd@stupidchicken.com>
17771
17772 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17773
177742007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17775
17776 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17777
17778 * macgui.h: Replace WindowPtr with WindowRef.
17779
17780 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17781 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17782 Replace ControlHandle with ControlRef.
17783 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17784
17785 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17786 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17787 Replace ControlHandle with ControlRef.
17788 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17789 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17790
17791 * macterm.h (struct scroll_bar): Rename member control_handle_low
17792 and control_handle_high to control_ref_low and control_ref_high.
17793 All uses changed.
17794 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17795 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17796 respectively. All uses changed.
17797 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17798 (install_window_handler, remove_window_handler): Replace WindowPtr
17799 with WindowRef in externs.
17800
178012007-06-05 Juanma Barranquero <lekktu@gmail.com>
17802
17803 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17804
178052007-06-03 Nick Roberts <nickrob@snap.net.nz>
17806
17807 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17808
17809 * frame.c (Fmouse_position, Fmouse_pixel_position):
17810 Condition on HAVE_GPM too.
17811
17812 * term.c (term_mouse_highlight): Remove unused variables.
17813 (Fterm_open_connection): Set gpm_zerobased to 1.
17814 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17815 Use zero based co-ordinates.
17816 (handle_one_term_event): Report a drag as mouse movement too.
17817
17818 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17819
178202007-06-03 Chong Yidong <cyd@stupidchicken.com>
17821
17822 * image.c (search_image_cache): New function. Require background
17823 color match if background color is unspecified in the image spec.
17824 (uncache_image, lookup_image): Use it.
17825
178262007-06-01 Juanma Barranquero <lekktu@gmail.com>
17827
17828 * window.c (Fshrink_window): Reflow docstring.
17829
178302007-06-02 Chong Yidong <cyd@stupidchicken.com>
17831
17832 * Version 22.1 released.
17833
178342007-06-01 Richard Stallman <rms@gnu.org>
17835
17836 * xfns.c (x_encode_text): Add GCPRO.
17837
178382007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17839
17840 * xfns.c (x_set_name_internal): Save encoded name before
17841 x_encode_text in case string data is relocated.
17842
178432007-05-31 Richard Stallman <rms@gnu.org>
17844
17845 * buffer.c (syms_of_buffer): Doc fix.
17846
178472007-05-30 Nick Roberts <nickrob@snap.net.nz>
17848
17849 * sysdep.c (init_sys_modes): Add rather than replace with
17850 O_NONBLOCK.
17851
17852 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17853 term_mouse_moveto.
17854
17855 * termhooks.h (term_mouse_moveto): New extern.
17856
17857 * term.c (mouse_face_window): Rename...
17858 (Qmouse_face_window): ...to this.
17859 (term_show_mouse_face, term_clear_mouse_face)
17860 (term_mouse_highlight): Use Qmouse_face_window.
17861 (term_mouse_moveto): New function.
17862 (term_mouse_position): Make it work.
17863 (syms_of_term): Uncomment assignment to mouse_position_hook.
17864 Staticpro Qmouse_face_window.
17865
178662007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17867
17868 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17869 around current_column call.
17870
178712007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17872
17873 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17874 * xdisp.c (next_element_from_buffer):
17875 * window.c (delete_window):
17876 * term.c (term_mouse_highlight):
17877 * msdos.c (getdefdir):
17878 * macterm.c (mac_create_bitmap_from_bitmap_data)
17879 (init_font_name_table):
17880 * fns.c (Fsxhash):
17881 * data.c (Fmake_local_variable):
17882 * ccl.c (ccl_driver): Likewise.
17883
178842007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17885
17886 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17887 Call mac_wakeup_from_rne on window size change.
17888
178892007-05-25 Chong Yidong <cyd@stupidchicken.com>
17890
17891 * image.c (uncache_image): Fix typo.
17892
178932007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17894
17895 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17896
178972007-05-22 Richard Stallman <rms@gnu.org>
17898
17899 * xterm.c (x_connection_closed): Remove NO_RETURN.
17900
179012007-05-22 Martin Rudalics <rudalics@gmx.at>
17902
17903 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17904
179052007-05-21 Chong Yidong <cyd@stupidchicken.com>
17906
17907 * image.c (uncache_image): New function.
17908 (Fimage_refresh): New function.
17909
179102007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17911
17912 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17913
179142007-05-20 Nick Roberts <nickrob@snap.net.nz>
17915
17916 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17917 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17918
179192007-05-20 Nick Roberts <nickrob@snap.net.nz>
17920
17921 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17922 conditional on [HAVE_GPM_H].
17923
179242007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17925
17926 * syntax.c (skip_chars): Update syntax-table only after we checked that
17927 the new location is valid.
17928
179292007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17930
17931 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17932 mac_get_window_bounds.
17933
179342007-05-20 Nick Roberts <nickrob@snap.net.nz>
17935
17936 * Makefile.in (LIBGPM): Allow it to be set from configure.
17937 If set then link Emacs with it.
17938
17939 * config.in: Regenerate.
17940
17941 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17942 New externs.
17943
17944 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17945 Include gpm.h.
17946 (handle_one_term_event, term_gpm): New externs.
17947
17948 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17949 and allow it to be interrupted by SIGIO.
17950
17951 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17952 (wait_reading_process_output): Wait on gpm_fd too.
17953 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17954 (add_gpm_wait_descriptor_called_flag): New variable.
17955 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17956
17957 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17958 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17959 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17960 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17961 (make_lispy_event): Add case GPM_CLICK_EVENT.
17962 (read_avail_input): Handle mouse input.
17963
17964 * term.c (write_glyphs_with_face): New function.
17965 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17966 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17967 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17968 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17969 (last_mouse_x, last_mouse_y): New variables.
17970 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17971 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17972 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17973 (Fterm_close_connection): New functions.
17974 (term_init): Initialise mouse_face_window.
17975
179762007-05-19 Chong Yidong <cyd@stupidchicken.com>
17977
17978 * xdisp.c (redisplay_window): If first window line is a
17979 continuation line, recompute the new window start instead of
17980 recentering.
17981
179822007-05-18 Glenn Morris <rgm@gnu.org>
17983
17984 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17985 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17986
179872007-05-17 Glenn Morris <rgm@gnu.org>
17988
17989 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17990
179912007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17992
17993 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17994 dead key repeat and up events.
17995
179962007-05-14 Chong Yidong <cyd@stupidchicken.com>
17997
17998 * image.c (pbm_load): Check image size for monochrome pbm.
17999
180002007-05-13 Chong Yidong <cyd@stupidchicken.com>
18001
18002 * xterm.c (XTread_socket): Revert last change.
18003
180042007-05-12 Chong Yidong <cyd@stupidchicken.com>
18005
18006 * image.c (pbm_load): Correctly check image size for greyscale pbm.
18007
18008 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
18009
180102007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18011
18012 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
18013 mixup (YAILOM).
18014
180152007-05-07 Andreas Schwab <schwab@suse.de>
18016
18017 * keymap.c (Flookup_key): Fix typo in last change.
18018
180192007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
18020
18021 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
18022 mapping for unibyte strings.
18023
180242007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18025
18026 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
18027 (Fx_popup_dialog) [MAC_OSX]: Likewise.
18028
180292007-04-29 Richard Stallman <rms@gnu.org>
18030
18031 * insdel.c (replace_range): For undo, record insertion first.
18032
180332007-04-29 Andreas Schwab <schwab@suse.de>
18034
18035 * lisp.h (VECSIZE): Use OFFSETOF.
18036
180372007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18038
18039 * xdisp.c (try_window_reusing_current_matrix): Fix number of
18040 disabled lines.
18041
180422007-04-28 Richard Stallman <rms@gnu.org>
18043
18044 * lread.c (read_escape): In a string, \s is always space.
18045
180462007-04-27 Jan Djärv <jan.h.d@swipnet.se>
18047
18048 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
18049
18050 * gtkutil.c (xg_update_menubar, create_menus): Create empty
18051 submenu for menu bar items.
18052
18053See ChangeLog.10 for earlier changes.
18054
18055;; Local Variables:
18056;; coding: utf-8
18057;; add-log-time-zone-rule: t
aac0c6e3
MR
18058;; End:
18059
76b6f707 18060 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
18061
18062 This file is part of GNU Emacs.
18063
18064 GNU Emacs is free software: you can redistribute it and/or modify
18065 it under the terms of the GNU General Public License as published by
18066 the Free Software Foundation, either version 3 of the License, or
18067 (at your option) any later version.
18068
18069 GNU Emacs is distributed in the hope that it will be useful,
18070 but WITHOUT ANY WARRANTY; without even the implied warranty of
18071 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18072 GNU General Public License for more details.
18073
18074 You should have received a copy of the GNU General Public License
18075 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
18076
18077;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40