Mention trouble with XKeymacs and the Windows keys.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
289e7f8f
CY
12009-01-24 Chong Yidong <cyd@stupidchicken.com>
2
3 * font.c (font_parse_xlfd): Handle patterns of length < 2.
4
b3243e6f
AR
52009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
6
7 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
8 (ns_no_defaults): New declaration.
9 (main): Use it.
e0d2e69a 10
d900b2af 11 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 12
d900b2af 13 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 14
d900b2af
AR
15 * nsterm.m (ns_no_defaults): New variable.
16 (ns_initialize): Don't read defaults when ns_no_defaults.
17 (EmacsView-readSelectionFromPasteboard:)
18 (writeSelectionToPasteboard:types:): New stubbed-out methods for
19 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
20 (ns_dumpglyphs_stretch): New function.
21 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
22 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 23
e0d2e69a
AR
24 * nsimage.m (setPixmapData:): Set to ignore image DPI.
25
3ac71f5d
CY
262009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
27
28 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
29 call for Sparc64.
30
3fe53a83
AR
312009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
32
33 * nsfns.m:
34 * nsgui.h:
35 * nsmenu.m:
36 * nsselect.m:
37 * nsterm.h:
38 * nsterm.m: Remove '23' comments that indicated code added during
39 update from emacs-20 -> emacs-23.
40
10f87c6f 412009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
42
43 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 44 ns_alternate_modifier. (Bug#1217)
a3b53a85 45
c7cef62d
AR
46 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
47 Display all shortcuts, including those w/o super modifier.
48
575fb8bd
AR
49 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
50
918b848b
CY
512009-01-22 Chong Yidong <cyd@stupidchicken.com>
52
53 * fileio.c (Vwrite_region_post_annotation_function)
54 (Vwrite_region_annotation_buffers): New vars.
55 (build_annotations_unwind): Just reset
56 Vwrite_region_annotation_buffers.
57 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
58 Call write-region-post-annotation-function.
59 (build_annotations): Add to Vwrite_region_annotation_buffers if
60 buffer changes.
61
a39e2539
AR
622009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
63
64 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
65 Tiger.
66 * nsfns.m (ns_do_applescript): Conditionalize
67 typeUTF16ExternalRepresentation on Tiger.
68
35ed44db
AR
692009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
70
71 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
72
cbe0b5bf
AR
732009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
74
75 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 76
6049d3a0
AR
77 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
78
79 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
80 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
81 handle Ctrl-tab. (Bug#1841)
82 (ns_get_color): Use unsigned long long for scanned hex string value.
83 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 84 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 85 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 86 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 87 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 88 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 89 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 90
d3810c21 91 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 92 DPI. (Bug#1316)
d3810c21
AR
93 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
94 values in onTiger section.
4c7077c3 95
e301e634
CY
962009-01-19 Chong Yidong <cyd@stupidchicken.com>
97
7f82490b
CY
98 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
99 Check return value of font_spec_from_name.
100 (Fx_list_fonts): Doc fix.
101
102 * font.c (font_spec_from_name): Return Qnil if font name could not
103 be parsed.
104 (font_parse_name): Treat a `?' character as part of an XLFD.
105
e301e634
CY
106 * fns.c (Fsubstring): Doc fix.
107
1c0db158
KH
1082009-01-19 Kenichi Handa <handa@m17n.org>
109
110 * ftfont.c (ftfont_lookup_cache): Check the return value of
111 FcFontList.
112 (ftfont_list): Likewise.
113
acf20901
JB
1142009-01-18 Juanma Barranquero <lekktu@gmail.com>
115
fff4e459
JB
116 * dbusbind.c (Fdbus_register_signal):
117 * process.c (conv_sockaddr_to_lisp):
118 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
119
acf20901
JB
120 * callproc.c (Fgetenv_internal): Doc fix.
121
e7abcdfb
CY
1222009-01-16 Chong Yidong <cyd@stupidchicken.com>
123
124 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
125 it is not even used.
126
b60861e6
GM
1272009-01-16 Glenn Morris <rgm@gnu.org>
128
129 * font.c (Ffont_variation_glyphs): Silence compiler.
130
8db52afe
JB
1312009-01-15 Juanma Barranquero <lekktu@gmail.com>
132
133 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
134 Reported by David Robinow <drobinow@gmail.com>.
135
4cddb209
KH
1362009-01-15 Kenichi Handa <handa@m17n.org>
137
138 * coding.c (detect_coding_system): Fix handling of
139 null_byte_found.
140
f247f67b
JR
1412009-01-14 Jason Rumney <jasonr@gnu.org>
142
143 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 144 never a fontset. (Bug#1562)
f247f67b 145
f56a4450
KH
1462009-01-14 Kenichi Handa <handa@m17n.org>
147
148 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 149 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 150
4e99855e
CY
1512009-01-13 Chong Yidong <cyd@stupidchicken.com>
152
153 * font.c (font_clear_prop): If clearing the family, clear the font
154 width index too.
155
fff4e459 156 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 157
24f01470
JB
1582009-01-12 Juanma Barranquero <lekktu@gmail.com>
159
160 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
161 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
162 functions, use sizeof.
163
a41240a3
MR
1642009-01-12 Martin Rudalics <rudalics@gmx.at>
165
166 * keyboard.c (read_char): Fix case where last_nonmenu_event
167 returned a bad value with submenus. (Bug#447)
168
944636b8
CY
1692009-01-12 Chong Yidong <cyd@stupidchicken.com>
170
171 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
172 family, clear the font width index too.
173
0dad7c6f
JR
1742009-01-11 Jason Rumney <jasonr@gnu.org>
175
176 * keyboard.c (cmd_error_internal): Exit when errors occur before
177 frame creation and not in daemon mode. (Bug#1836)
178
7c2363af
CY
1792009-01-10 Chong Yidong <cyd@stupidchicken.com>
180
181 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
182 of a display vector, backtrack.
183 (try_window_reusing_current_matrix): Check glyph type before
184 referencing charpos member.
185
97b1b294
EZ
1862009-01-10 Eli Zaretskii <eliz@gnu.org>
187
188 Fix Bug #876:
189
190 * coding.c (inhibit_null_byte_detection): New variable.
191 (detect_coding, detect_coding_system): Don't pay attention to null
192 bytes if inhibit_null_byte_detection is non-zero.
193 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
194 document.
195 <inhibit-iso-escape-detection>: Doc fix.
196
4624b6e3
JR
1972009-01-09 Jason Rumney <jasonr@gnu.org>
198
199 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 200 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
201 Only report Unicode Plane 2 fonts as unicode-sip.
202
323b840c
CY
2032009-01-09 Chong Yidong <cyd@stupidchicken.com>
204
205 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
206 version moved to faces.el.
207
208 * font.c (Ffont_family_list): Return a list of strings, not
209 symbols.
210
eba7400d
MR
2112009-01-09 Martin Rudalics <rudalics@gmx.at>
212
213 * frame.c (x_set_frame_parameters): Remember requested value for
214 fullscreen before it's reset by the parameter handler.
215
4b09796d
GM
2162009-01-09 Glenn Morris <rgm@gnu.org>
217
218 * keyboard.c (last_command_char): For clarity, rename to...
219 (last_command-event): ... and update all users.
220 (last_input_char): For clarity, rename to...
221 (last_input_event): ... and update all users.
222 (last-command-char, last-input-char): Move to subr.el as aliases.
223 * cmds.c, commands.h: Update for last_command_char rename.
224
14ccea62
CY
2252009-01-08 Chong Yidong <cyd@stupidchicken.com>
226
227 * font.c (font_open_for_lface): Handle unspecified height
228 attribute.
229
5f004711
JR
2302009-01-08 Jason Rumney <jasonr@gnu.org>
231
232 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
233 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
234 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
235 Don't declare.
fff4e459 236 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
237 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
238
b71f6f73
KH
2392009-01-07 Kenichi Handa <handa@m17n.org>
240
50b06221 241 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 242 remember the coding system used for decoding in
50b06221
KH
243 coding_system (Bug#1039).
244
b71f6f73 245 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 246 breaking the loop. (Bug#870)
b71f6f73
KH
247 (decode_coding_utf_16, decode_coding_emacs_mule)
248 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
249 (decode_coding_charset): Likewise.
250
56f668f7
MR
2512009-01-05 Martin Rudalics <rudalics@gmx.at>
252
253 * frame.c (x_set_frame_parameters): Make sure height (width) get
254 applied when fullwidth (fullheight) is set. (Bug#1522)
255
5da9424d
JB
2562009-01-04 Juanma Barranquero <lekktu@gmail.com>
257
258 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
259 (utc_base): Declare as ULONGLONG, not long double.
260 (convert_time_raw): Delete.
261 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
262 (initialize_utc_base): New function.
263 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
264 (convert_from_time_t): Use initialize_utc_base; compute result with
265 64-bit arithmetic.
266 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
267
c4605e09
EZ
2682009-01-03 Eli Zaretskii <eliz@gnu.org>
269
9acef61c 270 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
271 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
272 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
273 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
274 [!subprocesses]: Define.
275 (syms_of_process) [!subprocesses]: Intern and staticpro them.
276 (Flist_system_processes, Fsystem_process_attributes)
277 [!subprocesses]: Call list_system_processes and
278 system_process_attributes instead of returning Qnil.
279
9acef61c
JB
280 * dosfns.c (system_process_attributes, list_system_processes):
281 New functions.
c4605e09
EZ
282
283 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
284
285 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
286 Don't use the default (no-op) implementation.
287
8b7d0a16
JR
2882009-01-03 Jason Rumney <jasonr@gnu.org>
289
a6d46bc1
JR
290 * keyboard.c (parse_modifiers_uncached): Wheel events are
291 clicks (bug#687).
292
8b7d0a16
JR
293 * w32term.c (x_query_colors, x_query_color): New functions.
294
295 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
296 (svg_load_image): Cast returned pointers from dynamically loaded
297 functions. Eliminate W32 specific code.
298
bfe11752
DN
2992009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
300
89e2438a
DN
301 * nsfns.m (x_set_foreground_color, x_set_background_color)
302 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
303 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
304 x_ prefix instead of ns_. Update references.
305 (syms_of_nsfns): Add a FIXME comment.
306
307 * nsterm.m (x_set_cursor_type): New prototype.
308 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
309
bfe11752
DN
310 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
311 for Solaris instead of incorrectly providing Qutime and Qcutime.
312
031da700
EZ
3132009-01-02 Eli Zaretskii <eliz@gnu.org>
314
315 * w32.c (process_times): Compute sum of utime and stime.
316 (system_process_attributes): Add Qtime to the alist.
317
318 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
319 and add them to the alist.
320
321 * process.c (top level) <Qtime, Qctime>: New variables.
322 (syms_of_process): staticpro them.
323 (Fsystem_process_attributes): Add their documentation to the doc
324 string.
325
326 * process.h: Declare Qtime and Qctime.
327
df23bf08
JR
3282009-01-02 Jason Rumney <jasonr@gnu.org>
329
9acef61c 330 * image.c (Qgobject): New symbol.
df23bf08
JR
331 (syms_of_image): Initialize it.
332 (init_svg_functions): Load some functions from gobject library.
333
5bbdf7aa
DN
3342009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
335
336 * frame.c (make_terminal_frame): Remove redundant code and useless
337 block.
338
63136da6
AS
3392009-01-01 Andreas Schwab <schwab@suse.de>
340
341 * process.c (conv_sockaddr_to_lisp): Add workaround for
342 getsockname bug on BSD.
343
9ef69046
CY
3442009-01-01 Chong Yidong <cyd@stupidchicken.com>
345
d6fafbe0
CY
346 * xfns.c (x_create_tip_frame): Set border width of the X window.
347
9ef69046
CY
348 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
349 message.
350
f9c34147
JR
3512009-01-01 Jason Rumney <jasonr@gnu.org>
352
9acef61c 353 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
354 Don't block input, as per earlier xterm.c changes.
355
f5497e45
AR
3562008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
357
358 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
359 (ns_appkit_version_int): New function.
360 (x-server-version): Use ns_appkit_version_int and follow 21+
361 convention of returning 3 integers.
362
c19cab20
KH
3632008-12-30 Kenichi Handa <handa@m17n.org>
364
365 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
366 (CHAR_SURROGATE_PAIR_P): New macro.
367
368 * font.h (struct font_driver): New member get_variation_glyphs.
369
9acef61c 370 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
371 (Ffont_variation_glyphs): New function.
372 (syms_of_font): Defsubr it.
373
374 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
375 ftfont_variation_glyphs.
376 (setup_otf_gstring): New function.
377 (ftfont_drive_otf): Use it.
378 (ftfont_shape_by_flt): Handle variation selector.
379 (ftfont_variation_glyphs): New function.
380
28cd591f
MR
3812008-12-30 Martin Rudalics <rudalics@gmx.at>
382
383 * frame.c (Vemacs_iconified): Remove.
384
7f714baf
JR
3852008-12-30 Jason Rumney <jasonr@gnu.org>
386
387 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 388 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 389
9d2d22ab
CY
3902008-12-30 Chong Yidong <cyd@stupidchicken.com>
391
392 * indent.c (Fvertical_motion): Don't advance iterator if we have
393 reseated to the desired position.
394
395 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
396 checking for pos match.
397
545312c2
KH
3982008-12-30 Kenichi Handa <handa@m17n.org>
399
1ede3eb6
KH
400 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
401 just get the low 8-bit of the code.
402
545312c2
KH
403 * font.c (font_intern_prop): Validate str as multibyte.
404
bd7bbf29
DN
4052008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
406
31e0750e
DN
407 * dispextern.h (struct face): Move lface and hash from the middle
408 of bitfields.
409
bd7bbf29
DN
410 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
411
b5672e7c
DN
4122008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
413
414 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
415 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
416 instead of intervals.h.
417
d704470f
AS
4182008-12-26 Andreas Schwab <schwab@suse.de>
419
420 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
421 cons.
422
54b33868
MR
4232008-12-26 Martin Rudalics <rudalics@gmx.at>
424
425 * textprop.c (Qminibuffer_prompt): New variable.
426 (syms_of_textprop): Initialize it.
427 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
428 in minibuffer-prompt face. (Bug#1662)
429
40b615d6
JR
4302008-12-25 Jason Rumney <jasonr@gnu.org>
431
432 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
433
baae5c2d
JR
4342008-12-24 Jason Rumney <jasonr@gnu.org>
435
436 * ralloc.c (r_alloc_reset_variable): New function.
437
438 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 439 record of what points where. (Bug#716)
baae5c2d 440
a9051c88
DN
4412008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
442
443 * minibuf.c (read_minibuf): Follow the non-interactive case when
444 running as a daemon, before detaching.
445
8b146312
AS
4462008-12-22 Andreas Schwab <schwab@suse.de>
447
448 * buffer.c (init_buffer): Use realloc instead of xrealloc.
449 * gtkutil.c (free_widget_value): Use xfree instead of free.
450
56f2de10
MR
4512008-12-22 Martin Rudalics <rudalics@gmx.at>
452
453 * frame.c (delete_frame): New function derived from
454 Fdelete_frame to handle Qnoelisp value for FORCE argument.
455 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
456 (Fdelete_frame): Call delete_frame. Remove line from doc-string
457 saying that FORCE non-nil doesn't run `delete-frame-functions'.
458 * frame.h: Extern delete_frame.
459 * window.c (window_loop):
460 * terminal.c (delete_terminal):
461 * xterm.c (x_connection_closed):
462 * xfns.c (Fx_hide_tip):
9acef61c 463 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 464
1fc200d6
JR
4652008-12-21 Jason Rumney <jasonr@gnu.org>
466
467 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
468 when character maps to .notdef character.
469
5e252df2
SM
4702008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
471
472 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
473
99b72cc4
JR
4742008-12-20 Jason Rumney <jasonr@gnu.org>
475
476 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 477 a graphical frame on Windows. (Bug#1325)
99b72cc4 478
acc49a52
JD
4792008-12-20 Jan Djärv <jan.h.d@swipnet.se>
480
481 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
482
6ea15123
CY
4832008-12-20 Chong Yidong <cyd@stupidchicken.com>
484
485 * minibuf.c (Fread_buffer): Doc fix.
486
b2dab6c8
JR
4872008-12-20 Jason Rumney <jasonr@gnu.org>
488
54ea0c87 489 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 490 server name in UNC paths. (Bug#719)
54ea0c87 491
b2dab6c8 492 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 493 charbuf. (Bug#1035)
b2dab6c8 494
6d1921be
DN
4952008-12-19 Daniel Engeler <engeler@gmail.com>
496
497 * sysdep.c (serial_configure): Fix typo.
498
53934c98
DN
4992008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
500
501 * sysdep.c: Include alloca.h.
f4f634e8
DN
502 (system_process_attributes): Add implementation for Solaris.
503
504 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 505
06e111a6
DN
5062008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
507
508 Reorganize implementation of Flist_system_processes and
509 Fsystem_process_attributes. No functional changes.
510 * process.c: Don't #include pwd.h, grp.h and limits.h.
511 (Flist_system_processes): Just call list_system_processes.
512 (Fsystem_process_attributes): Just call system_process_attributes.
513 (procfs_list_system_processes, time_from_jiffies)
514 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
515 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
516
517 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
518 (list_system_processes): Rename from
519 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
520 Provide a do nothing implementation.
521 (system_process_attributes): Rename from
522 procfs_list_system_processes.
523 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 524 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
525
526 * w32.c (list_system_processes): Rename from
527 w32_list_system_processes.
528 (system_process_attributes): Rename from
529 w32_system_process_attributes.
530
531 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
532
533 * process.h (w32_list_system_processes)
534 (w32_system_process_attributes): Remove.
535 (list_system_processes, system_process_attributes): New
536 prototypes.
537
6a705b23
KH
5382008-12-19 Kenichi Handa <handa@m17n.org>
539
540 * xfont.c (xfont_decode_coding_xlfd): New function.
541 (xfont_encode_coding_xlfd): New function.
542 (xfont_list_pattern): Decode XLFD by iso-8859-1.
543 (xfont_list): Decode and encode XLFD by iso-8859-1.
544 (xfont_match): Likewise.
545 (xfont_list_family): Likewise.
546 (xfont_open): Likewise.
547
d66c0241 548 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
549 names are utf-8.
550
d66c0241 551 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
552 names are utf-8.
553
5a130941
JD
5542008-12-18 Jan Djärv <jan.h.d@swipnet.se>
555
556 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
557 changed.
bfd20325
JD
558 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
559 clicked on a detached tool bar button.
5a130941 560
fd95644b
DN
5612008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
562
563 * emacs.c (main): Print and error and exit when no data is read
564 from the pipe.
565
e6eee6ae
JR
5662008-12-17 Jason Rumney <jasonr@gnu.org>
567
568 * w32font.c (w32font_has_char): Always return -1.
569
a35dd56b
KH
5702008-12-16 Kenichi Handa <handa@m17n.org>
571
572 * font.c (font_open_entity): Fix previous change.
573
0e3635c2
DN
5742008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
575
576 * process.c: Include <limits.h>.
577
d4835507 5782008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
579
580 * font.c (font_update_drivers): Fix mistake in reconstructing the
581 driver list.
582
5832008-12-16 Chong Yidong <cyd@stupidchicken.com>
584
585 * font.c (font_clear_cache): Fix format of font cache data.
586
e2cbc401
CY
5872008-12-15 Chong Yidong <cyd@stupidchicken.com>
588
589 * xftfont.c (xftfont_open): Free Xft font pattern if
590 XftFontOpenPattern fails.
591
592 * xterm.c (x_free_frame_resources): Remove extraneous call to
593 free_frame_faces.
594
b131d535
CY
5952008-12-13 Chong Yidong <cyd@stupidchicken.com>
596
597 * xterm.c (x_delete_display): Move xim_close_dpy call to
598 x_delete_terminal.
599 (x_delete_terminal): Call xim_close_dpy.
600
e6df5336
JR
6012008-12-13 Jason Rumney <jasonr@gnu.org>
602
603 * w32font.c (intern_font_name): New function.
604 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
605 (w32font_open_internal, Fx_select_font): Decode font name.
606 (fill_in_logfont, list_all_matching_fonts): Encode font name.
607
608 * w32font.h (intern_font_name): Declare new function.
609
610 * w32uniscribe.c (add_opentype_font_name_to_list):
611 Use intern_font_name.
612
20d68145
CY
6132008-12-13 Chong Yidong <cyd@stupidchicken.com>
614
9f2554de
CY
615 * frame.c (Fdelete_frame): Call free_font_driver_list.
616
3d9bec9a
CY
617 * font.c (free_font_driver_list): Implement missing function.
618
20d68145
CY
619 * w32term.c (w32_term_init): Don't initialize the image cache
620 here; it will be done in init_frame_faces.
621
622 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
623 (struct x_display_info): Remove unused member null_pixel. New
624 member xim_callback_data.
625
626 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
627 (xim_initialize): Save pointer to callback function data.
628 (xim_close_dpy): Free callback function data. Call XCloseIM,
629 reverting 2008-11-04 change by David Smith.
630 (x_term_init): Don't initialize the image cache here; it will be
631 done in init_frame_faces. Remove ancient "null_pixel" cruft.
632 (x_delete_display): Free x_dnd_atoms member.
633
96f9306b
KH
6342008-12-13 Kenichi Handa <handa@m17n.org>
635
6dec9044
JB
636 * font.c (font_rescale_ratio): Moved from xfaces.c.
637 Argument type changed. Handle a font-spec too.
96f9306b 638 (font_score): Check Vface_font_rescale_alist.
6dec9044 639 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
640
641 * xfaces.c (font_rescale_ratio): Moved to font.c.
642
8d5b4964
CY
6432008-12-13 Chong Yidong <cyd@stupidchicken.com>
644
645 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
646
e6df5336
JR
6472008-12-12 Jason Rumney <jasonr@gnu.org>
648
649 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
650 Vwindow_system_version to the real w32 major version.
651
97c6058a
DN
6522008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
653
654 * term.c (init_tty): Move setting the terminal name before the
655 potential user: maybe_fatal.
656
ec4e88d7
CY
6572008-12-11 Chong Yidong <cyd@stupidchicken.com>
658
d4835507
JB
659 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
660 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 661
b4233ec9
JR
6622008-12-11 Jason Rumney <jasonr@gnu.org>
663
8ec71e23 664 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 665 SYMBOL_CHARSET. (Bug#547)
8ec71e23 666
b4233ec9 667 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 668 size for surrogates. (Bug#1096, bug#872)
b4233ec9 669
011a0143
JB
6702008-12-11 Juanma Barranquero <lekktu@gmail.com>
671
672 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
673
3c309f34
JB
6742008-12-11 Juanma Barranquero <lekktu@gmail.com>
675
676 * process.c (Fsystem_process_attributes, syms_of_process):
677 Fix typo in name of Ssystem_process_attributes.
678 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
679
fedc6ab5
JB
6802008-12-11 Juanma Barranquero <lekktu@gmail.com>
681
682 * syntax.c (Fmodify_syntax_entry): Doc fix.
683
ba3de0e8
JB
6842008-12-10 Juanma Barranquero <lekktu@gmail.com>
685
686 * font.c (Ffont_spec): Move usage to end of docstring.
687
174f1c74
JR
6882008-12-10 Jason Rumney <jasonr@gnu.org>
689
690 * w32font.c (Qcham): New symbol.
691 (font_supported_scripts): Add cham, and comments for other new
692 scripts in bitfield from OpenType spec.
9d32f818
JR
693 (add_font_entity_to_list): Limit unicode-sip fonts to those that
694 contain characters beyond the bmp.
174f1c74 695
7b649478
KH
6962008-12-10 Kenichi Handa <handa@m17n.org>
697
698 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 699 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
700 Qunicode_sip.
701
2133e2d1
JB
7022008-12-10 Juanma Barranquero <lekktu@gmail.com>
703
704 * coding.c (QCdefault_char): Rename from QCdefalut_char.
705 (Fcoding_system_put): Use QCdefault_char.
706 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
707
9af886ee
CY
7082008-12-09 Chong Yidong <cyd@stupidchicken.com>
709
74d819eb
CY
710 * xftfont.c (syms_of_xftfont): Fix typo.
711
4ccfa1c0 712 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 713
7c19d3ae
DN
7142008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
715
716 * emacs.c (main): Close daemon_pipe on exec.
717
567826bb
CY
7182008-12-08 Chong Yidong <cyd@stupidchicken.com>
719
720 * termchar.h (struct tty): New members termcap_term_buffer and
721 termcap_strings_buffer.
722
723 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 724 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
725 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
726 All callers changed.
727 (init_tty): Store termcap data and string buffers in new struct
728 tty members termcap_term_buffer and termcap_strings_buffer.
729 (delete_tty): Free them.
4ccfa1c0 730 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 731
aa96c42b
SZ
7322008-12-07 Seiji Zenitani <zenitani@mac.com>
733
734 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 735 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 736
b7e1d896
CY
7372008-12-06 Chong Yidong <cyd@stupidchicken.com>
738
739 * coding.c (make_conversion_work_buffer): Disable buffer
740 modification hooks in the work buffer.
741
b5ec91a5
EZ
7422008-12-05 Eli Zaretskii <eliz@gnu.org>
743
744 * process.c (procfs_system_process_attributes): If `nread' has a
745 negative value, assign zero to it.
746
a5d2a52b
CY
7472008-12-05 Chong Yidong <cyd@stupidchicken.com>
748
68c5540b 749 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 750
7bf1bb21
KH
7512008-12-05 Kenichi Handa <handa@m17n.org>
752
753 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
754 second character is a combining character.
755
2fdc7d00
EZ
7562008-12-05 Eli Zaretskii <eliz@gnu.org>
757
758 * process.c (procfs_system_process_attributes): Don't use cmd,
759 cmdsize, and q without initializing them first.
760
bf6bfba8
JR
7612008-12-04 Jason Rumney <jasonr@gnu.org>
762
763 * w32font.c (w32font_draw): Initialize orig_clip before getting
764 it, and delete it when finished.
765
a3b1a468
DN
7662008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
767
768 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
769 case when running as a daemon before detaching.
770
8b8be8eb
JB
7712008-12-03 Juanma Barranquero <lekktu@gmail.com>
772
805f2638 773 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 774
b1bde622
KH
7752008-12-03 Kenichi Handa <handa@m17n.org>
776
e500c47d
KH
777 * font.c (font_at): Set `multibyte' at first.
778
ca516334
KH
779 * coding.c (decode_coding_charset): Check type of an element of
780 vector VALIDS.
7bf1bb21 781 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 782
4ccfa1c0 783 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
784 (font_for_char): Likewise.
785
1e5ecd37
CY
7862008-12-03 Chong Yidong <cyd@stupidchicken.com>
787
d5b01609 788 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
789 (font_update_lface): Handle fonts with corrupted size specs,
790 i.e. non-int and non-float.
d5b01609 791
11e3a6e4 792 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 793 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 794 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 795
ab06788b
CY
796 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
797
1e5ecd37 798 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 799 underline_minimum_offset for underline position.
1e5ecd37 800
63c125ab
DN
8012008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
802
803 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
804
805 * character.c (c_string_width): Specify the type for LEN.
806
3a8406e1
KH
8072008-12-03 Kenichi Handa <handa@m17n.org>
808
4ccfa1c0 809 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 810 (decode_coding_utf_8): Likewise.
4ccfa1c0 811 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 812 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 813
651df7d9
CY
8142008-12-02 Chong Yidong <cyd@stupidchicken.com>
815
816 * keyboard.c (make_lispy_position): Only use PT if the selected
817 window is current.
818
1f625c6c
AS
8192008-12-02 Andreas Schwab <schwab@suse.de>
820
f7741ce9
AS
821 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
822
1f625c6c
AS
823 * doprnt.c (doprnt1): Fix size of charbuf.
824
92bc2678
CY
8252008-12-02 Chong Yidong <cyd@stupidchicken.com>
826
827 * keyboard.c (timer_check): Revert last change.
828
93b9e8cc
JB
8292008-12-02 Juanma Barranquero <lekktu@gmail.com>
830
831 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
832
fd7a37d5
JB
8332008-12-01 Juanma Barranquero <lekktu@gmail.com>
834
835 * makefile.w32-in: Update dependencies.
836 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
837
c115043b
AS
8382008-12-01 Andreas Schwab <schwab@suse.de>
839
840 * font.c (register_font_driver): Use xmalloc.
841 (font_put_frame_data): Likewise.
842
f5668d2a
CY
8432008-12-01 Chong Yidong <cyd@stupidchicken.com>
844
860d96be
CY
845 * xfaces.c (realize_x_face): Make abort condition clearer.
846
f5668d2a
CY
847 * gtkutil.c (update_frame_tool_bar): Initialize variable.
848
379c17e7
CY
8492008-11-30 Chong Yidong <cyd@stupidchicken.com>
850
851 * keyboard.c (timer_check): After a timer runs, ensure that the
852 selected window's buffer is current.
853
35f36d65
JB
8542008-11-30 Juanma Barranquero <lekktu@gmail.com>
855
f952c61c
JB
856 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
857 It was accidentally restored by the Unicode merge.
858
35f36d65
JB
859 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
860
b23077df
JB
8612008-11-29 Juanma Barranquero <lekktu@gmail.com>
862
863 * w32proc.c: Include "coding.h".
864 (Fw32_short_file_name): Encode filename passed to Windows API.
865 (Fw32_long_file_name): Encode filename passed to Windows API and
866 decode back the result. (Bug#1433)
867
b8ebe9dd
KH
8682008-11-29 Kenichi Handa <handa@m17n.org>
869
8cc53f96
KH
870 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
871 not before accessing it.
872
b8ebe9dd
KH
873 * charset.c (Fdefine_charset_internal): After calculating
874 min_char, max_char, and fastmap, copy the charset structure again.
875 (encode_char): Fix the previous change.
876
59bc82c0
SZ
8772008-11-28 Seiji Zenitani <zenitani@mac.com>
878
879 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
880
881 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
882
883 * nsterm.m (x_set_frame_alpha): New function.
884
32247e3d
EZ
8852008-11-27 Eli Zaretskii <eliz@gnu.org>
886
887 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
888
b003e5ff
JB
8892008-11-27 Juanma Barranquero <lekktu@gmail.com>
890
891 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
892 pointer to check_face_name.
893
708550f5
KH
8942008-11-27 Kenichi Handa <handa@m17n.org>
895
896 * category.h (SET_CATEGORY_SET): Call set_category_set.
897 (set_category_set): Extern it.
898
899 * category.c (hash_get_category_set): New function.
900 (Fmodify_category_entry): Adjusted for the change of
901 char_table_ref_and_range. Call hash_get_category_set to get a
902 category set to store in the table.
903
904 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
905 Funify_charset.
906
2ae37cf0 907 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
908 (DECODE_CHAR): Check if the decoder vector is ready.
909 (ENCODE_CHAR): Check if the encoder char-table is ready.
910 (maybe_unify_char): Extern it.
911
912 * charset.c (Vchar_unified_charset_table): Delete it.
913 (inhibit_load_charset_map): New variable.
914 (temp_charset_work): New variable.
915 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
916 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
917 New macros.
918 (load_charset_map): Meaning of control_flag changed. If
919 inhibit_load_charset_map is nonzero, setup a table in
920 temp_charset_work.
921 (load_charset): New argument control_flag.
922 (map_charset_for_dump): New function.
923 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
924 map_charset_for_dump.
925 (Fdefine_charset_internal): If the charset method is MAP, load
926 mapping tables by calling load_charset.
927 (Funify_charset): Don't load a mapping table but directly set
928 Vchar_unify_table.
929 (maybe_unify_char): New function.
930 (decode_char): Don't handle the deleted method MAP_DEFERRED.
931 Handle the case of inhibit_load_charset_map being nonzero.
932 (encode_char): Don't handle the deleted method MAP_DEFERRED.
933 Handle the case of inhibit_load_charset_map being nonzero.
934 (Fclear_charset_maps): Just free temp_charset_work.
935 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
936 variable.
937
938 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
939 change of char_table_ref_and_range.
940 (char_table_ref_and_range): Change the meaning of argument FROM
941 and TO. Now the caller must provide initial values for *FROM
942 and *TO.
943
944 * fontset.c (fontset_add): Adjusted for the change of
945 char_table_ref_and_range.
946 (fontset_get_font_group): Likewise.
947 (Ffontset_info): Likewise.
948
949 * keymap.c (describe_vector): Adjusted for the change of
950 char_table_ref_and_range. For char-table, put boundary between
951 non-ASCII and 8-bit characters.
952
953 * print.c (print_object): For bool-vector, delete unnecessary
954 check of ASCII_BYTE_P.
955
9196133b
JR
9562008-11-26 Jason Rumney <jasonr@gnu.org>
957
958 * w32font.c (w32font_open_internal): Don't include external
9acef61c 959 leading in font height. (Bug#879)
9196133b 960
9f688acf
GM
9612008-11-26 Glenn Morris <rgm@gnu.org>
962
963 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
964 redefinition with ifdef. (Bug#1383)
965
90d19aff
AR
9662008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
967
968 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
969
4ccfa1c0 9702008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
971
972 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
973 New EmacsView methods.
974 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
975 Fixes bug #1048,1357,1414.
976
9772008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
978
979 Fix bug #1362.
980 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
981 is not an indexed color.
982 * nsterm.m (free_indexed_color): Add argument checking.
983 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
984
e7d5ecb3
CY
9852008-11-24 Chong Yidong <cyd@stupidchicken.com>
986
987 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
988 Document confirm-after-completion value for
989 minibuffer-completion-confirm.
990
c285743c
JR
9912008-11-24 Jason Rumney <jasonr@gnu.org>
992
993 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
994 warning.
995
b0857706
JR
9962008-11-23 Jason Rumney <jasonr@gnu.org>
997
998 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
999 restored before returning.
1000
1001 * w32font.c (check_face_name): New function.
1002 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1003 fonts. (Bug#642)
b0857706 1004
ee50ff07
MR
10052008-11-22 Martin Rudalics <rudalics@gmx.at>
1006
1007 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1008 confirm-nonexistent-file-or-buffer in doc-string.
1009
b8ff72fa
SM
10102008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1011
1012 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1013 Fix copy/paste typo. Add checks.
1014
cee53ed4
KH
10152008-11-21 Kenichi Handa <handa@m17n.org>
1016
1017 * coding.c (detect_coding_iso_2022): Reject invalid composition
1018 sequence.
1019 (DECODE_COMPOSITION_START): If the current source is the last
1020 block, and the current composition doesn't end, regard this
1021 sequence as invalid.
1022 (decode_coding_iso_2022): Handle invalid composition sequence.
1023
f6ef1e65
MR
10242008-11-20 Martin Rudalics <rudalics@gmx.at>
1025
1026 * window.c (coordinates_in_window): Don't return
1027 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1028 line when the window is not the rightmost one. (Bug#1372)
1029
e08b1705
MR
10302008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1031
1032 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1033
ad98e89f
EZ
10342008-11-15 Eli Zaretskii <eliz@gnu.org>
1035
1036 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1037 and bright_bg if noninteractive is non-zero.
1038
fb098a4b
CY
10392008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1040
1041 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1042 x_draw_glyph_string_background.
1043
1044 * w32term.c (x_draw_glyph_string): Likewise.
1045
ce952b6e
CY
10462008-11-15 Chong Yidong <cyd@stupidchicken.com>
1047
1048 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1049 the next glyph string once past the overhang width.
1050
1051 * nsterm.m (ns_draw_glyph_string): Likewise.
1052
1053 * w32term.c (x_draw_glyph_string): Likewise.
1054
26ea7079
CY
10552008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1056
1057 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1058 double file close.
1059
1c33c906
MR
10602008-11-14 Martin Rudalics <rudalics@gmx.at>
1061
1062 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1063 dedicated status of window before attempting to display another
1064 buffer in it.
1065
8fc29035
JB
10662008-11-14 Juanma Barranquero <lekktu@gmail.com>
1067
1068 * msdos.c (Fmsdos_long_file_names):
1069 (syms_of_msdos) <dos-unsupported-char-glyph>:
1070 * dosfns.c (Fint86): Fix typos in docstrings.
1071
55fb4286
EZ
10722008-11-14 Eli Zaretskii <eliz@gnu.org>
1073
1074 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1075
3fda0315
KY
10762008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1077
1078 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1079
7e849c17
CY
10802008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1081
1082 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1083
1084 * frame.h: Negative alpha means "don't touch".
1085
1086 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1087
1088 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1089
b9fd67bd
DN
10902008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1091
1092 * hftctl.c:
1093 * chpdef.h:
1094 * acldef.h: Remove files used only for systems no longer supported.
1095
1096 * Makefile.in: Fix .o alphabetical ordering.
1097 (hftctl.o): Remove dependency, file removed.
1098 (keymap.o, print.o): Depend on charset.h.
1099
d5998e03
KH
11002008-11-10 Kenichi Handa <handa@m17n.org>
1101
2ae37cf0 1102 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1103
be70e183
CY
11042008-11-08 Chong Yidong <cyd@stupidchicken.com>
1105
1106 * dired.c (file_name_completion): If completion_ignore_case is
1107 enabled, ignore case when checking completion-regexp-list.
1108
7cf94eac
EZ
11092008-11-08 Eli Zaretskii <eliz@gnu.org>
1110
1111 * vm-limit.c (get_lim_data): Fix last change.
1112
ee107a89
KH
11132008-11-08 Kenichi Handa <handa@m17n.org>
1114
1115 * character.c (Fget_byte): New function.
1116 (syms_of_character): Defsubr Fget_byte.
1117
5fd15622
CY
11182008-11-07 Chong Yidong <cyd@stupidchicken.com>
1119
1120 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1121 cursor position is valid after scrolling.
1122
13d62fad
JB
11232008-11-06 Juanma Barranquero <lekktu@gmail.com>
1124
1125 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1126
a1dd2936
GM
11272008-11-06 Glenn Morris <rgm@gnu.org>
1128
1129 * xterm.c (handle_one_xevent): Don't let popup menus cause
1130 mouse-autoselect-window related window switching. (Bug#1261)
1131
860cd236
CY
11322008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1133
1134 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1135
653a3150
AS
11362008-11-04 Andreas Schwab <schwab@suse.de>
1137
1138 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1139
870f5cac
CY
11402008-11-03 Chong Yidong <cyd@stupidchicken.com>
1141
1142 * xfns.c (Fx_wm_set_size_hint): New function.
1143
1e02f3cb
MR
11442008-11-03 Martin Rudalics <rudalics@gmx.at>
1145
1146 * textprop.c (Fprevious_single_char_property_change): Return 0
1147 when there's no change in a string. (Bug#1301)
1148
e630dfc6
MR
11492008-11-02 Martin Rudalics <rudalics@gmx.at>
1150
1151 * frame.c (do_switch_frame): New argument NORECORD passed to
1152 Fselect_window.
1153 (Fselect_frame): New argument NORECORD passed to
1154 do_switch_frame.
1155 (Fset_frame_selected_window): New argument NORECORD passed to
1156 Fselect_frame.
1157 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1158 in call of do_switch_frame.
1159 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1160 Handle NORECORD argument in call of Fselect_frame.
1161 * lisp.h (do_switch_frame, Fselect_frame)
1162 (Fset_frame_selected_window): Adjust declarations.
1163 * window.c (select_frame_norecord): New function.
1164 (run_window_configuration_change_hook): Use it and call
1165 Fselect_frame with NORECORD set.
1166 (Fselect_window): Pass NORECORD to Fselect_frame.
1167 (Fset_window_configuration): Handle NORECORD argument in call of
1168 do_switch_frame.
1169 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1170 Fset_frame_selected_window.
1171 * keyboard.c (command_loop_1): Handle NORECORD in call of
1172 Fselect_frame (currently ifdefd).
1173
9020b223
GM
11742008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1175
1176 * emacs.c (USAGE2): Untabify.
1177
793ffee8
SM
11782008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1179
1180 * composite.c (fill_gstring_header): Fix copy/paste typo.
1181
ab6d1131
MR
11822008-10-31 Martin Rudalics <rudalics@gmx.at>
1183
1184 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1185 (Fother_window): Rename argument and rewrite doc-string.
1186 (select_window_norecord): Fix return value. (Bug#1276)
1187
601a9cf1
JB
11882008-10-30 Juanma Barranquero <lekktu@gmail.com>
1189
1190 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1191 new frames overriding foreground for tooltips. Based on similar patch
1192 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1193
813b0652
CY
11942008-10-29 Chong Yidong <cyd@stupidchicken.com>
1195
1196 * emacs.c (Fdaemon_initialized): Initialize nfd.
1197
4414f58f
MR
11982008-10-29 Martin Rudalics <rudalics@gmx.at>
1199
1200 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1201 (Fwindow_text_height): Clarify doc-strings.
1202 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1203 doc-string of window-scroll-functions.
1204
ecdcaa09
RS
12052008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1206
1207 * category.c (syms_of_category): Fix typo in docstring.
1208
23fe745a
JB
12092008-10-28 Juanma Barranquero <lekktu@gmail.com>
1210
1211 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1212 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1213 Fix typos in docstrings.
1214
ff808935
DN
12152008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1216
1217 * emacs.c (daemon_pipe): Make non-static.
1218 (IS_DAEMON): Move definition ...
1219 * lisp.h (IS_DAEMON): ... here.
1220 (daemon_pipe): Declare.
1221 (is_daemon): Remove.
1222 * dispnew.c (init_display): Use IS_DAEMON.
1223
fc012771
SM
12242008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1225
1226 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1227 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1228
1229 * emacs.c (is_daemon): Remove.
1230 (main): Don't set is_daemon.
1231 (IS_DAEMON): New macro.
1232 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1233 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1234 parent exits.
1235 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1236
d8bdbe6f
CY
12372008-10-27 Chong Yidong <cyd@stupidchicken.com>
1238
d1a072bf
CY
1239 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1240 over-sized glyph, draw it with the default glyph width.
1241
e2e325aa
CY
1242 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1243 glyph, draw it with the default glyph width.
1244
1245 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1246 glyph, draw it with the default glyph width.
1247
d8bdbe6f
CY
1248 * xdisp.c (try_scrolling): When computing the distance from the
1249 scroll margin to PT, try moving some distance past the window
1250 bottom before giving up.
1251
7bfac547
MR
12522008-10-27 Martin Rudalics <rudalics@gmx.at>
1253
1254 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1255 (Fset_window_buffer): Explain in doc-string that a window can be
1256 "strongly" dedicated to its buffer.
1257
4ff029f6
DN
12582008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1259
1260 * emacs.c (daemon_name): New variable.
1261 (main): Deal with --daemon=SERVER_NAME.
1262 (Fdaemonp): Return a name if one was passed to --daemon.
1263
5790ef40
DN
12642008-10-26 Romain Francoise <romain@orebokech.com>
1265
f9bd0df9 1266 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1267 (main): Create a pipe before forking, make the parent exit only after
1268 the child has closed its end of the pipe. Move closing the
1269 descriptors ...
1270 (Fdaemon_initialized): ... here. New function.
1271
f5385255
SM
12722008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1273
4d632321
SM
1274 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1275 the previous unoptimized table.
1276
f5385255
SM
1277 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1278 the distinction between non-nil and non-t value of `dedicated'.
1279
6c56a0f3
CY
12802008-10-25 Chong Yidong <cyd@stupidchicken.com>
1281
1282 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1283 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1284
fec89261
MR
12852008-10-25 Martin Rudalics <rudalics@gmx.at>
1286
1287 * window.c (Fget_buffer_window, Fdelete_windows_on)
1288 (Freplace_buffer_in_windows): Make buffer argument optional and
1289 rename to buffer_or_name.
1290
34fcddd0
CY
12912008-10-24 Chong Yidong <cyd@stupidchicken.com>
1292
f5385255
SM
1293 * xdisp.c (handle_single_display_spec, handle_display_prop):
1294 Undo 2005-05-16 change.
34fcddd0
CY
1295 (handle_stop): Pop iterator if it's loaded with an empty string.
1296 (get_overlay_strings_1): Don't save iterator if it's loaded with
1297 an empty string (bug#1201).
1298
064766f2
KH
12992008-10-24 Kenichi Handa <handa@m17n.org>
1300
1301 * ftfont.c (ftfont_otf_features): Fix previous change.
1302 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1303 calling ftfont_otf_features.
1304
f9bd0df9 13052008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1306
1307 * font.c (font_match_p): Fix for the case that a vector of
1308 characters is in script-representative-chars.
1309
1dae9197
MA
13102008-10-24 Michael Albinus <michael.albinus@gmx.de>
1311
1312 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1313 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1314 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1315 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1316 macro. (Bug#1186).
1317
f9bd0df9 13182008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1319
1320 * s/sol2-10.h: New file.
1321
878a4584
JB
13222008-10-23 Juanma Barranquero <lekktu@gmail.com>
1323
1324 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1325 poor beast has survived 9+ years and the jump from xterm.c!).
1326
cd265ca6
MR
13272008-10-23 Martin Rudalics <rudalics@gmx.at>
1328
1329 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1330 Reword doc-string.
f5385255 1331 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1332
472a4dc9
JB
13332008-10-23 Juanma Barranquero <lekktu@gmail.com>
1334
1335 * character.c (syms_of_character) <script-representative-chars>:
1336 <unicode-category-table>: Doc fixes.
1337
159bd5a2
NF
13382008-10-23 Noah Friedman <friedman@splode.com>
1339
1340 * coding.c (make_conversion_work_buffer): Check that
1341 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1342 Fget_buffer_create.
1343
49f9c344
KH
13442008-10-23 Kenichi Handa <handa@m17n.org>
1345
1346 * font.c (font_add_log): Check the values of extra properties.
1347
12bb3111
MR
13482008-10-22 Martin Rudalics <rudalics@gmx.at>
1349
1350 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1351 Reword doc-string.
1352 (Fset_window_parameter): Use NILP.
1353 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1354 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1355
bbeb4e99
JB
13562008-10-22 Juanma Barranquero <lekktu@gmail.com>
1357
1358 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1359
13602008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1361
1362 * nsfns.m (ns_appkit_version): New function.
1363 (x-server-version): Use it.
1364 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1365 (x-server-vendor): Don't check_ns().
1366
1367 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1368
a9b555d3
JB
13692008-10-22 Juanma Barranquero <lekktu@gmail.com>
1370
1371 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1372 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1373
4626499f
KH
13742008-10-22 Kenichi Handa <handa@m17n.org>
1375
e3681952
KH
1376 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1377 scripts.
1378
4626499f
KH
1379 * category.c (word_boundary_p): Check scripts instead of charset.
1380 Handle nil value in word-separating-categories and
1381 word-combining-categories.
1382 (syms_of_category): Fix docstrings of word-separating-categories
1383 and word-combining-categories.
1384
1560f91a
EZ
13852008-10-21 Eli Zaretskii <eliz@gnu.org>
1386
1387 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1388 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1389
f4668441
MR
13902008-10-21 Martin Rudalics <rudalics@gmx.at>
1391
1392 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1393 Rename arg "buffer" to "buffer_or_name".
1394 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1395 it optional.
1396 (no_switch_window): Remove since the return value is not used.
a9b555d3 1397 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1398 Consider window as dedicated when Fwindow_dedicated_p returns a
1399 non-nil value.
1400 * lisp.h: Remove prototype for no_switch_window.
1401
fd75ddb2
JD
14022008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1403
1404 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1405 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1406
07295713
KH
14072008-10-21 Kenichi Handa <handa@m17n.org>
1408
1409 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1410 check Vlatin_extra_code_table.
1411
712adc82
EZ
14122008-10-20 Eli Zaretskii <eliz@gnu.org>
1413
1414 * fileio.c (Fset_file_modes): Doc fix.
1415
f549eb0b
MA
14162008-10-19 Michael Albinus <michael.albinus@gmx.de>
1417
1418 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1419 in arrays.
1420
aac0c6e3
MR
14212008-10-19 Martin Rudalics <rudalics@gmx.at>
1422
1423 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1424 Mention kill-buffer in doc-string.
1425 (Fset_window_buffer): Reinsert tem check removed in last commit.
1426 (Fenlarge_window, Fshrink_window): Have argument names and
1427 doc-string follow Elisp manual more closely.
1428
14292008-10-18 Eli Zaretskii <eliz@gnu.org>
1430
1431 * fileio.c (Fset_file_modes): Doc fix.
1432
14332008-10-18 Martin Rudalics <rudalics@gmx.at>
1434
1435 * window.c (Fwindow_width, Fset_window_start)
1436 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1437 (Fdelete_windows_on, Freplace_buffer_in_windows):
1438 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1439 (Fwindow_dedicated_p): Make window argument optional.
1440 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1441 (Fset_window_buffer): Respect any non-nil dedicated value for
1442 window. Rename "buffer" argument to "buffer_or_name".
1443
14442008-10-18 Ulrich Mueller <ulm@gentoo.org>
1445
1446 * m/sh3.h: New file, machine description for SuperH.
1447
14482008-10-17 Martin Rudalics <rudalics@gmx.at>
1449
1450 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1451
14522008-10-17 Kenichi Handa <handa@m17n.org>
1453
1454 * ftfont.c (ftfont_otf_features): Fix indexing
1455 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1456
14572008-10-16 Magnus Henoch <mange@freemail.hu>
1458
1459 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1460 (Fdbus_call_method_asynchronously): Ditto.
1461 This change makes C-h f display the argument list.
1462
14632008-10-16 Chong Yidong <cyd@stupidchicken.com>
1464
1465 * fileio.c (Fexpand_file_name): Doc fix.
1466
1467 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1468 of :foreground and :background equivalent to unspecified (20.x
1469 compatibility).
1470
14712008-10-15 Eli Zaretskii <eliz@gnu.org>
1472
1473 * buffer.c (syms_of_buffer): Doc fix.
1474
14752008-10-14 Kenichi Handa <handa@m17n.org>
1476
1477 * font.c (font_clear_prop): When clearing font width, clear the
1478 average width field too.
1479
14802008-10-12 Andreas Schwab <schwab@suse.de>
1481
1482 * ftfont.c (ftfont_shape_by_flt): Make static.
1483 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1484
1485 * font.c: Don't include <m17n-flt.h>.
1486
14872008-10-10 Eli Zaretskii <eliz@gnu.org>
1488
1489 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1490
14912008-10-09 Eli Zaretskii <eliz@gnu.org>
1492
1493 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1494 away code.
1495
14962008-10-09 Chong Yidong <cyd@stupidchicken.com>
1497
1498 * dispnew.c (update_text_area): Avoid looping due to large glyph
1499 overhangs (bug#1070).
1500
15012008-10-09 Kenichi Handa <handa@m17n.org>
1502
1503 * fontset.c (face_for_char): If face->fontset is negative, just
1504 return ascii_face.
1505
f5385255
SM
1506 * font.c (font_delete_unmatched): Fix previous change.
1507 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1508
15092008-10-09 Martin Rudalics <rudalics@gmx.at>
1510
1511 * frame.c (Fraise_frame): On text-only terminals select frame in
1512 order to make it visible. (Bug#1061)
1513
15142008-10-08 Chong Yidong <cyd@stupidchicken.com>
1515
1516 * fontset.c (fontset_find_font): Check frame validity.
1517
15182008-10-07 Chong Yidong <cyd@stupidchicken.com>
1519
a9b555d3 1520 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1521 (xg_display_close): Allow Emacs to close all displays (bug#985).
1522
15232008-10-06 Andreas Schwab <schwab@suse.de>
1524
f5385255 1525 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1526
15272008-10-06 Chong Yidong <cyd@stupidchicken.com>
1528
f5385255 1529 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1530
a9b555d3 1531 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1532
1533 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1534 during initialization.
1535
15362008-10-04 Eli Zaretskii <eliz@gnu.org>
1537
1538 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1539 whole thing on MSDOS frames as well as on a TTY.
1540
1541 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1542 well as for TTY.
1543 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1544 well as on a TTY.
1545
1546 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1547 as well as for TTY.
1548
1549 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1550
1551 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1552 MSDOS frames as well.
1553
15542008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1555
1556 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1557 correct arguments.
1558 * menu.c (find_and_return_menu_selection) Add cast.
1559
15602008-10-03 Glenn Morris <rgm@gnu.org>
1561
1562 * emacs.c (USAGE1): Add --daemon.
1563
15642008-10-02 Eli Zaretskii <eliz@gnu.org>
1565
1566 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1567 100, so it's in percents as advertised.
1568
15692008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1570
1571 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1572 (ns_output.current_cursor, ns_output.desired_cursor)
1573 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1574 (FRAME_NEW_CURSOR_COLOR): Remove.
1575
1576 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1577 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1578 enumeration (HOLLOW_BOX_CURSOR, etc.).
1579
1580 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1581 (draw_window_cursor): Simplify code.
f5385255
SM
1582 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1583 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1584 updates manually.
a9b555d3
JB
1585 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1586 Use core Emacs cursor types.
aac0c6e3 1587
b8ff72fa 1588 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1589
15902008-10-02 Martin Rudalics <rudalics@gmx.at>
1591
1592 * process.c (Faccept_process_output): Fix doc-string.
1593
15942008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1595
1596 * gmalloc.c (__sbrk): Also define for uClibc.
1597
1598 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1599 for uClibc.
1600
16012008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1602
1603 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1604 styles.
1605 (nsfont_open): Reenable the cache.
1606
16072008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1608
1609 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1610 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1611
16122008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1613
1614 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1615 a suspended terminal.
1616
16172008-09-30 Michael Albinus <michael.albinus@gmx.de>
1618
1619 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1620
16212008-09-30 Eli Zaretskii <eliz@gnu.org>
1622
1623 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1624
16252008-09-30 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1628 in a continued line coincides with a line beginning.
1629
16302008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1631
1632 * nsfont.m (nsfont_trait_distance): Fix bug.
1633 (nsfont_list): Return a list rather than a vector (syncs with Handa
1634 changes of 2008-05-14).
1635 (nsfont_open): Improve logging.
1636
16372008-09-29 Andreas Schwab <schwab@suse.de>
1638
1639 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1640
16412008-09-28 Martin Rudalics <rudalics@gmx.at>
1642
1643 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1644 name as char-resolve-modifiers.
1645 Reported by: Markus Triska <markus.triska@gmx.at>
1646
16472008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1648
1649 * dispnew.c (init_display): Return earlier when running as a daemon.
1650
16512008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1652
1653 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1654
16552008-09-27 Eli Zaretskii <eliz@gnu.org>
1656
1657 * composite.c (Fcomposition_get_gstring)
1658 (Fcompose_region_internal, Fcompose_string_internal)
1659 (Ffind_composition_internal): Doc fix.
1660 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1661 (syms_of_composite) <auto-composition-function>: Doc fix.
1662 (syms_of_composite) <composition-function-table>: Doc fix.
1663
16642008-09-25 Chong Yidong <cyd@stupidchicken.com>
1665
1666 * search.c (wordify): New argument for lax word-ends.
1667 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1668
16692008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1670
1671 * lisp.h (is_daemon): Declare.
1672 * dispnew.c (init_display): Do not try to initialize the terminal
1673 when running as a daemon.
1674
16752008-09-22 Chong Yidong <cyd@stupidchicken.com>
1676
1677 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1678 x_display_pixel_height.
1679
16802008-09-22 Martin Rudalics <rudalics@gmx.at>
1681
1682 * undo.c (record_point): Don't call Fundo_boundary for first
1683 change. (Bug#731)
1684
16852008-09-22 Juanma Barranquero <lekktu@gmail.com>
1686
1687 * emacs.c (Fdaemonp): Doc fix.
1688
16892008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1690
1691 * emacs.c (main): Place #ifdef in the proper place.
1692
16932008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1694
1695 * emacs.c (standard_args): Add --daemon.
1696 (main): Disconnect from the terminal when --daemon is passed.
1697 (is_daemon): New variable.
1698 (Fdaemonp): New function.
1699 (syms_of_emacs): Defsubr it.
1700
17012008-09-20 Chong Yidong <cyd@stupidchicken.com>
1702
1703 * xdisp.c (get_next_display_element): Handle string display
1704 correctly when checking for the end of a box run.
1705
17062008-09-20 Glenn Morris <rgm@gnu.org>
1707
1708 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1709 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1710 (Frename_file): Avoid copying to trash if a rename involves
1711 a delete. (Bug#964).
1712
17132008-09-20 Eli Zaretskii <eliz@gnu.org>
1714
1715 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1716 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1717 frames as well as termcap frames.
1718 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1719 get_named_tty.
1720
17212008-09-19 Eli Zaretskii <eliz@gnu.org>
1722
1723 * process.c (procfs_system_process_attributes): Fix cmdline in
1724 case /proc/PID/cmdline is empty.
1725
1726 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1727 x_display_pixel_height.
1728
17292008-09-19 Juanma Barranquero <lekktu@gmail.com>
1730
1731 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1732
1733 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1734 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1735
17362008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1737
1738 * dispextern.h (struct it): Move line_wrap away from the middle of
1739 bitfields. Move voffset in struct iterator_stack_entry after the
1740 bitfields. Move tab_width near after another short.
1741
17422008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1743
1744 * frame.h (struct frame): Move alpha from the middle of bitfields.
1745
1746 * window.h (struct window): Move frozen_window_start_p after the
1747 rest of the bitfields to reduce padding.
1748
17492008-09-18 Chong Yidong <cyd@stupidchicken.com>
1750
1751 * xterm.h (x_display_info): Remove `height' and `width' members.
1752
1753 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1754
1755 * w32term.h (w32_display_info): Remove `height', `width',
1756 `height_in', and `width_in' members.
1757
b8ff72fa
SM
1758 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1759 New functions.
aac0c6e3
MR
1760 (x_calc_absolute_position): Use them.
1761 (x_term_init): Omit removed `height' and `width' members.
1762
b8ff72fa
SM
1763 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1764 New functions.
aac0c6e3
MR
1765 (w32_read_socket, x_calc_absolute_position): Use them.
1766 (w32_initialize_display_info, w32_term_init): Omit removed members
1767 of w32_display_info.
1768
b8ff72fa
SM
1769 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1770 New functions.
1771 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1772
b8ff72fa
SM
1773 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1774 New functions.
aac0c6e3
MR
1775 (x_calc_absolute_position): Use them.
1776 (x_term_init): Omit removed `height' and `width' members.
1777
1778 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1779 (compute_tip_xy):
1780 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1781 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1782 x_display_pixel_width.
1783
17842008-09-18 Kenichi Handa <handa@m17n.org>
1785
1786 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1787 (composition_compute_stop_pos): Fix handling of static composition.
1788 (Fcomposition_get_gstring): Check FROM and TO at first.
1789
17902008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1791
1792 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1793 mixup (YAILOM).
1794
17952008-09-17 Chong Yidong <cyd@stupidchicken.com>
1796
1797 * indent.c (Fvertical_motion): Use position reported by iterator
1798 instead of PT for determining screen motion (bug#943).
1799
18002008-09-17 Romain Francoise <romain@orebokech.com>
1801
1802 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1803
18042008-09-17 Kenichi Handa <handa@m17n.org>
1805
1806 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1807
1808 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1809 if necessary.
1810
18112008-09-16 Kenichi Handa <handa@m17n.org>
1812
1813 * coding.c (make_conversion_work_buffer): Avoid calling
1814 Fget_buffer_create if it is not necessary.
1815
18162008-09-15 Martin Rudalics <rudalics@gmx.at>
1817
1818 * window.c (Fselect_window): Don't update window_select_count and
1819 use_time when norecord is not nil.
1820
18212008-09-14 Kenichi Handa <handa@m17n.org>
1822
1823 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1824 specpdl_ptr.
1825
18262008-09-12 Kenichi Handa <handa@m17n.org>
1827
1828 * indent.c (scan_for_column): Don't handle automatic composition
1829 if the current buffer is not associated with a window.
1830
1831 * composite.c (composition_reseat_it): If the current buffer is
1832 not associated with a window, ignore the automatic composition.
1833 (find_automatic_composition): Likewise.
1834
18352008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1836
1837 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1838 (Fgpm_mouse_stop): Use it.
1839 * termhooks.h (close_gpm): Declare.
1840 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1841 connection if Gpm_GetEvent fails.
1842
1843 * window.c (set_window_buffer): Always preserve current-buffer.
1844
18452008-09-12 Glenn Morris <rgm@gnu.org>
1846
1847 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1848
18492008-09-11 Glenn Morris <rgm@gnu.org>
1850
1851 * charset.c (charset-map-path): Doc fix.
1852
18532008-09-10 Kenichi Handa <handa@m17n.org>
1854
1855 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
1856
1857 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
1858 compose a grapheme cluster with the preceding base glyph.
1859
1860 * composite.c (composition_compute_stop_pos): Fix previous change.
1861 Reset cmp_it->id to -1 at first.
1862
18632008-09-10 Glenn Morris <rgm@gnu.org>
1864
1865 * Makefile.in (character.o, chartab.o): Fix config.h typo.
1866
18672008-09-09 Chong Yidong <cyd@stupidchicken.com>
1868
1869 * keyboard.c (read_key_sequence): Reapply translation maps when
1870 switching keyboards.
1871
18722008-09-09 Kenichi Handa <handa@m17n.org>
1873
1874 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
1875 characters.
1876
1877 * composite.c (FORWARD_CHAR): Fix calculation
1878 of (POSITION).pos_byte.
1879 (composition_compute_stop_pos): Limit the search of composition to
1880 at most 500 characters ahead. If we reach the limit or find a
1881 newline, set cmp_it->ch to -2 and return 0.
1882 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
1883
18842008-09-08 Kenichi Handa <handa@m17n.org>
1885
1886 * indent.c (Fvertical_motion): Be sure to set
1887 it_overshoot_expected if it.cmp_it.id is non-negative.
1888
18892008-09-07 Andreas Schwab <schwab@suse.de>
1890
1891 * callproc.c (Fcall_process): Don't hold references to string data
1892 across garbage collection. Move initialisation of new_argv down
1893 to avoid compiler bug.
1894
18952008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1896
1897 * process.c (Fsystem_process_attributes): Doc fix.
1898
18992008-09-07 Chong Yidong <cyd@stupidchicken.com>
1900
1901 * callproc.c (Fcall_process): Canonicalize current directory name.
1902
1903 * xdisp.c (move_it_to): When moving by vpos, ensure that the
1904 iterator advances to the next line if the current line ends in a
1905 continued tab.
1906
19072008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
1908
1909 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
1910 member to point to cmp_from.
1911
1912 * xdisp.c: Doc fix for references to gidx data member.
1913
19142008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1915
1916 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
1917
19182008-09-07 Kenichi Handa <handa@m17n.org>
1919
1920 * composite.c (FORWARD_CHAR): Check STOP after
1921 incrementing (POSITION).pos.
1922
19232008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
1924
1925 * process.c (Fsystem_process_attributes): Doc fix.
1926
19272008-09-06 Chong Yidong <cyd@stupidchicken.com>
1928
1929 * keyboard.c (Ftop_level): Doc fix.
1930
19312008-09-06 Eli Zaretskii <eliz@gnu.org>
1932
1933 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
1934 minibuffer, don't let lower part of menu invade the echo area.
1935
1936 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
1937 "char *q" to access menu text and advance through it. Revert the
1938 change that displayed ">" instead of ASCII character 0x10.
1939
19402008-09-05 Eli Zaretskii <eliz@gnu.org>
1941
1942 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
1943 toggle boxes and radio buttons on MS-DOS as well.
1944
19452008-09-05 Kenichi Handa <handa@m17n.org>
1946
1947 * composite.c (autocmp_chars): Check lookback count.
1948 (composition_compute_stop_pos): Set cmp_it->lookback.
1949 (composition_reseat_it): Check lookback count.
1950 (struct position_record): New struct.
1951 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
1952 (find_automatic_composition): New function.
1953 (composition_adjust_point): Use find_automatic_composition.
1954
1955 * dispextern.h (struct composition_it): New member lookback.
1956
19572008-09-02 Chong Yidong <cyd@stupidchicken.com>
1958
1959 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
1960 if moving by a single line.
1961
19622008-09-02 Andreas Schwab <schwab@suse.de>
1963
1964 * xterm.c (x_delete_display): Fix merge error.
1965
1966 * fileio.c (Fexpand_file_name): Remove unused variables.
1967
19682008-09-02 Eli Zaretskii <eliz@gnu.org>
1969
1970 * fileio.c (Fexpand_file_name): Copy argument `name' into local
1971 storage on all platforms, not just on DOS_NT.
1972
19732008-09-02 Jason Rumney <jasonr@gnu.org>
1974
b8ff72fa
SM
1975 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
1976 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
1977
19782008-09-01 Chong Yidong <cyd@stupidchicken.com>
1979
1980 * xfaces.c (Finternal_set_alternative_font_family_alist)
1981 (Finternal_set_alternative_font_registry_alist): Properly copy
1982 entire alist structure.
1983
19842008-09-01 Kenichi Handa <handa@m17n.org>
1985
d66c0241 1986 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 1987 representative chars of the script is a vector.
d66c0241
JB
1988 (ftfont_list): Handle the case where the representative chars of
1989 the script is a vector.
aac0c6e3
MR
1990
1991 * character.c (syms_of_character): Docstring of
1992 script-representative-chars fixed.
1993
19942008-08-31 Eli Zaretskii <eliz@gnu.org>
1995
1996 * msdos.c (BUILD_CHAR_GLYPH): New macro.
1997 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
1998 the menu. Allocate larger buffer for `text', to account for
1999 possible ^C characters.
2000
20012008-08-31 Martin Rudalics <rudalics@gmx.at>
2002
2003 * xdisp.c (prepare_menu_bars): Don't call
2004 Vwindow_size_change_functions with arg Qt.
2005
20062008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2007
2008 * font.h (font_range):
2009 * fileio.c (report_file_error):
2010 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2011
20122008-08-30 Glenn Morris <rgm@gnu.org>
2013
2014 * data.c (Fmake_variable_frame_local): Doc fix.
2015
2016 * frame.c (Fmodify_frame_parameters): Doc fix.
2017
20182008-08-30 Eli Zaretskii <eliz@gnu.org>
2019
2020 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2021 needed by GetTokenInformation.
2022 (w32_system_process_attributes): Check return values of all system
2023 APIs.
2024
2025 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2026 only when the state changes.
2027 (IT_update_begin, IT_update_end): Add termscript trace.
2028
2029 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2030 clipboard is unavailable. Set dst to NULL if it doesn't point to
2031 malloc'ed data.
2032 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2033 passing random values to xfree.
2034
2035 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2036 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2037
20382008-08-29 Jason Rumney <jasonr@gnu.org>
2039
2040 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2041
20422008-08-29 Eli Zaretskii <eliz@gnu.org>
2043
2044 * composite.c (fill_gstring_body): Avoid compiler warnings.
2045
2046 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2047 LGLYPH_SET_CODE to avoid compiler warnings.
2048
2ae37cf0 2049 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2050
2051 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2052
2053 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2054 LGLYPH_SET_CODE.
2055
20562008-08-29 Kenichi Handa <handa@m17n.org>
2057
2058 * fileio.c (report_file_error): Don't downcase the first character
2059 of errstring if it is still unibyte.
2060
20612008-08-29 Kenichi Handa <handa@m17n.org>
2062
2063 These changes are to re-implement the automatic composition so
2064 that it doesn't use text properties.
2065
2066 * Makefile.in (ftfont.o): Depend on composite.h.
2067 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2068
2069 * character.h (Vunicode_category_table): Extern it.
2070
2071 * character.c (Vunicode_category_table): New variable.
2072 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2073
2074 * chartab.c (optimize_sub_char_table): Perform more greedy
2075 optimization.
2076
b8ff72fa
SM
2077 * composite.h (enum composition_method):
2078 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2079 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2080 (Vcomposition_function_table): Extern it.
2081 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2082 (composition_gstring_put_cache, composition_gstring_from_id)
2083 (composition_gstring_p, composition_gstring_width)
2084 (composition_compute_stop_pos, composition_reseat_it)
2085 (composition_update_it, composition_adjust_point): Extern them.
2086 (Fcomposition_get_gstring): EXFUN it.
2087
d66c0241 2088 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2089 (Vcomposition_function_table)
2090 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2091 (gstring_hash_table, gstring_work, gstring_work_headers):
2092 New variables.
aac0c6e3
MR
2093 (gstring_lookup_cache, composition_gstring_put_cache)
2094 (composition_gstring_from_id, composition_gstring_p)
2095 (composition_gstring_width, fill_gstring_header)
2096 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2097 (composition_reseat_it, composition_update_it)
b8ff72fa 2098 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2099 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2100 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2101 Defsubr compostion_get_gstring.
2102
2103 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2104 cmp_id.
2105 (struct glyph_string): Delete the member gidx. New members
2106 cmp_id, cmp_from, and cmp_to.
2107 (enum it_method): Delete GET_FROM_COMPOSITION.
2108 (struct composition_it): New struct.
2109 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2110 Delete c, len, cmp_id, cmp_len in u.comp.
2111
2112 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2113 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2114 (enum lglyph_indices): Likewise.
b8ff72fa 2115 (font_range): Adjust extern.
aac0c6e3
MR
2116 (font_fill_lglyph_metrics): Extern it.
2117
2118 * font.c (QCf): New variable.
2119 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2120 (font_prepare_composition): Delete this function.
2121 (font_range): Type and arguments changed.
2122 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2123 (font_fill_lglyph_metrics): New function.
b8ff72fa 2124 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2125 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2126 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2127 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2128
2129 * fontset.h (font_for_char): Extern it.
2130
2131 * fontset.c (font_for_char): New function.
2132
2133 * ftfont.c: Include composite.h.
2134 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2135 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2136
2137 * indent.c: Include composite.h and dispextern.h.
2138 (check_composition): Delete this function.
2139 (scan_for_column): Handle composition by
2140 composition_compute_stop_pos, composition_reseat_it, and
2141 composition_update_it.
2142 (compute_motion): Likewise.
2143 (Fvertical_motion): Fix checking of composition.
2144
2145 * keyboard.c (adjust_point_for_property): Check composition by
2146 composition_adjust_point.
2147
b8ff72fa 2148 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2149 struct glyph_string.
2150
b8ff72fa
SM
2151 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2152 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2153 struct glyph.
2154 (produce_composite_glyph): Likewise.
2155
b8ff72fa
SM
2156 * w32term.c (x_draw_composite_glyph_string_foreground):
2157 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2158 (x_draw_glyph_string): Likewise.
2159
2160 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2161 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2162
2163 * xdisp.c: Include font.h.
2164 (it_props): Delete the entry for Qauto_composed.
2165 (init_iterator): Initialize it->cmp_it.id to -1.
2166 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2167 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2168 (handle_auto_composed_prop): Delete it.
2169 (handle_composition_prop): Handle only static composition.
2170 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2171 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2172 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2173 (pop_it): Likewise.
2174 (get_next_element): Delete next_element_from_composition.
2175 (CHAR_COMPOSED_P): New macro.
2176 (get_next_display_element): For automatic composition, get a face
2177 from the font in the glyph-string.
2178 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2179 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2180 (next_element_from_string): Check if the character at the current
2181 position is composed by CHAR_COMPOSED_P.
2182 (next_element_from_buffer): Likewise.
d66c0241
JB
2183 (next_element_from_composition): Adjust for the change of struct it.
2184 Update it->cmp_it.
b8ff72fa
SM
2185 (dump_glyph): Adjust for the change of struct glyph.
2186 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2187 it and struct glyph. Don't handle automatic composition here.
2188 (fill_gstring_glyph_string): New function.
2189 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2190 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2191 (BUILD_GSTRING_GLYPH_STRING): New macro.
2192 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2193 automatic composition.
b8ff72fa 2194 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2195 struct glyph.
b8ff72fa 2196 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2197
b8ff72fa 2198 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2199 the change of struct glyph_string.
2200 (x_draw_glyph_string): Likewise.
2201
22022008-08-29 Glenn Morris <rgm@gnu.org>
2203
2204 * buffer.c (word-wrap): Doc fix.
2205 * xdisp.c (truncate-partial-width-windows): Doc fix.
2206 Increase default to 50.
2207
22082008-08-29 Chong Yidong <cyd@stupidchicken.com>
2209
2210 * xdisp.c (update_tool_bar_unwind): New function.
2211 (update_tool_bar): Temporarily set selected frame before building
2212 tool-bar items.
2213
22142008-08-28 Michael Albinus <michael.albinus@gmx.de>
2215
2216 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2217 snprintf, respectively.
2218 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2219
22202008-08-28 Chong Yidong <cyd@stupidchicken.com>
2221
2222 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2223 LDFLAGS to GNUstep CC invocation.
2224
22252008-08-27 Chong Yidong <cyd@stupidchicken.com>
2226
2227 * indent.c (Fvertical_motion): Revert last change. Handle the
2228 general case where we are moving forward, and PT spans multiple
2229 screen lines.
2230
2231 * eval.c (find_handler_clause): Temporarily increase
2232 max-lisp-eval-depth while printing the backtrace buffer, to
2233 guarantee that help-mode code can run.
2234
22352008-08-27 Eli Zaretskii <eliz@gnu.org>
2236
2237 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2238 colors under -rv.
2239 (IT_set_frame_parameters): Don't swap foreground and background
2240 colors if `(reverse . t)' is present in the frame properties.
2241 (internal_terminal_init): Call init_frame_faces only for the
2242 initial frame.
2243
22442008-08-27 Andreas Schwab <schwab@suse.de>
2245
2246 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2247
22482008-08-27 Andreas Schwab <schwab@suse.de>
2249
2250 * search.c (search_buffer): Set char_base to zero only at the end.
2251
22522008-08-27 Kenichi Handa <handa@m17n.org>
2253
b8ff72fa 2254 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2255
22562008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2257
2258 * xterm.c (x_term_init): Temporarily hide the partially
2259 initialized terminal while calling vendor-specific-keysyms.
2260
22612008-08-26 Eli Zaretskii <eliz@gnu.org>
2262
2263 * msdos.c (internal_terminal_init): Most initializations done only
2264 once, especially initial_screen_colors[] and termscript open.
2265
22662008-08-26 Chong Yidong <cyd@stupidchicken.com>
2267
2268 * eval.c (Fcondition_case): Doc fix.
2269
2270 * widgetprv.h (EmacsFramePart): Change font member to the new font
2271 struct.
2272
2273 * widget.c: Include character.h and font.h for XSETFONT.
2274 (setup_frame_gcs): Compute X font id from font struct, just once.
2275
22762008-08-26 Eli Zaretskii <eliz@gnu.org>
2277
2278 * term.c (get_named_tty): Fix last change.
2279
22802008-08-26 Chong Yidong <cyd@stupidchicken.com>
2281
2282 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2283 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2284
22852008-08-25 Eli Zaretskii <eliz@gnu.org>
2286
2287 * frame.c (do_switch_frame): Mark previously displayed frame as
2288 obscured for FRAME_MSDOS_P frames as well.
2289
22902008-08-24 Eli Zaretskii <eliz@gnu.org>
2291
2292 * frame.c (make_terminal_frame): Initialize f->terminal,
2293 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2294 Set the top frame to newly created frame.
2295 (Fmake_terminal_frame): Reuse the_only_display_info.
2296
2297 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2298 estimating available memory.
2299
b97439ce 23002008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2301
2302 * nsterm.m (ns_draw_window_cursor): Don't call
2303 NSDisableScreenUpdates and NSEnableScreenUpdates on
2304 non-NS_IMPL_COCOA systems.
2305
23062008-08-23 Andreas Schwab <schwab@suse.de>
2307
2308 * process.c (procfs_system_process_attributes): Fix use of
2309 uninitialized variables.
2310
23112008-08-23 Eli Zaretskii <eliz@gnu.org>
2312
2313 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2314
2315 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2316 calling tty-set-up-initial-frame-faces.
2317
b8ff72fa
SM
2318 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2319 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2320
2321 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2322 addition to output_termcap.
2323
2324 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2325
2326 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2327 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2328 highlight.
2329
2330 * process.c [!subprocesses]: Define QCname.
2331 (syms_of_process): Intern and staticpro it.
2332
2333 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2334 Adjust for changes in encoding/decoding routines.
2335 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2336 encode_coding and decode_coding.
2337
b8ff72fa 2338 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2339
2340 * dosfns.c: Include frame.h before termhooks.h.
2341 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2342 variable termscript.
2343
2344 * s/msdos.h (USER_FULL_NAME): Define.
2345 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2346
2347 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2348 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2349 pw->pw_gecos.
2350
2351 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2352 SELECTED_FRAME as additional (1st) argument.
2353 (tty_read_avail_input): Handle output_msdos_raw in
2354 addition to output_termcap.
2355
2356 * msdos.c: Include frame.h before termhooks.h.
2357 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2358 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2359 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2360 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2361 (IT_set_terminal_modes, IT_reset_terminal_modes)
2362 (IT_set_frame_parameters): Use tty->termscript instead of a global
2363 variable termscript.
2364 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2365 global variable terminal_coding. Don't refer to
2366 Vnonascii_translation_table.
2367 (internal_terminal_init): Set Vwindow_system in current_kboard.
2368 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2369 Announce date and time of session start, if termscript is open.
2370 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2371 term.c:init_tty). Open termscript only of not already open.
2372 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2373 here instead of dos_ttraw. Don't initialize display if this is an
2374 initial tty. Don't set FRAME_FONT.
2375 (Vwindow_system_version): Bump to 23.
2376 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2377 is available, set up mouse_position_hook.
2378 (dos_ttraw, IT_set_terminal_modes): If called with initial
2379 terminal, do nothing.
2380 (IT_set_frame_parameters): Handle the Qtty_type frame
2381 parameter by calling internal_terminal_init.
2382 (dos_set_window_size, show_mouse_face)
2383 (clear_mouse_face, IT_note_mode_line_highlight)
2384 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2385 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2386 (initialize_msdos_display): New function.
2387 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2388 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2389 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2390 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2391 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2392 (request_sigio, unrequest_sigio): Don't define, now defined on
2393 sysdep.c.
2394 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2395
2396 * term.c [MSDOS]: Include msdos.h.
2397 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2398 conditional to DOS_NT. Allow only one call to this function in a
2399 session. Don't allocate a new struct tty_display_info; instead,
2400 reuse the_only_display_info. Call get_tty_size to get screen
2401 dimensions. Call init_baud_rate to set bad_rate.
2402 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2403 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2404 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2405 (get_tty_terminal, get_named_tty, Ftty_type)
2406 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2407 output_termcap.
b8ff72fa
SM
2408 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2409 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2410 only when subprocesses are supported.
aac0c6e3
MR
2411
2412 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2413 f->output_data.x.
2414 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2415 terminal devices.
2416
5582fbc7 2417 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2418 x_output.
2419 (FRAME_FONT): Use output_data.tty.
2420 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2421 (struct x_display_info): Rename from display_info. Update all users in
2422 msdos.c.
aac0c6e3 2423 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2424 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2425 (dos_ttraw): Update prototype.
2426
2427 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2428 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2429
24302008-08-23 Jason Rumney <jasonr@gnu.org>
2431
2432 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2433 (fn_TIFFSetDirectory): New library function used.
2434 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2435 (tiff_load): Use :index to select among multiple images. Set count
2436 property when multiple images exist.
2437 (gif_format): Use :index, not :image.
2438
24392008-08-23 Chong Yidong <cyd@stupidchicken.com>
2440
2441 * xdisp.c (try_scrolling): Check INT_MAX instead of
2442 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2443 to obtain INT_MAX.
2444
24452008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2446
2447 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2448
24492008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2450
2451 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2452 GNUstep library location.
2453
24542008-08-21 Chong Yidong <cyd@stupidchicken.com>
2455
2456 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2457 before using it.
2458
2459 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2460
24612008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2462
2463 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2464 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2465 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2466 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2467 (EmacsApp-cursor_blink_handler): Remove declaration.
2468 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2469 match 01 Feb 2008 changes in xterm.c.
2470 (ns_read_socket): Add cast to avoid warning.
2471 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2472 GNUstep.
2473
24742008-08-20 Chong Yidong <cyd@stupidchicken.com>
2475
2476 * xselect.c (x_get_foreign_selection): Return nil if desired
2477 selection could not be obtained, instead of signalling an error.
2478
24792008-08-20 David Reitter <david.reitter@gmail.com>
2480
2481 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2482 * nsterm.m: Remove ns-specific code for cursor blinking.
2483 (ns_draw_window_cursor): Clear cursor properly rather than
2484 redrawing the area. Respect width of bar cursors.
2485 These changes enable the use of generic blink-cursor-mode and
2486 generic cursor types in NS and support smooth cursor movements (do
2487 not blink off after command).
2488 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2489 Nextstep, too.
2490
24912008-08-19 Kenichi Handa <handa@m17n.org>
2492
2493 * font.c (Vfont_log_deferred): New variable.
2494 (font_add_log): Check Vfont_log_deferred.
2495 (font_deferred_log): New function.
2496
2497 * font.h (font_deferred_log): Extern it.
2498
2499 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2500 for sorting.
2501 (face_for_char): Use deferred log.
2502
25032008-08-18 Kenichi Handa <handa@m17n.org>
2504
2505 * fontset.c (face_for_char): Add font log.
2506
2507 * font.c (font_add_log): Add the font properties :script, :lang,
2508 and :otf in the log.
2509
25102008-08-17 Chong Yidong <cyd@stupidchicken.com>
2511
2512 * xdisp.c: Remove dead code.
2513 (handle_invisible_prop, next_overlay_string): Defer call to
2514 setup_for_ellipsis.
2515 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2516
25172008-08-15 Chong Yidong <cyd@stupidchicken.com>
2518
2519 * xfaces.c (lookup_derived_face): Properly handle possible zero
2520 return value of get_lface_attributes.
2521 (merge_faces): Don't tell lookup_derived_face to signal an error
2522 if face is not found.
2523
2524 * dired.c (Fdirectory_files): Doc fix.
2525
2526 * process.c (make_process): Initialize kill_without_query struct
2527 member.
2528
25292008-08-15 Eli Zaretskii <eliz@gnu.org>
2530
2531 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2532 Alternative calculation of totphys for Visual Studio 6.
2533
2534 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2535
2536 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2537 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2538 All users changed.
2539 (stat): Only root directory passed to GetDriveType. Allow RAM
2540 disk as well as local fixed disk when w32-get-true-file-attributes
2541 is set to `local'.
2542 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2543 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2544 (w32_cached_id, w32_add_to_cache): New functions.
2545 (get_name_and_id): Look account names in the cache before calling
2546 lookup_account_sid.
2547 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2548 New initialization flags.
2549 (globals_of_w32): Initialize them to zero.
2550 (w32_system_process_attributes): Use w32_cached_id and
2551 w32_add_to_cache.
2552
25532008-08-14 Lawrence Mitchell <wence@gmx.li>
2554
2555 * lread.c (Fread_char, Fread_char_exclusive): If no character
2556 event is read before timeout is reached, return nil, rather than
2557 converting to a number.
2558
25592008-08-14 Chong Yidong <cyd@stupidchicken.com>
2560
2561 * fns.c (use_dialog_box): Doc fix.
2562
2563 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2564 on OS X.
2565
25662008-08-13 Chong Yidong <cyd@stupidchicken.com>
2567
2568 * frame.c (Qns_parse_geometry): New var.
2569 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2570
25712008-08-11 Chong Yidong <cyd@stupidchicken.com>
2572
2573 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2574 space character in calculating tabs.
2575
25762008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2577
2578 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2579
25802008-08-10 Glenn Morris <rgm@gnu.org>
2581
2582 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2583 silence gcc "limited range of data type" warnings in some
2584 make_fixnum_or_float calls.
2585
25862008-08-09 Eli Zaretskii <eliz@gnu.org>
2587
2588 * w32.c (w32_system_process_attributes): If the process does not
2589 exist, return nil.
2590
2591 * w32.c: Include thelp32.h, psapi.h and coding.h.
2592 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2593 declarations.
2594 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2595 (Process32Next_Proc): New typedefs.
2596 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2597 (g_b_init_process32_next, g_b_init_open_thread_token)
2598 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2599 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2600 (g_b_init_get_process_working_set_size)
2601 (g_b_init_global_memory_status_ex): New static variables.
2602 (globals_of_w32): Initialize them.
2603 (create_toolhelp32_snapshot, process32_first, process32_next)
2604 (open_thread_token, impersonate_self, revert_to_self)
2605 (get_process_memory_info, get_process_working_set_size)
2606 (global_memory_status, global_memory_status_ex): New wrapper
2607 functions.
2608 (w32_list_system_processes, w32_system_process_attributes)
2609 (enable_privilege, restore_privilege, ltime, process_times):
2610 New functions.
2611 (convert_time_raw): New function.
2612 (convert_time): Remove conversion of FILETIME into time in 100
2613 nsec units, call convert_time_raw instead.
2614
2615 * process.h (w32_list_system_processes, w32_system_process_attributes):
2616 Add prototypes.
2617 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2618 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2619 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2620 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2621
2622 * process.c (Fsystem_process_attributes): Doc fix.
2623
26242008-08-08 Chong Yidong <cyd@stupidchicken.com>
2625
2626 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2627 a continued multi-char glyph; if so, advance to the actual glyph.
2628
26292008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2630
2631 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2632
2633 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2634 (.m.o): Use it.
2635 * config.in: Regenerate.
2636
26372008-08-07 Chong Yidong <cyd@stupidchicken.com>
2638
2639 * xdisp.c (redisplay_window): Revert last change.
2640 (try_window): Check bottom scroll margin too.
2641
26422008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2643
2644 * config.in: Regenerate.
2645
2646 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2647 -list-load-path-shadows'.
2648 (nsgui.h): Reduce number of things depending on it.
2649
26502008-08-06 Chong Yidong <cyd@stupidchicken.com>
2651
2652 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2653 instead of window-end which does the wrong thing at eob.
2654 (try_cursor_movement): Minor optimization.
2655 (redisplay_window): If scroll margin is defined, don't assume
2656 window doesn't need scrolling.
2657
26582008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2659
2660 * config.in: Regenerate.
2661
2662 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2663 (mostlyclean): Don't delete *.d under NS.
2664
2665 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2666
26672008-08-06 Kenichi Handa <handa@m17n.org>
2668
2669 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2670
26712008-08-06 Andreas Schwab <schwab@suse.de>
2672
2673 * config.in: Regenerate.
2674
26752008-08-05 Chong Yidong <cyd@stupidchicken.com>
2676
2677 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2678 forcing a window start.
2679
2680 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2681 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2682
26832008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2684
2685 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2686 argument.
2687
26882008-08-05 Juanma Barranquero <lekktu@gmail.com>
2689
2690 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2691 <scroll-down-aggressively, before-change-functions>:
2692 <after-change-functions>: Reflow docstrings.
2693
26942008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2695 Ken Raeburn <raeburn@gnu.org>
2696
2697 Dock menu customization, based on a patch by Ken Raeburn, plus some
2698 other fixes.
2699 * nsmenu.m (dockMenu): New variable.
2700 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2701
2702 * nsterm.h (dockMenu): Declare.
2703
2704 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2705 (ns_term_init): Initialize dockMenu.
2706 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2707 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2708 left.
2709
2710 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2711
27122008-08-04 Chong Yidong <cyd@stupidchicken.com>
2713
2714 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2715
2716 * config.in: Regenerate.
2717
27182008-08-04 Seiji Zenitani <zenitani@mac.com>
2719
2720 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2721
27222008-08-04 Chong Yidong <cyd@stupidchicken.com>
2723
2724 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2725
27262008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2727
2728 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2729
2730 * keyboard.h: Comment an #endif.
2731
2732 * lisp.h (have_menus_p): Adjust comment.
2733
2734 * menu.c (find_and_return_menu_selection): Fix comparison with
2735 client_data.
2736
2737 * nsmenu.m (popup_activated_flag): New variable.
2738 (popup_activated): New function.
2739 (menu-or-popup-active-p): New exported lisp definition.
2740 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2741 when popup done.
2742 (ns_popup_dialog): Set popup_activated_flag.
2743
2744 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2745 version for GNUstep (handled by conditional typedef in nsterm.m).
2746 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2747 in rgb.txt).
2748
2749 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2750
2751 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2752
2753 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2754
2755 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2756 shortcircuit if popup_activated like GTK and X toolkit.
2757
2758 * m/inter386.h: Change DARWIN to DARWIN_OS.
2759
2760 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2761 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2762 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2763 comment on NO_SOCK_SIGIO.
2764
27652008-08-03 Chong Yidong <cyd@stupidchicken.com>
2766
2767 * nsterm.m (windowDidResize): Remove stopModal call.
2768
27692008-08-03 Andreas Schwab <schwab@suse.de>
2770
2771 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2772 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2773
27742008-08-02 Chong Yidong <cyd@stupidchicken.com>
2775
2776 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2777 Don't use uninitialized pointer variable when using getrlimit.
2778
27792008-08-02 Jason Rumney <jasonr@gnu.org>
2780
2781 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2782
27832008-08-02 Eli Zaretskii <eliz@gnu.org>
2784
2785 * alloc.c (NSTATICS): Bump to 0x640.
2786
2787 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2788
2789 * lisp.h: Add prototype for directory_files_internal.
2790
2791 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2792 New functions.
2793 (syms_of_process): Defsubr them. Add initializations for various
2794 Q* symbols used in procfs_system_process_attributes.
2795 (procfs_list_system_processes, procfs_system_process_attributes)
2796 [HAVE_PROCFS]: New functions.
2797 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2798 (procfs_get_total_memory): New functions.
2799
28002008-08-01 Juanma Barranquero <lekktu@gmail.com>
2801
2802 * xfaces.c (Fx_load_color_file): Fix previous change;
2803 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2804
28052008-08-01 Michael Albinus <michael.albinus@gmx.de>
2806
2807 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2808
28092008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2810
2811 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2812
28132008-08-01 Chong Yidong <cyd@stupidchicken.com>
2814
2815 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2816
2817 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2818 define NSApplicationDelegateReplySuccess.
2819 (EmacsView -converstationIdentifier): Use long instead of
2820 NSInteger for GNUstep, since it doesn't have NSInteger.
2821
2822 * xmenu.c: Revert last change.
2823
2824 * keyboard.h: Fix last change.
2825
28262008-08-01 Juanma Barranquero <lekktu@gmail.com>
2827
2828 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2829 on Windows.
2830
28312008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2832
2833 Warning clearing and clean-up in NS port.
2834 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2835 Add prototypes.
2836 * nsgui.h (FACE_DEFAULT): Remove, unused.
2837 (XGCValues): Change colors to unsigned long.
2838 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2839 nsterm.m.
2840 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2841 (ns_list_fonts): Remove, unused.
2842 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2843 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2844 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2845 (nsfont_draw): Compare face colors to 0, not nil.
2846 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2847 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2848 (-addSubmenuWithTitle:): Use NSMenuItem class.
2849 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2850 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2851 (ns_clip_to_row): Make gc arg a BOOL.
2852 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2853 ns_clip_to_row() call.
2854 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
2855 used). Cast FRAME_FONT assignments.
2856 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
2857 (ns_string_to_lispmod): Change arg to const char.
2858 (ns_term_init): Use NSMenuItem class.
2859 (EmacsApp -openFile:): Move to different section of file.
2860 (EmacsApp -application:openFiles:): Don't return a value, call
2861 -replyToOpenOrPrint:.
2862 (EmacsView -keyDown:): Fix up cast.
2863 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
2864 (EmacsView -menuDown:): Cast tag in call to
2865 find_and_call_menu_selection().
2866 (ns_list_fonts): Remove, unused.
2867 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
2868 (ns_fontname_to_xlfd): Make static.
2869 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
2870 Remove prototypes (now in keyboard.h).
2871 (next_menubar_widget_id): Remove, unused.
2872 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
2873 Remove prototypes (now in keyboard.h).
2874 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
2875
28762008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
2877
2878 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
2879 (floatfns.o): Depend on syssignal.h.
2880 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
2881
2882 * systty.h: Fix previous change that removed BSD_TERMIOS.
2883 Add comments to #ifdefs.
2884
28852008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2886
2887 * w32fns.c (w32-load-color-file): Remove.
2888 (x-open-connection): Use renamed Fx_load_color_file.
2889 * xfaces.c (x-load-color-file): Add.
2890 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
2891 Emacs.clr.
2892 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
2893
28942008-07-31 Michael Albinus <michael.albinus@gmx.de>
2895
2896 * dbusbind.c (Fdbus_call_method_asynchronously)
2897 (Fdbus_method_error_internal): New defuns.
2898 (xd_read_message): Handle also reply messages.
2899 (Vdbus_registered_functions_table): Extend docstring.
2900
29012008-07-31 Juanma Barranquero <lekktu@gmail.com>
2902
2903 * keyboard.c (gobble_input): Fix previous change.
2904
29052008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2906
2907 * bitmaps/README:
2908 * xfns.c:
2909 * termcap.c:
2910 * term.c:
2911 * syswait.h:
2912 * systty.h:
2913 * systime.h:
2914 * syssignal.h:
2915 * sysdep.c:
2916 * process.h:
2917 * process.c:
2918 * print.c:
2919 * ndir.h:
2920 * lread.c:
2921 * keyboard.c:
2922 * getpagesize.h:
2923 * floatfns.c:
2924 * fileio.c:
2925 * emacs.c:
2926 * doc.c:
2927 * dispnew.c:
2928 * dired.c:
2929 * data.c:
2930 * callproc.c:
2931 * buffer.c:
2932 * README:
2933 * Makefile.in:
2934 * s/template.h:
2935 * s/msdos.h:
2936 * m/vax.h: Remove VMS support.
2937 * s/vms.h:
2938 * vlimit.h:
2939 * uaf.h:
2940 * temacs.opt:
2941 * param.h:
2942 * ioctl.h: Remove file.
2943
29442008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
2945
2946 * s/ms-w32.h (MULTI_KBOARD): Remove.
2947 * xterm.c:
2948 * xselect.c:
2949 * xfns.c:
2950 * window.c:
2951 * w32term.c:
2952 * w32fns.c:
2953 * terminal.c:
2954 * termhooks.h:
2955 * term.c:
2956 * sysdep.c:
2957 * keyboard.h:
2958 * keyboard.c:
2959 * frame.h:
2960 * frame.c:
2961 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
2962 * config.in: Regenerate.
2963
29642008-07-30 Jason Rumney <jasonr@gnu.org>
2965
2966 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
2967
2968 * w32font.c (w32font_encode_char): Leave as unicode if in range.
2969 (w32font_open_internal): Get unicode version of textmetrics.
2970 Don't enable or disable glyph indices here.
2971 (w32font_open): Disable use of glyph indices.
2972
2973 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
2974
29752008-07-30 Chong Yidong <cyd@stupidchicken.com>
2976
2977 * minibuf.c (Vread_buffer_function): Doc fix.
2978
29792008-07-30 John Paul Wallington <jpw@pobox.com>
2980
2981 * minibuf.c (read_buffer_completion_ignore_case): New var.
2982 (Fread_buffer): Use it.
2983
29842008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
2985
2986 * systty.h (sensemode): Remove empty #if. Remove reference to
2987 BSD_TERMIOS, unused.
2988
2989 * sysdep.c: Remove reference to DGUX.
2990 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
2991
2992 * config.in: Regenerate.
2993
29942008-07-30 Jason Rumney <jasonr@gnu.org>
2995
2996 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
2997
29982008-07-29 Jason Rumney <jasonr@gnu.org>
2999
3000 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3001 is populated.
3002 (uniscribe_encode_char): Always use uniscribe.
3003 Avoid using context if cache is populated.
3004
30052008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3006
3007 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3008 open menu.
3009
3010 * gtkutil.c (menu_nav_ended): Remove.
3011 (create_menus): Remove signal connect for menu_nav_ended.
3012
30132008-07-28 Chong Yidong <cyd@stupidchicken.com>
3014
3015 * xdisp.c (redisplay_window): Check return value of
3016 compute_window_start_on_continuation_line before forcing a window
3017 start.
3018
30192008-07-28 Jason Rumney <jasonr@gnu.org>
3020
3021 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3022
3023 * w32term.c (w32_enable_unicode_output, cleartype_active):
3024 Remove obsolete display options.
3025 (x_draw_glyph_string_background): Don't use old cleartype_active
3026 workaround.
3027 (w32_initialize): Remove cleartype_active initialization.
3028 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3029
30302008-07-28 Andreas Schwab <schwab@suse.de>
3031
3032 * lisp.h (init_weak_hash_tables, syms_of_font)
3033 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3034 (remove_hash_entry): Don't declare.
3035 * eval.c (maybe_call_debugger): Make static and move before use.
3036 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3037 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3038 * xterm.h (x_set_frame_alpha): Declare.
3039
30402008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3041
3042 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3043 (create_menus): Connect selection-done to menu_nav_ended.
3044
30452008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3046
3047 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3048 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3049 parameter with read of 'alpha' one.
3050 (Qns_frame_parameter): Remove.
5582fbc7 3051 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3052 (next-selection-coding-system, Vselection_coding_system)
3053 (Vnext_selection_coding_system): Drop.
3054
30552008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3056
3057 * nsfns.m (do-applescript, do_applescript): Rename to
3058 ns-do-applescript, ns_do_applescript, and move within file.
3059
30602008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3061
3062 Remove support for Mac Carbon.
3063 * mactoolbox.c:
3064 * macterm.h:
3065 * macterm.c:
3066 * macselect.c:
3067 * macmenu.c:
3068 * macgui.h:
3069 * macfns.c:
3070 * mac.c: Remove file.
3071 * s/darwin.h:
3072 * m/intel386.h:
3073 * xfaces.c:
3074 * xdisp.c:
3075 * window.c:
3076 * tparam.c:
3077 * termhooks.h:
3078 * termcap.c:
3079 * term.c:
3080 * syssignal.h:
3081 * sysselect.h:
3082 * sysdep.c:
3083 * process.c:
3084 * lread.c:
3085 * lisp.h:
3086 * keyboard.c:
3087 * image.c:
3088 * fringe.c:
3089 * frame.h:
3090 * frame.c:
3091 * fontset.c:
3092 * font.h:
3093 * font.c:
3094 * fns.c:
3095 * fileio.c:
3096 * emacs.c:
3097 * dispnew.c:
3098 * dispextern.h:
3099 * config.in:
3100 * atimer.c:
2ae37cf0 3101 * Makefile.in: Remove code for Carbon.
aac0c6e3 3102
f0131492 31032008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3104
3105 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3106
31072008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3108
3109 * macterm.h (kCGBitmapByteOrder32Host): New define for
3110 non-universal SDKs.
3111
3112 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3113 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3114
3115 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3116 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3117
31182008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3119
3120 * w32inevt.c: Include dispextern.h.
3121
31222008-07-26 Andreas Schwab <schwab@suse.de>
3123
3124 * print.c (print_object): Fix off-by-one in last change.
3125
31262008-07-25 Juanma Barranquero <lekktu@gmail.com>
3127
3128 * term.c (syms_of_term): Don't initialize default_orig_pair,
3129 default_set_foreground and default_set_background on Windows.
3130
31312008-07-25 Jason Rumney <jasonr@gnu.org>
3132
3133 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3134 ScriptItemize. Clean up return value checking. Remove unused
3135 variables.
3136 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3137 shaping engine.
3138
3139 * w32font.c (w32font_has_char): Handle the case where we can't
3140 determine the script for a character.
3141
31422008-07-25 Chong Yidong <cyd@stupidchicken.com>
3143
3144 * term.c (syms_of_term): Initialize default_orig_pair,
3145 default_set_foreground, and default_set_background.
3146
3147 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3148 clash (bug#86).
3149 (getloadavg): Callers changed.
3150
3151 * image.c (svg_load_image): Fix last change.
3152 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3153 image size is valid. Use g_object_unref instead of deprecated
3154 rsvg_handle_free to free rsvg handle.
3155 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3156
31572008-07-25 Jason Rumney <jasonr@gnu.org>
3158
3159 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3160 surrogates before looking up glyph index.
3161 (w32font_text_extents): Encode as surrogates if falling back to
3162 functions that need UTF-16 wide chars.
3163
3164 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3165 BMP as surrogates before looking up glyph index.
3166
31672008-07-25 Chong Yidong <cyd@stupidchicken.com>
3168
3169 * image.c (svg_load_image): Check for failure in return value of
3170 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3171
31722008-07-25 Jason Rumney <jasonr@gnu.org>
3173
3174 * w32font.c (Fx_select_font): Reverse sense of second arg.
3175
31762008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3177
3178 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3179 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3180
3181 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3182 (PURESIZE): Use it.
3183
31842008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3185
3186 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3187 * m/alpha.h (TEXT_END):
3188 * m/ibmrs6000.h (TEXT_END):
3189 * m/macppc.h (TEXT_END):
3190 * s/darwin.h (TEXT_END):
3191 * s/msdos.h (TEXT_END): Remove, unused.
3192 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3193 * s/cygwin.h: Remove comment.
3194
3195 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3196 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3197 * m/intel386.h (DOT_GLOBAL_START):
3198 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3199 (USG): Remove, file not used on USG platforms.
3200
3201 * Makefile.in (HAVE_X11): Remove empty #else.
3202
32032008-07-24 Andreas Schwab <schwab@suse.de>
3204
3205 * fileio.c (Finsert_file_contents): Properly adjust undo list
3206 after format conversion.
3207
32082008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3209
3210 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3211 (menu_nav_ended): Remove.
3212 (create_menus): Remove signal connect for menu_nav_ended.
3213 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3214 create_menus.
3215 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3216
32172008-07-23 Jason Rumney <jasonr@gnu.org>
3218
3219 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3220 with opened font.
3221 (w32font_open): Set font type to gdi.
3222
3223 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3224
32252008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3226
3227 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3228 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3229 defines it.
3230 * unexec.c (ADDR_CORRECT): Define unconditionally.
3231
3232 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3233
3234 * unexec.c: Remove code depending on !COFF and USG, the file is
3235 not used for such systems.
3236
3237 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3238 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3239 (LD_SWITCH_SYSTEM_1): Remove, update users.
3240
3241 * s/darwin.h (DATA_END):
3242 * m/intel386.h (DATA_END):
3243 * m/ibmrs6000.h (DATA_END):
3244 * m/alpha.h (DATA_END): Remove, unused.
3245
3246 * config.in: Regenerate.
3247 * s/ms-w32.h (subprocesses): Define unconditionally.
3248 * s/template.h (subprocesses): Update comment.
3249 * s/vms.h (subprocesses):
3250 * s/usg5-4.h (subprocesses):
3251 * s/hpux10-20.h (subprocesses):
3252 * s/gnu-linux.h (subprocesses):
3253 * s/cygwin.h (subprocesses):
3254 * s/bsd-common.h (subprocesses):
3255 * s/aix4-2.h (subprocesses):
3256 * s/darwin.h (subprocesses): Do not define, defined by default now.
3257
3258 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3259 Remove all references.
3260 (temacs): Add GNUstep specific ld flags.
3261
3262 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3263 similarly to what X does.
3264
32652008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3266
3267 * nsfns.m (x-list-fonts): Remove.
3268 (syms_of_nsfns): Drop the x-list-fonts declaration.
3269 * nsterm.m: Get rid of remaining "//" comments.
3270
32712008-07-22 Chong Yidong <cyd@stupidchicken.com>
3272
3273 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3274
3275 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3276 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3277 (Fns_own_selection_internal, Fx_disown_selection_internal)
3278 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3279
3280 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3281 ... */' style of docstrings. Doc fixes.
3282
32832008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3284
3285 * terminfo.c (UP, BC, PC): Undo previous change.
3286
3287 * nsfns.m: Rename ns prefixed functions/variables to the
3288 corresponding x versions. Update references.
3289
32902008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3291
3292 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3293
32942008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3295
3296 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3297 Remove forwarding functions.
3298 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3299 non-static.
3300 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3301 non-static.
3302 (ns_frame_parm_handlers): Use the new names.
3303 (syms_of_nsfns): Move to the end of file.
3304
3305 * nsterm.m (syms_of_nsterm): Move to the end of file.
3306
3307 * dispnew.c (init_display): Remove code for X10.
3308
33092008-07-22 Jason Rumney <jasonr@gnu.org>
3310
3311 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3312 bare drive.
3313
33142008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3315
3316 * nsterm.m (syms_of_nsterm): Remove debugging println.
3317
33182008-07-22 David Reitter <david.reitter@gmail.com>
3319
3320 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3321 Carbon implementation of the same functionality: execute arbitrary
3322 AppleScript code.
3323
33242008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3325
3326 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3327 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3328 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3329 (Fx_display_mm_height, Fx_display_mm_width)
3330 (Fx_display_backing_store, Fx_display_visual_class)
3331 (Fx_display_save_under, Fx_open_connection)
3332 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3333 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3334 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3335 (Fx_display_pixel_width, Fx_display_pixel_height)
3336 (Fx_display_usable_bounds, Fx_display_planes)
3337 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3338 ... */' style of docstrings.
3339
33402008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3341
3342 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3343 on this platform.
3344 (mips):
3345 * m/iris4d.h (mips): Do not define.
3346 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3347
3348 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3349
3350 * image.c:
3351 * nsfns.m:
3352 * nsselect.m:
3353 * nsterm.h:
3354 * nsterm.m: Rename ns prefixed functions/variables to the
3355 corresponding x versions. Update references.
3356
3357 * m/ibms390x.h (NO_REMAP): Do not undefine.
3358
3359 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3360
33612008-07-21 Chong Yidong <cyd@stupidchicken.com>
3362
3363 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3364 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3365 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3366 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3367 (Fns_display_mm_height, Fns_display_mm_width)
3368 (Fns_display_backing_store, Fns_display_visual_class)
3369 (Fns_display_save_under, Fns_open_connection)
3370 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3371 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3372 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3373 (Fns_display_pixel_width, Fns_display_pixel_height)
3374 (Fns_display_usable_bounds, Fx_display_planes)
3375 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3376
33772008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3378
3379 * print.c (print_object): Check print_depth before searching for
3380 circularities.
3381
33822008-07-21 Michael Albinus <michael.albinus@gmx.de>
3383
3384 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3385 only sprintf.
3386
33872008-07-21 Kenichi Handa <handa@m17n.org>
3388
3389 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3390
33912008-07-20 Andreas Schwab <schwab@suse.de>
3392
3393 * syntax.c (find_start_pos, find_start_value)
3394 (find_start_value_byte, find_start_begv, find_defun_start)
3395 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3396
33972008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3398
3399 * s/sol2-3.h: Insert contents of s/sol2.h.
3400 (LD_SWITCH_SYSTEM): Remove redundant definition.
3401 * s/sol2.h: Remove, unused.
3402
34032008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3404
3405 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3406
34072008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3408
3409 * Makefile.in (ns_appdir): Fix typo in find command.
3410
34112008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3412
3413 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3414
3415 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3416 added not supported anymore.
3417
3418 * s/usg5-4-2.h (LIBS_SYSTEM):
3419 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3420
3421 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3422 * s/lynxos.h (GETPGRP_NO_ARG):
3423 * s/hpux10-20.h (NO_SIOCTL_H):
3424 * s/gnu.h (GETPGRP_NO_ARG):
3425 * s/gnu-linux.h (NO_SIOCTL_H):
3426 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3427 * s/cygwin.h (GETPGRP_NO_ARG):
3428 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3429 (C_DEBUG_SWITCH): Remove duplicate definition.
3430
3431 * m/ibms390.h: Remove boilerplate comments.
3432
3433 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3434
3435 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3436 (wait_reading_process_output): Remove code for SunOS, platform not
3437 supported anymore. Use SOLARIS2 instead of sun.
3438
34392008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3440
3441 * font.c (font_open_by_name): Under NS, default lface height to zero.
3442 (font_open_for_lface): Under NS, set size based on frame fontsize.
3443 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3444 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3445
34462008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3447
3448 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3449 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3450 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3451 YES/NO.
3452 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3453 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3454 * Makefile.in (clean): Clear out build destination dir.
3455
34562008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3457
3458 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3459 xterm, xselect.
3460 * lisp.h: Remove declaration of hash_remove.
3461 * nsgui.h: Remove redefinitions of hash_remove.
3462 * fns.c (hash_remove): Rename to hash_remove_from_table.
3463
34642008-07-19 Seiji Zenitani <zenitani@mac.com>
3465
3466 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3467 strdup() the family UTF8String before modifying it.
3468
34692008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3470
3471 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3472 NS_FACE_BACKGROUND with 0 instead of nil.
3473 * nsfont.m (nsfont_draw): Same.
3474
34752008-07-19 Chong Yidong <cyd@stupidchicken.com>
3476
3477 * nsfns.m (ns_set_background_color): Fix crash.
3478
34792008-07-18 Chong Yidong <cyd@stupidchicken.com>
3480
3481 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3482
34832008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3484
3485 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3486
34872008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3488
3489 * gtkutil.c: Include <config.h> instead of "config.h".
3490
3491 * lisp.h (Foverlay_buffer): Add EXFUN.
3492
3493 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3494 child process to complete child_setup. Undo 2005-09-21 change.
3495
3496 * s/darwin.h: Mention setsid after vfork.
3497
34982008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3499
3500 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3501 Depend on macgui.h.
3502
3503 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3504 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3505
3506 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3507 and f19.
3508 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3509
3510 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3511 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3512 Remove enumerators.
3513
3514 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3515 Check if FACE_FROM_ID returns NULL.
3516
35172008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3518
3519 * w32inevt.c (change_frame_size): Remove extern declaration.
3520 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3521 change_frame_size.
3522
35232008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3524
3525 * getloadavg.c: Revert last change (2008-07-15).
3526
35272008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3528
3529 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3530 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3531 from configure.
3532
35332008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3534
3535 * s/sol2.h:
3536 * s/sol2-4.h: Reorganize conditionals.
3537
3538 * ecrt0.c: Remove code depending on m68000, not used anymore.
3539
3540 * fns.c (hash_remove): Make static.
3541 * lisp.h (hash_remove): Don't prototype.
3542
3543 * m/ibmrs6000.h:
3544 * m/ibms390x.h:
3545 * m/macppc.h: Remove boilerplate comments.
3546
3547 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3548 Solaris, which does not need them.
3549
3550 * m/vax.h: Remove comments about unsupported systems.
3551
3552 * s/darwin.h: Reorganize ifdefs.
3553
35542008-07-17 Andreas Schwab <schwab@suse.de>
3555
3556 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3557
35582008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3559
3560 Use SDATA. Follow coding convention of placing operators at
3561 beginning of next line rather than end of previous line, and placing
3562 spaces around infix operators.
3563
3564 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3565 in case it was defined already.
3566 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3567 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3568 ns_default.
3569 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3570 Lisp_Objects.
3571 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3572 (ns_defined_color, ns_color_to_lisp): Declare.
3573 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3574 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3575 it's accepted even with USE_LISP_UNION_TYPE.
3576 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3577 (update_frame_tool_bar): Remove apparently obsolete tests for
3578 non-integerness of f->tool_bar_lines.
3579 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3580 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3581 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3582 (nsfont_open): Don't confuse NULL for Qnil.
3583 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3584 * menu.h (find_and_call_menu_selection):
3585 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3586 (find_and_return_menu_selection): Always return something.
3587 * frame.h: Include dispextern.h for Display_Info.
3588 (display_x_get_resource): Declare.
3589
35902008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3591
3592 * syntax.c: Remove stdio.h include accidentally introduced in
3593 Emacs.app commit.
3594 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3595 NS_IMPL_COCOA.
3596 * keyboard.c (handle_async_input, input_available_signal): Remove
3597 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3598
35992008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3600
3601 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3602 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3603 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3604 Use SDATA.
3605
3606 * keymap.c: Remove all NS-specific code.
3607 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3608 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3609 where_is_preferred_modifier, return a different value depending on how
3610 preferred is the binding.
3611 (where_is_internal): Adjust accordingly.
3612 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3613 Adjust to new preferred_sequence_p.
3614 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3615 * keyboard.c (parse_solitary_modifier): Not static any more.
3616 * keyboard.h (parse_solitary_modifier): Declare.
3617
36182008-07-16 Andreas Schwab <schwab@suse.de>
3619
3620 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3621 of easymenu.
3622
36232008-07-16 Chong Yidong <cyd@stupidchicken.com>
3624
3625 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3626 that we don't move off the line.
3627
36282008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3629
3630 * keyboard.c (Qsuper): Remove.
3631 (parse_menu_item): Don't call where_is_internal specially for NS.
3632
36332008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3634
3635 * s/gnu-linux.h: Remove boilerplate comments.
3636
3637 * m/alpha.h (__ELF__): Consolidate conditions.
3638
3639 * m/m68k.h (linux): Use GNU_LINUX instead.
3640 Remove boilerplate comments.
3641
3642 * m/intel386.h: Undo refactoring from previous change.
3643 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3644 too, remove dead code.
3645 (linux): Use GNU_LINUX instead.
3646
36472008-07-16 Jason Rumney <jasonr@gnu.org>
3648
3649 * w32gui.h: Repeat 26 June changes lost by last change.
3650
36512008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3652
3653 * systty.h: Remove code for Aix on 386, unsupported platform.
3654
3655 * s/ms-w32.h: Remove boilerplate comments.
3656 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3657
3658 * s/gnu-linux.h (TERM): Remove support.
3659 (HAVE_SYSVIPC): Remove, unused.
3660 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3661 for this system.
3662
3663 * process.c: Remove support for IRIS, unused.
3664 Remove support for TERM, not relevant anymore.
3665
3666 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3667 used with the definition.
3668
3669 * s/aix4-2.h (static): Do not undef.
3670
3671 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3672 only used on Aix.
3673 (HAVE_SYSVIPC): Remove, unused.
3674
3675 * m/hp800.h (CANNOT_DUMP): Do not undef.
3676
3677 * m/alpha.h: Fix comment.
3678
3679 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3680 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3681 used by this configuration.
3682 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3683 * unexec.c: Remove code depending on HPUX and
3684 USG_SHARED_LIBRARIES, not used with this file. Remove code
3685 depending on IRIS, unused. Remove if 0-ed code.
3686
3687 * s/template.h: Remove comments about static.
3688
3689 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3690 Remove if 0-ed code.
3691 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3692 were the same as the default.
3693 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3694 Remove boilerplate comments.
3695 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3696 (HAVE_SYSVIPC): Remove, unused.
3697 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3698
3699 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3700 Remove boilerplate comments.
3701 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3702 Remove boilerplate comments.
3703 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3704 Remove boilerplate comments.
3705 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3706
3707 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3708 USG systems which do not use DATA_SEG_BITS.
3709 Refactor code. Remove boilerplate comments.
3710
3711 * m/ibms390.h:
3712 * m/m68k.h:
3713 * s/bsd-common.h:
3714 * s/cygwin.h:
3715 * s/darwin.h:
3716 * s/freebsd.h:
3717 * s/gnu.h:
3718 * s/msdos.h: Remove boilerplate comments.
3719
3720 * m/iris4d.h: Remove boilerplate comments and code for systems that
3721 do not use this file.
3722 (IRIS_4D): Remove, unused.
3723
3724 * m/mips.h: Remove boilerplate comments and code for systems that
3725 do not use this file.
3726 (SIGN_EXTEND_CHAR):
3727 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3728 * unexmips.c: Remove file, unused.
3729
3730 * editfns.c (Fuser_full_name): Replace the only use of
3731 USER_FULL_NAME with its value.
3732 * config.in: Regenerate.
3733
37342008-07-16 David Reitter <david.reitter@gmail.com>
3735
3736 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3737 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3738
37392008-07-16 Glenn Morris <rgm@gnu.org>
3740
3741 * emacs.c (system-type): Doc fix.
3742
37432008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3744
3745 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3746 If the cache doesn't work, let's fix it, rather than work around it.
3747
37482008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3749
3750 * Makefile.in: Correct additions for nsfont.o in last commit.
3751 * nsfont.m: New file (forgot last commit).
3752
37532008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3754
3755 * callproc.c (set_initial_environment): Initialize
3756 Vprocess_environment under CANNOT_DUMP (fixes crash when
3757 batch-compiling for bootstrap).
3758
37592008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3760 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3761
3762 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3763 fix crash due to different init order.
3764
37652008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3766
3767 Changes and additions for NeXTstep windowing system (Cocoa and
3768 GNUstep) support.
3769
3770 * Makefile.in:
3771 * config.in: Support defines and build commands for NS port.
3772 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3773 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3774 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3775 windowing.
3776 (struct face): Add synth_ital field.
3777 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3778 (init_display): Initialize Vinitial_window_system to "ns" when so
3779 compiled.
3780 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3781 (display_arg): Use under NS.
3782 (main): Under NS, allocate autorelease pool and handle command line
3783 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3784 (standard_args): Add NS-specific args.
3785 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3786 * font.c (DEFAULT_ENCODING): New variable.
3787 (font_find_for_lface): Use it.
3788 (syms_of_font): Load syms_of_nsfont under NS.
3789 * font.h: Declare nsfont_driver when compiled under NS.
3790 * fontset.c: When compiling under NS, include nsterm.h.
3791 (fontset_from_font): Autoconstruct fontset under NS.
3792 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3793 symbol, document and use it.
3794 (do_switch_frame): When for_deletion under Cocoa, add
3795 Fraise_frame(Qnil).
3796 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3797 (x_get_arg): Allow "yes" and "no" as boolean values.
3798 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3799 Qright under Cocoa.
3800 (focus-follows-mouse): Default to 0 under NS.
3801 * frame.h (enum output_method): Add output_ns.
3802 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3803 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3804 (FRAME_WINDOW_P): NS-specific definition.
3805 * fringe.c (max_used_fringe_bitmap): Make public.
3806 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3807 (getloadavg): Use NeXT code under descendant OS's.
3808 * image.c (includes and header section, x_create_bitmap_from_data)
3809 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3810 (image_background_transparent, x_clear_image_1)
3811 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3812 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3813 (x_to_xcolors, x_from_xcolors, x_disable_image)
3814 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3815 other GUIs, including XPM support using code originally written for
3816 Carbon GUI.
3817 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3818 using NS API.
3819 (image_ascent): Use font metrics macros instead of direct struct field
3820 access.
3821 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3822 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3823 Also, handle NS as GTK for menu bar purposes.
3824 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3825 toolkit where they differ.
3826 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3827 use cachelist, still needed under NS.
3828 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3829 (struct widget_value): Define it here for menu.c.
3830 * keymap.c (includes): Include modifier internals.
3831 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3832 NS.
3833 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3834 support for preferring sequences using certain modifiers, specified by
3835 the FIRSTONLY argument.
3836 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3837 under NS GNUstep implementation.
3838 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3839 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3840 * menu.c: Include nsterm.h under NS.
3841 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3842 (free_menubar_widget_tree_value, update_submenu_strings)
3843 (find_and_call_menu_selection): Treat NS as X and NT.
3844 (find_and_return_menu_selection): New function, used for popup menus.
3845 * nsgui.h:
3846 * nsterm.h:
3847 * nsfns.m:
3848 * nsimage.m:
3849 * nsmenu.m:
3850 * nsselect.m:
3851 * nsterm.m: New files.
3852 * process.c (wait_reading_process_output): Under NS, call ns_select()
3853 instead of plain select().
3854 * syntax.c (char_quoted): Under NS, avoid a crash when called near
3855 beginning of buffer.
3856 * sysselect.h (init_process): Rename when compiling under Cocoa to
3857 avoid name conflict.
3858 * termhooks.h (display_info): Add ns_display_info to union.
3859 * terminal.c (Fterminal_live_p): Add ns to terminal types.
3860 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
3861 COCOA environment.
3862 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
3863 unexec() signature. (Note, this will dump, but the resulting file
3864 crashes; unexosx is used instead; keeping around for reference and
3865 possible aid in getting dump working under GNUstep.)
3866 * w32gui.h (button_type, widget_value): Remove definitions (now in
3867 keyboard.h).
3868 * window.c: Include nsterm.h when compiling under NS.
3869 * xdisp.c (includes): Include nsterm.h when compiling under NS.
3870 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
3871 other GUI windowing systems.
3872 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
3873 GTK.
3874 (x_consider_frame_title): Under NS, set icon type and frame
3875 modified-state indicator; use ns_set_name_as_filename() when using
3876 formatted title.
3877 (update_window_cursor): Make public when compiling under NS.
3878 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
3879 (hourglass_atimer, Vhourglass_delay
3880 * xfaces.c (header section, init_frame_faces, clear_font_table)
3881 (defined_color, unload_color, x_face_list_fonts)
3882 (prepare_face_for_display): Add NS support parallel to other GUIs.
3883 Emulate GCs like other non-X GUIs.
3884 (split_font_name): Don't lowercase font name under NS.
3885 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
3886 under NS.
3887 * s/darwin.h: Add support for compilation under NS.
3888
38892008-07-15 Jason Rumney <jasonr@gnu.org>
3890
3891 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
3892 (w32_show_hourglass): Rename from show_hourglass.
3893 (w32_hide_hourglass): Rename from hide_hourglass.
3894 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
3895 (Vhourglass_delay): Declare extern.
3896 (hourglass_started): Remove.
3897
3898 * xdisp.c (Vhourglass_delay): Remove static.
3899 (hourglass_started, start_hourglass, cancel_hourglass):
3900 Don't include these versions on WINDOWSNT.
3901
39022008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3903
3904 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
3905 variables (formerly in xfns.c).
3906 (show_hourglass, hide_hourglass): New prototypes (same).
3907 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
3908 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
3909 in xfns.c).
3910 (syms_of_xdisp): Declare/initialize display-hourglass,
3911 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
3912 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
3913 formerly in xfns.c.
3914 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3915 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3916 (start_hourglass, cancel_hourglass): Remove.
3917 (show_hourglass, hide_hourglass): Remove prototypes and static
3918 modifiers.
3919 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
3920 hourglass_atimer, hourglass_shown_p declaration/initialization.
3921 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
3922 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
3923 (start_hourglass, cancel_hourglass): Remove.
3924 (show_hourglass, hide_hourglass): Remove prototypes and static
3925 modifiers.
3926 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
3927 hourglass_atimer, hourglass_shown_p declaration/initialization.
3928 * w32fns.c (display_hourglass_p, Vhourglass_delay)
3929 (DEFAULT_HOURGLASS_DELAY): Remove.
3930 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
3931 hourglass_shown_p declaration/initialization.
3932
39332008-07-14 Jason Rumney <jasonr@gnu.org>
3934
3935 * w32fns.c (w32_get_arg): Remove wrapper function.
3936 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
3937 directly.
3938 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
3939
39402008-07-14 Kenichi Handa <handa@m17n.org>
3941
3942 * xfont.c (xfont_open): Add workaround for X's bug.
3943
39442008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
3945
3946 * fontset.c: Include <stdio.h> unconditionally.
3947
39482008-07-13 Michael Albinus <michael.albinus@gmx.de>
3949
3950 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
3951 for filtering.
3952
39532008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
3954
3955 * s/vms.h: Use __GNUC__ instead of _GNUC_.
3956
3957 * m/macppc.h:
3958 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
3959
3960 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
3961 (SPECIAL_EMACS_INT):
3962 * m/ia64.h (SPECIAL_EMACS_INT):
3963 * m/amdx86-64.h (SPECIAL_EMACS_INT):
3964 * s/gnu.h (NLIST_STRUCT):
3965 * s/aix4-2.h (X11R5_INHIBIT_I18N):
3966 * s/gnu-linux.h (LINUX):
3967 * s/msdos.h (HAVE_FACES):
3968 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
3969
3970 * systty.h:
3971 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
3972 anymore.
3973
39742008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
3975
3976 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
3977 always defined as int.
3978
3979 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
3980 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
3981 * s/gnu-linux.h (HAVE_WAIT_HEADER):
3982 * s/freebsd.h (HAVE_WAIT_HEADER):
3983 * s/bsd-common.h (HAVE_UNION_WAIT):
3984 * s/aix4-2.h (HAVE_WAIT_HEADER):
3985 * m/mips.h (HAVE_UNION_WAIT):
3986 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
3987 (COFF, static): Do not define, they are undefined later in the file.
3988
3989 * process.c (update_status): Don't use a union.
3990 (status_convert):
3991 (sigchld_handler): Use int instead of WAITTYPE.
3992
39932008-07-12 Chong Yidong <cyd@stupidchicken.com>
3994
3995 * indent.c (Fvertical_motion): Restore hscroll before moving to
3996 goal column.
3997
39982008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
3999
4000 * lisp.h: Remove left over code.
4001
40022008-07-11 Andreas Schwab <schwab@suse.de>
4003
4004 * lisp.h: Fix logic in last change.
4005
4006 * menu.h: New file.
4007 * menu.c: Include it.
4008 * xmenu.c: Likewise.
4009 * Makefile.in: Update dependencies.
4010
40112008-07-11 Kenichi Handa <handa@m17n.org>
4012
4013 * fontset.c (fontset_from_font): Cancel the previous change.
4014
40152008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4016
4017 * lisp.h:
4018 * w32heap.c:
4019 * emacs.c:
4020 * alloc.c: Replace all references of NO_UNION_TYPE with
4021 USE_LISP_UNION_TYPE.
4022
4023 * m/xtensa.h (NO_UNION_TYPE):
4024 * m/vax.h (NO_UNION_TYPE):
4025 * m/template.h (NO_UNION_TYPE):
4026 * m/sparc.h (NO_UNION_TYPE):
4027 * m/mips.h (NO_UNION_TYPE):
4028 * m/macppc.h (NO_UNION_TYPE):
4029 * m/m68k.h (NO_UNION_TYPE):
4030 * m/iris4d.h (NO_UNION_TYPE):
4031 * m/intel386.h (NO_UNION_TYPE):
4032 * m/ibms390x.h (NO_UNION_TYPE):
4033 * m/ibms390.h (NO_UNION_TYPE):
4034 * m/ibmrs6000.h (NO_UNION_TYPE):
4035 * m/ia64.h (NO_UNION_TYPE):
4036 * m/hp800.h (NO_UNION_TYPE):
4037 * m/arm.h (NO_UNION_TYPE):
4038 * m/amdx86-64.h (NO_UNION_TYPE):
4039 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4040 defining it the same.
4041
40422008-07-10 Chong Yidong <cyd@stupidchicken.com>
4043
4044 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4045
40462008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4047
4048 * fileio.c:
4049 * sysdep.c
4050 * systty.h:
4051 * m/ibmrs6000.h:
4052 * m/iris4d.h:
4053 * s/aix4-2.h:
4054 * s/freebsd.h:
4055 * s/gnu-linux.h:
4056 * s/hpux10-20.h:
4057 * s/hpux11.h:
4058 * s/netbsd.h:
4059 * s/sol2-3.h:
4060 * s/sol2-4.h:
4061 * s/sol2.h:
4062 * s/usg5-4.h:
4063 * s/vms.h: Remove references to unused variables.
4064
40652008-07-10 Andreas Schwab <schwab@suse.de>
4066
4067 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4068 pattern before matching the generic family.
4069
40702008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4071
4072 * unexec.c:
4073 * s/vms.h:
4074 * s/usg5-4-2.h:
4075 * s/sol2-5.h:
4076 * s/freebsd.h:
4077 * s/darwin.h: Remove dead code.
4078
4079 * m/template.h:
4080 * m/sparc.h:
4081 * m/mips.h:
4082 * m/m68k.h:
4083 * m/iris4d.h:
4084 * m/intel386.h:
4085 * m/ibms390x.h:
4086 * m/ibms390.h:
4087 * m/ia64.h:
4088 * m/hp800.h:
4089 * m/arm.h:
4090 * m/amdx86-64.h: Remove dead code and references to unused
4091 and compiler defined symbols.
4092
4093 * unexmips.c:
4094 * unexelf.c: Remove references to desupported systems.
4095
4096 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4097
4098 * m/powermac.h: Remove boilerplate comments.
4099 (NO_REMAP): Remove unused definition.
4100
4101 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4102 define them.
4103
41042008-07-10 Kenichi Handa <handa@m17n.org>
4105
4106 * xfont.c (xfont_open): Log the reason of failure.
4107
41082008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4109
4110 * fontset.c (fontset_get_font_group):
4111 * font.c (font_check_otf): Specify argument types.
4112
41132008-07-09 Kenichi Handa <handa@m17n.org>
4114
4115 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4116 non-ASCII char is found.
4117
4118 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4119 (reorder_font_vector): Change the arg preferred_family to font.
4120 Prefer the spec matching with font.
4121 (fontset_get_font_group): New function.
4122 (fontset_find_font): Change the format of an element of a realized
4123 fontset. Use fontset_get_font_group.
4124 (fontset_font): Try the current fontset, the default fontset, the
4125 fallbacks of the current fontset, and the fallbacks of the default
4126 fontset in this order.
4127 (face_for_char): Delete the shortcut to use the current font.
4128 (fontset_from_font): Don't set fonts for Latin in the fontset.
4129
4130 * font.h (font_make_object, font_match_p): Adjust prototypes.
4131
4132 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4133
4134 * font.c (font_make_object): New arg entity and pixelsize.
4135 (font_check_otf_features, font_check_otf): New functions.
4136 (font_match_p): Check :lang, :script, and :otf properties.
4137
4138 * xfont.c (xfont_open): Adjust it for the change of
4139 font_make_object.
4140 (xfont_text_extents): Fix initial setting of metrics.
4141
4142 * ftfont.c (struct ftfont_info): New member index, delete member
4143 fc_charset_idx. Make the member order compatible with struct
4144 xftfont_info.
4145 (fc_charset_table): Change charset names to registry names.
4146 (ftfont_pattern_entity): Delete the args registry and
4147 fc_charset_idx. Change the value of :font-entity property
4148 to (FONTNAME . INDEX). Always set :registry property to
4149 `iso10646-1'.
4150 (struct ftfont_cache_data): New struct.
4151 (ftfont_lookup_cache): New arg for_face.
4152 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4153 (ftfont_driver): Set the member otf_capability.
4154 (ftfont_get_charset): Adjust it for the change of
4155 fc_charset_table.
4156 (OTF_TAG_SYM): New macro.
4157 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4158 for the change of fc_charset_table.
4159 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4160 ftfont_pattern_entity. Add FC_INDEX to objset.
4161 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4162 and ftfont_pattern_entity.
4163 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4164 font_make_object, struct ftfont_info.
4165 (ftfont_has_char): Use ftfont_get_fc_charset.
4166 (ftfont_otf_features, ftfont_otf_capability): New functions.
4167 (ftfont_shape): Use ftfont_get_otf.
4168 (ftfont_text_extents): Fix initial setting of metrics.
4169
4170 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4171 member order compatible with struct ftfont_info.
4172 (xftfont_open): Add FC_CHARSET to the pattern. Set
4173 xftfont_info->ft_size. Don't unlock the face. Check BDF
4174 properties if appropriate.
4175 (xftfont_close): Unlock the face.
4176 (xftfont_anchor_point, xftfont_shape): Deleted.
4177 (syms_of_xftfont): Don't set members anchor_point and shape of
4178 xftfont_driver.
4179
4180 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4181 font_make_object.
4182
4183 * w32font.c (w32font_open): Adjust it for the change of
4184 font_make_object.
4185 (w32font_open_internal): Don't set properties of font_object here.
4186
41872008-07-08 Chong Yidong <cyd@stupidchicken.com>
4188
4189 * macfns.c (x_create_tip_frame):
4190 * w32fns.c (x_create_tip_frame):
4191 * xfns.c (x_create_tip_frame): Pass parameter argument to
4192 face-set-after-frame-default.
4193
4194 * xfaces.c (Finternal_merge_in_global_face): Save merged
4195 attributes for the default face back into the face vector.
4196
41972008-07-08 Andreas Schwab <schwab@suse.de>
4198
4199 * fontset.h: Declare fontset_from_font. Don't declare
4200 new_fontset_from_font and fontset_from_font_name.
4201 * xterm.c: Include "fontset.h".
4202 * Makefile.in (xterm.o): Update dependencies.
4203
42042008-07-08 Glenn Morris <rgm@gnu.org>
4205
4206 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4207 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4208
42092008-07-07 Chong Yidong <cyd@stupidchicken.com>
4210
4211 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4212 (x_set_frame_parameters): Don't bind it.
4213
42142008-07-07 Juanma Barranquero <lekktu@gmail.com>
4215
4216 * w32fns.c (map_w32_filename): Declare extern.
4217
42182008-07-07 Jason Rumney <jasonr@gnu.org>
4219
4220 * w32term.c (WS_EX_LAYERED): Define if not already.
4221
42222008-07-06 Chong Yidong <cyd@stupidchicken.com>
4223
4224 * xfaces.c (set_font_frame_param): Don't try to set the font
4225 parameter if it is still unspecified in the lface.
4226
42272008-07-05 Chong Yidong <cyd@stupidchicken.com>
4228
4229 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4230 face if it didn't already exist.
4231
4232 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4233
42342008-07-05 Andreas Schwab <schwab@suse.de>
4235
4236 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4237
42382008-07-05 Chong Yidong <cyd@stupidchicken.com>
4239
4240 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4241 word-wrapping.
4242 (IT_DISPLAYING_WHITESPACE): New macro.
4243 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4244 when word-wrapping. Simplify word-wrapping logic. Use correct
4245 pixel positions when saving copies of the iterator.
4246 (display_line): Use proper wrap point if the last character on a
4247 line was preceded by whitespace.
4248
42492008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4250
4251 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4252
42532008-07-04 Kenichi Handa <handa@m17n.org>
4254
4255 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4256
4257 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4258
42592008-07-02 Jason Rumney <jasonr@gnu.org>
4260
4261 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4262 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4263
4264 * xdisp.c (next_element_from_display_vector): Move assignment out
4265 of if statement.
4266
42672008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4268
4269 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4270
4271 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4272 (syms_of_fileio): Initialize and export them.
4273 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4274
4275 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4276 (Fsystem_move_file_to_trash): New function.
4277 (syms_of_w32fns): Export it to lisp.
4278
42792008-07-01 Jason Rumney <jasonr@gnu.org>
4280
4281 * w32font.c (w32font_text_extents): Don't count overhang as part
4282 of width.
4283
42842008-06-30 Miles Bader <miles@gnu.org>
4285
4286 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4287 Add `avoid_cursor_p' field.
4288
4289 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4290 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4291 (append_glyph, append_composite_glyph, produce_image_glyph)
4292 (append_stretch_glyph): Initialize avoid_cursor_p.
4293 (get_it_property): Rename from `get_line_height_property'.
4294 (x_produce_glyphs): Use get_it_property.
4295 (handle_line_prefix, push_display_prop): New functions.
4296 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4297 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4298 New variables.
4299 (syms_of_xdisp): Initialize them.
4300
43012008-06-30 Kenichi Handa <handa@m17n.org>
4302
4303 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4304 XftDefaultSubstitute (they are called in XftFontMatch).
4305 (xftfont_open): Fix args to ftfont_font_format.
4306
4307 * ftfont.c (fc_charset_table): New member lang.
4308 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4309 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4310 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4311 (ftfont_open): Fix args to ftfont_font_format.
4312 (ftfont_font_format): New arg filename.
4313
43142008-06-30 Chong Yidong <cyd@stupidchicken.com>
4315
4316 * xfaces.c (Finternal_merge_in_global_face): If default face was
4317 modified, realize it again. Update the font face attribute.
4318
43192008-06-29 Jason Rumney <jasonr@gnu.org>
4320
4321 * w32term.c (x_set_frame_alpha): Fix logic.
4322
43232008-06-29 Kenichi Handa <handa@m17n.org>
4324
4325 * fontset.c (Finternal_char_font): Return font-object instead of
4326 font-name.
4327
4328 * composite.c (get_composition_id): Fix the width calculation for TAB.
4329
43302008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4331
4332 * indent.c (Fvertical_motion): Properly handle float column arg.
4333
43342008-06-28 Jason Rumney <jasonr@gnu.org>
4335
4336 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4337 (pfnSetLayeredWindowAttributes): New function pointer.
4338 (w32_initialize): Initialize it when supported.
4339 (x_set_frame_alpha): New function.
4340
4341 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4342 (w32_frame_parm_handlers): Set alpha handler.
4343
4344 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4345
43462008-06-27 Jason Rumney <jasonr@gnu.org>
4347
4348 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4349 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4350 (w32_to_x_charset, x_to_w32_charset)
4351 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4352 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4353 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4354 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4355 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4356 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4357 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4358 (Qw32_charset_unicode): Remove.
4359 (syms_of_w32fns): Update for above changes.
4360
4361 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4362 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4363 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4364 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4365 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4366 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4367 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4368 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4369 (syms_of_w32font): Update for above changes.
4370
43712008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4372
4373 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4374 removed #if.
4375 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4376
43772008-06-26 Juanma Barranquero <lekktu@gmail.com>
4378 Eli Zaretskii <eliz@gnu.org>
4379
4380 * makefile.w32-in (LOCAL_FLAGS):
4381 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4382
4383 * sysdep.c (_spawnlp, _getpid):
4384 Declare with explicit _cdecl instead of _CRTAPI1.
4385
4386 * editfns.c (Fget_internal_run_time):
4387 Check for WINDOWSNT with #ifdef, not #if.
4388
43892008-06-26 Jason Rumney <jasonr@gnu.org>
4390
4391 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4392
4393 * w32term.c (x_draw_glyph_string_foreground)
4394 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4395 Use FONT_HANDLE macro.
4396 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4397
4398 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4399 (uniscribe_encode_char): Use FONT_HANDLE macro.
4400
4401 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4402 (w32font_text_extents): Use precast w32_font.
4403 (w32font_close): Free cached metrics.
4404 (w32font_open_internal): Allocate space for name on stack.
4405
44062008-06-26 Chong Yidong <cyd@stupidchicken.com>
4407
4408 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4409
44102008-06-26 Jason Rumney <jasonr@gnu.org>
4411
4412 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4413 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4414
44152008-06-26 Juanma Barranquero <lekktu@gmail.com>
4416
4417 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4418
44192008-06-26 Jason Rumney <jasonr@gnu.org>
4420
4421 * w32bdf.c, w32bdf.h: Remove obsolete files.
4422
4423 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4424
4425 * w32gui.h: Don't include w32bdf.h.
4426 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4427 Remove obsolete font support.
4428
4429 * w32font.h (struct w32font_info): Remove compat_w32_font.
4430 Add hfont member.
4431 (FONT_COMPAT): Remove obsolete macro.
4432
4433 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4434 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4435 (w32font_open_internal): Remove compat code. Set new hfont member.
4436 (Fx_select_font): Use new hfont member.
4437
4438 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4439 (uniscribe_encode_char): Use new hfont member.
4440
4441 * w32term.c (x_draw_glyph_string_foreground)
4442 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4443 (x_draw_glyph_string): Use metrics in w32font_info.
4444
44452008-06-26 Kenichi Handa <handa@m17n.org>
4446
4447 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4448
44492008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4450
4451 * unexnext.c:
4452 * m/ews4800.h:
4453 * m/hp9000s300.h:
4454 * m/ibm370aix.h:
4455 * m/mips-siemens.h:
4456 * m/ncr386.h:
4457 * m/next.h:
4458 * m/pmax.h:
4459 * m/powerpcle.h:
4460 * m/tandem-s2.h:
4461 * s/386bsd.h:
4462 * s/bsd386.h:
4463 * s/bsd4-1.h:
4464 * s/bsd4-2.h:
4465 * s/bsdos2-1.h:
4466 * s/bsdos2.h:
4467 * s/bsdos3.h:
4468 * s/bsdos4.h:
4469 * s/nextstep.h:
4470 * s/ultrix4-3.h:
4471 * s/usg5-0.h:
4472 * s/usg5-2-2.h:
4473 * s/usg5-2.h:
4474 * s/usg5-4-3.h:
4475 * s/ux4800.h:
4476 * s/uxpds.h:
4477 * s/uxpv.h: Remove support for obsolete systems.
4478 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4479 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4480 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4481 Remove, insert contents in s/aix4-2.h.
4482 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4483 * s/bsd4-3.h: Rename to ...
4484 * s/bsd-common.h: ... this.
4485 * data.c:
4486 * doc.c:
4487 * ecrt0.c:
4488 * emacs.c:
4489 * fileio.c:
4490 * floatfns.c:
4491 * keyboard.c:
4492 * mem-limits.h:
4493 * print.c:
4494 * process.c:
4495 * sysdep.c:
4496 * syssignal.h:
4497 * systty.h:
4498 * syswait.h:
4499 * term.c:
4500 * unexec.c:
4501 * unexelf.c:
4502 * unexhp9k800.c:
4503 * m/hp800.h:
4504 * m/ibmrs6000.h:
4505 * m/mips.h:
4506 * m/vax.h:
4507 * s/darwin.h:
4508 * s/freebsd.h:
4509 * s/gnu.h:
4510 * s/ms-w32.h:
4511 * s/msdos.h:
4512 * s/netbsd.h:
4513 * s/template.h: Remove references to obsolete variables.
4514
4515 * Makefile.in: Add dependencies for all unexec files.
4516 (admindir): Remove unused variable.
4517 (UNEXEC_SRC): Remove references.
4518
45192008-06-25 Chong Yidong <cyd@stupidchicken.com>
4520
4521 * xfns.c (x_default_font_parameter): If Xft is available, first
4522 try Monospace-12 for the default font.
4523
45242008-06-25 Jason Rumney <jasonr@gnu.org>
4525
4526 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4527
45282008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4529
4530 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4531
4532 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4533
45342008-06-25 Juanma Barranquero <lekktu@gmail.com>
4535
4536 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4537 <scroll-conservatively>: Fix typo in docstring.
4538
4539 * xselect.c (Fx_send_client_event): Doc fix.
4540
45412008-06-25 Kenichi Handa <handa@m17n.org>
4542
4543 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4544
4545 * font.c (font_parse_fcname): Remove unused variables.
4546 (font_sort_entites): Delete the arg SPEC. Caller changed.
4547 Fix for the case of ! best_only.
4548 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4549
4550 * lisp.h (Fstring_to_unibyte): EXFUN it.
4551
4552 * character.h (str_to_unibyte): Extern it.
4553
4554 * character.c (str_to_unibyte): New function.
4555
4556 * fns.c (Fstring_to_unibyte): New function.
4557 (syms_of_fns): Defsubr it.
4558
45592008-06-24 Kenichi Handa <handa@m17n.org>
4560
4561 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4562 DPI too.
4563 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4564
45652008-06-24 Andreas Schwab <schwab@suse.de>
4566
4567 * Makefile.in (${lispsource}loaddefs.el): Rename from
4568 ../lisp/loaddefs.el.
4569 (bootstrap-clean): Do what distclean does but don't remove
4570 Makefile.
4571 (distclean): Depend on bootstrap-clean and remove Makefile.
4572
45732008-06-24 Chong Yidong <cyd@stupidchicken.com>
4574
4575 * buffer.h (struct buffer): New member word_wrap.
4576
4577 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4578 word-wrap.
4579 (init_buffer_once): Initialize them.
4580
4581 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4582 line_wrap enum possessing three possible values.
4583
4584 * termopts.h: Replace truncate_partial_width_windows with
4585 Vtruncate_partial_width_windows.
4586
4587 * dispnew.c (direct_output_for_insert): Avoid direct output when
4588 inserting a space with word wrap on.
4589
4590 * indent.c (compute_motion): Obey integer values of
4591 truncate-partial-width-windows.
4592
4593 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4594 replacing truncate_partial_width_windows.
4595 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4596 truncate only if the window width is below that integer.
4597 (start_display, resize_mini_window, produce_stretch_glyph)
4598 (display_string, move_it_in_display_line_to): Use line_wrap.
4599 (back_to_previous_visible_line_start, reseat_1): Reset
4600 string_from_display_prop_p.
4601 (display_line): Extend default face to end of line when wrapping.
4602
46032008-06-24 Kim F. Storm <storm@cua.dk>
4604
4605 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4606 to wrap continued lines at word boundaries.
4607
46082008-06-24 Jason Rumney <jasonr@gnu.org>
4609
4610 * font.c (Ffont_face_attributes): Multiply pixel size before point
4611 conversion to avoid multiplying rounding error.
4612
46132008-06-23 Jason Rumney <jasonr@gnu.org>
4614
4615 * w32term.c (x_draw_glyph_string_background)
4616 (x_draw_glyph_string): Remove old bdf font code.
4617
4618 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4619
46202008-06-22 Kenichi Handa <handa@m17n.org>
4621
4622 * font.c (font_find_for_lface): Try the adstyle specified in
4623 the property of LFACE_FONT of LFACE (if any).
4624
46252008-06-21 Seiji Zenitani <zenitani@mac.com>
4626 Ryo Yoshitake <ryo@shiftmode.net>
4627
4628 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4629
46302008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4631
4632 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4633 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4634 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4635 (witness-emacs): Remove.
4636 (lisp, shortlisp): Move loaddefs.el earlier.
4637 (mostlyclean): Forget about witness-emacs.
4638
46392008-06-22 Glenn Morris <rgm@gnu.org>
4640
4641 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4642 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4643
46442008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4645
4646 * Makefile.in (PRECOMP): Remove.
4647 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4648 (witness-emacs): Run `compile-first'.
4649 (.el.elc): Use the new compile-onefile target.
4650
46512008-06-21 Kenichi Handa <handa@m17n.org>
4652
4653 * xftfont.c (xftfont_open): Handle QCembolden only when
4654 FC_EMBOLDEN is defined.
4655
46562008-06-21 Andreas Schwab <schwab@suse.de>
4657
4658 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4659 (.el.elc): Likewise.
4660
46612008-06-21 Miles Bader <miles@gnu.org>
4662
4663 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4664 build dir, not the lisp source dir.
4665
46662008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4667
4668 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4669 (bootstrapclean): Remove.
4670 (.el.elc): New rule.
4671 (PRECOMP): New var.
4672 (../lisp/subdirs.el): Remove.
4673 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4674 (witness-emacs): New target.
4675 (mostlyclean): Remove witness-emacs as well.
4676 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4677 Add witness-emacs dependency.
4678
46792008-06-20 Chong Yidong <cyd@stupidchicken.com>
4680
4681 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4682 defined by the font.
4683
46842008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4685
4686 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4687 (bootstrap-clean): New target that keeps TAGS around.
4688 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4689 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4690
46912008-06-20 Jason Rumney <jasonr@gnu.org>
4692
4693 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4694 Remove obsolete font code.
4695
4696 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4697 to determine language support.
4698
46992008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4700
4701 * sysdep.c (cfsetspeed): New fun extracted from the code.
4702 (cfmakeraw): Move before first use.
4703
47042008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4705
4706 * sysdep.c (cfmakeraw): Provide fallback implementation.
4707 (serial_configure): Provide fallback implementation of cfsetspeed.
4708
47092008-06-20 Kenichi Handa <handa@m17n.org>
4710
4711 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4712 the pattern.
4713
4714 * fontset.c (fontset_from_font): Copy font_spec before changing
4715 the elements.
4716
4717 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4718
47192008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4720
4721 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4722 for explicit `font' parameters.
4723
4724 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4725
47262008-06-19 Kenichi Handa <handa@m17n.org>
4727
4728 * frame.c: Include <ctype.h>.
4729 (x_set_font_backend): Allow spacing characters in the X resource
4730 for FontBackend.
4731
47322008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4733
4734 * w32fns.c, xfns.c (Qfont_param): New var.
4735 (syms_of_w32fns): Initialize it.
4736 (x_default_font_parameter): Record explicit `font' into
4737 `font-parameter'.
4738
47392008-06-18 Kenichi Handa <handa@m17n.org>
4740
4741 * font.c (font_parse_xlfd): Fix previous change.
4742 (font_parse_fcname): Don't use :fc-unknown-spec.
4743 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4744 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4745 (font_add_log): Prepend the driver name to the resulting fonts.
4746
4747 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4748 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4749 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4750
4751 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4752 (QCembolden): New variables.
4753 (syms_of_xftfont): DEFSYM them.
4754 (xftfont_open): Call XftFontMatch. Don't trust the result of
4755 XftTextExtents8 if the pixel_size is less than 5.
4756
47572008-06-18 Andreas Schwab <schwab@suse.de>
4758
4759 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4760 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4761
47622008-06-18 Jason Rumney <jasonr@gnu.org>
4763
4764 * w32font.c (w32font_list, w32font_match): Add logging.
4765
4766 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4767
47682008-06-17 Chong Yidong <cyd@stupidchicken.com>
4769
4770 * font.c (font_parse_fcname): Store divider characters for
4771 unknown-spec list. For known key symbols, intern using correct
4772 symbol name.
4773
47742008-06-17 Kenichi Handa <handa@m17n.org>
4775
4776 * xfaces.c (realize_default_face): If the frame is not on window
4777 system, set the fontset of face to nil.
4778
47792008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4780
4781 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4782
47832008-06-16 Juanma Barranquero <lekktu@gmail.com>
4784
4785 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4786 (build_font_name_from_vector): Delete externs.
4787
4788 * xfaces.c (struct font_name): Don't declare.
4789
47902008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4791
4792 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4793
47942008-06-16 Chong Yidong <cyd@stupidchicken.com>
4795
4796 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4797
47982008-06-16 Juanma Barranquero <lekktu@gmail.com>
4799
4800 * font.c (Ffont_spec): Fix usage in docstring.
4801 (Ffont_face_attributes): Doc fix.
4802
48032008-06-16 Andreas Schwab <schwab@suse.de>
4804
4805 * font.c (Ffont_face_attributes): Fix definition.
4806
48072008-06-16 Jason Rumney <jasonr@gnu.org>
4808
4809 * font.h (font_style_symbolic_from_value): Remove.
4810
4811 * font.c (font_style_symbolic_from_value): Remove.
4812 (font_style_symbolic): Revert to pre 2008-06-13 version.
4813
4814 * w32font.c (w32_to_fc_weight): New function.
4815 (w32font_full_name, logfont_to_fcname): Use it.
4816
48172008-06-16 Kenichi Handa <handa@m17n.org>
4818
4819 * font.c (font_check_object): Delete it.
4820 (font_clear_cache): Check if a font-object is alive.
4821 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4822 font-object to nil.
4823 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4824 (font_at): Don't call font_check_object.
4825 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4826
48272008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4828
4829 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4830
48312008-06-16 Chong Yidong <cyd@stupidchicken.com>
4832
4833 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4834
48352008-06-15 Chong Yidong <cyd@stupidchicken.com>
4836
4837 * font.c (font_parse_fcname): Only one decimal point.
4838 (font_unparse_fcname): Handle data in family and foundry indices
4839 as symbols, not strings.
4840 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4841
4842 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4843
4844 * font.h (font_unparse_gtkname): Add prototype.
4845
48462008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4847
4848 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4849
48502008-06-15 Andreas Schwab <schwab@suse.de>
4851
4852 * font.c (font_update_drivers): Fix crash when no drivers match.
4853
48542008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
4855
4856 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
4857 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
4858
48592008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
4860
4861 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
4862
48632008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
4864
4865 * process.c (Fserial_process_configure, Fprocess_send_eof):
4866 Use EQ to compare Lisp_Objects.
4867
48682008-06-13 Jason Rumney <jasonr@gnu.org>
4869
4870 * w32fns.c (Fw32_select_font): Remove old font API function.
4871
4872 * w32font.c (logfont_to_fcname): New function.
4873 (Fx_select_font): New font dialog function compatible with
4874 GTK/fontconfig version.
4875
4876 * font.c (font_style_symbolic_from_value): New function.
4877 (font_style_symbolic): Use it.
4878
4879 * font.h (font_style_symbolic_from_value): Declare new function.
4880
48812008-06-13 Juanma Barranquero <lekktu@gmail.com>
4882
4883 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
4884 <font-width-table>: Fix typos in docstrings.
4885
48862008-06-13 Daniel Engeler <engeler@gmail.com>
4887
4888 These changes add serial port access.
4889 * process.c: Add HAVE_SERIAL.
4890 (Fdelete_process, Fprocess_status, Fset_process_buffer)
4891 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
4892 (list_processes_1, select_wrapper, Fstop_process)
4893 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
4894 (status_notify): Modify to handle serial processes.
4895 [HAVE_SERIAL] (Fserial_process_configure)
4896 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
4897 New functions.
4898 * process.h (struct Lisp_Process): Add `type'.
4899 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
4900 New functions.
4901 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
4902 serial ports.
4903 (serial_open, serial_configure) New functions.
4904 * w32.h: Add FILE_SERIAL.
4905 (struct _child_process): Add ovl_read, ovl_write.
4906
49072008-06-13 Kenichi Handa <handa@m17n.org>
4908
4909 * dispextern.h (enum lface_attribute_index): New member
4910 LFACE_FOUNDRY_INDEX.
4911
4912 * font.c (font_score): Delete arg alternate_families. Check only
4913 weight, slant, width, and size. Ignore the difference of alias
4914 style symbols.
4915 (font_sort_entites): Adjust for the above change. Reflect the
4916 order of font-driver to scores.
4917 (font_list_entities): Don't check alternate_familes here.
4918 (font_clear_prop): Handle foundry.
4919 (font_update_lface): Don't parse "foundry-family" form here.
4920 Handle FONT_FOUNDRY_INDEX.
4921 (font_find_for_lface): Likewise. Handle alternate families here.
4922 If registry is nil, try iso8859-1 and ascii-0.
4923 (font_open_for_lface): Pay attention to size in ENTITY.
4924 (font_open_by_name): Simplify by calling font_load_for_lface.
4925 (free_font_driver_list): Delete it.
4926 (font_update_drivers): Preserve the order of backends.
4927 (syms_of_font): Setting of sort_shift_bits adjusted for the change
4928 of font_score and font_sort_entites.
4929 (font_update_sort_order): Likewise.
4930
4931 * xfaces.c (LFACE_FOUNDRY): New macro.
4932 (check_lface_attrs): Check foundry.
4933 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
4934 (merge_face_vectors): Check foundry.
4935 (merge_face_ref): Likewise.
4936 (Finternal_set_lisp_face_attribute): Likewise.
4937 (x_update_menu_appearance): Likewise.
4938 (Finternal_get_lisp_face_attribute): Likewise.
4939 (lface_hash): Likewise.
4940 (lface_same_font_attributes_p): Likewise.
4941 (x_supports_face_attributes_p): Likewise.
4942 (tty_supports_face_attributes_p): Likewise.
4943 (Finternal_set_alternative_font_family_alist): Intern strings.
4944 (Finternal_set_alternative_font_registry_alist): Downcase strings.
4945 (realize_default_face): Set LFACE_FOUNDRY (lface).
4946
4947 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
4948 font-driver at first.
4949
4950 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
4951
49522008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4953
4954 * lread.c (Fload): Use xfree, not free on saved_doc_string.
4955
49562008-06-12 Jim Meyering <meyering@redhat.com>
4957
4958 Make unexec_free handle NULL the same way free does.
4959 * unexmacosx.c (unexec_free): Ignore a NULL argument.
4960
49612008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
4962
4963 * character.h (CHAR_TO_BYTE_SAFE): New macro.
4964 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
4965 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
4966 (WEAK_ALIAS): Simplify.
4967 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
4968 when searching a unibyte buffer.
4969
49702008-06-12 Chong Yidong <cyd@stupidchicken.com>
4971
4972 * xfns.c (Fx_select_font): Rename from x-font-dialog.
4973
49742008-06-12 Juanma Barranquero <lekktu@gmail.com>
4975
4976 * w32font.c: Include ctype.h.
4977
49782008-06-11 Jason Rumney <jasonr@gnu.org>
4979
4980 * w32font.c (w32font_encode_char): Detect missing glyphs that are
4981 misreported as space.
4982 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
4983 as aliases for registry iso10646-1.
4984
49852008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * buffer.c (clone_per_buffer_values): Skip `name'.
4988
49892008-06-11 Chong Yidong <cyd@stupidchicken.com>
4990
4991 * font.c (font_parse_fcname): Fix last change; accept decimal
4992 points in font size.
4993
49942008-06-10 Jason Rumney <jasonr@gnu.org>
4995
4996 * w32uniscribe.c (add_opentype_font_name_to_list):
4997 Skip non unicode fonts.
4998
49992008-06-10 Chong Yidong <cyd@stupidchicken.com>
5000
5001 * xfns.c (Fx_font_dialog): New function.
5002
5003 * gtkutil.c (xg_dialog_response_cb): Rename from
5004 xg_file_response_callback.
5005 (pop_down_dialog): Rename from pop_down_file_dialog.
5006 (xg_get_file_name): Callers changed.
5007 (xg_get_font_name): New function.
5008
5009 * gtkutil.h (xg_get_font_name): Insert prototype.
5010
50112008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5012
5013 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5014 x_underline_minimum_display_offset.
5015 (syms_of_xdisp): Declare it here rather than in xterm.c.
5016 * dispextern.h (underline_minimum_offset): Declare it.
5017 * w32term.c (x_draw_glyph_string): Use it.
5018 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5019 (syms_of_xterm): Don't declare it any more.
5020 (x_draw_glyph_string): Adjust to the new name.
5021
50222008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5023
5024 * xterm.c (x_underline_minimum_display_offset): New var.
5025 (x_draw_glyph_string): Use it.
5026 (syms_of_xterm): Declare it.
5027
50282008-06-10 Chong Yidong <cyd@stupidchicken.com>
5029
5030 * font.c (font_parse_fcname): Accept GTK-style font names too.
5031
50322008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5033
5034 * dired.c (file_name_completion): Don't return t if the match is exact
5035 but with different capitalization.
5036 * minibuf.c (Ftry_completion): Simplify.
5037
5038 * window.c (Vwindow_point_insertion_type): New var.
5039 (set_window_buffer): Use it.
5040 (syms_of_window): Init and export it to Lisp.
5041
50422008-06-10 Kenichi Handa <handa@m17n.org>
5043
5044 * font.h (font_intern_prop): Prototype adjusted.
5045
5046 * font.c (font_intern_prop): New arg force_symbol.
5047 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5048 Adjust for the change of font_intern_prop.
5049
5050 * ftfont.c (ftfont_pattern_entity):
5051 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5052 (w32_registry):
5053 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5054 the change of font_intern_prop.
5055
50562008-06-09 Juanma Barranquero <lekktu@gmail.com>
5057
5058 * w32menu.c (digest_single_submenu): Declare extern.
5059
50602008-06-09 Jason Rumney <jasonr@gnu.org>
5061
5062 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5063
5064 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5065 (parse_single_submenu): Remove.
5066 (digest_single_submenu): Remove.
5067 (syms_of_w32menu): Don't initialise variables that have moved
5068 to menu.c.
5069 (set_frame_menubar): Sync with version in xmenu.c.
5070 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5071
5072 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5073 Make static again.
5074
50752008-06-09 Jason Rumney <jasonr@gnu.org>
5076
5077 Changes to w32 files related to the move of common menu code
5078 to menu.c on 2008-06-08 by Chong Yidong.
5079
5080 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5081 defs to w32gui.h.
5082 (single_keymap_panes, push_menu_item, push_menu_pane):
5083 Make globally visible.
5084
5085 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5086 (local_free, malloc_widget_value, free_widget_value)
5087 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5088 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5089 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5090 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5091 (menu_items, menu_items_allocated, menu_items_used)
5092 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5093 (init_menu_items, finish_menu_items, discard_menu_items)
5094 (grow_menu_items, push_submenu_start, push_submenu_end)
5095 (push_left_right_boundary, push_menu_pane, push_menu_item)
5096 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5097 (free_menubar_widget_tree_value, parse_single_submenu)
5098 (update_submenu_strings): Remove functions.
5099 (xmalloc_widget_value): Remove and declare extern.
5100
5101 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5102 (OBJ1): Build it.
5103
5104 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5105 (local_heap, local_alloc, local_free, malloc_widget_value)
5106 (free_widget_value): Define here.
5107
51082008-06-09 Kenichi Handa <handa@m17n.org>
5109
5110 * font.h (Qascii_0): Extern it.
5111
5112 * font.c (Qascii_0): New variable.
5113 (syms_of_font): DEFSYM it.
5114 (font_open_by_name): If the registry "iso8859-1" fails, try also
5115 "ascii-0".
5116
5117 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5118
51192008-06-08 Kenichi Handa <handa@m17n.org>
5120
5121 * .gdbinit (xfont): New command.
5122
51232008-06-08 Andreas Schwab <schwab@suse.de>
5124
5125 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5126 * Makefile.in (menu.o): Update dependencies.
5127
5128 * Makefile.in (obj): Always add menu.o.
5129 * emacs.c (main): Always call syms_of_menu.
5130 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5131
51322008-06-08 Chong Yidong <cyd@stupidchicken.com>
5133
5134 * Makefile.in: Compile menu.c.
5135
5136 * lisp.h: Declare syms_of_menu.
5137
5138 * emacs.c (main): Call syms_of_menu.
5139
5140 * keyboard.h: Relocate platform-independent menu definitions from
5141 xmenu.c.
5142
5143 * menu.c: New file. Relocate platform-independent menu
5144 definitions from xmenu.c. Suggested by Adrian Robert.
5145
5146 * xmenu.c: Remove platform-independent menu definitions.
5147 (menu_items menu_items_inuse, menu_items_allocated)
5148 (menu_items_used, menu_items_n_panes)
5149 (menu_items_submenu_depth): Move to keyboard.h.
5150 (init_menu_items, finish_menu_items, unuse_menu_items)
5151 (discard_menu_items, restore_menu_items, save_menu_items)
5152 (grow_menu_items, push_submenu_start, push_submenu_end)
5153 (push_left_right_boundary, push_menu_pane, push_menu_item)
5154 (keymap_panes, single_keymap_panes, single_menu_item)
5155 (list_of_panes, list_of_items, find_and_call_menu_selection)
5156 (xmalloc_widget_value, free_menubar_widget_value_tree)
5157 (parse_single_submenu, digest_single_submenu)
5158 (update_submenu_strings): Move to menu.c.
5159
51602008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5161
5162 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5163
51642008-06-06 Miles Bader <miles@gnu.org>
5165
5166 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5167 face, not frame default.
5168
51692008-06-05 Martin Rudalics <rudalics@gmx.at>
5170
5171 * window.c (pop_up_windows, pop_up_frames)
5172 (display_buffer_reuse_frames, Vpop_up_frame_function)
5173 (Vdisplay_buffer_function, Veven_window_heights)
5174 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5175 (Vspecial_display_function, Vsame_window_buffer_names)
5176 (Vsame_window_regexps, split_height_threshold)
5177 (Vsplit_window_preferred_function): Move those vars to window.el.
5178 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5179 (Fdisplay_buffer): Move those functions to window.el.
5180 (syms_of_window): Remove corresponding declarations.
5181 (display_buffer): New function.
5182 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5183 * dispnew.c (Flast_nonminibuf_frame): New function.
5184 * buffer.c (Fpop_to_buffer): Move to window.el.
5185
51862008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5187
5188 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5189
51902008-06-05 Kenichi Handa <handa@m17n.org>
5191
5192 * coding.c (detect_coding): Fix previous change.
5193 (detect_coding_system): Likewise.
5194
51952008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5196
5197 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5198
5199 * keymap.c (Vminibuffer_local_filename_must_match_map):
5200 Rename from Vminibuffer_local_must_match_filename_map.
5201 (syms_of_keymap):
5202 * minibuf.c (Fcompleting_read): Adjust accordingly.
5203 * commands.h: Rename declaration as well.
5204
52052008-06-05 Kenichi Handa <handa@m17n.org>
5206
5207 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5208 family name.
5209 (Ffont_put): Likewise.
5210
5211 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5212 current font-spec.
5213
5214 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5215 is unspecified.
5216
5217 * xfaces.c (realize_x_face): If the font-related face attributes
5218 are the same as those of default face, realize a new fontset from
5219 default->fontset.
5220 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5221
52222008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5223
5224 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5225 (move_it_in_display_line): New wrapper.
5226
5227 * window.c (window_scroll_pixel_based_preserve_x)
5228 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5229 (window_scroll_pixel_based, window_scroll_line_based):
5230 Use them to preserve column positions.
5231 (syms_of_window): Initialize them.
5232
5233 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5234 (HPOS . VPOS) pair.
5235
5236 * dispextern.h (move_it_in_display_line): Declare.
5237
52382008-06-05 Juanma Barranquero <lekktu@gmail.com>
5239
5240 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5241 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5242 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5243
52442008-06-04 Juanma Barranquero <lekktu@gmail.com>
5245
5246 * window.c (Fset_window_parameter): Doc fix.
5247 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5248
52492008-06-04 Joakim Verona <joakim@verona.se>
5250
5251 * window.h (struct window): Add new member window_parameters.
5252
5253 * window.c (Fwindow_parameters, Fwindow_parameter)
5254 (Fset_window_parameter): New defuns.
5255 (syms_of_window): Defsubr the new defuns.
5256 (make_window): Initialize window_parameters to nil.
5257
52582008-06-04 John Paul Wallington <jpw@pobox.com>
5259
5260 * eval.c (Fdefmacro): Doc fix.
5261
52622008-06-04 Kenichi Handa <handa@m17n.org>
5263
5264 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5265 Be sure to call setup_coding_system when we find a proper coding system.
5266 (detect_coding_system): Fix handling of coding->head_ascii.
5267
52682008-06-03 Andreas Schwab <schwab@suse.de>
5269
5270 * font.c (font_prop_validate_spacing): Fix last change.
5271
52722008-06-03 Kenichi Handa <handa@m17n.org>
5273
5274 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5275 (font_parse_fcname): Fix handling of unknown key.
5276
5277 * xfont.c (xfont_list): Try an alias.
5278
5279 * charset.c (char_charset): Return NULL if the arg charset_list is
5280 specified and C doesn't belong to any of them.
5281
52822008-06-02 Chip Coldwell <coldwell@redhat.com>
5283
5284 * font.c (font_pixel_size): Don't take cdr of an integer.
5285
52862008-06-02 Jim Meyering <meyering@redhat.com>
5287
5288 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5289 * alloc.c (xfree): Return right away for a NULL arg.
5290 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5291 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5292 * mac.c (create_apple_event_from_event_ref): Likewise.
5293 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5294 Likewise.
5295 * doprnt.c (doprnt1): Likewise.
5296 * frame.c (frame): Likewise.
5297 * keyboard.c (wipe_kboard): Likewise.
5298 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5299 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5300 * term.c (tty_default_color_capabilities, maybe_fatal)
5301 (delete_tty): Likewise.
5302 * w16select.c (string): Likewise.
5303 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5304 * w32bdf.c (w32_free_bdf_font): Likewise.
5305 * w32fns.c (w32_unload_font): Likewise.
5306 * w32font.c (w32font_close): Likewise.
5307 * window.c (size_window): Likewise.
5308 * xselect.c (receive_incremental_selection): Likewise.
5309 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5310 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5311 * w32.c (stat): Likewise.
5312
5313 Remove useless if-before-free tests.
5314 * editfns.c (Fset_time_zone_rule): Likewise.
5315 * lread.c (nosuffix): Likewise.
5316 * ralloc.c (get_bloc): Likewise.
5317 * regex.c (reg_free): Likewise.
5318 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5319 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5320 * xsmfns.c (smc_save_yourself_CB): Likewise.
5321
53222008-06-02 Kenichi Handa <handa@m17n.org>
5323
5324 * font.c (font_find_for_lface): Handle float font size.
5325 (font_open_for_lface): Likewise.
5326
5327 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5328 comparing the properties.
5329
53302008-06-01 Jason Rumney <jasonr@gnu.org>
5331
5332 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5333 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5334 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5335 Don't add empty script list.
5336 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5337
53382008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5339
5340 * Makefile.in (dot, dotdot): Remove, update users.
5341 ".." has been used elsewhere in the file for a long time.
5342 (LIBXT_STATIC): Remove conditional based on unused variable.
5343
53442008-06-01 Miles Bader <miles@gnu.org>
5345
5346 * xfaces.c (Vface_remapping_alist): New variable.
5347 (syms_of_xfaces): Initialize it.
5348 (enum named_merge_point_kind): New type.
5349 (struct named_merge_point): Add `named_merge_point_kind' field.
5350 (push_named_merge_point): Make cycle detection respect different
5351 named-merge-point kinds.
5352 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5353 Remove face-name alias resolution.
5354 (lface_from_face_name): New definition using
5355 `lface_from_face_name_no_resolve'.
5356 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5357 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5358 (get_lface_attributes): New definition that layers face-remapping on
5359 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5360 (lookup_basic_face): New function.
5361 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5362 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5363 `get_lface_attributes'.
5364 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5365 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5366 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5367
5368 * xdisp.c (init_iterator): Pass base_face_id through
5369 `lookup_basic_face' when we actually use it as a face-id.
5370 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5371 DEFAULT_FACE_ID.
5372
5373 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5374 lookup the initial face-id.
5375
5376 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5377
53782008-06-01 Juanma Barranquero <lekktu@gmail.com>
5379
5380 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5381 (Fremove_text_properties): Fix typos in docstrings.
5382
53832008-05-31 Kenichi Handa <handa@m17n.org>
5384
5385 * font.c (font_list_entities): Fix the car part of data to be
5386 stored in the cache.
5387
5388 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5389
53902008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5391
5392 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5393 Add a `test' argument so another predicate than `equal' can be used.
5394 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5395 (map_char_table): Remove unused vars `c' and `i'.
5396 * lisp.h (Foptimize_char_table): Adjust declaration.
5397 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5398
53992008-05-30 Kenichi Handa <handa@m17n.org>
5400
5401 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5402 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5403 defined.
5404
54052008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5406
5407 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5408 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5409 frame-local settings for the same variable.
5410
54112008-05-30 Kenichi Handa <handa@m17n.org>
5412
5413 * fontset.c (Ffont_info): Move to font.c.
5414 (syms_of_fontset): Delete defsubr of Sfont_info.
5415
5416 * font.c (font_style_to_value, font_score): Delete casting of the
5417 args to xstcasecmp.
5418 (register_font_driver): Increment num_font_drivers only when
5419 registering the driver globally.
5420 (Ffont_info): Move from fontset.c. Handle a font object too.
5421 (syms_of_font): Defsubr Sfont_info.
5422
54232008-05-29 Kenichi Handa <handa@m17n.org>
5424
5425 * coding.h (enum define_coding_utf8_arg_index): New enum.
5426 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5427 coding_attr_utf_bom.
5428 (enum utf_bom_type): Rename from utf_16_bom_type.
5429 (struct utf_16_spec): Adjust for the above change.
5430 (struct coding_system): Add utf_8_bom in `spec' union.
5431
5432 * coding.c (CODING_UTF_8_BOM): New macro.
5433 (enum coding_category): Delete coding_category_utf_8, add
5434 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5435 coding_category_utf_8_sig.
5436 (CATEGORY_MASK_UTF_8): Delete it.
5437 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5438 (CATEGORY_MASK_UTF_8_SIG): New macros.
5439 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5440 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5441 CATEGORY_MASK_UTF_8_SIG.
5442 (CATEGORY_MASK_UTF_8): New macro.
5443 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5444 (detect_coding_utf_8): Check BOM.
5445 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5446 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5447 (encode_coding_utf_16): Likewise.
5448 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5449 (detect_coding, detect_coding_system): Handle utf-8-auto.
5450 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5451 (syms_of_coding): Fix setting up of Vcoding_category_table.
5452
54532008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5454
5455 * process.c (Faccept_process_output): If `millisec' is non-nil,
5456 `seconds' default to 0.
5457 (wait_reading_process_output): Also return non-nil if we read output
5458 from a non-running process.
5459
54602008-05-29 Jason Rumney <jasonr@gnu.org>
5461
5462 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5463 `raster' specified.
5464 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5465 in the uniscribe backend, but disallow any font that has no
5466 unicode subrange support.
5467
54682008-05-29 Juanma Barranquero <lekktu@gmail.com>
5469
5470 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5471 Fix typos in docstrings.
5472
54732008-05-29 Kenichi Handa <handa@m17n.org>
5474
5475 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5476 (Fx_family_fonts): Set frame correctly.
5477
54782008-05-28 Jason Rumney <jasonr@gnu.org>
5479
5480 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5481
54822008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5483
5484 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5485 calling build_annotations.
5486
54872008-05-28 Juanma Barranquero <lekktu@gmail.com>
5488
5489 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5490 (Fencode_coding_string):
5491 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5492 <latin-extra-code-table>: Fix typos in docstrings.
5493 (syms_of_coding) <coding-system-alist>: Doc fix.
5494 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5495
54962008-05-28 Kenichi Handa <handa@m17n.org>
5497
5498 * fontset.c (Ffont_info): Don't call font_close_object.
5499
5500 * font.c (font_parse_family_registry): Use Ffont_put to validate
5501 foundry and family.
5502 (font_delete_unmatched): Don't check spacing.
5503 (font_list_entities): Add spacing to the spec to list fonts.
5504
5505 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5506 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5507
5508 * coding.c (encode_coding_raw_text): Fix previous change.
5509 (encode_coding_object): When the dst_object is a buffer and is
5510 different from src_object, move gap to PT.
5511
55122008-05-27 Chong Yidong <cyd@stupidchicken.com>
5513
5514 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5515
55162008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5517
5518 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5519 all branches. Compute it differently.
5520
5521 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5522
55232008-05-27 Juanma Barranquero <lekktu@gmail.com>
5524
5525 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5526 into "else if () ... else ...".
5527
55282008-05-27 Jason Rumney <jasonr@gnu.org>
5529
5530 * w32font.c (w32font_open_internal): Determine if glyph indices
5531 are likely to work here.
5532
55332008-05-27 Chong Yidong <cyd@stupidchicken.com>
5534
5535 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5536 draw overlap glyphs with appropriate highlighting.
5537
55382008-05-27 Kenichi Handa <handa@m17n.org>
5539
5540 * xfont.c (xfont_open): Fix calculation of font->average_width.
5541
55422008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5543
5544 * casefiddle.c (casify_object): Try to guess better whether the
5545 argument is a byte or a char.
5546
55472008-05-26 Andreas Schwab <schwab@suse.de>
5548
5549 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5550 Always send multiples of format size.
5551
5552 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5553
55542008-05-26 Jason Rumney <jasonr@gnu.org>
5555
5556 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5557 (compute_metrics): Don't set failure if we just cleared the cache.
5558 (w32_weight_table): Remove unused variable.
5559 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5560 backwards compatibility.
5561
55622008-05-25 Kenichi Handa <handa@m17n.org>
5563
5564 * w32term.c (x_draw_glyph_string):
5565 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5566
5567 * xfaces.c: Delete unused function prototypes.
5568 (xstrlwr, font_frame): Delete them.
5569 (clear_face_cache): Delete unused variable.
5570
5571 * xftfont.c (xftfont_open): Delete unused variable.
5572 If underline_thickness is not 1, adjust underline_position.
5573
5574 * ftxfont.c (ftxfont_open): Delete unused variable.
5575
5576 * fontset.c (face_for_char): Optimize for the case of no charset
5577 property.
5578
5579 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5580 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5581 (otf_open, font_otf_capability, generate_otf_features)
5582 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5583 Comment out by surrounding "#if 0" and "#endif" for the moment.
5584 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5585 (syms_of_font): Codes for accessing above commented out.
5586
55872008-05-24 Eli Zaretskii <eliz@gnu.org>
5588
5589 * w32proc.c: Include dispextern.h.
5590
5591 * w32.c: Include dispextern.h.
5592
55932008-05-23 Juanma Barranquero <lekktu@gmail.com>
5594
5595 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5596 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5597 Fix typos in docstrings.
5598
55992008-05-23 Jason Rumney <jasonr@gnu.org>
5600
5601 * xsmfns.c: Remove includes that are already included by config.h.
5602
56032008-05-23 Kenichi Handa <handa@m17n.org>
5604
5605 * charset.c (Qemacs, charset_emacs): New variables.
5606 (char_charset): Fix for non-Unicode characters.
5607 (syms_of_charset): Define charset_emacs.
5608
5609 * w32term.c (x_draw_glyph_string): Be sure to update
5610 s->underline_thickness and s->underline_position. Be sure to draw
5611 underline within the current line area.
5612
5613 * xterm.c (x_draw_glyph_string): Be sure to update
5614 s->underline_thickness and s->underline_position. Be sure to draw
5615 underline within the current line area.
5616
5617 * fontset.c: Delete unused variables and add casting for char *
5618 throughout the file.
5619 (fontset_font): Try the fallback fonts of the current fontset
5620 before consulting the default fontset.
5621
5622 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5623
5624 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5625
56262008-05-22 Jason Rumney <jasonr@gnu.org>
5627
5628 * font.c: Don't include strings.h.
5629
5630 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5631
5632 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5633 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5634 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5635 to call xstrcasecmp.
5636
5637 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5638
5639 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5640
5641 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5642
5643 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5644
56452008-05-22 Kenichi Handa <handa@m17n.org>
5646
5647 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5648
5649 * font.c (font_prop_validate_style): Adjust for the format
5650 change of font_style_table.
5651
5652 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5653 two args.
5654
5655 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5656 two args.
5657
56582008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5659
5660 * minibuf.c (keys_of_minibuf): Delete.
5661 * lisp.h (keys_of_minibuf): Delete.
5662 * emacs.c (main): Don't call keys_of_minibuf.
5663
56642008-05-22 Kenichi Handa <handa@m17n.org>
5665
5666 * ftfont.c (ftfont_resolve_generic_family): Rename from
5667 ftfont_list_generic_family. Return a single family for each
5668 generic family.
5669 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5670 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5671 Call font_add_log.
5672 (ftfont_match): Call font_add_log.
5673
5674 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5675 (FONT_DEBUG): Define it.
5676 (font_add_log): Extern it.
5677 (font_assert): Rename from xassert.
5678
5679 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5680 (xfont_list_family): Call font_add_log.
5681 (xfont_match): Likewise.
5682 (memq_no_quit): Delete.
5683
5684 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5685 call of Ffont_xlfd_name.
5686
5687 * xfaces.c (struct table_entry, slant_table, weight_table)
5688 (swidth_table): Move to font.c.
5689
5690 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5691 xassert are changed to font_assert. Delete many unused variables.
5692 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5693 New variables.
5694 (struct table_entry): Move from xfaces.c and modified.
5695 (weight_table, slant_table, width_table): Move from xfaces.c and
5696 contents adjusted for the change of struct table_entry.
5697 (font_style_to_value, font_style_symbolic): Adjust for the
5698 format change of font_style_table.
5699 (font_parse_family_registry): Don't overwrite existing foundry and
5700 family of font_spec.
5701 (font_score): Fix calculation of diff for sizes.
5702 (font_sort_entites): Call font_add_log.
5703 (font_delete_unmatched): Return a newly created list.
5704 (font_list_entities): Fix previous change. Call font_add_log.
5705 (font_matching_entity, font_open_entity, font_close_entity):
5706 Call font_add_log.
5707 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5708 (Finternal_set_font_style_table): Delete.
5709 (BUILD_STYLE_TABLE): New macro.
5710 (build_style_table): New function.
5711 (Vfont_log, font_log_env_checked): New variables.
5712 (font_add_log): New function.
5713 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5714 Declare Lisp variables "font-weight-table", "font-slant-table",
5715 "font-width-table", and "font-log". Initialize font_style_table.
5716
57172008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5718
5719 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5720
57212008-05-21 Seiji Zenitani <zenitani@mac.com>
5722 Ryo Yoshitake <ryo@shiftmode.net>
5723
5724 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5725 (Vframe_alpha_lower_limit): New variable.
5726 (x_set_alpha): New function.
5727
5728 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5729
5730 * xfns.c (x-create-frame, Qalpha):
5731 Initialize the frame parameter `alpha'.
5732 * xterm.c (OPAQUE, OPACITY): New.
5733 (x_set_frame_alpha): New function.
5734 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5735
5736 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5737 * w32fns.c (w32_frame_parm_handlers): Likewise.
5738
57392008-05-20 Jason Rumney <jasonr@gnu.org>
5740
5741 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5742 truetype fonts to opentype list.
5743
57442008-05-20 Juanma Barranquero <lekktu@gmail.com>
5745
5746 * fontset.c (Ffontset_info): Doc fix.
5747 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5748 <ignore-relative-composition>: Fix typos in docstrings.
5749
5750 * font.c (syms-of-font) <font-encoding-alist>:
5751 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5752 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5753 (Ffont_otf_alternates): Doc fixes.
5754
57552008-05-20 Kenichi Handa <handa@m17n.org>
5756
5757 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5758 font.h through out the file.
5759 (FONT_DRIVERS): Rename from FONTOBJ.
5760 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5761 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5762
5763 * emacs.c (main): Call syms_of_font unconditionally.
5764
5765 * font.h (find_font_encoding): Extern it.
5766
5767 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5768 fontset.c.
5769 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5770 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5771 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5772 only when HAVE_WINDOW_SYSTEM is defined.
5773 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5774 when HAVE_WINDOW_SYSTEM is defined.
5775
5776 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5777 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5778
5779 * xfaces.c: Include font.h unconditionally.
5780 (merge_face_ref, merge_face_vectors)
5781 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5782
57832008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5784
5785 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5786 indirect_variable.
5787 * eval.c (lisp_indirect_variable): New fun.
5788 (Fuser_variable_p): Use it.
5789
57902008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5791
5792 * lisp.h (indirect_variable):
5793 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5794 Use Lisp_Symbol pointers rather than Lisp_Object.
5795 Adjust callers.
5796 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5797 To this end, change calling-convention.
5798
5799 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5800 if some non-hidden buffers are selected by string&pred.
5801
58022008-05-19 Chong Yidong <cyd@stupidchicken.com>
5803
5804 * process.c (wait_reading_process_output): Always check status
5805 when in batch mode.
5806
58072008-05-19 Kenichi Handa <handa@m17n.org>
5808
5809 * font.c (font_list_entities): Fix handling of cache.
5810 (font_matching_entity): Likewise.
5811
5812 * ftfont.c (cs_iso8859_1): Delete.
5813 (ft_face_cache): New variable.
5814 (struct ftfont_info): New member fc_charset_idx.
5815 (ftfont_build_basic_charsets): Delete.
5816 (fc_charset_table): New variable.
5817 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5818 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5819 Callers changed.
5820 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5821 (ftfont_spec_pattern): New argument fc_charset_idx.
5822 Check registry more rigidly. Change callers.
5823 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5824 change of :font-entity property of the font.
5825
5826 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5827 property of the font.
5828
58292008-05-18 Juanma Barranquero <lekktu@gmail.com>
5830
5831 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5832 (Funencodable_char_position, Fcheck_coding_systems_region)
5833 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5834 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5835 (Ffind_operation_coding_system, Fset_coding_system_priority)
5836 (Fcoding_system_eol_type): Doc fixes.
5837
58382008-05-17 Glenn Morris <rgm@gnu.org>
5839
5840 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5841
58422008-05-16 Eli Zaretskii <eliz@gnu.org>
5843
5844 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5845 and st_gid.
5846
5847 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5848 HAVE_WINDOW_SYSTEM is not defined.
5849
5850 * xfaces.c (merge_face_ref, merge_face_vectors)
5851 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5852 HAVE_WINDOW_SYSTEM is defined.
5853 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5854
58552008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
5856
5857 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
5858
58592008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5860
5861 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
5862
58632008-05-15 Kenichi Handa <handa@m17n.org>
5864
5865 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
5866 preference.
5867
58682008-05-15 Glenn Morris <rgm@gnu.org>
5869
5870 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
5871
58722008-05-15 Chong Yidong <cyd@stupidchicken.com>
5873
5874 * fns.c (init_fns): Don't initialize weak_hash_tables here.
5875 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
5876
5877 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
5878
58792008-05-15 Kenichi Handa <handa@m17n.org>
5880
5881 * ftfont.c (ftfont_list): Downcase family name to check generic
5882 families.
5883
5884 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
5885 font-spec for QCfont value.
5886
5887 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
5888 buffer. Check the return value of it.
5889
58902008-05-14 Jason Rumney <jasonr@gnu.org>
5891
5892 * w32term.c (w32_get_glyph_overhangs): Remove.
5893 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
5894
58952008-05-14 Kenichi Handa <handa@m17n.org>
5896
5897 * font.c (font_prop_validate): Make nil a valid value.
5898 (font_clear_cache): Check if the cached vector of entities is nil
5899 or not.
5900
59012008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5902
5903 * emacs.c (main_thread): Conditionalize on
5904 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5905 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
5906
5907 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
5908 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
5909 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
5910
59112008-05-14 Kenichi Handa <handa@m17n.org>
5912
5913 * coding.c (detect_coding_iso_2022): Ignore a coding category that
5914 has no corresponding coding system.
5915
59162008-05-14 Jason Rumney <jasonr@gnu.org>
5917
5918 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
5919
5920 * w32font.h (w32font_open_internal): Update declaration.
5921
5922 * w32font.c (w32font_open_internal): Change last argument from
5923 w32font_info struct to font object. Fill in font object from
5924 font_entity. Get Outline metrics if possible. Use them to
5925 calculate underline position and thickness. Use xlfd name as name
5926 property. Don't set codepage.
5927 (w32font_open): Pass font_object to w32font_open_internal. Don't
5928 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
5929 (w32font_draw): Use s->font.
5930 (clear_cached_metrics): Don't clear non-existent blocks.
5931
5932 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
5933 font was not found.
5934 (x_draw_glyph_string): Use underline position and thickness from font.
5935
5936 * w32uniscribe.c (uniscribe_open): Pass font_object to
5937 w32font_open_internal.
5938
59392008-05-14 Kenichi Handa <handa@m17n.org>
5940
5941 These changes are to delete all legacy font-handling codes, and
5942 make Emacs use only font-backends.
5943
5944 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
5945 (frame.o, image.o, print.o): Depend on $(FONTSRC).
5946
5947 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
5948
5949 * charset.h (Vcharset_non_preferred_head)
5950 (Vcurrent_iso639_language): Extern them.
5951
5952 * charset.c (Vcharset_non_preferred_head): New variable.
5953 (Vcurrent_iso639_language): New variable.
5954 (syms_of_charset): Declare it as a Lisp variable.
5955 (char_charset): Don't check non preferred charsets. As a last
5956 resort, return charset_unicode.
5957 (Fset_charset_priority): Update Vcharset_non_preferred_head.
5958
5959 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
5960 conditionals. Don't check enable_font_backend. Delete all codes
5961 used only when USE_FONT_BACKEND is not defined.
5962
5963 * dispextern.h (struct glyph_string): Change type of `font' to
5964 `struct font *'.
5965 (struct glyph_string): New member underline_position and
5966 underline_thickness.
5967 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
5968 (struct face): Change type of `font' to `struct font *'. Remove
5969 members `font_name', `font_info_id'.
5970 (per_char_metric, encode_char): Delete externs.
5971 (calc_pixel_width_or_height): Adjust the prototype.
5972
5973 * emacs.c (enable_font_backend): Delete extern.
5974 (main): Don't set enable_font_backend. Don't check the command
5975 line argument "-disable-font-backend".
5976
5977 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
5978 (enum font_property_index): New members FONT_DPI_INDEX,
5979 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
5980 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
5981 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
5982 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
5983 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
5984 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
5985 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
5986 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
5987 (struct font_spec, struct font_entity): New structs.
5988 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
5989 (struct font): Many members from old "struct font_info" moved to
5990 here. Members font and entity deleted.
5991 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
5992 the new font-related objects.
5993 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
5994 (CHECK_FONT_GET_OBJECT): Likewise.
5995 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
5996 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
5997 (struct font_driver): New members case_sensitive anc check. Type
5998 of the member list and open changed.
5999 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6000 (font_symbolic_width, font_find_object, font_get_spec)
6001 (font_set_lface_from_name): Delete extern.
6002 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6003
6004 * font.c: Include <strings.h>.
6005 (enable_font_backend): Delete it.
6006 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6007 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6008 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6009 (null_string): Delete it.
6010 (null_vector): Make it static.
6011 (font_family_alist): Delete it.
6012 (Qnormal): Extern it.
6013 (QCextra, QClanguage): Delete it.
6014 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6015 (font_make_spec, font_make_entity, font_make_object)
6016 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6017 the string. Callers changed.
6018 (font_pixel_size): Adjusted for the format change of font-related
6019 objects.
6020 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6021 (font_style_to_value, font_style_symbolic): New function.
6022 (build_font_family_alist): Delete it.
6023 (font_registry_charsets): Use Fassoc_string instead of
6024 assq_no_quit.
6025 (font_prop_validate_symbol): Don't return null_string.
6026 (font_prop_validate_style): Adjusted for the change of
6027 style-related values in a font vector.
6028 (font_property_table): Delete entries for QClanguage and
6029 QCantialias, add entries for QCavgwidth.
6030 (get_font_prop_index): Delete the 2nd argument FROM.
6031 (font_prop_validate): Arguments changed.
6032 (font_put_extra): Adjusted for the change of font-related objects.
6033 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6034 (font_parse_fcname, font_unparse_fcname)
6035 (font_prepare_composition): Likewise.
6036 (font_parse_family_registry): Renamed from font_merge_old_spec.
6037 (otf_open): Delete the 1st arg entity.
6038 (font_otf_capability): Adjusted for the above change.
6039 (font_score): New arg alternate_families. Adjusted for the change
6040 of font-related objects.
6041 (font_sort_entites): New arg best_only.
6042 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6043 Delete them.
6044 (font_match_p): Check alternate families.
6045 (font_find_object): Delete it.
6046 (font_check_object): New function.
6047 (font_clear_cache): Adjusted for the change of font-related objects.
6048 (font_delete_unmatched): New arg.
6049 (font_list_entities): Call font_driver->list with a spec that
6050 doesn't specify style-related properties.
6051 (font_matching_entity): Arguments changed. Caller changed.
6052 (font_open_entity): Adjusted for the change of font-related objects.
6053 (font_close_object, font_has_char, font_encode_char)
6054 (font_get_name, font_get_spec): Likewise.
6055 (font_spec_from_name, font_clear_prop, font_update_lface):
6056 New functions.
6057 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6058 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6059 (font_at): Adjusted for the change of font-related objects.
6060 (font_range): New function.
6061 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6062 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6063 (Fcopy_font_spec, Fmerge_font_spec): New function.
6064 (Ffont_family_list): Renamed from list-families.
6065 (Finternal_set_font_style_table): Arguments changed.
6066 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6067 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6068 change of font-related objects.
6069 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6070
6071 * fontset.h (struct font_info): Delete it. Most members go to
6072 struct font.
6073 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6074 (enum FONT_SPEC_INDEX): Delete it.
6075 (font_info, list_fonts_func, load_font_func, query_font_func)
6076 (set_frame_fontset_func, find_ccl_program_func)
6077 (get_font_repertory_func, new_fontset_from_font_name): Delete
6078 externs.
6079 (fontset_from_font_name): Extern it.
6080 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6081 (FONT_INFO_FROM_FACE): Deleted.
6082 (face_for_font): Adjust prototype.
6083
6084 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6085 conditionals. Don't check enable_font_backend. Delete all codes
6086 used only when USE_FONT_BACKEND is not defined.
6087 (get_font_info_func, list_font_func, load_font_func)
6088 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6089 (get_font_repertory_func): Delete them.
6090 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6091 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6092 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6093 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6094 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6095 (fontset_compare_rfontdef): New function.
6096 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6097 rfont-defs by qsort. Adjusted for the change of font-group vector.
6098 (load_font_get_repertory): Deleted.
6099 (fontset_find_font): Use new macros to ref/set elements of
6100 font-def and rfont-def.
6101 (fontset_font): Fix the timing of remembering that no font for C.
6102 (free_face_fontset): Do nothing if the face has no fontset.
6103 (face_suitable_for_char_p): Use new macros to ref/set elements of
6104 rfont-def.
6105 (face_for_char): Likewise. Call face_for_char with font_object.
6106 (fs_load_font): Delete. Delete #pragma surrounding it.
6107 (fs_query_fontset): Use strcasecmp instead of strcmp.
6108 (generate_ascii_font_name): Adjusted for the format change of
6109 font-spec.
6110 (Fset_fontset_font): Likewise. Use new macros to set elements of
6111 font-def.
6112 (Fnew_fontset): Use font_unparse_xlfd to generate
6113 FONTSET_ASCII (fontset).
6114 (new_fontset_from_font_name): Deleted.
6115 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6116 a fontset is already created for the font. FIx updating of
6117 Vfontset_alias_alist.
6118 (fontset_ascii_font): Deleted.
6119 (Ffont_info): Adjusted for the format change of font-spec.
6120 (Finternal_char_font): Likewise.
6121 (Ffontset_info): Likewise.
6122 (syms_of_fontset): Don't check load_font_func.
6123
6124 * fns.c (internal_equal): Handle PREV_FONT.
6125
6126 * frame.h: Delete USE_FONT_BACKEND conditional.
6127
6128 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6129 conditionals. Don't check enable_font_backend. Delete all codes
6130 used only when USE_FONT_BACKEND is not defined.
6131 (x_set_font): Call x_new_font, not x_new_fontset2.
6132 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6133 already set for the frame.
6134
6135 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6136 a font-entity by font_make_entity. Use font_intern_prop instead
6137 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6138 font property. If a font is scalable, set avgwidth property to 0.
6139 Set font-entity property by font_put_extra.
6140 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6141 (ffont_driver): Adjusted for the change of struct font_driver.
6142 (ftfont_spec_pattern): New function.
6143 (ftfont_list): Return a list, not vector.
6144 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6145 (ftfont_list_family): Don't downcase names.
6146 (ftfont_free_entity): Deleted.
6147 (ftfont_open): Return a font-object. Adjusted for the change of
6148 struct font. Get underline_thickness and underline_position from
6149 font property. Don't update dpyinfo->smallest_font_height and
6150 dpyinfo->smallest_char_width.
6151 (ftfont_close): Don't free `struct font'.
6152 (ftfont_has_char): Adjusted for the format change of font-entity.
6153 (ftfont_encode_char, ftfont_text_extents): Likewise.
6154
6155 * ftxfont.c (ftxfont_list): Return a list, not vector.
6156 (ftxfont_open): Return a font-object. Adjusted for the change of
6157 struct font. Get underline_thickness and underline_position from
6158 font property. Don't update dpyinfo->smallest_font_height and
6159 dpyinfo->smallest_char_width.
6160 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6161 (ftxfont_draw): Adjusted for the change of struct font.
6162
6163 * image.c (image_ascent): Don't include "charset.h". Include
6164 "character.h" and "font.h".
6165
6166 * lisp.h (enum pvec_type): New member PREV_FONT.
6167 (Fassoc_string): EXFUN it.
6168
6169 * print.c: Include font.h.
6170 (print_object): Handle font-related objects.
6171
6172 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6173 conditionals. Don't check enable_font_backend. Delete all codes
6174 used only when USE_FONT_BACKEND is not defined.
6175 (handle_auto_composed_prop): Do nothing if it->f is not on a
6176 window system. Check how many following characters can be
6177 displayed by the same font.
6178 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6179 'struct font *'.
6180 (get_char_face_and_encoding): Assign the whole encoding task to
6181 the `encode-char' method of a font driver.
6182 (fill_composite_glyph_string): Adjusted for the change of `struct
6183 face' and `struct glyph_string'.
6184 (fill_glyph_string): Likewise.
6185 (get_per_char_metric): Arguments changed.
6186 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6187 and `struct glyph_string'.
6188 (produce_stretch_glyph, calc_line_height_property)
6189 (x_produce_glyphs): Likewise.
6190
6191 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6192 conditionals. Don't check enable_font_backend. Delete all codes
6193 used only when USE_FONT_BACKEND is not defined. Use
6194 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6195 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6196 (Qp): Extern them.
6197 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6198 Deleted.
6199 (struct font_name): Deleted.
6200 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6201 (compare_fonts_by_sort_order): New function.
6202 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6203 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6204 Deleted.
6205 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6206 compare_fonts_by_sort_order.
6207 (Fx_font_family_list): Call Ffont_family_list.
6208 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6209 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6210 (face_symbolic_slant, face_symbolic_swidth)
6211 (split_font_name_into_vector, build_font_name_from_vector)
6212 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6213 (font_rescale_ratio, split_font_name, build_font_name)
6214 (free_font_names, sort_fonts, x_face_list_fonts)
6215 (face_font_available_p, sorted_font_list, cmp_font_names)
6216 (font_list_1, concat_font_list, font_list, remove_duplicates):
6217 Deleted.
6218 (Fx_list_fonts): Use Ffont_list.
6219 (LFACE_AVGWIDTH): Deleted.
6220 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6221 by FONTP.
6222 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6223 (set_lface_from_font_name): Delete it.
6224 (set_lface_from_font): Renamed from
6225 set_lface_from_font_and_fontset. Caller changed. Don't set
6226 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6227 for face.
6228 (merge_face_vectors): Copy font-spec if necessary.
6229 Clear properties of the font-spec if necessary.
6230 (merge_face_ref): Clear properties of the font-spec if necessary.
6231 (Finternal_set_lisp_face_attribute): Likewise.
6232 (set_font_frame_param): Use font_load_for_lface to load a
6233 font-object, and call Fmodify_frame_parameters with it.
6234 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6235 font name by Ffont_xlfd_name.
6236 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6237 QCslant, and QCwidth.
6238 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6239 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6240 Compare fonts by EQ.
6241 (lookup_non_ascii_face): Deleted.
6242 (face_for_font): The 2nd argument changed.
6243 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6244 Check atomic font properties by case insensitive.
6245 (realize_non_ascii_face): Set face->overstrike correctly.
6246 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6247 (dump_realized_face): Get font name from
6248 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6249
6250 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6251 conditionals. Don't check enable_font_backend. Delete all codes
6252 used only when USE_FONT_BACKEND is not defined.
6253 (xic_create_xfontset): Original code deleted and renamed from
6254 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6255 (x_make_gc): Don't set GCFont in GCs.
6256 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6257 opened by "fixed".
6258 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6259 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6260 get_font_repertory_func.
6261
6262 * xfont.c: Include <stdlib.h> and "ccl.h".
6263 (struct xfont_info): New structure.
6264 (xfont_query_font): Deleted.
6265 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6266 moved from xterm.c.
6267 (xfont_driver): Adjusted for the change of struct font_driver.
6268 (compare_font_names): New function.
6269 (xfont_list_pattern): Sort font names case insensitively. Make
6270 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6271 (xfont_list): Return a list, not vector.
6272 (xfont_match): If the font doesn't have QCname property, generate
6273 a name from the other font properties.
6274 (xfont_open): Return a font-object. Adjusted for the change of
6275 struct font. Get underline_thickness and underline_position from
6276 font property. Don't update dpyinfo->smallest_font_height and
6277 dpyinfo->smallest_char_width.
6278 (xfont_close): Don't free struct font.
6279 (xfont_prepare_face): Adjusted for the change of struct font.
6280 (xfont_done_face): Deleted.
6281 (xfont_has_char): Adjusted for the change of struct font.
6282 (xfont_encode_char, xfont_draw): Likewise.
6283 (xfont_check): New function.
6284
6285 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6286 callback function.
6287 (xftfont_match): Adjusted for the format change of font-entity.
6288 (xftfont_open): Adjusted for the format change of font-entity and
6289 font-object. Adjusted for the change of struct font. Return a
6290 font-object. Don't update dpyinfo->smallest_font_height and
6291 dpyinfo->smallest_char_width.
6292 (xftfont_close): Block input while calling XftFontClose.
6293 (xftfont_prepare_face): Don't block input while calling
6294 xftfont_get_colors. Adjusted for the change of struct font.
6295 (xftfont_shape): Return value of error case fixed.
6296
6297 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6298
6299 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6300 conditionals.
6301 (FONT_WIDTH): Return (f)->max_width.
6302 (struct x_display_info): Delete member `font'.
6303 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6304 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6305 (struct x_output): Change type of `font' to `struct font *'.
6306
6307 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6308 conditionals. Don't check enable_font_backend. Delete all codes
6309 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6310 (x_per_char_metric, x_encode_char): Deleted.
6311 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6312 (x_compute_glyph_string_overhangs): Adjusted for the change of
6313 `struct face'.
6314 (x_draw_glyph_string_foreground)
6315 (x_draw_composite_glyph_string_foreground): Likewise.
6316 (x_draw_glyph_string): Likewise. Use font->underline_position and
6317 font->underline_thickness.
6318 (x_new_font): Renamed from x_new_fontset2.
6319 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6320 (x_check_font): Call `check' method of a font driver.
6321 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6322 (x_query_font, x_get_font_repertory): Deleted.
6323 (x_find_ccl_program): Renamed and moved to xfont.c.
6324 (x_redisplay_interface): Adjusted for the change of `struct
6325 redisplay_interface'.
6326
6327 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6328 conditionals. Don't check enable_font_backend. Delete all codes
6329 used only when USE_FONT_BACKEND is not defined. Surround non-used
6330 code by "#ifdef OLD_FONT" and "endif".
6331 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6332
6333 * w32font.h (struct w32font_info): New member.
6334 (FONT_COMPAT): New macro.
6335 (w32font_open_internal): Prototype adjusted.
6336
6337 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6338 OLD_FONT" and "endif".
6339
6340 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6341 conditionals. Don't check enable_font_backend. Delete all codes
6342 used only when USE_FONT_BACKEND is not defined.
6343 (w32font_open): Return a font-object. Make a font-object by
6344 font_make_object. Adjusted for the change of struct w32font_info.
6345 (w32font_close): Don't free struct font. Adjusted for the change
6346 of struct w32font_info.
6347 (w32font_encode_char, w32font_text_extents, w32font_draw):
6348 Adjusted for the change of struct w32font_info.
6349 (w32font_draw): Likewise.
6350 (w32font_list_internal): Return a list, not vector.
6351 (w32font_open_internal): Change the 4th arg to font-object.
6352 Adjusted for the change of struct w32font_info and font-object format.
6353 (add_font_name_to_list): Don't downcase names.
6354 (w32_enumfont_pattern_entity): Make a font-entity by
6355 font_make_entity. Adjusted for the format change of font-entity.
6356 Use FONT_SET_STYLE to set a style-related font property. If a
6357 font is scalable, set avgwidth property to 0. Set font-entity
6358 property by font_put_extra.
6359 (font_matches_spec): Adjusted for the format change of font-entity.
6360 (w32_weight_table, w32_decode_weight): New variables.
6361 (w32_encode_weight): New function.
6362 (fill_in_logfont): Adjusted for the format change of font-spec.
6363 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6364 weight value.
6365 (w32font_driver): Adjusted for the change of struct font_driver.
6366
6367 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6368 conditionals. Don't check enable_font_backend. Surround non-used
6369 code by "#ifdef OLD_FONT" and "endif".
6370 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6371 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6372
6373 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6374 conditionals. Don't check enable_font_backend. Delete all codes
6375 used only when USE_FONT_BACKEND is not defined. Surround non-used
6376 code by "#ifdef OLD_FONT" and "endif".
6377
6378 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6379 (uniscribe_open): Return value changed to font-object.
6380 Adjusted for the format change of font-object.
6381 (uniscribe_otf_capability): Adjusted for the change of struct font.
6382 (add_opentype_font_name_to_list): Don't downcase names.
6383 (uniscribe_font_driver): Adjusted for the change of struct
6384 font_driver.
6385
63862008-05-13 Chong Yidong <cyd@stupidchicken.com>
6387
6388 * dispnew.c (update_frame_1): Check if tty output is still valid
6389 before flushing it.
6390
63912008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6392
6393 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6394 to Gtk+ menus.
6395
63962008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6397
6398 * dired.c (file_name_completion): Tweak the code so as to always do it
6399 in a single pass. Tighten the scope of some variables.
6400
6401 * dired.c (Qdefault_directory): New var.
6402 (file_name_completion): Use it instead of Fexpand_file_name.
6403 (syms_of_dired): Initialize it.
6404
64052008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6406
6407 * fileio.c (double_dollars): Remove dead code.
6408
64092008-05-10 Eli Zaretskii <eliz@gnu.org>
6410
6411 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6412 Mention w32-get-true-file-attributes in doc string.
6413
6414 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6415
64162008-05-09 Glenn Morris <rgm@gnu.org>
6417
6418 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6419 2008-04-23.
6420
64212008-05-09 Eli Zaretskii <eliz@gnu.org>
6422
6423 Support for reporting owner and group of each file on MS-Windows:
6424 * dired.c (stat_uname, stat_gname): New functions, with special
6425 implementation for w32.
6426 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6427
6428 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6429 (dflt_group_name): New static variable.
6430 (dflt_group): Rename from the_group.
6431 (init_user_info): Init dflt_group fields. Get user's group name
6432 from LookupAccountSid.
6433 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6434 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6435 New initialization states.
6436 (globals_of_w32): Initialize them to zero. Initialize the default
6437 group name to "None".
6438 (GetFileSecurity_Name): New global var, the name of the function
6439 to call for GetFileSecurity.
6440 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6441 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6442 (get_file_security, get_security_descriptor_owner)
6443 (get_security_descriptor_group, is_valid_sid)
6444 (get_file_security_desc, get_rid, get_name_and_id)
6445 (get_file_owner_and_group): New functions.
6446 (stat): Use get_file_security_desc and get_file_owner_and_group to
6447 report the owner and primary group of each file. Don't ignore the
6448 high 32 bits of file's size, now that st_size is 64-bit wide.
6449 Fix test when to get true file attributes.
6450 (init_user_info): Use get_rid instead of equivalent inline code.
6451 (fstat): Don't ignore the high 32 bits of file's size.
6452
64532008-05-09 Chong Yidong <cyd@stupidchicken.com>
6454
6455 * image.c (png_load): Use correct bit-depth for setting background
6456 color.
6457
64582008-05-08 Eli Zaretskii <eliz@gnu.org>
6459
6460 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6461 epa-hook.elc.
6462
64632008-05-08 Juanma Barranquero <lekktu@gmail.com>
6464
6465 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6466
64672008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6468
6469 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6470 because the original parameters are in pure storage now.
6471 (mac_window): Remove unused params. Update callers.
6472
64732008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6474
6475 * lread.c (substitute_object_recurse): Use lower-level primitives.
6476 Don't signal errors when traversing sub-char-tables.
6477 Don't loop over all the possible characters when traversing char-tables.
6478
6479 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6480 just like we do in print.c.
6481
64822008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6483
6484 * minibuf.c (Ftry_completion): Remove code left over from when we used
6485 scmp instead of Fcompare_strings.
6486
64872008-05-04 Juanma Barranquero <lekktu@gmail.com>
6488
6489 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6490
64912008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6492
6493 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6494 Create bitmap context in native byte order.
6495
6496 * macterm.c (XDrawLine)
6497 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6498 context in native byte order.
6499
65002008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6501
6502 * config.in: Regenerate.
6503
6504 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6505 New definitions for Image I/O support.
6506 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6507 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6508 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6509 (mac_data_provider_release_data, image_load_image_io)
6510 [USE_MAC_IMAGE_IO]: New functions.
6511 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6512 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6513 (init_image_func_pointer) [MAC_OSX]: Remove function.
6514 (image_load_quartz2d) [MAC_OSX]: Check availability of
6515 CGImageCreateWithPNGDataProvider at compile time.
6516 Use lowercase `false' for boolean constant.
6517 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6518 Use image_load_image_io.
6519 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6520 Don't check MyCGImageCreateWithPNGDataProvider.
6521 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6522 Don't call init_image_func_pointer.
6523
6524 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6525
6526 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6527 Make variable non-static.
6528 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6529 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6530
6531 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6532 (RED_FROM_ULONG): Mask off higher bits.
6533 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6534
6535 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6536 Include AvailabilityMacros.h.
6537 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6538 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6539
65402008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6541
6542 * chartab.c (Fset_char_table_range): If range is t, really set all
6543 chars to that value.
6544
65452008-05-03 Eli Zaretskii <eliz@gnu.org>
6546
6547 * dired.c (Ffile_attributes): Don't allow the device number become
6548 negative.
6549
65502008-05-02 Daiki Ueno <ueno@unixuser.org>
6551
6552 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6553
65542008-05-02 Juri Linkov <juri@jurta.org>
6555
6556 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6557 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6558 DEFAULT argument as a list of default values in docstrings.
6559
65602008-05-01 Chong Yidong <cyd@stupidchicken.com>
6561
6562 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6563
65642008-05-01 Martin Rudalics <rudalics@gmx.at>
6565
6566 * dispnew.c (change_frame_size_1): Preserve small windows when
6567 shrinking frames by calling set_window_height|width with third
6568 arg 2.
6569
6570 * window.h (struct window): Replace field too_small_ok by field
6571 resize_proportionally.
6572
6573 * window.c (make_window): Initialize resize_proportionally.
6574 (enlarge_window): Temporarily set resize_proportionally to make
6575 sure that shrink_windows does scale the window proportionally.
6576 (shrink_windows): When window has resize_proportionally set try
6577 to shrink it proportionally by stealing from other windows.
6578 (struct saved_window, Fset_window_configuration)
6579 (compare_window_configurations): Handle resize_proportionally.
6580 (WINDOW_TOTAL_SIZE): New macro.
6581 (window_min_size, shrink_windows, size_window): Use it.
6582 (check_min_window_sizes): Remove. Invalid values of
6583 window-min-height|width are handled by window_min_size_2 now.
6584 (size_window, Fsplit_window, enlarge_window)
6585 (adjust_window_trailing_edge, grow_mini_window): Don't call
6586 check_min_window_sizes.
6587 (window_min_size_2, window_min_size_1, window_min_size):
6588 New argument safe_p for retrieving "safe" minimum sizes.
6589 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6590 (adjust_window_trailing_edge, grow_mini_window):
6591 Adjust arguments of window_min_size... functions.
6592 (shrink_windows): Argument min_size removed. New argument
6593 safe_p allows shrinking windows to their safe minimum sizes.
6594 Calculate minimum size and decide whether a window shall be
6595 deleted for each window individually.
6596 (size_window): When nodelete_p equals 2, tell shrink_windows to
6597 delete windows only if their new minimum size is no more safe.
6598 (shrink_window_lowest_first): Call window_min_size_1 to make
6599 sure to preserve modeline of bottom-most window when resizing
6600 the minibuffer.
6601 (Fset_window_configuration, Fcurrent_window_configuration)
6602 (compare_window_configurations): Do not handle
6603 window-min-height|width any more.
6604 (syms_of_window): Clarify window-min-height|width doc-strings.
6605
66062008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6607
6608 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6609 some more. Copy some of the code from Ftry_completions.
6610 Remove special case code that dates back to initial revision when the
6611 slash was only added when necessary and that can't trigger nowadays.
6612
66132008-04-27 Kenichi Handa <handa@m17n.org>
6614
6615 * font.c (font_prop_validate): Signal `error' instead of `font'.
6616
66172008-04-29 Jason Rumney <jasonr@gnu.org>
6618
6619 * w32fns.c (Fw32_battery_status): New defun.
6620 (syms_of_w32fns): Defsubr it.
6621
66222008-04-28 Andreas Schwab <schwab@suse.de>
6623
6624 * dired.c (file_name_completion): Fix another mixing of encoded
6625 and decoded names.
6626
66272008-04-28 Juanma Barranquero <lekktu@gmail.com>
6628
6629 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6630
66312008-04-27 Juanma Barranquero <lekktu@gmail.com>
6632
6633 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6634
66352008-04-27 Andreas Schwab <schwab@suse.de>
6636
6637 * dired.c (file_name_completion): Fix inappropriate mixing of
6638 encoded and decoded names.
6639
6640 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6641
6642 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6643
66442008-04-26 Eli Zaretskii <eliz@gnu.org>
6645
6646 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6647 2008-03-31, it's not needed anymore with `struct stat' definition
6648 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6649 for the same reasons.
6650
66512008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6652
6653 * m/sparc.h: Additional redefinitions for GNU/Linux.
6654
66552008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6656
6657 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6658 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6659 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6660 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6661 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6662 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6663 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6664 Likewise.
6665
6666 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6667 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6668 (mac_ax_number_of_characters): Add externs.
6669 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6670 [USE_MAC_TSM]: Likewise.
6671 (mac_handle_text_input_event) [MAC_OSX]:
6672 Handle kEventTextInputOffsetToPos for no active input area case.
6673 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6674 (mac_handle_document_access_event)
6675 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6676 (install_application_handler) [MAC_OSX]: Register handlers for
6677 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6678 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6679 Register mac_handle_document_access_event.
6680
6681 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6682 Make functions non-static.
6683
66842008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6685
6686 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6687 (read_file_name_completion_ignore_case, insert_default_directory)
6688 (Qdefault_directory): Move to minibuffer.el.
6689 (Fread_file_name): Call the new `read-file-name' instead.
6690
66912008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6692
6693 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6694 Make function non-static.
6695 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6696 Remove function.
6697 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6698 Move to mactoolbox.c.
6699 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6700
6701 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6702 (mac_rect_make): New macro.
6703
6704 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6705 instead of float.
6706 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6707 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6708 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6709 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6710 CGRectMake.
6711 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6712 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6713 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6714 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6715 instead of WindowRef in argument type.
6716 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6717 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6718 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6719 instead of DISPLAY. All uses changed.
6720 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6721 (x_calc_absolute_position): Simplify so as not to use
6722 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6723
6724 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6725 instead of WindowRef in argument type.
6726 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6727 [TARGET_API_MAC_CARBON]: Remove externs.
6728 (create_apple_event, mac_event_parameters_to_lisp)
6729 [TARGET_API_MAC_CARBON]: Add externs.
6730
6731 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6732 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6733 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6734 is clicked.
6735 (x_activate_menubar): Remove extern for saved_menu_event_location.
6736 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6737 Move from mac.c.
6738
67392008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6740
6741 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6742 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6743
67442008-04-23 Jason Rumney <jasonr@gnu.org>
6745
6746 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6747 attributes only for local files.
6748
6749 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6750 default to Qlocal.
6751
67522008-04-22 Juri Linkov <juri@jurta.org>
6753
6754 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6755 read-buffer-to-switch instead of using the letter "B".
6756
67572008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6758
6759 * fileio.c (Qdefault_directory): New variable.
6760 (Fread_file_name): Use it to pass `dir' to the completion functions.
6761
67622008-04-20 Chong Yidong <cyd@stupidchicken.com>
6763
6764 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6765
67662008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6767
6768 * keyboard.c (Vpre_help_message): Remove.
6769 (show_help_echo): Remove default C code.
6770
6771 * dired.c (directory_files_internal, file_name_completion):
6772 Only call ENCODE_FILE if the string is indeed decoded.
6773
67742008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6775
6776 * Makefile.in (TOOLKIT_DEFINES): Remove.
6777 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6778
67792008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6780
6781 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6782 (mactoolbox.o): New target.
6783
6784 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6785 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6786
6787 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6788 Use mac_set_frame_window_background instead of XSetWindowBackground.
6789 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6790 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6791 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6792 instead of SetWindowTitleWithCFString.
6793 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6794 Move function to mactoolbox.c.
6795 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6796 Use mac_set_window_modified instead of SetWindowModified.
6797 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6798 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6799 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6800 FrontNonFloatingWindow. Use mac_activate_window instead of
6801 ActivateWindow. Use mac_active_non_floating_window instead of
6802 ActiveNonFloatingWindow.
6803 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6804 Use mac_show_hourglass and mac_hide_hourglass.
6805 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6806 instead of GetGlobalMouse.
6807 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6808 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6809 Use mac_bring_window_to_front instead of BringToFront.
6810 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6811 mactoolbox.c.
6812 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6813 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6814 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6815 mactoolbox.c.
6816
6817 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6818 (XtPointer): Move typedef from macmenu.c.
6819 (enum button_type): Move enum from macmenu.c.
6820 (widget_value): Move typedef from macmenu.c.
6821 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6822 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6823 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6824 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6825 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6826 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6827 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6828 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6829 (Selection): Move typedef from macselect.c.
6830 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6831 macterm.c.
6832 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6833 (mac_is_window_collapsed, mac_bring_window_to_front)
6834 (mac_send_window_behind, mac_hide_window, mac_show_window)
6835 (mac_collapse_window, mac_front_non_floating_window)
6836 (mac_active_non_floating_window, mac_activate_window)
6837 (mac_move_window_structure, mac_move_window, mac_size_window)
6838 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6839
6840 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6841 (enum mac_menu_kind): Move enum to mactoolbox.c.
6842 (min_menu_id): Move variable to mactoolbox.c.
6843 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6844 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6845 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6846 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6847 [TARGET_API_MAC_CARBON]: Likewise.
6848 (XtPointer): Move typedef to macgui.h.
6849 (enum button_type): Move enum to macgui.h.
6850 (widget_value): Move typedef to macgui.h.
6851 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6852 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6853 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6854 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6855 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6856 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6857 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
6858 (popup_activated_flag): Make variable non-static.
6859 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
6860 (add_menu_item, fill_menu, dispose_menus):
6861 Move functions to mactoolbox.c.
6862 (restore_show_help_function, menu_target_item_handler)
6863 (install_menu_target_item_handler, mac_handle_dialog_event)
6864 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
6865 [TARGET_API_MAC_CARBON]: Likewise.
6866 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
6867 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6868 (find_and_call_menu_selection, name_is_separator): Make function
6869 non-static.
6870 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
6871 to mactoolbox.c.
6872 (set_frame_menubar): Don't call install_menu_quit_handler.
6873 (menu_item_selection): New variable.
6874 (mac_menu_show): Use create_and_show_popup_menu.
6875 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
6876 selection but set variable menu_item_selection. All uses changed.
6877 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
6878 Call install_menu_quit_handler. Move to mactoolbox.c.
6879
6880 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
6881 (Selection): Move typedef to macgui.h.
6882 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
6883 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
6884 Make variables non-static.
6885 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6886 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
6887 Make functions non-static.
6888 (Vmac_service_selection) [MAC_OSX]: Likewise.
6889 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
6890 (mac_valid_selection_target_p, mac_clear_selection)
6891 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6892 (mac_put_selection_value, mac_selection_has_target_p)
6893 (mac_get_selection_value, mac_get_selection_target_list)
6894 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
6895 Move functions to mactoolbox.c.
6896 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
6897 Likewise.
6898 (copy_scrap_flavor_data, mac_handle_service_event)
6899 (install_service_handler) [MAC_OSX]: Likewise.
6900 (syms_of_macselect) <Vmac_dnd_known_types>:
6901 Use mac_dnd_default_known_types.
6902
6903 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
6904 Move to mactoolbox.c.
6905 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
6906 (Fx_selection_owner_p): Add EXFUN.
6907 (install_window_handler, remove_window_handler, XSetWindowBackground):
6908 Remove externs.
6909 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
6910 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
6911 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
6912 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
6913 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
6914 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
6915 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
6916 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
6917 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
6918 (create_and_show_popup_menu, mac_get_selection_from_symbol)
6919 (mac_valid_selection_target_p, mac_clear_selection)
6920 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
6921 (mac_put_selection_value, mac_selection_has_target_p)
6922 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
6923 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
6924 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
6925 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
6926 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
6927 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
6928 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
6929 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6930 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
6931
6932 * mactoolbox.c: New file.
6933
69342008-04-18 Jason Rumney <jasonr@gnu.org>
6935
6936 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
6937
69382008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6939
6940 * character.c (Fmultibyte_char_to_unibyte):
6941 Return latin1 chars unchanged.
6942
6943 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
6944 relocated if it points to `name'.
6945
69462008-04-17 Kenichi Handa <handa@m17n.org>
6947
6948 * data.c (Faset): Allow setting a multibyte character in an
6949 ASCII-only unibyte string.
6950
6951 * lisp.h (STRING_SET_MULTIBYTE): New macro.
6952
69532008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
6954
6955 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
6956 done in config.h.
6957
69582008-04-16 Juanma Barranquero <lekktu@gmail.com>
6959
6960 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
6961 (Fchar_direction): Add usage in the docstring.
6962
69632008-04-15 Chong Yidong <cyd@stupidchicken.com>
6964
6965 * keyboard.c (read_key_sequence): Remove always-true checks.
6966
69672008-04-14 Jason Rumney <jasonr@gnu.org>
6968
6969 * w32font.c (w32font_open_internal): Set max_bounds.descent in
6970 compatibility struct, for better underline positioning.
6971
69722008-04-13 David Hansen <david.hansen@gmx.net>
6973
6974 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
6975 string.
6976
69772008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
6978
6979 * m/hp800.h (XUINT, XSET): Remove.
6980
69812008-04-12 Juanma Barranquero <lekktu@gmail.com>
6982
6983 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
6984 previous change.
6985
69862008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
6987
6988 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
6989 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
6990
69912008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
6992
6993 * keymap.h (map_keymap_canonical): Declare.
6994 * xmenu.c (single_keymap_panes): Use it.
6995
69962008-04-11 Glenn Morris <rgm@gnu.org>
6997
6998 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
6999 set the target's value to that of the alias.
7000
70012008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7002
7003 * term.c (set_tty_color_mode): Left over typo.
7004
70052008-04-10 Michael Albinus <michael.albinus@gmx.de>
7006
7007 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7008 only after check for file name handler functions. Signal, when
7009 native functionality is not supported.
7010 (syms_of_fileio): Declare it unconditionally.
7011
70122008-04-10 Jason Rumney <jasonr@gnu.org>
7013
7014 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7015 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7016
7017 * w32.c (logon_network_drive): Also logon to remote drives that
7018 are mapped to drive letters.
7019
70202008-04-10 Glenn Morris <rgm@gnu.org>
7021
7022 * xdisp.c (truncate-partial-width-windows): Doc fix.
7023
70242008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7025
7026 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7027 Move functions to minibuffer.el.
7028 (syms_of_fileio): Don't declare them.
7029
70302008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7031
7032 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7033 (syms_of_minibuf): Remove its initialization.
7034
7035 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7036
70372008-04-09 Juanma Barranquero <lekktu@gmail.com>
7038
7039 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7040
70412008-04-09 Jason Rumney <jasonr@gnu.org>
7042
7043 * makefile.w32-in (distclean): Delete makefile too.
7044 (maintainer-clean): New target.
7045
7046 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7047
7048 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7049 for new font backend and composite cases.
7050
70512008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7052
7053 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7054 Most of the code moved to run_timers.
7055 (do_pending_atimers): Call run_timers.
7056 (run_timers): New function.
7057
7058 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7059 run atimers.
7060
7061 * process.c (wait_reading_process_output): The same as above.
7062
70632008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7064
7065 * minibuf.c (last_exact_completion): Remove variable.
7066 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7067 (complete_and_exit_1, complete_and_exit_2)
7068 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7069 (Fdisplay_completion_list, display_completion_list_1)
7070 (Fminibuffer_completion_help, Fself_insert_and_exit)
7071 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7072 minibuffer.el.
7073 (syms_of_minibuf): Remove corresponding initializations.
7074
7075 * keyboard.c (Qdeactivate_mark): New var.
7076 (command_loop_1): Use it to call `deactivate-mark'.
7077 (syms_of_keyboard): Initialize it.
7078
7079 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7080 to another frame.
7081 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7082 Don't call set_tty_color_mode.
7083 (store_frame_param): Reset previous_frame rather than call
7084 set_tty_color_mode.
7085 * term.c (set_tty_color_mode): Rewrite.
7086 * dispextern.h (set_tty_color_mode): New type.
7087 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7088
70892008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7090
7091 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7092 for generic chars, which do not exist any more in emacs-unicode.
7093
70942008-04-08 Michael Albinus <michael.albinus@gmx.de>
7095
7096 * coding.c (detect_coding_emacs_mule)
7097 (Ffind_operation_coding_system): Fix typo.
7098
70992008-04-08 Jason Rumney <jasonr@gnu.org>
7100
7101 * w32uniscribe.c (SNAME): Extract only symbol name.
7102
7103 * w32font.h (struct w32_metric_cache): New struct.
7104 (w32font_info): Use it.
7105 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7106 (CACHE_BLOCKSIZE): New constants.
7107
7108 * w32font.c (Qja, Qko, Qzh): New symbols.
7109 (syms_of_w32font): Initialise them.
7110 (font_matches_spec): Use them to filter by language.
7111 (recompute_cached_metrics): Remove function.
7112 (compute_metrics, clear_cached_metrics): New functions.
7113 (w32font_encode_char): Use them to manage metric cache.
7114 (w32font_text_extents): Cache metrics for all glyphs on demand.
7115 Delay converting glyph indices to WORD until needed.
7116 (w32font_open_internal): Initialize metric cache to empty.
7117 (registry_to_w32_charset): Charset should always be a symbol.
7118 (fill_in_logfont, list_all_matching_fonts): Family should
7119 always be a symbol.
7120
71212008-04-06 Jason Rumney <jasonr@gnu.org>
7122
7123 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7124 Give up if glyph indices not supported. Use uniscribe obtained
7125 ABC widths for individual metrics. Map glyph clusters back to
7126 characters using fClusterStart flag. Return number of glyphs
7127 produced, not chars processed.
7128 (uniscribe_shape): Map char at FROM to current glyph.
7129
71302008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7131
7132 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7133 Use SetMenuItemHierarchicalMenu.
7134
71352008-04-05 Jason Rumney <jasonr@gnu.org>
7136
7137 * image.c (pbm_load): Allow color values up to 65535.
7138 Throw an error if max_color_idx is outside the supported range.
7139 Report an error when image size is invalid.
7140 Read two bytes at a time when raw images have max_color_idx above 255.
7141
71422008-04-05 Eli Zaretskii <eliz@gnu.org>
7143
7144 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7145 cFileName a file name that includes `?' characters, use the 8+3
7146 alias in cAlternateFileName instead.
7147
71482008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7149
7150 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7151 append "CCL: Quitted" when the CCL program is quitted.
7152 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7153
7154 * ccl.h (struct ccl_program): New member quit_silently.
7155
71562008-04-05 Chong Yidong <cyd@stupidchicken.com>
7157
7158 * search.c (compile_pattern_1): Treat non-nil and non-string of
7159 search-spaces-regexp as nil.
7160
7161 * minibuf.c (Fassoc_string): Tweak docstring.
7162
71632008-04-05 Eli Zaretskii <eliz@gnu.org>
7164
7165 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7166 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7167 2008-03-14 to force inode be positive.
7168
7169 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7170 _S_* ones, since we now use our own sys/stat.h.
7171 (stat, fstat): Don't mangle the inode number.
7172 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7173
71742008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7175
7176 * frame.h (struct frame): Give one more bit to `visible' since we use
7177 values larger than 1 to indicate obscured frames on ttys.
7178
7179 * keymap.c (Qkeymap_canonicalize): New var.
7180 (Fmap_keymap_internal): New fun.
7181 (describe_map): Use keymap-canonicalize.
7182
7183 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7184 (Fundo_boundary): Set them.
7185 (syms_of_undo): Initialize them.
7186 (record_point): Use them instead of last_point_position*.
7187 (last_undo_buffer): Change type.
7188
71892008-04-04 Jason Rumney <jasonr@gnu.org>
7190
7191 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7192 (recompute_cached_metrics): Don't set ascent and descent per char.
7193
7194 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7195 (uniscribe_check_otf): Add GC protection before consing.
7196 Rearrange loop for counting features.
7197
71982008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7199
7200 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7201 buffer with byte-size of source buffer.
7202
72032008-04-03 Chong Yidong <cyd@stupidchicken.com>
7204
7205 * callint.c (Fcall_interactively): Handle temporary region even
7206 when shift-select-mode is off.
7207
72082008-04-03 Jason Rumney <jasonr@gnu.org>
7209
7210 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7211
72122008-04-03 Kenichi Handa <handa@m17n.org>
7213
7214 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7215 (CATEGORY_MASK_UTF_16): Likewise.
7216 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7217 binary file.
7218 (detect_coding): Add null-byte detection for a binary file.
7219 (detect_coding_system): Likewise.
7220
72212008-04-03 Jason Rumney <jasonr@gnu.org>
7222
7223 * w32uniscribe.c: New file.
7224
7225 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7226
7227 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7228
7229 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7230 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7231 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7232 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7233 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7234 (Qphonetic): New symbols.
7235 (syms_of_w32font): Initialize them.
7236 (font_supported_scripts): Use them.
7237 (w32font_list_family): List all charsets.
7238 (w32font_text_extents, recompute_cached_metrics): Fix metric
7239 calculations.
7240 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7241 Give opentype fonts their own format.
7242 (font_matches_spec): New arguments backend and logfont.
7243 Handle :otf spec for uniscribe backend.
7244 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7245 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7246
7247 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7248 font backend.
7249 (globals_of_w32fns): Initialize uniscribe font backend.
7250
7251 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7252 dependencies.
7253 (w32uniscribe.$(O)): New file to build.
7254 (FONT_OBJ): Include w32uniscribe.$(O).
7255 (LIBS): Add uniscribe libraries.
7256
7257 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7258
72592008-04-02 Chong Yidong <cyd@stupidchicken.com>
7260
7261 * callint.c (Vshift_select_mode): New var.
7262 (Finteractive): Document new ^ spec.
7263 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7264 is present.
7265
7266 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7267 (command_loop_1): Avoid running the direct display versions of
7268 forward-char and backward-char if shift-selection may occur.
7269 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7270 shift-translation takes place.
7271
7272 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7273 avoid clobbering by define-minor-mode.
7274
7275 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7276 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7277
7278 * syntax.c (Fforward_word): Add ^ interactive spec.
7279
7280 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7281 (Fscroll_right): Add ^ interactive spec.
7282
72832008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7284
7285 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7286
7287 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7288
7289 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7290
72912008-03-31 Juri Linkov <juri@jurta.org>
7292
7293 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7294
72952008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7296
7297 * gtkutil.c (xg_set_geometry): Fix indentation.
7298 (xg_resize_outer_widget): Remove.
7299 (x_wm_size_hint_off): Fix indentation.
7300 (xg_frame_set_char_size): Call flush_and_sync after
7301 gtk_window_resize.
7302 (x_wm_set_size_hint): Pass NULL as geometry window to
7303 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7304 Add menu bar and tool bar height to base height.
7305 (xg_update_frame_menubar, free_frame_menubar)
7306 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7307 (update_frame_tool_bar, free_frame_tool_bar):
7308 Change xg_resize_outer_widget to xg_frame_set_char_size.
7309
73102008-03-30 Michael Albinus <michael.albinus@gmx.de>
7311
7312 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7313 (Fdbus_call_method): New parameter TIMEOUT.
7314 (dbus-send-signal): Optimize UNGCPRO call.
7315
73162008-03-29 Juri Linkov <juri@jurta.org>
7317
7318 * window.c (Fdisplay_buffer): Move call to
7319 Vsplit_window_preferred_function out of conditions that check
7320 if window is eligible for vertical splitting.
7321 When Vsplit_window_preferred_function is non-nil, call it and use
7322 its non-nil return value as window. Otherwise, continue doing
7323 vertical splitting using Fsplit_window with arg horflag=nil.
7324 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7325 default value from `split-window' to nil.
7326
73272008-03-29 Juri Linkov <juri@jurta.org>
7328
7329 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7330 for interactive code letters 'b' and 'B'.
7331
73322008-03-29 Eli Zaretskii <eliz@gnu.org>
7333
7334 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7335 multibyte string.
7336
73372008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7338
7339 * keyboard.c (pending_funcalls): New var.
7340 (timer_check): Run it.
7341 (syms_of_keyboard): Initialize it.
7342 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7343 (Vdelete_terminal_functions): New vars.
7344 (syms_of_terminal): Initialize them.
7345 (Fdelete_terminal): Run delete-terminal-functions.
7346 * xdisp.c (safe_eval): Rewrite.
7347 (safe_call2): New fun.
7348 * frame.c (Qdelete_frame_functions): New var.
7349 (syms_of_frame): Initialize it.
7350 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7351 * lisp.h (safe_call2, pending_funcalls): Declare.
7352
73532008-03-28 Andreas Schwab <schwab@suse.de>
7354
7355 * indent.c (Fmove_to_column): Move declaration before statements.
7356
73572008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7358
7359 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7360 (struct frame): Use bit fields for boolean vars.
7361
7362 * process.c (server_accept_connection): Simplify naming.
7363 (emacs_get_tty_pgrp): Use SDATA.
7364
7365 * coding.c (decode_coding_object): Fix last change.
7366
73672008-03-27 Jason Rumney <jasonr@gnu.org>
7368
7369 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7370
73712008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7372
7373 * charset.c (Fdefine_charset_internal): Change the way of
7374 registering charsets in Vcharset_order_list.
7375 (syms_of_charset): Make the charset `eight-bit' supplementary.
7376
73772008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7378
7379 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7380 operations, to avoid having the difference between pointers
7381 overflow.
7382
73832008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7384
7385 * indent.c (check_display_width): New fun.
7386 (scan_for_column): Use it.
7387
7388 * data.c (syms_of_data): Mark most-positive-fixnum and
7389 most-negative-fixnum as constants.
7390
7391 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7392
7393 * indent.c (scan_for_column): Extract from current_column_1.
7394 Merge with the same code from Fmove_to_column.
7395 (current_column_1, Fmove_to_column): Use it.
7396
73972008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7398
7399 * keymap.c (map_keymap_internal): New fun.
7400 (map_keymap): Use it.
7401 (Fmap_keymap_internal): New fun.
7402 (Fmap_keymap): Remove left-out test from before make_save_value.
7403
7404 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7405
7406 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7407 Use XCAR/XCDR.
7408
7409 * process.h (struct Lisp_Process): Remove filter_multibyte.
7410 * process.c (QCfilter_multibyte): Remove.
7411 (setup_process_coding_systems): Don't use filter_multibyte.
7412 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7413 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7414 (Fset_process_filter_multibyte): Change the coding-system to
7415 approximate the previous behavior.
7416 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7417 coding-system.
7418
7419 * coding.c (decode_coding_object): When not decoding into a buffer,
7420 obey the coding system's preference of (uni|multi)byte.
7421
74222008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7423
7424 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7425 every char is changed and has a different byte-length.
7426 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7427 Fix int -> EMACS_INT.
7428
74292008-03-23 David Hansen <david.hansen@gmx.net>
7430
7431 * dbusbind.c (xd_read_message): Remove extra copying of message
7432 strings. Check for NULL `interface' or `member'.
7433
74342008-03-22 Eli Zaretskii <eliz@gnu.org>
7435
7436 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7437 cFileName a file name that includes `?' characters, use the 8+3
7438 alias in cAlternateFileName instead.
7439
74402008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7441
7442 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7443
74442008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7445
7446 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7447 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7448 work on current_buffer only instead (that was already the case
7449 for some of the code anyway).
7450 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7451 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7452 (SET_PT, SET_PT_BOTH): Adjust.
7453 * intervals.h (set_point, temp_set_point, set_point_both)
7454 (temp_set_point_both): Remove redundant declarations.
7455
74562008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7457
7458 * fileio.c (Finsert_file_contents):
7459 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7460 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7461 when buffer != current_buffer anyway.
7462
74632008-03-20 Andreas Schwab <schwab@suse.de>
7464
7465 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7466 as default.
7467
74682008-03-19 Jason Rumney <jasonr@gnu.org>
7469
7470 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7471 (syms_of_w32fns): Initialize them.
7472 (HOURGLASS_ID): New constant.
7473 (x_window_to_frame): Don't check hourglass_window.
7474 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7475 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7476 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7477 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7478 Only change the cursor if hourglass is not active.
7479 (Fx_create_frame): Initialize frame's current_cursor.
7480 (hourglass_atimer): Remove.
7481 (hourglass_started): New function.
7482 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7483 (show_hourglass): Adapt to w32, changing argument to frame.
7484
7485 * w32term.h (struct w32_output): Remove hourglass_window.
7486 Add current_cursor.
7487
7488 * eval.c (call_debugger, Fsignal):
7489 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7490 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7491 (Fexecute_extended_command, cancel_hourglass_unwind):
7492 * minibuf.c (read_minibuf):
7493 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7494
74952008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7496
7497 * window.c (run_funs): New fun.
7498 (run_window_configuration_change_hook): Use it to run the buffer-local
7499 and the global part of the hook.
7500
7501 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7502 (unwind_format_mode_line): Restore selected window.
7503 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7504
75052008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7506
7507 * editfns.c (Fchar_equal): Check they are valid characters.
7508
7509 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7510
75112008-03-17 Andreas Schwab <schwab@suse.de>
7512
7513 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7514 against a charset.
7515
7516 * lisp.h (Fbuffer_list): Declare.
7517
75182008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7519
aac0c6e3
MR
7520 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7521 handlebox_widget is != 0.
7522
75232008-03-16 Juri Linkov <juri@jurta.org>
7524
7525 * callint.c (Fcall_interactively): For interactive code letters
7526 'b' and 'B' put the buffer list into the list of default "future"
7527 values of the minibuffer.
7528
75292008-03-16 Andreas Schwab <schwab@suse.de>
7530
7531 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7532 modifiers.
7533
7534 * regex.c (re_match_2_internal): Correct matching of a charset
7535 against latin-1 characters.
7536
75372008-03-16 Kenichi Handa <handa@m17n.org>
7538
7539 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7540 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7541 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7542 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7543 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7544 CHAR_STRING_ADVANCE.
7545 (produce_chars): Fix for the case that the source and the
7546 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7547 instead of CHAR_STRING_ADVANCE.
7548 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7549 STRING_CHAR_ADVANCE.
7550
75512008-03-15 Andreas Schwab <schwab@suse.de>
7552
7553 * regex.c (re_match_2_internal): Correct matching of eight bit
7554 characters in unibyte strings.
7555
75562008-03-15 Martin Rudalics <rudalics@gmx.at>
7557
7558 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7559 at end of range when it coincides with the end of the buffer.
7560
75612008-03-14 Eli Zaretskii <eliz@gnu.org>
7562
7563 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7564
7565 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7566
75672008-03-14 Jason Rumney <jasonr@gnu.org>
7568
7569 * editfns.c (initial_tz): New variable.
7570 (syms_of_editfns): Initialize it.
7571 (Fset_time_zone_rule): Set it when first called.
7572 Use it when TZSTRING is nil.
7573
7574 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7575 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7576 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7577 (globals_of_w32fns): Initialize them.
7578 (compute_tip_xy): Use them to position tooltips.
7579
75802008-03-14 Glenn Morris <rgm@gnu.org>
7581
7582 * emacs.c (main): Revert previous change.
7583 (standard_args): Revert -internal-script back to -scriptload,
7584 and remove the long-option form.
7585
75862008-03-13 Glenn Morris <rgm@gnu.org>
7587
7588 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7589 Remove option -enable-font-backend.
7590
75912008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7592
7593 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7594
75952008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7596
7597 * xterm.c (x_connection_closed): For GTK: If this is the last
7598 terminal just exit without closing the display.
7599
76002008-03-11 Jason Rumney <jasonr@gnu.org>
7601
7602 * w32font.c (w32font_full_name): Use floor to round.
7603
f0131492 76042008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7605
7606 * sound.c (alsa_configure): Declare vol at beginning of block.
7607
7608 * fontset.c (Ffontset_info): Remove extra semicolon.
7609
76102008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7611
7612 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7613 size of resulting string.
7614
76152008-03-10 Jason Rumney <jasonr@gnu.org>
7616
7617 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7618
76192008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7620
7621 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7622 Don't pretend as if characters with display property haven't been
7623 consumed for string-replacing-string case.
7624
76252008-03-08 Kim F. Storm <storm@cua.dk>
7626
7627 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7628 (get_next_display_element, next_element_from_string)
7629 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7630
76312008-03-08 Andreas Schwab <schwab@suse.de>
7632
7633 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7634
76352008-03-06 Jason Rumney <jasonr@gnu.org>
7636
7637 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7638 when charset not specified. Only translate ANSI to unicode when
7639 font_type is truetype.
7640 (w32font_coverage_ok): New function.
7641 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7642
76432008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7644
7645 * lread.c (Fread_char): Resolve modifiers.
7646 (Fread_char_exclusive): Likewise.
7647
7648 * character.c (char_resolve_modifier_mask): New function.
7649 (char_string): Use char_resolve_modifier_mask.
7650 (Fchar_resolve_modifiers): New function.
7651 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7652 function.
7653
76542008-03-04 Jason Rumney <jasonr@gnu.org>
7655
7656 * makefile.w32-in: Always include w32font.c in the build.
7657 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7658
76592008-03-04 Andreas Schwab <schwab@suse.de>
7660
7661 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7662 (versionclean): Likewise.
7663
76642008-03-04 Juanma Barranquero <lekktu@gmail.com>
7665
7666 * .cvsignore: Add oo.
7667
76682008-03-03 Andreas Schwab <schwab@suse.de>
7669
7670 * coding.c (decode_coding_object): Inhibit gap shrinking while
7671 decoding in place.
7672
76732008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7674
7675 * w32term.c: Remove unused include "gnu.h".
7676 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7677
7678 * gnu.h: Rename to ...
7679 * emacs-icon.h: ... this.
7680 * xterm.c: Use emacs-icon.h instead of gnu.h.
7681 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7682
76832008-03-03 Juanma Barranquero <lekktu@gmail.com>
7684
7685 * w32font.c: Include math.h.
7686
76872008-03-03 Jason Rumney <jasonr@gnu.org>
7688
7689 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7690 Compute options separately.
7691 (w32font_open_internal): Set glyph_idx before caching metrics.
7692
7693 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7694 Define if system headers don't.
7695 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7696 (w32font_encode_char): Don't declare here.
7697
7698 * w32font.c (Quniscribe, QCformat): New symbols.
7699 (syms_of_w32font): Define them.
7700 (w32font_has_char): Indicate uncertainty.
7701 (w32font_encode_char): Encode as glyph point. Make static.
7702 (recompute_cached_metrics): New function.
7703 (w32font_open_internal): Use it. Set font to use glyph points
7704 initially. Set format based on type of font.
7705 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7706 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7707 on it. Set format based on information available here.
7708 (add_font_entity_to_list): Identify backend based on opentype_only.
7709
77102008-03-02 Andreas Schwab <schwab@suse.de>
7711
7712 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7713
7714 * coding.c (decode_coding_big5, produce_chars):
7715 Fix typos in last change.
7716
77172008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7718
7719 * gnu.h: New icon.
7720
77212008-03-02 Kenichi Handa <handa@m17n.org>
7722
7723 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7724 `dos', don't decode '\r' if that is the last in the source.
7725 (decode_coding_utf_16, decode_coding_emacs_mule)
7726 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7727 (decode_coding_raw_text, decode_coding_charset): Likewise.
7728 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7729
77302008-03-01 Jason Rumney <jasonr@gnu.org>
7731
7732 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7733
77342008-03-01 Kim F. Storm <storm@cua.dk>
7735
7736 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7737
77382008-03-01 Jason Rumney <jasonr@gnu.org>
7739
7740 * w32font.c (w32font_full_name): New function.
7741 (w32font_open_internal): Use it.
7742
77432008-03-01 Kim F. Storm <storm@cua.dk>
7744
7745 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7746
77472008-03-01 Jason Rumney <jasonr@gnu.org>
7748
7749 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7750
77512008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7752
7753 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7754 xg_frame_resized when the event is for the edit widget.
7755
7756 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7757
7758 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7759 set_char_size.
7760 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7761 operations on widgets here. Just set frame size if needed.
7762 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7763 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7764 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7765 the whole frame.
7766 (xg_create_tool_bar): Move attachment of the tool bar to
7767 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7768 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7769
77702008-03-01 Jason Rumney <jasonr@gnu.org>
7771
7772 * w32fns.c (w32_msg_pump): Disable debug code.
7773
77742008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7775
7776 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7777
77782008-02-29 Chong Yidong <cyd@stupidchicken.com>
7779
7780 * xdisp.c (next_overlay_string): Don't set
7781 overlay_strings_at_end_processed_p if we're currently reading from
7782 a display string.
7783
77842008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7785
7786 * xdisp.c (get_overlay_strings_1): Fix typo.
7787
77882008-02-29 Chong Yidong <cyd@stupidchicken.com>
7789
7790 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7791
77922008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7793
7794 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7795
7796 * xdisp.c (display_mode_element): Cancel the previous change.
7797 (decode_mode_spec): Likewise.
7798 (handle_auto_composed_prop): Don't make composition if it->string
7799 is a string.
7800
78012008-02-27 Kim F. Storm <storm@cua.dk>
7802
7803 * lisp.h (GLYPH): Change type from int to struct with separate char
7804 and face_id members.
7805 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7806 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7807 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7808 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7809 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7810 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7811 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7812 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7813 handle new Lisp glyph code encoding, either an integer or a cons.
7814
7815 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7816 (GLYPH_ALIAS): Delete.
7817 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7818 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7819 (GLYPH_FROM_CHAR): Replace macro by ...
7820 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7821
7822 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7823 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7824 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7825 (GLYPH_INVALID_P): New macro.
7826 (spec_glyph_lookup_face): Update prototype.
7827
7828 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7829 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7830 new glyph code encoding.
7831 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7832 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7833
7834 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7835 Adapt to new glyph type and new glyph code encoding.
7836
7837 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7838
7839 * indent.c (current_column, current_column_1, Fmove_to_column)
7840 (compute_motion): Adapt to new glyph code encoding.
7841
7842 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7843
78442008-02-27 Chong Yidong <cyd@stupidchicken.com>
7845
7846 * process.c (wait_reading_process_output): Check for window
7847 changes caused by timers.
7848 Suggested by Johan Bockgård.
7849
78502008-02-27 Glenn Morris <rgm@gnu.org>
7851
7852 * emacs.c (USAGE1): Add `--disable-font-backend'.
7853
78542008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
7855
7856 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
7857 is made to the buffer.
7858
78592008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
7860
7861 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
7862 (face_at_string_position):
7863 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
7864 (face_at_string_position):
7865 * xdisp.c (display_string, next_overlay_change):
7866 * buffer.h (overlays_at):
7867 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
7868 Update callers.
7869
78702008-02-26 Chong Yidong <cyd@stupidchicken.com>
7871
7872 * editfns.c (Fformat): Doc fix.
7873
78742008-02-26 Juanma Barranquero <lekktu@gmail.com>
7875
7876 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
7877 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
7878 (Ffont_otf_alternates, Fquery_font): Doc fixes.
7879
78802008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7881
7882 * buffer.c (Fbuffer_swap_text): New function.
7883 (syms_of_buffer): Defsubr it.
7884
78852008-02-25 Chong Yidong <cyd@stupidchicken.com>
7886
7887 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
7888
78892008-02-25 Jason Rumney <jasonr@gnu.org>
7890
7891 * w32font.c (w32font_draw): Draw one character at a time when padding.
7892
78932008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
7894
7895 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
7896 Handle a nil arg. Use run_window_configuration_change_hook.
7897 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
7898 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
7899 Use run_window_configuration_change_hook.
7900
79012008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7902
7903 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
7904 1-pixel width.
7905
79062008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
7907
7908 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
7909 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
7910 if the glyph in the font is zero pixel with.
7911
7912 * dispextern.h (struct glyph_string): New member padding_p.
7913
7914 * w32font.c (w32font_draw): Pay attention to s->padding_p.
7915
7916 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
7917
7918 * xfont.c (xfont_draw): Pay attention to s->padding_p.
7919
7920 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
7921
7922 * font.c: If the font driver doesn't have `shape' function, return Qnil.
7923
79242008-02-25 Jason Rumney <jasonr@gnu.org>
7925
7926 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
7927
79282008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
7929
7930 Allow fine-grained image-cache flushing.
7931 * dispextern.h (struct image): Add `dependencies' field.
7932 (clear_image_caches): Change arg to Lisp_Object.
7933 * image.c (make_image): Initialize `dependencies' field.
7934 (clear_image_cache): Change arg to allow fine-grained flushing.
7935 Perform the flush even if image-cache-eviction-delay is nil.
7936 (clear_image_caches): Change arg to Lisp_Object.
7937 (Fclear_image_cache): Expand meaning of the argument.
7938 (mark_image): Mark `dependencies' field.
7939 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
7940 (lface_hash): Use XHASH rather than XFASTINT.
7941 (face_at_buffer_position): Fix int -> EMACS_INT position.
7942 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
7943 (select_frame_for_redisplay): Remove code duplication.
7944 (redisplay_internal): Adapt arg to call to clear_image_caches.
7945
79462008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
7947
7948 * s/vms4-0.h:
7949 * s/vms4-2.h:
7950 * s/vms4-4.h:
7951 * s/vms5-5.h: Remove, unused.
7952
7953 * s/irix5-2.h:
7954 * s/irix6-0.h:
7955 * s/riscos5.h:
7956 * s/mach-bsd4-3.h:
7957 * m/mips4.h: Remove files for obsolete systems.
7958
7959 * Makefile.in:
7960 * filelock.c:
7961 * unexmips.c:
7962 * m/hp9000s300.h:
7963 * m/iris4d.h:
7964 * s/aix3-1.h:
7965 * s/hpux.h:
7966 * s/msdos.h:
7967 * s/usg5-0.h:
7968 * s/usg5-2-2.h:
7969 * s/usg5-2.h:
7970 * s/usg5-3.h: Remove references to obsolete variables.
7971
7972 * s/irix5-0.h: Remove, move all the contents ...
7973 * s/irix6-5.h: ... here. Simplify.
7974 * config.in: Regenerate.
7975
79762008-02-24 Jason Rumney <jasonr@gnu.org>
7977
7978 * w32term.c (x_draw_glyph_string_background): Clear the background
7979 manually when cleartype is in use.
7980 (x_draw_glyph_string_foreground): Draw text transparently when
7981 cleartype is in use.
7982
7983 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
7984 a font into it unless we have to.
7985
79862008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
7987
7988 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
7989 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 7990
aac0c6e3
MR
79912008-02-18 Jason Rumney <jasonr@gnu.org>
7992
7993 * w32fns.c (Fw32_shell_execute): Encode parameters.
7994
79952008-02-09 Eli Zaretskii <eliz@gnu.org>
7996
7997 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
7998
79992008-02-05 Juanma Barranquero <lekktu@gmail.com>
8000
8001 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8002
80032008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8004
8005 * xterm.c (x_set_offset): Don't change the gravity if
8006 CHANGE_GRAVITY is -1.
8007
80082008-02-23 Chong Yidong <cyd@stupidchicken.com>
8009
8010 * fileio.c (auto_save_error_occurred): New var.
8011 (auto_save_error): Set it.
8012 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8013 error occurred.
8014
80152008-02-23 Eli Zaretskii <eliz@gnu.org>
8016
8017 * w32.c (globals_of_w32): Add initializations for
8018 g_b_init_get_sid_sub_authority and
8019 g_b_init_get_sid_sub_authority_count.
8020
80212008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8022
8023 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8024 (font_parse_xlfd): Use them for sanity check.
8025 (Finternal_set_font_style_table): Make sure the table is bijective.
8026
8027 Consolidate the image_cache to the terminal struct.
8028 * termhooks.h (P_): Remove redundant def.
8029 (struct terminal): New field `image_cache'.
8030 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8031 of FRAME_X_IMAGE_CACHE.
8032 * xterm.h (struct x_display_info): Remove image_cache field.
8033 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8034 * w32term.h (struct w32_display_info): Remove image_cache field.
8035 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8036 * macterm.h (struct mac_display_info): Remove image_cache field.
8037 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8038 * xterm.c (x_term_init):
8039 * w32term.c (w32_term_init):
8040 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8041 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8042 Remove declarations.
8043 (clear_image_caches, mark_image_cache): New declarations.
8044 * xfaces.c (clear_face_cache):
8045 * xdisp.c (redisplay_internal): Use clear_image_caches.
8046 * image.c (clear_image_cache): Don't check that a frame is on
8047 a window-system before checking if it shares the same cache.
8048 (clear_image_caches): New function.
8049 (Fclear_image_cache): Use it.
8050 (mark_image): Move from allo.c.
8051 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8052 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8053 (mark_object): Don't call mark_image_cache for frames.
8054 (mark_terminals): Call mark_image_cache.
8055
8056 * lisp.h (Fdelete_terminal): Declare.
8057
8058 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8059 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8060 wrong_type_argument.
8061
80622008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8063
8064 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8065 malayalam.el, and tamil.el. Add sinhala.el.
8066
80672008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8068
8069 * xterm.c (x_connection_closed): Consolidate identical tests.
8070 (x_delete_terminal): Don't crash if called via x_connection_closed.
8071
80722008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8073
8074 * xdisp.c (decode_mode_spec): New arg string.
8075 (display_mode_element): Adjust for the above change.
8076
80772008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8078
8079 * callint.c (Fcall_interactively): Use AREF.
8080
80812008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8082
8083 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8084
80852008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8086
8087 * xfns.c (Fx_show_tip): Set string to " " if empty.
8088
80892008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8090
8091 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8092 with Qt.
8093
80942008-02-17 Kenichi Handa <handa@m17n.org>
8095
8096 * ftfont.c (ftfont_shape): Return Lispy number.
8097
8098 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8099 for GCs.
8100 (Finternal_set_font_selection_order): Call font_update_sort_order
8101 only when enable_font_backend is set.
8102 (realize_x_face): Set face->font_info to that of default face only
8103 when enable_font_backend is set.
8104
8105 * xdisp.c (handle_composition_prop): Set it->c to the fist
8106 character of the composed region.
8107 (fill_composite_glyph_string): Set base_face->font_info to
8108 s->font_info. Get a face for ascii from base_face->ascii_face.
8109 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8110 with a face already decided.
8111 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8112 non-negative.
8113 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8114 call font_prepare_composition unconditionally.
8115
8116 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8117
8118 * xterm.h (struct x_display_info): New member font.
8119
8120 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8121 (x_set_mouse_face_gc, x_new_font): Likewise.
8122 (x_term_init): Setup display_info->font.
8123 (x_delete_terminal): Free display_info->font.
8124
8125 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8126
8127 * ftxfont.c (ftxfont_default_fid): Delete it.
8128 (ftxfont_open): Set xfont->fid to 0.
8129 (ftxfont_end_for_frame): Clear data specific to the frame and the
8130 font-driver.
8131
8132 * xftfont.c (xftfont_default_fid): Delete it.
8133 (xftfont_open): Set xfont->fid to 0.
8134
8135 * fontset.c (FONTSET_OBJLIST): New macro.
8136 (fontset_find_font): Update font-object list of the fontset.
8137 (free_realized_fontset): New function.
8138 (free_face_fontset): Call free_realized_fontset.
8139 (Ffont_info): Call font_close_object only when enable_font_backend
8140 is set.
8141
8142 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8143 [HAVE_NTGUI]: Include w32term.h.
8144 [MAC_OS]: Include macterm.ch.
8145 (font_otf_ValueRecord): Use make_number.
8146 (font_finish_cache): Fix handling of reference count.
8147 (font_clear_cache): Update num_fonts.
8148 (font_open_entity): Update smallest_char_width and
8149 smallest_font_height of the frame.
8150 (font_close_object): Update num_fonts.
8151 (Fclear_font_cache): Fix finding the target cache data.
8152
81532008-02-16 Glenn Morris <rgm@gnu.org>
8154
8155 * fontset.c (Finternal_char_font): Fix compilation warning.
8156
81572008-02-16 Eli Zaretskii <eliz@gnu.org>
8158
8159 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8160 instead of char arrays. Enlarge the size of array passed to
8161 get_token_information.
8162
8163 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8164 warnings.
8165
81662008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8167
8168 * .gdbinit: Don't set `args', it breaks gdb --args.
8169
81702008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8171
8172 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8173 within a narrowed buffer.
8174
81752008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8176
8177 * coding.c (decode_coding_object, encode_coding_object):
8178 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8179
81802008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8181
8182 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8183 hardcoding 1.
8184 (detect_coding_system):
8185 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8186 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8187 * insdel.c (insert_from_gap):
8188 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8189 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8190 (string_to_multibyte):
8191 * character.c (chars_in_text, multibyte_chars_in_text):
8192 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8193
8194 * character.h (FETCH_STRING_CHAR_ADVANCE)
8195 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8196 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8197 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8198
8199 * casefiddle.c (casify_region): Only call after-change and composition
8200 functions on the part of the region that was changed.
8201
8202 * keyboard.c (read_avail_input):
8203 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8204
82052008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8206
8207 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8208 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8209
82102008-02-11 Juanma Barranquero <lekktu@gmail.com>
8211
8212 * w32menu.c (push_submenu_start, push_submenu_end)
8213 (push_left_right_boundary, push_menu_pane, push_menu_item):
8214 * keyboard.c (read_key_sequence): Don't pass args with side effects
8215 to AREF, it fails when compiling with -DENABLE_CHECKING.
8216
82172008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8218
8219 * Makefile.in (${lispsource}international/charprop.el):
8220 Delete this target.
8221
8222 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8223 emacs-unicode-2.
8224
82252008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8226
8227 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8228
82292008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8230
8231 * frame.c (Qnoelisp): New symbol.
8232 (syms_of_frame): Initialize it.
8233 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8234 harmless Elisp code, from a strong `force' from x_connection_closed.
8235 * frame.h (Qnoelisp): Declare.
8236 * xterm.c (x_connection_closed): Pass `noelisp'.
8237
8238 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8239 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8240 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8241 rather than `int' for the type of `type'.
8242
82432008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8244
8245 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8246
8247 * Makefile.in (GNUC): Remove support for gcc-1.x.
8248
82492008-02-10 Richard Stallman <rms@gnu.org>
8250
8251 * lisp.h (ASET): Use AREF, not ASLOT.
8252
82532008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8254
8255 * lisp.h (ASET): Check bounds.
8256
82572008-02-10 Glenn Morris <rgm@gnu.org>
8258
8259 * buffer.c (mode-name): Doc fix.
8260
82612008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8262
8263 * Makefile.in:
8264 * emacs.c:
8265 * gmalloc.c:
8266 * keyboard.c:
8267 * lisp.h:
8268 * m/ibm370aix.h:
8269 * process.c:
8270 * regex.c:
8271 * s/hpux.h:
8272 * sysdep.c:
8273 * sysselect.h:
8274 * systty.h:
8275 * unexec.c:
8276 * w32term.c:
8277 * xsmfns.c:
8278 * xterm.c: Remove code that deals with obsolete variables.
8279
8280 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8281
8282 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8283 nothing else needs it anymore.
8284
82852008-02-09 Eli Zaretskii <eliz@gnu.org>
8286
8287 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8288 instead of unibyte_char_to_multibyte.
8289
82902008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8291
8292 * s/gnu-linux.h: Remove commented out code.
8293
8294 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8295
8296 * Makefile.in: Update what RMS says about using autoconf.
8297 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8298 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8299 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8300 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8301
83022008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8303
8304 * keymap.c (Fkey_description): Move side effect outside of macro call.
8305
8306 * xfaces.c (Finternal_make_lisp_face):
8307 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8308
8309 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8310 (syms_of_fontset): Use ASET.
8311
8312 * fns.c (concat): Move side effect outside of macro call.
8313 (hash_clear): Use ASET.
8314
83152008-02-08 Richard Stallman <rms@gnu.org>
8316
8317 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8318 If FORCE, and frame has a surrogate minibuffer for another frame,
8319 delete the other frame first.
8320
83212008-02-07 Timo Savola <timo.savola@iki.fi>
8322
8323 * xterm.c (x_detect_focus_change): Handle embed client message.
8324 (handle_one_xevent): Ditto.
8325 (handle_one_xevent): If embedded and we get a button press/release,
8326 request focus.
8327 (xembed_set_info, xembed_send_message): New functions.
8328 (x_make_frame_visible): Call xembed_set_info if embedded.
8329 (x_make_frame_invisible): Call xembed_set_info if embedded.
8330 (x_term_init): Initialize Xatom_XEMBED.
8331 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8332 (x_iconify_frame): Ditto.
8333
8334 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8335 (enum xembed_info, enum xembed_message, enum xembed_focus)
8336 (enum xembed_modifier, enum xembed_accelerator): New.
8337 (xembed_set_info, xembed_send_message): Declare.
8338 (FRAME_X_EMBEDDED_P): New.
8339
8340 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8341 gtk_plug_new.
8342
8343 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8344 window ID of a frame.
8345 (x_window): Reparent frame if embedded.
8346 (Fx_create_frame): Don't set border width if embedded.
8347
8348 * emacs.c (USAGE3): Add --parent-id.
8349 (standard_args): Ditto.
8350
83512008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8352
8353 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8354
83552008-02-07 Jim Meyering <meyering@redhat.com>
8356
8357 Use "do...while (0)", not "if (1)...else" in macro definitions.
8358 The latter provokes a warning from gcc about the empty else, when
8359 followed by ";". Also, without that trailing semicolon, it would
8360 silently swallow up any following statement.
8361 * syntax.h (SETUP_SYNTAX_TABLE)
8362 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8363 * buffer.h (DECODE_POSITION): Likewise.
8364 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8365 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8366 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8367 (FETCH_CHAR_ADVANCE): Likewise.
8368 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8369
83702008-02-07 Jim Meyering <meyering@redhat.com>
8371
8372 * lread.c [lint]: Don't include <sys/inode.h>.
8373
83742008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8375
8376 * xselect.c (x_handle_dnd_message):
8377 * xmenu.c (digest_single_submenu, xmenu_show):
8378 * xdisp.c (with_echo_area_buffer_unwind_data)
8379 (format_mode_line_unwind_data, unwind_format_mode_line)
8380 (display_menu_bar):
8381 * eval.c (Ffetch_bytecode):
8382 * doc.c (store_function_docstring):
8383 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8384 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8385 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8386
83872008-02-07 Kenichi Handa <handa@m17n.org>
8388
8389 * ftxfont.c (ftxfont_open): Don't set
8390 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8391
8392 * ftfont.c (ftfont_open): Fix previous change.
8393
83942008-02-06 Jason Rumney <jasonr@gnu.org>
8395
8396 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8397 Use cached metrics for ASCII characters.
8398 (w32font_open_internal): Don't set font's owning_frame.
8399 Cache metrics for ASCII characters.
8400
8401 * w32font.h (struct w32font_info): Add ascii_metrics.
8402 Remove owning_frame.
8403
84042008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8405
8406 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8407 to negative value.
8408
8409 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8410
8411 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8412
8413 * charset.c (syms_of_charset): Set QCtest and Qeq.
8414
84152008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8416
8417 * process.c (Fstart_process):
8418 * callproc.c (Fcall_process): Handle the case where
8419 Funhandled_file_name_directory returns nil.
8420
8421 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8422 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8423 * font.c (check_gstring): Use them and AREF to access the vector before
8424 we know it's really a gstring.
8425 (Ffont_shape_text): Fix typo.
8426 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8427
8428 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8429 Declare.
8430
8431 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8432
84332008-02-05 Jason Rumney <jasonr@gnu.org>
8434
8435 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8436 Set smallest_font_height and smallest_char_width in display info.
8437
84382008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8439
8440 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8441
84422008-02-05 Miles Bader <miles@gnu.org>
8443
8444 * xfaces.c (get_lface_attributes, merge_named_face)
8445 (lookup_named_face, lookup_derived_face, realize_named_face):
8446 Revert 2008-02-01 change by cyd@stupidchicken.com.
8447
84482008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8449
8450 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8451 fallback fonts.
8452 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8453
84542008-02-04 Jason Rumney <jasonr@gnu.org>
8455
8456 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8457 set full_name.
8458 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8459
84602008-02-03 Jason Rumney <jasonr@gnu.org>
8461
8462 * makefile.w32-in (OBJ1): Include font.o here.
8463 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8464
84652008-02-02 Jason Rumney <jasonr@gnu.org>
8466
8467 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8468
84692008-02-01 Jason Rumney <jasonr@gnu.org>
8470
8471 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8472
8473 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8474
84752008-02-01 Andreas Schwab <schwab@suse.de>
8476
8477 * Makefile.in (shortlisp, lisp): Update for rename of
8478 ../lisp/language/myanmar.el.
8479
84802008-02-01 Chong Yidong <cyd@stupidchicken.com>
8481
8482 * xfaces.c (get_lface_attributes): Delete function.
8483 (merge_named_face, lookup_named_face, lookup_derived_face)
8484 (realize_named_face): Call lface_from_face_name directly, and use
8485 the fact that merge_face_vectors does not alter its FROM argument.
8486
84872008-02-01 Jason Rumney <jasonr@gnu.org>
8488
8489 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8490 input in the default locale. Handle non-Unicode multibyte input.
8491
84922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8493
8494 * fontset.c (reorder_font_vector): Exclude nil elements from the
8495 font group. Don't try multiple fonts.
8496 (fontset_font): Adjust for the above change.
8497 (Finternal_char_font): Return nil if the found font doesn't
8498 contain the character ch.
8499
8500 * Makefile.in (lisp, shortlisp): Add cham.el.
8501
85022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8503
8504 * font.h (FONTP): Make it return 1 also for a font-object.
8505
8506 * .gdbinit (xfontset): New function.
8507
8508 * font.c (font_find_for_lface): Check if the character C is
8509 supported or not only for the first font.
8510
8511 * fontset.c (reorder_font_vector): Fix typo.
8512 (fontset_find_font): Don't add a font-spec specifying a script.
8513 Use 0 (not Qt) for the indication of empty font-group. Change the
8514 format of RFONT-DEF. Return Qt if no font in the font-group
8515 support the character.
8516 (fontset_font): Adjust for the above change. If no font was
8517 found the character, remember that.
8518 (face_for_char): Adjust for the change of RFONT-DEF.
8519 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8520 no font for the target.
8521 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8522
85232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8524
8525 * font.c (font_load_for_face): Handle the case that the font in
8526 face->lface is a string.
8527
85282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8529
8530 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8531
85322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8533
8534 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8535 Fix previous change. If the frame is not on a window system,
8536 signal an error.
8537
85382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8539
8540 * coding.c (decode_coding_object, encode_coding_object): Adjust
8541 marker positions after conversion.
8542
8543 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8544
85452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8546
8547 * font.c (font_find_for_lface): Fix the handling of the return
8548 value of font_has_char.
8549 (Ffont_shape_text): Fix previous change.
8550
8551 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8552 (fontset_ref_and_range): Delete it.
8553 (fontset_find_font): Call char_table_ref_and_range instead of
8554 FONTSET_REF_AND_RANGE.
8555 (make_fontset): Don't setup font groups of Latin here.
8556 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8557 (new_fontset_from_font): Make the specified font the default for
8558 all Latin characters.
8559
85602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8561
8562 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8563 is on a window system before accessing the fontset of the frame.
8564
85652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8566
8567 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8568
8569 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8570 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8571
8572 * font.c (Ffont_shape_text): If the font driver doesn't have a
8573 shaper function, make zero-width glyphs to have at least one-pixel
8574 width. Fix setting of `to' field of glyphs.
8575
85762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8577
8578 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8579 glyphs.
8580
8581 * font.h (struct font_driver): Improve docstring of member `shape'.
8582
85832008-02-01 Kenichi Handa <handa@m17n.org>
8584
8585 * composite.c (syms_of_composite): Fix docstring of
8586 auto-composition-function.
8587
8588 * font.h (LGLYPH_SIZE): New macro.
8589
8590 * font.c (Ffont_fill_gstring): Stop filling when a character not
8591 supported by the font is found.
8592 (Ffont_shape_text): When a shape callback function returns nil,
8593 try at most two more times with larger gstring.
8594 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8595
8596 * xdisp.c (handle_auto_composed_prop): Change the argument to
8597 auto-composition-function.
8598
8599 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8600 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8601 Lispy glyph and store it in the lgstring.
8602
8603 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8604
8605 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8606
86072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8608
8609 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8610
8611 * fontset.c (Vfont_encoding_charset_alist): New variable.
8612 (syms_of_fontset): DEFVAR it.
8613 (reorder_font_vector, fontset_find_font): Optimize for the case of
8614 no need of reordering.
8615 (face_for_char): Map the charset property by
8616 Vfont_encoding_charset_alist.
8617
86182008-02-01 Jason Rumney <jasonr@gnu.org>
8619
8620 * w32font.c (logfonts_match): Don't check adstyle here.
8621 (font_matches_spec): Check here against physical font instead.
8622 (add_font_entity_to_list): Avoid some substitutions.
8623
8624 * font.c (font_parse_fcname): Default weight and slant to normal.
8625 (font_score): Prefer normal fonts if weight or slant unspecified.
8626 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8627 match freetype scores.
8628
86292008-02-01 Jason Rumney <jasonr@gnu.org>
8630
8631 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8632 font, as it may have been deleted.
8633 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8634 most common hyphenless variation.
8635 (logfonts_match): Check generic family.
8636 (font_matches_spec): Don't check generic family here.
8637 (fill_in_logfont): Set generic family based on adstyle.
8638
8639 * w32font.h (w32font_get_cache): Update declaration.
8640
86412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8642
8643 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8644
8645 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8646 If none of the new drivers are available, call font_update_drivers
8647 with the old drivers.
8648
8649 * w32font.c (w32font_get_cache): Adjust the argument type.
8650
8651 * xfont.c (xfont_get_cache): Adjust the argument type.
8652
8653 * font.h (struct font_driver): Change argument type of get_cache.
8654
8655 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8656
8657 * font.c (Ffont_get): Fix arguments to Fassoc.
8658 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8659 (font_clear_cache): New function.
8660 (font_list_entities, font_matching_entity): Use font_get_cache.
8661 (font_update_drivers): Call font_clear_cache when finishing a driver.
8662
8663 * fontset.c (fontset_find_font): Fix previous change.
8664
86652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8666
8667 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8668 dpyinfo->font_table.
8669 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8670 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8671
8672 * font.c (font_at): Handle the case that the arg C is negative.
8673 Handle the unibyte case.
8674 (Ffont_at): Call font_at with the arg C -1.
8675
8676 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8677 the position here, and call font_at with the arg C -1.
8678 Don't check the range of the existing composition at the point.
8679
86802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8681
8682 * fontset.c (fontset_add): New args charset_id and family.
8683 Change caller.
8684 (load_font_get_repertory, fontset_find_font): Assume that
8685 font_spec is always a font-spec object.
8686 (Fset_fontset_font): Always store a font-spec object in a fontset.
8687
8688 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8689 instead of get_property_and_range.
8690
86912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8692
8693 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8694 (xftfont_open): Don't keep locking face.
8695 (xftfont_close): Don't unlock face.
8696 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8697
8698 * fontset.c (fontset_find_font): Don't prefer a font of
8699 supplementary charset.
8700
87012008-02-01 Kenichi Handa <handa@m17n.org>
8702
8703 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8704 script, langsys_tag to langsys, new member script.
8705 (OTF_TAG_STR): Terminate by '\0'.
8706 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8707 listing to the script specified in that property. Fix arg to
8708 OTF_check_features.
8709
87102008-02-01 Jason Rumney <jasonr@gnu.org>
8711
8712 * w32font.h: New file.
8713
8714 * w32font.c: Include it.
8715 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8716 (w32font_open): Set owning_frame.
8717 (w32font_text_extents): Use owning_frame.
8718 (struct font_callback_data): Add opentype_only field.
8719 (add_font_entity_to_list): Use it to filter fonts.
8720 Don't check against full name.
8721 (w32font_list_internal): New function.
8722 (w32font_list): Use it.
8723 (w32font_match_internal): New function.
8724 (w32font_match): Use it.
8725 (w32font_open_internal): New function.
8726 (w32font_open): Use it.
8727 (w32font_get_cache, w32font_close, w32font_has_char)
8728 (w32font_encode_char, w32font_text_extents, w32font_draw):
8729 Make non-static.
8730
8731 * makefile.w32-in (w32font.o): Depend on w32font.h.
8732
87332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8734
8735 * charset.c (Fdefine_charset_internal): Record a supplementary
8736 charset at the tail of Vcharset_order_list.
8737
8738 * font.c (Ffont_shape_text): Fix the return value.
8739
8740 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8741
8742 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8743
87442008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8745
8746 * ftfont.c (struct OpenTypeSpec): New struct.
8747 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8748 (ftfont_get_open_type_spec): New function.
8749 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8750
8751 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8752
87532008-02-01 Jason Rumney <jasonr@gnu.org>
8754
8755 * w32font.c (add_font_entity_to_list): Compare only the beginning
8756 of full name.
8757
87582008-02-01 Kenichi Handa <handa@m17n.org>
8759
8760 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8761 Never return HANDLED_RECOMPUTE_PROPS.
8762
87632008-02-01 Kenichi Handa <handa@m17n.org>
8764
8765 * font.c (font_gstring_produce): Delete it.
8766
8767 * composite.h (COMPOSITION_METHOD):
8768 Handle COMPOSITION_WITH_GLYPH_STRING.
8769
87702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8771
8772 * xfont.c (Qx): Delete.
8773 (syms_of_xfont): Don't initialize Qx.
8774
8775 * composite.h (enum composition_method):
8776 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8777
87782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8779
8780 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8781 (choose_face_font): Accept new form of font-spec.
8782
8783 * frame.h (font_driver_list): Declare it unconditionally.
8784 (struct frame): Define members font_driver_list and font_data_list
8785 unconditionally.
8786
8787 * fontset.c: Include "font.h" unconditionally.
8788 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8789 (Fset_fontset_font): Accept a font-spec object.
8790
8791 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8792 PIXEL_SIZE part a wild card.
8793
8794 * dispextern.h (struct glyph_string): Define members clip and
8795 num_clips unconditionally.
8796 (struct face): Define members font_info and extra unconditionally.
8797
8798 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8799 ftfont_info only when HAVE_LIBOTF is defined.
8800
88012008-02-01 Andreas Schwab <schwab@suse.de>
8802
8803 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8804 and end.
8805
88062008-02-01 Jason Rumney <jasonr@gnu.org>
8807
8808 * w32font.c (w32font_driver): Add new fields.
8809
88102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8811
8812 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8813 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8814 (LIBES): Add @M17N_FLT_CFLAGS@.
8815
8816 * composite.c (compose_text): Don't treat the new style
8817 composition specially.
8818
8819 * emacs.c (main): Call syms_of_font unconditionally.
8820
8821 * font.h (FONT_ENTITY_NOT_LOADABLE)
8822 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8823 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8824 (struct font_driver): New member shape.
8825 (font_registry_charsets): Extern it.
8826 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8827 (font_otf_capability, font_drive_otf): Delete their externs.
8828
8829 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8830 (font_charset_alist, font_registry_charsets): Move from xfont.c
8831 and rename.
8832 (font_prop_validate_otf): New function.
8833 (font_property_table): Register it for QCotf.
8834 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8835 (font_drive_otf): Delete.
8836 (font_prepare_composition): New arg F. Adjust for the change of
8837 lispy gstring.
8838 (font_find_for_lface): New arg C.
8839 (font_load_for_face): Adjust for the change of font_find_for_lface.
8840 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8841 lispy gstring.
8842 (Ffont_shape_text): New function.
8843 (Fopen_font): If the font size is not given, use 12-pixel.
8844 (Ffont_at): New arg STRING.
8845 (syms_of_font): Initalize font_charset_alist.
8846 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8847 conditionally.
8848
8849 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8850 fonts of the same font-spec. Change the format of RFONT-DEF.
8851 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8852 Adjust for the change of RFONT-DEF.
8853 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8854
8855 * ftfont.h: New file.
8856
8857 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
8858 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8859 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8860 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
8861 font_otf_capability and font_drive_otf, set ftfont_shape.
8862 (ftfont_list): Adjust for the change of :otf property value.
8863 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
8864 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
8865 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
8866 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8867 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
8868 (otf_gstring, gstring, m17n_flt_initialized): New variables.
8869
8870 * w32term.c (x_draw_composite_glyph_string_foreground):
8871 Adjust for the change of lispy gstring.
8872
8873 * xdisp.c (handle_composition_prop): Adjust for the change of
8874 lispy gstring. Call a function for auto-composition with the
8875 third arg it->window.
8876 (fill_composite_glyph_string): Adjust for the change of lispy string.
8877 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
8878
8879 * xfaces.c (set_font_frame_param): Adjust for the change of
8880 font_find_for_lface.
8881
8882 * xfont.c (x_font_charset_alist): Move to font.c and rename.
8883 (xfont_registry_charsets): Likewise. Change caller.
8884 (syms_of_xfont): Don't handle x_font_charset_alist.
8885
8886 * xftfont.c: Include "ftfont.h".
8887 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
8888 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
8889 (xftfont_close) [HAVE_LIBOTF]: Close otf.
8890 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
8891 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
8892 Set xftfont_driver.shape to xftfont_shape.
8893
8894 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
8895 the change of lispy gstring.
8896
88972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8898
8899 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
8900
89012008-02-01 Jason Rumney <jasonr@gnu.org>
8902
8903 * w32font.c (w32font_draw): Fill background manually.
8904
89052008-02-01 Jason Rumney <jasonr@gnu.org>
8906
8907 * font.c (Qfontp): Remove unused symbol.
8908 (QCantialias): New symbol.
8909 (syms_of_font): Define it.
8910 (font_property_table): Set a validator for QCantialias.
8911
8912 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
8913 Define if not already.
8914 (QCfamily): Share with xfaces.c.
8915 (Qstandard, Qsubpixel, Qnatural): New symbols.
8916 (syms_of_w32font): Define them. Don't define QCfamily here.
8917 (w32_antialias_type, lispy_antialias_type): New functions.
8918 (w32_enumfont_pattern_entity): New arg requested_font.
8919 Set antialias parameter if non-default was requested.
8920 (fill_in_logfont): Fill in lfQuality if :antialias specified.
8921
89222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8923
8924 * lread.c (read1): Undo the previous change.
8925
89262008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
8927
8928 * frame.c (Fdelete_frame): Call font_update_drivers only when
8929 USE_FONT_BACKEND is defined.
8930
89312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8932
8933 * font.h (struct font_bitmap): New member bits_per_pixel.
8934 (struct font_driver): New members start_for_frame and end_for_frame.
8935 (struct font_data_list): New struct.
8936 (font_put_frame_data, font_get_frame_data): Extern them.
8937
8938 * frame.h (struct frame): New member font_data_list.
8939
8940 * font.c (font_update_drivers): Call driver->start_for_frame and
8941 driver->end_for_frame at proper timings.
8942 (font_put_frame_data, font_get_frame_data): New functions.
8943 (Ffont_spec): Add usage in the docstring.
8944
8945 * frame.c (make_frame): Initialize f->font_data_list to NULL.
8946 (Fdelete_frame): Call font_update_drivers.
8947
8948 * xftfont.c (struct xftface_info): Delete the member xft_draw.
8949 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
8950 (xftfont_get_xft_draw): New function.
8951 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
8952 (xftfont_end_for_frame): New function.
8953 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
8954
8955 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
8956 Change argument. Cache GCs in the per-frame data.
8957 (struct ftxfont_frame_data): New struct.
8958 (ftxfont_draw_bitmap): New arg gc_fore and flush.
8959 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
8960 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
8961 (ftxfont_end_for_frame): New function.
8962 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
8963
8964 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
8965
89662008-02-01 Kenichi Handa <handa@m17n.org>
8967
8968 * xselect.c (Vselection_coding_system)
8969 (Vnext_selection_coding_system): Delete them.
8970 (syms_of_xselect): Don't declare selection-coding-system and
8971 next-selection-coding-system. They are declared in select.el.
8972
89732008-02-01 Jason Rumney <jasonr@gnu.org>
8974
8975 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
8976
8977 * w32fns.c: Include imm.h.
8978 (get_composition_string_fn, get_ime_context_fn): New optional
8979 system functions.
8980 (globals_of_w32fns): Load them from imm32.dll.
8981 (ignore_ime_char): New flag.
8982 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
8983 WM_IME_ENDCOMPOSITION messages.
8984
8985 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
8986 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
8987
89882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8989
8990 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
8991 (READCHAR_REPORT_MULTIBYTE): New macro.
8992 (readchar): New 2nd arg MULTIBYTE.
8993 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
8994 Make symbol's name multibyte according to the multibyteness of the
8995 source.
8996
89972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8998
8999 * xfaces.c (face_for_overlay_string): Call lookup_face with
9000 correct arguments (fix of synching with the trunk).
9001
90022008-02-01 Kenichi Handa <handa@m17n.org>
9003
9004 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9005 (font_prop_validate_non_neg, font_prop_validate_spacing):
9006 Delete argument prop_index.
9007 (font_property_table): Change arguments to validater. Change Callers.
9008 (font_lispy_object): Delete.
9009 (font_at): Use font_find_object instead fo font_lispy_object.
9010
90112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9012
9013 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9014 and file names.
9015
90162008-02-01 Jason Rumney <jasonr@gnu.org>
9017
9018 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9019 (font_matches_spec): Remove debug output.
9020 (add_font_entity_to_list): Avoid using substituted fonts.
9021
90222008-02-01 Jason Rumney <jasonr@gnu.org>
9023
9024 * doc.c (Fsnarf_documentation):
9025 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9026
90272008-02-01 Miles Bader <miles@gnu.org>
9028
9029 * dispextern.h (struct glyph_row): Only define "clip" field if
9030 HAVE_WINDOW_SYSTEM is defined.
9031
90322008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9033
9034 Fix up multi-tty merge.
9035
9036 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9037 and indentation.
9038
9039 * xfaces.c (free_realized_face, clear_face_gcs):
9040 Include font_done_for_face in the input_blocked section, just in case.
9041
9042 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9043 (get_char_face_and_encoding): Undo last change and remove the *other*
9044 duplicate definition (i.e. keep the one that's better scoped and that
9045 includes code for the font-backend).
9046
9047 * terminal.c (create_terminal): Default keyboard_coding to
9048 `no-conversion' and terminal_coding to `undecided'.
9049
9050 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9051
9052 * fontset.c (free_realized_fontsets): Check that the table entry does
9053 contain a fontset before trying to compare it to `base'.
9054
9055 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9056 syms_of_charset, and syms_of_coding earlier because init_window_once
9057 now needs Vcoding_system_hash_table to be setup.
9058
9059 * coding.h (default_buffer_file_coding): Remove.
9060
9061 * coding.c (default_buffer_file_coding): Remove.
9062 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9063 than ->symbol, and use the terminal-local coding system.
9064 (syms_of_coding): Don't setup the coding-systems that are not
9065 terminal-local.
9066 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9067
9068 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9069 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9070
9071 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9072 in chartab.c and were re-added here by mistake.
9073 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9074
9075 * doc.c (Fsnarf_documentation):
9076 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9077 src to etc.
9078
9079 * ChangeLog.10: Add mistakenly removed entry.
9080
90812008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9082
9083 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9084
90852008-02-01 Miles Bader <miles@gnu.org>
9086
9087 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9088 Add extra args to FACE_FOR_CHAR.
9089
90902008-02-01 Kenichi Handa <handa@m17n.org>
9091
9092 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9093 in sequence.
9094
9095 * chartab.c (map_sub_char_table, map_char_table): If the range
9096 contains just one character, call the function with that character
9097 even if the depth is not 3.
9098
90992008-02-01 Jason Rumney <jasonr@gnu.org>
9100
9101 * w32font.c (w32font_text_extents): Calculate metrics for the
9102 whole string.
9103
91042008-02-01 Jason Rumney <jasonr@gnu.org>
9105
9106 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9107
91082008-02-01 Jason Rumney <jasonr@gnu.org>
9109
9110 * w32term.c (x_set_glyph_string_clipping): Use
9111 get_glyph_string_clip_rects.
9112 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9113 Adjust for the change of struct glyph_string.
9114
9115 * w32font.c (w32font_draw): Do clipping here.
9116
91172008-02-01 Kenichi Handa <handa@m17n.org>
9118
9119 * xftfont.c (xftfont_draw): Adjust for the change of struct
9120 glyph_string.
9121
9122 * xterm.c (x_set_glyph_string_clipping): Use
9123 get_glyph_string_clip_rects.
9124 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9125 Adjust for the change of struct glyph_string.
9126
9127 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9128 the resulting clip(s}.
9129 (expose_overlaps): Add arg r. Change callers. Set it to
9130 row->clip temporarily.
9131 (expose_window): Redraw rows overlapping the exposed area.
9132
9133 * dispextern.h (struct glyph_row): New member clip.
9134 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9135 clip_height, new member clip, and num_clips.
9136
91372008-02-01 Kenichi Handa <handa@m17n.org>
9138
9139 * data.c (Fchar_or_string_p): Fix docstring.
9140
91412008-02-01 Kenichi Handa <handa@m17n.org>
9142
9143 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9144 create a temporary XftDraw object.
9145
91462008-02-01 Kenichi Handa <handa@m17n.org>
9147
9148 * font.c (Ffontp): Fix docstring.
9149
9150 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9151 strong evidence of ISO-2022.
9152
91532008-02-01 Kenichi Handa <handa@m17n.org>
9154
9155 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9156 SYNTAX_ENTRY_FOLLOW_PARENT.
9157
91582008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9159
9160 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9161 its type.
9162 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9163 Update to the new type of weak_hash_tables and next_weak.
9164
9165 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9166 a plain C pointer to Lisp_Hash_Table.
9167
9168 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9169 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9170 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9171 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9172 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9173 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9174 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9175 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9176 (GC_EQ): Remove since they've been identical to their non-GC_
9177 alter-egos ever since the markbit was eradicated.
9178
9179 * alloc.c:
9180 * buffer.c:
9181 * buffer.h:
9182 * data.c:
9183 * fileio.c:
9184 * filelock.c:
9185 * fns.c:
9186 * frame.h:
9187 * lisp.h:
9188 * macterm.c:
9189 * print.c:
9190 * process.c:
9191 * w32fns.c:
9192 * w32menu.c:
9193 * w32term.c:
9194 * xfns.c:
9195 * xmenu.c:
9196 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9197
91982008-02-01 Kenichi Handa <handa@m17n.org>
9199
9200 * chartab.c (map_sub_char_table): Make it work for the top-level
9201 char-table. Fix handling of parent char-table.
9202 (map_char_table): Adjust for the above change.
9203
92042008-02-01 Jason Rumney <jasonr@gnu.org>
9205
9206 * w32font.c (Qgdi): Rename from Qw32.
9207
92082008-02-01 Jason Rumney <jasonr@gnu.org>
9209
9210 * w32bdf.c (get_quoted_string): Make function static.
9211
92122008-02-01 Kenichi Handa <handa@m17n.org>
9213
9214 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9215 bigger ascent and descent than those of the font, use them as
9216 font's ascent and descent.
9217
92182008-02-01 Kenichi Handa <handa@m17n.org>
9219
9220 * Makefile.in (${lispsource}international/charprop.el): Move this
9221 target within "#ifdef HAVE_UNIDATA" and "#endif".
9222
92232008-02-01 Kenichi Handa <handa@m17n.org>
9224
9225 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9226 (shortlisp): Add ../lisp/language/tai-viet.el.
9227
92282008-02-01 Ulrich Mueller <ulm@gentoo.org>
9229
9230 * Makefile.in (${lispsource}international/charprop.el): Depend on
9231 temacs${EXEEXT}.
9232
92332008-02-01 Jason Rumney <jasonr@gnu.org>
9234
9235 * w32font.c (w32font_close): Delete the GDI font object.
9236
9237 * w32menu.c: Include character.h.
9238
9239 * w32proc.c: Likewise.
9240
9241 * w32select.c: Likewise.
9242
9243 * makefile.w32-in (w32proc.o): Depend on character.h.
9244
92452008-02-01 Jason Rumney <jasonr@gnu.org>
9246
9247 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9248
9249 * w32menu.c (syms_of_w32menu): Likewise.
9250
9251 * w32proc.c (syms_of_ntproc): Likewise.
9252
9253 * w32select.c (syms_of_w32select): Likewise.
9254
9255 * w32term.c (syms_of_w32term): Likewise.
9256
92572008-02-01 Jason Rumney <jasonr@gnu.org>
9258
9259 * w32font.c (w32font_draw): Delete brush after using it.
9260
92612008-02-01 Jason Rumney <jasonr@gnu.org>
9262
9263 * w32font.c (w32font_open): Don't set font_idx.
9264 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9265 to font settings.
9266 (w32font_draw): Fill background explicitly.
9267
92682008-02-01 Jason Rumney <jasonr@gnu.org>
9269
9270 * w32term.c (w32_initialize): Don't call w32font_initialize.
9271
9272 * w32font.c (w32font_info): Remove subranges.
9273 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9274 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9275 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9276 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9277 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9278 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9279 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9280 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9281 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9282 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9283 New symbols.
9284 (font_callback_data): New struct.
9285 (w32font_list, w32font_match): Use it.
9286 (w32font_open): Don't populate subranges.
9287 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9288 (w32font_encode_char): Always return unicode code-point as-is.
9289 (w32font_text_extents): Supply a transformation matrix to
9290 GetGlyphOutline. Never look up by glyph index. Avoid looping
9291 twice. Use unicode version of GetTexExtentPoint32 instead of
9292 glyph index version.
9293 (set_fonts_frame): Remove.
9294 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9295 set frame parameter. Use backward compatible fake foundries.
9296 Save generic family in extra slot under QCfamily. Make width slot
9297 constant. Save QCspacing value. Save list of scripts instead of
9298 binary subranges.
9299 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9300 (add_font_entity_to_list): Use font_callback_data struct. Filter
9301 unwanted fonts.
9302 (add_one_font_entity_to_list): Use font_callback_data struct.
9303 (w32_registry): Default to iso10646_1.
9304 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9305 string font registries. Don't fill in font name if it is a generic
9306 family name, fill family instead. Use spacing, family and script
9307 extra info to fill pitch, family and charset fields.
9308 (list_all_matching_fonts): Use font_callback_data struct.
9309 (unicode_range_for_char): Remove.
9310 (font_supported_scripts): New function.
9311 (w32font_initialize): Remove.
9312 (syms_of_w32font): Update which symbols are defined.
9313
93142008-02-01 Jason Rumney <jasonr@gnu.org>
9315
9316 * font.c (font_pixel_size): Reverse assq_no_quit args.
9317
9318 * w32term.h (FONT_WIDTH): Report max width, not average.
9319 (FONT_MAX_WIDTH): Remove.
9320 (FONT_AVG_WIDTH): New macro.
9321
9322 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9323 redefinition of FONT_WIDTH.
9324
9325 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9326 (w32_cache_char_metrics): Use FONT_WIDTH.
9327
9328 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9329
93302008-02-01 Jason Rumney <jasonr@gnu.org>
9331
9332 * w32font.c (w32font_open): Make lfHeight negative.
9333
9334 * w32fns.c (x_default_font_parameter): Use new style font name.
9335 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9336
93372008-02-01 Jason Rumney <jasonr@gnu.org>
9338
9339 * w32font.c (QCsubranges): New symbol.
9340 (w32font_open, w32font_has_char): Get subranges from subproperty
9341 of extra.
9342 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9343 (syms_of_w32font): Define :subranges symbol.
9344
9345 * font.c (font_put_extra): Expose externally.
9346
9347 * font.h (font_put_extra): Move declaration from font.c.
9348
9349 * font.c (Ffont_get): Use font driver to determine otf capability.
9350 (adjust_anchor): Check if driver defines anchor_point before using.
9351
9352 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9353 (w32font_draw): Use options.
9354 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9355 Fix detection of truetype fonts.
9356 (registry_to_w32_charset): Handle charsets other than iso8859-1
9357 expressed as lisp symbols.
9358 (w32_registry): Express charset as lisp symbol.
9359 (fill_in_logfont): Reverse pixel and point height logic.
9360 Don't set width here. Set quality to default.
9361
9362 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9363 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9364
9365 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9366 Remove redundant loop and allocation.
9367
9368 * makefile.w32-in (font.o, w32font.o): New objects.
9369 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9370 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9371
9372 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9373 STORE_XCHARB a valid l-value.
9374
9375 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9376 calculations for non-Truetype fonts.
9377 (x_draw_glyph_string): Sync with xterm.c.
9378 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9379 Remove redundant code.
9380 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9381
9382 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9383 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9384
9385 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9386 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9387
9388 * w32font.c: New file for w32 font backend.
9389
93902008-02-01 Kenichi Handa <handa@m17n.org>
9391
9392 * term.c: Don't include "buffer.h" twice.
9393
93942008-02-01 Kenichi Handa <handa@m17n.org>
9395
9396 * character.c (Funibyte_string): New function.
9397 (syms_of_character): Defsubr it.
9398
93992008-02-01 Jason Rumney <jasonr@gnu.org>
9400
9401 * w32term.c [USE_FONT_BACKEND]:
9402 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9403 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9404 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9405 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9406 (x_free_frame_resources): Sync with xterm.c.
9407
94082008-02-01 Andreas Schwab <schwab@suse.de>
9409
9410 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9411 char-table size.
9412
94132008-02-01 Kenichi Handa <handa@m17n.org>
9414
9415 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9416
94172008-02-01 Kenichi Handa <handa@m17n.org>
9418
9419 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9420 font_otf_gpos, add font_drive_otf.
9421
9422 * fontset.c (fontset_find_font): Pay attention to font size
9423 specified for a font.
9424 (reorder_font_vector): Check contents of font_def.
9425
9426 * font.c (struct otf_list): Delete it.
9427 (otf_list): Make it a lisp variable.
9428 (otf_open): Use lispy otf_list.
9429 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9430 (check_otf_features): New function.
9431 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9432 New functions.
9433 (font_drive_otf): New function merging font_otf_gsub and
9434 font_otf_gpos.
9435 (font_open_for_lface): New arg spec. Change argument order.
9436 (font_load_for_face): Adjust for the change of font_open_for_lface.
9437 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9438 Ffont_otf_gpos.
9439 (syms_of_font): Staticpro otf_list. Delete defsubr of
9440 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9441
9442 * xfaces.c (set_font_frame_param): Adjust for the change of
9443 font_open_for_lface.
9444
9445 * font.h (font_open_for_lface): Adjust prototype.
9446 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9447 member otf_drive.
9448 (font_otf_gsub, font_otf_gpos): Delete externs.
9449 (font_drive_otf): Extern it.
9450
94512008-02-01 Kenichi Handa <handa@m17n.org>
9452
9453 * font.c (font_at): If the window W is not on a window system,
9454 return Qnil.
9455
9456 * coding.c (produce_chars, encode_coding): Don't call
9457 insert_from_gap if no characters to produce.
9458
94592008-02-01 Kenichi Handa <handa@m17n.org>
9460
9461 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9462 Fclear_face_cache.
9463
9464 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9465
94662008-02-01 Miles Bader <miles@gnu.org>
9467
9468 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9469 Parse "--disable-font-backend" option.
9470 (standard_args): Add "--disable-font-backend" option.
9471
94722008-02-01 Kenichi Handa <handa@m17n.org>
9473
9474 * fontset.c (fontset_find_font): New function.
9475 (fontset_font): Use fontset_find_font.
9476 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9477 Register the specified font for all Latin characters.
9478 (new_fontset_from_font): Register the specified font for all Latin
9479 characters.
9480 (dump_fontset): For a realized fontset, include the base fontset
9481 name in the returned vector.
9482
94832008-02-01 Kenichi Handa <handa@m17n.org>
9484
9485 * character.h (CHAR_STRING): Cast C to unsigned on calling
9486 char_string.
9487
9488 * character.c (char_string): Type of arg C changed to unsigned.
9489 Signal an error if C is an invalid character code.
9490
9491 * editfns.c (general_insert_function, Fchar_to_string):
9492 Use CHARACTERP, not INTEGERP.
9493
94942008-02-01 Kenichi Handa <handa@m17n.org>
9495
9496 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9497 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9498
9499 * regex.c (analyse_first): Fix for multibyte characters in "case
9500 charset:" and "case categoryspec:".
9501
95022008-02-01 Andreas Schwab <schwab@suse.de>
9503
9504 * Makefile.in (LIBES): Move standard libraries to the end.
9505
95062008-02-01 Kenichi Handa <handa@m17n.org>
9507
9508 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9509 nonzero, don't shrink the buffer nextb.
9510
9511 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9512
9513 * coding.c (coding_alloc_by_making_gap): New arg offset.
9514 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9515 offset.
9516 (decode_coding_iso_2022): Update coding->safe_charsets.
9517 (decode_coding_gap): Temporarily set
9518 current_buffer->text->inhibit_shrinking to 1.
9519
95202008-02-01 Kenichi Handa <handa@m17n.org>
9521
9522 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9523 indexing into elements of s->cmp and s->char2b.
9524
95252008-02-01 Juanma Barranquero <lekktu@gmail.com>
9526
9527 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9528
95292008-02-01 Kenichi Handa <handa@m17n.org>
9530
9531 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9532 target_multibyte instead of multibyte.
9533 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9534 (bcmp_translate): Change the argument name from multibyte to
9535 target_multibyte.
9536
95372008-02-01 Kenichi Handa <handa@m17n.org>
9538
9539 These changes are to compile a regexp into a pattern that can be
9540 used both for multibyte and unibyte targets.
9541
9542 * Makefile.in (search.o): Depend on charset.h.
9543
9544 * character.c (multibyte_char_to_unibyte_safe): New function.
9545
9546 * search.c: Include "charset.h".
9547 (compile_pattern_1): Delete argument multibyte. Don't set
9548 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9549 (compile_pattern): Don't compare cp->buf.target_multibyte.
9550 Compare cp->buf.charset_unibyte.
9551 (compile_pattern): Set cp->buf.target_multibyte.
9552
9553 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9554
9555 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9556
9557 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9558 multibyte. Change callers.
9559 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9560 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9561 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9562 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9563 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9564 (regex_compile): Make the compiled pattern usable both for
9565 multibyte and unibyte targets.
9566 (analyse_first): Make the fastmap usable both for multibyte and
9567 unibyte targets.
9568 (TRANSLATE_VIA_MULTIBYTE): Delete.
9569 (re_match_2_internal): Pay attention to the case that the
9570 multibyteness of bufp and target may be different.
9571
95722008-02-01 Kenichi Handa <handa@m17n.org>
9573
9574 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9575 empty box occupy at least one column width.
9576
95772008-02-01 Miles Bader <miles@gnu.org>
9578
9579 * Makefile.in: Remove redundant HAVE_XFT clause.
9580
95812008-02-01 Kenichi Handa <handa@m17n.org>
9582
9583 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9584
95852008-02-01 Kenichi Handa <handa@m17n.org>
9586
9587 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9588 being nil.
9589
95902008-02-01 Kenichi Handa <handa@m17n.org>
9591
9592 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9593
95942008-02-01 Kenichi Handa <handa@m17n.org>
9595
9596 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9597
95982008-02-01 Kenichi Handa <handa@m17n.org>
9599
9600 * search.c (simple_search): Fix previous change.
9601
96022008-02-01 Kenichi Handa <handa@m17n.org>
9603
9604 * xftfont.c (ftfont_font_format): Extern declaration.
9605
9606 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9607
9608 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9609 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9610
9611 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9612 (ftfont_font_format): Fix previous change.
9613
9614 * font.h (Ffont_xlfd_name): EXFUN it.
9615
9616 * font.c (font_parse_xlfd): Fix the array size of `f'.
9617 (register_font_driver): Use EQ to compare driver->type.
9618
9619 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9620 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9621 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9622
96232008-02-01 Kenichi Handa <handa@m17n.org>
9624
9625 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9626 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * xfont.c (xfont_open): Set font->format.
9631
9632 * xftfont.c (xftfont_open): Set font->format.
9633
9634 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9635 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9636 (ftfont_open): Set font->format.
9637 (ftfont_font_format): New function.
9638
9639 * font.h (struct font): New member format.
9640
9641 * font.c (Qopentype): New variable.
9642 (syms_of_font): Defsym it.
9643 (Fquery_font): Change the format of the last element of the return
9644 value.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9649 last resort.
9650
96512008-02-01 Kenichi Handa <handa@m17n.org>
9652
9653 * coding.c (detect_coding_charset): Fix detection of multi-byte
9654 charset.
9655
96562008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9657
9658 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9659
96602008-02-01 Kenichi Handa <handa@m17n.org>
9661
9662 * xdisp.c (get_next_display_element): Set it->face_id for the
9663 first component of a composition.
9664 (x_produce_glyphs): Check if the font is changed or not for composition.
9665
96662008-02-01 Kenichi Handa <handa@m17n.org>
9667
9668 * fontset.c (Qlatin): New variable.
9669 (syms_of_fontset): Define it as a lisp symbol.
9670 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9671
96722008-02-01 Kenichi Handa <handa@m17n.org>
9673
9674 * font.c (font_unparse_fcname): Pay attention to the case that
9675 some of font property is a null string.
9676
96772008-02-01 Kenichi Handa <handa@m17n.org>
9678
9679 * term.c: Include "composite.h".
9680 (encode_terminal_code): Output all components of composition.
9681 Check the size of encode_terminal_src.
9682 (produce_glyphs): For composition, call produce_composite_glyph.
9683 (append_composite_glyph, produce_composite_glyph): New functions.
9684
9685 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9686 is not found, get font_info from the current ascii face.
9687
96882008-02-01 Kenichi Handa <handa@m17n.org>
9689
9690 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9691 buffer-file-name to Qnil before calling insert_from_buffer.
9692
9693 * font.c (font_unparse_fcname): Pay attention to the case that
9694 foundry is a null string.
9695
96962008-02-01 Kenichi Handa <handa@m17n.org>
9697
9698 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9699
9700 * font.c (Qunicode_sip): New variable.
9701 (syms_of_font): Declare it as a Lisp symbol.
9702
9703 * font.h (Qunicode_sip): Extern it.
9704
97052008-02-01 Kenichi Handa <handa@m17n.org>
9706
9707 * composite.c (get_composition_id): Pay attention to TAB component.
9708
9709 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9710 TAB. Adjust for the change of s->char2b which always points to
9711 the first element of allocated memory.
9712
9713 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9714
9715 * xdisp.c (handle_composition_prop): Set it->c to the first
9716 non-TAB component.
9717 (fill_composite_glyph_string): Change argument.
9718 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9719 (x_produce_glyphs): Fix handling of left/right padding.
9720
97212008-02-01 Kenichi Handa <handa@m17n.org>
9722
9723 * coding.c (detect_coding_system): Fix for handling off
9724 inhibit_iso_escape_detection. Fix for the case that no coding
9725 system is defined for a specific coding category.
9726
97272008-02-01 Kenichi Handa <handa@m17n.org>
9728
9729 * font.c (font_matching_entity): Delete unused local var.
9730
9731 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9732 opening a font.
9733
9734 * fileio.c (Finsert_file_contents): On recovering a file, assume
9735 Unix-like eol.
9736 (choose_write_coding_system): On auto-saving a file, force
9737 Unix-like eol.
9738
9739 * coding.c (setup_coding_system): Fix setting of
9740 coding->common_flags based on eol_type.
9741 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9742 inherit from it.
9743
97442008-02-01 Kenichi Handa <handa@m17n.org>
9745
9746 * alloc.c (NSTATICS): Increas to 0x600.
9747
97482008-02-01 Kenichi Handa <handa@m17n.org>
9749
9750 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9751 (ftfont_list): Don't check :name property.
9752 (ftfont_match): New function.
9753 (ftfont_pattern_entity): If the pattern doesn't contain
9754 FC_SPACING, don't assume FC_MONO.
9755
9756 * font.h (struct font_driver): New member `match'.
9757 (font_update_drivers): Adjust prototype.
9758
9759 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9760 property of FONT.
9761 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9762 them unconditionally.
9763 (font_matching_entity): New function.
9764 (font_open_by_name): Try font_matching_entity if exact match is
9765 not found.
9766 (font_update_drivers): Delete the arg FONT. Return a list of
9767 actually used backends. Don't free faces, font caches here.
9768 Don't store data in frame parameters. Don't call x_set_font.
9769 (Ffont_spec): Store :name property as is.
9770 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9771 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9772 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9773 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9774 Call font->driver->otf_gsub instead of font_otf_gsub.
9775
9776 * frame.c (x_set_font_backend): Do more works that were done in
9777 font_update_drivers before.
9778
9779 * xfont.c (xfont_match): New function.
9780 (xfont_driver): Set xfont_driver.match to xfont_match.
9781 (xfont_draw): Set font in GC if necessary.
9782
9783 * ftxfont.c (ftxfont_match): New function.
9784 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9785
9786 * xftfont.c (xftfont_match): New function.
9787 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9788
97892008-02-01 Kenichi Handa <handa@m17n.org>
9790
9791 * font.h (struct font): New member scalable.
9792 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9793 (font_otf_gsub): Adjust prototype.
9794
9795 * font.c (font_otf_capability): Fix handling of the default langsys.
9796 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9797 Check the contents of SPEC.
9798 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9799 (check_gstring): New function.
9800 (REPLACEMENT_CHARACTER): New macro.
9801 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9802 glyph codes of GSTRING.
9803 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9804 (font_prepare_composition): Set cmp->glyph_len.
9805 (font_open_entity): Set font->scalable.
9806 (Ffont_get): Handle :otf property.
9807 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9808 functions.
9809 (Fquery_font): Use font->font.full_name.
9810 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9811 Sfont_otf_alternates.
9812
9813 * ftfont.c (ftfont_open): Set font->font.full_name and
9814 font->font.name properly. Fix calculation of font->font.height
9815 and font->min_width.
9816
9817 * ftxfont.c (ftxfont_create_gcs): New function.
9818 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9819 (ftxfont_draw_backgrond): Fix filling region.
9820 (ftxfont_default_fid): New function.
9821 (ftxfont_open): Set xfont->fid to the return value of
9822 ftxfont_default_fid.
9823 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9824 (ftxfont_done_face): Free only GCs that are created by
9825 ftxfont_create_gcs.
9826 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9827
9828 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9829 Clip to src->width, etc (not src->clip_XXX).
9830
9831 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9832 FontBackend frame parameter.
9833
98342008-02-01 Kenichi Handa <handa@m17n.org>
9835
9836 * font.h (struct font_driver_list): New member `on'.
9837 (Fclear_font_cache): EXFUN it.
9838 (font_update_drivers): Extern it.
9839
9840 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9841 (font_list_entities): Check driver_list->on.
9842 (register_font_driver): Initalize `on' member to 0.
9843 (font_update_drivers): New function.
9844 (Fclear_font_cache): Check driver_list->on.
9845
9846 * frame.h (Qfont_backend): Extern it.
9847 (x_set_font_backend): Extern it.
9848
9849 * frame.c (Qfont_backend): New variable.
9850 (frame_parms): New element for font-backend.
9851 (x_set_font_backend): New function.
9852
9853 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9854 FontBackend frame parameter.
9855 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
9856 x_set_font_backend.
9857
9858 * xfont.c (xfont_list): Don't try listing by :name property if the
9859 name is not for XLFD.
9860
98612008-02-01 Kenichi Handa <handa@m17n.org>
9862
9863 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
9864 (LGLYPH_SET_TO): New macros.
9865 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
9866 element of G is vector or not.
9867 (font_at): Extern it.
9868
9869 * font.c: Include window.h.
9870 (font_lispy_object): New function.
9871 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
9872 end of valid glyph.
9873 (font_close_object): Fix getting (struct font *).
9874 (font_at): New function.
9875 (Ffont_get): If FONT is a font-object, get entity from it.
9876 (Ffont_make_gstring): Initialize elements of glyphs with nil.
9877 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
9878 range check.
9879 (Ffont_at): New function.
9880 (syms_of_font): Defsubr Sfont_at.
9881
9882 * xdisp.c (it_props): Move the entry for Qauto_composed to just
9883 before the entry for Qcomposition.
9884 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
9885 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
9886 the font in gstring.
9887 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
9888 LGLYPH_FORM (g) to detect the end of valid glyph.
9889 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
9890 we are composing with gstring.
9891
9892 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
9893 Check if adjustment is vector or not.
9894
9895 * Makefile.in (font.o): Make it depends on window.h.
9896
98972008-02-01 Kenichi Handa <handa@m17n.org>
9898
9899 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
9900 adjustment is vector or not.
9901
99022008-02-01 Miles Bader <miles@gnu.org>
9903
9904 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
9905
99062008-02-01 Kenichi Handa <handa@m17n.org>
9907
9908 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
9909 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
9910 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
9911
9912 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
9913 (DEVICE_DELTA): Fix typo.
9914 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
9915 LGLYPH format.
9916
9917 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9918 the change of LGLYPH format.
9919
99202008-02-01 Kenichi Handa <handa@m17n.org>
9921
9922 * ftfont.c (ftfont_list): Fix typo.
9923 (ftfont_build_basic_charsets): Don't include letters with diacritics.
9924
99252008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9926
9927 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
9928
9929 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
9930 xftface_info is non-NULL.
9931
99322008-02-01 Jan Djärv <jan.h.d@swipnet.se>
9933
9934 * ftfont.c (ftfont_list): Move misplaced #endif.
9935
99362008-02-01 Kenichi Handa <handa@m17n.org>
9937
9938 * ftfont.c (ftfont_list): Pay attention to the case that
9939 FC_CAPABILITY is not defined.
9940
99412008-02-01 Kenichi Handa <handa@m17n.org>
9942
9943 * xftfont.c (xftfont_open): Set charset related members to -1.
9944
9945 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
9946 QCname.
9947 (ftfont_open): Set charset related members to -1.
9948
9949 * fontset.c (Votf_script_alist): New variable.
9950 (syms_of_fontset): Initialize it.
9951 (fontset_font): Delete unused variable.
9952
9953 * fontset.h (Votf_script_alist): Extern it.
9954
9955 * font.c (font_find_for_lface): Optimize code.
9956
9957 * font.h (font_close_object, font_merge_old_spec): Extern them.
9958
99592008-02-01 Kenichi Handa <handa@m17n.org>
9960
9961 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
9962 (syms_of_font): Initialize them.
9963 (font_pixel_size): Allow float value in dpi.
9964 (font_prop_validate_type): Delete.
9965 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
9966 Change caller.
9967 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
9968 (font_prop_validate_extra): Delete.
9969 (font_prop_validate_spacing): New function.
9970 (font_property_table): Add elements for all known properties.
9971 (get_font_prop_index): Rename from check_font_prop_name. New
9972 argument FROM. Change caller.
9973 (font_prop_validate): Validate all known properties.
9974 (font_put_extra): Delete argument force. Change caller.
9975 (font_expand_wildcards): Make it static. Fix the way of shrinking
9976 the possible range.
9977 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
9978 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
9979 Change caller.
9980 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
9981 (font_parse_fcname): Delete argument merge. Fix parsing of point
9982 size. Don't validate properties values here. Change caller.
9983 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
9984 (font_open_by_name): Delete unused variable.
9985 (Ffont_spec): Likewise. Validate property values.
9986 (Ffont_match_p): New function.
9987
9988 * font.h (QCscalable): Extern it.
9989 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
9990
9991 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
9992
9993 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
9994 (xfont_list_pattern): New function.
9995 (xfont_list): Use xfont_list_pattern.
9996
99972008-02-01 Kenichi Handa <handa@m17n.org>
9998
9999 * font.h (Flist_fonts): EXFUN it.
10000
100012008-02-01 Jason Rumney <jasonr@gnu.org>
10002
10003 * w32term.c (w32_initialize): Add back smoothing_type and
10004 smoothing_enabled definitions.
10005
100062008-02-01 Kenichi Handa <handa@m17n.org>
10007
10008 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10009 s->face->font on determining underline position.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10014 (font_has_char): Accept font-object too.
10015 (font_find_for_lface): Try at first with a size specified in face.
10016
100172008-02-01 Kenichi Handa <handa@m17n.org>
10018
10019 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10020 font_open_by_name.
10021
100222008-02-01 Kenichi Handa <handa@m17n.org>
10023
10024 * font.h (QCspacing, QCdpi): Extern them.
10025 (enum font_spacing): New enum.
10026 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10027
10028 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10029 (QCspacing, QCdpi): New variables.
10030 (syms_of_font): Initialize them.
10031 (font_pixel_size): New function.
10032 (font_put_extra): New function.
10033 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10034 in FONT_EXTRA.
10035 (font_parse_fcname): Handle enumerated values (e.g. bold).
10036 Fix handling font size. Add QCname property that contains only
10037 unknown properties.
10038 (font_score): Change argument. Change caller. Pay attention to
10039 FONT_PIXEL_SIZE_QUANTUM.
10040 (font_sort_entites, font_list_entities, font_find_for_lface)
10041 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10042 (Ffont_spec): Add QCname property that contains only unknown properties.
10043
10044 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10045 include weight in listing pattern, instead check weight of each
10046 listed font. Don't include scalable in pattern. Pay attention to
10047 FONT_PIXEL_SIZE_QUANTUM.
10048
100492008-02-01 Kenichi Handa <handa@m17n.org>
10050
10051 * font.c (font_parse_fcname): Fix parsing of point-size.
10052 (font_unparse_fcname): Produce symbolic names for style properties.
10053 (font_list_entities): Handle float size correctly.
10054 (font_open_by_name): Prefer `normal' property values if the name
10055 doesn't specify them.
10056
10057 * fontset.c (Finternal_char_font): Use font_get_name, not
10058 Ffont_xlfd_name.
10059
10060 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10061 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10062 pattern. Don't force scalable.
10063
10064 * xftfont.c (xftfont_open): For generating a name, start from
10065 96-byte buffer.
10066
100672008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10068
10069 * frame.h (x_new_fontset2): Fix prototype.
10070
100712008-02-01 Kenichi Handa <handa@m17n.org>
10072
10073 * font.h (struct font_driver): Delete member parse_name.
10074 (font_match_p, font_get_spec, font_parse_fcname)
10075 (font_unparse_fcname): Extern them.
10076 (font_get_name): Adjust prototype.
10077
10078 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10079 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10080 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10081 unnecessary checks for weight, slant, and swidth.
10082 (font_parse_fcname): New function.
10083 (font_unparse_fcname): New function.
10084 (font_parse_name): New function.
10085 (font_match_p): New function.
10086 (font_get_name): Change return value to Lisp string.
10087 (font_get_spec): New function.
10088 (Qunspecified, Qignore_defface): Don't extern them.
10089 (font_find_for_lface): Assume that LFACE is fully specified.
10090 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10091 object, use it for FACE.
10092 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10093 driver->parse_name.
10094 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10095
10096 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10097 prototype.
10098
10099 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10100 argument F. Don't call Fnew_fontset. Instead, directly call
10101 make_fontset.
10102
10103 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10104
10105 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10106 of x_new_fontset2.
10107
10108 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10109 (Qsans__serif): New variables.
10110 (ftfont_generic_family_list): New variable.
10111 (syms_of_ftfont): Initialize the above variables.
10112 (ftfont_pattern_entity): Delete argument NAME.
10113 (ftfont_list_generic_family): New function.
10114 (ftfont_parse_name): Delete this function.
10115 (ftfont_list): Try generic family only when FcFontList found no font.
10116 (ftfont_list_family): Fix args to FcObjectSetBuild.
10117
10118 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10119 object in attrs[LFACE_FONT_INDEX].
10120 (set_lface_from_font_name): Cancel all changes for font-backend.
10121 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10122 function.
10123 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10124 font object in QCfont attribute.
10125 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10126 (realize_default_face) [USE_FONT_BACKEND]: Call
10127 set_lface_from_font_and_fontset.
10128
10129 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10130 "fixed", and signal error here if no suitable font was found.
10131
10132 * xfont.c (xfont_parse_name): Delete this function.
10133
10134 * xftfont.c (xftfont_open): Change coding style of error
10135 handling. Generate fontconfig's fontname pattern.
10136
10137 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10138 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10139
10140 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10141 Both args FONTSET and FONT_OBJECT must be existing ones.
10142
101432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10144
10145 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10146
101472008-02-01 Kenichi Handa <handa@m17n.org>
10148
10149 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10150
10151 * font.h (struct font): Fix typo.
10152
10153 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10154 XLFD_XXX_INDEX.
10155 (enum xlfd_field_mask): New enum.
10156 (intern_font_field): Changed argument. Change caller. If digits
10157 are followed by non-digits, return a symbol.
10158 (font_expand_wildcards): New function.
10159 (font_parse_xlfd): Fix wildcard handling.
10160 (Ffont_spec): If :name is specified, reflect the info in the other
10161 properties.
10162
10163 * ftfont.c (ftfont_pattern_entity): Fix typo.
10164 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10165 locale.
10166
101672008-02-01 Kenichi Handa <handa@m17n.org>
10168
10169 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10170
10171 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10172 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10173 registry doesn't specify encoding part.
10174 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10175 (font_open_by_name): At first try parsing the name.
10176 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10177 as Lisp symbols.
10178
10179 * fontset.c (reorder_font_vector): Pay attention to the case that
10180 the 3rd element of font_def is nil.
10181 (fontset_font): For the default fontset, append one more fontset
10182 elements for a script-based font specification. Don't add script
10183 attribute on finding a font.
10184 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10185 font name.
10186 (fontset_ascii_font): If a font can't be opened, return nil.
10187
10188 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10189 (ftfont_pattern_entity): New function.
10190 (ftfont_get_cache): Assume that freetype_font_cache is already
10191 initialized.
10192 (ftfont_list): Handle the case that a file is specified in font
10193 name. Use ftfont_pattern_entity to generate entities.
10194 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10195 (syms_of_ftfont): Initialize freetype_font_cache.
10196
10197 * xftfont.c (xftfont_open): Make the font name fontconfig's
10198 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10199 (xftfont_close): Free font->font.name if not NULL.
10200
10201 * xfont.c (xfont_list): If script is specified for a font, return
10202 null_vector.
10203 (xfont_list_family): Declare argument type.
10204
10205 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10206 name, set LFACE_FONT (lface) to nil.
10207
10208 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10209 return Qnil.
10210
102112008-02-01 Kenichi Handa <handa@m17n.org>
10212
10213 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10214 (standard_args): Add "-enable-font-backend".
10215
102162008-02-01 Kenichi Handa <handa@m17n.org>
10217
10218 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10219 (struct xftdraw_list, xftdraw_list): Delete them.
10220 (register_xftdraw, check_xftdraw): Delete them.
10221 (xftfont_prepare_face): Don't call register_xftdraw.
10222 (xftfont_done_face): Don't call check_xftdraw.
10223 (xftfont_draw): Get background color only when with_background is
10224 nonzero.
10225
10226 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10227
102282008-02-01 Kenichi Handa <handa@m17n.org>
10229
10230 These changes are for the new font handling codes.
10231
10232 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10233 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10234 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10235 (FONTSRC, FONTOBJ): New variables.
10236 (obj): Add $(FONTOBJ).
10237 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10238 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10239 @LIBOTF_LIBS@.
10240 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10241 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10242
10243 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10244
10245 * character.h (Vscript_representative_chars): Extern it.
10246
10247 * character.c (Vscript_representative_chars): New variable.
10248 (syms_of_character): Declare it as a Lisp variable.
10249
10250 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10251 enable_font_backend is nonzero, accept the composition method
10252 COMPOSITION_WITH_GLYPH_STRING.
10253
10254 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10255 enumeration COMPOSITION_WITH_GLYPH_STRING.
10256
10257 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10258 members clip_x, clip_y, clip_width, and clip_height.
10259 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10260
10261 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10262 --enable-font-backend. Call syms_of_font.
10263
10264 * fns.c (assoc_no_quit): New function.
10265
10266 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10267 (face_for_font, new_fontset_from_font)
10268 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10269
10270 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10271 (fontset_font, fontset_ascii, face_for_char)
10272 (make_fontset_for_ascii_face, Ffont_info)
10273 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10274 is nonzero, use font-backend mechanism.
10275 (find_font_encoding): Make it non-static.
10276 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10277 New functions.
10278
10279 * frame.h (struct frame): New members resx and resy.
10280 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10281 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10282
10283 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10284 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10285
10286 * lisp.h (assoc_no_quit): Extern it.
10287
10288 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10289 Through out the file, use FONT_INFO_FROM_FACE instead of
10290 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10291 rif->per_char_metric.
10292 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10293 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10294 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10295 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10296 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10297 nonzero, use font-backend mechanism.
10298 (get_per_char_metric): New function.
10299
10300 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10301 (set_lface_from_font_name)
10302 (set_font_frame_param, free_realized_face)
10303 (prepare_face_for_display, clear_face_gcs)
10304 (Finternal_set_font_selection_order, realize_x_face)
10305 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10306 font-backend mechanism.
10307 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10308 (load_face_font) [USE_FONT_BACKEND]: Abort.
10309 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10310 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10311
10312 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10313 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10314 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10315 nonzero, register all available font drivers. Call
10316 x_default_font_parameter for deciding a font.
10317 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10318
10319 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10320 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10321 (x_set_glyph_string_clipping_exactly)
10322 (x_compute_glyph_string_overhangs)
10323 (x_draw_glyph_string_foreground)
10324 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10325 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10326 enable_font_backend is nonzero, use font-backend mechanism.
10327 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10328
103292008-02-01 Kenichi Handa <handa@m17n.org>
10330
10331 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10332 system_eol_type.
10333 (syms_of_coding): Initialize system_eol_type.
10334
10335 * process.c (Fset_process_coding_system): Inherit system's eol
10336 format if necessary.
10337
103382008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10339
10340 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10341
103422008-02-01 Kenichi Handa <handa@m17n.org>
10343
10344 * coding.c (decode_eol): Pay attention to buffer relocation in
10345 del_range_2.
10346 (decode_coding): Call decode_eol before restoring undo_list.
10347
103482008-02-01 Kenichi Handa <handa@m17n.org>
10349
10350 * charset.c (Fdefine_charset_internal): Fix setting of
10351 emacs_mule_bytes.
10352
103532008-02-01 Kenichi Handa <handa@m17n.org>
10354
10355 * keyboard.c (read_char): Check if C is a character or not before
10356 looking up Vkeyboard_translate_table.
10357
103582008-02-01 Kenichi Handa <handa@m17n.org>
10359
10360 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10361 condition to terminate the loop.
10362
103632008-02-01 Kenichi Handa <handa@m17n.org>
10364
10365 * coding.c (produce_composition): Compare charbuf[i] instead of
10366 args[i] against 0.
10367 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10368
103692008-02-01 Kenichi Handa <handa@m17n.org>
10370
10371 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10372 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10373 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10374 detect_coding.
10375 (emacs_mule_char): Handle old style (Emacs 20) component character
10376 of a composition.
10377 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10378 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10379 composition rule.
10380 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10381
103822008-02-01 Kenichi Handa <handa@m17n.org>
10383
10384 * coding.c (encode_coding_ccl): Allocate destination dynamically
10385 when necessary.
10386
103872008-02-01 Kenichi Handa <handa@m17n.org>
10388
10389 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10390 the loop. When quitted, show a proper error message.
10391
103922008-02-01 Kenichi Handa <handa@m17n.org>
10393
10394 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10395 src->clip_head and src->clip_tail temporarily instead of src->hl.
10396
10397 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10398 character sequence.
10399 (Fccl_execute_on_string): Use ASET, not XSET.
10400
104012008-02-01 Kenichi Handa <handa@m17n.org>
10402
10403 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10404
104052008-02-01 Kenichi Handa <handa@m17n.org>
10406
10407 * coding.c (decode_coding): Fix the condition of terminating the
10408 decoding loop.
10409
104102008-02-01 Kenichi Handa <handa@m17n.org>
10411
10412 * data.c (Faset): On setting a character bigger than 255 in a
10413 unibyte string, signal an error instead of make the string multibyte.
10414
104152008-02-01 Kenichi Handa <handa@m17n.org>
10416
10417 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10418 made by a mapping table.
10419
104202008-02-01 Kenichi Handa <handa@m17n.org>
10421
10422 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10423 not.
10424 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10425 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10426
10427 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10428 s->face is NULL or not.
10429
104302008-02-01 Kenichi Handa <handa@m17n.org>
10431
10432 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10433 (x_draw_glyph_string): Fix drawing of right_overhang and
10434 left_overhang around/on cursor.
10435
10436 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10437
104382008-02-01 Kenichi Handa <handa@m17n.org>
10439
10440 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10441
104422008-02-01 Kenichi Handa <handa@m17n.org>
10443
10444 * coding.c (Fdefine_coding_system_internal)
10445 (Fdefine_coding_system_alias): Avoid a duplicated element in
10446 Vcoding_system_alist.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10451
10452 * coding.c (Qcoding_system_define_form): New variable.
10453 (syms_of_coding): Intern and staticpro it.
10454 (Fcoding_system_p): Check Qcoding_system_define_form.
10455 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10456
10457 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10458 Fcoding_system_p.
10459 (CHECK_CODING_SYSTEM): If ID is not available, call
10460 Fcheck_coding_system.
10461 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10462 Try also Fcheck_coding_system.
10463
104642008-02-01 Kenichi Handa <handa@m17n.org>
10465
10466 * coding.c (code_conversion_restore): GCPRO arg.
10467
104682008-02-01 Kenichi Handa <handa@m17n.org>
10469
10470 * character.c (lisp_string_width): Check multibyteness of STRING.
10471
104722008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10473
10474 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10475 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10476 (decode_mac_font_name): Use decode_coding_c_string instead of
10477 decode_coding.
10478 (x_load_font): Initialize fontp->fontset to -1. Set
10479 fontp->encoding_type.
10480
104812008-02-01 Kenichi Handa <handa@m17n.org>
10482
10483 * search.c (search_buffer): Give up BM search on case-fold-search
10484 if one of a target character has a case-equivalence of different
10485 byte length even if that target charcter is an ASCII.
10486 (simple_search): Fix calculation of byte length of matched text.
10487 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10488
104892008-02-01 Kenichi Handa <handa@m17n.org>
10490
10491 * coding.c (decode_coding): Fix handling of invalid bytes.
10492
104932008-02-01 Kenichi Handa <handa@m17n.org>
10494
10495 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10496 Unicode characters.
10497
104982008-02-01 Kenichi Handa <handa@m17n.org>
10499
10500 * coding.c (encode_coding_object): If a pre-write-conversion
10501 function makes a new buffer, kill it.
10502
105032008-02-01 Kenichi Handa <handa@m17n.org>
10504
10505 * coding.c (QCascii_compatible_p): New variable.
10506 (syms_of_coding): Initialize it.
10507 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10508 calling string_char.
10509 (record_conversion_result): Add `default:' case.
10510 (coding_charset_list): Delete unused variable `coding_type'.
10511 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10512 property in the plist of the coding system.
10513 (Fcoding_system_put): Check QCascii_compatible_p.
10514
105152008-02-01 Miles Bader <miles@gnu.org>
10516
10517 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10518 removed calculation of frame `f', as it's now used.
10519
105202008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10523 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10524 (UNIDATA): New variable.
10525 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10526 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10527 $(RUN_TEMACS) unconditionally.
10528
105292008-02-01 Kenichi Handa <handa@m17n.org>
10530
10531 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10532 (admindir): New variable.
10533 ($(lispsource)international/charprop.el): New target.
10534
105352008-02-01 Miles Bader <miles@gnu.org>
10536
10537 * character.c (chars-in-region): Remove obsolete function.
10538 (syms_of_character): Remove its initialization.
10539
105402008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10541
10542 * w32select.c (validate_coding_system)
10543 (setup_windows_coding_system): New functions.
10544 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10545 setup_windows_coding_system.
10546 (setup_config, Fw32_get_clipboard_data): Use
10547 validate_coding_system.
10548 (Fx_selection_exists): Move call to setup_config to a place
10549 where signals are allowed.
10550
10551 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10552 (Fcheck_coding_system): Add declarations.
10553
105542008-02-01 Kenichi Handa <handa@m17n.org>
10555
10556 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10557
105582008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10559
10560 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10561 string as the second argument for x_new_fontset.
10562
105632008-02-01 Kenichi Handa <handa@m17n.org>
10564
10565 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10566 (encode_coding_object): Use safe_call instead of call2.
10567
105682008-02-01 Kenichi Handa <handa@m17n.org>
10569
10570 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10571
10572 * Makefile.in (lisp): Include charprop.el.
10573
105742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10575
10576 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10577 Not sure if it's unnecessary.
10578
105792008-02-01 Steven Tamm <steventamm@mac.com>
10580
10581 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10582 some possibly unnecessary fontset checking code that crashed
10583 when creating a new frame.
10584
105852008-02-01 Kenichi Handa <handa@m17n.org>
10586
10587 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10588 lookup_face.
10589
10590 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10591
10592 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10593
105942008-02-01 Kenichi Handa <handa@m17n.org>
10595
10596 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10597 (coding_charset_list): New function.
10598
10599 * coding.h (coding_charset_list): Extern it.
10600
106012008-02-01 Kenichi Handa <handa@m17n.org>
10602
10603 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10604 concatenation of family and registry.
10605
106062008-02-01 Kenichi Handa <handa@m17n.org>
10607
10608 * character.h (BYTE8_STRING): Fix typo.
10609
10610 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10611 string to multibyte (sync to HEAD).
10612
10613 * casefiddle.c (casify_region): Handle changes in byte-length
10614 using replace_range_2 (sync to HEAD).
10615
106162008-02-01 Andreas Schwab <schwab@suse.de>
10617
10618 * chartab.c (map_char_table): GCPRO table and arg.
10619
106202008-02-01 Kenichi Handa <handa@m17n.org>
10621
10622 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10623 already at limit.
10624
106252008-02-01 Kenichi Handa <handa@m17n.org>
10626
10627 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10628 instead of fast_c_string_match_ignore_case.
10629 (find_font_encoding): Change argument to Lisp_Object. Use
10630 fast_string_match_ignore_case instead of
10631 fast_c_string_match_ignore_case. Change caller.
10632
106332008-02-01 Kenichi Handa <handa@m17n.org>
10634
10635 * xdisp.c (get_next_display_element): In unibyte case, decide to
10636 display in octal form by checking a character by
10637 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10638
10639 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10640
10641 * character.c (unibyte_has_multibyte_table): New variable.
10642
10643 * character.h (unibyte_has_multibyte_table): Extern it.
10644 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10645
106462008-02-01 Kenichi Handa <handa@m17n.org>
10647
10648 * coding.c (encode_coding_iso_2022): Fix handling of charset
10649 annotation.
10650
106512008-02-01 Kenichi Handa <handa@m17n.org>
10652
10653 * coding.c (setup_coding_system): If coding_system is nil, use
10654 Qundecided.
10655 (Fterminal_coding_system): Return nil if terminal coding system is
10656 `undecided'.
10657 (syms_of_coding): Define coding-system `undecided' here. Setup
10658 terminal_coding as `undecided'.
10659
106602008-02-01 Kenichi Handa <handa@m17n.org>
10661
10662 * xdisp.c (message_dolog, set_message_1): Call
10663 unibyte_char_to_multibyte with arg type int.
10664
10665 * lread.c (read1): Fix reading of a char-table.
10666
10667 * print.c (print_object): Include sub char-table in circularities
10668 detection.
10669
106702008-02-01 Kenichi Handa <handa@m17n.org>
10671
10672 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10673 Append the found sequences in car of ARGS instead of prepending.
10674
106752008-02-01 Kenichi Handa <handa@m17n.org>
10676
10677 * fileio.c (report_file_error): Make a unibyte string from
10678 strerror (errorno).
10679 (Fsubstitute_in_file_name): Fix the arg to
10680 unibyte_char_to_multibyte. It is evaluated twice.
10681
106822008-02-01 Kenichi Handa <handa@m17n.org>
10683
10684 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10685
106862008-02-01 Kenichi Handa <handa@m17n.org>
10687
10688 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10689 BOM is not found.
10690 (detect_coding, detect_coding_system): Optimization for ISO-2022
10691 when no 8-bit data is found.
10692
106932008-02-01 Jason Rumney <jasonr@gnu.org>
10694
10695 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10696
106972008-02-01 Kenichi Handa <handa@m17n.org>
10698
10699 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10700 CHARS.
10701
107022008-02-01 Steven Tamm <steventamm@mac.com>
10703
10704 * macterm.c (mac_encode_char): Add charset argument and update
10705 to use encoding_type.
10706 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10707 switch to pure fontset.
10708 (decode_mac_font_name): Temporarily remove decoding.
10709 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10710 (x_load_font): Temporarily remove encoding.
10711
107122008-02-01 Kenichi Handa <handa@m17n.org>
10713
10714 * xfaces.c (Fface_font): If frame is not on a window system,
10715 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10716 refer to face->font.
10717 (split_font_name_into_vector, build_font_name_from_vector)
10718 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10719 when HAVE_WINDOW_SYSTEM is defined.
10720
107212008-02-01 Kenichi Handa <handa@m17n.org>
10722
10723 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10724 (x_produce_glyphs): Fix setting of members of cmp in case
10725 cmp->glyph_len is zero.
10726
10727 * fontset.c (Fset_fontset_font): Fix docstring.
10728 (Ffontset_info): Make it backward compatible. New arg ALL.
10729
107302008-02-01 Kim F. Storm <storm@cua.dk>
10731
10732 * process.c (read_process_output): Grow decoding_buf when needed;
10733 this could cause a crash in allocate_string and compact_small_strings.
10734
107352008-02-01 Kenichi Handa <handa@m17n.org>
10736
10737 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * coding.c (setup_coding_system): Set coding->common_flags
10742 correctly for raw-text.
10743 (consume_chars): On encoding unibyte text by raw-text, don't check
10744 multibyte form.
10745 (encode_coding): On encoding by raw-text, never use translation tables.
10746
10747 * fileio.c (e_write): Short cut for the case of no encoding.
10748
107492008-02-01 Kenichi Handa <handa@m17n.org>
10750
10751 * coding.c (detect_coding, detect_coding_system): Delete unused
10752 variables.
10753
107542008-02-01 Kenichi Handa <handa@m17n.org>
10755
10756 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10757 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10758
107592008-02-01 Kenichi Handa <handa@m17n.org>
10760
10761 * coding.c (Ffind_coding_systems_region_internal): Include
10762 raw-text and no-conversion in the result.
10763
107642008-02-01 Kenichi Handa <handa@m17n.org>
10765
10766 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10767 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10768 FONT_DEF.
10769 (font_def_arg, add_arg, from_arg, to_arg): New args.
10770 (set_fontset_font): Change argument.
10771 (Fset_fontset_font): Fix for the case that TARGET is a script
10772 name and charset name.
10773 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10774
107752008-02-01 Kenichi Handa <handa@m17n.org>
10776
10777 * fontset.c (fontset_font): Rename from fontset_face. Change return
10778 value.
10779 (face_suitable_for_char_p, face_for_char): Adjust for the change
10780 of fontset_font.
10781 (make_fontset_for_ascii_face): Fix setting of the fontset element
10782 for ASCII.
10783 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10784 to get a font name.
10785 (Ffontset_info): Adjust for the change of fontset_font.
10786
10787 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10788
10789 * character.h (LEADING_CODE_LATIN_1_MIN)
10790 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10791
107922008-02-01 Kenichi Handa <handa@m17n.org>
10793
10794 * editfns.c (check_translation): New function.
10795 (Ftranslate_region_internal): Handle M:N mapping.
10796
107972008-02-01 Kenichi Handa <handa@m17n.org>
10798
10799 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10800
108012008-02-01 Kenichi Handa <handa@m17n.org>
10802
10803 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10804 goto invalid_code.
10805 (decode_coding_iso_2022): Fix handling of invalid designation.
10806
10807 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10808 after calling code_conversion_save.
10809
108102008-02-01 Kenichi Handa <handa@m17n.org>
10811
10812 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10813
10814 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10815
10816 * fontset.c: Include "intervals.h".
10817 (fontset_face): Fix comparing of Lisp_Objects.
10818 (free_face_fontset, new_fontset_from_font_name): Fix
10819 Lisp_Object/int mixup.
10820
10821 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10822
10823 * coding.c: Add many prototypes for static functions.
10824 (get_translation_table): Allow max_lookup to be NULL.
10825 (decode_coding, Ffind_coding_systems_region_internal)
10826 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10827 get_translation_table with max_lookup NULL.
10828
108292008-02-01 Kenichi Handa <handa@m17n.org>
10830
10831 * coding.c (get_translation_table): Declare it as Lisp_Object.
10832 (LOOKUP_TRANSLATION_TABLE): New macro.
10833 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10834 instead of CHAR_TABLE_REF.
10835
108362008-02-01 Kenichi Handa <handa@m17n.org>
10837
10838 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10839 annotation data format.
10840 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10841 Change arguments FROM and TO to single argument NCHARS. Change caller.
10842 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10843 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10844 (decode_coding_ccl, decode_coding_charset): Pay attention to
10845 coding->charbuf_used.
10846 (get_translation): New function.
10847 (produce_chars): New arguments translation_table and last_block.
10848 Translate characters here. Return number of carryover chars.
10849 Change caller.
10850 (produce_composition): New argument pos. Change caller.
10851 Adjust for the change of annotation data format.
10852 (produce_charset, produce_annotation): Likewise.
10853 (decode_coding, encode_coding): Don't call translate_chars.
10854 (consume_chars): New arg translation_table. Change caller.
10855 (translate_chars): Delete.
10856 (syms_of_coding): Make translation-table's number of extra slots 2.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * search.c (simple_search): Fix setting this_pos_byte in backward
10861 search.
10862
10863 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
10864 byte sequence.
10865 (detect_coding_ccl): Fix setting of the variable valids.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
10870
10871 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
10872
10873 * editfns.c (Ftranslate_region_internal): Rename from
10874 Ftranslate_region. Accept a char-table in TABLE.
10875 (syms_of_editfns): Defsubr Stranslate_region_internal.
10876
10877 * xfaces.c (set_lface_from_font_name): If a font is specified for
10878 a frame, generate a fontset from the font.
10879 (build_scalable_font_name): If the scalable font is requested for
10880 a specific size, don't change that size.
10881 (try_font_list): Try a scalable font also in the case that a
10882 pattern string is specified.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * xfaces.c (Fface_font): New optional arg CHARACTER.
10887
108882008-02-01 Kenichi Handa <handa@m17n.org>
10889
10890 * charset.h (CHARSET_OFFSET): New macro.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
10895
10896 * fontset.c (fontset_face): Handle the case that repertory is a
10897 char-table.
10898 (find_font_encoding): Return nil for unknown encoding.
10899 (Fset_fontset_font): Ignore a font of unknown encoding.
10900
109012008-02-01 Kenichi Handa <handa@m17n.org>
10902
10903 * keymap.c (describe_vector): Handle default value of a char table.
10904
10905 * fontset.c (fontset_face): Handle fallback fonts correctly.
10906 (Ffontset_info): Return infomation about fallback fonts.
10907
109082008-02-01 Kenichi Handa <handa@m17n.org>
10909
10910 * fontset.c (FONTSET_DEFAULT): New macro.
10911 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
10912 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
10913 the case that it is nil.
10914 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
10915 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
10916
10917 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
10918 subset or superset.
10919
109202008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * emacs.c (main): Call init_charset after syms_of_XXX.
10923
10924 * charset.c (Vcharset_map_directory): Delete.
10925 (Vcharset_map_path): New variable.
10926 (load_charset_map_from_file): Use Vcharset_map_path instead.
10927 (init_charset): Initialize Vcharset_map_path.
10928 (syms_of_charset): Delete declaration of "charset-map-directory",
10929 add declaration of "charset-map-path".
10930
109312008-02-01 Kenichi Handa <handa@m17n.org>
10932
10933 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
10934 ASCII only string.
10935
10936 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
10937
10938 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
10939 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
10940
109412008-02-01 Kenichi Handa <handa@m17n.org>
10942
10943 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
10944
10945 * coding.c (QCmnemonic, QCdefalut_char)
10946 (QCdecode_translation_table, QCencode_translation_table)
10947 (QCpost_read_conversion, QCpre_write_conversion): New variables.
10948 (get_translation_table): Return a list of translation tables if
10949 necessary.
10950 (decode_coding): Call get_translation_table with ENCODEP 0.
10951 (char_encodable_p): If translation_table is non-nil, always call
10952 translate_char.
10953 (Fdefine_coding_system_internal): Accept list of translation
10954 tables as :encode-translation-table and :decode-translation-table.
10955 (Fcoding_system_put): New function.
10956 (syms_of_coding): Declare new symbols. Defsubr
10957 Scoding_system_put.
10958 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
10959 typically JISX0212.
10960
10961 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
10962 when the charset is superset type.
10963
10964 * character.c (translate_char): Accept list of translation tables.
10965
109662008-02-01 Kenichi Handa <handa@m17n.org>
10967
10968 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
10969 (CODING_ATTR_TRANS_TBL): New macro.
10970
10971 * coding.c (get_translation_table): New function.
10972 (translate_chars): Fix the bug of skipping annotation data.
10973 (decode_coding, encode_coding): Utilize get_translation_table.
10974 (char_encodable_p, Funencodable_char_position): Translate char if
10975 necessary.
10976 (Ffind_coding_systems_region_internal)
10977 (Fcheck_coding_systems_region): Setup translation table for encode
10978 in a coding system attribute vector in advance.
10979 (Fdefine_coding_system_internal): Allow a symbol as translation
10980 table. For shift-jis type coding system, allow 4th charset.
10981
109822008-02-01 Kenichi Handa <handa@m17n.org>
10983
10984 * coding.c (decode_coding_sjis): Check the first byte rigidly.
10985
10986 * xdisp.c (get_next_display_element): Pass -1 as POS to
10987 FACE_FOR_CHAR if displaying a C-string.
10988
109892008-02-01 Kenichi Handa <handa@m17n.org>
10990
10991 * composite.c (get_composition_id): Handle xoff and yoff in a
10992 composition rule.
10993
10994 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
10995 (struct composition): New member lbearing and rbearing.
10996
10997 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
10998 (x_get_glyph_overhangs): Handle a composition glyph.
10999 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11000
11001 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11002 composition glyph.
11003
110042008-02-01 Kenichi Handa <handa@m17n.org>
11005
11006 * print.c: Include charset.h.
11007 (Vprint_charset_text_property): New variable.
11008 (Qdefault): Extern it.
11009 (PRINT_STRING_NON_CHARSET_FOUND)
11010 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11011 (print_check_string_result): New variable.
11012 (print_check_string_charset_prop): New function.
11013 (print_prune_charset_plist): New variable.
11014 (print_prune_string_charset): New function.
11015 (print_object): Call print_prune_string_charset if
11016 Vprint_charset_text_property is not t.
11017 (print_interval): Print nothing if interval->plist is nil.
11018 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11019 variable. Init and staticpro print_prune_charset_plist.
11020
110212008-02-01 Kenichi Handa <handa@m17n.org>
11022
11023 * fontset.c (new_fontset_from_font_name): Use the specified font
11024 for all characters in the new fontset.
11025
11026 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11027 OBJECT args.
11028
11029 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11030 OBJECT args for composition too.
11031
11032 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11033 OBJECT args.
11034
110352008-02-01 Kenichi Handa <handa@m17n.org>
11036
11037 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11038
11039 * fontset.c (reorder_font_vector): Adjust for the change of
11040 FONT_DEF format.
11041 (fontset_face): New arg id. Change caller.
11042 (face_for_char): New args pos and object.
11043 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11044 (fs_query_fontset): Check NAME by Fassoc too.
11045 (Fset_fontset_font): Allow non-XLFD font name.
11046 (Ffontset_info): Adjust for the change of FONT_DEF format.
11047
11048 * fontset.h (face_for_char): Adjust prototype.
11049
11050 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11051 (append_space, extend_face_to_end_of_line)
11052 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11053 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11054
11055 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11056 POS and OBJECT args.
11057
11058 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11059 POS and OBJECT args.
11060
110612008-02-01 Jason Rumney <jasonr@gnu.org>
11062
11063 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11064 of GlobalAlloc'ed memory.
11065
110662008-02-01 Kenichi Handa <handa@m17n.org>
11067
11068 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11069
11070 * charset.h (charset_table_used): Delete extern.
11071
11072 * charset.c (charset_table_used): Make it static.
11073 (map_charset_chars): Fix args to c_function with.
11074
11075 * chartab.c (map_sub_char_table_for_charset): Fix args to
11076 c_function with.
11077
11078 * coding.h (enum coding_result_code): Delete
11079 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11080
11081 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11082 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11083 (Vlast_code_conversion_error): New variables.
11084 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11085 (ONE_MORE_BYTE): Record error if any instead of signaling an
11086 error. If non-ASCII multibyte char is found, return the negative
11087 value of the code. All callers changed to check it.
11088 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11089 (record_conversion_result): New function. Change all codes setting
11090 coding->result to call this function.
11091 (detect_coding_utf_8, decode_coding_utf_8)
11092 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11093 Don't use the local variable incomplete.
11094 (emacs_mule_char): Change the second arg to `const'.
11095 (decode_coding): Fix of flushing out unprocessed data.
11096 (make_conversion_work_buffer): Fix making of a work buffer.
11097 (decode_coding_object): Return coding->dst_object.
11098
11099 * fontset.c (set_fontset_font): Fix args.
11100
11101 * lisp.h (CHARACTERBITS): Define as 22.
11102
11103 * process.c (send_process): Be sure to set coding->src_multibyte.
11104
11105 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11106
111072008-02-01 Kenichi Handa <handa@m17n.org>
11108
11109 * xdisp.c (handle_auto_composed_prop): Give limit to
11110 Fnext_single_char_property_change.
11111
111122008-02-01 Kenichi Handa <handa@m17n.org>
11113
11114 * composite.c (syms_of_composite): Don't make the composition hash
11115 table weak.
11116
11117 * fontset.c (Fset_fontset_font): Fix docstring.
11118
11119 * lisp.h (detect_coding_system): Adjust prototype.
11120
11121 * fileio.c (kill_workbuf_unwind): Delete this function.
11122 (Finsert_file_contents): Adjust the call of detect_coding_system.
11123 Get conversion_buffer by code_conversion_save. Use the macro
11124 CODING_MAY_REQUIRE_DECODING. After decoding, update
11125 coding_system.
11126
11127 * coding.h (make_conversion_work_buffer): Delete extern.
11128 (code_conversion_save): Extern it.
11129
11130 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11131 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11132 (decode_coding_utf_8): Don't do eol converion.
11133 (detect_coding_utf_16): Check coding->src_chars, not
11134 coding->src_bytes. Add heuristics for those that have no signature.
11135 (decode_coding_emacs_mule, decode_coding_iso_2022)
11136 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11137 Don't do eol converion.
11138 (adjust_coding_eol_type): Return a new coding system.
11139 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11140 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11141 each change.
11142 (decode_coding): Pay attention to undo_list. Do eol conversion for
11143 all types of coding-systems (if necessary).
11144 (Vcode_conversion_work_buf_list): Delete it.
11145 (Vcode_conversion_reused_workbuf): Rename from
11146 Vcode_conversion_reused_work_buf.
11147 (Vcode_conversion_workbuf_name): New variable.
11148 (reused_workbuf_in_use): New variable.
11149 (make_conversion_work_buffer): Delete the arg DEPTH.
11150 (code_conversion_restore): Change argument to cons.
11151 (code_conversion_save): Delete the argument BUFFER. Change callers.
11152 (detect_coding_system): New argument src_chars. Change callers.
11153 Fix for utf-16 detection.
11154 (init_coding_once): Don't use ISO_carriage_return.
11155 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11156 reused_workbuf_in_use.
11157
111582008-02-01 Kenichi Handa <handa@m17n.org>
11159
11160 * keymap.c (store_in_keymap): Pay attention to the case that idx
11161 is a cons specifying a character range.
11162
111632008-02-01 Kenichi Handa <handa@m17n.org>
11164
11165 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11166 HANDLED_RECOMPUTE_PROPS.
11167
11168 * coding.c (Fdefine_coding_system_internal): Fix checking of
11169 ascii compatibility.
11170
111712008-02-01 Kenichi Handa <handa@m17n.org>
11172
11173 * charset.c (find_charsets_in_text): Delete unused locale variable.
11174 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11175
11176 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11177 Resync charset_list to Vemacs_mule_charset_list.
11178
11179 * keymap.c (store_in_keymap): Pay attention to the case that idx
11180 is a cons specifying a character range.
11181
111822008-02-01 Kenichi Handa <handa@m17n.org>
11183
11184 * composite.c (update_compositions): Bind inhibit-read-only, etc
11185 to t before calling remove-list-of-text-properties.
11186
11187 * print.c (print_object): Always print ASCII chars as is.
11188
111892008-02-01 Kenichi Handa <handa@m17n.org>
11190
11191 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11192
11193 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11194 is a char table.
11195
111962008-02-01 Kenichi Handa <handa@m17n.org>
11197
11198 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11199
112002008-02-01 Kenichi Handa <handa@m17n.org>
11201
11202 * xfaces.c (set_lface_from_font_name): Fix for the case that
11203 FONTNAME is not fontset name.
11204
112052008-02-01 Kenichi Handa <handa@m17n.org>
11206
11207 * fns.c (base64_encode_1): Fix previous change.
11208
112092008-02-01 Kenichi Handa <handa@m17n.org>
11210
11211 * fontset.c (set_fontset_font): New function.
11212 (Fset_fontset_font): If a font is specified for a charset, use
11213 map_charset_chars to store the font spec in a fontset.
11214
112152008-02-01 Kenichi Handa <handa@m17n.org>
11216
11217 * fontset.c (fontset_face): Create a fallback fontset on demand.
11218 (make_fontset): Don't create a fallback fontset here.
11219 (free_face_fontset): Free a fallback fontset (if any) too.
11220 (n_auto_fontsets): Delete this variable.
11221 (auto_fontset_alist): New variable.
11222 (new_fontset_from_font_name): Check auto_fontset_alist.
11223 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11224 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11225 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11226 Defsubr Sfontset_list_all.
11227
112282008-02-01 Kenichi Handa <handa@m17n.org>
11229
11230 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11231
112322008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11235
112362008-02-01 Kenichi Handa <handa@m17n.org>
11237
11238 * editfns.c (Fgoto_char): Fix docstring.
11239
112402008-02-01 Kenichi Handa <handa@m17n.org>
11241
11242 * insdel.c (insert_from_gap): Adjust intervals correctly.
11243
112442008-02-01 Jason Rumney <jasonr@gnu.org>
11245
11246 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11247 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11248 (w32_initialize): Try to load it.
11249 (x_get_font_repertory): Use it if available.
11250 (w32_encode_char): Add shortcut for unicode output.
11251
11252 * w32fns.c (w32_load_system_font): Default charset to -1.
11253 (x_to_w32_charset): Match all fonts for unicode.
11254 (w32_to_x_charset): New parameter matching. Don't return partial
11255 or wildcard charsets.
11256 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11257 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11258 (w32_to_x_font): Match charset to real charset.
11259 (enum_font_cb2): Always list unicode versions.
11260
11261 * makefile.w32-in (temacs): Increase EMHEAP.
11262
112632008-02-01 Jason Rumney <jasonr@gnu.org>
11264
11265 * w32term.c (w32_encode_char): New charset parameter.
11266 font_info.encoding becomes encoding_type.
11267 (x_get_font_repertory): New function. Warning: stub only!
11268 (x_new_font): Return quickly if font already set.
11269 (x_new_fontset): fontsetname parameter is Lisp_Object.
11270 Use new fs_query_fontset. Try new_fontset_from_font_name.
11271 Use fontset_name for return value.
11272
11273 * w32term.h: Declare x_get_font_repertory.
11274
11275 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11276 place of find_charset_in_text. Use encode_coding_object in place
11277 of encode_coding.
11278 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11279 decode_coding.
11280
11281 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11282 of x_new_fontset.
11283 (w32_load_system_font): Initialize charset as unicode.
11284 font_info.encoding becomes encoding_type.
11285 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11286 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11287 (syms_of_w32fns): Set get_font_repertory_func.
11288
11289 * w32console.c: Include character.h. Use terminal_encode_buffer
11290 from term.c.
11291 (write_glyphs): Use new version of encode_terminal_code. Use
11292 encode_coding_object in place of encode_coding.
11293
11294 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11295 encoding becomes encoding_type.
11296
11297 * term.c (terminal_encode_buffer): Make externally visible.
11298
11299 * makefile.w32-in: Add character.h dependancies.
11300 (character.o, chartab.o): New targets.
11301
113022008-02-01 Kenichi Handa <handa@m17n.org>
11303
11304 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11305 CODING_ID_EOL_TYPE.
11306
113072008-02-01 Andreas Schwab <schwab@suse.de>
11308
11309 * coding.c (produce_chars): Revert last change.
11310
113112008-02-01 Kenichi Handa <handa@m17n.org>
11312
11313 * charset.h (charset_unicode): Extern it.
11314
11315 * charset.c (string_xstring_p): Check by (C >= 0x100).
11316 (find_charsets_in_text): Change format of the arc CHARSETS. New
11317 arg MULTIBYTE.
11318 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11319 change of find_charsets_in_text.
11320 (Fsplit_char): Fix doc. Never return unknown.
11321
11322 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11323
11324 * coding.c (Fdefine_coding_system_alias): Update
11325 Vcoding_system_list.
11326
11327 * fontset.c (load_font_get_repertory): Pay attention to the case
11328 that ENCODING of a font is specified by a char-table.
11329
11330 * xterm.c (x_get_font_repertory): Handle the case that the
11331 encoding of font is other than Unicode.
11332
113332008-02-01 Kenichi Handa <handa@m17n.org>
11334
11335 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11336 if a character is encodable by the terminal coding system. If
11337 not, produces proper number of `?'s. Update
11338 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11339 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11344 variables.
11345 (encode_terminal_code): Change argument. Encode multiple
11346 characters at once. Store the result of encoding in
11347 terminal_encode_buffer.
11348 (write_glyphs, insert_glyphs): Adjust for the change of
11349 encode_terminal_code.
11350 (term_init): Initialize terminal_encode_buffer and
11351 terminal_encode_buf_size.
11352
11353 * coding.c (consume_chars): If coding->src_object is nil, don't
11354 check annotation.
11355
113562008-02-01 Kenichi Handa <handa@m17n.org>
11357
11358 * character.c (char_string): Use ASCII_CHAR_P instead of
11359 SINGLE_BYTE_CHAR_P.
11360
113612008-02-01 Kenichi Handa <handa@m17n.org>
11362
11363 * xdisp.c (handle_auto_composed_prop): Check if the last
11364 characters of auto-composed region is newly composed with the
11365 following characters.
11366 (handle_composition_prop): Fix checking of point being inside
11367 composition.
11368
113692008-02-01 Kenichi Handa <handa@m17n.org>
11370
11371 * fns.c (concat): Don't change multibyteness of the result by
11372 concatenating an 8-bit character.
11373
11374 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11375 multibyteness of the result when newelt is an 8-bit character.
11376
113772008-02-01 Dave Love <fx@gnu.org>
11378
11379 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11380 EMACS_INT.
11381
11382 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11383
11384 * xfaces.c (face_numeric_value): Declare dim size_t.
11385 (Finternal_lisp_face_equal_p): Remove unused f.
11386
11387 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11388 (MATRIX_ROW): Remove unused vars.
11389 (draw_glyphs, x_insert_glyphs, fast_find_position)
11390 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11391 byte/char counts.
11392
11393 * regex.c (regex_compile): Remove unused var.
11394
11395 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11396
11397 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11398 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11399
11400 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11401
11402 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11403
11404 * fileio.c (Fwrite_region): Remove unused var.
11405
11406 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11407 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11408
11409 * composite.c (Fremove_list_of_text_properties): Declare.
11410
11411 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11412 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11413 (coding_inherit_eol_type): Remove unused attrs.
11414 (detect_coding): Cast arg of detect_eol.
11415
11416 * charset.c (syms_of_charset): Remove unused var p.
11417 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11418 byte/char counts.
11419
11420 * casetab.c (set_case_table): Remove unused var.
11421
11422 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11423 unused vars.
11424
114252008-02-01 Dave Love <fx@gnu.org>
11426
11427 * xterm.c (x_bitmap_mask): Declare.
11428
114292008-02-01 Dave Love <fx@gnu.org>
11430
11431 * xterm.c (x_term_init): Fix type error.
11432
11433 * lisp.h: Add Funibyte_char_to_multibyte.
11434
11435 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11436 (Fset_coding_system_priority): Doc fix.
11437
11438 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11439
11440 * indent.c (check_composition): Make start and end EMACS_INT.
11441
11442 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11443
11444 * xdisp.c (handle_composition_prop, check_point_in_composition):
11445 Make buffer positions EMACS_INT.
11446
11447 * composite.c (find_composition, run_composition_function)
11448 (update_compositions, Ffind_composition_internal): Make buffer
11449 positions EMACS_INT.
11450
11451 * composite.h (find_composition, update_compositions): Make
11452 position args EMACS_INT.
11453
11454 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11455
11456 * intervals.c (get_property_and_range):
11457 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11458
11459 * unexalpha.c: Don't include varargs.h.
11460
114612008-02-01 Dave Love <fx@gnu.org>
11462
11463 * coding.h (ENCODE_UTF_8): New.
11464
11465 * Makefile.in (gtkutil.o): Depend on coding.h.
11466
11467 * coding.c (Fset_coding_system_priority): Doc fix.
11468
114692008-02-01 Kenichi Handa <handa@m17n.org>
11470
11471 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11472 the case of auto saving.
11473
114742008-02-01 Andreas Schwab <schwab@suse.de>
11475
11476 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11477 `range' from GC.
11478
114792008-02-01 Kenichi Handa <handa@m17n.org>
11480
11481 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11482
114832008-02-01 Kenichi Handa <handa@m17n.org>
11484
11485 * fileio.c (choose_write_coding_system): Return a decided coding system.
11486 (Fwrite_region): Set Vlast_coding_system_used to the return value
11487 of choose_write_coding_system.
11488
114892008-02-01 Kenichi Handa <handa@m17n.org>
11490
11491 * charset.c (Fset_charset_priority): Pay attention to duplicated
11492 arguments.
11493
11494 * coding.c (QCcategory): New variable.
11495 (syms_of_coding): Defsym it. Set all elements of
11496 Vcoding_category_table and their symbol values.
11497 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11498 coding-category-XXX, and coding-category-list.
11499 (Fdefine_coding_system_internal): Add category in the plist.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * callproc.c (Fcall_process): Handle carryover correctly.
11504
11505 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11506 (raw_text_coding_system): Check NILP (coding_system).
11507 (coding_inherit_eol_type): Check NILP (coding_system) and
11508 NILP (parent).
11509 (consume_chars): Fix for the case of raw-text.
11510
11511 * process.c (read_process_output): Handle carryover correctly.
11512
115132008-02-01 Dave Love <fx@gnu.org>
11514
11515 * regex.c (re_search_2): Fix last change.
11516
115172008-02-01 Kenichi Handa <handa@m17n.org>
11518
11519 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11520 target_multibyte. Even in a unibyte case, return a converted
11521 multibyte char.
11522 (GET_CHAR_AFTER): New macro.
11523 (PATFETCH): Translate via multibyte char.
11524 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11525 (SETUP_MULTIBYTE_RANGE): New macro.
11526 (regex_compile): Setup compiled code so that its multibyteness
11527 matches that of a target. Fix the handling of "[X-YZ]" using
11528 SETUP_MULTIBYTE_RANGE.
11529 (analyse_first) <charset>: For filling fastmap for all multibyte
11530 characters, don't check by BASE_LEADING_CODE_P.
11531 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11532 the same as RE_MULTIBYTE_P (bufp) now.
11533 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11534 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11535 (TRANSLATE_VIA_MULTIBYTE): New macro.
11536 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11537 It is the same as RE_MULTIBYTE_P (bufp) now.
11538 <exactn>: Translate via multibyte.
11539 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11540 translate it.
11541 <charset, charset_not>: Fetch a character by
11542 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11543 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11544 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11545 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11546 by GET_CHAR_AFTER.
11547 (bcmp_translate): Likewise.
11548
11549 * search.c (compile_pattern): Check the member target_multibyte,
11550 not the member multibyte of buf.
11551
11552 * lread.c (read1): While reading a string, set force_singlebyte
11553 and force_multibyte correctly.
11554
11555 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11556 up of unibyte_to_multibyte_table.
11557
115582008-02-01 Kenichi Handa <handa@m17n.org>
11559
11560 * coding.c (setup_coding_system): If coding has
11561 post-read-conversion or pre-write-conversion, set
11562 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11563 respectively.
11564 (decode_coding_gap): Run post-read-conversion if any.
11565
11566 * fileio.c (Finsert_file_contents): Even if we read into a
11567 unibyte buffer, check if we must decode the result or not.
11568
115692008-02-01 Kenichi Handa <handa@m17n.org>
11570
11571 * coding.c (make_conversion_work_buffer): Change the work buffer
11572 name to the same one as that of Emacs 21.
11573
115742008-02-01 Kenichi Handa <handa@m17n.org>
11575
11576 * coding.h (make_conversion_work_buffer): Adjust prototype.
11577 (code_conversion_restore): Don't extern it.
11578
11579 * coding.c (detected_mask): Delete unused variable.
11580 (decode_coding_iso_2022): Pay attention to the byte sequence of
11581 CTEXT extended segment, and retain those bytes as is.
11582 (decode_coding_ccl): Delete unused variable `valids'.
11583 (setup_coding_system): Delete unused variable `category'.
11584 (consume_chars): Delete unused variable `category'. Make it work
11585 for non-multibyte case.
11586 (make_conversion_work_buffer): Change argument.
11587 (saved_coding): Delete unused variable.
11588 (code_conversion_restore): Don't check saved_coding->destination.
11589 (code_conversion_save): New function.
11590 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11591 instead of record_unwind_protect.
11592 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11593 (detect_coding_system): Delete unused variable `mask'.
11594 (Fdefine_coding_system_internal): Delete unused variable id.
11595
11596 * fileio.c (kill_workbuf_unwind): New function.
11597 (Finsert_file_contents): On replacing, call
11598 make_conversion_work_buffer with correct args, and call
11599 record_unwind_protect with the first arg kill_workbuf_unwind.
11600
11601 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11602
116032008-02-01 Kenichi Handa <handa@m17n.org>
11604
11605 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11606 (fontset_add): Fix for the case that TO is less than TO1.
11607 (Ffontset_info): Don't use fallback fontset on checking the
11608 default fontset.
11609 (dump_fontset): New function for debugging.
11610
11611 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11612 coding_type is Qcharset.
11613
116142008-02-01 Kenichi Handa <handa@m17n.org>
11615
11616 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11617 (map_char_table): Don't inherit the value from the parent on
11618 initializing VAL. Adjust for the above change.
11619
116202008-02-01 Kenichi Handa <handa@m17n.org>
11621
11622 * coding.c (Qsignature, Qendian): Delete these variables.
11623 (syms_of_coding): Don't initialize them.
11624 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11625 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11626 detect_info->found.
11627 (decode_coding_utf_16): Don't detect BOM here.
11628 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11629 is NOT utf_16_without_bom.
11630 (setup_coding_system): For a coding system of type utf-16, check
11631 if the attribute :endian is Qbig or not (not nil or not), and set
11632 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11633 (detect_coding): If coding type is utf-16 and BOM detection is
11634 required, detect it.
11635 (Fdefine_coding_system_internal): For a coding system of type
11636 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11637
116382008-02-01 Kenichi Handa <handa@m17n.org>
11639
11640 * coding.c (coding_set_source): Fix for the case that the current
11641 buffer is different from coding->src_object.
11642 (decode_coding_object): Don't use the conversion work buffer if
11643 DST_OBJECT is a buffer.
11644
116452008-02-01 Dave Love <fx@gnu.org>
11646
11647 * lread.c (read_emacs_mule_char) [len==2]: Index
11648 emacs_mule_charset correctly.
11649
116502008-02-01 Dave Love <fx@gnu.org>
11651
11652 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11653 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11654 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11655 treated specially.)
11656 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11657 (detected_mask): Remove Big5 bits.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 The following changes are to make the font rescaling facility
11662 compatible with Emacs 21.
11663
11664 * xfaces.c (Vface_font_rescale_alist): Rename from
11665 Vface_resizing_fonts.
11666 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11667 (font_rescale_ratio): Rename from font_resizing_ratio.
11668 (split_font_name): Set font->rescale_ratio.
11669 (better_font_p): Pay attention to font->rescale_ratio.
11670 (build_scalable_font_name): Likewise. Change RESX, and RESY
11671 fields.
11672 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11673
116742008-02-01 Kenichi Handa <handa@m17n.org>
11675
11676 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11677 (Qutf_16_le): Remove these variables.
11678 (syms_of_coding): Don't DEFSYM them.
11679 (decode_coding_utf_16): Fix handling of BOM.
11680 (encode_coding_utf_16): Fix handling of BOM.
11681
116822008-02-01 Kenichi Handa <handa@m17n.org>
11683
11684 * fileio.c (Finsert_file_contents): On replacing, before decoding
11685 the file into the work buffer, set point of the work buffer to the end.
11686
116872008-02-01 Dave Love <fx@gnu.org>
11688
11689 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11690
116912008-02-01 Dave Love <fx@gnu.org>
11692
11693 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11694 and fix C types.
11695
116962008-02-01 Kenichi Handa <handa@m17n.org>
11697
11698 * xdisp.c (SKIP_GLYPHS): New macro.
11699 (set_cursor_from_row): Pay attention to string display properties.
11700
11701 * category.c (copy_category_entry): Fix for the case that RANGE
11702 is an integer.
11703
11704 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11705
11706 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11707
117082008-02-01 Kenichi Handa <handa@m17n.org>
11709
11710 * charset.c (Fcharset_id_internal): New function.
11711 (syms_of_charset): Defsubr it.
11712
11713 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11714 with the last arg charset_list acquired from coding.
11715 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11716 the attribute coding_attr_ccl_valids.
11717
11718 * coding.h (enum define_coding_ccl_arg_index): Set the first
11719 member coding_arg_ccl_decoder to coding_arg_max.
11720
11721 * ccl.h (ccl_driver): Adjust prototype.
11722
11723 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11724 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11725 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11726 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11727 last arg Qnil.
11728
117292008-02-01 Kenichi Handa <handa@m17n.org>
11730
11731 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11732 call encode_char.
11733
11734 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11735
117362008-02-01 Dave Love <fx@gnu.org>
11737
11738 * composite.c (syms_of_composite): Make composition_hash_table weak.
11739
117402008-02-01 Kenichi Handa <handa@m17n.org>
11741
11742 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11743 (font_name_registry): Don't extern them.
11744 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11745
11746 * fontset.h (Qfontset): Don't extern it.
11747 (new_fontset_from_font_name): Extern it.
11748
11749 * fontset.c: Give 8 extra slots to fontset objects.
11750 (Qfontset_info): New variable.
11751 (syms_of_fontset): Defsym it.
11752 (FONTSET_FALLBACK): New macro.
11753 (fontset_face): Try also the default fontset.
11754 (make_fontset): Realize a fallback fontset from the default fontset.
11755 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11756 using split_font_name_into_vector and build_font_name_from_vector.
11757 (Fset_fontset_font): Access the elements of font_spec by enum
11758 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11759 name by using split_font_name_into_vector.
11760 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11761 generate a proper font name from the fontset name. Update
11762 Vfontset_alias_alist.
11763 (n_auto_fontsets): New variable.
11764 (new_fontset_from_font_name): New function.
11765 (Ffont_info): Store the information about fonts generated from the
11766 default fontset in the first extra slot of the returned char-table.
11767
11768 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11769 (font_name_registry): Delete function.
11770 (split_font_name_into_vector): New function.
11771 (build_font_name_from_vector): New function.
11772 (font_list): The argument REGISTRY is now a list of registry names.
11773 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11774 specifies an explicit font name, return the name as is. Make a
11775 list of registy names.
11776
11777 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11778 of x_new_fontset.
11779 (Fx_create_frame): Don't call x_new_fontset here. Just use
11780 x_list_fonts to check the existence of fonts.
11781
11782 * xterm.h (x_new_fontset): Adjust prototype.
11783
11784 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11785 string. Use new_fontset_from_font_name to create a fontset from a
11786 font name.
11787
117882008-02-01 Kenichi Handa <handa@m17n.org>
11789
11790 * syntax.c (Vfind_word_boundary_function_table): New name for
11791 Vnext_word_boundary_function_table.
11792 (find-word-boundary-function-table): New name for
11793 next-word-boundary-function-table.
11794
117952008-02-01 Dave Love <fx@gnu.org>
11796
11797 * Makefile.in: Fix some dependencies.
11798
11799 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11800 set it to nil before returning.
11801
11802 * composite.c (update_compositions): Fix type error.
11803
11804 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11805
118062008-02-01 Kenichi Handa <handa@m17n.org>
11807
11808 * xterm.c (x_new_font): Optimize for the case that the font is
11809 already set for the frame.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * chartab.c (char_table_ascii): Check if the char table contents
11814 is sub-char-table or not.
11815 (char_table_set, char_table_set_range): Fix argument to
11816 char_table_ascii.
11817
11818 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11819 (detect_coding_utf_8, detect_coding_utf_16)
11820 (detect_coding_emacs_mule, detect_coding_iso_2022)
11821 (detect_coding_sjis, detect_coding_big5)
11822 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11823 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11824 sequence is valid in this coding system. Change callers.
11825 (MAX_ANNOTATION_LENGTH): New macro.
11826 (ADD_ANNOTATION_DATA): New macro.
11827 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11828 ADD_ANNOTATION_DATA. Change the format of annotation data.
11829 (ADD_CHARSET_DATA): New macro.
11830 (emacs_mule_char): New argument ID. Change callers.
11831 (decode_coding_emacs_mule, decode_coding_iso_2022)
11832 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11833 Produce charset annotation data in coding->charbuf.
11834 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11835 to charset annotation data in coding->charbuf.
11836 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11837 coding->common_flags if the coding system is iso-2022 based and
11838 uses designation.
11839 (produce_composition): Adjust for the new annotation data format.
11840 (produce_charset): New function.
11841 (produce_annotation): Handle charset annotation.
11842 (handle_composition_annotation, handle_charset_annotation): New
11843 functions.
11844 (consume_chars): Handle charset annotation. Utilize the above two
11845 functions.
11846 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11847 buffer, get the deleted text as a string and set
11848 coding->src_object to that string.
11849 (detect_coding, detect_coding_system): Use the new struct
11850 coding_detection_info.
11851
11852 * coding.h (struct coding_detection_info): New structure.
11853 (struct coding_system): Adjust prototype of the member `detector'.
11854 (CODING_ANNOTATE_CHARSET_MASK): New macro.
11855
118562008-02-01 Kenichi Handa <handa@m17n.org>
11857
11858 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
11859
118602008-02-01 Dave Love <fx@gnu.org>
11861
11862 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
11863 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
11864 to new local and nullify apropos_accumulate before returning.
11865 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
11866
118672008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
11870 correctly.
e3eea1fc 11871
aac0c6e3
MR
118722008-02-01 Dave Love <fx@gnu.org>
11873
11874 * fns.c (Flanginfo): Call synchronize_system_time_locale.
11875
118762008-02-01 Kenichi Handa <handa@m17n.org>
11877
11878 The following changes are to make character composition happen
11879 automatically on displaying.
11880
11881 * Makefile.in (lisp, shortlisp): Add composite.elc.
11882
11883 * composite.h (Qauto_composed, Vauto_composition_function)
11884 (Qauto_composition_function): Extern them.
11885
11886 * composite.c (Vcomposition_function_table)
11887 (Qcomposition_function_table): Delete variables.
11888 (Qauto_composed, Vauto_composition_function)
11889 (Qauto_composition_function): New variables.
11890 (run_composition_function): Don't call
11891 compose-chars-after-function.
11892 (update_compositions): Clear `auto-composed' text property.
11893 (compose_chars_in_text): Delete this function.
11894 (syms_of_composite): Staticpro Qauto_composed and
11895 Qauto_composition_function. Declare Vauto_composition_function as
11896 a Lisp variable.
11897
11898 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
11899
11900 * xdisp.c (it_props): Add an entry for Qauto_composed.
11901 (handle_auto_composed_prop): New function.
11902
11903 * xselect.c (selection_data_to_lisp_data): Don't call
11904 compose_chars_in_text.
11905
119062008-02-01 Dave Love <fx@gnu.org>
11907
11908 * keyboard.c (read_char): Modify checking around use of
11909 Vkeyboard_translate_table.
11910
11911 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11912 and fix C types.
11913
119142008-02-01 Kenichi Handa <handa@m17n.org>
11915
11916 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
11917 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11918 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
11919 the case that the last byte is '\r' correctly.
11920 (decode_coding): Flush out the unprocessed data correctly.
11921 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
11922
119232008-02-01 Dave Love <fx@gnu.org>
11924
11925 * xterm.c (XTread_socket): Fix changes for defined keysyms.
11926 Add XK_ISO... case.
11927 (xaw_scroll_callback): Revert last change.
11928
119292008-02-01 Kenichi Handa <handa@m17n.org>
11930
11931 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
11932
119332008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * xfaces.c (Vface_resizing_fonts): New variable.
11936 (struct font_name): New member `resizing_ratio'.
11937 (font_resizing_ratio): New function.
11938 (split_font_name): Set font->resizing_ratio.
11939 (better_font_p): Pay attention to font->resizing_ratio.
11940 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
11941 RESX, and RESY fields.
11942 (try_alternative_families): Try scalable fonts if
11943 Vscalable_fonts_allowed is not Qt.
11944 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
11945
119462008-02-01 Dave Love <fx@gnu.org>
11947
11948 * xterm.c (xaw_scroll_callback): Cast correctly.
11949
119502008-02-01 Dave Love <fx@gnu.org>
11951
11952 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
11953 (lispy_kana_keys): Comment out.
11954 (make_lispy_event) [XK_kana_A]: Comment out.
11955
11956 * xterm.c (xaw_scroll_callback): Cast call_data.
11957 (XTread_socket): Deal with ASCII keysyms.
11958 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
11959
119602008-02-01 Dave Love <fx@gnu.org>
11961
11962 * xterm.c (Vx_keysym_table): New.
11963 (syms_of_xterm): Initialize it.
11964 (XTread_socket): Use it.
11965 From head: Eliminate incorrect optimization that tried to avoid
11966 decoding the output of X*LookupString.
11967 (x_get_font_repertory): Delete charset declaration.
11968
119692008-02-01 Kenichi Handa <handa@m17n.org>
11970
11971 * coding.c (detect_coding_charset): If only ASCII bytes are found,
11972 return 0.
11973 (Fdefine_coding_system_internal): Setup
11974 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
11975
119762008-02-01 Dave Love <fx@gnu.org>
11977
11978 * coding.c (Fcheck_coding_system): Doc fix.
11979
11980 * editfns.c (Finsert_byte): Return a proper value.
11981
119822008-02-01 Kenichi Handa <handa@m17n.org>
11983
11984 * coding.c (decode_coding): Fix args to translate_chars. Pay
11985 attention to Vstandard_translation_table_for_decode.
11986 (encode_coding): Fix args to translate_chars. Pay attention to
11987 Vstandard_translation_table_for_encode.
11988
11989 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
11990 SINGLE_BYTE_CHAR_P.
11991
11992 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
11993 not by SINGLE_BYTE_CHAR_P.
11994
11995 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
11996 SINGLE_BYTE_CHAR_P.
11997
11998 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
11999 SINGLE_BYTE_CHAR_P.
12000
12001 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12002 by SINGLE_BYTE_CHAR_P.
12003
12004 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12005 SINGLE_BYTE_CHAR_P.
12006
120072008-02-01 Dave Love <fx@gnu.org>
12008
12009 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12010
120112008-02-01 Dave Love <fx@gnu.org>
12012
12013 * fns.c (Flanginfo): Fix typo.
12014
12015 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12016
120172008-02-01 Kenichi Handa <handa@m17n.org>
12018
12019 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12020 (detect_coding_emacs_mule, detect_coding_iso_2022)
12021 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12022 incomplete byte sequence. Don't update *mask when correctly detected.
12023 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12024 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12025 (detect_coding, detect_coding_system): Adjust for the changes above.
12026
120272008-02-01 Kenichi Handa <handa@m17n.org>
12028
12029 * character.c (char_string): Rename from
12030 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12031 (string_char): Rename from string_char.
12032
12033 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12034 if C is greater than MAX_3_BYTE_CHAR.
12035 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12036 string_char instead of string_char_with_unification.
12037
120382008-02-01 Dave Love <fx@gnu.org>
12039
12040 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12041
120422008-02-01 Kenichi Handa <handa@m17n.org>
12043
12044 * keymap.c (push_key_description): Pay attention to force_multibyte.
12045
12046 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12047
120482008-02-01 Dave Love <fx@gnu.org>
12049
12050 * charset.c (define_charset_internal): Rename `supprementary'.
12051
12052 * Makefile.in (lisp, shortlisp): Remove latin-N.
12053
120542008-02-01 Dave Love <fx@gnu.org>
12055
12056 * xfns.c (x_window, x_window): Use use_xim.
12057
12058 * xterm.c (use_xim): Initialize.
12059 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12060 (x_term_init): Maybe set use_xim.
12061
12062 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12063
120642008-02-01 Kenichi Handa <handa@m17n.org>
12065
12066 * search.c (search_buffer): Fix case-fold-search of multibyte
12067 characters.
12068 (boyer_moore): Rename the last argument to char_high_bits.
12069
120702008-02-01 Kenichi Handa <handa@m17n.org>
12071
12072 * xdisp.c (display_string): Fix for the case of zero width glyph.
12073
12074 * xfns.c (x_set_font): Change the error message of the case that
12075 x_new_fontset returns Qt.
12076
12077 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12078 (Finternal_set_lisp_face_attribute): Use signal_error for the
12079 error of invalid fontset.
12080
12081 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12082 fontset, return Qt.
12083
120842008-02-01 Dave Love <fx@gnu.org>
12085
12086 * unexelf.c (unexec): Make .got handling not SGI-specific.
12087
12088 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12089
12090 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12091
12092 * keyboard.c (read_key_sequence): Fix type error.
12093
12094 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12095 type error.
12096
12097 * fontset.c (fontset_add): Return Lisp_Object.
12098
120992008-02-01 Dave Love <fx@gnu.org>
12100
12101 * charset.h (charset_ordered_list_tick): Declare extern.
12102
121032008-02-01 Kenichi Handa <handa@m17n.org>
12104
12105 The following changes (and some of 2008-02-01 changes of mine) are
12106 for handling syntax, category, and case conversion for unibyte
12107 characters by converting them to multibyte on the fly. With these
12108 changes, we don't have to setup syntax and case tables for unibyte
12109 characters in each language environment.
12110
12111 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12112 multibyte if necessary.
12113
12114 * bytecode.c (Fbyte_code): Likewise.
12115
12116 * character.h (LEADING_CODE_LATIN_1_MIN)
12117 (LEADING_CODE_LATIN_1_MAX): New macros.
12118 (unibyte_to_multibyte_table): Extern it.
12119 (unibyte_char_to_multibyte): New macro.
12120 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12121 (CHAR_LEADING_CODE): New macro.
12122 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12123
12124 * character.c (unibyte_to_multibyte_table): New variable.
12125 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12126 (multibyte_char_to_unibyte): If C is an eight-bit character,
12127 convert it to the corresponding byte value.
12128
12129 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12130 not 1, signals an error. Update the elements of
12131 unibyte_to_multibyte_table.
12132 (init_charset_once): Initialize unibyte_to_multibyte_table.
12133 (syms_of_charset): Define the charset `iso-8859-1'.
12134
12135 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12136 as is without converting it to unibyte. In a unibyte buffer,
12137 convert C to multibyte before checking the syntax.
12138
12139 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12140
12141 * minibuf.c (Fminibuffer_complete_word): Use the macro
12142 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12143
12144 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12145
12146 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12147 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12148 that is zero, convert an eight-bit char to multibyte.
12149 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12150 non-emacs case.
12151 (PATFETCH): Convert an eight-bit char to multibyte.
12152 (HANDLE_UNIBYTE_RANGE): New macro.
12153 (regex_compile): Setup the compiled pattern for multibyte chars
12154 even if the given regex string is unibyte. Use PATFETCH_RAW
12155 instead of PATFETCH in many places. To handle `charset'
12156 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12157 only for ASCII chars.
12158 (analyse_first) <exactn>: Simplify because the compiled pattern
12159 is multibyte.
12160 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12161 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12162 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12163 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12164 multibyte always 1.
12165 (re_search_2): In emacs, set the locale variable multibyte to 1,
12166 otherwise to 0. New local variable target_multibyte. Check it
12167 to decide the multibyteness of STR1 and STR2. If
12168 target_multibyte is zero, convert unibyte chars to multibyte
12169 before translating and checking fastmap.
12170 (TARGET_CHAR_AND_LENGTH): New macro.
12171 (re_match_2_internal): In emacs, set the locale variable multibyte
12172 to 1, otherwise to 0. New local variable target_multibyte. Check
12173 it to decide the multibyteness of STR1 and STR2. Use
12174 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12175 <charset, charset_not>: If multibyte is nonzero, check fastmap
12176 only for ASCII chars. Call bcmp_translate with
12177 target_multibyte, not with multibyte.
12178 <begline>: Declare the local variable C as `unsigned'.
12179 (bcmp_translate): Change the last arg name to target_multibyte.
12180
12181 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12182 the regexp pattern and the matching target. Set cp->buf.multibyte
12183 to the multibyteness of the regexp pattern. Set
12184 cp->but.target_multibyte to the multibyteness of the matching target.
12185 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12186 FETCH_STRING_CHAR_ADVANCE.
12187 (Freplace_match): Convert unibyte chars to multibyte.
12188
12189 * syntax.c (char_quoted, back_comment, scan_words)
12190 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12191 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12192 unibyte chars to multibyte.
12193 (skip_chars): Delete the arg syntaxp, and move the code for
12194 handling syntaxes to skip_syntaxes. Change callers.
12195 Fix the case that the multibyteness of STRING and the current
12196 buffer doesn't match.
12197 (skip_syntaxes): New function.
12198 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12199 SINGLE_BYTE_CHAR_P.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * xfaces.c (QCfontset): New variable.
12204 (LFACE_FONTSET): New macro.
12205 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12206 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12207 (Finternal_set_lisp_face_attribute)
12208 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12209 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12210 check also LFACE_FONTSET_INDEX.
12211 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12212 attrs[LFACE_FONT_INDEX].
12213 (syms_of_xfaces): Intern and staticpro QCfontset.
12214
12215 * dispextern.h (enum lface_attribute_index): New member
12216 LFACE_FONTSET_INDEX.
12217
12218 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12219
122202008-02-01 Kenichi Handa <handa@m17n.org>
12221
12222 * coding.c (coding_set_destination): Fix coding->destination for
12223 the case converting a region.
12224 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12225 (encode_coding_object): Fix coding->dst_pos and
12226 coding->dst_pos_byte for the case converting a region.
12227
12228 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12229
12230 * character.h (BYTE8_STRING): New macro.
12231
12232 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12233
122342008-02-01 Kenichi Handa <handa@m17n.org>
12235
12236 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12237 characters by octal form.
12238
12239 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12240
12241 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12242 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12243 _fetch_multibyte_char_len.
12244 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12245
12246 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12247
12248 * casefiddle.c (casify_object): Simplify. Handle the case that
12249 the case conversion change the byte length.
12250 (casify_region): Likewise.
12251
12252 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12253
12254 * character.c (_fetch_multibyte_char_len): Delete this variable.
12255 (syms_of_character): Setup Vprintable_chars.
12256
12257 * editfns.c (Fchar_equal): Fix for the unibyte case.
12258 (Finsert_byte): New function.
12259 (syms_of_editfns): Defsubr it.
12260
12261 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12262 of direct code 0x3ffff.
12263
12264 * search.c (Freplace_match): Fix for the unibyte case.
12265
122662008-02-01 Kenichi Handa <handa@m17n.org>
12267
12268 * lread.c (safe_to_load_p): Fix the logic.
12269
12270 * syntax.c (scan_words): Don't treat characters belonging to
12271 different scripts as constituting a word.
12272
12273 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12274
12275 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12276
12277 * emacs.c (main): In the case of --unibyte, instead of aborting on
12278 finding non-empty buffer, make it unibyte.
12279
122802008-02-01 Kenichi Handa <handa@m17n.org>
12281
12282 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12283 to create a fontset.
12284
122852008-02-01 Dave Love <fx@gnu.org>
12286
12287 * character.c (Funibyte_char_to_multibyte): Doc fix.
12288
12289 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12290
122912008-02-01 Kenichi Handa <handa@m17n.org>
12292
12293 * fontset.c (fontset_add): Make the type `int'.
12294 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12295
12296 * character.c (unibyte_char_to_multibyte)
12297 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12298 charset_unibyte, not charset_primary.
12299
12300 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12301
12302 * charset.c (charset_unibyte): Rename from charset_primary.
12303 (Funibyte_charset): Rename from Fprimary_charset.
12304 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12305 (syms_of_charset): Adjust for the above changes.
12306
12307 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12308 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12309 it->multibyte_p is zero.
12310
12311 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12312 Delete extern.
12313
123142008-02-01 Kenichi Handa <handa@m17n.org>
12315
12316 * coding.c (Fdefine_coding_system_internal): Fix category setting
12317 for a coding system of type iso-2022.
12318
123192008-02-01 Kenichi Handa <handa@m17n.org>
12320
12321 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12322
123232008-02-01 Kenichi Handa <handa@m17n.org>
12324
12325 * syntax.c (Vnext_word_boundary_function_table): New variable.
12326 (next-word-boundary-function-table): Declare it as a Lisp variable
12327 in syms_of_syntax.
12328 (scan_words): Call functions in Vnext_word_boundary_function_table
12329 if any.
12330
12331 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12332
12333 * fontset.c (fs_load_font): If fontp->charset is not negative,
12334 return fontp without setting its members.
12335
123362008-02-01 Dave Love <fx@gnu.org>
12337
12338 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12339
12340 * m/sparc.h (HAVE_ALLOCA): Delete.
12341
12342 * s/irix6-5.h: Don't include strings.h.
12343 (bcopy, bzero, bcmp): Don't undef.
12344
12345 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12346
12347 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12348 (TIOCSIGSEND): Don't test IRIX6.
12349 (bcopy, bzero, bcmp): Define conditionally.
12350
123512008-02-01 Kenichi Handa <handa@m17n.org>
12352
12353 * buffer.c (Qas, Qmake, Qto): New variables.
12354 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12355 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12356
12357 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12358 we are inserting a process output into a multibyte buffer.
12359
12360 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12361 multibyte_char_to_unibyte.
12362
12363 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12364 by the primary charset, make it eight-bit char.
12365 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12366
12367 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12368 (charset_8_bit__control, charset_8_bit_graphic)
12369 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12370 (define_charset_internal): New function.
12371 (syms_of_charset): Call define_charset_internal for pre-defined
12372 charsets.
12373
12374 * charset.h (charset_8_bit): Extern it.
12375
12376 * coding.c (make_conversion_work_buffer): Adjust for the change
12377 of Fset_buffer_multibyte.
12378 (encode_coding_raw_text): Increment p0 in the loop.
12379
12380 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12381
12382 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12383 for the change of Fset_buffer_multibyte.
12384
12385 * fns.c (Fstring_to_multibyte): New function.
12386 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12387
123882008-02-01 Dave Love <fx@gnu.org>
12389
12390 * xfns.c (x_put_x_image): Declare args.
12391
12392 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12393 (try_font_list): Declare an arg.
12394
12395 * xdisp.c (message2_nolog, set_message): Declare an arg.
12396
12397 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12398
12399 * syntax.c (scan_sexps_forward): Declare an arg.
12400
12401 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12402 Declare an arg.
12403
12404 * lisp.h (Fnew_fontset): Declare.
12405
12406 * keymap.c (push_key_description): Call CHARACTERP correctly.
12407
12408 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12409 (face_for_char): Delete unused vars.
12410 (Fset_fontset_font): Doc fix. Delete unused vars.
12411
12412 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12413
12414 * composite.c (update_compositions): Declare arg.
12415
12416 * cm.c (calccost, cmgoto): Declare args.
12417
12418 * charset.c: Remove `emacs' conditional. Doc fixes.
12419 (map_char_table_for_charset): Declare.
12420
12421 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12422
12423 * ccl.c: Remove `emacs' conditional.
12424
124252008-02-01 Kenichi Handa <handa@m17n.org>
12426
12427 The following changes are to allow specifying multiple font
12428 patterns for a character range (specified by script or charset).
12429
12430 * Makefile.in (abbrev.o): Depend on syntax.h.
12431 (xfaces.o): Depend on charset.h.
12432
12433 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12434 SINGLE_BYTE_CHAR_P.
12435
12436 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12437
12438 * character.h (Vchar_script_table): Extern it.
12439
12440 * character.c (Vscript_alist): Delete.
12441 (Vchar_script_table, Qchar_script_table): New variable.
12442 (syms_of_character): Declare Vchar_script_table as a lisp variable
12443 and initialize it.
12444
12445 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12446 have property char-table-extra-slots, make no extra slot.
12447
12448 * dispextern.h (struct face): Delete member `charset'.
12449 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12450 SINGLE_BYTE_CHAR_P.
12451 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12452 Add prototypes.
12453 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12454 (generate_ascii_font_name): Rename from generate_ascii_font.
12455
12456 * fontset.h (get_font_repertory_func): New prototype.
12457 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12458 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12459
12460 * fontset.c (Qprepend, Qappend): New variables.
12461 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12462 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12463 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12464 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12465 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12466 (load_font_get_repertory): New functions.
12467 (fontset_set): Delete.
12468 (fontset_face): New arg FACE. Return face ID, not face.
12469 Complete re-write to handle new fontset structure. Change caller.
12470 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12471 (face_for_char): Don't call lookup_face.
12472 (make_fontset_for_ascii_face): New arg FACE.
12473 (fs_load_font): New arg CHARSET_ID. Don't check
12474 Vfont_encoding_alist here.
12475 (find_font_encoding): New function.
12476 (list_fontsets): Use STRINGP, not ! NILP.
12477 (accumulate_script_ranges): New function.
12478 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12479 re-written to handle new fontset structure.
12480 (Ffontset_font): Return a copy of element.
12481 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12482 docstring of font-encoding-alist.
12483
12484 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12485 (Fset_fotset_font): Fix arguments to 5.
12486
12487 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12488
12489 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12490 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12491 (highlight_trailing_whitespace): Adjust for the change of
12492 lookup_named_face.
12493
12494 * xfaces.c: Include charset.h.
12495 (load_face_font): Delete argument C. Change caller.
12496 (generate_ascii_font_name): Rename from generate_ascii_font.
12497 (font_name_registry): New function.
12498 (cache_face): Store ascii faces before non-ascii faces in buckets.
12499 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12500 Lookup only ascii faces.
12501 (lookup_non_ascii_face): New function.
12502 (lookup_named_face): Delete argument C. Change caller.
12503 (lookup_derived_face): Delete argument C. Change caller.
12504 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12505 a string, just call font_list with it.
12506 (choose_face_font): Delete arguments FACE and C. New arg
12507 FONT_SPEC. Change caller.
12508 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12509 Change caller.
12510 (realize_non_ascii_face): New function.
12511 (realize_x_face): Call load_face_font here.
12512 (realize_tty_face): Delete argument C. Change caller.
12513 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12514 get a face ID.
12515 (dump_realized_face): Don't print charset of FACE.
12516
12517 * xfns.c (x_set_font): Always call x_new_fontset and
12518 store_frame_parameter.
12519 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12520 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12521
12522 * xterm.h (x_get_font_repertory): Extern it.
12523
12524 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12525 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12526 it->multibyte_p is zero.
12527 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12528 (x_new_fontset): If FONTSETNAME doesn't match any existing
12529 fontsets, create a new one.
12530 (x_get_font_repertory): New function.
12531
125322008-02-01 Kenichi Handa <handa@m17n.org>
12533
12534 * coding.c (Ffind_coding_systems_region_internal): Detect an
12535 ASCII only string correctly.
12536
12537 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12538 version is 0.
12539
125402008-02-01 Kenichi Handa <handa@m17n.org>
12541
12542 * lread.c: Include "coding.h".
12543 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12544 (load_each_byte, unread_char): New variables.
12545 (readchar_backlog): Delete.
12546 (readchar): Return a character unless load_each_byte is nonzero.
12547 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12548 cons. If unread_char is not -1, simply return it.
12549 (unreadchar): Handle the case that readcharfun is
12550 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12551 (read_multibyte): Delete.
12552 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12553 (read_emacs_mule_char): New functions.
12554 (Fload): Even if the file doesn't have the extension ".elc", if
12555 safe_to_load_p returns a positive version number, assume that the
12556 file contains bytecompiled code. If the version is less than 22,
12557 load the file while decoding multibyte sequences by emacs-mule.
12558 (readevalloop): Don't use readchar_backlog.
12559 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12560 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12561 (read_escape): Delete the arg BYTEREP.
12562 (read1): Set load_each_byte to 1 temporarily while handling
12563 #@NUMBER. Don't call read_multibyte.
12564 (read_vector): Call Fread with a cons. If readcharfun is
12565 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12566 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12567 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12568 and Qload_force_doc_strings.
12569
125702008-02-01 Kenichi Handa <handa@m17n.org>
12571
12572 * xdisp.c (face_before_or_after_it_pos): Call
12573 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12574
125752008-02-01 Kenichi Handa <handa@m17n.org>
12576
12577 * character.h (TRAILING_CODE_P): New macro.
12578 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12579 (string_char_with_unification): Fix prototype.
12580 (Vscript_alist): Extern it.
12581
12582 * character.c (Vscript_alist): New variable.
12583 (string_char_with_unification, str_as_unibyte)
12584 (string_escape_byte8): Add `const' to local variables.
12585 (syms_of_character): Declare script-alist as a Lisp variable.
12586
12587 * charset.h (Vcharset_ordered_list): Extern it.
12588 (charset_ordered_list_tick): Extern it.
12589 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12590 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12591 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12592 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12593 (Funify_charset): Adjust for the change of Funify_charset.
12594
12595 * charset.c (charset_ordered_list_tick): New variable.
12596 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12597 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12598 deunify intead of unify a charset.
12599 (string_xstring_p): Add `const' to local variables.
12600 (find_charsets_in_text): Add `const' to arguments and local variables.
12601 (encode_char): Adjust for the change of Funify_charset. Fix
12602 detecting of invalid code.
12603 (Fset_charset_priority): Increment charset_ordered_list_tick.
12604 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12605 and TO_CODE.
12606
12607 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12608 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12609 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12610 (decode_coding_ccl, consume_chars)
12611 (Ffind_coding_systems_region_internal)
12612 (Fcheck_coding_systems_region): Add `const' to local variables.
12613
12614 * print.c (print_object): Use octal form for printing the
12615 contents of a bool vector.
12616
126172008-02-01 Dave Love <fx@gnu.org>
12618
12619 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12620 <version == 20>: Refuse to load.
12621
126222008-02-01 Dave Love <fx@gnu.org>
12623
12624 * fns.c: Move coding.h.
12625 (Qcodeset, Qdays, Qmonths): New.
12626 (concat): Use CHARACTERP instead of INTEGERP.
12627 (Flocale_codeset): Delete.
12628 (Flanginfo): New function.
12629 (syms_of_fns): Change accordingly.
12630
12631 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12632
126332008-02-01 Dave Love <fx@gnu.org>
12634
12635 * casetab.c (init_casetab_once, init_casetab_once): Fix
12636 CHAR_TABLE_SET call.
12637
12638 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12639
12640 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12641
12642 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12643 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12644 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12645
12646 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12647
12648 * coding.c (ENCODE_DESIGNATION, decode_eol)
12649 (make_conversion_work_buffer, code_conversion_restore)
12650 (Fdefine_coding_system_internal): Convert Lisp types.
12651 (code_conversion_restore): Use EQ, not ==.
12652 (Fencode_coding_string): Fix code_convert_string call.
12653
12654 * coding.h (code_convert_region): Fix prototype.
12655
12656 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12657
12658 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12659 (Ffontset_info): Convert Lisp types.
12660
12661 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12662
12663 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12664
12665 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12666
12667 * chartab.c: Include "...h", not <...h> in some cases.
12668
12669 * callproc.c (Fcall_process): Remove unused variables.
12670
126712008-02-01 Dave Love <fx@gnu.org>
12672
12673 * coding.c (Fset_coding_system_priority): Allow null arg list.
12674
126752008-02-01 Dave Love <fx@gnu.org>
12676
12677 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12678 (Fself_insert_and_exit): Use CHARACTERP.
12679
12680 * callproc.c (Fcall_process): Remove unused vars.
12681
12682 * xterm.c (XTread_socket): Add extra dead keysyms.
12683
12684 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12685
12686 * dispextern.h: Remove prototypes for redraw_frame,
12687 redraw_garbaged_frames.
12688
12689 * cmds.c (Fself_insert_command): Use CHARACTERP.
12690
12691 * chartab.c (make_sub_char_table): Remove unused var.
12692 (Fset_char_table_default, Fmap_char_table): Doc fix.
12693
12694 * keymap.c (access_keymap): Remove generic char code.
12695 (push_key_description): Use CHARACTERP.
12696
126972008-02-01 Dave Love <fx@gnu.org>
12698
12699 * charset.c: Doc fixes.
12700 (Funify_charset): Extra checking.
12701
127022008-02-01 Dave Love <fx@gnu.org>
12703
12704 * lread.c: Remove some unused variables.
12705 (safe_to_load_p): If safe, return the magic number version byte.
12706 (Fload): Maybe use load-with-code-conversion.
12707
127082008-02-01 Kenichi Handa <handa@m17n.org>
12709
12710 * category.c (Fmodify_category_entry): Don't modify the contents
12711 of category_set for characters out of the range. Avoid
12712 unnecessary modification.
12713
12714 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12715 Vchar_unify_table. The default value of the table is now nil.
12716
12717 * character.c (syms_of_character): Setup Vchar_width_table for
12718 eight-bit-control and raw-byte chars.
12719
12720 * charset.h (enum define_charset_arg_index): Delete
12721 charset_arg_parents and add charset_arg_subset and
12722 charset_arg_superset.
12723 (enum charset_attr_index): Delete charset_parents and add
12724 charset_subset and charset_superset.
12725 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12726 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12727 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12728 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12729 (CHARSET_SUPERSET): New macros.
12730 (charset_work): Extern it.
12731 (ENCODE_CHAR): Use charset_work.
12732 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12733 (map_charset_chars): Extern it.
12734
12735 * charset.c (load_charset_map): Set the default value of encoder
12736 and deunifier char-tables to nil.
12737 (map_charset_chars): Change argument. Change callers. Use
12738 map_char_table_for_charset instead of map_char_table.
12739 (Fmap_charset_chars): New optional args from_code and to_code.
12740 (Fdefine_charset_internal): Adjust for the change of
12741 `define-charset' (:parents -> :subset or :superset).
12742 (charset_work): New variable.
12743 (encode_char, syms_of_charset): Adjust for the change of
12744 Fdefine_charset_internal.
12745 (Ffind_charset_string): Setup the vector `charsets' correctly.
12746
12747 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12748 the previous change.
12749 (char_table_ref_and_range): Adjust for the above change.
12750 (map_sub_char_table_for_charset): New function.
12751 (map_char_table_for_charset): New function.
12752
12753 * keymap.c (describe_vector): Handle a char-table directly here.
12754 (describe_char_table): Delete.
12755
12756 * lisp.h (map_charset_chars): Delete.
12757
127582008-02-01 Dave Love <fx@gnu.org>
12759
12760 * fns.c (count_combining): Comment out (unused).
12761 (Flocale_codeset): New.
12762 (syms_of_fns): Defsubr it.
12763
12764 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12765 (size_t): Remove.
12766
127672008-02-01 Dave Love <fx@gnu.org>
12768
12769 * Makefile.in (chartab.o): Depend on charset.h.
12770
127712008-02-01 Kenichi Handa <handa@m17n.org>
12772
12773 * character.c (syms_of_character): Set the default value of
12774 Vprintable_chars to Qnil.
12775
127762008-02-01 Dave Love <fx@gnu.org>
12777
12778 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12779
127802008-02-01 Kenichi Handa <handa@m17n.org>
12781
12782 * charset.c (load_charset_map): Handle the case that from < to
12783 correctly.
12784
12785 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12786 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12787 Pay attention to raw-8-bit chars.
12788
127892008-02-01 Kenichi Handa <handa@m17n.org>
12790
12791 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12792 It is not bytecompiled now.
12793
12794 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12795 (charset_jisx0208): New variables.
12796 (Fdefine_charset_internal): Setup them if appropriate.
12797 (init_charset_once): Initialize them to -1.
12798
12799 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12800 (charset_jisx0208): Extern them.
12801
12802 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12803 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12804 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12805 (setup_iso_safe_charsets): Fix arguments to Fassq.
12806 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12807 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12808 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12809 (encode_coding_iso_2022): Change the 1st arg to
12810 ENCODE_ISO_CHARACTER to a variable.
12811
128122008-02-01 Kenichi Handa <handa@m17n.org>
12813
12814 * charset.h (enum define_charset_arg_index): New enums
12815 charset_arg_min_code and charset_arg_max_code.
12816 (struct charset): New member char_index_offset.
12817
12818 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12819 Take charset->char_index_offset into account.
12820 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12821 args[charset_arg_max_code]. Setup charset.char_index_offset.
12822 (syms_of_charset): Fix args to Fdefine_charset_internal.
12823
128242008-02-01 Dave Love <fx@gnu.org>
12825
12826 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12827
128282008-02-01 Dave Love <fx@gnu.org>
12829
12830 * coding.c: Doc fixes.
12831 (Fcoding_system_aliases): Fix return value.
12832 (Qmac): Remove (duplicated) definition.
12833
128342008-02-01 Dave Love <fx@gnu.org>
12835
12836 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12837 functions.
12838
12839 * character.c (Fstring): Doc fix.
12840
12841 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12842
12843 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12844 ids.
12845 (font-encoding-alist): Doc fix.
12846
128472008-02-01 Dave Love <fx@gnu.org>
12848
12849 * term.c (costs_set): Declare static, non-initialized for pcc.
12850 (encode_terminal_code): Remove unused var.
12851
12852 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12853 for K&R.
12854
12855 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
12856
12857 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
12858 (suffixes): Move out of make_subsidiaries for K&R.
12859
12860 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
12861
12862 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
12863
128642008-02-01 Dave Love <fx@gnu.org>
12865
12866 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
12867
12868 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
12869
128702008-02-01 Yong Lu <lyongu@asia-infonet.com>
12871
12872 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
12873
12874 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
12875
128762008-02-01 Kenichi Handa <handa@m17n.org>
12877
12878 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
12879 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
12880
128812008-02-01 Kenichi Handa <handa@m17n.org>
12882
12883 * coding.c (decode_coding_charset): Adjust for the change of
12884 Fdefine_coding_system_internal.
12885 (Fdefine_coding_system_internal): For a coding system of
12886 `charset' type, store a list of charset IDs in
12887 `charset_attr_charset_valids' element of coding attributes.
12888
128892008-02-01 Kenichi Handa <handa@m17n.org>
12890
12891 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
12892 (emacs_mule_char): New arg src. Delete arg `composition'. Change
12893 caller. Handle 2-byte and 3-byte charsets correctly.
12894 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
12895 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
12896 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
12897 (DECODE_EMACS_MULE_21_COMPOSITION): Call
12898 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
12899 sequence.
12900 (decode_coding_emacs_mule): Handle composition correctly. Rewind
12901 `src' and `consumed_chars' correctly before calling emacs_mule_char.
12902 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
12903 and alt&rule composition.
12904 (decode_coding_iso_2022): Handle composition correctly.
12905 (init_coding_once): Setup emacs_mule_bytes for private charsets.
12906
12907 * charset.c (Fdefine_charset_internal): Fix bug for the case of
12908 re-defining a charset. If the charset has :emacs-mule-id, setup
12909 emacs_mule_bytes.
12910 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
12911
129122008-02-01 Kenichi Handa <handa@m17n.org>
12913
12914 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
12915 (encode_coding_big5, encode_coding_charset): If coding requires safe
12916 encoding, produce a character specified by
12917 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
12918
129192008-02-01 Dave Love <fx@gnu.org>
12920
12921 * xterm.c (XSetIMValues): Declare.
12922
12923 * process.c: Conditionally include sys/wait.h, pty.h.
12924
12925 * print.c (print_object): Fix print format for 64-bit systems.
12926
12927 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
12928
12929 * buffer.c (emacs_strerror): Declare.
12930
12931 * fontset.c (Fclear_face_cache): Declare.
12932 (accumulate_font_info): Comment-out (unused).
12933 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
12934 variables.
12935
12936 * character.h (string_escape_byte8): Declare.
12937
12938 * charset.c (load_charset_map, load_charset_map_from_file): Remove
12939 unused vars.
12940 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
12941 (Fmap_charset_chars): Doc fix.
12942
12943 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
12944 (Fset_coding_system_priority, Fset_coding_system_priority)
12945 (Fdefine_coding_system_internal): Doc fix.
12946
129472008-02-01 Dave Love <fx@gnu.org>
12948
12949 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
12950
129512008-02-01 Kenichi Handa <handa@m17n.org>
12952
12953 * character.c (string_escape_byte8): Make multibyte string with
12954 correct size.
12955
12956 * charset.c (Fmake_char): Delete unnecessary code.
12957
129582008-02-01 Kenichi Handa <handa@m17n.org>
12959
12960 * xfns.c (x_encode_text): Allocate coding.destination here, and
12961 call encode_coding_object with dst_object Qnil.
12962
12963 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
12964 multibyte form correctly.
12965
12966 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
12967 against Vfont_encoding_alist.
12968
12969 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
12970 handling of charset list.
12971 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
12972 (decode_coding_object): Move point to coding->dst_pos before
12973 calling post-read-conversion function.
12974 (encode_coding_object): Give correct arguments to
12975 pre-write-conversion. Ignore the return value of
12976 pre-write-conversion function. Pay attention to the case that
12977 pre-write-conversion changes the current buffer. If dst_object is
12978 Qt, even if coding->src_bytes is zero, allocate at least one byte
12979 to coding->destination.
12980
12981 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
12982
12983 * charset.c (Fmake_char): Make it more backward compatible.
12984 (Fmap_charset_chars): Fix docstring.
12985
129862008-02-01 Dave Love <fx@gnu.org>
12987
12988 * coding.c: Doc fixes.
12989 (Fdefine_coding_system_alias): Use names, not symbols, in
12990 coding-system-alist.
12991
129922008-02-01 Kenichi Handa <handa@m17n.org>
12993
12994 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
12995 of calling free_realized_face.
12996
129972008-02-01 Yong Lu <lyongu@asia-infonet.com>
12998
12999 * charset.c (read_hex): Don't treat SPC as a comment starter.
13000 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13001 (Fdecode_char): Fix typo.
13002
130032008-02-01 Kenichi Handa <handa@m17n.org>
13004
13005 * charset.h (struct charset): New member `code_space_mask'.
13006
13007 * coding.c (coding_set_source): Delete the local variable beg_byte.
13008 (encode_coding_charset, Fdefine_coding_system_internal):
13009 Delete the local variable charset.
13010 (Fdefine_coding_system_internal): Setup
13011 attrs[coding_attr_charset_valids] correctly.
13012
13013 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13014 member to check if CODE is valid or not.
13015 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13016 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13017 is within the range of charset->min_code and carset->max_code.
13018
130192008-02-01 Dave Love <fx@gnu.org>
13020
13021 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13022
13023 * dispextern.h (generate_ascii_font): Fix return type.
13024
13025 * xfaces.c (generate_ascii_font): Fix arg declaration.
13026
13027 * coding.c (coding_inherit_eol_type)
13028 (Fset_terminal_coding_system_internal)
13029 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13030
130312008-02-01 Kenichi Handa <handa@m17n.org>
13032
13033 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13034 multiple charsets correctly.
13035
130362008-02-01 Kenichi Handa <handa@m17n.org>
13037
13038 * search.c (boyer_moore): Fix handling of multibyte character
13039 translation.
13040
13041 * xdisp.c (display_mode_element): When the variable `elt' is
13042 changed, update `this' and `lisp_string'.
13043
130442008-02-01 Kenichi Handa <handa@m17n.org>
13045
13046 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13047
13048 * callproc.c (Fcall_process): Be sure to give the current buffer
13049 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13050
13051 * charset.c (struct charset_map_entries): New struct.
13052 (load_charset_map): Rename from parse_charset_map. New args
13053 entries and n_entries. Change caller.
13054 (load_charset_map_from_file): Rename from load_charset_map.
13055 Change caller. New arg control_flag. Call load_charset_map at
13056 the tail.
13057 (load_charset_map_from_vector): New function.
13058 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13059 (encode_char): If the charset is compact, change a character index
13060 to a code point.
13061
13062 * coding.c (coding_alloc_by_making_gap): Check the case that the
13063 source and destination are the same correctly.
13064 (decode_coding_raw_text): Set coding->consumed_char and
13065 coding->consumed to 0.
13066 (produce_chars): If coding->chars_at_source is nonzero, update
13067 coding->consumed_char and coding->consumed before calling
13068 alloc_destination.
13069 (Fdefine_coding_system_alias): Register ALIAS in
13070 Vcoding_system_alist.
13071 (syms_of_coding): Define `no-conversion' coding system at the tail.
13072
13073 * fileio.c (Finsert_file_contents): Set coding_system instead of
13074 val. If the current buffer is multibyte, always call
13075 decode_coding_gap.
13076
13077 * xfaces.c (try_font_list): Give higher priority to fontset's
13078 family than face's family.
13079
130802008-02-01 Kenichi Handa <handa@m17n.org>
13081
13082 * callproc.c (Fcall_process): Be sure to give the current buffer
13083 to decode_coding_c_string.
13084
13085 * xfaces.c (try_font_list): Give a family specified in a fontset
13086 higher priority than a family specified in a face.
13087
130882008-02-01 Kenichi Handa <handa@m17n.org>
13089
13090 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13091 Fix arguments to insert_from_buffer.
13092
13093 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13094
130952008-02-01 Kenichi Handa <handa@m17n.org>
13096
13097 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13098 (decode_coding_gap): Set coding->dst_multibyte correctly.
13099
131002008-02-01 Kenichi Handa <handa@m17n.org>
13101
13102 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13103 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13104 (encode_coding_utf_16): Substitute coding->default_char for
13105 non-Unicode characters.
13106 (decode_coding): Don't call record_insert here.
13107 (setup_coding_system): Initialize `surrogate' of
13108 coding->spec.utf_16 to 0.
13109 (EMIT_ONE_BYTE): Fix for multibyte case.
13110
13111 * insdel.c (insert_from_gap): Call record_insert.
13112
131132008-02-01 Kenichi Handa <handa@m17n.org>
13114
13115 * casefiddle.c (casify_region): Fix multibyte case.
13116
13117 * character.c (c_string_width): Add return type `int'.
13118 (char_string_with_unification): Delete arg ADVANCED.
13119
13120 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13121 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13122 (CHAR_STRING_ADVANCE): Make it do-while statement.
13123
13124 * chartab.c (sub_char_table_set_range): Optimize for the case
13125 DEPTH == 3. Add workaround code for a GCC optimization bug.
13126
13127 * charset.c (parse_charset_map): Remove an unused variable.
13128
13129 * coding.c: Delete unused variables.
13130
13131 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13132 earlier. If inserted is zero and the coding system doesn't
13133 require flushing, don't call decode_coding_gap.
13134
13135 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13136
131372008-02-01 Kenichi Handa <handa@m17n.org>
13138
13139 The following changes are for using Unicode as an internal
13140 character model, and use UTF-8 format for buffer/string
13141 representation.
13142
13143 * .gdbinit (xchartable): Adjust for the change of char table structure.
13144 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13145
13146 * Makefile.in (obj): Add character.o and chartab.o.
13147 (lisp, shortlisp): Remove utf-8.elc.
13148 (*.o): For many files, change dependency on charset.h to
13149 character.h, and add dependency on character.h.
13150 (character.o, chartab.o): New targets.
13151
13152 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13153 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13154 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13155 of "charset.h".
13156
13157 * dired.c, filelock.c: Include "character.h".
13158
13159 * alloc.c: Include "character.h" instead of "charset.h".
13160 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13161 (syms_of_alloc): Remove defsubr for Smake_char_table.
13162
13163 * buffer.c: Include "character.h" instead of "charset.h", don't
13164 include "coding.h".
13165 (Fset_buffer_multibyte): Adjust for UTF-8.
13166
13167 * buffer.h: EXFUN Fbuffer_live_p.
13168
13169 * callproc.c: Include "character.h" instead of "charset.h".
13170 (Fcall_process): Big change for the new code-conversion APIs.
13171
13172 * casetab.c: Include "character.h" instead of "charset.h".
13173 (set_canon, set_identity, shuffle): Adjust for the new
13174 map_char_table spec.
13175 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13176 accessing the char table structure.
13177
13178 * chartab.c: New file that implements char table.
13179
13180 * category.c: Include "character.h".
13181 (copy_category_entry): New function.
13182 (copy_category_table): Call map_char_table and copy_category_entry.
13183 (Fmake_category_table): Initialize all top-level slots.
13184 (char_category_set): New function.
13185 (modify_lower_category_set): Delete.
13186 (Fmodify_category_entry): Call char_table_ref_and_range.
13187
13188 * category.h (CATEGORY_SET): Just call char_category_set.
13189
13190 * ccl.c: Include "character.h".
13191 (Qccl, Qcclp): New variables.
13192 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13193 it's less than 256.
13194 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13195 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13196 and DST type.
13197 (ccl_driver): Change types of argument, adjust code accordingly.
13198 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13199 ccl_driver.
13200 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13201
13202 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13203 New members src_multibyte, dst_multibyte, consumed, and produced.
13204 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13205 (CODING_SPEC_CCL_PROGRAM): New macro.
13206 (ccl_driver): Update prototype.
13207 (Qccl, Qcclp, Fccl_program_p): Extern them.
13208 (CHECK_CCL_PROGRAM): New macro.
13209
13210 * character.c, character.h, chartab.c: New files.
13211
13212 * charset.c: Mostly re-written. Move character and multibyte sequence
13213 handling codes to character.c.
13214
13215 * charset.h: Mostly re-written. Move character and multibyte sequence
13216 handling codes to character.h.
13217
13218 * coding.c, coding.h: Mostly re-written.
13219
13220 * composite.c: Include "character.h" instead of "charset.h".
13221 (CHAR_WIDTH): Move to character.h.
13222 (HASH_KEY, HASH_VALUE): Delete.
13223
13224 * composite.h (enum composition_method): Change order of enumeration
13225 symbols.
13226
13227 * data.c: Include "character.h" instead of "charset.h".
13228 (Faref): Call CHAR_TABLE_REF for a char table.
13229 (Faset): Call CHAR_TABLE_SET for a char table.
13230
13231 * dispextern.h (free_realized_face, check_face_attribytes)
13232 (generate_ascii_font): Extern them.
13233 (free_realized_multibyte_face): Delete extern.
13234
13235 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13236 table structure.
13237
13238 * editfns.c: Include "character.h" instead of "charset.h".
13239 (Fchar_to_string): Always call CHAR_STRING.
13240
13241 * emacs.c (main): Call init_charset_once, init_charset,
13242 syms_of_chartab, and syms_of_character.
13243
13244 * fileio.c: Include "character.h" instead of "charset.h".
13245 (Finsert_file_contents): Big change for the new code-conversion API.
13246 (choose_write_coding_system, Fwrite_region): Likewise.
13247 (build_annotations_2): Delete.
13248 (e_write): Big change for the new code-conversion API.
13249
13250 * fns.c: Include "character.h" instead of "charset.h".
13251 (copy_sub_char_table): Move to chartab.c.
13252 (Fcopy_sequence): Call copy_char_table for a char table.
13253 (concat): Delete codes calling count_multibyte.
13254 (string_char_to_byte, string_byte_to_char): Adjust for the new
13255 multibyte form.
13256 (internal_equal): Adjust for the change of char table structure.
13257 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13258 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13259 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13260 (char_table_translate, optimize_sub_char_table)
13261 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13262 chartab.c.
13263 (char_table_ref_and_index): Delete.
13264 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13265 (Fmd5): Call preferred_coding_system instead of accessing
13266 Vcoding_category_list. Adjust for the new code-conversion API.
13267 (syms_of_fns): Move defsubr for char table related functions to
13268 chartab.c.
13269
13270 * fontset.c: Mostly re-written.
13271
13272 * fontset.h (struct font_info): Change type of the member encoding_type.
13273 (enum FONT_SPEC_INDEX): New enum.
13274 (fontset_font_pattern, fs_load_font): Update prototype.
13275 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13276
13277 * indent.c: Include "character.h" instead of "charset.h".
13278 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13279
13280 * insdel.c: Include "character.h" instead of "charset.h".
13281 (copy_text): Don't refer to Vnonascii_translation_table.
13282 (insert_from_gap): New function.
13283
13284 * keyboard.c: Include "character.h" instead of "charset.h".
13285 (command_loop_1): Never call direct_output_forward_char before
13286 a non-ASCII character.
13287 (read_char): If Vkeyboard_translate_table is a char table, always
13288 translate a character.
13289
13290 * keymap.c: Include "character.h".
13291 (store_in_keymap): Handle the case that IDX is a cons.
13292 (Fdefine_key): Handle the case that KEY is a cons and the car part
13293 is also a cons (range).
13294 (push_key_description): Adjust for the new character code.
13295 (describe_vector): Call describe_char_table for a char table.
13296 (describe_char_table): New function.
13297
13298 * keymap.h (describe_char_table): Extern it.
13299
13300 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13301 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13302 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13303 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13304 Delete.
13305 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13306 structure.
13307 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13308 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13309 (CHARTAB_SIZE_BITS_3): New macros.
13310 (chartab_size): Extern it.
13311 (struct Lisp_Char_Table): Re-design.
13312 (struct Lisp_Sub_Char_Table): New structure.
13313 (HASH_KEY, HASH_VALUE): Move from fns.c.
13314 (CHARACTERBITS): Define as 22.
13315 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13316 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13317 (GC_SUB_CHAR_TABLE_P): New macro.
13318 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13319 (code_convert_string_norecord): Deleted extern.
13320 (init_character_once, syms_of_character, init_charset)
13321 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13322
13323 * lread.c: Include "character.h".
13324 (read_multibyte): New arg NBYTES.
13325 (read_escape): Change the meaning of returned *BYTEREP.
13326 (to_multibyte): Delete.
13327 (read1): Adjust the handling of char table and string.
13328
13329 * print.c: Include "character.h" instead of "charset.h".
13330 (print_string): Convert 8-bit raw bytes to octal form by
13331 string_escape_byte8.
13332 (print_object): Adjust for the new multibyte form. Print 8-bit
13333 raw bytes always in octal form. Handle sub char table correctly.
13334
13335 * process.c: Include "character.h" instead of "charset.h".
13336 (read_process_output, send_process): Adjust for the new
13337 code-conversion API.
13338
13339 * puresize.h (BASE_PURESIZE): Increase.
13340
13341 * regex.c: Include "character.h" instead of "charset.h".
13342 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13343 (regex_compile): Accept a range whose starting and ending
13344 character have different leading bytes.
13345 (analyse_first): Adjust for the above change.
13346
13347 * search.c: Include "character.h" instead of "charset.h".
13348 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13349 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13350
13351 * syntax.c: Include "character.h" instead of "charset.h".
13352 (syntax_parent_lookup): Delete.
13353 (Fmodify_syntax_entry): Accept a cons as CHAR.
13354 (skip_chars): Adjust for the new multibyte form.
13355 (init_syntax_once): Call char_table_set_range instead of directly
13356 accessing the structure of a char table.
13357
13358 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13359 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13360 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13361 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13362
13363 * term.c: Include "buffer.h" and "character.h".
13364 (encode_terminal_code, write_glyphs): Adjust for the new
13365 code-conversion API.
13366 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13367
13368 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13369
13370 * xdisp.c: Include "character.h".
13371 (get_next_display_element): Adjust for the new multibyte form.
13372 (disp_char_vector): Adjust for the new char table structure.
13373 (decode_mode_spec_coding): Adjust for the new structure of
13374 coding system.
13375 (decode_mode_spec): Adjust for the new code-conversion API.
13376
13377 * xfaces.c: Include "character.h" instead of "charset.h".
13378 (load_face_font): Adjust for the change of choose_face_font and
13379 FS_LOAD_FONT.
13380 (generate_ascii_font): New function.
13381 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13382 (set_font_frame_param): Adjust for the change of choose_face_font.
13383 (free_realized_face): Make it public.
13384 (free_realized_faces_for_fontset): Rename from
13385 free_realized_multibyte_face. Free also faces realized for ASCII.
13386 (choose_face_font): Change arguments. Adjust for the change of
13387 fontset_font_pattern and FS_LOAD_FONT.
13388
13389 * xfns.c: Include "character.h".
13390 (x_encode_text): Adjust for the new code-conversion API.
13391
13392 * xselect.c: Don't include "charset.h".
13393 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13394
13395 * xterm.c: Include "character.h".
13396 (x_encode_char): New argument CHARSET. Change caller.
13397 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13398 Call ENCODE_CHAR instead of SPLIT_CHAR.
13399 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13400 CHAR_WIDTH instead of CHARSET_WIDTH.
13401 (XTread_socket): Adjust for the new code-conversion API.
13402 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13403 (x_load_font): Adjust for the change of struct font.
13404
134052008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13406
13407 * xfaces.c (face_at_buffer_position): Remove unused vars.
13408
134092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13410
13411 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13412 Fix overflow checking.
13413
134142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13415
13416 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13417 Cancel previous change.
13418
134192008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13420
13421 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13422 ccl->eight_bit_control. Fix check for buffer overflow.
13423 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13424 (ccl_driver): Initialize extra_bytes to 0.
13425
134262008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13427
13428 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13429 return it ORed with ctrl_modifier.
13430
134312008-01-29 Miles Bader <miles@gnu.org>
13432
13433 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13434
134352008-01-28 Jason Rumney <jasonr@gnu.org>
13436
13437 * w32.c (stat): Don't double check for networked drive.
13438
134392008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13440
13441 * window.c (run_window_configuration_change_hook): New function.
13442 Code extracted from set_window_buffer. Set the selected frame.
13443 (set_window_buffer): Use it.
13444 * window.h (run_window_configuration_change_hook): Declare.
13445 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13446
13447 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13448
134492008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13450
13451 * Makefile.in: Remove references to unused macros.
13452
134532008-01-26 Eli Zaretskii <eliz@gnu.org>
13454
13455 * w32.c (g_b_init_get_sid_sub_authority)
13456 (g_b_init_get_sid_sub_authority_count): New static variables.
13457 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13458 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13459 (init_user_info): Use them to retrieve uid and gid.
13460 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13461 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13462 st_uid and st_gid of the file.
13463
134642008-01-26 Jason Rumney <jasonr@gnu.org>
13465
13466 * w32.c (logon_network_drive): New function.
13467 (stat): Use it.
13468
134692008-01-26 Chong Yidong <cyd@stupidchicken.com>
13470
13471 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13472 invisible text covered with an ellipsis.
13473
134742008-01-25 Richard Stallman <rms@gnu.org>
13475
13476 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13477 jump back to beginning. Move some other initializations after that.
13478 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13479 New variables.
13480 (syms_of_xdisp): Init them.
13481
13482 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13483
13484 * buffer.c (reset_buffer_local_variables):
13485 Implement `permanent-local-hook'.
13486 (Qpermanent_local_hook): New variable.
13487 (syms_of_buffer): Init and staticpro it.
13488
134892008-01-25 Michael Albinus <michael.albinus@gmx.de>
13490
13491 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13492
134932008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13494
13495 * fns.c (Fclrhash): Return TABLE.
13496
134972008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13498
13499 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13500 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13501 is set even without positional changes.
13502 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13503
13504 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13505
135062008-01-23 Jason Rumney <jasonr@gnu.org>
13507
13508 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13509
13510 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13511 the unicode range available in MULE by locale-coding-system.
13512 Improve dbcs lead byte detection. Set event timestamp and modifiers
13513 earlier.
13514
135152008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13516
13517 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13518 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13519 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13520 when used on child processes.
13521
135222008-01-21 Michael Albinus <michael.albinus@gmx.de>
13523
13524 * dbusbind.c (Fdbus_method_return_internal): Rename from
13525 Fdbus_method_return.
13526 (Fdbus_unregister_object): Move to dbus.el.
13527 (Fdbus_call_method, Fdbus_method_return_internal)
13528 (Fdbus_send_signal): Improve debug messages.
13529
135302008-01-20 Martin Rudalics <rudalics@gmx.at>
13531
13532 * undo.c (undo_inhibit_record_point): New variable.
13533 (syms_of_undo): Initialize it.
13534 (record_point): Don't record point when undo_inhibit_record_point
13535 is set.
13536
135372008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13538
13539 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13540
13541 * xdisp.c (Qauto_hscroll_mode): New var.
13542 (syms_of_xdisp): Initialize it.
13543 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13544 window's buffer.
13545 (hscroll_windows): Don't check automatic_hscrolling_p here.
13546
13547 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13548 vscroll if we're setting window-buffer to the value it already has.
13549
135502008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13551
13552 * m/intel386.h: Remove references to XENIX.
13553
135542008-01-17 Andreas Schwab <schwab@suse.de>
13555
13556 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13557 instead of HAVE_X86_64_LIB64_DIR.
13558 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13559
135602008-01-17 Glenn Morris <rgm@gnu.org>
13561
13562 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13563 to HAVE_X86_64_LIB64_DIR.
13564
135652008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13566
13567 * s/irix3-3.h:
13568 * s/irix4-0.h:
13569 * s/386-ix.h:
13570 * s/domain.h:
13571 * s/hpux9-x11r4.h:
13572 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13573
13574 * sysdep.c: Remove code containing references to symbols defined
13575 by unsupported systems.
13576
135772008-01-16 Glenn Morris <rgm@gnu.org>
13578
13579 * coding.c (select-safe-coding-system-function): Doc fix.
13580
135812008-01-15 Glenn Morris <rgm@gnu.org>
13582
13583 * config.in: Revert 2008-01-13 change: this is a generated file.
13584
135852008-01-13 Tom Tromey <tromey@redhat.com>
13586
13587 * lisp.h: Fix typo.
13588
135892008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13590
13591 * m/sequent-ptx.h:
13592 * m/sequent.h:
13593 * s/ptx.h:
13594 * s/ptx4-2.h:
13595 * s/ptx4.h: Remove files for systems no longer supported.
13596
13597 * callproc.c (Fcall_process): Fix previous change.
13598
135992008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13600
13601 * unexsunos4.c: Remove file, system not supported anymore.
13602
13603 * m/mips.h:
13604 * m/intel386.h:
13605 * callproc.c:
13606 * config.in:
13607 * ecrt0.c:
13608 * emacs.c:
13609 * fileio.c:
13610 * frame.c:
13611 * getpagesize.h:
13612 * keyboard.c:
13613 * lread.c:
13614 * process.c:
13615 * puresize.h:
13616 * sysdep.c:
13617 * systty.h:
13618 * syswait.h:
13619 * unexec.c:
13620 * xdisp.c:
13621 * alloc.c: Remove code containing references to symbols defined by
13622 unsupported systems.
13623
136242008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13625
13626 * coding.c (detect_coding_mask): Fix previous change.
13627
136282008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13629
13630 * coding.c (detect_coding_iso2022): New arg
13631 latin_extra_code_state. Allow Latin extra codes only
13632 when *latin_extra_code_state is nonzero.
13633 (detect_coding_mask): If there is a NULL byte, detect the encoding
13634 as UTF-16 or binary. If Latin extra codes exist, detect the
13635 encoding as ISO-2022 only when there's no other proper encoding is
13636 found.
13637
136382008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13639
13640 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13641 #ifdef MAC_OS.
13642
136432008-01-08 Richard Stallman <rms@gnu.org>
13644
13645 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13646
136472008-01-06 Nick Roberts <nickrob@snap.net.nz>
13648
13649 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13650 menu bar in parentheses.
13651
136522008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13653
13654 * m/7300.h:
13655 * m/acorn.h:
13656 * m/alliant-2800.h:
13657 * m/alliant.h:
13658 * m/alliant1.h:
13659 * m/alliant4.h:
13660 * m/altos.h:
13661 * m/amdahl.h:
13662 * m/apollo.h:
13663 * m/att3b.h:
13664 * m/aviion-intel.h:
13665 * m/aviion.h:
13666 * m/celerity.h:
13667 * m/clipper.h:
13668 * m/cnvrgnt.h:
13669 * m/convex.h:
13670 * m/cydra5.h:
13671 * m/delta88k.h:
13672 * m/dpx2.h:
13673 * m/dual.h:
13674 * m/elxsi.h:
13675 * m/f301.h:
13676 * m/gould-np1.h:
13677 * m/gould.h:
13678 * m/i860.h:
13679 * m/ibmps2-aix.h:
13680 * m/ibmrt-aix.h:
13681 * m/ibmrt.h:
13682 * m/irist.h:
13683 * m/is386.h:
13684 * m/isi-ov.h:
13685 * m/mega68.h:
13686 * m/mg1.h:
13687 * m/news-r6.h:
13688 * m/news-risc.h:
13689 * m/news.h:
13690 * m/nh3000.h:
13691 * m/nh4000.h:
13692 * m/ns16000.h:
13693 * m/ns32000.h:
13694 * m/nu.h:
13695 * m/orion.h:
13696 * m/orion105.h:
13697 * m/paragon.h:
13698 * m/pfa50.h:
13699 * m/plexus.h:
13700 * m/pyramid.h:
13701 * m/pyrmips.h:
13702 * m/sh3el.h:
13703 * m/sps7.h:
13704 * m/sr2k.h:
13705 * m/stride.h:
13706 * m/sun1.h:
13707 * m/sun2.h:
13708 * m/sun3-68881.h:
13709 * m/sun3-fpa.h:
13710 * m/sun3-soft.h:
13711 * m/sun3.h:
13712 * m/sun386.h:
13713 * m/symmetry.h:
13714 * m/tad68k.h:
13715 * m/tahoe.h:
13716 * m/targon31.h:
13717 * m/tek4300.h:
13718 * m/tekxd88.h:
13719 * m/tower32.h:
13720 * m/tower32v3.h:
13721 * m/ustation.h:
13722 * m/wicat.h:
13723 * m/xps100.h:
13724 * s/cxux.h:
13725 * s/cxux7.h:
13726 * s/dgux.h:
13727 * s/dgux4.h:
13728 * s/dgux5-4-3.h:
13729 * s/dgux5-4r2.h:
13730 * s/esix.h:
13731 * s/esix5r4.h:
13732 * s/hiuxmpp.h:
13733 * s/hiuxwe2.h:
13734 * s/iris3-5.h:
13735 * s/iris3-6.h:
13736 * s/isc2-2.h:
13737 * s/isc3-0.h:
13738 * s/isc4-0.h:
13739 * s/isc4-1.h:
13740 * s/newsos5.h:
13741 * s/newsos6.h:
13742 * s/osf1.h:
13743 * s/osf5-0.h:
13744 * s/riscix1-1.h:
13745 * s/riscix12.h:
13746 * s/sco4.h:
13747 * s/sco5.h:
13748 * s/sunos4-0.h:
13749 * s/sunos4-1.h:
13750 * s/sunos413.h:
13751 * s/sunos4shr.h:
13752 * s/umax.h:
13753 * s/unipl5-2.h:
13754 * s/xenix.h:
13755 * cxux-crt0.s:
13756 * unexapollo.c:
13757 * unexconvex.c:
13758 * unexenix.c:
13759 * unexsni.c: Remove files for systems no longer supported.
13760
13761 * m/intel386.h: Remove references to unsupported systems.
13762
13763 * w32.c (get_emacs_configuration): Remove reference to i860.
13764
13765 * sysdep.c: Remove dead code.
13766
137672008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13768
13769 * s/rtu.h:
13770 * m/masscomp.h: Remove files. Platform is obsolete.
13771
137722008-01-04 Michael Albinus <michael.albinus@gmx.de>
13773
13774 * dbusbind.c (Fdbus_method_return): New function.
13775 (xd_read_message): Add the serial number to the event.
13776 (Fdbus_register_method): Activate the function.
13777
137782008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13779
13780 * keyboard.c (read_key_sequence): Fix typo.
13781
137822008-01-03 Michael Albinus <michael.albinus@gmx.de>
13783
13784 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13785 (xd_signature, xd_append_arg): Handle element type detection for
13786 empty arrays.
13787 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13788 SDATA () calls; this must be solved more general.
13789 (Fdbus_register_signal): Use SBYTES instead of strlen.
13790
137912008-01-03 Magnus Henoch <magnus@zemdatav>
13792
13793 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13794 unsigned int for byte values (necessary for big-endian platform).
13795 (Fdbus_call_method): Handle the case of no returned arguments.
13796
137972007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13798
13799 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13800
138012007-12-31 Magnus Henoch <mange@freemail.hu>
13802
13803 * dbusbind.c (xd_signature): Signature of variant is just "v".
13804
138052007-12-30 Michael Albinus <michael.albinus@gmx.de>
13806
13807 * dbusbind.c: Fix several errors and compiler warnings.
13808 Reported by Tom Tromey <tromey@redhat.com>.
13809 (XD_ERROR, XD_DEBUG_MESSAGE)
13810 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13811 (xd_append_arg): Part for basic D-Bus types rewritten.
13812 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13813 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13814 appropriate.
13815 (xd_read_message): Return Qnil. Don't signal an error; it is not
13816 useful during event reading.
13817 (Fdbus_register_signal): Signal an error if the check for
13818 FUNCTIONP fails.
13819 (Fdbus_register_method): New function. The implementation is not
13820 complete, the call of the function signals an error therefore.
13821 (Fdbus_unregister_object): New function, renamed from
13822 Fdbus_unregister_signal. The initial check signals an error, if
13823 the object is not well formed.
13824
138252007-12-30 Richard Stallman <rms@gnu.org>
13826
13827 * textprop.c (get_char_property_and_overlay):
13828 Signal error if POSITION is out of range in a buffer.
13829
138302007-12-29 Martin Rudalics <rudalics@gmx.at>
13831
13832 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13833 because the original parameters are in pure storage now.
13834
138352007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13836
13837 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13838
138392007-12-22 Eli Zaretskii <eliz@gnu.org>
13840
13841 * callint.c (syms_of_callint) <command-history>: Add reference to
13842 history-length in the doc string.
13843
138442007-12-17 Jason Rumney <jasonr@gnu.org>
13845
13846 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13847 before passing as wParam.
13848
138492007-12-22 Michael Albinus <michael.albinus@gmx.de>
13850
13851 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13852 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13853 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13854 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
13855 as number.
13856 (Fdbus_call_method): Fix docstring.
13857
138582007-12-21 Michael Albinus <michael.albinus@gmx.de>
13859
13860 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
13861 New macros.
13862 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
13863 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
13864 Simplify.
13865 (xd_signature): New function.
13866 (xd_append_arg): Compute also signatures. Major rewrite.
13867 (xd_retrieve_arg): Make debug messages friendly.
13868 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
13869 Check for signatures of arguments.
13870
138712007-12-19 Michael Albinus <michael.albinus@gmx.de>
13872
13873 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
13874 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
13875 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
13876 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
13877 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
13878 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
13879 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
13880 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
13881 (xd_retrieve_value): Remove. Functionality included in ...
13882 (xd_append_arg): New function.
13883 (Fdbus_call_method, Fdbus_send_signal): Apply it.
13884
138852007-12-16 Michael Albinus <michael.albinus@gmx.de>
13886
13887 * dbusbind.c (top): Include <stdio.h>.
13888 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
13889 dbus_message_new_method_call and dbus_message_new_signal.
13890 (Fdbus_register_signal): Rename unique_name to uname.
13891 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
13892 non-existing unique name. Fix typos in matching rule. Return an
13893 object which is useful in Fdbus_unregister_signal.
13894 (Fdbus_unregister_signal): Reimplementation, in order to remove
13895 only the corresponding entry.
13896 (Vdbus_registered_functions_table): Change the order of entries.
13897 Apply these changes in xd_read_message and Fdbus_register_signal.
13898
138992007-12-16 Andreas Schwab <schwab@suse.de>
13900
13901 * fileio.c (Finsert_file_contents): Fix overflow check to not
13902 depend on undefined integer overflow.
13903
139042007-12-14 Jason Rumney <jasonr@gnu.org>
13905
13906 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
13907 for characters above 127.
13908
139092007-12-13 Jason Rumney <jasonr@gnu.org>
13910
13911 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
13912 before dereferencing array.
13913 (lookup_vk_code): Remove zero comparison.
13914
139152007-12-14 Michael Albinus <michael.albinus@gmx.de>
13916
13917 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
13918 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
13919 Use `unsigned int' instead of `uint'.
13920 (xd_read_message, Fdbus_register_signal): Split expressions into
13921 multiple lines before operators "&&" and "||", according to the
13922 GNU Coding Standards.
13923
139242007-12-14 Eli Zaretskii <eliz@gnu.org>
13925
13926 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
13927
139282007-12-12 Juri Linkov <juri@jurta.org>
13929
13930 * buffer.c (Frename_buffer): In interactive spec replace
13931 `read-buffer' with `read-string' that uses `buffer-name-history'
13932 as history, and the current buffer's name as default.
13933
139342007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
13935
13936 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
13937 manipulating the backtrace manually.
13938 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
13939 (struct backtrace, backtrace_list): Remove.
13940 (command_loop_1): Remove dead var `no_direct'.
13941
13942 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
13943 preserve non-built-in buffer-local variables.
13944 (Fkill_all_local_variables): Don't re-create&re-set permanent
13945 buffer-local variables.
13946
139472007-12-09 Juri Linkov <juri@jurta.org>
13948
13949 * buffer.c (Frename_buffer): Change interactive spec from "s" to
13950 Lisp code that uses `read-buffer' with current buffer as default.
13951
139522007-12-08 Michael Albinus <michael.albinus@gmx.de>
13953
13954 * dbusbind.c (xd_read_message): Generate an event for every
13955 registered handler. There might be several handlers registered
13956 for the same signal.
13957 (Fdbus_register_signal): Don't overwrite a registration for the
13958 same signal. Add a new registration if handlers are different.
13959 (Vdbus_registered_functions_table): Rework doc string.
13960
139612007-12-07 Michael Albinus <michael.albinus@gmx.de>
13962
13963 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
13964 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
13965 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
13966 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
13967 Unify argument lists.
13968 (xd_read_message, Fdbus_register_signal): Reorder and extend event
13969 arguments and hash table keys. Use unique name for service.
13970 (Fdbus_unregister_signal): Remove checks.
13971 (Vdbus_registered_functions_table): Fix doc string.
13972
139732007-12-05 Magnus Henoch <mange@freemail.hu>
13974
13975 * process.c (make_process): Initialize pty_flag to 0.
13976
139772007-12-05 Jason Rumney <jasonr@gnu.org>
13978
13979 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
13980 specified XBMs.
13981
139822007-12-05 Richard Stallman <rms@gnu.org>
13983
13984 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
13985
139862007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13987
13988 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
13989 New variable.
13990 (mac_try_close_socket) [MAC_OSX]: New function.
13991 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
13992 Update cfsockets_for_select. Replace invalid CFRunLoop source.
13993
13994 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
13995 Use mac_try_close_socket.
13996
139972007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13998
13999 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14000 reloc_base.
14001 (copy_dysymtab): Compute relocation base here.
14002 (rebase_reloc_address) [__ppc64__]: New function.
14003 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14004 changed.
14005
140062007-12-05 Jason Rumney <jasonr@gnu.org>
14007
14008 * w32proc.c (sys_spawnve): Quote args with wildcards.
14009
140102007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14011
14012 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14013 __objc_* sections.
14014 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14015
140162007-12-05 Michael Albinus <michael.albinus@gmx.de>
14017
14018 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14019 Move check for Vdbus_registered_functions_table to
14020 xd_read_queued_messages.
14021 (xd_read_queued_messages): Protect xd_read_message calls by
14022 internal_condition_case_1.
14023
140242007-12-04 Michael Albinus <michael.albinus@gmx.de>
14025
14026 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14027 Qdbus_system_bus and Qdbus_session_bus, respectively.
14028 (Vdbus_intern_symbols): Remove.
14029 (Vdbus_registered_functions_table): New hash table.
14030 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14031 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14032 Rewrite in order to manage registered functions by hash table
14033 Vdbus_registered_functions_table.
14034
140352007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14036
14037 * xterm.c: Update URL to Window Manager Specification in comment.
14038
140392007-12-02 Michael Albinus <michael.albinus@gmx.de>
14040
14041 * config.in (HAVE_DBUS): Add.
14042
14043 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14044 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14045 (obj): Add $(DBUS_OBJ).
14046 (LIBES): Add $(DBUS_LIBS).
14047 (dbusbind.o): New target.
14048
14049 * dbusbind.c: New file.
14050
14051 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14052
14053 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14054 (Qdbus_event): New Lisp symbol.
14055 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14056 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14057 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14058
14059 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14060
140612007-12-01 Richard Stallman <rms@gnu.org>
14062
14063 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14064
140652007-11-30 Jason Rumney <jasonr@gnu.org>
14066
14067 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14068 (w32con_reset_terminal_modes): Clear screen buffer.
14069 (w32_face_attributes): Don't use color indexes that are out of range.
14070 Only reverse the default colors.
14071
14072 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14073 WINDOWSNT.
14074
14075 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14076
140772007-11-29 Jason Rumney <jasonr@gnu.org>
14078
14079 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14080 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14081 if the terminal colors are initialized.
14082 (unspecified_fg, unspecified_bg): Remove unused declarations.
14083
140842007-11-29 Andreas Schwab <schwab@suse.de>
14085
14086 * keyboard.c (apply_modifiers): Fix typo.
14087
140882007-11-29 Richard Stallman <rms@gnu.org>
14089
14090 * keymap.c (Fcurrent_local_map): Doc fix.
14091
140922007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14093
14094 * s/gnu-kfreebsd.h: New file.
14095
140962007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14097
14098 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14099 Don't cast redundantly.
14100
14101 * keyboard.c (KEY_TO_CHAR): New macro.
14102 (parse_modifiers, apply_modifiers): Accept integer arguments.
14103 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14104 for chars and symbol keys.
14105 After doing such remapping, apply function-key-map again.
14106
141072007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14108
14109 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14110 compiled anymore.
14111
141122007-11-26 Andreas Schwab <schwab@suse.de>
14113
14114 * process.c (list_processes_1): Fix indentation level of the
14115 command column.
14116
141172007-11-23 Andreas Schwab <schwab@suse.de>
14118
14119 * editfns.c (Fformat): Handle %c specially since it requires the
14120 argument to be of type int.
14121
141222007-11-23 Markus Triska <markus.triska@gmx.at>
14123
14124 * emacs.c (main): Call init_editfns before init_process, since
14125 init_process sets Vprocess_connection_type depending on OS release.
14126
141272007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14128
14129 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14130 (find_symbol_value): Use do_symval_forwarding.
14131
14132 * data.c (set_internal): Set the value in the `cons-cell' (for
14133 Buffer_Local_values) not only for frame-local variables.
14134
141352007-11-22 Andreas Schwab <schwab@suse.de>
14136
14137 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14138 values to sprintf.
14139 * keymap.c (Fsingle_key_description): Likewise.
14140 * print.c (print_object): Likewise.
14141
141422007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14143
14144 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14145 file for image is nil.
14146
141472007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14148
14149 * term.c: Include stdarg.h.
14150 (fatal): Implement using varargs.
14151 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14152
141532007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14154
14155 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14156 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14157 Update call to buffer_slot_type_mismatch.
14158 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14159 (buffer_slot_type_mismatch): Update.
14160 * buffer.c (buffer_local_types): Remove.
14161 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14162 (defvar_per_buffer): Set the type in the buffer_objfwd.
14163
141642007-11-21 Jason Rumney <jasonr@gnu.org>
14165
14166 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14167 CreateFileMapping returns NULL on failure.
14168
141692007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14170
14171 * search.c (Fset_match_data): Remove the `evaporate' feature.
14172 (unwind_set_match_data): Don't use the `evaporate' feature.
14173
141742007-11-21 Jason Rumney <jasonr@gnu.org>
14175
14176 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14177
14178 * w32console.c (w32con_write_glyphs): Remove unused variables.
14179
141802007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14181
14182 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14183
14184 * s/darwin.h (MULTI_KBOARD): Remove.
14185
14186 * macfns.c (x_create_tip_frame, Fx_create_frame)
14187 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14188
141892007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14190
14191 * buffer.c (Fbuffer_local_value): Remove redundant test.
14192 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14193 than in `current-buffer' to match the comment.
14194 Do the swap using swap_in_global_binding.
14195
14196 * data.c (store_symval_forwarding, set_internal):
14197 * eval.c (specbind): Remove dead code.
14198
14199 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14200 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14201 Since we do not want to see internal Lisp_*fwd objects here.
14202
142032007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14204
14205 * sysdep.c (init_system_name): Use getaddrinfo if available.
14206
14207 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14208 (x_scroll_bar_note_movement): start, end, with, height in struct
14209 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14210
142112007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14212
14213 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14214
142152007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14216
14217 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14218 This undoes Richard's change of 14-Oct-2002.
14219
14220 * alloc.c (allocate_other_vector):
14221 * lisp.h (allocate_other_vector): Remove.
14222
14223 * window.c (struct save_window_data): Move non-lisp data to the end
14224 and make it `int' rather than Lisp_Object.
14225 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14226 Done wrap/unwrap integer values.
14227 (Fset_window_configuration, compare_window_configurations):
14228 Update use of fields to their new types.
14229
14230 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14231 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14232 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14233 (SET_SCROLL_BAR_X_WINDOW): Remove.
14234 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14235 Access the new x_window field directly.
14236 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14237 Don't wrap/unwrap integers into Lisp_Objects.
14238 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14239 (x_scroll_bar_report_motion):
14240 Don't wrap/unwrap integers into Lisp_Objects.
14241 (x_term_init): Use SDATA.
14242 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14243 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14244 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14245 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14246 * xfns.c (x_set_background_color):
14247 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14248 Access the new x_window field directly.
14249
14250 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14251 (allocate_pseudovector): Make non-static.
14252
14253 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14254 (allocate_pseudovector): Declare.
14255 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14256
142572007-11-15 Andreas Schwab <schwab@suse.de>
14258
14259 * editfns.c (Fformat): Correctly format EMACS_INT values.
14260 Also take precision into account when formatting an integer.
14261
14262 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14263
142642007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14265
14266 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14267 (syms_of_keyboard): Defsubr it.
14268
14269 * data.c (swap_in_global_binding): Fix longstanding bug where
14270 store_symval_forwarding was not called with the right second argument,
14271 thus causing objfwd-ing from being dropped.
14272
142732007-11-14 Juanma Barranquero <lekktu@gmail.com>
14274
14275 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14276 (Fx_display_pixel_height, Fx_display_planes)
14277 (Fx_display_color_cells, Fx_server_max_request_size)
14278 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14279 (Fx_display_visual_class, Fx_display_save_under):
14280 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14281 (Fx_display_pixel_height, Fx_display_planes)
14282 (Fx_display_color_cells, Fx_server_max_request_size)
14283 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14284 (Fx_display_mm_height, Fx_display_mm_width)
14285 (Fx_display_backing_store, Fx_display_visual_class)
14286 (Fw32_select_font, Fx_display_save_under):
14287 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14288 (Fx_display_pixel_height, Fx_display_planes)
14289 (Fx_display_color_cells, Fx_server_max_request_size)
14290 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14291 (Fx_display_save_under): Fix typos in docstrings.
14292
142932007-11-14 Juanma Barranquero <lekktu@gmail.com>
14294
14295 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14296 corresponding to deleted entries; they are an implementation detail.
14297 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14298 Remove variables.
14299 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14300 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14301 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14302 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14303 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14304 (Fw32_define_rgb_color, Fw32_load_color_file)
14305 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14306 Fix typos in docstrings.
14307 (Fx_server_version): Reflow docstring.
14308 (Fw32_shell_execute): Doc fixes.
14309
143102007-11-13 Juanma Barranquero <lekktu@gmail.com>
14311
14312 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14313 if w32_parse_hot_key returned nil.
14314
143152007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14316
14317 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14318
143192007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14320
aac0c6e3
MR
14321 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14322
14323 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14324
14325 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14326 Remove W32_SCROLL_BAR_CLICK_EVENT.
14327
14328 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14329 Add MULTIMEDIA_KEY_EVENT.
14330
14331 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14332 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14333 (make_lispy_event) [WINDOWSNT]: Use it to translate
14334 MULTIMEDIA_KEY_EVENT.
14335
14336 * w32term.h (WM_APPCOMMAND): Define if not already.
14337 (GET_APPCOMMAND_LPARAM): Likewise.
14338
14339 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14340 WM_APPCOMMAND.
14341
14342 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14343 (syms_of_w32fns): Export and initialize it.
14344 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14345
143462007-11-09 Chong Yidong <cyd@stupidchicken.com>
14347
14348 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14349 twice.
14350
14351 * xdisp.c (handle_face_prop): Fix last change.
14352
143532007-11-09 Richard Stallman <rms@gnu.org>
14354
14355 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14356 not just for after-strings and before-strings.
14357 Call face_for_overlay_string and pass the overlay to it.
14358 (handle_display_prop): Determine whether property came from an overlay.
14359 Pass OVERLAY arg to handle_single_display_spec.
14360 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14361 (load_overlay_strings): Fill in it->string_overlays.
14362 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14363
14364 * xfaces.c (face_for_overlay_string): Function renamed from
14365 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14366
14367 * dispextern.h (struct it): New elt string_overlays.
14368 New elt from_overlay, also in stack.
14369 Rearrange a few elements.
14370 (face_for_overlay_string): Decl renamed from
14371 face_at_buffer_position_no_overlays, and add argument.
14372
143732007-11-09 Richard Stallman <rms@gnu.org>
14374
14375 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14376 to get the base face for an overlay string.
14377
14378 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14379
14380 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14381
14382 * xdisp.c (handle_stop): Move some code out of loop.
14383
143842007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14385
14386 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14387 Fix conversion from Lisp object to ATSUFontID.
14388
143892007-11-09 Jason Rumney <jasonr@gnu.org>
14390
14391 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14392
143932007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14394
14395 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14396 Don't assume regions are aligned to page boundary.
14397 (print_load_command_name): Add LC_UUID if defined.
14398
143992007-11-09 Richard Stallman <rms@gnu.org>
14400
14401 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14402
144032007-11-07 Jason Rumney <jasonr@gnu.org>
14404
14405 * s/windows95.h: Remove.
14406
144072007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14408
14409 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14410 abort with a message on unhandled store_type values.
14411
144122007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14413
14414 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14415 Remove HAVE_X11R5 and HAVE_X11R4.
14416
144172007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14418
14419 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14420
144212007-11-01 Johan Bockgård <bojohan@gnu.org>
14422
14423 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14424 Don't set s->stippled_p here, since it has already been set by
14425 x_set_glyph_string_gc from x_draw_glyph_string.
14426
144272007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14428
14429 * sunfns.c: Remove file.
14430
14431 * m/sun386.h:
14432 * m/sun2.h:
14433 * m/sparc.h: Remove Sun windows code.
14434
144352007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14436
14437 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14438 (init_keyboard): Set current_kboard's window-system to nil.
14439 (tty_read_avail_input): Typo.
14440 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14441
144422007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14443
14444 * s/usg5-4.h:
14445 * s/usg5-3.h:
14446 * s/ptx.h:
14447 * m/is386.h:
14448 * m/ibmps2-aix.h:
14449 * Makefile.in: Remove all mentions of X10.
14450
14451 * dispnew.c (syms_of_display): Don't mention version 10.
14452
144532007-10-28 Juanma Barranquero <lekktu@gmail.com>
14454
14455 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14456 ($(BLD)/abbrev.$(O)): Remove.
14457
144582007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14459
14460 Rewrite abbrev.c in Elisp.
14461 * image.c (Qcount): Don't declare as extern.
14462 (syms_of_image): Initialize and staticpro `Qcount'.
14463 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14464 * emacs.c (main): Don't call syms_of_abbrev.
14465 * Makefile.in (obj): Remove abbrev.o.
14466 (abbrev.o): Remove.
14467 * abbrev.c: Remove.
14468
144692007-10-26 Martin Rudalics <rudalics@gmx.at>
14470
14471 * window.c (window_min_size_2): Don't count header-line.
14472
144732007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14474
14475 * frame.h (struct frame): Move all bit fields after the first bit
14476 field to take advantage of the available space. Group all the
14477 chars together to reduce wasted space due to padding.
14478
144792007-10-26 Juanma Barranquero <lekktu@gmail.com>
14480
14481 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14482
14483 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14484 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14485 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14486 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14487 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14488 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14489 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14490 (last_marked, mark_object_loop_halt): Make static.
14491
14492 * frame.c (syms_of_frame) <delete-frame-functions>:
14493 Fix typo in docstring.
14494
144952007-10-25 Juanma Barranquero <lekktu@gmail.com>
14496
14497 * w32.c (init_environment): Fix tiny memory leak.
14498 (w32_get_resource): Remove unused variable `ok'.
14499
145002007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14501
14502 Make `window-system' into a keyboard-local variable (rather than
14503 frame-local as done originally by multi-tty).
14504
14505 * keyboard.h (struct kboard): Add Vwindow_system.
14506 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14507 (mark_kboards): Mark Vwindow_system.
14508
14509 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14510 (init_display): Don't set the obsolete `window-system' frame-param.
14511
14512 * xterm.c (x_term_init):
14513 * w32term.c (w32_create_terminal):
14514 * term.c (init_tty): Set Vwindow_system.
14515 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14516 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14517
14518 * xfns.c (Fx_create_frame, x_create_tip_frame):
14519 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14520 * macfns.c (Fx_create_frame):
14521 Don't set the obsolete `window-system' frame-param.
14522
14523 * frame.h (Qwindow_system): Remove.
14524 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14525 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14526
145272007-10-24 Richard Stallman <rms@gnu.org>
14528
14529 * frame.c (x_figure_window_size): For fullscreen case,
14530 set USPosition | PPosition without clobbering rest of window_prompting.
14531
14532 * keyboard.c (Fcurrent_idle_time): Doc fix.
14533
14534 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14535
145362007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14537
14538 * process.c (unwind_request_sigio): Only define if __ultrix__.
14539
14540 * callproc.c (child_setup): Remove spurious *.
14541
14542 * lisp.h (Fget_text_property): Declare.
14543 (have_menus_p): Declare it here rather than in sys-dep header files.
14544 * macterm.h (have_menus_p):
14545 * msdos.h (have_menus_p):
14546 * xterm.h (have_menus_p): Remove.
14547
14548 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14549 (Fmake_variable_frame_local): Just check the variable's const-ness
14550 rather than checking nil or t.
14551
145522007-10-22 Jason Rumney <jasonr@gnu.org>
14553
14554 * w32fns.c: Include math.h.
14555 (w32_abort): Declaration moved to nt/config.nt.
14556
14557 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14558 (abort): Redefinition moved to nt/config.nt.
14559
14560 * m/windowsnt.h: Remove.
14561
145622007-10-22 Juanma Barranquero <lekktu@gmail.com>
14563
14564 * emacs.c (Fdump_emacs): Fix typo in message.
14565 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14566 <installation-directory>: Reflow docstring.
14567
145682007-10-22 Juri Linkov <juri@jurta.org>
14569
14570 * minibuf.c: Allow minibuffer default to be a list of default values.
14571 With empty input use the first element of this list as returned default.
14572 (string_to_object)
14573 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14574 (read_minibuf): If defalt is cons, set histstring to its car.
14575 (Fread_string): If default_value is cons, set val to its car.
14576 (Fread_buffer): If def is cons, use its car.
14577 (Fcompleting_read): If defalt is cons, set val to its car.
14578
145792007-10-21 Michael Albinus <michael.albinus@gmx.de>
14580
14581 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14582
145832007-10-20 Juanma Barranquero <lekktu@gmail.com>
14584
14585 * doc.c (Fdocumentation): Check for advice in all cases.
14586
145872007-10-19 Chong Yidong <cyd@stupidchicken.com>
14588
14589 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14590
145912007-10-19 Richard Stallman <rms@gnu.org>
14592
14593 * doc.c (Fdocumentation): Check for and handle an advised function.
14594
145952007-10-19 Juanma Barranquero <lekktu@gmail.com>
14596
14597 * process.c (Fset_process_filter): Doc fix.
14598
145992007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14600
14601 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14602 which caused key-translation-map to applied repeatedly (thus breaking
14603 double-mode).
14604
146052007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14606
14607 * xselect.c (x_own_selection, x_handle_selection_clear)
14608 (x_clear_frame_selections):
14609 * w32menu.c (list_of_panes, list_of_items):
14610 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14611 * textprop.c (validate_plist, interval_has_all_properties)
14612 (interval_has_some_properties, interval_has_some_properties_list)
14613 (add_properties, text_property_list):
14614 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14615 * minibuf.c (Fassoc_string):
14616 * macselect.c (x_own_selection, x_clear_frame_selections)
14617 (Fx_disown_selection_internal):
14618 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14619 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14620
146212007-10-17 Chong Yidong <cyd@stupidchicken.com>
14622
14623 * process.c: Link to libs for calling res_init() if available.
14624 (Fmake_network_process): Call res_init() before getaddrinfo or
14625 gethostbyname, if possible.
14626
146272007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14628
14629 * lread.c (read1): Set pvectype for char_tables.
14630
14631 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14632 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14633 Add type checks.
14634 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14635
14636 * alloc.c (free_misc): Use XMISCTYPE.
14637 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14638
146392007-10-17 Glenn Morris <rgm@gnu.org>
14640
14641 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14642 (syms_of_minibuf): Add Qcompletion_ignore_case.
14643 * dired.c (Qcompletion_ignore_case): Change to external.
14644 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14645 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14646 (Fread_file_name): Use it rather than intern'ing.
14647
14648 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14649 (Fread_coding_system): Ignore case of user input.
14650
146512007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14652
14653 * xdisp.c (handle_display_prop): Ignore display specs after
14654 replacing one when string text is being replaced.
14655 (handle_single_display_spec): Pretend as if characters with display
14656 property haven't been consumed only when buffer text is being replaced.
14657
146582007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14659
14660 * xfns.c (Fx_create_frame, Fx_display_list):
14661 * window.c (window_fixed_size_p, enlarge_window)
14662 (shrink_window_lowest_first):
14663 * macterm.c (init_font_name_table):
14664 * macfns.c (Fx_create_frame, Fx_display_list):
14665 * lread.c (close_load_descs):
14666 * keyboard.c (read_char_x_menu_prompt):
14667 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14668 * coding.c (code_convert_region_unwind): Test the type of an object
14669 rather than just !NILP before extracting data from it.
14670
14671 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14672
14673 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14674 (XMISCANY): New macro.
14675 (XMISCTYPE): Use it.
14676 (struct Lisp_Misc_Any): New type.
14677 (union Lisp_Misc): Use it.
14678 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14679 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14680 (find_symbol_value, set_internal, default_value, Fset_default)
14681 (Fmake_variable_buffer_local, Fmake_local_variable)
14682 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14683 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14684 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14685 * alloc.c (allocate_buffer): Set the size and tag.
14686 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14687 Use XMISCANY.
14688 (die): Follow the GNU convention for error messages.
14689 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14690 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14691 tag any more.
14692 (set_buffer_internal_1):
14693 * frame.c (store_frame_param):
14694 * eval.c (specbind):
14695 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14696
14697 * doc.c (Fsnarf_documentation): Simplify.
14698
146992007-10-14 Juanma Barranquero <lekktu@gmail.com>
14700
14701 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14702 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14703
147042007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14705
14706 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14707
147082007-10-14 Juanma Barranquero <lekktu@gmail.com>
14709
14710 * eval.c (do_autoload): Don't save autoloads.
14711
14712 * data.c (Ffset): Save autoload of the function being set.
14713
147142007-10-07 John Paul Wallington <jpw@pobox.com>
14715
14716 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14717 parameter before setting up faces.
14718
147192007-10-13 Eli Zaretskii <eliz@gnu.org>
14720
14721 * ccl.c (Fregister_code_conversion_map):
14722 * keyboard.c (append_tool_bar_item): Reformat last change.
14723
14724 * lisp.h (eabs): Rename from `abs'. All callers changed.
14725
147262007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14727
14728 * buffer.c (add_overlay_mod_hooklist):
14729 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14730 * fontset.c (make_fontset):
14731 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14732 (append_tool_bar_item):
14733 * macmenu.c (grow_menu_items):
14734 * w32menu.c (grow_menu_items):
14735 * xmenu.c (grow_menu_items): Use larger_vector.
14736
147372007-10-13 Eli Zaretskii <eliz@gnu.org>
14738
14739 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14740 selected frame'' on MSDOS).
14741
147422007-10-12 Martin Rudalics <rudalics@gmx.at>
14743
14744 * frame.c (Qexplicit_name): New variable.
14745 (x_report_frame_params): Report it in parameter alist.
14746 (syms_of_frame): Intern and staticpro it.
14747
147482007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14749
14750 * macfns.c (x_create_tip_frame): Set terminal for frame.
14751
147522007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14753
14754 * frame.c (Qenvironment): Remove.
14755 (syms_of_frame) <Qenvironment>: Don't initialize.
14756 (Fdelete_frame): Don't treat the `environment' param specially.
14757 * frame.h (Qenvironment): Don't declare.
14758 * callproc.c (set_initial_environment): Don't set unused frame param.
14759
14760 * frame.c (Fframe_with_environment): Remove.
14761 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14762
14763 * lisp.h (Fframe_with_environment): Don't declare.
14764
147652007-10-10 Juanma Barranquero <lekktu@gmail.com>
14766
14767 * indent.c (indent_tabs_mode, last_known_column)
14768 (last_known_column_modified): Make static.
14769 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14770
147712007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14772
14773 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14774
147752007-10-09 Jason Rumney <jasonr@gnu.org>
14776
14777 * w32term.c (x_set_window_size): Disable code that attempts to tell
14778 Lisp code about a size change before it actually happens.
14779
147802007-10-09 Richard Stallman <rms@gnu.org>
14781
14782 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14783 return HANDLED_RETURN.
14784
147852007-10-08 Martin Rudalics <rudalics@gmx.at>
14786
14787 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14788 when there's an unread command event.
14789
14790 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14791 window autoselection act appropriately when leaving selected frame.
14792 (syms_of_frame): Initialize focus_follows_mouse.
14793 * frame.h (focus_follows_mouse): Extern it.
14794 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14795 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14796 * msdos.c (dos_rawgetc): Likewise.
14797 * w32term.c (w32_read_socket): Likewise.
14798 * xterm.c (handle_one_xevent): Likewise.
14799 * xdisp.c (syms_of_xdisp): In doc-string of
14800 mouse-autoselect-window mention focus-follows-mouse.
14801
148022007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14803
14804 * macterm.c (mac_load_query_font): Fix missing return value.
14805 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14806 Add BLOCK_INPUT.
14807
148082007-10-08 Richard Stallman <rms@gnu.org>
14809
14810 * xdisp.c (get_window_cursor_type): Implement documented behavior
14811 for cursor-in-non-selected-windows = t.
14812
148132007-10-08 Jason Rumney <jasonr@gnu.org>
14814
14815 * w32.c (w32_get_resource): Always close registry keys.
14816
148172007-10-08 Jason Rumney <jasonr@gnu.org>
14818
14819 * makefile.w32-in (LIBS): Add COMCTL32.
14820
14821 * w32fns.c (globals_of_w32fns): Init common controls.
14822
148232007-10-08 Richard Stallman <rms@gnu.org>
14824
14825 * image.c (our_memory_buffer): Rename from omfib_buffer.
14826
148272007-10-08 Richard Stallman <rms@gnu.org>
14828
14829 * buffer.c (Foverlays_at): Doc fix.
14830
148312007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14832
14833 * fns.c (Fplist_put): Preserve uneven tail data.
14834
148352007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14836
14837 * termhooks.h (enum event_kind): Remove trailing comma.
14838
14839 * frame.h (enum): Remove trailing comma.
14840
148412007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14842
14843 * w32proc.c (delete_child): Don't terminate threads of zombies.
14844
148452007-10-08 Martin Rudalics <rudalics@gmx.at>
14846
14847 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14848
14849 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14850 last-repeatable-command.
14851 (init_kboard): Initialize Vlast_repeatable_command.
14852 (command_loop_1): Set it to real_this_command unless that was
14853 bound to an input event.
14854 (mark_kboards): Mark it.
14855
148562007-10-08 Richard Stallman <rms@gnu.org>
14857
14858 * eval.c (condition-case): Doc fix.
14859
148602007-10-08 Masatake YAMATO <jet@gyve.org>
14861
14862 * xfaces.c (tty_supports_face_attributes_p): Fix code
14863 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
14864 was copied and not edited.
14865
148662007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
14867
14868 Add new `input-decode-map' keymap and use it for terminal
14869 escape sequences.
14870 * keyboard.h (struct kboard): Add Vinput_decode_map.
14871 Remove Vlocal_key_translation_map.
14872 * keyboard.c (read_key_sequence): Add support for input-decode-map.
14873 (init_kboard): Init input-decode-map.
14874 Replace local-key-translation-map back with key-translation-map.
14875 (syms_of_keyboard): Declare input-decode-map.
14876 Remove local-key-translation-map. Update docstrings.
14877 (mark_kboards): Mark Vinput_decode_map.
14878 Don't mark Vlocal_key_translation_map.
14879 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
14880 Replace local-key-translation-map back with key-translation-map.
14881 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
14882 Bind in input-decode-map rather than function-key-map.
14883
14884 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
14885 This was made redundant by the previous introduction of XSETPVECTYPE.
14886
148872007-10-09 Richard Stallman <rms@gnu.org>
14888
14889 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
14890
148912007-09-29 Richard Stallman <rms@gnu.org>
14892
14893 * eval.c (internal_condition_case_2, internal_condition_case_1)
14894 (internal_condition_case): Reenable abort if x_catching_errors ()
14895 to see if that really happens and why.
14896
148972007-10-06 Andreas Schwab <schwab@suse.de>
14898
14899 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
14900
149012007-10-04 Juanma Barranquero <lekktu@gmail.com>
14902
14903 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
14904
149052007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
14906
14907 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
14908
149092007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
14910
14911 * window.h (struct window):
14912 * window.c (struct save_window_data, struct saved_window):
14913 * termhooks.h (struct terminal):
14914 * process.h (struct Lisp_Process):
14915 * frame.h (struct frame):
14916 * buffer.h (struct buffer):
14917 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
14918 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
14919 The size field of (pseudo)vectors is now unsigned.
14920 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
14921
14922 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
14923 Turn `count' into an integer.
14924
14925 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
14926 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
14927 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
14928 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
14929 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
14930
14931 * alloc.c (allocate_pseudovector): New fun.
14932 (ALLOCATE_PSEUDOVECTOR): New macro.
14933 (allocate_window, allocate_terminal, allocate_frame)
14934 (allocate_process): Use it.
14935 (mark_vectorlike): New function.
14936 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
14937 (mark_terminals): Use it.
14938 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
14939 (Fmake_byte_code): Use XSETPVECTYPE.
14940
14941 * frame.c (Fframe_parameters): Minor simplification.
14942
14943 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
14944
14945 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
14946
14947 * buffer.c (Fget_buffer_create, init_buffer_once):
14948 * lread.c (defsubr):
14949 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
14950
14951 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
14952 defined differently in the m/*.h files.
14953 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
14954 (XSETPVECTYPE): New macro.
14955 (XSETPSEUDOVECTOR): Use it.
14956
14957 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
14958 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
14959
14960 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
14961 * lread.c (defvar_per_buffer):
14962 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
14963
14964 * window.c (candidate_window_p): Only consider as visible frames that
14965 are on the same terminal.
14966
14967 * m/ibms390x.h (MARKBIT): Remove unused macro.
14968
149692007-10-01 Juanma Barranquero <lekktu@gmail.com>
14970
14971 * lread.c (Fload): Fix typo in docstring.
14972
149732007-10-01 Michaël Cadilhac <michael@cadilhac.name>
14974
14975 * floatfns.c (Fexpt): Manually check for overflows, so that a power
14976 of a non-zero value can't yield zero.
14977
149782007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
14979
14980 * term.c (term_clear_mouse_face, term_mouse_highlight)
14981 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
14982
14983 * print.c (safe_debug_print): Use XHASH.
14984
14985 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
14986 Lisp elements such as tags.
14987 (XHASH): New macro.
14988 (EQ): Use it.
14989 (SREF, SSET, STRING_COPYIN): Use SDATA.
14990 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
14991
14992 * alloc.c (mark_terminal): Remove left-over declaration.
14993 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
14994 (allocate_vectorlike): Remove type argument. Adjust callers.
14995 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
14996 Only handle the one remaining MEM_TYPE_VECTORLIKE.
14997
14998 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
14999 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15000 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15001 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15002 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15003 Use them.
15004
15005 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15006 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15007 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15008
150092007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15010
15011 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15012 loaded by default.
15013
150142007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15015
15016 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15017 on this tty.
15018 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15019
15020 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15021 Update all users.
15022 (handle_one_term_event): Use Gpm_DrawPointer.
15023 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15024 Signal errors instead of returning nil. Always return nil.
15025 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15026 Make it a noop if gpm-mouse was not activated.
15027 (syms_of_term): Update names.
15028
150292007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15030
15031 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15032 (init_sys_modes): Check that gpm_tty is the current tty.
15033
15034 * alloc.c (allocate_terminal): Set the vector size to only count the
15035 lisp fields. Initialize those to nil.
15036 (mark_object): Don't treat terminals specially.
15037 (mark_terminal): Remove.
15038 (mark_terminals): Use mark_object instead.
15039
15040 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15041 the GC to the beginning.
15042
15043 * indent.h:
15044 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15045
15046 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15047
150482007-09-25 Jason Rumney <jasonr@gnu.org>
15049
15050 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15051
15052 * w32console.c (create_w32cons_output): Remove.
15053
15054 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15055
15056 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15057 (reset_sys_modes): Use reset_terminal_modes_hook.
15058
150592007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15060
15061 * eval.c (do_autoload): Don't output any message.
15062
150632007-09-24 Juri Linkov <juri@jurta.org>
15064
15065 * emacs.c (standard_args): Change priority of "--no-splash"
15066 from 40 to 3. Add "--no-desktop" with the same priority.
15067
150682007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15069
15070 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15071 and optimize the case where they are all 1.
15072
150732007-09-23 Johannes Weiner <hannes@saeurebad.de>
15074
15075 * lisp.h (abs): Define if not defined.
15076 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15077 Don't define `abs', since it's defined in lisp.h.
15078
150792007-09-22 Eli Zaretskii <eliz@gnu.org>
15080
15081 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15082 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15083 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15084 (init_tty): Use DEV_TTY instead of "/dev/tty".
15085 [WINDOWSNT]: No need to protect from NAME arg being null.
15086
150872007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15088
15089 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15090 up the tty state.
15091
150922007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15093
15094 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15095 (gpm_tty): Change its type.
15096 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15097 (gpm_tty): Change its type and initialize it.
15098 (Fterm_open_connection): Check the frame is indeed a tty.
15099 Use the new gpm_tty.
15100 (Fterm_close_connection): Use the new gpm_tty.
15101 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15102 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15103
151042007-09-21 Juanma Barranquero <lekktu@gmail.com>
15105
15106 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15107 underline_color, to draw strike-through.
15108
151092007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15110
15111 * lisp.h (allocate_terminal): Declare.
15112
15113 * window.c (candidate_window_p): Consider frames that are being placed
15114 by the user as somewhere between visible and iconified.
15115 (window_loop): Prefer windows on the current frame.
15116 (Fselect_window): Move the use of select-frame to the beginning so we
15117 can just delegate all the work (it'll call us back anyway).
15118
15119 * frame.c (Qdisplay_environment_variable):
15120 * frame.h (Qdisplay_environment_variable): Delete.
15121
15122 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15123 of the first arg, since that value may be a union.
15124
15125 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15126 parameter rather than Qdisplay_environment_variable. If all else
15127 fails, look for DISPLAY in initial-environment.
15128
151292007-09-21 Glenn Morris <rgm@gnu.org>
15130
15131 * Makefile.in (emacstool): Remove target.
15132 (lisp, shortlisp): Remove termdev.elc.
15133
151342007-09-21 Markus Triska <markus.triska@gmx.at>
15135
15136 * xterm.c (x_delete_display): Compile session management conditionally.
15137
151382007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15139
15140 * callproc.c (getenv_internal_1): New function.
15141 (getenv_internal): Use it.
15142 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15143
15144 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15145 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15146 (Fset_terminal_parameter): Work with dead terminals as well.
15147 (Fmodify_terminal_parameters): Remove.
15148
15149 * terminal.c (get_terminal): Handle terminals.
15150 Make sure the terminal returned is live.
15151 (create_terminal): Use allocate_terminal.
15152 (mark_terminals): Move to alloc.c.
15153 (delete_terminal): Use terminal->name as liveness status.
15154 NULL out fields after freeing their contents.
15155 Don't deallocate the object.
15156 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15157 rather than an int.
15158 (Fterminal_live_p): Accept non-integer arguments.
15159 (Fterminal_list): Return terminal objects rather than an ints.
15160
15161 * alloc.c (enum mem_type): New member for `terminal' objects.
15162 (allocate_terminal): New function.
15163 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15164 Handle terminals.
15165 (mark_terminal): New fun.
15166 (mark_terminals): Move from terminal.c.
15167
15168 * term.c (get_tty_terminal): Don't treat output_initial specially.
15169 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15170 (delete_tty): Use terminal->name as liveness status.
15171
15172 * termhooks.h (struct terminal): Make it into a pseudovector.
15173 Remove `deleted' replaced by checking `name's nullness.
15174
15175 * print.c (print_object): Handle terminals.
15176
15177 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15178 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15179
15180 * frame.c (make_terminal_frame):
15181 * keyboard.c (tty_read_avail_input):
15182 * w32term.c (x_delete_terminal):
15183 * xfns.c (Fx_create_frame, x_create_tip_frame):
15184 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15185
151862007-09-20 Glenn Morris <rgm@gnu.org>
15187
15188 * process.c (Fmake_network_process): Doc fix.
15189
151902007-09-19 Jason Rumney <jasonr@gnu.org>
15191
15192 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15193
151942007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15195
15196 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15197 Fix a C warning regarding variable constness.
15198
15199 * xterm.c (handle_one_xevent): Fix a C warning.
15200
152012007-09-18 Jason Rumney <jasonr@gnu.org>
15202
15203 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15204
152052007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15206
15207 * gtkutil.c (gdpy_def): New variable.
15208 (xg_initialize): Initialize gdpy_def.
15209 (xg_display_close): If no other display exists, set gdpy_def to a
15210 new connection.
15211
152122007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15213
15214 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15215 when we have no file name for the icon.
15216 (xg_tool_bar_expose_callback): Remove.
15217 (xg_create_tool_bar): Don't connect expose signal to
15218 xg_tool_bar_expose_callback.
15219 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15220
152212007-09-16 Andreas Schwab <schwab@suse.de>
15222
15223 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15224 values instead of zapping them.
15225
152262007-09-14 Glenn Morris <rgm@gnu.org>
15227
15228 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15229 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15230 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15231 scope and rename to omfib_buffer for clarity.
15232 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15233
152342007-09-14 Kenichi Handa <handa@m17n.org>
15235
15236 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15237
152382007-09-13 Jason Rumney <jasonr@gnu.org>
15239
15240 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15241
15242 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15243
15244 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15245 (mac_term_init): Call here instead, passing rif.
15246
152472007-09-13 Glenn Morris <rgm@gnu.org>
15248
15249 * s/hpux.h: No longer define `static' as nothing.
15250
152512007-09-13 Johan Bockgård <bojohan@gnu.org>
15252
15253 * callint.c (Fcall_interactively): Remove unused var `fun'.
15254
152552007-09-12 Romain Francoise <romain@orebokech.com>
15256
15257 * window.c (prefer_window_split_horizontally, display_buffer):
15258 Revert 2007-09-08 change.
15259
152602007-09-12 Glenn Morris <rgm@gnu.org>
15261
15262 * alloca.c: Remove file.
15263 * Makefile.in (alloca): Do not undef.
15264 (allocaobj, alloca.o): Remove.
15265 (otherobj): Remove allocaobj.
15266 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15267 * regex.c (C_ALLOCA): Remove all references and code that was only
15268 used when this was defined.
15269 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15270 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15271 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15272
15273 * Makefile.in (SOURCES, unlock, relock): Delete.
15274
15275 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15276 (menu_grab_callback): All uses changed.
15277
15278 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15279 (x_reply_selection_request): All uses changed.
15280
152812007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15282
15283 * lread.c (load_warn_old_style_backquotes): Change message to look
15284 better when it appears in the middle of byte-compiler messages.
15285
152862007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15287
15288 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15289
15290 * xterm.c (x_create_terminal): Add comment.
15291
15292 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15293
152942007-09-10 Richard Stallman <rms@gnu.org>
15295
15296 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15297
152982007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15299
15300 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15301 (DEFUN): Document `intspec', use it instead of `prompt'.
15302
15303 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15304
15305 * data.c (Finteractive_form): If the interactive specification starts
15306 with a `(', use it as a Lisp form.
15307
15308 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15309 name and file modes.
15310
15311 * callint.c (Fcall_interactively): Comment fixes.
15312
153132007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15314
15315 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15316 and compiled functions.
15317
153182007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15319
15320 * window.c (prefer_window_split_horizontally): New variable.
15321 (display_buffer): Consider splitting window horizontally depending
15322 on prefer_window_split_horizontally.
15323
153242007-09-08 Eli Zaretskii <eliz@gnu.org>
15325
15326 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15327
153282007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15329
15330 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15331
15332 * frame.c (x_set_frame_parameters): Check number is positive before
15333 using XFASTINT.
15334
15335 * window.c (freeze_window_start): Don't presume selected_window holds
15336 a window object.
15337 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15338
153392007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15340
15341 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15342
153432007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15344
15345 * window.c (Vsplit_window_preferred_function): New var.
15346 (Fdisplay_buffer): Use it.
15347 (syms_of_window): Export, and initialize it.
15348
153492007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15350
15351 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15352
153532007-09-06 Glenn Morris <rgm@gnu.org>
15354
15355 * gtkutil.c (menu_grab_callback) <cnt>:
15356 * xselect.c (x_reply_selection_request) <cnt>: Move static
15357 variable to file scope.
15358
153592007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15360
15361 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15362 consistent values of selected_frame and selected_window.
15363
153642007-09-04 Jason Rumney <jasonr@gnu.org>
15365
15366 * w32console.c (initialize_w32_display): Zero unused hooks.
15367
153682007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15369
15370 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15371 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15372
153732007-09-04 Jason Rumney <jasonr@gnu.org>
15374
15375 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15376 in w32console.c. Set up input. Remove XXX comments that have been
15377 confirmed as correct.
15378
15379 * s/ms-w32.h (MULTI_KBOARD): Define.
15380
15381 * w32console.c (one_and_only_w32cons): Remove.
15382 (initialize_w32_display): Take terminal argument.
15383
15384 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15385 initialize_w32_display.
15386 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15387
15388 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15389
15390 * keyboard.c (discard_mouse_events): Discard it.
15391 (make_lispy_event): Translate it to a lisp event.
15392 (lispy_wheel_names): Add wheel-left and right events.
15393 (syms_of_keyboard): Enlarge wheel_syms.
15394
15395 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15396 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15397
15398 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15399
15400 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15401 from WM_MOUSEHWHEEL.
15402 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15403
15404 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15405 terminal.
15406
15407 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15408 keyboard for the terminal.
15409
154102007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15411
15412 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15413 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15414 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15415 and resume-tty-function to resume-tty-hook.
15416 (Fsuspend_tty, Fresume_tty): Use new names.
15417
154182007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15419
15420 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15421 if it starts with "n:".
15422
154232007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15424
15425 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15426
154272007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15428
15429 * frame.h:
15430 * frame.c (Qterm_environment_variable): Remove.
15431 (syms_of_frame): Don't init and staticpro it.
15432
15433 * callproc.c (getenv_internal): Remove special case for $TERM.
15434
15435 * callproc.c (Vinitial_environment): New variable.
15436 (set_initial_environment): Initialize it.
15437 (syms_of_callproc): Declare it.
15438 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15439 TERM under which a process runs is never related to the TERM in which
15440 Emacs is running.
15441
154422007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15443
15444 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15445 * s/darwin.h: ... do it here.
15446
154472007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15448
15449 * lisp.h (set_initial_environment): Rename from set_global_environment.
15450
15451 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15452 removed by mistake on the multi-tty branch.
15453
15454 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15455 (Fmodify_frame_parameters): Return a value.
15456
15457 * image.c (png_load): Comment-out var only used in commented-out code.
15458
15459 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15460 before passing it to mark_object.
15461
15462 * xfaces.c (internal_resolve_face_name): Return a value.
15463 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15464
15465 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15466 (x_icon): Comment-out var only used in commented-out code.
15467
154682007-08-29 Romain Francoise <romain@orebokech.com>
15469
15470 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15471 QUIT hasn't been provided.
15472
154732007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15474
15475 * callproc.c (child_setup, getenv_internal): Use the
15476 display-environment-variable and term-environment-variable frame params.
15477 (set_initial_environment): Initialise Vprocess_environment.
15478
15479 * config.in: Disable multi-keyboard support on a mac.
15480
15481 * frame.c (Qterm_environment_variable)
15482 (Qdisplay_environment_variable): New variables.
15483 (syms_of_frame): Intern and staticpro them.
15484 (Fmake_terminal_frame): Disable output method test.
15485
15486 * frame.h: Declare them here.
15487
15488 * macfns.c (x_set_mouse_color): Get rif from the frame.
15489 (x_set_tool_bar_lines): Don't use updating_frame.
15490 (mac_window): Add 2 new parameters for consistency with other systems.
15491 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15492 frame parameters following what is done in X11 and w32. Don't use
15493 FRAME_MAC_DISPLAY_INFO.
15494 (Fx_open_connection, start_hourglass): Remove window-system check.
15495 (x_create_tip_frame): Get the keyboard from the terminal.
15496
15497 * macmenu.c: Reorder includes.
15498 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15499
15500 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15501 terminal parameter.
15502 (x_clear_frame): Add a frame parameter.
15503 (note_mouse_movement): Get rif from the frame.
15504 (mac_term_init): Initialize the terminal.
15505 (mac_initialize): Make static and move terminal initialization ...
15506 (mac_create_terminal): ... to this new function.
15507
15508 * macterm.h (struct mac_display_info): Add terminal.
15509 (mac_initialize): Delete declaration.
15510
15511 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15512
15513 * sysdep.c: Comment out text after #endif.
15514
15515 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15516 is defined. Better initialize ttys in windows. Use terminal
15517 specific mouse_position_hook.
15518
15519 * termhooks.h (union display_info): Add mac_display_info.
15520
15521 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15522 Set the default minibuffer frame, window_system and the rest of the
15523 frame parameters following what is done in X11.
15524
15525 * w32term.c (w32_initialize): Make static.
15526
15527 * xselect.c (x_handle_selection_clear): Only access
15528 terminal->kboard when MULTI_KBOARD is defined.
15529
15530 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15531 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15532
155332007-08-29 Jason Rumney <jasonr@gnu.org>
15534
15535 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15536 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15537
15538 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15539 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15540
15541 * keyboard.c (restore_kboard_configuration): Only define when
15542 MULTI_KBOARD defined.
15543
15544 * makefile.w32-in: Update dependancies from Makefile.in.
15545 (OBJ1): Add terminal.$(O)
15546
15547 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15548 Don't define function body.
15549 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15550
15551 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15552
15553 * w32.c (request_sigio, unrequest_sigio): Remove.
15554
15555 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15556 (w32con_clear_frame, w32con_clear_end_of_line)
15557 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15558 (w32con_delete_glyphs, w32con_set_terminal_window)
15559 (scroll_line, w32_sys_ring_bell): Add frame arg.
15560 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15561 Add terminal arg.
15562 (PICK_FRAME): Remove.
15563 (w32con_write_glyphs): Use frame specific terminal coding.
15564 (one_and_only_w32cons): New global variable.
15565 (initialize_w32_display): Use it for storing hooks.
15566 (create_w32cons_output): New function.
15567
15568 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15569 arg a frame.
15570
15571 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15572 Set window_system.
15573 (x_set_tool_bar_lines): Don't use updating_frame.
15574 (Fx_create_frame): Set terminal and ref count.
15575 (Fx_open_connection): Remove window-system check.
15576
15577 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15578
15579 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15580 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15581 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15582 Add frame arg.
15583 (x_delete_terminal, w32_create_terminal): New functions.
15584 (w32_term_init): Create a terminal.
15585 (w32_initialize): Move terminal specific initialization to
15586 w32_create_terminal.
15587
15588 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15589 (w32_clear_rect, w32_clear_area): Use background from frame.
15590 (w32_display_info): Add terminal.
15591 (w32_sys_ring_bell, x_delete_display): Declare here.
15592
15593 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15594
15595 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15596
155972007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15598
15599 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15600 Fix get_named_tty calls for the controlling tty.
15601
156022007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15603
15604 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15605
156062007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15607
15608 * term.c (tty_insert_glyphs): Add missing first parameter.
15609
156102007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15611
15612 * buffer.c (Fbuffer_list, Fbury_buffer):
15613 Take frame->buried_buffer_list into account.
15614
15615 * cm.c (current_tty): New variable, for cmputc().
15616 (cmputc): Use it.
15617 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15618 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15619 (cmgoto): Add tty parameter. Pass it on to calccost().
15620 Use emacs_tputs() instead of tputs().
15621
15622 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15623 tputs().
15624 (current_tty): New variable, for cmputc().
15625 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15626
15627 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15628 (internal_condition_case, internal_condition_case_1)
15629 (internal_condition_case_2): Don't abort when x_catching_errors.
15630
15631 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15632 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15633 prevent crashes caused by bogus longjmps in read_char.
15634
15635 * keymap.h (Fset_keymap_parent): Add EXFUN.
15636
15637 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15638 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15639 Remove redundant definition.
15640
15641 * macfns.c (x_set_mouse_color, x_make_gc):
15642 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15643
15644 * w32term.c (x_free_frame_resources):
15645 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15646 (w32_initialize): Use the accessor macros for terminal characteristics.
15647
15648 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15649 Use the accessor macros for terminal characteristics.
15650 * msdos.c (internal_terminal_init): Use the accessor macros for
15651 terminal characteristics.
15652 (ScreenVisualBell, internal_terminal_init):
15653 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15654
15655 * termopts.h (no_redraw_on_reenter): Declare.
15656
15657 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15658 (mark_terminals, mark_ttys): Declare.
15659 (Fgarbage_collect): Call them.
15660 (mark_object): Mark buried_buffer_list.
15661
15662 * prefix-args.c: Include stdlib.h for exit.
15663
15664 * syssignal.h: Add comment.
15665
15666 * indent.c: Include stdio.h.
15667
15668 * window.h (Vinitial_window_system): Declare.
15669 (Vwindow_system): Delete declaration.
15670
15671 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15672
15673 * image.c (lookup_image): Don't initialize `c' until the xasserts
15674 have been run.
15675
15676 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15677 FRAME_FOREGROUND_PIXEL.
15678
15679 * print.c (print_preprocess): Don't lose print_depth levels while
15680 iterating.
15681
15682 * widget.c (update_from_various_frame_slots):
15683 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15684
15685 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15686 frames.
15687 (window_internal_height): Remove bogus make_number call.
15688 (init_window_once): Call make_terminal_frame with two zero parameters.
15689
15690 * fileio.c (Fread_file_name): Update comment.
15691
15692 * callint.c (Fcall_interactively):
15693 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15694 Make sure it is correctly unwound.
15695
15696 * xsmfns.c (x_session_close): New function.
15697
15698 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15699 Delete declarations.
15700
15701 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15702 (x_output): Remove background_pixel and foreground_pixel fields.
15703 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15704 (x_delete_device, x_session_close): Declare.
15705
15706 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15707 (read_filtered_event): Call `read_char' with a local
15708 `wrong_kboard_jmpbuf'.
15709
15710 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15711 Don't call single_kboard_state. Use FRAME_RIF.
15712
15713 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15714 systems.
15715
15716 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15717 (Fframe_with_environment, Fset_input_meta_mode)
15718 (Fset_quit_char): EXFUN.
15719 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15720 (init_sys_modes, reset_sys_modes): Update prototypes.
15721 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15722
15723 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15724 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15725 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15726 Delete declarations.
15727 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15728 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15729 New declarations.
15730
15731 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15732 already does that during init_display(). Call syms_of_keymap
15733 before syms_of_keyboard. Call `syms_of_terminal'.
15734 Call set_initial_environment, not set_process_environment.
15735 (shut_down_emacs): Call reset_all_sys_modes() instead of
15736 reset_sys_modes().
15737
15738 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15739 (internal_resolve_face_name, resolve_face_name_error): New functions.
15740 (resolve_face_name): Protect against loops and errors thrown by Fget.
15741 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15742 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15743
15744 * scroll.c: Replace CURTTY() with local variables throughout the
15745 file (where applicable).
15746 (calculate_scrolling, calculate_direct_scrolling)
15747 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15748 characteristics.
15749
15750 * keymap.c (Vfunction_key_map): Remove.
15751 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15752 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15753 (Vkey_translation_map): Remove.
15754 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15755 (Fdescribe_buffer_bindings)
15756 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15757 Update for terminal-local key-translation-map.
15758
15759 * Makefile.in (callproc.o): Update dependencies.
15760 (lisp, shortlisp): Add termdev.elc.
15761 (obj): Add terminal.o.
15762 (terminal.o): Add dependencies.
15763 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15764 (data.o, fns.o): Add termhooks.h dependency.
15765 (SOME_MACHINE_LISP): Add dnd.elc.
15766 (minibuf.o): Fix typo.
15767 Update dependencies.
15768
15769 * data.c (do_symval_forwarding, store_symval_forwarding)
15770 (find_symbol_value): Use the selected frame's keyboard, not
15771 current_kboard.
15772
15773 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15774 Vwindow_system.
15775
15776 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15777 Fmenu_bar_open.
15778 (syms_of_xmenu): Update defsubr.
15779 (mouse_position_for_popup, Fx_popup_menu)
15780 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15781 (set_frame_menubar, free_frame_menubar)
b97439ce 15782 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15783 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15784 an X frame.
15785
15786 * xselect.c (x_own_selection): Abort if not an X frame.
15787 (some_frame_on_display): Check if it is an X frame.
15788 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15789
15790 * coding.c: Include frame.h and termhooks.h.
15791 (terminal_coding, keyboard_coding): Delete.
15792 (Fset_terminal_coding_system_internal)
15793 (Fset_keyboard_coding_system_internal)
15794 (Fkeyboard_coding_system)
15795 (Fterminal_coding_system): Add a terminal parameter.
15796 Get terminal_coding from the terminal.
15797 (init_coding_once): Don't call setup_coding_system here.
15798
15799 * dispextern.h (set_scroll_region, turn_off_insert)
15800 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15801 (tty_clear_end_of_line, tty_setup_colors)
15802 (delete_tty, updating_frame)
15803 (produce_special_glyphs, produce_glyphs, write_glyphs)
15804 (insert_glyphs): Remove.
15805 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15806 (tty_turn_off_highlight, get_tty_size): Add declaration.
15807 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15808
15809 * frame.h (enum output_method): Add output_initial.
15810 (struct x_output): Delete.
15811 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15812 Access foreground_pixel and background_pixel directly from the frame.
15813 (tty_display): Delete.
15814 (struct frame): Add buried_buffer_list, foreground_pixel,
15815 background_pixel and terminal. Delete kboard.
15816 (union output_data): Add tty.
15817 (FRAME_KBOARD): Get the kboard from the terminal.
15818 (FRAME_INITIAL_P): New macro.
15819 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15820 (Qterm_environment_variable, Qdisplay_environment_variable)
15821 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15822 New declarations.
15823
15824 * termchar.h (tty_output, tty_display_info): New structures.
15825 (tty_list): Declare.
15826 (FRAME_TTY, CURTTY): New macros.
15827 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15828 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15829 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15830 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15831
15832 * callproc.c: Include frame.h and termhooks.h, for terminal
15833 parameters.
15834 (add_env): New function.
15835 (child_setup): Use it.
15836 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15837 (getenv_internal): Fix get_terminal_param call.
15838 (Fgetenv_internal, egetenv): Update doc.
15839 (syms_of_callproc): Initialize Vprocess_environment to nil.
15840 Register and initialize them. Remove obsolete defvars. Update doc
15841 strings.
15842 (child_setup): Handle Vlocal_environment_variables.
15843 (getenv_internal): Add terminal parameter.
15844 Handle Vlocal_environment_variables.
15845 (Fgetenv_internal): Add terminal parameter.
15846 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15847 environment in a frame (not terminal) parameter. Update doc strings.
15848 (set_initial_environment): Rename from set_global_environment.
15849 Store Emacs environment in initial frame parameter.
15850
15851 * xdisp.c (redisplay_internal): Update references to
15852 `previous_terminal_frame'.
15853 (display_mode_line, Fformat_mode_line): Replace calls to
15854 `push_frame_kboard' with `push_kboard'.
15855 (get_glyph_string_clip_rects): Add extra parentheses and
15856 braces to prevent compiler warnings.
15857 (calc_pixel_width_or_height): Add xassert to check that the
15858 frame is alive. Don't call `lookup_image' on a termcap frame.
15859 (message2_nolog, message3_nolog, redisplay_internal)
15860 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
15861 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
15862 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
15863 (Fx_display_pixel_width, Fx_display_pixel_height)
15864 (Fx_display_planes, Fx_display_color_cells)
15865 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
15866 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
15867 (Fx_display_backing_store, Fx_display_visual_class)
15868 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
15869 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
15870
15871 * xfns.c (x_set_foreground_color x_set_background_color)
15872 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
15873 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15874 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
15875 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
15876 terminal that is being deleted.
15877 (Fx_create_frame): Use `store_frame_param' to set `window-system'
15878 frame parameter, and make sure it overrides any user-supplied setting.
15879 (Fx_close_connection, Fx_synchronize): Unify argument names with
15880 the rest of the DEFUNs.
15881
15882 * dispnew.c (Fsend_string_to_terminal): Update call to
15883 `get_tty_terminal'.
15884 (Fredraw_frame, Fsend_string_to_terminal)
15885 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
15886 FRAME_TERMCAP_P and FRAME_TTY.
15887 (window_change_signal): Don't believe width/height values that are
15888 impossibly small.
15889 (Vinitial_window_system): Rename from Vwindow_system.
15890 (termscript, Wcm, rif): Delete.
15891
15892 * termhooks.h (struct terminal): New struct containing the
15893 previously global text display hooks and new members NAME,
15894 DELETED and PARAM_ALIST.
15895 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
15896 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
15897 (FRAME_RIF): New macros.
15898 (get_terminal_param, get_device): New declarations.
15899 (termscript): Delete declaration.
15900
15901 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
15902 (XTflash, x_free_frame_resources, x_scroll_bar_create)
15903 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
15904 FRAME_FOREGROUND_PIXEL.
15905 (x_fully_uncatch_errors): Disable definition.
15906 (x_scroll_bar_expose): Fix reference to foreground pixel.
15907 (XTread_socket): Disable loop on all X displays.
15908 (x_delete_terminal): Don't set terminal->deleted and let
15909 delete_terminal delete the frames on the terminal.
15910 (x_delete_display): Doc update to reflect changes in
15911 delete_terminal.
15912 (x_display_info) <terminal>: Move member earlier in the struct.
15913 (deleting_tty): Remove old variable.
15914 (Fsuspend_tty): Call clear_tty_hooks.
15915 (Fresume_tty, init_tty): Call set_tty_hooks.
15916 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
15917 errors on X frames.
15918 (x_catch_errors_unwind): Abort if x_error_message is NULL.
15919 (handle_one_xevent): Initialize `f' to NULL.
15920 (x_delete_terminal, x_create_terminal): New functions.
15921 (XTset_terminal_modes, XTreset_terminal_modes)
15922 (XTread_socket, x_connection_closed, x_term_init)
15923 (x_term_init, x_delete_display): Add terminal parameter.
15924 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
15925 X connections.
15926
15927 * frame.c: Include termchar.h.
15928 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
15929 (Qwindow_system, Qenvironment, Qterm_environment_variable)
15930 (Qdisplay_environment_variable): New vars.
15931 (Fframep): Deal with output_initial.
15932 (Fframe-live-p): Doc fix.
15933 (Fwindow-system): New function.
15934 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
15935 (make_terminal_frame): Don't create frames on a terminal that is
15936 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15937 (store_frame_param): Check for found_for_frame before calling XFRAME.
15938 (Fmake_terminal_frame): Handle NULL tty names correctly.
15939 (syms_of_frame): Enhance doc string of `default-frame-alist'.
15940 (Fdelete_frame): Remove unused variable `count'. Don't allow other
15941 frames to refer to a deleted frame in their 'environment parameter.
15942 (Fframe_with_environment): New function.
15943 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
15944 (get_future_frame_param): New function.
15945 (Fmake_terminal_frame): Use it.
15946 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
15947
15948 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
15949 * sysdep.c (reset_sys_modes): Update for renames.
15950
15951 * keyboard.c (tty_read_avail_input): New function.
15952 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
15953 (syms_of_keyboard): Defsubr them.
15954 (Fset_input_meta_mode, Fset_quit_char): New functions.
15955 (Fset_input_mode): Split to above functions.
15956 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
15957 parameter. Use it in call to `read_char'.
15958 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
15959 Set wrong_kboard_jmpbuf correctly in recursive calls.
15960 Use current_kboard to access Vkeyboard_translate_table.
15961 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
15962 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
15963 Update longjmp invocations. Remember the original current_kboard,
15964 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
15965 changes it. Comment out unnecessary calls to
15966 `record_single_kboard_state' and `any_kboard_state'.
15967 Update recursive calls.
15968 (wrong_kboard_jmpbuf): Remove global variable.
15969 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
15970 Handle deleted interrupted_kboards correctly; that is a legal
15971 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
15972 and read_char calls. Abort if interrupted_kboard died in read_char.
15973 (any_kboard_state, single_kboard_state)
15974 (push_frame_kboard): Remove function.
15975 (pop_kboard): Switch out of single_kboard mode if the kboard has
15976 been deleted. Remove unused variable. Help debugging by not
15977 changing current_kboard unnecessarily. Set current_kboard to the
15978 kboard of the selected frame when the stored kboard object has
15979 been deleted before pop_kboard.
15980 (temporarily_switch_to_single_kboard): Change first parameter to a
15981 frame pointer. Throw an error when caller wants to change kboards
15982 while in single_kboard mode. Don't push_kboard if we weren't in
15983 single kboard state. Don't pop_kboard if we popped into any
15984 kboard state.
15985 (restore_kboard_configuration): Abort if pop_kboard changed the
15986 kboard in single_kboard mode. Call pop_kboard only after setting
15987 up single_kboard mode.
15988 (Frecursive_edit): Switch to single_kboard mode only in nested
15989 command loops.
15990 (cmd_error, command_loop, command_loop_1, timer_check):
15991 Comment out unnecessary call to `any_kboard_state' and
15992 `record_single_kboard_state'.
15993 (delete_kboard): Exit single_kboard mode if we have just deleted
15994 that kboard. Use FRAME_KBOARD.
15995 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
15996 `fatal_error_signal'.
15997 (record_single_kboard_state): Don't push_kboard if we weren't in
15998 single kboard state. Don't pop_kboard if we popped into any
15999 kboard state.
16000 (push_frame_kboard): Rename to push_kboard.
16001 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16002 (read_avail_input): Read input from all terminals.
16003 (mark_kboards): Also mark Vkeyboard_translate_table.
16004 (kbd_buffer_store_event_hold): Simplify condition.
16005 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16006 (Vkeyboard_translate_table): Move to struct kboard.
16007 (init_kboard): Initialize Vkeyboard_translate_table.
16008 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16009 Vkeyboard_translate_table. Update doc strings. Update docs of
16010 local-function-key-map and function-key-map.
16011
16012 * terminal.c: New file.
16013
16014 * term.c: Include errno.h.
16015 (Vring_bell_function, device_list, initial_device)
16016 (next_device_id, ring_bell, update_begin, update_end)
16017 (set_terminal_window, cursor_to, raw_cursor_to)
16018 (clear_to_end, clear_frame, clear_end_of_line)
16019 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16020 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16021 (syms_of_term): Move their initialization to terminal.c.
16022 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16023 (Ftty_display_color_cells)
16024 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16025 (clear_tty_hooks, set_tty_hooks)
16026 (init_tty, maybe_fatal): New functions.
16027 (Ftty_type): Return nil if terminal is not on a tty instead of
16028 throwing an error. Doc update.
16029 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16030 Doc update. Initialize new subrs and variables.
16031 (delete_tty): Use terminal->deleted.
16032 (tty_set_terminal_modes): Rename from set_terminal_modes.
16033 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16034 (set_scroll_region): Rename to `tty_set_scroll_region'.
16035 (turn_on_insert): Rename to `tty_turn_on_insert'.
16036 (turn_off_insert): Rename to `tty_turn_off_insert'.
16037 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16038 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16039 (toggle_highligh): Rename to `tty_toggle_highlight'.
16040 (background_highlight): Rename to `tty_background_highlight'.
16041 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16042 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16043 (tty_set_scroll_region, tty_background_highlight)
16044 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16045 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16046 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16047 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16048 Add static modifier.
16049 (tty_reset_terminal_modes, tty_set_terminal_window)
16050 (tty_set_scroll_region, tty_background_highlight)
16051 (tty_highlight_if_desired, tty_cursor_to)
16052 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16053 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16054 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16055 renames.
16056
160572007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16058
16059 * keyboard.c: Qrtl is new.
16060 (parse_tool_bar_item): Handle :rtl keyword.
16061 (syms_of_keyboard): Intern :rtl keyword.
16062
16063 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16064
16065 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16066 so no Lisp code is executed.
16067 (file_for_image, find_rtl_image): New functions.
16068 (xg_get_image_for_pixmap): Use file_for_image.
16069 (update_frame_tool_bar): If direction is RTL, use RTL image if
16070 defined. Use Gtk stock images if defined.
16071
160722007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16073
16074 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16075 for nonexistent or zero-width glyph in composition glyph.
16076
160772007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16078
16079 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16080
16081 * xdisp.c (Finvisible_p): New function.
16082 (syms_of_xdisp): defsubr it.
16083
160842007-08-24 Juanma Barranquero <lekktu@gmail.com>
16085
16086 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16087 Doc fixes.
16088
160892007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16090
16091 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16092
160932007-08-24 Martin Rudalics <rudalics@gmx.at>
16094
16095 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16096 whether decoding has modified buffer contents.
16097
160982007-08-24 Jason Rumney <jasonr@gnu.org>
16099
16100 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16101 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16102 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16103 (init_svg_functions) [HAVE_NTGUI]: New function.
16104 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16105 (svg_load_image): Use them.
16106 (svg_load_image) [HAVE_NTGUI]: Implement background.
16107
161082007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16109
16110 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16111 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16112 (LIBX): Remove @RSVG_LIBS@.
16113 (LIBES): Add $(RSVG_LIBS).
16114
16115 * image.c (svg_load_image): Blend with specified background if exists.
16116 Use IMAGE_BACKGROUND. Add Mac OS Support.
16117
16118 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16119 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16120 Remove macros.
16121 [MAC_OSX] (socket_callback): Do nothing.
16122 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16123 ReceiveNextEvent.
16124 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16125 socket_callback.
16126 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16127
161282007-08-22 Glenn Morris <rgm@gnu.org>
16129
16130 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16131
161322007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16133
16134 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16135
16136 * image.c: Add support for SVG images. Some additional comments
16137 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16138 (svg_image_p): New function to test for SVG image.
16139 (svg_load): New function to load SVG image.
16140 (svg_load_image): New function, helper for svg_load.
16141 (Qsvg): New Lisp_object.
16142 (svg_keyword_index): New enum.
16143 (svg_format): New static `image_keyword' struct.
16144 (svg_type): New static `image_type' struct.
16145 (librsvg/rsvg.h): Include it.
16146
161472007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16148
16149 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16150
161512007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16152
16153 * lread.c (Qold_style_backquotes): New var.
16154 (syms_of_lread): Init and staticpro it.
16155 (load_warn_old_style_backquotes): New fun.
16156 (Fload): Use them to warn about old style backquotes.
16157 (end_of_file_error, Fload): Remove unused vars.
16158
16159 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16160
16161 * lread.c (Vold_style_backquotes): New var.
16162 (syms_of_lread): Init and export it to Elisp.
16163 (read1): Set it when we find an old-style (back)quote.
16164
161652007-08-22 Jason Rumney <jasonr@gnu.org>
16166
16167 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16168
161692007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16170
16171 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16172
161732007-08-19 Richard Stallman <rms@gnu.org>
16174
16175 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16176
161772007-08-19 Andreas Schwab <schwab@suse.de>
16178
16179 * alloc.c (pure): Round PURESIZE up.
16180
161812007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16182
16183 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16184 active frame.
16185
161862007-08-16 Richard Stallman <rms@gnu.org>
16187
16188 * eval.c (Fcommandp): Add parens to clarify.
16189
16190 * minibuf.c (Fall_completions): Use enum for type of table.
16191
16192 * emacs.c (USAGE2): Improve text.
16193
161942007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16195
16196 * term.c (tty_default_color_capabilities): Declare static
16197 variables in file scope, to avoid HPUX compiler problem.
16198
161992007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16200
16201 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16202 to gtk_toolbar_insert.
16203
162042007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16205
16206 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16207
16208 * insdel.c (reset_var_on_error): New fun.
16209 (signal_before_change, signal_after_change):
16210 Use it to reset (after|before)-change-functions to nil in case of error.
16211 Bind inhibit-modification-hooks to t.
16212 Don't bind (after|before)-change-functions to nil while they run.
16213
162142007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16215
16216 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16217 filling pixmap with stippled background.
16218
162192007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16220
16221 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16222 Don't use invisible frame as parent window for repositioning.
16223
162242007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16225
16226 * print.c (new_backquote_output): Rename from old_backquote_output.
16227 (print): Inverse its logic (according to its name) so as to match the
16228 behavior of new_backquote_flag in lread.c.
16229
162302007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16231
16232 * gmalloc.c (posix_memalign): New function.
16233
16234 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16235 ActivateControl/DeactivateControl here.
16236 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16237 frame-notice-user-settings is non-nil.
16238 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16239 for kEventParamFMFontStyle.
16240 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16241 mac_pass_command_to_system and mac_pass_control_to_system here.
16242 (XTread_socket): Call ActivateControl/DeactivateControl here.
16243 (XTread_socket) [TARGET_API_MAC_CARBON]:
16244 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16245 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16246 for window repositioning.
16247
162482007-08-08 Glenn Morris <rgm@gnu.org>
16249
16250 * Replace `iff' in doc-strings and comments.
16251
162522007-08-07 Chong Yidong <cyd@stupidchicken.com>
16253
16254 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16255
162562007-08-07 Martin Rudalics <rudalics@gmx.at>
16257
16258 * fileio.c (Finsert_file_contents): Run format-decode and
16259 after_insert_file_functions on entire buffer when REPLACE is
16260 non-nil and inhibit modification_hooks and point_motion_hooks.
16261 For consistency, run after_insert_file_functions iff something
16262 got inserted. Move signal_after_change and update_compositions
16263 after code running after_insert_file_functions. Make sure that
16264 undo_list doesn't record intermediate steps of the decoding process.
16265
162662007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16267
16268 * emacs.c (main)
16269 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16270 Call malloc_enable_thread on interactive startup.
16271
16272 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16273 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16274 [USE_PTHREAD]: Conditionalize with it.
16275 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16276 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16277 New functions.
16278
162792007-08-06 Chong Yidong <cyd@stupidchicken.com>
16280
16281 * xdisp.c (redisplay_window): When restoring original buffer
16282 position, make sure it is still valid.
16283
16284 * image.c (png_load): Ignore png-supplied background color.
16285
162862007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16287
16288 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16289 Use kCFAbsoluteTimeIntervalSince1970.
16290
16291 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16292 New variable.
16293 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16294 event loop should be quit.
16295 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16296 Quit dialog event loop if quit_dialog_event_loop is set.
16297
16298 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16299 (Selection): New typedef. Use instead of ScrapRef.
16300 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16301 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16302 (mac_clear_selection): Rename from clear_scrap.
16303 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16304 scrap_has_target_type. All uses changed.
16305 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16306 (mac_selection_has_target_p): New functions.
16307 (mac_put_selection_value): Rename from put_scrap_string.
16308 (mac_get_selection_value): Rename from get_scrap_string.
16309 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16310 (put_scrap_private_timestamp, scrap_has_target_type)
16311 (get_scrap_private_timestamp): Remove functions.
16312 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16313 (x_own_selection, x_get_local_selection):
16314 Use mac_valid_selection_value_p.
16315 (x_own_selection): Don't use put_scrap_private_timestamp.
16316 Record OWNERSHIP-INFO into Vselection_alist instead.
16317 (x_get_local_selection): Don't check type if request is local.
16318 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16319 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16320
163212007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16322
16323 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16324 add comment explaining why.
16325
163262007-08-03 Richard Stallman <rms@gnu.org>
16327
16328 * fileio.c (Fvisited_file_modtime): Use make_time.
16329
163302007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16331
16332 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16333 build.
16334
163352007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16336
16337 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16338
163392007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16340
16341 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16342
163432007-07-30 Richard Stallman <rms@gnu.org>
16344
16345 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16346
163472007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16348
16349 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16350
163512007-07-28 Nick Roberts <nickrob@snap.net.nz>
16352
16353 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16354 remote default-directory.
16355
16356 * buffer.c (mode-line-format): Update doc string.
16357
163582007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16359
16360 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16361 scroll bar gap.
16362 (x_scroll_bar_create): Set bar->fringe_extended_p.
16363 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16364 on frame edge. Check fringe background extension. Don't clear
16365 extended fringe background area.
16366
16367 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16368 (w32_fill_area): Enclose multiple statements with do ... while (0).
16369
16370 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16371 Extend fringe background to scroll bar gap.
16372 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16373 Set bar->fringe_extended_p.
16374 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16375 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16376 background extension. Don't clear extended fringe background area.
16377
16378 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16379 New member fringe_extended_p.
16380
163812007-07-25 Glenn Morris <rgm@gnu.org>
16382
16383 * Relicense all FSF files to GPLv3 or later.
16384
16385 * COPYING: Switch to GPLv3.
16386
163872007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16388
16389 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16390
16391 * data.c (Finteractive_form): Check for the presence of an
16392 `interactive-form' symbol property more thoroughly.
16393
16394 * data.c (Finteractive_form): Use an `interactive-form' property if
16395 present, analogous to the function-documentation property.
16396
163972007-07-24 Jason Rumney <jasonr@gnu.org>
16398
16399 * w32fns.c (x_real_positions): Get real position from OS instead of
16400 calculating it.
16401
164022007-07-23 Jason Rumney <jasonr@gnu.org>
16403
16404 * filelock.c (current_lock_owner): Allow for @ sign in username.
16405
164062007-07-22 Nick Roberts <nickrob@snap.net.nz>
16407
16408 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16409 remote default-directory.
16410
16411 * buffer.c (mode-line-format): Describe above case in doc string.
16412
164132007-07-20 Eli Zaretskii <eliz@gnu.org>
16414
16415 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16416 Define if not defined.
16417
164182007-07-18 Jason Rumney <jasonr@gnu.org>
16419
16420 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16421
164222007-07-18 Richard Stallman <rms@gnu.org>
16423
16424 * data.c (Fsetq_default): Doc fix.
16425
16426 * eval.c (Fsetq): Doc fix.
16427
164282007-07-18 Juanma Barranquero <lekktu@gmail.com>
16429
16430 * coding.c (Ffind_operation_coding_system):
16431 * eval.c (For, Fand): Doc fixes.
16432 Reported by Johan Bockgård.
16433
164342007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16435
16436 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16437
16438 * xterm.h: Declare x_ewmh_activate_frame.
16439
16440 * xterm.c (x_ewmh_activate_frame): New function.
16441 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16442
164432007-07-17 Martin Rudalics <rudalics@gmx.at>
16444
16445 * window.c (Fdisplay_buffer): If largest or LRU window is the
16446 only window, split it even if it is not eligible for splitting.
16447 This restores the original behavior broken by the 2007-07-15
16448 change.
16449
164502007-07-17 Glenn Morris <rgm@gnu.org>
16451
16452 * abbrev.c (abbrev_check_chars): New function.
16453 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16454 Call abbrev_check_chars to check abbrev characters are word
16455 constituents. Doc fix.
16456
164572007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16458
16459 * process.c (Fstart_process, Fmake_network_process)
16460 (read_process_output): Fix up last changes.
16461
164622007-07-16 Eli Zaretskii <eliz@gnu.org>
16463
16464 * makefile.w32-in (clean): Don't delete *~.
16465
164662007-07-16 Andreas Schwab <schwab@suse.de>
16467
16468 * window.c (Fdisplay_buffer): Use NILP.
16469 (Fset_window_scroll_bars): Likewise.
16470
164712007-07-15 Martin Rudalics <rudalics@gmx.at>
16472
16473 * window.c (window_min_size_2): New function.
16474 (window_min_size_1, size_window, Fdisplay_buffer)
16475 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16476 windows without mode- or header-lines when window-min-height is
16477 too small.
16478 (size_window): Reset nodelete_p after testing it, following an
16479 earlier note by Kim F. Storm.
16480 (display_buffer): Do not set split_height_threshold to twice the
16481 value of window_min_height to avoid changing the value of a
16482 customizable variable. Rather explicitly check whether the
16483 height of the window that shall be splitted is at least as large
16484 as split_height_threshold.
16485 (Fwindow_full_width_p): New defun.
16486 (syms_of_window): Defsubr it.
16487
16488 * window.h: Add EXFUN for Fwindow_full_width_p.
16489
164902007-07-14 Jason Rumney <jasonr@gnu.org>
16491
16492 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16493
164942007-07-14 Richard Stallman <rms@gnu.org>
16495
16496 * eval.c (maybe_call_debugger): New function.
16497 (find_handler_clause): Use maybe_call_debugger.
16498 Call it when the handler says `debug'.
16499 Eliminate DEBUGGER_VALUE_PTR.
16500 (Fsignal): Eliminate debugger_value.
16501 (Qdebug): New variable.
16502 (syms_of_eval): Initialize it.
16503
165042007-07-14 Juanma Barranquero <lekktu@gmail.com>
16505
16506 * eval.c (Fprogn):
16507 * keyboard.c (Ftrack_mouse):
16508 * print.c (Fwith_output_to_temp_buffer):
16509 * window.c (Fsave_window_excursion): Doc fix.
16510
165112007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16512
16513 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16514
165152007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16516
16517 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16518 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16519 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16520 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16521 Remove unused encoding_carryover.
16522 * process.c: Adjust all functions accordingly.
16523
165242007-07-12 Richard Stallman <rms@gnu.org>
16525
16526 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16527
165282007-07-11 Jason Rumney <jasonr@gnu.org>
16529
16530 * makefile.w32-in (LIBS): Include OLE32.
16531
16532 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16533 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16534
165352007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16536
16537 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16538 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16539 from a Lisp_Object into a bare pointer.
16540 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16541 Adjust the code correspondingly.
16542
16543 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16544
16545 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16546 (term_show_mouse_face): Remove unused var `j'.
16547 (handle_one_term_event): Remove unused vars `i' and `j'.
16548 Don't cast return value of ttyname since it's not necessary.
16549
165502007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16551
16552 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16553 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16554
16555 * fns.c (map_char_table): Use an array of int for `indices' rather than
16556 an array of Lisp_Objects (which are only ever integers anyway).
16557 (Fmap_char_table): Update caller.
16558 * lisp.h: Update prototype.
16559 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16560 * fontset.c (Ffontset_info):
16561 * casetab.c (set_case_table): Update callers.
16562
16563 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16564
16565 * keymap.c (struct accessible_keymaps_data)
16566 (struct where_is_internal_data): New structures.
16567 (accessible_keymaps_1, where_is_internal_1): Use them to change
16568 interface to adhere to the one used by map_keymap.
16569 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16570 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16571
16572 * keymap.h (map_keymap_function_t): More informative prototype.
16573
165742007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16575
16576 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16577 (looking_at_1): Don't change search_regs and last_thing_searched
16578 if `inhibit-changing-match-data' is non-nil.
16579 (string_match_1, search_buffer, set_search_regs): Likewise.
16580 (syms_of_search): Add Lisp level definition for
16581 `inhibit-changing-match-data' and set it to nil.
16582 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16583 start and end of the match, instead of using values in search_regs.
16584
165852007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16586
16587 * minibuf.c (Fcompleting_read): New value `confirm-only'
16588 for `require-match'.
16589
165902007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16591
16592 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16593 part of the 2007-06-27 change to syms_of_fileio.
16594
165952007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16596
16597 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16598 Check WINDOWP before using XWINDOW. Consolidate return statements.
16599
166002007-06-27 Richard Stallman <rms@gnu.org>
16601
16602 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16603
166042007-06-27 Juanma Barranquero <lekktu@gmail.com>
16605
16606 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16607
166082007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16609
16610 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16611 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16612 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16613 (_free_internal, memalign): Use them.
16614 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16615 Initialize to PTHREAD_MUTEX_INITIALIZER.
16616 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16617 (morecore_nolock): Rename from morecore. All uses changed.
16618 Use only nolock versions of internal allocation functions.
16619 (_malloc_internal_nolock, _realloc_internal_nolock)
16620 (_free_internal_nolock): New functions created from
16621 _malloc_internal, _realloc_internal, and _free_internal.
16622 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16623 Copy hook value to automatic variable before its use.
16624 (memalign): Copy hook value to automatic variable before its use.
16625
166262007-06-26 Kenichi Handa <handa@m17n.org>
16627
16628 * coding.c (Ffind_operation_coding_system): Docstring improved.
16629 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16630
166312007-06-25 David Kastrup <dak@gnu.org>
16632
16633 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16634 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16635 cater for additional parameter.
16636
16637 * keymap.h: Adjust number of parameters to `current-active-maps'.
16638
16639 * doc.c (Fsubstitute_command_keys): Adjust call of
16640 `current-active-maps'.
16641
166422007-06-25 David Kastrup <dak@gnu.org>
16643
16644 * callint.c (Fcall_interactively): Make the parsing of interactive
16645 specs somewhat more readable.
16646
166472007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16648
16649 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16650 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16651 if extended background has already been filled.
16652
166532007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16654
16655 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16656 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16657
16658 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16659 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16660 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16661 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16662 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16663 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16664 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16665 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16666 Run timers during dialog popup.
16667 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16668
166692007-06-21 Jason Rumney <jasonr@gnu.org>
16670
16671 * image.c (convert_mono_to_color_image): Swap fore and background.
16672
166732007-06-20 Jason Rumney <jasonr@gnu.org>
16674
16675 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16676 (w32_free_bdf_font): Unmap memory not handle.
16677
166782007-06-20 Sam Steingold <sds@gnu.org>
16679
16680 * gmalloc.c (__morecore): Fix the declaration to comply with the
16681 definition.
16682
166832007-06-20 Juanma Barranquero <lekktu@gmail.com>
16684
16685 * w32term.c (w32_delete_display): Remove leftover declaration.
16686 (w32_define_cursor, w32_initialize): Make static.
16687
16688 * w32.c (_wsa_errlist): Fix typo in error message.
16689 (init_environment): Ignore any environment variable from the
16690 registry having a null value.
16691
166922007-06-20 Glenn Morris <rgm@gnu.org>
16693
16694 * Makefile.in (LIBGIF): Default to -lgif.
16695
166962007-06-17 Jason Rumney <jasonr@gnu.org>
16697
16698 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16699 unicode strings.
16700
167012007-06-16 Juanma Barranquero <lekktu@gmail.com>
16702
16703 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16704 Fix typo in docstring.
16705
167062007-06-16 Eli Zaretskii <eliz@gnu.org>
16707
16708 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16709 and their keybindings.
16710
167112007-06-15 Chong Yidong <cyd@stupidchicken.com>
16712
16713 * composite.c (update_compositions): Fix last fix.
16714
167152007-06-14 Jason Rumney <jasonr@gnu.org>
16716
16717 * w32.c (get_process_times_fn): New function pointer.
16718 (globals_of_w32): Intialize it if present in kernel32.dll.
16719 (w32_get_internal_run_time): New function.
16720
16721 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16722
167232007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16724
16725 * composite.c (update_compositions): Check the validness of
16726 compositions.
16727
167282007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16729
16730 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16731 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16732
16733 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16734 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16735
16736 * macgui.h (USE_MAC_TOOLBAR): New define.
16737
16738 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16739 Return immediately unless popup is activated.
16740
16741 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16742 background to scroll bar gap.
16743 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16744 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16745 scroll bars on frame edge. Check fringe background extension.
16746 Don't clear extended fringe background area.
16747 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16748 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16749 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16750 [USE_MAC_TOOLBAR]: New macros.
16751 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16752 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16753 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16754 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16755 [USE_MAC_TOOLBAR]: New functions.
16756 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16757 manually if previous repositioning has failed.
16758 (mac_handle_keyboard_event): Use precomputed event kind.
16759 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16760 as tool bar item click. Handle mouse movement over tool bar items.
16761
16762 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16763 toolbar_win_gravity.
16764 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16765 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16766 Add externs.
16767
16768 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16769 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16770
167712007-06-14 Chong Yidong <cyd@stupidchicken.com>
16772
16773 * image.c (search_image_cache): Remove unused variable.
16774
167752007-06-13 Chong Yidong <cyd@stupidchicken.com>
16776
16777 * xfns.c, xmenu.c: Link to xaw3d if available.
16778
167792007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16780
16781 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16782 frame_foreground and frame_background.
16783
16784 * image.c (lookup_image): Save frame foreground and background colors.
16785 (search_image_cache): Check if saved and current frame colors match.
16786
167872007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16788
16789 * regex.c (regex_compile): Remove the `regnum' counter.
16790 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16791
167922007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16793
16794 * term.c: Include intervals.h to declare Fget_text_property.
16795
167962007-06-10 Jason Rumney <jasonr@gnu.org>
16797
16798 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16799
168002007-06-08 Juanma Barranquero <lekktu@gmail.com>
16801
16802 * callint.c (Fcall_interactively):
16803 * editfns.c (Fdelete_and_extract_region):
16804 * fileio.c (Fread_file_name):
16805 * fns.c (Fmapconcat):
16806 * keyboard.c (cmd_error_internal):
16807 * keymap.c (Fkey_description):
16808 * lread.c (openp):
16809 * minibuf.c (read_minibuf):
16810 * search.c (wordify):
16811 * sunfns.c (sel_read):
16812 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16813 * xfns.c (x_default_scroll_bar_color_parameter):
16814 * xmenu.c (menu_help_callback):
16815 * xselect.c (Fx_get_atom_name):
16816 * xterm.c (x_term_init): Use empty_unibyte_string.
16817
168182007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16819
16820 * alloc.c (init_strings): Initialize canonical empty strings.
16821 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16822 canonical empty string when the requested size is 0.
16823
16824 * emacs.c (empty_unibyte_string): Rename from empty_string.
16825 (empty_multibyte_string): New canonical empty string.
16826 (syms_of_emacs): Don't initialize empty_string.
16827
16828 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16829 string, if appropriate.
16830 (empty_unibyte_string, empty_multibyte_string): New externs.
16831 (empty_string): Remove extern.
16832
16833 * lread.c (syms_of_lread): Use empty_unibyte_string.
16834
168352007-06-07 Jason Rumney <jasonr@gnu.org>
16836
16837 * s/ms-w32.h: Don't define HAVE_TZNAME.
16838
16839 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16840
168412007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16842
16843 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16844
16845 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16846 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16847
16848 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16849 Don't call next handler.
16850 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16851 Remove argument. Install handler to application.
16852 (set_frame_menubar): Don't change deep_p.
16853 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16854 FRAME_OUTER_TO_INNER_DIFF_Y.
16855 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
16856 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
16857 [HAVE_DIALOGS]: New macros.
16858 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
16859 Use them.
16860 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
16861
16862 * macselect.c [MAC_OSX] (install_service_handler): Rename from
16863 init_service_handler. All callers changed. Return OSStatus value.
16864
16865 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
16866 All callers changed so as not to call SetPortWindowPort.
16867 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
16868 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
16869 mac_draw_string_common.
16870 (mac_draw_image_string_qd): Likewise.
16871 (mac_draw_string_common): Use them. Add INLINE.
16872 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
16873 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
16874 GetGlobalMouse.
16875 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
16876 and FRAME_OUTER_TO_INNER_DIFF_Y.
16877 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
16878 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
16879 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
16880 repositioning window to mac_handle_window_event.
16881 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
16882 saving window location to mac_handle_window_event
16883 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
16884 (install_menu_target_item_handler): Remove argument in extern.
16885 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
16886 Also accept command events.
16887 (do_keystroke): New function created from XTread_socket.
16888 (init_command_handler): Remove functions.
16889 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
16890 and save window location by kEventWindowShowing and kEventWindowHiding
16891 handlers here. Don't call next handler for window state change and
16892 focus events.
16893 (mac_handle_application_event, mac_handle_keyboard_event)
16894 [TARGET_API_MAC_CARBON]: New functions.
16895 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
16896 kEventWindowShowing and kEventWindowHiding events. Move installation
16897 of mouse, font, text input and menu target item handlers to
16898 install_application_handler.
16899 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
16900 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16901 New function.
16902 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
16903 Register it.
16904 (XTread_socket) [TARGET_API_MAC_CARBON]:
16905 Consolidate SendEventToEventTarget calls.
16906 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
16907 Move application activation handler to mac_handle_application_event.
16908 Move keyboard handler to mac_handle_keyboard_event.
16909 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
16910 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
16911 init_command_handler. Call install_application_handler.
16912
16913 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
16914 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
16915
169162007-06-07 Glenn Morris <rgm@gnu.org>
16917
16918 * emacs.c (main): Use `emacs-copyright' in --version output.
16919
169202007-06-06 Chong Yidong <cyd@stupidchicken.com>
16921
16922 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
16923
169242007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16925
16926 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
16927
16928 * macgui.h: Replace WindowPtr with WindowRef.
16929
16930 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16931 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16932 Replace ControlHandle with ControlRef.
16933 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
16934
16935 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
16936 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
16937 Replace ControlHandle with ControlRef.
16938 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
16939 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
16940
16941 * macterm.h (struct scroll_bar): Rename member control_handle_low
16942 and control_handle_high to control_ref_low and control_ref_high.
16943 All uses changed.
16944 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
16945 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
16946 respectively. All uses changed.
16947 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
16948 (install_window_handler, remove_window_handler): Replace WindowPtr
16949 with WindowRef in externs.
16950
169512007-06-05 Juanma Barranquero <lekktu@gmail.com>
16952
16953 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
16954
169552007-06-03 Nick Roberts <nickrob@snap.net.nz>
16956
16957 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
16958
16959 * frame.c (Fmouse_position, Fmouse_pixel_position):
16960 Condition on HAVE_GPM too.
16961
16962 * term.c (term_mouse_highlight): Remove unused variables.
16963 (Fterm_open_connection): Set gpm_zerobased to 1.
16964 (term_mouse_movement, term_mouse_click, handle_one_term_event):
16965 Use zero based co-ordinates.
16966 (handle_one_term_event): Report a drag as mouse movement too.
16967
16968 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
16969
169702007-06-03 Chong Yidong <cyd@stupidchicken.com>
16971
16972 * image.c (search_image_cache): New function. Require background
16973 color match if background color is unspecified in the image spec.
16974 (uncache_image, lookup_image): Use it.
16975
169762007-06-01 Juanma Barranquero <lekktu@gmail.com>
16977
16978 * window.c (Fshrink_window): Reflow docstring.
16979
169802007-06-02 Chong Yidong <cyd@stupidchicken.com>
16981
16982 * Version 22.1 released.
16983
169842007-06-01 Richard Stallman <rms@gnu.org>
16985
16986 * xfns.c (x_encode_text): Add GCPRO.
16987
169882007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16989
16990 * xfns.c (x_set_name_internal): Save encoded name before
16991 x_encode_text in case string data is relocated.
16992
169932007-05-31 Richard Stallman <rms@gnu.org>
16994
16995 * buffer.c (syms_of_buffer): Doc fix.
16996
169972007-05-30 Nick Roberts <nickrob@snap.net.nz>
16998
16999 * sysdep.c (init_sys_modes): Add rather than replace with
17000 O_NONBLOCK.
17001
17002 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17003 term_mouse_moveto.
17004
17005 * termhooks.h (term_mouse_moveto): New extern.
17006
17007 * term.c (mouse_face_window): Rename...
17008 (Qmouse_face_window): ...to this.
17009 (term_show_mouse_face, term_clear_mouse_face)
17010 (term_mouse_highlight): Use Qmouse_face_window.
17011 (term_mouse_moveto): New function.
17012 (term_mouse_position): Make it work.
17013 (syms_of_term): Uncomment assignment to mouse_position_hook.
17014 Staticpro Qmouse_face_window.
17015
170162007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17017
17018 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17019 around current_column call.
17020
170212007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17022
17023 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17024 * xdisp.c (next_element_from_buffer):
17025 * window.c (delete_window):
17026 * term.c (term_mouse_highlight):
17027 * msdos.c (getdefdir):
17028 * macterm.c (mac_create_bitmap_from_bitmap_data)
17029 (init_font_name_table):
17030 * fns.c (Fsxhash):
17031 * data.c (Fmake_local_variable):
17032 * ccl.c (ccl_driver): Likewise.
17033
170342007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17035
17036 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17037 Call mac_wakeup_from_rne on window size change.
17038
170392007-05-25 Chong Yidong <cyd@stupidchicken.com>
17040
17041 * image.c (uncache_image): Fix typo.
17042
170432007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17044
17045 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17046
170472007-05-22 Richard Stallman <rms@gnu.org>
17048
17049 * xterm.c (x_connection_closed): Remove NO_RETURN.
17050
170512007-05-22 Martin Rudalics <rudalics@gmx.at>
17052
17053 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17054
170552007-05-21 Chong Yidong <cyd@stupidchicken.com>
17056
17057 * image.c (uncache_image): New function.
17058 (Fimage_refresh): New function.
17059
170602007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17061
17062 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17063
170642007-05-20 Nick Roberts <nickrob@snap.net.nz>
17065
17066 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17067 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17068
170692007-05-20 Nick Roberts <nickrob@snap.net.nz>
17070
17071 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17072 conditional on [HAVE_GPM_H].
17073
170742007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17075
17076 * syntax.c (skip_chars): Update syntax-table only after we checked that
17077 the new location is valid.
17078
170792007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17080
17081 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17082 mac_get_window_bounds.
17083
170842007-05-20 Nick Roberts <nickrob@snap.net.nz>
17085
17086 * Makefile.in (LIBGPM): Allow it to be set from configure.
17087 If set then link Emacs with it.
17088
17089 * config.in: Regenerate.
17090
17091 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17092 New externs.
17093
17094 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17095 Include gpm.h.
17096 (handle_one_term_event, term_gpm): New externs.
17097
17098 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17099 and allow it to be interrupted by SIGIO.
17100
17101 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17102 (wait_reading_process_output): Wait on gpm_fd too.
17103 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17104 (add_gpm_wait_descriptor_called_flag): New variable.
17105 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17106
17107 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17108 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17109 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17110 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17111 (make_lispy_event): Add case GPM_CLICK_EVENT.
17112 (read_avail_input): Handle mouse input.
17113
17114 * term.c (write_glyphs_with_face): New function.
17115 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17116 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17117 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17118 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17119 (last_mouse_x, last_mouse_y): New variables.
17120 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17121 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17122 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17123 (Fterm_close_connection): New functions.
17124 (term_init): Initialise mouse_face_window.
17125
171262007-05-19 Chong Yidong <cyd@stupidchicken.com>
17127
17128 * xdisp.c (redisplay_window): If first window line is a
17129 continuation line, recompute the new window start instead of
17130 recentering.
17131
171322007-05-18 Glenn Morris <rgm@gnu.org>
17133
17134 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17135 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17136
171372007-05-17 Glenn Morris <rgm@gnu.org>
17138
17139 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17140
171412007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17142
17143 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17144 dead key repeat and up events.
17145
171462007-05-14 Chong Yidong <cyd@stupidchicken.com>
17147
17148 * image.c (pbm_load): Check image size for monochrome pbm.
17149
171502007-05-13 Chong Yidong <cyd@stupidchicken.com>
17151
17152 * xterm.c (XTread_socket): Revert last change.
17153
171542007-05-12 Chong Yidong <cyd@stupidchicken.com>
17155
17156 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17157
17158 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17159
171602007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17161
17162 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17163 mixup (YAILOM).
17164
171652007-05-07 Andreas Schwab <schwab@suse.de>
17166
17167 * keymap.c (Flookup_key): Fix typo in last change.
17168
171692007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17170
17171 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17172 mapping for unibyte strings.
17173
171742007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17175
17176 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17177 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17178
171792007-04-29 Richard Stallman <rms@gnu.org>
17180
17181 * insdel.c (replace_range): For undo, record insertion first.
17182
171832007-04-29 Andreas Schwab <schwab@suse.de>
17184
17185 * lisp.h (VECSIZE): Use OFFSETOF.
17186
171872007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17188
17189 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17190 disabled lines.
17191
171922007-04-28 Richard Stallman <rms@gnu.org>
17193
17194 * lread.c (read_escape): In a string, \s is always space.
17195
171962007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17197
17198 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17199
17200 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17201 submenu for menu bar items.
17202
17203See ChangeLog.10 for earlier changes.
17204
17205;; Local Variables:
17206;; coding: utf-8
17207;; add-log-time-zone-rule: t
17208;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17209;; End:
17210
76b6f707 17211 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17212
17213 This file is part of GNU Emacs.
17214
17215 GNU Emacs is free software: you can redistribute it and/or modify
17216 it under the terms of the GNU General Public License as published by
17217 the Free Software Foundation, either version 3 of the License, or
17218 (at your option) any later version.
17219
17220 GNU Emacs is distributed in the hope that it will be useful,
17221 but WITHOUT ANY WARRANTY; without even the implied warranty of
17222 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17223 GNU General Public License for more details.
17224
17225 You should have received a copy of the GNU General Public License
17226 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17227
17228;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40