(detect_eol, decode_eol): Handle text with DOS-style EOLs that also has
[bpt/emacs.git] / src / ChangeLog
CommitLineData
75f4f1ac
EZ
12009-01-30 Eli Zaretskii <eliz@gnu.org>
2
3 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
4 EOLs that also has stray ^M characters.
5
07a1e794
JB
62009-01-30 Juanma Barranquero <lekktu@gmail.com>
7
8 * atimer.c (run_timers, alarm_signal_handler):
9 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
10 * w32inevt.c (w32_console_read_socket):
11 * w32term.c (w32_read_socket):
12 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
13
a8b11cc9
CY
142009-01-30 Chong Yidong <cyd@stupidchicken.com>
15
16 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
17 Initialize it as a relative filename pattern.
18 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
19 (Fcall_process_region): Simplify temp file creation using
20 temporary-file-directory.
21
c279587b
EZ
222009-01-29 Eli Zaretskii <eliz@gnu.org>
23
24 * msdos.c: Rename pending_signals to msdos_pending_signals.
25 (sig_suspender, sigprocmask): Adjust.
26
a8fe3242
CY
272009-01-29 Chong Yidong <cyd@stupidchicken.com>
28
29 * keyboard.c (pending_signals): New var.
30 (poll_for_input, input_available_signal, init_keyboard): Set it.
31 (process_pending_signals): New function.
32
33 * lisp.h (QUIT): Check pending_signals instead of
34 interrupt_input_pending. Use process_pending_signals.
35
36 * atimer.c (run_timers, alarm_signal_handler): Update
37 pending_signals.
38
39 * process.c (wait_reading_process_output): Use
40 process_pending_signals.
41
42 * sysdep.c (emacs_write): Use process_pending_signals.
43
44 * xterm.c (XTread_socket): Update pending_signals.
45
46 * w32term.c (w32_read_socket): Update pending_signals.
47
48 * w32inevt.c (w32_console_read_socket): Update pending_signals.
49
6570a1c4
KH
502009-01-29 Kenichi Handa <handa@m17n.org>
51
52 * xftfont.c (xftfont_has_char): New function.
53 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
54
d72a4afa
AR
552009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
56
57 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
58 under GNUstep.
59 (ns_query_color): New declaration.
60
61 * nsterm.m (ns_confirm_quit): New variable.
62 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
63 (EmacsApp-applicationShouldTerminate:): Use it.
64 (EmacsPrefsController): Let user set it.
65 (ns_query_color): New function.
66 (ns_defined_color): Use it.
67 (ns_initialize): Drop.
68 (ns_term_init): Add two lines from ns_initialize(), and set
69 input_interrupt_mode to nil.
70
71 * image.c (svg_load_image): Don't right-shift background RGB when
72 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
73
9fe78804
KH
742009-01-28 Kenichi Handa <handa@m17n.org>
75
76 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
77 (fontset_get_font_group): Remember that no font-group is specified
78 for C.
9fe78804 79
fa57de36
CY
802009-01-27 Chong Yidong <cyd@stupidchicken.com>
81
930600e9
CY
82 * fns.c (concat): Check for string overflow (bug#1787).
83
fa57de36
CY
84 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
85 Quadruple undo limits (bug#1501).
86
7179ce7b
KH
872009-01-27 Kenichi Handa <handa@m17n.org>
88
89 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
90 directly use GT_Get_Char_index.
91
92 * xftfont.c (struct xftfont_info): New member `index'.
93
94 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
95 (Ffontset_font): Adjusted for the change of fontset entry.
96
5be8fcc0
CY
972009-01-26 Kenichi Handa <handa@m17n.org>
98
99 * fontset.c (fontset_find_font): Fix handling of non-cons return
100 value of fontset_get_font_group.
101 (fontset_font): Revert last change.
102
19ae3e61
JR
1032009-01-26 Jason Rumney <jasonr@gnu.org>
104
105 * w32font.c (w32font_list_internal): Return quickly if registry is
106 unknown. Simplify final return.
107 (add_font_entity_to_list): Break complex logic down into more
108 manageable chunks. Move unknown registry check to
109 w32font_list_internal.
110
8612b71a
AR
1112009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
112
113 Changes to remove Feval calls from GUI under NS.
114
d8038940
JB
115 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
116 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
117 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
118
119 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
120 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
121 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
122 instead of NON_ASCII_KEYSTROKE_EVENT.
123 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
124 (EmacsApp-applicationShouldTerminate:): Query user.
125 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
126 instead of Feval.
127
128 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
129
130 * keyboard.c (kbd_buffer_get_event): Check for it.
131 (keys_of_keyboard): Define lispy keys for
132 ns-put/unput-working-text.
133
134 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
135 versions.
136 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
137
6288ae55
CY
1382009-01-25 Chong Yidong <cyd@stupidchicken.com>
139
140 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 141 setting current_buffer directly. (Bug#2044)
6288ae55 142
289e7f8f
CY
1432009-01-24 Chong Yidong <cyd@stupidchicken.com>
144
5ce87308 145 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 146 any work. (Bug#1952, bug#1990).
5ce87308 147
64cc3cf6 148 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 149
b3243e6f
AR
1502009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
151
152 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
153 (ns_no_defaults): New declaration.
154 (main): Use it.
e0d2e69a 155
d900b2af 156 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 157
d900b2af 158 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 159
d900b2af
AR
160 * nsterm.m (ns_no_defaults): New variable.
161 (ns_initialize): Don't read defaults when ns_no_defaults.
162 (EmacsView-readSelectionFromPasteboard:)
163 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 164 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
165 (ns_dumpglyphs_stretch): New function.
166 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 167 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 168
e0d2e69a
AR
169 * nsimage.m (setPixmapData:): Set to ignore image DPI.
170
3ac71f5d
CY
1712009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
172
173 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
174 call for Sparc64.
175
3fe53a83
AR
1762009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
177
178 * nsfns.m:
179 * nsgui.h:
180 * nsmenu.m:
181 * nsselect.m:
182 * nsterm.h:
183 * nsterm.m: Remove '23' comments that indicated code added during
184 update from emacs-20 -> emacs-23.
185
10f87c6f 1862009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
187
188 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 189 ns_alternate_modifier. (Bug#1217)
a3b53a85 190
c7cef62d
AR
191 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
192 Display all shortcuts, including those w/o super modifier.
193
575fb8bd
AR
194 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
195
918b848b
CY
1962009-01-22 Chong Yidong <cyd@stupidchicken.com>
197
198 * fileio.c (Vwrite_region_post_annotation_function)
199 (Vwrite_region_annotation_buffers): New vars.
200 (build_annotations_unwind): Just reset
201 Vwrite_region_annotation_buffers.
202 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
203 Call write-region-post-annotation-function.
204 (build_annotations): Add to Vwrite_region_annotation_buffers if
205 buffer changes.
206
a39e2539
AR
2072009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
208
209 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
210 Tiger.
211 * nsfns.m (ns_do_applescript): Conditionalize
212 typeUTF16ExternalRepresentation on Tiger.
213
35ed44db
AR
2142009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
215
216 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
217
cbe0b5bf
AR
2182009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
219
220 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 221
6049d3a0
AR
222 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
223
224 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
225 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
226 handle Ctrl-tab. (Bug#1841)
227 (ns_get_color): Use unsigned long long for scanned hex string value.
228 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 229 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 230 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 231 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 232 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 233 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 234 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 235
d3810c21 236 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 237 DPI. (Bug#1316)
d3810c21
AR
238 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
239 values in onTiger section.
4c7077c3 240
e301e634
CY
2412009-01-19 Chong Yidong <cyd@stupidchicken.com>
242
7f82490b
CY
243 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
244 Check return value of font_spec_from_name.
64cc3cf6 245 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
246
247 * font.c (font_spec_from_name): Return Qnil if font name could not
248 be parsed.
249 (font_parse_name): Treat a `?' character as part of an XLFD.
250
e301e634
CY
251 * fns.c (Fsubstring): Doc fix.
252
1c0db158
KH
2532009-01-19 Kenichi Handa <handa@m17n.org>
254
255 * ftfont.c (ftfont_lookup_cache): Check the return value of
256 FcFontList.
257 (ftfont_list): Likewise.
258
acf20901
JB
2592009-01-18 Juanma Barranquero <lekktu@gmail.com>
260
fff4e459
JB
261 * dbusbind.c (Fdbus_register_signal):
262 * process.c (conv_sockaddr_to_lisp):
263 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
264
acf20901
JB
265 * callproc.c (Fgetenv_internal): Doc fix.
266
e7abcdfb
CY
2672009-01-16 Chong Yidong <cyd@stupidchicken.com>
268
269 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
270 it is not even used.
271
b60861e6
GM
2722009-01-16 Glenn Morris <rgm@gnu.org>
273
274 * font.c (Ffont_variation_glyphs): Silence compiler.
275
8db52afe
JB
2762009-01-15 Juanma Barranquero <lekktu@gmail.com>
277
278 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
279 Reported by David Robinow <drobinow@gmail.com>.
280
4cddb209
KH
2812009-01-15 Kenichi Handa <handa@m17n.org>
282
283 * coding.c (detect_coding_system): Fix handling of
284 null_byte_found.
285
f247f67b
JR
2862009-01-14 Jason Rumney <jasonr@gnu.org>
287
288 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 289 never a fontset. (Bug#1562)
f247f67b 290
f56a4450
KH
2912009-01-14 Kenichi Handa <handa@m17n.org>
292
293 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 294 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 295
4e99855e
CY
2962009-01-13 Chong Yidong <cyd@stupidchicken.com>
297
298 * font.c (font_clear_prop): If clearing the family, clear the font
299 width index too.
300
fff4e459 301 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 302
24f01470
JB
3032009-01-12 Juanma Barranquero <lekktu@gmail.com>
304
305 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
306 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
307 functions, use sizeof.
308
a41240a3
MR
3092009-01-12 Martin Rudalics <rudalics@gmx.at>
310
311 * keyboard.c (read_char): Fix case where last_nonmenu_event
312 returned a bad value with submenus. (Bug#447)
313
944636b8
CY
3142009-01-12 Chong Yidong <cyd@stupidchicken.com>
315
316 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
317 family, clear the font width index too.
318
0dad7c6f
JR
3192009-01-11 Jason Rumney <jasonr@gnu.org>
320
321 * keyboard.c (cmd_error_internal): Exit when errors occur before
322 frame creation and not in daemon mode. (Bug#1836)
323
7c2363af
CY
3242009-01-10 Chong Yidong <cyd@stupidchicken.com>
325
326 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
327 of a display vector, backtrack.
328 (try_window_reusing_current_matrix): Check glyph type before
329 referencing charpos member.
330
97b1b294
EZ
3312009-01-10 Eli Zaretskii <eliz@gnu.org>
332
333 Fix Bug #876:
334
335 * coding.c (inhibit_null_byte_detection): New variable.
336 (detect_coding, detect_coding_system): Don't pay attention to null
337 bytes if inhibit_null_byte_detection is non-zero.
338 (syms_of_coding) <inhibit-null-byte-detection>: Declare and
339 document.
340 <inhibit-iso-escape-detection>: Doc fix.
341
4624b6e3
JR
3422009-01-09 Jason Rumney <jasonr@gnu.org>
343
344 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 345 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
346 Only report Unicode Plane 2 fonts as unicode-sip.
347
323b840c
CY
3482009-01-09 Chong Yidong <cyd@stupidchicken.com>
349
350 * xfaces.c (Fx_font_family_list): Function deleted. Compatibility
351 version moved to faces.el.
352
353 * font.c (Ffont_family_list): Return a list of strings, not
354 symbols.
355
eba7400d
MR
3562009-01-09 Martin Rudalics <rudalics@gmx.at>
357
358 * frame.c (x_set_frame_parameters): Remember requested value for
359 fullscreen before it's reset by the parameter handler.
360
4b09796d
GM
3612009-01-09 Glenn Morris <rgm@gnu.org>
362
363 * keyboard.c (last_command_char): For clarity, rename to...
364 (last_command-event): ... and update all users.
365 (last_input_char): For clarity, rename to...
366 (last_input_event): ... and update all users.
367 (last-command-char, last-input-char): Move to subr.el as aliases.
368 * cmds.c, commands.h: Update for last_command_char rename.
369
14ccea62
CY
3702009-01-08 Chong Yidong <cyd@stupidchicken.com>
371
372 * font.c (font_open_for_lface): Handle unspecified height
373 attribute.
374
5f004711
JR
3752009-01-08 Jason Rumney <jasonr@gnu.org>
376
377 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
378 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
379 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
380 Don't declare.
fff4e459 381 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
382 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
383
b71f6f73
KH
3842009-01-07 Kenichi Handa <handa@m17n.org>
385
50b06221 386 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 387 remember the coding system used for decoding in
50b06221
KH
388 coding_system (Bug#1039).
389
b71f6f73 390 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 391 breaking the loop. (Bug#870)
b71f6f73
KH
392 (decode_coding_utf_16, decode_coding_emacs_mule)
393 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
394 (decode_coding_charset): Likewise.
395
56f668f7
MR
3962009-01-05 Martin Rudalics <rudalics@gmx.at>
397
398 * frame.c (x_set_frame_parameters): Make sure height (width) get
399 applied when fullwidth (fullheight) is set. (Bug#1522)
400
5da9424d
JB
4012009-01-04 Juanma Barranquero <lekktu@gmail.com>
402
403 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
404 (utc_base): Declare as ULONGLONG, not long double.
405 (convert_time_raw): Delete.
406 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
407 (initialize_utc_base): New function.
408 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
409 (convert_from_time_t): Use initialize_utc_base; compute result with
410 64-bit arithmetic.
411 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
412
c4605e09
EZ
4132009-01-03 Eli Zaretskii <eliz@gnu.org>
414
9acef61c 415 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
416 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
417 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
418 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
419 [!subprocesses]: Define.
420 (syms_of_process) [!subprocesses]: Intern and staticpro them.
421 (Flist_system_processes, Fsystem_process_attributes)
422 [!subprocesses]: Call list_system_processes and
423 system_process_attributes instead of returning Qnil.
424
9acef61c
JB
425 * dosfns.c (system_process_attributes, list_system_processes):
426 New functions.
c4605e09
EZ
427
428 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
429
430 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
431 Don't use the default (no-op) implementation.
432
8b7d0a16
JR
4332009-01-03 Jason Rumney <jasonr@gnu.org>
434
a6d46bc1
JR
435 * keyboard.c (parse_modifiers_uncached): Wheel events are
436 clicks (bug#687).
437
8b7d0a16
JR
438 * w32term.c (x_query_colors, x_query_color): New functions.
439
440 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
441 (svg_load_image): Cast returned pointers from dynamically loaded
442 functions. Eliminate W32 specific code.
443
bfe11752
DN
4442009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
445
89e2438a
DN
446 * nsfns.m (x_set_foreground_color, x_set_background_color)
447 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
448 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
449 x_ prefix instead of ns_. Update references.
450 (syms_of_nsfns): Add a FIXME comment.
451
452 * nsterm.m (x_set_cursor_type): New prototype.
453 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
454
bfe11752
DN
455 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
456 for Solaris instead of incorrectly providing Qutime and Qcutime.
457
031da700
EZ
4582009-01-02 Eli Zaretskii <eliz@gnu.org>
459
460 * w32.c (process_times): Compute sum of utime and stime.
461 (system_process_attributes): Add Qtime to the alist.
462
463 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
464 and add them to the alist.
465
466 * process.c (top level) <Qtime, Qctime>: New variables.
467 (syms_of_process): staticpro them.
468 (Fsystem_process_attributes): Add their documentation to the doc
469 string.
470
471 * process.h: Declare Qtime and Qctime.
472
df23bf08
JR
4732009-01-02 Jason Rumney <jasonr@gnu.org>
474
9acef61c 475 * image.c (Qgobject): New symbol.
df23bf08
JR
476 (syms_of_image): Initialize it.
477 (init_svg_functions): Load some functions from gobject library.
478
5bbdf7aa
DN
4792009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
480
481 * frame.c (make_terminal_frame): Remove redundant code and useless
482 block.
483
63136da6
AS
4842009-01-01 Andreas Schwab <schwab@suse.de>
485
486 * process.c (conv_sockaddr_to_lisp): Add workaround for
487 getsockname bug on BSD.
488
9ef69046
CY
4892009-01-01 Chong Yidong <cyd@stupidchicken.com>
490
d6fafbe0
CY
491 * xfns.c (x_create_tip_frame): Set border width of the X window.
492
9ef69046
CY
493 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error
494 message.
495
f9c34147
JR
4962009-01-01 Jason Rumney <jasonr@gnu.org>
497
9acef61c 498 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
499 Don't block input, as per earlier xterm.c changes.
500
f5497e45
AR
5012008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
502
503 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
504 (ns_appkit_version_int): New function.
505 (x-server-version): Use ns_appkit_version_int and follow 21+
506 convention of returning 3 integers.
507
c19cab20
KH
5082008-12-30 Kenichi Handa <handa@m17n.org>
509
510 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
511 (CHAR_SURROGATE_PAIR_P): New macro.
512
513 * font.h (struct font_driver): New member get_variation_glyphs.
514
9acef61c 515 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
516 (Ffont_variation_glyphs): New function.
517 (syms_of_font): Defsubr it.
518
519 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
520 ftfont_variation_glyphs.
521 (setup_otf_gstring): New function.
522 (ftfont_drive_otf): Use it.
523 (ftfont_shape_by_flt): Handle variation selector.
524 (ftfont_variation_glyphs): New function.
525
28cd591f
MR
5262008-12-30 Martin Rudalics <rudalics@gmx.at>
527
528 * frame.c (Vemacs_iconified): Remove.
529
7f714baf
JR
5302008-12-30 Jason Rumney <jasonr@gnu.org>
531
532 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 533 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 534
9d2d22ab
CY
5352008-12-30 Chong Yidong <cyd@stupidchicken.com>
536
537 * indent.c (Fvertical_motion): Don't advance iterator if we have
538 reseated to the desired position.
539
540 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
541 checking for pos match.
542
545312c2
KH
5432008-12-30 Kenichi Handa <handa@m17n.org>
544
1ede3eb6
KH
545 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
546 just get the low 8-bit of the code.
547
545312c2
KH
548 * font.c (font_intern_prop): Validate str as multibyte.
549
bd7bbf29
DN
5502008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
551
31e0750e
DN
552 * dispextern.h (struct face): Move lface and hash from the middle
553 of bitfields.
554
bd7bbf29
DN
555 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
556
b5672e7c
DN
5572008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
558
559 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
560 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
561 instead of intervals.h.
562
d704470f
AS
5632008-12-26 Andreas Schwab <schwab@suse.de>
564
565 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
566 cons.
567
54b33868
MR
5682008-12-26 Martin Rudalics <rudalics@gmx.at>
569
570 * textprop.c (Qminibuffer_prompt): New variable.
571 (syms_of_textprop): Initialize it.
572 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
573 in minibuffer-prompt face. (Bug#1662)
574
40b615d6
JR
5752008-12-25 Jason Rumney <jasonr@gnu.org>
576
577 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
578
baae5c2d
JR
5792008-12-24 Jason Rumney <jasonr@gnu.org>
580
581 * ralloc.c (r_alloc_reset_variable): New function.
582
583 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 584 record of what points where. (Bug#716)
baae5c2d 585
a9051c88
DN
5862008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
587
588 * minibuf.c (read_minibuf): Follow the non-interactive case when
589 running as a daemon, before detaching.
590
8b146312
AS
5912008-12-22 Andreas Schwab <schwab@suse.de>
592
593 * buffer.c (init_buffer): Use realloc instead of xrealloc.
594 * gtkutil.c (free_widget_value): Use xfree instead of free.
595
56f2de10
MR
5962008-12-22 Martin Rudalics <rudalics@gmx.at>
597
598 * frame.c (delete_frame): New function derived from
599 Fdelete_frame to handle Qnoelisp value for FORCE argument.
600 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
601 (Fdelete_frame): Call delete_frame. Remove line from doc-string
602 saying that FORCE non-nil doesn't run `delete-frame-functions'.
603 * frame.h: Extern delete_frame.
604 * window.c (window_loop):
605 * terminal.c (delete_terminal):
606 * xterm.c (x_connection_closed):
607 * xfns.c (Fx_hide_tip):
9acef61c 608 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 609
1fc200d6
JR
6102008-12-21 Jason Rumney <jasonr@gnu.org>
611
612 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
613 when character maps to .notdef character.
614
5e252df2
SM
6152008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
616
617 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
618
99b72cc4
JR
6192008-12-20 Jason Rumney <jasonr@gnu.org>
620
621 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 622 a graphical frame on Windows. (Bug#1325)
99b72cc4 623
acc49a52
JD
6242008-12-20 Jan Djärv <jan.h.d@swipnet.se>
625
626 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
627
6ea15123
CY
6282008-12-20 Chong Yidong <cyd@stupidchicken.com>
629
630 * minibuf.c (Fread_buffer): Doc fix.
631
b2dab6c8
JR
6322008-12-20 Jason Rumney <jasonr@gnu.org>
633
54ea0c87 634 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 635 server name in UNC paths. (Bug#719)
54ea0c87 636
b2dab6c8 637 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 638 charbuf. (Bug#1035)
b2dab6c8 639
6d1921be
DN
6402008-12-19 Daniel Engeler <engeler@gmail.com>
641
642 * sysdep.c (serial_configure): Fix typo.
643
53934c98
DN
6442008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
645
646 * sysdep.c: Include alloca.h.
f4f634e8
DN
647 (system_process_attributes): Add implementation for Solaris.
648
649 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 650
06e111a6
DN
6512008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
652
653 Reorganize implementation of Flist_system_processes and
654 Fsystem_process_attributes. No functional changes.
655 * process.c: Don't #include pwd.h, grp.h and limits.h.
656 (Flist_system_processes): Just call list_system_processes.
657 (Fsystem_process_attributes): Just call system_process_attributes.
658 (procfs_list_system_processes, time_from_jiffies)
659 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
660 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
661
662 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
663 (list_system_processes): Rename from
664 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
665 Provide a do nothing implementation.
666 (system_process_attributes): Rename from
667 procfs_list_system_processes.
668 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 669 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
670
671 * w32.c (list_system_processes): Rename from
672 w32_list_system_processes.
673 (system_process_attributes): Rename from
674 w32_system_process_attributes.
675
676 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
677
678 * process.h (w32_list_system_processes)
679 (w32_system_process_attributes): Remove.
680 (list_system_processes, system_process_attributes): New
681 prototypes.
682
6a705b23
KH
6832008-12-19 Kenichi Handa <handa@m17n.org>
684
685 * xfont.c (xfont_decode_coding_xlfd): New function.
686 (xfont_encode_coding_xlfd): New function.
687 (xfont_list_pattern): Decode XLFD by iso-8859-1.
688 (xfont_list): Decode and encode XLFD by iso-8859-1.
689 (xfont_match): Likewise.
690 (xfont_list_family): Likewise.
691 (xfont_open): Likewise.
692
d66c0241 693 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
694 names are utf-8.
695
d66c0241 696 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
697 names are utf-8.
698
5a130941
JD
6992008-12-18 Jan Djärv <jan.h.d@swipnet.se>
700
701 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
702 changed.
bfd20325
JD
703 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
704 clicked on a detached tool bar button.
5a130941 705
fd95644b
DN
7062008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
707
708 * emacs.c (main): Print and error and exit when no data is read
709 from the pipe.
710
e6eee6ae
JR
7112008-12-17 Jason Rumney <jasonr@gnu.org>
712
713 * w32font.c (w32font_has_char): Always return -1.
714
a35dd56b
KH
7152008-12-16 Kenichi Handa <handa@m17n.org>
716
717 * font.c (font_open_entity): Fix previous change.
718
0e3635c2
DN
7192008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
720
721 * process.c: Include <limits.h>.
722
d4835507 7232008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
724
725 * font.c (font_update_drivers): Fix mistake in reconstructing the
726 driver list.
727
7282008-12-16 Chong Yidong <cyd@stupidchicken.com>
729
730 * font.c (font_clear_cache): Fix format of font cache data.
731
e2cbc401
CY
7322008-12-15 Chong Yidong <cyd@stupidchicken.com>
733
734 * xftfont.c (xftfont_open): Free Xft font pattern if
735 XftFontOpenPattern fails.
736
737 * xterm.c (x_free_frame_resources): Remove extraneous call to
738 free_frame_faces.
739
b131d535
CY
7402008-12-13 Chong Yidong <cyd@stupidchicken.com>
741
742 * xterm.c (x_delete_display): Move xim_close_dpy call to
743 x_delete_terminal.
744 (x_delete_terminal): Call xim_close_dpy.
745
e6df5336
JR
7462008-12-13 Jason Rumney <jasonr@gnu.org>
747
748 * w32font.c (intern_font_name): New function.
749 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
750 (w32font_open_internal, Fx_select_font): Decode font name.
751 (fill_in_logfont, list_all_matching_fonts): Encode font name.
752
753 * w32font.h (intern_font_name): Declare new function.
754
755 * w32uniscribe.c (add_opentype_font_name_to_list):
756 Use intern_font_name.
757
20d68145
CY
7582008-12-13 Chong Yidong <cyd@stupidchicken.com>
759
9f2554de
CY
760 * frame.c (Fdelete_frame): Call free_font_driver_list.
761
3d9bec9a
CY
762 * font.c (free_font_driver_list): Implement missing function.
763
20d68145
CY
764 * w32term.c (w32_term_init): Don't initialize the image cache
765 here; it will be done in init_frame_faces.
766
767 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
768 (struct x_display_info): Remove unused member null_pixel. New
769 member xim_callback_data.
770
771 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
772 (xim_initialize): Save pointer to callback function data.
773 (xim_close_dpy): Free callback function data. Call XCloseIM,
774 reverting 2008-11-04 change by David Smith.
775 (x_term_init): Don't initialize the image cache here; it will be
776 done in init_frame_faces. Remove ancient "null_pixel" cruft.
777 (x_delete_display): Free x_dnd_atoms member.
778
96f9306b
KH
7792008-12-13 Kenichi Handa <handa@m17n.org>
780
6dec9044
JB
781 * font.c (font_rescale_ratio): Moved from xfaces.c.
782 Argument type changed. Handle a font-spec too.
96f9306b 783 (font_score): Check Vface_font_rescale_alist.
6dec9044 784 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
785
786 * xfaces.c (font_rescale_ratio): Moved to font.c.
787
8d5b4964
CY
7882008-12-13 Chong Yidong <cyd@stupidchicken.com>
789
790 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
791
e6df5336
JR
7922008-12-12 Jason Rumney <jasonr@gnu.org>
793
794 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
795 Vwindow_system_version to the real w32 major version.
796
97c6058a
DN
7972008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
798
799 * term.c (init_tty): Move setting the terminal name before the
800 potential user: maybe_fatal.
801
ec4e88d7
CY
8022008-12-11 Chong Yidong <cyd@stupidchicken.com>
803
d4835507
JB
804 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
805 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 806
b4233ec9
JR
8072008-12-11 Jason Rumney <jasonr@gnu.org>
808
8ec71e23 809 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 810 SYMBOL_CHARSET. (Bug#547)
8ec71e23 811
b4233ec9 812 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 813 size for surrogates. (Bug#1096, bug#872)
b4233ec9 814
011a0143
JB
8152008-12-11 Juanma Barranquero <lekktu@gmail.com>
816
817 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
818
3c309f34
JB
8192008-12-11 Juanma Barranquero <lekktu@gmail.com>
820
821 * process.c (Fsystem_process_attributes, syms_of_process):
822 Fix typo in name of Ssystem_process_attributes.
823 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
824
fedc6ab5
JB
8252008-12-11 Juanma Barranquero <lekktu@gmail.com>
826
827 * syntax.c (Fmodify_syntax_entry): Doc fix.
828
ba3de0e8
JB
8292008-12-10 Juanma Barranquero <lekktu@gmail.com>
830
831 * font.c (Ffont_spec): Move usage to end of docstring.
832
174f1c74
JR
8332008-12-10 Jason Rumney <jasonr@gnu.org>
834
835 * w32font.c (Qcham): New symbol.
836 (font_supported_scripts): Add cham, and comments for other new
837 scripts in bitfield from OpenType spec.
9d32f818
JR
838 (add_font_entity_to_list): Limit unicode-sip fonts to those that
839 contain characters beyond the bmp.
174f1c74 840
7b649478
KH
8412008-12-10 Kenichi Handa <handa@m17n.org>
842
843 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 844 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
845 Qunicode_sip.
846
2133e2d1
JB
8472008-12-10 Juanma Barranquero <lekktu@gmail.com>
848
849 * coding.c (QCdefault_char): Rename from QCdefalut_char.
850 (Fcoding_system_put): Use QCdefault_char.
851 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
852
9af886ee
CY
8532008-12-09 Chong Yidong <cyd@stupidchicken.com>
854
74d819eb
CY
855 * xftfont.c (syms_of_xftfont): Fix typo.
856
4ccfa1c0 857 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 858
7c19d3ae
DN
8592008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
860
861 * emacs.c (main): Close daemon_pipe on exec.
862
567826bb
CY
8632008-12-08 Chong Yidong <cyd@stupidchicken.com>
864
865 * termchar.h (struct tty): New members termcap_term_buffer and
866 termcap_strings_buffer.
867
868 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 869 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
870 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
871 All callers changed.
872 (init_tty): Store termcap data and string buffers in new struct
873 tty members termcap_term_buffer and termcap_strings_buffer.
874 (delete_tty): Free them.
4ccfa1c0 875 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 876
aa96c42b
SZ
8772008-12-07 Seiji Zenitani <zenitani@mac.com>
878
879 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 880 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 881
b7e1d896
CY
8822008-12-06 Chong Yidong <cyd@stupidchicken.com>
883
884 * coding.c (make_conversion_work_buffer): Disable buffer
885 modification hooks in the work buffer.
886
b5ec91a5
EZ
8872008-12-05 Eli Zaretskii <eliz@gnu.org>
888
889 * process.c (procfs_system_process_attributes): If `nread' has a
890 negative value, assign zero to it.
891
a5d2a52b
CY
8922008-12-05 Chong Yidong <cyd@stupidchicken.com>
893
68c5540b 894 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 895
7bf1bb21
KH
8962008-12-05 Kenichi Handa <handa@m17n.org>
897
898 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
899 second character is a combining character.
900
2fdc7d00
EZ
9012008-12-05 Eli Zaretskii <eliz@gnu.org>
902
903 * process.c (procfs_system_process_attributes): Don't use cmd,
904 cmdsize, and q without initializing them first.
905
bf6bfba8
JR
9062008-12-04 Jason Rumney <jasonr@gnu.org>
907
908 * w32font.c (w32font_draw): Initialize orig_clip before getting
909 it, and delete it when finished.
910
a3b1a468
DN
9112008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
912
913 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
914 case when running as a daemon before detaching.
915
8b8be8eb
JB
9162008-12-03 Juanma Barranquero <lekktu@gmail.com>
917
805f2638 918 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 919
b1bde622
KH
9202008-12-03 Kenichi Handa <handa@m17n.org>
921
e500c47d
KH
922 * font.c (font_at): Set `multibyte' at first.
923
ca516334
KH
924 * coding.c (decode_coding_charset): Check type of an element of
925 vector VALIDS.
7bf1bb21 926 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 927
4ccfa1c0 928 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
929 (font_for_char): Likewise.
930
1e5ecd37
CY
9312008-12-03 Chong Yidong <cyd@stupidchicken.com>
932
d5b01609 933 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
934 (font_update_lface): Handle fonts with corrupted size specs,
935 i.e. non-int and non-float.
d5b01609 936
11e3a6e4 937 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 938 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 939 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 940
ab06788b
CY
941 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
942
1e5ecd37 943 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 944 underline_minimum_offset for underline position.
1e5ecd37 945
63c125ab
DN
9462008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
947
948 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
949
950 * character.c (c_string_width): Specify the type for LEN.
951
3a8406e1
KH
9522008-12-03 Kenichi Handa <handa@m17n.org>
953
4ccfa1c0 954 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 955 (decode_coding_utf_8): Likewise.
4ccfa1c0 956 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 957 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 958
651df7d9
CY
9592008-12-02 Chong Yidong <cyd@stupidchicken.com>
960
961 * keyboard.c (make_lispy_position): Only use PT if the selected
962 window is current.
963
1f625c6c
AS
9642008-12-02 Andreas Schwab <schwab@suse.de>
965
f7741ce9
AS
966 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
967
1f625c6c
AS
968 * doprnt.c (doprnt1): Fix size of charbuf.
969
92bc2678
CY
9702008-12-02 Chong Yidong <cyd@stupidchicken.com>
971
972 * keyboard.c (timer_check): Revert last change.
973
93b9e8cc
JB
9742008-12-02 Juanma Barranquero <lekktu@gmail.com>
975
976 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
977
fd7a37d5
JB
9782008-12-01 Juanma Barranquero <lekktu@gmail.com>
979
980 * makefile.w32-in: Update dependencies.
981 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
982
c115043b
AS
9832008-12-01 Andreas Schwab <schwab@suse.de>
984
985 * font.c (register_font_driver): Use xmalloc.
986 (font_put_frame_data): Likewise.
987
f5668d2a
CY
9882008-12-01 Chong Yidong <cyd@stupidchicken.com>
989
860d96be
CY
990 * xfaces.c (realize_x_face): Make abort condition clearer.
991
f5668d2a
CY
992 * gtkutil.c (update_frame_tool_bar): Initialize variable.
993
379c17e7
CY
9942008-11-30 Chong Yidong <cyd@stupidchicken.com>
995
996 * keyboard.c (timer_check): After a timer runs, ensure that the
997 selected window's buffer is current.
998
35f36d65
JB
9992008-11-30 Juanma Barranquero <lekktu@gmail.com>
1000
f952c61c
JB
1001 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1002 It was accidentally restored by the Unicode merge.
1003
35f36d65
JB
1004 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1005
b23077df
JB
10062008-11-29 Juanma Barranquero <lekktu@gmail.com>
1007
1008 * w32proc.c: Include "coding.h".
1009 (Fw32_short_file_name): Encode filename passed to Windows API.
1010 (Fw32_long_file_name): Encode filename passed to Windows API and
1011 decode back the result. (Bug#1433)
1012
b8ebe9dd
KH
10132008-11-29 Kenichi Handa <handa@m17n.org>
1014
8cc53f96
KH
1015 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1016 not before accessing it.
1017
b8ebe9dd
KH
1018 * charset.c (Fdefine_charset_internal): After calculating
1019 min_char, max_char, and fastmap, copy the charset structure again.
1020 (encode_char): Fix the previous change.
1021
59bc82c0
SZ
10222008-11-28 Seiji Zenitani <zenitani@mac.com>
1023
1024 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1025
1026 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1027
1028 * nsterm.m (x_set_frame_alpha): New function.
1029
32247e3d
EZ
10302008-11-27 Eli Zaretskii <eliz@gnu.org>
1031
1032 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1033
b003e5ff
JB
10342008-11-27 Juanma Barranquero <lekktu@gmail.com>
1035
1036 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1037 pointer to check_face_name.
1038
708550f5
KH
10392008-11-27 Kenichi Handa <handa@m17n.org>
1040
1041 * category.h (SET_CATEGORY_SET): Call set_category_set.
1042 (set_category_set): Extern it.
1043
1044 * category.c (hash_get_category_set): New function.
1045 (Fmodify_category_entry): Adjusted for the change of
1046 char_table_ref_and_range. Call hash_get_category_set to get a
1047 category set to store in the table.
1048
1049 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1050 Funify_charset.
1051
2ae37cf0 1052 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1053 (DECODE_CHAR): Check if the decoder vector is ready.
1054 (ENCODE_CHAR): Check if the encoder char-table is ready.
1055 (maybe_unify_char): Extern it.
1056
1057 * charset.c (Vchar_unified_charset_table): Delete it.
1058 (inhibit_load_charset_map): New variable.
1059 (temp_charset_work): New variable.
1060 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1061 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1062 New macros.
1063 (load_charset_map): Meaning of control_flag changed. If
1064 inhibit_load_charset_map is nonzero, setup a table in
1065 temp_charset_work.
1066 (load_charset): New argument control_flag.
1067 (map_charset_for_dump): New function.
1068 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1069 map_charset_for_dump.
1070 (Fdefine_charset_internal): If the charset method is MAP, load
1071 mapping tables by calling load_charset.
1072 (Funify_charset): Don't load a mapping table but directly set
1073 Vchar_unify_table.
1074 (maybe_unify_char): New function.
1075 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1076 Handle the case of inhibit_load_charset_map being nonzero.
1077 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1078 Handle the case of inhibit_load_charset_map being nonzero.
1079 (Fclear_charset_maps): Just free temp_charset_work.
1080 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1081 variable.
1082
1083 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1084 change of char_table_ref_and_range.
1085 (char_table_ref_and_range): Change the meaning of argument FROM
1086 and TO. Now the caller must provide initial values for *FROM
1087 and *TO.
1088
1089 * fontset.c (fontset_add): Adjusted for the change of
1090 char_table_ref_and_range.
1091 (fontset_get_font_group): Likewise.
1092 (Ffontset_info): Likewise.
1093
1094 * keymap.c (describe_vector): Adjusted for the change of
1095 char_table_ref_and_range. For char-table, put boundary between
1096 non-ASCII and 8-bit characters.
1097
1098 * print.c (print_object): For bool-vector, delete unnecessary
1099 check of ASCII_BYTE_P.
1100
9196133b
JR
11012008-11-26 Jason Rumney <jasonr@gnu.org>
1102
1103 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1104 leading in font height. (Bug#879)
9196133b 1105
9f688acf
GM
11062008-11-26 Glenn Morris <rgm@gnu.org>
1107
1108 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1109 redefinition with ifdef. (Bug#1383)
1110
90d19aff
AR
11112008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1112
1113 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1114
4ccfa1c0 11152008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1116
1117 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1118 New EmacsView methods.
1119 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1120 Fixes bug #1048,1357,1414.
1121
11222008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1123
1124 Fix bug #1362.
1125 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1126 is not an indexed color.
1127 * nsterm.m (free_indexed_color): Add argument checking.
1128 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1129
e7d5ecb3
CY
11302008-11-24 Chong Yidong <cyd@stupidchicken.com>
1131
1132 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1133 Document confirm-after-completion value for
1134 minibuffer-completion-confirm.
1135
c285743c
JR
11362008-11-24 Jason Rumney <jasonr@gnu.org>
1137
1138 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1139 warning.
1140
b0857706
JR
11412008-11-23 Jason Rumney <jasonr@gnu.org>
1142
1143 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1144 restored before returning.
1145
1146 * w32font.c (check_face_name): New function.
1147 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1148 fonts. (Bug#642)
b0857706 1149
ee50ff07
MR
11502008-11-22 Martin Rudalics <rudalics@gmx.at>
1151
1152 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1153 confirm-nonexistent-file-or-buffer in doc-string.
1154
b8ff72fa
SM
11552008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1156
1157 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1158 Fix copy/paste typo. Add checks.
1159
cee53ed4
KH
11602008-11-21 Kenichi Handa <handa@m17n.org>
1161
1162 * coding.c (detect_coding_iso_2022): Reject invalid composition
1163 sequence.
1164 (DECODE_COMPOSITION_START): If the current source is the last
1165 block, and the current composition doesn't end, regard this
1166 sequence as invalid.
1167 (decode_coding_iso_2022): Handle invalid composition sequence.
1168
f6ef1e65
MR
11692008-11-20 Martin Rudalics <rudalics@gmx.at>
1170
1171 * window.c (coordinates_in_window): Don't return
1172 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1173 line when the window is not the rightmost one. (Bug#1372)
1174
e08b1705
MR
11752008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1176
1177 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1178
ad98e89f
EZ
11792008-11-15 Eli Zaretskii <eliz@gnu.org>
1180
1181 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1182 and bright_bg if noninteractive is non-zero.
1183
fb098a4b
CY
11842008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1185
1186 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1187 x_draw_glyph_string_background.
1188
1189 * w32term.c (x_draw_glyph_string): Likewise.
1190
ce952b6e
CY
11912008-11-15 Chong Yidong <cyd@stupidchicken.com>
1192
1193 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1194 the next glyph string once past the overhang width.
1195
1196 * nsterm.m (ns_draw_glyph_string): Likewise.
1197
1198 * w32term.c (x_draw_glyph_string): Likewise.
1199
26ea7079
CY
12002008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1201
1202 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1203 double file close.
1204
1c33c906
MR
12052008-11-14 Martin Rudalics <rudalics@gmx.at>
1206
1207 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1208 dedicated status of window before attempting to display another
1209 buffer in it.
1210
8fc29035
JB
12112008-11-14 Juanma Barranquero <lekktu@gmail.com>
1212
1213 * msdos.c (Fmsdos_long_file_names):
1214 (syms_of_msdos) <dos-unsupported-char-glyph>:
1215 * dosfns.c (Fint86): Fix typos in docstrings.
1216
55fb4286
EZ
12172008-11-14 Eli Zaretskii <eliz@gnu.org>
1218
1219 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1220
3fda0315
KY
12212008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1222
1223 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1224
7e849c17
CY
12252008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1226
1227 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1228
1229 * frame.h: Negative alpha means "don't touch".
1230
1231 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1232
1233 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1234
b9fd67bd
DN
12352008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1236
1237 * hftctl.c:
1238 * chpdef.h:
1239 * acldef.h: Remove files used only for systems no longer supported.
1240
1241 * Makefile.in: Fix .o alphabetical ordering.
1242 (hftctl.o): Remove dependency, file removed.
1243 (keymap.o, print.o): Depend on charset.h.
1244
d5998e03
KH
12452008-11-10 Kenichi Handa <handa@m17n.org>
1246
2ae37cf0 1247 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1248
be70e183
CY
12492008-11-08 Chong Yidong <cyd@stupidchicken.com>
1250
1251 * dired.c (file_name_completion): If completion_ignore_case is
1252 enabled, ignore case when checking completion-regexp-list.
1253
7cf94eac
EZ
12542008-11-08 Eli Zaretskii <eliz@gnu.org>
1255
1256 * vm-limit.c (get_lim_data): Fix last change.
1257
ee107a89
KH
12582008-11-08 Kenichi Handa <handa@m17n.org>
1259
1260 * character.c (Fget_byte): New function.
1261 (syms_of_character): Defsubr Fget_byte.
1262
5fd15622
CY
12632008-11-07 Chong Yidong <cyd@stupidchicken.com>
1264
1265 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1266 cursor position is valid after scrolling.
1267
13d62fad
JB
12682008-11-06 Juanma Barranquero <lekktu@gmail.com>
1269
1270 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1271
a1dd2936
GM
12722008-11-06 Glenn Morris <rgm@gnu.org>
1273
1274 * xterm.c (handle_one_xevent): Don't let popup menus cause
1275 mouse-autoselect-window related window switching. (Bug#1261)
1276
860cd236
CY
12772008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1278
1279 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1280
653a3150
AS
12812008-11-04 Andreas Schwab <schwab@suse.de>
1282
1283 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1284
870f5cac
CY
12852008-11-03 Chong Yidong <cyd@stupidchicken.com>
1286
1287 * xfns.c (Fx_wm_set_size_hint): New function.
1288
1e02f3cb
MR
12892008-11-03 Martin Rudalics <rudalics@gmx.at>
1290
1291 * textprop.c (Fprevious_single_char_property_change): Return 0
1292 when there's no change in a string. (Bug#1301)
1293
e630dfc6
MR
12942008-11-02 Martin Rudalics <rudalics@gmx.at>
1295
1296 * frame.c (do_switch_frame): New argument NORECORD passed to
1297 Fselect_window.
1298 (Fselect_frame): New argument NORECORD passed to
1299 do_switch_frame.
1300 (Fset_frame_selected_window): New argument NORECORD passed to
1301 Fselect_frame.
1302 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1303 in call of do_switch_frame.
1304 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1305 Handle NORECORD argument in call of Fselect_frame.
1306 * lisp.h (do_switch_frame, Fselect_frame)
1307 (Fset_frame_selected_window): Adjust declarations.
1308 * window.c (select_frame_norecord): New function.
1309 (run_window_configuration_change_hook): Use it and call
1310 Fselect_frame with NORECORD set.
1311 (Fselect_window): Pass NORECORD to Fselect_frame.
1312 (Fset_window_configuration): Handle NORECORD argument in call of
1313 do_switch_frame.
1314 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1315 Fset_frame_selected_window.
1316 * keyboard.c (command_loop_1): Handle NORECORD in call of
1317 Fselect_frame (currently ifdefd).
1318
9020b223
GM
13192008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1320
1321 * emacs.c (USAGE2): Untabify.
1322
793ffee8
SM
13232008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1324
1325 * composite.c (fill_gstring_header): Fix copy/paste typo.
1326
ab6d1131
MR
13272008-10-31 Martin Rudalics <rudalics@gmx.at>
1328
1329 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1330 (Fother_window): Rename argument and rewrite doc-string.
1331 (select_window_norecord): Fix return value. (Bug#1276)
1332
601a9cf1
JB
13332008-10-30 Juanma Barranquero <lekktu@gmail.com>
1334
1335 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1336 new frames overriding foreground for tooltips. Based on similar patch
1337 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1338
813b0652
CY
13392008-10-29 Chong Yidong <cyd@stupidchicken.com>
1340
1341 * emacs.c (Fdaemon_initialized): Initialize nfd.
1342
4414f58f
MR
13432008-10-29 Martin Rudalics <rudalics@gmx.at>
1344
1345 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1346 (Fwindow_text_height): Clarify doc-strings.
1347 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1348 doc-string of window-scroll-functions.
1349
ecdcaa09
RS
13502008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1351
1352 * category.c (syms_of_category): Fix typo in docstring.
1353
23fe745a
JB
13542008-10-28 Juanma Barranquero <lekktu@gmail.com>
1355
1356 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1357 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1358 Fix typos in docstrings.
1359
ff808935
DN
13602008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1361
1362 * emacs.c (daemon_pipe): Make non-static.
1363 (IS_DAEMON): Move definition ...
1364 * lisp.h (IS_DAEMON): ... here.
1365 (daemon_pipe): Declare.
1366 (is_daemon): Remove.
1367 * dispnew.c (init_display): Use IS_DAEMON.
1368
fc012771
SM
13692008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1370
1371 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1372 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1373
1374 * emacs.c (is_daemon): Remove.
1375 (main): Don't set is_daemon.
1376 (IS_DAEMON): New macro.
1377 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1378 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1379 parent exits.
1380 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1381
d8bdbe6f
CY
13822008-10-27 Chong Yidong <cyd@stupidchicken.com>
1383
d1a072bf
CY
1384 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1385 over-sized glyph, draw it with the default glyph width.
1386
e2e325aa
CY
1387 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1388 glyph, draw it with the default glyph width.
1389
1390 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1391 glyph, draw it with the default glyph width.
1392
d8bdbe6f
CY
1393 * xdisp.c (try_scrolling): When computing the distance from the
1394 scroll margin to PT, try moving some distance past the window
1395 bottom before giving up.
1396
7bfac547
MR
13972008-10-27 Martin Rudalics <rudalics@gmx.at>
1398
1399 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1400 (Fset_window_buffer): Explain in doc-string that a window can be
1401 "strongly" dedicated to its buffer.
1402
4ff029f6
DN
14032008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1404
1405 * emacs.c (daemon_name): New variable.
1406 (main): Deal with --daemon=SERVER_NAME.
1407 (Fdaemonp): Return a name if one was passed to --daemon.
1408
5790ef40
DN
14092008-10-26 Romain Francoise <romain@orebokech.com>
1410
f9bd0df9 1411 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1412 (main): Create a pipe before forking, make the parent exit only after
1413 the child has closed its end of the pipe. Move closing the
1414 descriptors ...
1415 (Fdaemon_initialized): ... here. New function.
1416
f5385255
SM
14172008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1418
4d632321
SM
1419 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1420 the previous unoptimized table.
1421
f5385255
SM
1422 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1423 the distinction between non-nil and non-t value of `dedicated'.
1424
6c56a0f3
CY
14252008-10-25 Chong Yidong <cyd@stupidchicken.com>
1426
1427 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1428 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1429
fec89261
MR
14302008-10-25 Martin Rudalics <rudalics@gmx.at>
1431
1432 * window.c (Fget_buffer_window, Fdelete_windows_on)
1433 (Freplace_buffer_in_windows): Make buffer argument optional and
1434 rename to buffer_or_name.
1435
34fcddd0
CY
14362008-10-24 Chong Yidong <cyd@stupidchicken.com>
1437
f5385255
SM
1438 * xdisp.c (handle_single_display_spec, handle_display_prop):
1439 Undo 2005-05-16 change.
34fcddd0
CY
1440 (handle_stop): Pop iterator if it's loaded with an empty string.
1441 (get_overlay_strings_1): Don't save iterator if it's loaded with
1442 an empty string (bug#1201).
1443
064766f2
KH
14442008-10-24 Kenichi Handa <handa@m17n.org>
1445
1446 * ftfont.c (ftfont_otf_features): Fix previous change.
1447 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1448 calling ftfont_otf_features.
1449
f9bd0df9 14502008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1451
1452 * font.c (font_match_p): Fix for the case that a vector of
1453 characters is in script-representative-chars.
1454
1dae9197
MA
14552008-10-24 Michael Albinus <michael.albinus@gmx.de>
1456
1457 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1458 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1459 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1460 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1461 macro. (Bug#1186).
1462
f9bd0df9 14632008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1464
1465 * s/sol2-10.h: New file.
1466
878a4584
JB
14672008-10-23 Juanma Barranquero <lekktu@gmail.com>
1468
1469 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1470 poor beast has survived 9+ years and the jump from xterm.c!).
1471
cd265ca6
MR
14722008-10-23 Martin Rudalics <rudalics@gmx.at>
1473
1474 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1475 Reword doc-string.
f5385255 1476 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1477
472a4dc9
JB
14782008-10-23 Juanma Barranquero <lekktu@gmail.com>
1479
1480 * character.c (syms_of_character) <script-representative-chars>:
1481 <unicode-category-table>: Doc fixes.
1482
159bd5a2
NF
14832008-10-23 Noah Friedman <friedman@splode.com>
1484
1485 * coding.c (make_conversion_work_buffer): Check that
1486 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1487 Fget_buffer_create.
1488
49f9c344
KH
14892008-10-23 Kenichi Handa <handa@m17n.org>
1490
1491 * font.c (font_add_log): Check the values of extra properties.
1492
12bb3111
MR
14932008-10-22 Martin Rudalics <rudalics@gmx.at>
1494
1495 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1496 Reword doc-string.
1497 (Fset_window_parameter): Use NILP.
1498 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1499 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1500
bbeb4e99
JB
15012008-10-22 Juanma Barranquero <lekktu@gmail.com>
1502
1503 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1504
15052008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1506
1507 * nsfns.m (ns_appkit_version): New function.
1508 (x-server-version): Use it.
1509 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1510 (x-server-vendor): Don't check_ns().
1511
1512 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1513
a9b555d3
JB
15142008-10-22 Juanma Barranquero <lekktu@gmail.com>
1515
1516 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1517 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1518
4626499f
KH
15192008-10-22 Kenichi Handa <handa@m17n.org>
1520
e3681952
KH
1521 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1522 scripts.
1523
4626499f
KH
1524 * category.c (word_boundary_p): Check scripts instead of charset.
1525 Handle nil value in word-separating-categories and
1526 word-combining-categories.
1527 (syms_of_category): Fix docstrings of word-separating-categories
1528 and word-combining-categories.
1529
1560f91a
EZ
15302008-10-21 Eli Zaretskii <eliz@gnu.org>
1531
1532 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1533 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1534
f4668441
MR
15352008-10-21 Martin Rudalics <rudalics@gmx.at>
1536
1537 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1538 Rename arg "buffer" to "buffer_or_name".
1539 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1540 it optional.
1541 (no_switch_window): Remove since the return value is not used.
a9b555d3 1542 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1543 Consider window as dedicated when Fwindow_dedicated_p returns a
1544 non-nil value.
1545 * lisp.h: Remove prototype for no_switch_window.
1546
fd75ddb2
JD
15472008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1548
1549 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1550 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1551
07295713
KH
15522008-10-21 Kenichi Handa <handa@m17n.org>
1553
1554 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1555 check Vlatin_extra_code_table.
1556
712adc82
EZ
15572008-10-20 Eli Zaretskii <eliz@gnu.org>
1558
1559 * fileio.c (Fset_file_modes): Doc fix.
1560
f549eb0b
MA
15612008-10-19 Michael Albinus <michael.albinus@gmx.de>
1562
1563 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1564 in arrays.
1565
aac0c6e3
MR
15662008-10-19 Martin Rudalics <rudalics@gmx.at>
1567
1568 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1569 Mention kill-buffer in doc-string.
1570 (Fset_window_buffer): Reinsert tem check removed in last commit.
1571 (Fenlarge_window, Fshrink_window): Have argument names and
1572 doc-string follow Elisp manual more closely.
1573
15742008-10-18 Eli Zaretskii <eliz@gnu.org>
1575
1576 * fileio.c (Fset_file_modes): Doc fix.
1577
15782008-10-18 Martin Rudalics <rudalics@gmx.at>
1579
1580 * window.c (Fwindow_width, Fset_window_start)
1581 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1582 (Fdelete_windows_on, Freplace_buffer_in_windows):
1583 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1584 (Fwindow_dedicated_p): Make window argument optional.
1585 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1586 (Fset_window_buffer): Respect any non-nil dedicated value for
1587 window. Rename "buffer" argument to "buffer_or_name".
1588
15892008-10-18 Ulrich Mueller <ulm@gentoo.org>
1590
1591 * m/sh3.h: New file, machine description for SuperH.
1592
15932008-10-17 Martin Rudalics <rudalics@gmx.at>
1594
1595 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1596
15972008-10-17 Kenichi Handa <handa@m17n.org>
1598
1599 * ftfont.c (ftfont_otf_features): Fix indexing
1600 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1601
16022008-10-16 Magnus Henoch <mange@freemail.hu>
1603
1604 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1605 (Fdbus_call_method_asynchronously): Ditto.
1606 This change makes C-h f display the argument list.
1607
16082008-10-16 Chong Yidong <cyd@stupidchicken.com>
1609
1610 * fileio.c (Fexpand_file_name): Doc fix.
1611
1612 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1613 of :foreground and :background equivalent to unspecified (20.x
1614 compatibility).
1615
16162008-10-15 Eli Zaretskii <eliz@gnu.org>
1617
1618 * buffer.c (syms_of_buffer): Doc fix.
1619
16202008-10-14 Kenichi Handa <handa@m17n.org>
1621
1622 * font.c (font_clear_prop): When clearing font width, clear the
1623 average width field too.
1624
16252008-10-12 Andreas Schwab <schwab@suse.de>
1626
1627 * ftfont.c (ftfont_shape_by_flt): Make static.
1628 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1629
1630 * font.c: Don't include <m17n-flt.h>.
1631
16322008-10-10 Eli Zaretskii <eliz@gnu.org>
1633
1634 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1635
16362008-10-09 Eli Zaretskii <eliz@gnu.org>
1637
1638 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1639 away code.
1640
16412008-10-09 Chong Yidong <cyd@stupidchicken.com>
1642
1643 * dispnew.c (update_text_area): Avoid looping due to large glyph
1644 overhangs (bug#1070).
1645
16462008-10-09 Kenichi Handa <handa@m17n.org>
1647
1648 * fontset.c (face_for_char): If face->fontset is negative, just
1649 return ascii_face.
1650
f5385255
SM
1651 * font.c (font_delete_unmatched): Fix previous change.
1652 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1653
16542008-10-09 Martin Rudalics <rudalics@gmx.at>
1655
1656 * frame.c (Fraise_frame): On text-only terminals select frame in
1657 order to make it visible. (Bug#1061)
1658
16592008-10-08 Chong Yidong <cyd@stupidchicken.com>
1660
1661 * fontset.c (fontset_find_font): Check frame validity.
1662
16632008-10-07 Chong Yidong <cyd@stupidchicken.com>
1664
a9b555d3 1665 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1666 (xg_display_close): Allow Emacs to close all displays (bug#985).
1667
16682008-10-06 Andreas Schwab <schwab@suse.de>
1669
f5385255 1670 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1671
16722008-10-06 Chong Yidong <cyd@stupidchicken.com>
1673
f5385255 1674 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1675
a9b555d3 1676 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1677
1678 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1679 during initialization.
1680
16812008-10-04 Eli Zaretskii <eliz@gnu.org>
1682
1683 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1684 whole thing on MSDOS frames as well as on a TTY.
1685
1686 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1687 well as for TTY.
1688 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1689 well as on a TTY.
1690
1691 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1692 as well as for TTY.
1693
1694 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1695
1696 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1697 MSDOS frames as well.
1698
16992008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1700
1701 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1702 correct arguments.
1703 * menu.c (find_and_return_menu_selection) Add cast.
1704
17052008-10-03 Glenn Morris <rgm@gnu.org>
1706
1707 * emacs.c (USAGE1): Add --daemon.
1708
17092008-10-02 Eli Zaretskii <eliz@gnu.org>
1710
1711 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1712 100, so it's in percents as advertised.
1713
17142008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1715
1716 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
1717 (ns_output.current_cursor, ns_output.desired_cursor)
1718 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
1719 (FRAME_NEW_CURSOR_COLOR): Remove.
1720
1721 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 1722 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
1723 enumeration (HOLLOW_BOX_CURSOR, etc.).
1724
1725 * nsterm.m (ns_frame_rehighlight): Remove commented code.
1726 (draw_window_cursor): Simplify code.
f5385255
SM
1727 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
1728 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 1729 updates manually.
a9b555d3
JB
1730 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
1731 Use core Emacs cursor types.
aac0c6e3 1732
b8ff72fa 1733 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
1734
17352008-10-02 Martin Rudalics <rudalics@gmx.at>
1736
1737 * process.c (Faccept_process_output): Fix doc-string.
1738
17392008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
1740
1741 * gmalloc.c (__sbrk): Also define for uClibc.
1742
1743 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
1744 for uClibc.
1745
17462008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1747
1748 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
1749 styles.
1750 (nsfont_open): Reenable the cache.
1751
17522008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
1753
1754 * font.c (font_matching_entity): Reflect ATTRS in font selection.
1755 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
1756
17572008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
1758
1759 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
1760 a suspended terminal.
1761
17622008-09-30 Michael Albinus <michael.albinus@gmx.de>
1763
1764 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
1765
17662008-09-30 Eli Zaretskii <eliz@gnu.org>
1767
1768 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
1769
17702008-09-30 Chong Yidong <cyd@stupidchicken.com>
1771
1772 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
1773 in a continued line coincides with a line beginning.
1774
17752008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
1776
1777 * nsfont.m (nsfont_trait_distance): Fix bug.
1778 (nsfont_list): Return a list rather than a vector (syncs with Handa
1779 changes of 2008-05-14).
1780 (nsfont_open): Improve logging.
1781
17822008-09-29 Andreas Schwab <schwab@suse.de>
1783
1784 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1785
17862008-09-28 Martin Rudalics <rudalics@gmx.at>
1787
1788 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
1789 name as char-resolve-modifiers.
1790 Reported by: Markus Triska <markus.triska@gmx.at>
1791
17922008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1793
1794 * dispnew.c (init_display): Return earlier when running as a daemon.
1795
17962008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
1797
1798 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
1799
18002008-09-27 Eli Zaretskii <eliz@gnu.org>
1801
1802 * composite.c (Fcomposition_get_gstring)
1803 (Fcompose_region_internal, Fcompose_string_internal)
1804 (Ffind_composition_internal): Doc fix.
1805 (syms_of_composite) <compose-chars-after-function>: Doc fix.
1806 (syms_of_composite) <auto-composition-function>: Doc fix.
1807 (syms_of_composite) <composition-function-table>: Doc fix.
1808
18092008-09-25 Chong Yidong <cyd@stupidchicken.com>
1810
1811 * search.c (wordify): New argument for lax word-ends.
1812 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
1813
18142008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
1815
1816 * lisp.h (is_daemon): Declare.
1817 * dispnew.c (init_display): Do not try to initialize the terminal
1818 when running as a daemon.
1819
18202008-09-22 Chong Yidong <cyd@stupidchicken.com>
1821
1822 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
1823 x_display_pixel_height.
1824
18252008-09-22 Martin Rudalics <rudalics@gmx.at>
1826
1827 * undo.c (record_point): Don't call Fundo_boundary for first
1828 change. (Bug#731)
1829
18302008-09-22 Juanma Barranquero <lekktu@gmail.com>
1831
1832 * emacs.c (Fdaemonp): Doc fix.
1833
18342008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
1835
1836 * emacs.c (main): Place #ifdef in the proper place.
1837
18382008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1839
1840 * emacs.c (standard_args): Add --daemon.
1841 (main): Disconnect from the terminal when --daemon is passed.
1842 (is_daemon): New variable.
1843 (Fdaemonp): New function.
1844 (syms_of_emacs): Defsubr it.
1845
18462008-09-20 Chong Yidong <cyd@stupidchicken.com>
1847
1848 * xdisp.c (get_next_display_element): Handle string display
1849 correctly when checking for the end of a box run.
1850
18512008-09-20 Glenn Morris <rgm@gnu.org>
1852
1853 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
1854 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
1855 (Frename_file): Avoid copying to trash if a rename involves
1856 a delete. (Bug#964).
1857
18582008-09-20 Eli Zaretskii <eliz@gnu.org>
1859
1860 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
1861 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
1862 frames as well as termcap frames.
1863 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
1864 get_named_tty.
1865
18662008-09-19 Eli Zaretskii <eliz@gnu.org>
1867
1868 * process.c (procfs_system_process_attributes): Fix cmdline in
1869 case /proc/PID/cmdline is empty.
1870
1871 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
1872 x_display_pixel_height.
1873
18742008-09-19 Juanma Barranquero <lekktu@gmail.com>
1875
1876 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
1877
1878 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
1879 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
1880
18812008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
1882
1883 * dispextern.h (struct it): Move line_wrap away from the middle of
1884 bitfields. Move voffset in struct iterator_stack_entry after the
1885 bitfields. Move tab_width near after another short.
1886
18872008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
1888
1889 * frame.h (struct frame): Move alpha from the middle of bitfields.
1890
1891 * window.h (struct window): Move frozen_window_start_p after the
1892 rest of the bitfields to reduce padding.
1893
18942008-09-18 Chong Yidong <cyd@stupidchicken.com>
1895
1896 * xterm.h (x_display_info): Remove `height' and `width' members.
1897
1898 * nsterm.h (ns_display_info): Remove `height' and `width' members.
1899
1900 * w32term.h (w32_display_info): Remove `height', `width',
1901 `height_in', and `width_in' members.
1902
b8ff72fa
SM
1903 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1904 New functions.
aac0c6e3
MR
1905 (x_calc_absolute_position): Use them.
1906 (x_term_init): Omit removed `height' and `width' members.
1907
b8ff72fa
SM
1908 * w32term.c (x_display_pixel_height, x_display_pixel_width):
1909 New functions.
aac0c6e3
MR
1910 (w32_read_socket, x_calc_absolute_position): Use them.
1911 (w32_initialize_display_info, w32_term_init): Omit removed members
1912 of w32_display_info.
1913
b8ff72fa
SM
1914 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
1915 New functions.
1916 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 1917
b8ff72fa
SM
1918 * xterm.c (x_display_pixel_height, x_display_pixel_width):
1919 New functions.
aac0c6e3
MR
1920 (x_calc_absolute_position): Use them.
1921 (x_term_init): Omit removed `height' and `width' members.
1922
1923 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
1924 (compute_tip_xy):
1925 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
1926 * xmenu.c (menu_position_func): Use x_display_pixel_height and
1927 x_display_pixel_width.
1928
19292008-09-18 Kenichi Handa <handa@m17n.org>
1930
1931 * composite.c (fill_gstring_header): Don't check FROM and TO here.
1932 (composition_compute_stop_pos): Fix handling of static composition.
1933 (Fcomposition_get_gstring): Check FROM and TO at first.
1934
19352008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
1936
1937 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
1938 mixup (YAILOM).
1939
19402008-09-17 Chong Yidong <cyd@stupidchicken.com>
1941
1942 * indent.c (Fvertical_motion): Use position reported by iterator
1943 instead of PT for determining screen motion (bug#943).
1944
19452008-09-17 Romain Francoise <romain@orebokech.com>
1946
1947 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
1948
19492008-09-17 Kenichi Handa <handa@m17n.org>
1950
1951 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
1952
1953 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
1954 if necessary.
1955
19562008-09-16 Kenichi Handa <handa@m17n.org>
1957
1958 * coding.c (make_conversion_work_buffer): Avoid calling
1959 Fget_buffer_create if it is not necessary.
1960
19612008-09-15 Martin Rudalics <rudalics@gmx.at>
1962
1963 * window.c (Fselect_window): Don't update window_select_count and
1964 use_time when norecord is not nil.
1965
19662008-09-14 Kenichi Handa <handa@m17n.org>
1967
1968 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
1969 specpdl_ptr.
1970
19712008-09-12 Kenichi Handa <handa@m17n.org>
1972
1973 * indent.c (scan_for_column): Don't handle automatic composition
1974 if the current buffer is not associated with a window.
1975
1976 * composite.c (composition_reseat_it): If the current buffer is
1977 not associated with a window, ignore the automatic composition.
1978 (find_automatic_composition): Likewise.
1979
19802008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1981
1982 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
1983 (Fgpm_mouse_stop): Use it.
1984 * termhooks.h (close_gpm): Declare.
1985 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
1986 connection if Gpm_GetEvent fails.
1987
1988 * window.c (set_window_buffer): Always preserve current-buffer.
1989
19902008-09-12 Glenn Morris <rgm@gnu.org>
1991
1992 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
1993
19942008-09-11 Glenn Morris <rgm@gnu.org>
1995
1996 * charset.c (charset-map-path): Doc fix.
1997
19982008-09-10 Kenichi Handa <handa@m17n.org>
1999
2000 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2001
2002 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2003 compose a grapheme cluster with the preceding base glyph.
2004
2005 * composite.c (composition_compute_stop_pos): Fix previous change.
2006 Reset cmp_it->id to -1 at first.
2007
20082008-09-10 Glenn Morris <rgm@gnu.org>
2009
2010 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2011
20122008-09-09 Chong Yidong <cyd@stupidchicken.com>
2013
2014 * keyboard.c (read_key_sequence): Reapply translation maps when
2015 switching keyboards.
2016
20172008-09-09 Kenichi Handa <handa@m17n.org>
2018
2019 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2020 characters.
2021
2022 * composite.c (FORWARD_CHAR): Fix calculation
2023 of (POSITION).pos_byte.
2024 (composition_compute_stop_pos): Limit the search of composition to
2025 at most 500 characters ahead. If we reach the limit or find a
2026 newline, set cmp_it->ch to -2 and return 0.
2027 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2028
20292008-09-08 Kenichi Handa <handa@m17n.org>
2030
2031 * indent.c (Fvertical_motion): Be sure to set
2032 it_overshoot_expected if it.cmp_it.id is non-negative.
2033
20342008-09-07 Andreas Schwab <schwab@suse.de>
2035
2036 * callproc.c (Fcall_process): Don't hold references to string data
2037 across garbage collection. Move initialisation of new_argv down
2038 to avoid compiler bug.
2039
20402008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2041
2042 * process.c (Fsystem_process_attributes): Doc fix.
2043
20442008-09-07 Chong Yidong <cyd@stupidchicken.com>
2045
2046 * callproc.c (Fcall_process): Canonicalize current directory name.
2047
2048 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2049 iterator advances to the next line if the current line ends in a
2050 continued tab.
2051
20522008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2053
2054 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2055 member to point to cmp_from.
2056
2057 * xdisp.c: Doc fix for references to gidx data member.
2058
20592008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2060
2061 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2062
20632008-09-07 Kenichi Handa <handa@m17n.org>
2064
2065 * composite.c (FORWARD_CHAR): Check STOP after
2066 incrementing (POSITION).pos.
2067
20682008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2069
2070 * process.c (Fsystem_process_attributes): Doc fix.
2071
20722008-09-06 Chong Yidong <cyd@stupidchicken.com>
2073
2074 * keyboard.c (Ftop_level): Doc fix.
2075
20762008-09-06 Eli Zaretskii <eliz@gnu.org>
2077
2078 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2079 minibuffer, don't let lower part of menu invade the echo area.
2080
2081 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2082 "char *q" to access menu text and advance through it. Revert the
2083 change that displayed ">" instead of ASCII character 0x10.
2084
20852008-09-05 Eli Zaretskii <eliz@gnu.org>
2086
2087 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2088 toggle boxes and radio buttons on MS-DOS as well.
2089
20902008-09-05 Kenichi Handa <handa@m17n.org>
2091
2092 * composite.c (autocmp_chars): Check lookback count.
2093 (composition_compute_stop_pos): Set cmp_it->lookback.
2094 (composition_reseat_it): Check lookback count.
2095 (struct position_record): New struct.
2096 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2097 (find_automatic_composition): New function.
2098 (composition_adjust_point): Use find_automatic_composition.
2099
2100 * dispextern.h (struct composition_it): New member lookback.
2101
21022008-09-02 Chong Yidong <cyd@stupidchicken.com>
2103
2104 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2105 if moving by a single line.
2106
21072008-09-02 Andreas Schwab <schwab@suse.de>
2108
2109 * xterm.c (x_delete_display): Fix merge error.
2110
2111 * fileio.c (Fexpand_file_name): Remove unused variables.
2112
21132008-09-02 Eli Zaretskii <eliz@gnu.org>
2114
2115 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2116 storage on all platforms, not just on DOS_NT.
2117
21182008-09-02 Jason Rumney <jasonr@gnu.org>
2119
b8ff72fa
SM
2120 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2121 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2122
21232008-09-01 Chong Yidong <cyd@stupidchicken.com>
2124
2125 * xfaces.c (Finternal_set_alternative_font_family_alist)
2126 (Finternal_set_alternative_font_registry_alist): Properly copy
2127 entire alist structure.
2128
21292008-09-01 Kenichi Handa <handa@m17n.org>
2130
d66c0241 2131 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2132 representative chars of the script is a vector.
d66c0241
JB
2133 (ftfont_list): Handle the case where the representative chars of
2134 the script is a vector.
aac0c6e3
MR
2135
2136 * character.c (syms_of_character): Docstring of
2137 script-representative-chars fixed.
2138
21392008-08-31 Eli Zaretskii <eliz@gnu.org>
2140
2141 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2142 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2143 the menu. Allocate larger buffer for `text', to account for
2144 possible ^C characters.
2145
21462008-08-31 Martin Rudalics <rudalics@gmx.at>
2147
2148 * xdisp.c (prepare_menu_bars): Don't call
2149 Vwindow_size_change_functions with arg Qt.
2150
21512008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2152
2153 * font.h (font_range):
2154 * fileio.c (report_file_error):
2155 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2156
21572008-08-30 Glenn Morris <rgm@gnu.org>
2158
2159 * data.c (Fmake_variable_frame_local): Doc fix.
2160
2161 * frame.c (Fmodify_frame_parameters): Doc fix.
2162
21632008-08-30 Eli Zaretskii <eliz@gnu.org>
2164
2165 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2166 needed by GetTokenInformation.
2167 (w32_system_process_attributes): Check return values of all system
2168 APIs.
2169
2170 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2171 only when the state changes.
2172 (IT_update_begin, IT_update_end): Add termscript trace.
2173
2174 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2175 clipboard is unavailable. Set dst to NULL if it doesn't point to
2176 malloc'ed data.
2177 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2178 passing random values to xfree.
2179
2180 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2181 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2182
21832008-08-29 Jason Rumney <jasonr@gnu.org>
2184
2185 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2186
21872008-08-29 Eli Zaretskii <eliz@gnu.org>
2188
2189 * composite.c (fill_gstring_body): Avoid compiler warnings.
2190
2191 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2192 LGLYPH_SET_CODE to avoid compiler warnings.
2193
2ae37cf0 2194 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2195
2196 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2197
2198 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2199 LGLYPH_SET_CODE.
2200
22012008-08-29 Kenichi Handa <handa@m17n.org>
2202
2203 * fileio.c (report_file_error): Don't downcase the first character
2204 of errstring if it is still unibyte.
2205
22062008-08-29 Kenichi Handa <handa@m17n.org>
2207
2208 These changes are to re-implement the automatic composition so
2209 that it doesn't use text properties.
2210
2211 * Makefile.in (ftfont.o): Depend on composite.h.
2212 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2213
2214 * character.h (Vunicode_category_table): Extern it.
2215
2216 * character.c (Vunicode_category_table): New variable.
2217 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2218
2219 * chartab.c (optimize_sub_char_table): Perform more greedy
2220 optimization.
2221
b8ff72fa
SM
2222 * composite.h (enum composition_method):
2223 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2224 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2225 (Vcomposition_function_table): Extern it.
2226 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2227 (composition_gstring_put_cache, composition_gstring_from_id)
2228 (composition_gstring_p, composition_gstring_width)
2229 (composition_compute_stop_pos, composition_reseat_it)
2230 (composition_update_it, composition_adjust_point): Extern them.
2231 (Fcomposition_get_gstring): EXFUN it.
2232
d66c0241 2233 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2234 (Vcomposition_function_table)
2235 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2236 (gstring_hash_table, gstring_work, gstring_work_headers):
2237 New variables.
aac0c6e3
MR
2238 (gstring_lookup_cache, composition_gstring_put_cache)
2239 (composition_gstring_from_id, composition_gstring_p)
2240 (composition_gstring_width, fill_gstring_header)
2241 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2242 (composition_reseat_it, composition_update_it)
b8ff72fa 2243 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2244 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2245 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2246 Defsubr compostion_get_gstring.
2247
2248 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2249 cmp_id.
2250 (struct glyph_string): Delete the member gidx. New members
2251 cmp_id, cmp_from, and cmp_to.
2252 (enum it_method): Delete GET_FROM_COMPOSITION.
2253 (struct composition_it): New struct.
2254 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2255 Delete c, len, cmp_id, cmp_len in u.comp.
2256
2257 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2258 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2259 (enum lglyph_indices): Likewise.
b8ff72fa 2260 (font_range): Adjust extern.
aac0c6e3
MR
2261 (font_fill_lglyph_metrics): Extern it.
2262
2263 * font.c (QCf): New variable.
2264 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2265 (font_prepare_composition): Delete this function.
2266 (font_range): Type and arguments changed.
2267 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2268 (font_fill_lglyph_metrics): New function.
b8ff72fa 2269 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2270 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2271 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2272 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2273
2274 * fontset.h (font_for_char): Extern it.
2275
2276 * fontset.c (font_for_char): New function.
2277
2278 * ftfont.c: Include composite.h.
2279 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2280 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2281
2282 * indent.c: Include composite.h and dispextern.h.
2283 (check_composition): Delete this function.
2284 (scan_for_column): Handle composition by
2285 composition_compute_stop_pos, composition_reseat_it, and
2286 composition_update_it.
2287 (compute_motion): Likewise.
2288 (Fvertical_motion): Fix checking of composition.
2289
2290 * keyboard.c (adjust_point_for_property): Check composition by
2291 composition_adjust_point.
2292
b8ff72fa 2293 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2294 struct glyph_string.
2295
b8ff72fa
SM
2296 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2297 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2298 struct glyph.
2299 (produce_composite_glyph): Likewise.
2300
b8ff72fa
SM
2301 * w32term.c (x_draw_composite_glyph_string_foreground):
2302 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2303 (x_draw_glyph_string): Likewise.
2304
2305 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2306 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2307
2308 * xdisp.c: Include font.h.
2309 (it_props): Delete the entry for Qauto_composed.
2310 (init_iterator): Initialize it->cmp_it.id to -1.
2311 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2312 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2313 (handle_auto_composed_prop): Delete it.
2314 (handle_composition_prop): Handle only static composition.
2315 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2316 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2317 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2318 (pop_it): Likewise.
2319 (get_next_element): Delete next_element_from_composition.
2320 (CHAR_COMPOSED_P): New macro.
2321 (get_next_display_element): For automatic composition, get a face
2322 from the font in the glyph-string.
2323 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2324 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2325 (next_element_from_string): Check if the character at the current
2326 position is composed by CHAR_COMPOSED_P.
2327 (next_element_from_buffer): Likewise.
d66c0241
JB
2328 (next_element_from_composition): Adjust for the change of struct it.
2329 Update it->cmp_it.
b8ff72fa
SM
2330 (dump_glyph): Adjust for the change of struct glyph.
2331 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2332 it and struct glyph. Don't handle automatic composition here.
2333 (fill_gstring_glyph_string): New function.
2334 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2335 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2336 (BUILD_GSTRING_GLYPH_STRING): New macro.
2337 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2338 automatic composition.
b8ff72fa 2339 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2340 struct glyph.
b8ff72fa 2341 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2342
b8ff72fa 2343 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2344 the change of struct glyph_string.
2345 (x_draw_glyph_string): Likewise.
2346
23472008-08-29 Glenn Morris <rgm@gnu.org>
2348
2349 * buffer.c (word-wrap): Doc fix.
2350 * xdisp.c (truncate-partial-width-windows): Doc fix.
2351 Increase default to 50.
2352
23532008-08-29 Chong Yidong <cyd@stupidchicken.com>
2354
2355 * xdisp.c (update_tool_bar_unwind): New function.
2356 (update_tool_bar): Temporarily set selected frame before building
2357 tool-bar items.
2358
23592008-08-28 Michael Albinus <michael.albinus@gmx.de>
2360
2361 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2362 snprintf, respectively.
2363 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2364
23652008-08-28 Chong Yidong <cyd@stupidchicken.com>
2366
2367 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2368 LDFLAGS to GNUstep CC invocation.
2369
23702008-08-27 Chong Yidong <cyd@stupidchicken.com>
2371
2372 * indent.c (Fvertical_motion): Revert last change. Handle the
2373 general case where we are moving forward, and PT spans multiple
2374 screen lines.
2375
2376 * eval.c (find_handler_clause): Temporarily increase
2377 max-lisp-eval-depth while printing the backtrace buffer, to
2378 guarantee that help-mode code can run.
2379
23802008-08-27 Eli Zaretskii <eliz@gnu.org>
2381
2382 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2383 colors under -rv.
2384 (IT_set_frame_parameters): Don't swap foreground and background
2385 colors if `(reverse . t)' is present in the frame properties.
2386 (internal_terminal_init): Call init_frame_faces only for the
2387 initial frame.
2388
23892008-08-27 Andreas Schwab <schwab@suse.de>
2390
2391 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2392
23932008-08-27 Andreas Schwab <schwab@suse.de>
2394
2395 * search.c (search_buffer): Set char_base to zero only at the end.
2396
23972008-08-27 Kenichi Handa <handa@m17n.org>
2398
b8ff72fa 2399 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2400
24012008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2402
2403 * xterm.c (x_term_init): Temporarily hide the partially
2404 initialized terminal while calling vendor-specific-keysyms.
2405
24062008-08-26 Eli Zaretskii <eliz@gnu.org>
2407
2408 * msdos.c (internal_terminal_init): Most initializations done only
2409 once, especially initial_screen_colors[] and termscript open.
2410
24112008-08-26 Chong Yidong <cyd@stupidchicken.com>
2412
2413 * eval.c (Fcondition_case): Doc fix.
2414
2415 * widgetprv.h (EmacsFramePart): Change font member to the new font
2416 struct.
2417
2418 * widget.c: Include character.h and font.h for XSETFONT.
2419 (setup_frame_gcs): Compute X font id from font struct, just once.
2420
24212008-08-26 Eli Zaretskii <eliz@gnu.org>
2422
2423 * term.c (get_named_tty): Fix last change.
2424
24252008-08-26 Chong Yidong <cyd@stupidchicken.com>
2426
2427 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2428 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2429
24302008-08-25 Eli Zaretskii <eliz@gnu.org>
2431
2432 * frame.c (do_switch_frame): Mark previously displayed frame as
2433 obscured for FRAME_MSDOS_P frames as well.
2434
24352008-08-24 Eli Zaretskii <eliz@gnu.org>
2436
2437 * frame.c (make_terminal_frame): Initialize f->terminal,
2438 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2439 Set the top frame to newly created frame.
2440 (Fmake_terminal_frame): Reuse the_only_display_info.
2441
2442 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2443 estimating available memory.
2444
b97439ce 24452008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2446
2447 * nsterm.m (ns_draw_window_cursor): Don't call
2448 NSDisableScreenUpdates and NSEnableScreenUpdates on
2449 non-NS_IMPL_COCOA systems.
2450
24512008-08-23 Andreas Schwab <schwab@suse.de>
2452
2453 * process.c (procfs_system_process_attributes): Fix use of
2454 uninitialized variables.
2455
24562008-08-23 Eli Zaretskii <eliz@gnu.org>
2457
2458 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2459
2460 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2461 calling tty-set-up-initial-frame-faces.
2462
b8ff72fa
SM
2463 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2464 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2465
2466 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2467 addition to output_termcap.
2468
2469 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2470
2471 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2472 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2473 highlight.
2474
2475 * process.c [!subprocesses]: Define QCname.
2476 (syms_of_process): Intern and staticpro it.
2477
2478 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2479 Adjust for changes in encoding/decoding routines.
2480 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2481 encode_coding and decode_coding.
2482
b8ff72fa 2483 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2484
2485 * dosfns.c: Include frame.h before termhooks.h.
2486 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2487 variable termscript.
2488
2489 * s/msdos.h (USER_FULL_NAME): Define.
2490 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2491
2492 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2493 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2494 pw->pw_gecos.
2495
2496 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2497 SELECTED_FRAME as additional (1st) argument.
2498 (tty_read_avail_input): Handle output_msdos_raw in
2499 addition to output_termcap.
2500
2501 * msdos.c: Include frame.h before termhooks.h.
2502 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2503 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2504 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2505 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2506 (IT_set_terminal_modes, IT_reset_terminal_modes)
2507 (IT_set_frame_parameters): Use tty->termscript instead of a global
2508 variable termscript.
2509 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2510 global variable terminal_coding. Don't refer to
2511 Vnonascii_translation_table.
2512 (internal_terminal_init): Set Vwindow_system in current_kboard.
2513 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2514 Announce date and time of session start, if termscript is open.
2515 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2516 term.c:init_tty). Open termscript only of not already open.
2517 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2518 here instead of dos_ttraw. Don't initialize display if this is an
2519 initial tty. Don't set FRAME_FONT.
2520 (Vwindow_system_version): Bump to 23.
2521 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2522 is available, set up mouse_position_hook.
2523 (dos_ttraw, IT_set_terminal_modes): If called with initial
2524 terminal, do nothing.
2525 (IT_set_frame_parameters): Handle the Qtty_type frame
2526 parameter by calling internal_terminal_init.
2527 (dos_set_window_size, show_mouse_face)
2528 (clear_mouse_face, IT_note_mode_line_highlight)
2529 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2530 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2531 (initialize_msdos_display): New function.
2532 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2533 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2534 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2535 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2536 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2537 (request_sigio, unrequest_sigio): Don't define, now defined on
2538 sysdep.c.
2539 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2540
2541 * term.c [MSDOS]: Include msdos.h.
2542 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2543 conditional to DOS_NT. Allow only one call to this function in a
2544 session. Don't allocate a new struct tty_display_info; instead,
2545 reuse the_only_display_info. Call get_tty_size to get screen
2546 dimensions. Call init_baud_rate to set bad_rate.
2547 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2548 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2549 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2550 (get_tty_terminal, get_named_tty, Ftty_type)
2551 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2552 output_termcap.
b8ff72fa
SM
2553 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2554 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2555 only when subprocesses are supported.
aac0c6e3
MR
2556
2557 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2558 f->output_data.x.
2559 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2560 terminal devices.
2561
5582fbc7 2562 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2563 x_output.
2564 (FRAME_FONT): Use output_data.tty.
2565 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2566 (struct x_display_info): Rename from display_info. Update all users in
2567 msdos.c.
aac0c6e3 2568 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2569 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2570 (dos_ttraw): Update prototype.
2571
2572 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2573 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2574
25752008-08-23 Jason Rumney <jasonr@gnu.org>
2576
2577 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2578 (fn_TIFFSetDirectory): New library function used.
2579 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2580 (tiff_load): Use :index to select among multiple images. Set count
2581 property when multiple images exist.
2582 (gif_format): Use :index, not :image.
2583
25842008-08-23 Chong Yidong <cyd@stupidchicken.com>
2585
2586 * xdisp.c (try_scrolling): Check INT_MAX instead of
2587 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2588 to obtain INT_MAX.
2589
25902008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2591
2592 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2593
25942008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2595
2596 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2597 GNUstep library location.
2598
25992008-08-21 Chong Yidong <cyd@stupidchicken.com>
2600
2601 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2602 before using it.
2603
2604 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2605
26062008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2607
2608 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2609 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2610 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2611 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2612 (EmacsApp-cursor_blink_handler): Remove declaration.
2613 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2614 match 01 Feb 2008 changes in xterm.c.
2615 (ns_read_socket): Add cast to avoid warning.
2616 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2617 GNUstep.
2618
26192008-08-20 Chong Yidong <cyd@stupidchicken.com>
2620
2621 * xselect.c (x_get_foreign_selection): Return nil if desired
2622 selection could not be obtained, instead of signalling an error.
2623
26242008-08-20 David Reitter <david.reitter@gmail.com>
2625
2626 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2627 * nsterm.m: Remove ns-specific code for cursor blinking.
2628 (ns_draw_window_cursor): Clear cursor properly rather than
2629 redrawing the area. Respect width of bar cursors.
2630 These changes enable the use of generic blink-cursor-mode and
2631 generic cursor types in NS and support smooth cursor movements (do
2632 not blink off after command).
2633 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2634 Nextstep, too.
2635
26362008-08-19 Kenichi Handa <handa@m17n.org>
2637
2638 * font.c (Vfont_log_deferred): New variable.
2639 (font_add_log): Check Vfont_log_deferred.
2640 (font_deferred_log): New function.
2641
2642 * font.h (font_deferred_log): Extern it.
2643
2644 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2645 for sorting.
2646 (face_for_char): Use deferred log.
2647
26482008-08-18 Kenichi Handa <handa@m17n.org>
2649
2650 * fontset.c (face_for_char): Add font log.
2651
2652 * font.c (font_add_log): Add the font properties :script, :lang,
2653 and :otf in the log.
2654
26552008-08-17 Chong Yidong <cyd@stupidchicken.com>
2656
2657 * xdisp.c: Remove dead code.
2658 (handle_invisible_prop, next_overlay_string): Defer call to
2659 setup_for_ellipsis.
2660 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2661
26622008-08-15 Chong Yidong <cyd@stupidchicken.com>
2663
2664 * xfaces.c (lookup_derived_face): Properly handle possible zero
2665 return value of get_lface_attributes.
2666 (merge_faces): Don't tell lookup_derived_face to signal an error
2667 if face is not found.
2668
2669 * dired.c (Fdirectory_files): Doc fix.
2670
2671 * process.c (make_process): Initialize kill_without_query struct
2672 member.
2673
26742008-08-15 Eli Zaretskii <eliz@gnu.org>
2675
2676 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2677 Alternative calculation of totphys for Visual Studio 6.
2678
2679 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2680
2681 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2682 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2683 All users changed.
2684 (stat): Only root directory passed to GetDriveType. Allow RAM
2685 disk as well as local fixed disk when w32-get-true-file-attributes
2686 is set to `local'.
2687 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2688 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2689 (w32_cached_id, w32_add_to_cache): New functions.
2690 (get_name_and_id): Look account names in the cache before calling
2691 lookup_account_sid.
2692 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2693 New initialization flags.
2694 (globals_of_w32): Initialize them to zero.
2695 (w32_system_process_attributes): Use w32_cached_id and
2696 w32_add_to_cache.
2697
26982008-08-14 Lawrence Mitchell <wence@gmx.li>
2699
2700 * lread.c (Fread_char, Fread_char_exclusive): If no character
2701 event is read before timeout is reached, return nil, rather than
2702 converting to a number.
2703
27042008-08-14 Chong Yidong <cyd@stupidchicken.com>
2705
2706 * fns.c (use_dialog_box): Doc fix.
2707
2708 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2709 on OS X.
2710
27112008-08-13 Chong Yidong <cyd@stupidchicken.com>
2712
2713 * frame.c (Qns_parse_geometry): New var.
2714 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
2715
27162008-08-11 Chong Yidong <cyd@stupidchicken.com>
2717
2718 * xdisp.c (x_produce_glyphs): Handle the case when font has no
2719 space character in calculating tabs.
2720
27212008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
2722
2723 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
2724
27252008-08-10 Glenn Morris <rgm@gnu.org>
2726
2727 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
2728 silence gcc "limited range of data type" warnings in some
2729 make_fixnum_or_float calls.
2730
27312008-08-09 Eli Zaretskii <eliz@gnu.org>
2732
2733 * w32.c (w32_system_process_attributes): If the process does not
2734 exist, return nil.
2735
2736 * w32.c: Include thelp32.h, psapi.h and coding.h.
2737 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
2738 declarations.
2739 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
2740 (Process32Next_Proc): New typedefs.
2741 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
2742 (g_b_init_process32_next, g_b_init_open_thread_token)
2743 (g_b_init_impersonate_self, g_b_init_revert_to_self)
2744 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
2745 (g_b_init_get_process_working_set_size)
2746 (g_b_init_global_memory_status_ex): New static variables.
2747 (globals_of_w32): Initialize them.
2748 (create_toolhelp32_snapshot, process32_first, process32_next)
2749 (open_thread_token, impersonate_self, revert_to_self)
2750 (get_process_memory_info, get_process_working_set_size)
2751 (global_memory_status, global_memory_status_ex): New wrapper
2752 functions.
2753 (w32_list_system_processes, w32_system_process_attributes)
2754 (enable_privilege, restore_privilege, ltime, process_times):
2755 New functions.
2756 (convert_time_raw): New function.
2757 (convert_time): Remove conversion of FILETIME into time in 100
2758 nsec units, call convert_time_raw instead.
2759
2760 * process.h (w32_list_system_processes, w32_system_process_attributes):
2761 Add prototypes.
2762 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
2763 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
2764 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
2765 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
2766
2767 * process.c (Fsystem_process_attributes): Doc fix.
2768
27692008-08-08 Chong Yidong <cyd@stupidchicken.com>
2770
2771 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
2772 a continued multi-char glyph; if so, advance to the actual glyph.
2773
27742008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
2775
2776 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
2777
2778 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
2779 (.m.o): Use it.
2780 * config.in: Regenerate.
2781
27822008-08-07 Chong Yidong <cyd@stupidchicken.com>
2783
2784 * xdisp.c (redisplay_window): Revert last change.
2785 (try_window): Check bottom scroll margin too.
2786
27872008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2788
2789 * config.in: Regenerate.
2790
2791 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
2792 -list-load-path-shadows'.
2793 (nsgui.h): Reduce number of things depending on it.
2794
27952008-08-06 Chong Yidong <cyd@stupidchicken.com>
2796
2797 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
2798 instead of window-end which does the wrong thing at eob.
2799 (try_cursor_movement): Minor optimization.
2800 (redisplay_window): If scroll margin is defined, don't assume
2801 window doesn't need scrolling.
2802
28032008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2804
2805 * config.in: Regenerate.
2806
2807 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
2808 (mostlyclean): Don't delete *.d under NS.
2809
2810 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
2811
28122008-08-06 Kenichi Handa <handa@m17n.org>
2813
2814 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
2815
28162008-08-06 Andreas Schwab <schwab@suse.de>
2817
2818 * config.in: Regenerate.
2819
28202008-08-05 Chong Yidong <cyd@stupidchicken.com>
2821
2822 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
2823 forcing a window start.
2824
2825 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
2826 (auto_save_1): Update modtime when auto-save-list-file-name is on.
2827
28282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2829
2830 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
2831 argument.
2832
28332008-08-05 Juanma Barranquero <lekktu@gmail.com>
2834
2835 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
2836 <scroll-down-aggressively, before-change-functions>:
2837 <after-change-functions>: Reflow docstrings.
2838
28392008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2840 Ken Raeburn <raeburn@gnu.org>
2841
2842 Dock menu customization, based on a patch by Ken Raeburn, plus some
2843 other fixes.
2844 * nsmenu.m (dockMenu): New variable.
2845 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
2846
2847 * nsterm.h (dockMenu): Declare.
2848
2849 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
2850 (ns_term_init): Initialize dockMenu.
2851 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
2852 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
2853 left.
2854
2855 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
2856
28572008-08-04 Chong Yidong <cyd@stupidchicken.com>
2858
2859 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
2860
2861 * config.in: Regenerate.
2862
28632008-08-04 Seiji Zenitani <zenitani@mac.com>
2864
2865 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
2866
28672008-08-04 Chong Yidong <cyd@stupidchicken.com>
2868
2869 * nsterm.h (find_and_call_menu_selection): Fix prototype.
2870
28712008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2872
2873 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
2874
2875 * keyboard.h: Comment an #endif.
2876
2877 * lisp.h (have_menus_p): Adjust comment.
2878
2879 * menu.c (find_and_return_menu_selection): Fix comparison with
2880 client_data.
2881
2882 * nsmenu.m (popup_activated_flag): New variable.
2883 (popup_activated): New function.
2884 (menu-or-popup-active-p): New exported lisp definition.
2885 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
2886 when popup done.
2887 (ns_popup_dialog): Set popup_activated_flag.
2888
2889 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
2890 version for GNUstep (handled by conditional typedef in nsterm.m).
2891 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
2892 in rgb.txt).
2893
2894 * process.c (init_process): Use DARWIN_OS, not DARWIN.
2895
2896 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
2897
2898 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
2899
2900 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
2901 shortcircuit if popup_activated like GTK and X toolkit.
2902
2903 * m/inter386.h: Change DARWIN to DARWIN_OS.
2904
2905 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
2906 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
2907 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
2908 comment on NO_SOCK_SIGIO.
2909
29102008-08-03 Chong Yidong <cyd@stupidchicken.com>
2911
2912 * nsterm.m (windowDidResize): Remove stopModal call.
2913
29142008-08-03 Andreas Schwab <schwab@suse.de>
2915
2916 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
2917 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
2918
29192008-08-02 Chong Yidong <cyd@stupidchicken.com>
2920
2921 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
2922 Don't use uninitialized pointer variable when using getrlimit.
2923
29242008-08-02 Jason Rumney <jasonr@gnu.org>
2925
2926 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
2927
29282008-08-02 Eli Zaretskii <eliz@gnu.org>
2929
2930 * alloc.c (NSTATICS): Bump to 0x640.
2931
2932 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
2933
2934 * lisp.h: Add prototype for directory_files_internal.
2935
2936 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
2937 New functions.
2938 (syms_of_process): Defsubr them. Add initializations for various
2939 Q* symbols used in procfs_system_process_attributes.
2940 (procfs_list_system_processes, procfs_system_process_attributes)
2941 [HAVE_PROCFS]: New functions.
2942 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
2943 (procfs_get_total_memory): New functions.
2944
29452008-08-01 Juanma Barranquero <lekktu@gmail.com>
2946
2947 * xfaces.c (Fx_load_color_file): Fix previous change;
2948 it is #ifdef WINDOWSNT, not WINDOWS_NT.
2949
29502008-08-01 Michael Albinus <michael.albinus@gmx.de>
2951
2952 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
2953
29542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2955
2956 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
2957
29582008-08-01 Chong Yidong <cyd@stupidchicken.com>
2959
2960 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
2961
2962 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
2963 define NSApplicationDelegateReplySuccess.
2964 (EmacsView -converstationIdentifier): Use long instead of
2965 NSInteger for GNUstep, since it doesn't have NSInteger.
2966
2967 * xmenu.c: Revert last change.
2968
2969 * keyboard.h: Fix last change.
2970
29712008-08-01 Juanma Barranquero <lekktu@gmail.com>
2972
2973 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
2974 on Windows.
2975
29762008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2977
2978 Warning clearing and clean-up in NS port.
2979 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
2980 Add prototypes.
2981 * nsgui.h (FACE_DEFAULT): Remove, unused.
2982 (XGCValues): Change colors to unsigned long.
2983 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
2984 nsterm.m.
2985 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
2986 (ns_list_fonts): Remove, unused.
2987 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
2988 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
2989 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
2990 (nsfont_draw): Compare face colors to 0, not nil.
2991 * nsmenu.m (struct widget_value): Drop unneeded declaration.
2992 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
2993 (-addSubmenuWithTitle:): Use NSMenuItem class.
2994 (ns_popup_menu): Use NO, not NULL, for enabled setting.
2995 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
2996 (ns_clip_to_row): Make gc arg a BOOL.
2997 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
2998 ns_clip_to_row() call.
2999 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3000 used). Cast FRAME_FONT assignments.
3001 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3002 (ns_string_to_lispmod): Change arg to const char.
3003 (ns_term_init): Use NSMenuItem class.
3004 (EmacsApp -openFile:): Move to different section of file.
3005 (EmacsApp -application:openFiles:): Don't return a value, call
3006 -replyToOpenOrPrint:.
3007 (EmacsView -keyDown:): Fix up cast.
3008 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3009 (EmacsView -menuDown:): Cast tag in call to
3010 find_and_call_menu_selection().
3011 (ns_list_fonts): Remove, unused.
3012 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3013 (ns_fontname_to_xlfd): Make static.
3014 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3015 Remove prototypes (now in keyboard.h).
3016 (next_menubar_widget_id): Remove, unused.
3017 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3018 Remove prototypes (now in keyboard.h).
3019 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3020
30212008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3022
3023 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3024 (floatfns.o): Depend on syssignal.h.
3025 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3026
3027 * systty.h: Fix previous change that removed BSD_TERMIOS.
3028 Add comments to #ifdefs.
3029
30302008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3031
3032 * w32fns.c (w32-load-color-file): Remove.
3033 (x-open-connection): Use renamed Fx_load_color_file.
3034 * xfaces.c (x-load-color-file): Add.
3035 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3036 Emacs.clr.
3037 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3038
30392008-07-31 Michael Albinus <michael.albinus@gmx.de>
3040
3041 * dbusbind.c (Fdbus_call_method_asynchronously)
3042 (Fdbus_method_error_internal): New defuns.
3043 (xd_read_message): Handle also reply messages.
3044 (Vdbus_registered_functions_table): Extend docstring.
3045
30462008-07-31 Juanma Barranquero <lekktu@gmail.com>
3047
3048 * keyboard.c (gobble_input): Fix previous change.
3049
30502008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3051
3052 * bitmaps/README:
3053 * xfns.c:
3054 * termcap.c:
3055 * term.c:
3056 * syswait.h:
3057 * systty.h:
3058 * systime.h:
3059 * syssignal.h:
3060 * sysdep.c:
3061 * process.h:
3062 * process.c:
3063 * print.c:
3064 * ndir.h:
3065 * lread.c:
3066 * keyboard.c:
3067 * getpagesize.h:
3068 * floatfns.c:
3069 * fileio.c:
3070 * emacs.c:
3071 * doc.c:
3072 * dispnew.c:
3073 * dired.c:
3074 * data.c:
3075 * callproc.c:
3076 * buffer.c:
3077 * README:
3078 * Makefile.in:
3079 * s/template.h:
3080 * s/msdos.h:
3081 * m/vax.h: Remove VMS support.
3082 * s/vms.h:
3083 * vlimit.h:
3084 * uaf.h:
3085 * temacs.opt:
3086 * param.h:
3087 * ioctl.h: Remove file.
3088
30892008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3090
3091 * s/ms-w32.h (MULTI_KBOARD): Remove.
3092 * xterm.c:
3093 * xselect.c:
3094 * xfns.c:
3095 * window.c:
3096 * w32term.c:
3097 * w32fns.c:
3098 * terminal.c:
3099 * termhooks.h:
3100 * term.c:
3101 * sysdep.c:
3102 * keyboard.h:
3103 * keyboard.c:
3104 * frame.h:
3105 * frame.c:
3106 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3107 * config.in: Regenerate.
3108
31092008-07-30 Jason Rumney <jasonr@gnu.org>
3110
3111 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3112
3113 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3114 (w32font_open_internal): Get unicode version of textmetrics.
3115 Don't enable or disable glyph indices here.
3116 (w32font_open): Disable use of glyph indices.
3117
3118 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3119
31202008-07-30 Chong Yidong <cyd@stupidchicken.com>
3121
3122 * minibuf.c (Vread_buffer_function): Doc fix.
3123
31242008-07-30 John Paul Wallington <jpw@pobox.com>
3125
3126 * minibuf.c (read_buffer_completion_ignore_case): New var.
3127 (Fread_buffer): Use it.
3128
31292008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3130
3131 * systty.h (sensemode): Remove empty #if. Remove reference to
3132 BSD_TERMIOS, unused.
3133
3134 * sysdep.c: Remove reference to DGUX.
3135 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3136
3137 * config.in: Regenerate.
3138
31392008-07-30 Jason Rumney <jasonr@gnu.org>
3140
3141 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3142
31432008-07-29 Jason Rumney <jasonr@gnu.org>
3144
3145 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3146 is populated.
3147 (uniscribe_encode_char): Always use uniscribe.
3148 Avoid using context if cache is populated.
3149
31502008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3151
3152 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3153 open menu.
3154
3155 * gtkutil.c (menu_nav_ended): Remove.
3156 (create_menus): Remove signal connect for menu_nav_ended.
3157
31582008-07-28 Chong Yidong <cyd@stupidchicken.com>
3159
3160 * xdisp.c (redisplay_window): Check return value of
3161 compute_window_start_on_continuation_line before forcing a window
3162 start.
3163
31642008-07-28 Jason Rumney <jasonr@gnu.org>
3165
3166 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3167
3168 * w32term.c (w32_enable_unicode_output, cleartype_active):
3169 Remove obsolete display options.
3170 (x_draw_glyph_string_background): Don't use old cleartype_active
3171 workaround.
3172 (w32_initialize): Remove cleartype_active initialization.
3173 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3174
31752008-07-28 Andreas Schwab <schwab@suse.de>
3176
3177 * lisp.h (init_weak_hash_tables, syms_of_font)
3178 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3179 (remove_hash_entry): Don't declare.
3180 * eval.c (maybe_call_debugger): Make static and move before use.
3181 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3182 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3183 * xterm.h (x_set_frame_alpha): Declare.
3184
31852008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3186
3187 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3188 (create_menus): Connect selection-done to menu_nav_ended.
3189
31902008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3191
3192 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3193 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3194 parameter with read of 'alpha' one.
3195 (Qns_frame_parameter): Remove.
5582fbc7 3196 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3197 (next-selection-coding-system, Vselection_coding_system)
3198 (Vnext_selection_coding_system): Drop.
3199
32002008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3201
3202 * nsfns.m (do-applescript, do_applescript): Rename to
3203 ns-do-applescript, ns_do_applescript, and move within file.
3204
32052008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3206
3207 Remove support for Mac Carbon.
3208 * mactoolbox.c:
3209 * macterm.h:
3210 * macterm.c:
3211 * macselect.c:
3212 * macmenu.c:
3213 * macgui.h:
3214 * macfns.c:
3215 * mac.c: Remove file.
3216 * s/darwin.h:
3217 * m/intel386.h:
3218 * xfaces.c:
3219 * xdisp.c:
3220 * window.c:
3221 * tparam.c:
3222 * termhooks.h:
3223 * termcap.c:
3224 * term.c:
3225 * syssignal.h:
3226 * sysselect.h:
3227 * sysdep.c:
3228 * process.c:
3229 * lread.c:
3230 * lisp.h:
3231 * keyboard.c:
3232 * image.c:
3233 * fringe.c:
3234 * frame.h:
3235 * frame.c:
3236 * fontset.c:
3237 * font.h:
3238 * font.c:
3239 * fns.c:
3240 * fileio.c:
3241 * emacs.c:
3242 * dispnew.c:
3243 * dispextern.h:
3244 * config.in:
3245 * atimer.c:
2ae37cf0 3246 * Makefile.in: Remove code for Carbon.
aac0c6e3 3247
f0131492 32482008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3249
3250 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3251
32522008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3253
3254 * macterm.h (kCGBitmapByteOrder32Host): New define for
3255 non-universal SDKs.
3256
3257 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3258 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3259
3260 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3261 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3262
32632008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3264
3265 * w32inevt.c: Include dispextern.h.
3266
32672008-07-26 Andreas Schwab <schwab@suse.de>
3268
3269 * print.c (print_object): Fix off-by-one in last change.
3270
32712008-07-25 Juanma Barranquero <lekktu@gmail.com>
3272
3273 * term.c (syms_of_term): Don't initialize default_orig_pair,
3274 default_set_foreground and default_set_background on Windows.
3275
32762008-07-25 Jason Rumney <jasonr@gnu.org>
3277
3278 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3279 ScriptItemize. Clean up return value checking. Remove unused
3280 variables.
3281 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3282 shaping engine.
3283
3284 * w32font.c (w32font_has_char): Handle the case where we can't
3285 determine the script for a character.
3286
32872008-07-25 Chong Yidong <cyd@stupidchicken.com>
3288
3289 * term.c (syms_of_term): Initialize default_orig_pair,
3290 default_set_foreground, and default_set_background.
3291
3292 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3293 clash (bug#86).
3294 (getloadavg): Callers changed.
3295
3296 * image.c (svg_load_image): Fix last change.
3297 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3298 image size is valid. Use g_object_unref instead of deprecated
3299 rsvg_handle_free to free rsvg handle.
3300 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3301
33022008-07-25 Jason Rumney <jasonr@gnu.org>
3303
3304 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3305 surrogates before looking up glyph index.
3306 (w32font_text_extents): Encode as surrogates if falling back to
3307 functions that need UTF-16 wide chars.
3308
3309 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3310 BMP as surrogates before looking up glyph index.
3311
33122008-07-25 Chong Yidong <cyd@stupidchicken.com>
3313
3314 * image.c (svg_load_image): Check for failure in return value of
3315 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3316
33172008-07-25 Jason Rumney <jasonr@gnu.org>
3318
3319 * w32font.c (Fx_select_font): Reverse sense of second arg.
3320
33212008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3322
3323 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3324 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3325
3326 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3327 (PURESIZE): Use it.
3328
33292008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3330
3331 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3332 * m/alpha.h (TEXT_END):
3333 * m/ibmrs6000.h (TEXT_END):
3334 * m/macppc.h (TEXT_END):
3335 * s/darwin.h (TEXT_END):
3336 * s/msdos.h (TEXT_END): Remove, unused.
3337 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3338 * s/cygwin.h: Remove comment.
3339
3340 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3341 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3342 * m/intel386.h (DOT_GLOBAL_START):
3343 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3344 (USG): Remove, file not used on USG platforms.
3345
3346 * Makefile.in (HAVE_X11): Remove empty #else.
3347
33482008-07-24 Andreas Schwab <schwab@suse.de>
3349
3350 * fileio.c (Finsert_file_contents): Properly adjust undo list
3351 after format conversion.
3352
33532008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3354
3355 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3356 (menu_nav_ended): Remove.
3357 (create_menus): Remove signal connect for menu_nav_ended.
3358 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3359 create_menus.
3360 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3361
33622008-07-23 Jason Rumney <jasonr@gnu.org>
3363
3364 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3365 with opened font.
3366 (w32font_open): Set font type to gdi.
3367
3368 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3369
33702008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3371
3372 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3373 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3374 defines it.
3375 * unexec.c (ADDR_CORRECT): Define unconditionally.
3376
3377 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3378
3379 * unexec.c: Remove code depending on !COFF and USG, the file is
3380 not used for such systems.
3381
3382 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3383 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3384 (LD_SWITCH_SYSTEM_1): Remove, update users.
3385
3386 * s/darwin.h (DATA_END):
3387 * m/intel386.h (DATA_END):
3388 * m/ibmrs6000.h (DATA_END):
3389 * m/alpha.h (DATA_END): Remove, unused.
3390
3391 * config.in: Regenerate.
3392 * s/ms-w32.h (subprocesses): Define unconditionally.
3393 * s/template.h (subprocesses): Update comment.
3394 * s/vms.h (subprocesses):
3395 * s/usg5-4.h (subprocesses):
3396 * s/hpux10-20.h (subprocesses):
3397 * s/gnu-linux.h (subprocesses):
3398 * s/cygwin.h (subprocesses):
3399 * s/bsd-common.h (subprocesses):
3400 * s/aix4-2.h (subprocesses):
3401 * s/darwin.h (subprocesses): Do not define, defined by default now.
3402
3403 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3404 Remove all references.
3405 (temacs): Add GNUstep specific ld flags.
3406
3407 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3408 similarly to what X does.
3409
34102008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3411
3412 * nsfns.m (x-list-fonts): Remove.
3413 (syms_of_nsfns): Drop the x-list-fonts declaration.
3414 * nsterm.m: Get rid of remaining "//" comments.
3415
34162008-07-22 Chong Yidong <cyd@stupidchicken.com>
3417
3418 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3419
3420 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3421 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3422 (Fns_own_selection_internal, Fx_disown_selection_internal)
3423 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3424
3425 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3426 ... */' style of docstrings. Doc fixes.
3427
34282008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3429
3430 * terminfo.c (UP, BC, PC): Undo previous change.
3431
3432 * nsfns.m: Rename ns prefixed functions/variables to the
3433 corresponding x versions. Update references.
3434
34352008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3436
3437 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3438
34392008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3440
3441 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3442 Remove forwarding functions.
3443 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3444 non-static.
3445 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3446 non-static.
3447 (ns_frame_parm_handlers): Use the new names.
3448 (syms_of_nsfns): Move to the end of file.
3449
3450 * nsterm.m (syms_of_nsterm): Move to the end of file.
3451
3452 * dispnew.c (init_display): Remove code for X10.
3453
34542008-07-22 Jason Rumney <jasonr@gnu.org>
3455
3456 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3457 bare drive.
3458
34592008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3460
3461 * nsterm.m (syms_of_nsterm): Remove debugging println.
3462
34632008-07-22 David Reitter <david.reitter@gmail.com>
3464
3465 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3466 Carbon implementation of the same functionality: execute arbitrary
3467 AppleScript code.
3468
34692008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3470
3471 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3472 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3473 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3474 (Fx_display_mm_height, Fx_display_mm_width)
3475 (Fx_display_backing_store, Fx_display_visual_class)
3476 (Fx_display_save_under, Fx_open_connection)
3477 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3478 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3479 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3480 (Fx_display_pixel_width, Fx_display_pixel_height)
3481 (Fx_display_usable_bounds, Fx_display_planes)
3482 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3483 ... */' style of docstrings.
3484
34852008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3486
3487 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3488 on this platform.
3489 (mips):
3490 * m/iris4d.h (mips): Do not define.
3491 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3492
3493 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3494
3495 * image.c:
3496 * nsfns.m:
3497 * nsselect.m:
3498 * nsterm.h:
3499 * nsterm.m: Rename ns prefixed functions/variables to the
3500 corresponding x versions. Update references.
3501
3502 * m/ibms390x.h (NO_REMAP): Do not undefine.
3503
3504 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3505
35062008-07-21 Chong Yidong <cyd@stupidchicken.com>
3507
3508 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3509 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3510 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3511 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3512 (Fns_display_mm_height, Fns_display_mm_width)
3513 (Fns_display_backing_store, Fns_display_visual_class)
3514 (Fns_display_save_under, Fns_open_connection)
3515 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3516 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3517 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3518 (Fns_display_pixel_width, Fns_display_pixel_height)
3519 (Fns_display_usable_bounds, Fx_display_planes)
3520 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3521
35222008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3523
3524 * print.c (print_object): Check print_depth before searching for
3525 circularities.
3526
35272008-07-21 Michael Albinus <michael.albinus@gmx.de>
3528
3529 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3530 only sprintf.
3531
35322008-07-21 Kenichi Handa <handa@m17n.org>
3533
3534 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3535
35362008-07-20 Andreas Schwab <schwab@suse.de>
3537
3538 * syntax.c (find_start_pos, find_start_value)
3539 (find_start_value_byte, find_start_begv, find_defun_start)
3540 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3541
35422008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3543
3544 * s/sol2-3.h: Insert contents of s/sol2.h.
3545 (LD_SWITCH_SYSTEM): Remove redundant definition.
3546 * s/sol2.h: Remove, unused.
3547
35482008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3549
3550 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3551
35522008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3553
3554 * Makefile.in (ns_appdir): Fix typo in find command.
3555
35562008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3557
3558 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3559
3560 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3561 added not supported anymore.
3562
3563 * s/usg5-4-2.h (LIBS_SYSTEM):
3564 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3565
3566 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3567 * s/lynxos.h (GETPGRP_NO_ARG):
3568 * s/hpux10-20.h (NO_SIOCTL_H):
3569 * s/gnu.h (GETPGRP_NO_ARG):
3570 * s/gnu-linux.h (NO_SIOCTL_H):
3571 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3572 * s/cygwin.h (GETPGRP_NO_ARG):
3573 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3574 (C_DEBUG_SWITCH): Remove duplicate definition.
3575
3576 * m/ibms390.h: Remove boilerplate comments.
3577
3578 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3579
3580 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3581 (wait_reading_process_output): Remove code for SunOS, platform not
3582 supported anymore. Use SOLARIS2 instead of sun.
3583
35842008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3585
3586 * font.c (font_open_by_name): Under NS, default lface height to zero.
3587 (font_open_for_lface): Under NS, set size based on frame fontsize.
3588 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3589 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3590
35912008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3592
3593 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3594 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3595 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3596 YES/NO.
3597 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3598 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3599 * Makefile.in (clean): Clear out build destination dir.
3600
36012008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3602
3603 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3604 xterm, xselect.
3605 * lisp.h: Remove declaration of hash_remove.
3606 * nsgui.h: Remove redefinitions of hash_remove.
3607 * fns.c (hash_remove): Rename to hash_remove_from_table.
3608
36092008-07-19 Seiji Zenitani <zenitani@mac.com>
3610
3611 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3612 strdup() the family UTF8String before modifying it.
3613
36142008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3615
3616 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3617 NS_FACE_BACKGROUND with 0 instead of nil.
3618 * nsfont.m (nsfont_draw): Same.
3619
36202008-07-19 Chong Yidong <cyd@stupidchicken.com>
3621
3622 * nsfns.m (ns_set_background_color): Fix crash.
3623
36242008-07-18 Chong Yidong <cyd@stupidchicken.com>
3625
3626 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3627
36282008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3629
3630 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3631
36322008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3633
3634 * gtkutil.c: Include <config.h> instead of "config.h".
3635
3636 * lisp.h (Foverlay_buffer): Add EXFUN.
3637
3638 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3639 child process to complete child_setup. Undo 2005-09-21 change.
3640
3641 * s/darwin.h: Mention setsid after vfork.
3642
36432008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3644
3645 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3646 Depend on macgui.h.
3647
3648 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3649 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3650
3651 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3652 and f19.
3653 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3654
3655 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3656 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3657 Remove enumerators.
3658
3659 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3660 Check if FACE_FROM_ID returns NULL.
3661
36622008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3663
3664 * w32inevt.c (change_frame_size): Remove extern declaration.
3665 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3666 change_frame_size.
3667
36682008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3669
3670 * getloadavg.c: Revert last change (2008-07-15).
3671
36722008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3673
3674 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3675 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3676 from configure.
3677
36782008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3679
3680 * s/sol2.h:
3681 * s/sol2-4.h: Reorganize conditionals.
3682
3683 * ecrt0.c: Remove code depending on m68000, not used anymore.
3684
3685 * fns.c (hash_remove): Make static.
3686 * lisp.h (hash_remove): Don't prototype.
3687
3688 * m/ibmrs6000.h:
3689 * m/ibms390x.h:
3690 * m/macppc.h: Remove boilerplate comments.
3691
3692 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3693 Solaris, which does not need them.
3694
3695 * m/vax.h: Remove comments about unsupported systems.
3696
3697 * s/darwin.h: Reorganize ifdefs.
3698
36992008-07-17 Andreas Schwab <schwab@suse.de>
3700
3701 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3702
37032008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3704
3705 Use SDATA. Follow coding convention of placing operators at
3706 beginning of next line rather than end of previous line, and placing
3707 spaces around infix operators.
3708
3709 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3710 in case it was defined already.
3711 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3712 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3713 ns_default.
3714 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
3715 Lisp_Objects.
3716 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
3717 (ns_defined_color, ns_color_to_lisp): Declare.
3718 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
3719 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
3720 it's accepted even with USE_LISP_UNION_TYPE.
3721 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
3722 (update_frame_tool_bar): Remove apparently obsolete tests for
3723 non-integerness of f->tool_bar_lines.
3724 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
3725 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
3726 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
3727 (nsfont_open): Don't confuse NULL for Qnil.
3728 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
3729 * menu.h (find_and_call_menu_selection):
3730 * menu.c (find_and_call_menu_selection): Use just int for vector size.
3731 (find_and_return_menu_selection): Always return something.
3732 * frame.h: Include dispextern.h for Display_Info.
3733 (display_x_get_resource): Declare.
3734
37352008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
3736
3737 * syntax.c: Remove stdio.h include accidentally introduced in
3738 Emacs.app commit.
3739 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
3740 NS_IMPL_COCOA.
3741 * keyboard.c (handle_async_input, input_available_signal): Remove
3742 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
3743
37442008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3745
3746 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
3747 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
3748 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
3749 Use SDATA.
3750
3751 * keymap.c: Remove all NS-specific code.
3752 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
3753 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
3754 where_is_preferred_modifier, return a different value depending on how
3755 preferred is the binding.
3756 (where_is_internal): Adjust accordingly.
3757 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
3758 Adjust to new preferred_sequence_p.
3759 (syms_of_keymap): Declare `where-is-preferred-modifier'.
3760 * keyboard.c (parse_solitary_modifier): Not static any more.
3761 * keyboard.h (parse_solitary_modifier): Declare.
3762
37632008-07-16 Andreas Schwab <schwab@suse.de>
3764
3765 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
3766 of easymenu.
3767
37682008-07-16 Chong Yidong <cyd@stupidchicken.com>
3769
3770 * xdisp.c (move_it_in_display_line): Account for word wrap, so
3771 that we don't move off the line.
3772
37732008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
3774
3775 * keyboard.c (Qsuper): Remove.
3776 (parse_menu_item): Don't call where_is_internal specially for NS.
3777
37782008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3779
3780 * s/gnu-linux.h: Remove boilerplate comments.
3781
3782 * m/alpha.h (__ELF__): Consolidate conditions.
3783
3784 * m/m68k.h (linux): Use GNU_LINUX instead.
3785 Remove boilerplate comments.
3786
3787 * m/intel386.h: Undo refactoring from previous change.
3788 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
3789 too, remove dead code.
3790 (linux): Use GNU_LINUX instead.
3791
37922008-07-16 Jason Rumney <jasonr@gnu.org>
3793
3794 * w32gui.h: Repeat 26 June changes lost by last change.
3795
37962008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
3797
3798 * systty.h: Remove code for Aix on 386, unsupported platform.
3799
3800 * s/ms-w32.h: Remove boilerplate comments.
3801 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
3802
3803 * s/gnu-linux.h (TERM): Remove support.
3804 (HAVE_SYSVIPC): Remove, unused.
3805 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
3806 for this system.
3807
3808 * process.c: Remove support for IRIS, unused.
3809 Remove support for TERM, not relevant anymore.
3810
3811 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
3812 used with the definition.
3813
3814 * s/aix4-2.h (static): Do not undef.
3815
3816 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
3817 only used on Aix.
3818 (HAVE_SYSVIPC): Remove, unused.
3819
3820 * m/hp800.h (CANNOT_DUMP): Do not undef.
3821
3822 * m/alpha.h: Fix comment.
3823
3824 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
3825 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
3826 used by this configuration.
3827 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
3828 * unexec.c: Remove code depending on HPUX and
3829 USG_SHARED_LIBRARIES, not used with this file. Remove code
3830 depending on IRIS, unused. Remove if 0-ed code.
3831
3832 * s/template.h: Remove comments about static.
3833
3834 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
3835 Remove if 0-ed code.
3836 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
3837 were the same as the default.
3838 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
3839 Remove boilerplate comments.
3840 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
3841 (HAVE_SYSVIPC): Remove, unused.
3842 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
3843
3844 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3845 Remove boilerplate comments.
3846 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3847 Remove boilerplate comments.
3848 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
3849 Remove boilerplate comments.
3850 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
3851
3852 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
3853 USG systems which do not use DATA_SEG_BITS.
3854 Refactor code. Remove boilerplate comments.
3855
3856 * m/ibms390.h:
3857 * m/m68k.h:
3858 * s/bsd-common.h:
3859 * s/cygwin.h:
3860 * s/darwin.h:
3861 * s/freebsd.h:
3862 * s/gnu.h:
3863 * s/msdos.h: Remove boilerplate comments.
3864
3865 * m/iris4d.h: Remove boilerplate comments and code for systems that
3866 do not use this file.
3867 (IRIS_4D): Remove, unused.
3868
3869 * m/mips.h: Remove boilerplate comments and code for systems that
3870 do not use this file.
3871 (SIGN_EXTEND_CHAR):
3872 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
3873 * unexmips.c: Remove file, unused.
3874
3875 * editfns.c (Fuser_full_name): Replace the only use of
3876 USER_FULL_NAME with its value.
3877 * config.in: Regenerate.
3878
38792008-07-16 David Reitter <david.reitter@gmail.com>
3880
3881 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
3882 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
3883
38842008-07-16 Glenn Morris <rgm@gnu.org>
3885
3886 * emacs.c (system-type): Doc fix.
3887
38882008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
3889
3890 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
3891 If the cache doesn't work, let's fix it, rather than work around it.
3892
38932008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3894
3895 * Makefile.in: Correct additions for nsfont.o in last commit.
3896 * nsfont.m: New file (forgot last commit).
3897
38982008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3899
3900 * callproc.c (set_initial_environment): Initialize
3901 Vprocess_environment under CANNOT_DUMP (fixes crash when
3902 batch-compiling for bootstrap).
3903
39042008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
3905 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3906
3907 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
3908 fix crash due to different init order.
3909
39102008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
3911
3912 Changes and additions for NeXTstep windowing system (Cocoa and
3913 GNUstep) support.
3914
3915 * Makefile.in:
3916 * config.in: Support defines and build commands for NS port.
3917 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
3918 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
3919 * dispextern.h: Include nsgui.h and add needed typedefs under NS
3920 windowing.
3921 (struct face): Add synth_ital field.
3922 * dispnew.c: Include nsterm.h when compiling under NS windowing.
3923 (init_display): Initialize Vinitial_window_system to "ns" when so
3924 compiled.
3925 * emacs.c: Include GSConfig.h when compiling under GNUstep.
3926 (display_arg): Use under NS.
3927 (main): Under NS, allocate autorelease pool and handle command line
3928 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
3929 (standard_args): Add NS-specific args.
3930 (shut_down_emacs): Shut down NS terminal if compiled under NS.
3931 * font.c (DEFAULT_ENCODING): New variable.
3932 (font_find_for_lface): Use it.
3933 (syms_of_font): Load syms_of_nsfont under NS.
3934 * font.h: Declare nsfont_driver when compiled under NS.
3935 * fontset.c: When compiling under NS, include nsterm.h.
3936 (fontset_from_font): Autoconstruct fontset under NS.
3937 * frame.c (various): Under NS, include nsterm.h, add Qns window system
3938 symbol, document and use it.
3939 (do_switch_frame): When for_deletion under Cocoa, add
3940 Fraise_frame(Qnil).
3941 (x_set_frame_parameters): Ensure font attribute changes are picked up.
3942 (x_get_arg): Allow "yes" and "no" as boolean values.
3943 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
3944 Qright under Cocoa.
3945 (focus-follows-mouse): Default to 0 under NS.
3946 * frame.h (enum output_method): Add output_ns.
3947 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
3948 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
3949 (FRAME_WINDOW_P): NS-specific definition.
3950 * fringe.c (max_used_fringe_bitmap): Make public.
3951 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
3952 (getloadavg): Use NeXT code under descendant OS's.
3953 * image.c (includes and header section, x_create_bitmap_from_data)
3954 (x_create_bitmap_from_file, free_bitmap_record, image_background)
3955 (image_background_transparent, x_clear_image_1)
3956 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3957 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
3958 (x_to_xcolors, x_from_xcolors, x_disable_image)
3959 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
3960 other GUIs, including XPM support using code originally written for
3961 Carbon GUI.
3962 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
3963 using NS API.
3964 (image_ascent): Use font metrics macros instead of direct struct field
3965 access.
3966 * keyboard.c (includes): Add nsterm.h when compiling under NS.
3967 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
3968 Also, handle NS as GTK for menu bar purposes.
3969 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
3970 toolkit where they differ.
3971 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
3972 use cachelist, still needed under NS.
3973 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
3974 (struct widget_value): Define it here for menu.c.
3975 * keymap.c (includes): Include modifier internals.
3976 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
3977 NS.
3978 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
3979 support for preferring sequences using certain modifiers, specified by
3980 the FIRSTONLY argument.
3981 * lisp.h (hash_remove): Rename to avoid name clash when compiling
3982 under NS GNUstep implementation.
3983 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
3984 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
3985 * menu.c: Include nsterm.h under NS.
3986 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
3987 (free_menubar_widget_tree_value, update_submenu_strings)
3988 (find_and_call_menu_selection): Treat NS as X and NT.
3989 (find_and_return_menu_selection): New function, used for popup menus.
3990 * nsgui.h:
3991 * nsterm.h:
3992 * nsfns.m:
3993 * nsimage.m:
3994 * nsmenu.m:
3995 * nsselect.m:
3996 * nsterm.m: New files.
3997 * process.c (wait_reading_process_output): Under NS, call ns_select()
3998 instead of plain select().
3999 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4000 beginning of buffer.
4001 * sysselect.h (init_process): Rename when compiling under Cocoa to
4002 avoid name conflict.
4003 * termhooks.h (display_info): Add ns_display_info to union.
4004 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4005 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4006 COCOA environment.
4007 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4008 unexec() signature. (Note, this will dump, but the resulting file
4009 crashes; unexosx is used instead; keeping around for reference and
4010 possible aid in getting dump working under GNUstep.)
4011 * w32gui.h (button_type, widget_value): Remove definitions (now in
4012 keyboard.h).
4013 * window.c: Include nsterm.h when compiling under NS.
4014 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4015 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4016 other GUI windowing systems.
4017 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4018 GTK.
4019 (x_consider_frame_title): Under NS, set icon type and frame
4020 modified-state indicator; use ns_set_name_as_filename() when using
4021 formatted title.
4022 (update_window_cursor): Make public when compiling under NS.
4023 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4024 (hourglass_atimer, Vhourglass_delay
4025 * xfaces.c (header section, init_frame_faces, clear_font_table)
4026 (defined_color, unload_color, x_face_list_fonts)
4027 (prepare_face_for_display): Add NS support parallel to other GUIs.
4028 Emulate GCs like other non-X GUIs.
4029 (split_font_name): Don't lowercase font name under NS.
4030 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4031 under NS.
4032 * s/darwin.h: Add support for compilation under NS.
4033
40342008-07-15 Jason Rumney <jasonr@gnu.org>
4035
4036 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4037 (w32_show_hourglass): Rename from show_hourglass.
4038 (w32_hide_hourglass): Rename from hide_hourglass.
4039 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4040 (Vhourglass_delay): Declare extern.
4041 (hourglass_started): Remove.
4042
4043 * xdisp.c (Vhourglass_delay): Remove static.
4044 (hourglass_started, start_hourglass, cancel_hourglass):
4045 Don't include these versions on WINDOWSNT.
4046
40472008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4048
4049 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4050 variables (formerly in xfns.c).
4051 (show_hourglass, hide_hourglass): New prototypes (same).
4052 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4053 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4054 in xfns.c).
4055 (syms_of_xdisp): Declare/initialize display-hourglass,
4056 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4057 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4058 formerly in xfns.c.
4059 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4060 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4061 (start_hourglass, cancel_hourglass): Remove.
4062 (show_hourglass, hide_hourglass): Remove prototypes and static
4063 modifiers.
4064 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4065 hourglass_atimer, hourglass_shown_p declaration/initialization.
4066 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4067 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4068 (start_hourglass, cancel_hourglass): Remove.
4069 (show_hourglass, hide_hourglass): Remove prototypes and static
4070 modifiers.
4071 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4072 hourglass_atimer, hourglass_shown_p declaration/initialization.
4073 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4074 (DEFAULT_HOURGLASS_DELAY): Remove.
4075 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4076 hourglass_shown_p declaration/initialization.
4077
40782008-07-14 Jason Rumney <jasonr@gnu.org>
4079
4080 * w32fns.c (w32_get_arg): Remove wrapper function.
4081 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4082 directly.
4083 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4084
40852008-07-14 Kenichi Handa <handa@m17n.org>
4086
4087 * xfont.c (xfont_open): Add workaround for X's bug.
4088
40892008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4090
4091 * fontset.c: Include <stdio.h> unconditionally.
4092
40932008-07-13 Michael Albinus <michael.albinus@gmx.de>
4094
4095 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4096 for filtering.
4097
40982008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4099
4100 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4101
4102 * m/macppc.h:
4103 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4104
4105 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4106 (SPECIAL_EMACS_INT):
4107 * m/ia64.h (SPECIAL_EMACS_INT):
4108 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4109 * s/gnu.h (NLIST_STRUCT):
4110 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4111 * s/gnu-linux.h (LINUX):
4112 * s/msdos.h (HAVE_FACES):
4113 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4114
4115 * systty.h:
4116 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4117 anymore.
4118
41192008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4120
4121 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4122 always defined as int.
4123
4124 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4125 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4126 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4127 * s/freebsd.h (HAVE_WAIT_HEADER):
4128 * s/bsd-common.h (HAVE_UNION_WAIT):
4129 * s/aix4-2.h (HAVE_WAIT_HEADER):
4130 * m/mips.h (HAVE_UNION_WAIT):
4131 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4132 (COFF, static): Do not define, they are undefined later in the file.
4133
4134 * process.c (update_status): Don't use a union.
4135 (status_convert):
4136 (sigchld_handler): Use int instead of WAITTYPE.
4137
41382008-07-12 Chong Yidong <cyd@stupidchicken.com>
4139
4140 * indent.c (Fvertical_motion): Restore hscroll before moving to
4141 goal column.
4142
41432008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4144
4145 * lisp.h: Remove left over code.
4146
41472008-07-11 Andreas Schwab <schwab@suse.de>
4148
4149 * lisp.h: Fix logic in last change.
4150
4151 * menu.h: New file.
4152 * menu.c: Include it.
4153 * xmenu.c: Likewise.
4154 * Makefile.in: Update dependencies.
4155
41562008-07-11 Kenichi Handa <handa@m17n.org>
4157
4158 * fontset.c (fontset_from_font): Cancel the previous change.
4159
41602008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4161
4162 * lisp.h:
4163 * w32heap.c:
4164 * emacs.c:
4165 * alloc.c: Replace all references of NO_UNION_TYPE with
4166 USE_LISP_UNION_TYPE.
4167
4168 * m/xtensa.h (NO_UNION_TYPE):
4169 * m/vax.h (NO_UNION_TYPE):
4170 * m/template.h (NO_UNION_TYPE):
4171 * m/sparc.h (NO_UNION_TYPE):
4172 * m/mips.h (NO_UNION_TYPE):
4173 * m/macppc.h (NO_UNION_TYPE):
4174 * m/m68k.h (NO_UNION_TYPE):
4175 * m/iris4d.h (NO_UNION_TYPE):
4176 * m/intel386.h (NO_UNION_TYPE):
4177 * m/ibms390x.h (NO_UNION_TYPE):
4178 * m/ibms390.h (NO_UNION_TYPE):
4179 * m/ibmrs6000.h (NO_UNION_TYPE):
4180 * m/ia64.h (NO_UNION_TYPE):
4181 * m/hp800.h (NO_UNION_TYPE):
4182 * m/arm.h (NO_UNION_TYPE):
4183 * m/amdx86-64.h (NO_UNION_TYPE):
4184 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4185 defining it the same.
4186
41872008-07-10 Chong Yidong <cyd@stupidchicken.com>
4188
4189 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4190
41912008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4192
4193 * fileio.c:
4194 * sysdep.c
4195 * systty.h:
4196 * m/ibmrs6000.h:
4197 * m/iris4d.h:
4198 * s/aix4-2.h:
4199 * s/freebsd.h:
4200 * s/gnu-linux.h:
4201 * s/hpux10-20.h:
4202 * s/hpux11.h:
4203 * s/netbsd.h:
4204 * s/sol2-3.h:
4205 * s/sol2-4.h:
4206 * s/sol2.h:
4207 * s/usg5-4.h:
4208 * s/vms.h: Remove references to unused variables.
4209
42102008-07-10 Andreas Schwab <schwab@suse.de>
4211
4212 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4213 pattern before matching the generic family.
4214
42152008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4216
4217 * unexec.c:
4218 * s/vms.h:
4219 * s/usg5-4-2.h:
4220 * s/sol2-5.h:
4221 * s/freebsd.h:
4222 * s/darwin.h: Remove dead code.
4223
4224 * m/template.h:
4225 * m/sparc.h:
4226 * m/mips.h:
4227 * m/m68k.h:
4228 * m/iris4d.h:
4229 * m/intel386.h:
4230 * m/ibms390x.h:
4231 * m/ibms390.h:
4232 * m/ia64.h:
4233 * m/hp800.h:
4234 * m/arm.h:
4235 * m/amdx86-64.h: Remove dead code and references to unused
4236 and compiler defined symbols.
4237
4238 * unexmips.c:
4239 * unexelf.c: Remove references to desupported systems.
4240
4241 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4242
4243 * m/powermac.h: Remove boilerplate comments.
4244 (NO_REMAP): Remove unused definition.
4245
4246 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4247 define them.
4248
42492008-07-10 Kenichi Handa <handa@m17n.org>
4250
4251 * xfont.c (xfont_open): Log the reason of failure.
4252
42532008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4254
4255 * fontset.c (fontset_get_font_group):
4256 * font.c (font_check_otf): Specify argument types.
4257
42582008-07-09 Kenichi Handa <handa@m17n.org>
4259
4260 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4261 non-ASCII char is found.
4262
4263 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4264 (reorder_font_vector): Change the arg preferred_family to font.
4265 Prefer the spec matching with font.
4266 (fontset_get_font_group): New function.
4267 (fontset_find_font): Change the format of an element of a realized
4268 fontset. Use fontset_get_font_group.
4269 (fontset_font): Try the current fontset, the default fontset, the
4270 fallbacks of the current fontset, and the fallbacks of the default
4271 fontset in this order.
4272 (face_for_char): Delete the shortcut to use the current font.
4273 (fontset_from_font): Don't set fonts for Latin in the fontset.
4274
4275 * font.h (font_make_object, font_match_p): Adjust prototypes.
4276
4277 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4278
4279 * font.c (font_make_object): New arg entity and pixelsize.
4280 (font_check_otf_features, font_check_otf): New functions.
4281 (font_match_p): Check :lang, :script, and :otf properties.
4282
4283 * xfont.c (xfont_open): Adjust it for the change of
4284 font_make_object.
4285 (xfont_text_extents): Fix initial setting of metrics.
4286
4287 * ftfont.c (struct ftfont_info): New member index, delete member
4288 fc_charset_idx. Make the member order compatible with struct
4289 xftfont_info.
4290 (fc_charset_table): Change charset names to registry names.
4291 (ftfont_pattern_entity): Delete the args registry and
4292 fc_charset_idx. Change the value of :font-entity property
4293 to (FONTNAME . INDEX). Always set :registry property to
4294 `iso10646-1'.
4295 (struct ftfont_cache_data): New struct.
4296 (ftfont_lookup_cache): New arg for_face.
4297 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4298 (ftfont_driver): Set the member otf_capability.
4299 (ftfont_get_charset): Adjust it for the change of
4300 fc_charset_table.
4301 (OTF_TAG_SYM): New macro.
4302 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4303 for the change of fc_charset_table.
4304 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4305 ftfont_pattern_entity. Add FC_INDEX to objset.
4306 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4307 and ftfont_pattern_entity.
4308 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4309 font_make_object, struct ftfont_info.
4310 (ftfont_has_char): Use ftfont_get_fc_charset.
4311 (ftfont_otf_features, ftfont_otf_capability): New functions.
4312 (ftfont_shape): Use ftfont_get_otf.
4313 (ftfont_text_extents): Fix initial setting of metrics.
4314
4315 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4316 member order compatible with struct ftfont_info.
4317 (xftfont_open): Add FC_CHARSET to the pattern. Set
4318 xftfont_info->ft_size. Don't unlock the face. Check BDF
4319 properties if appropriate.
4320 (xftfont_close): Unlock the face.
4321 (xftfont_anchor_point, xftfont_shape): Deleted.
4322 (syms_of_xftfont): Don't set members anchor_point and shape of
4323 xftfont_driver.
4324
4325 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4326 font_make_object.
4327
4328 * w32font.c (w32font_open): Adjust it for the change of
4329 font_make_object.
4330 (w32font_open_internal): Don't set properties of font_object here.
4331
43322008-07-08 Chong Yidong <cyd@stupidchicken.com>
4333
4334 * macfns.c (x_create_tip_frame):
4335 * w32fns.c (x_create_tip_frame):
4336 * xfns.c (x_create_tip_frame): Pass parameter argument to
4337 face-set-after-frame-default.
4338
4339 * xfaces.c (Finternal_merge_in_global_face): Save merged
4340 attributes for the default face back into the face vector.
4341
43422008-07-08 Andreas Schwab <schwab@suse.de>
4343
4344 * fontset.h: Declare fontset_from_font. Don't declare
4345 new_fontset_from_font and fontset_from_font_name.
4346 * xterm.c: Include "fontset.h".
4347 * Makefile.in (xterm.o): Update dependencies.
4348
43492008-07-08 Glenn Morris <rgm@gnu.org>
4350
4351 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4352 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4353
43542008-07-07 Chong Yidong <cyd@stupidchicken.com>
4355
4356 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4357 (x_set_frame_parameters): Don't bind it.
4358
43592008-07-07 Juanma Barranquero <lekktu@gmail.com>
4360
4361 * w32fns.c (map_w32_filename): Declare extern.
4362
43632008-07-07 Jason Rumney <jasonr@gnu.org>
4364
4365 * w32term.c (WS_EX_LAYERED): Define if not already.
4366
43672008-07-06 Chong Yidong <cyd@stupidchicken.com>
4368
4369 * xfaces.c (set_font_frame_param): Don't try to set the font
4370 parameter if it is still unspecified in the lface.
4371
43722008-07-05 Chong Yidong <cyd@stupidchicken.com>
4373
4374 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4375 face if it didn't already exist.
4376
4377 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4378
43792008-07-05 Andreas Schwab <schwab@suse.de>
4380
4381 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4382
43832008-07-05 Chong Yidong <cyd@stupidchicken.com>
4384
4385 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4386 word-wrapping.
4387 (IT_DISPLAYING_WHITESPACE): New macro.
4388 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4389 when word-wrapping. Simplify word-wrapping logic. Use correct
4390 pixel positions when saving copies of the iterator.
4391 (display_line): Use proper wrap point if the last character on a
4392 line was preceded by whitespace.
4393
43942008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4395
4396 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4397
43982008-07-04 Kenichi Handa <handa@m17n.org>
4399
4400 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4401
4402 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4403
44042008-07-02 Jason Rumney <jasonr@gnu.org>
4405
4406 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4407 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4408
4409 * xdisp.c (next_element_from_display_vector): Move assignment out
4410 of if statement.
4411
44122008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4413
4414 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4415
4416 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4417 (syms_of_fileio): Initialize and export them.
4418 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4419
4420 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4421 (Fsystem_move_file_to_trash): New function.
4422 (syms_of_w32fns): Export it to lisp.
4423
44242008-07-01 Jason Rumney <jasonr@gnu.org>
4425
4426 * w32font.c (w32font_text_extents): Don't count overhang as part
4427 of width.
4428
44292008-06-30 Miles Bader <miles@gnu.org>
4430
4431 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4432 Add `avoid_cursor_p' field.
4433
4434 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4435 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4436 (append_glyph, append_composite_glyph, produce_image_glyph)
4437 (append_stretch_glyph): Initialize avoid_cursor_p.
4438 (get_it_property): Rename from `get_line_height_property'.
4439 (x_produce_glyphs): Use get_it_property.
4440 (handle_line_prefix, push_display_prop): New functions.
4441 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4442 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4443 New variables.
4444 (syms_of_xdisp): Initialize them.
4445
44462008-06-30 Kenichi Handa <handa@m17n.org>
4447
4448 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4449 XftDefaultSubstitute (they are called in XftFontMatch).
4450 (xftfont_open): Fix args to ftfont_font_format.
4451
4452 * ftfont.c (fc_charset_table): New member lang.
4453 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4454 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4455 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4456 (ftfont_open): Fix args to ftfont_font_format.
4457 (ftfont_font_format): New arg filename.
4458
44592008-06-30 Chong Yidong <cyd@stupidchicken.com>
4460
4461 * xfaces.c (Finternal_merge_in_global_face): If default face was
4462 modified, realize it again. Update the font face attribute.
4463
44642008-06-29 Jason Rumney <jasonr@gnu.org>
4465
4466 * w32term.c (x_set_frame_alpha): Fix logic.
4467
44682008-06-29 Kenichi Handa <handa@m17n.org>
4469
4470 * fontset.c (Finternal_char_font): Return font-object instead of
4471 font-name.
4472
4473 * composite.c (get_composition_id): Fix the width calculation for TAB.
4474
44752008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4476
4477 * indent.c (Fvertical_motion): Properly handle float column arg.
4478
44792008-06-28 Jason Rumney <jasonr@gnu.org>
4480
4481 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4482 (pfnSetLayeredWindowAttributes): New function pointer.
4483 (w32_initialize): Initialize it when supported.
4484 (x_set_frame_alpha): New function.
4485
4486 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4487 (w32_frame_parm_handlers): Set alpha handler.
4488
4489 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4490
44912008-06-27 Jason Rumney <jasonr@gnu.org>
4492
4493 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4494 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4495 (w32_to_x_charset, x_to_w32_charset)
4496 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4497 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4498 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4499 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4500 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4501 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4502 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4503 (Qw32_charset_unicode): Remove.
4504 (syms_of_w32fns): Update for above changes.
4505
4506 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4507 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4508 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4509 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4510 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4511 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4512 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4513 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4514 (syms_of_w32font): Update for above changes.
4515
45162008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4517
4518 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4519 removed #if.
4520 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4521
45222008-06-26 Juanma Barranquero <lekktu@gmail.com>
4523 Eli Zaretskii <eliz@gnu.org>
4524
4525 * makefile.w32-in (LOCAL_FLAGS):
4526 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4527
4528 * sysdep.c (_spawnlp, _getpid):
4529 Declare with explicit _cdecl instead of _CRTAPI1.
4530
4531 * editfns.c (Fget_internal_run_time):
4532 Check for WINDOWSNT with #ifdef, not #if.
4533
45342008-06-26 Jason Rumney <jasonr@gnu.org>
4535
4536 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4537
4538 * w32term.c (x_draw_glyph_string_foreground)
4539 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4540 Use FONT_HANDLE macro.
4541 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4542
4543 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4544 (uniscribe_encode_char): Use FONT_HANDLE macro.
4545
4546 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4547 (w32font_text_extents): Use precast w32_font.
4548 (w32font_close): Free cached metrics.
4549 (w32font_open_internal): Allocate space for name on stack.
4550
45512008-06-26 Chong Yidong <cyd@stupidchicken.com>
4552
4553 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4554
45552008-06-26 Jason Rumney <jasonr@gnu.org>
4556
4557 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4558 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4559
45602008-06-26 Juanma Barranquero <lekktu@gmail.com>
4561
4562 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4563
45642008-06-26 Jason Rumney <jasonr@gnu.org>
4565
4566 * w32bdf.c, w32bdf.h: Remove obsolete files.
4567
4568 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4569
4570 * w32gui.h: Don't include w32bdf.h.
4571 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4572 Remove obsolete font support.
4573
4574 * w32font.h (struct w32font_info): Remove compat_w32_font.
4575 Add hfont member.
4576 (FONT_COMPAT): Remove obsolete macro.
4577
4578 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4579 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4580 (w32font_open_internal): Remove compat code. Set new hfont member.
4581 (Fx_select_font): Use new hfont member.
4582
4583 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4584 (uniscribe_encode_char): Use new hfont member.
4585
4586 * w32term.c (x_draw_glyph_string_foreground)
4587 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4588 (x_draw_glyph_string): Use metrics in w32font_info.
4589
45902008-06-26 Kenichi Handa <handa@m17n.org>
4591
4592 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4593
45942008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4595
4596 * unexnext.c:
4597 * m/ews4800.h:
4598 * m/hp9000s300.h:
4599 * m/ibm370aix.h:
4600 * m/mips-siemens.h:
4601 * m/ncr386.h:
4602 * m/next.h:
4603 * m/pmax.h:
4604 * m/powerpcle.h:
4605 * m/tandem-s2.h:
4606 * s/386bsd.h:
4607 * s/bsd386.h:
4608 * s/bsd4-1.h:
4609 * s/bsd4-2.h:
4610 * s/bsdos2-1.h:
4611 * s/bsdos2.h:
4612 * s/bsdos3.h:
4613 * s/bsdos4.h:
4614 * s/nextstep.h:
4615 * s/ultrix4-3.h:
4616 * s/usg5-0.h:
4617 * s/usg5-2-2.h:
4618 * s/usg5-2.h:
4619 * s/usg5-4-3.h:
4620 * s/ux4800.h:
4621 * s/uxpds.h:
4622 * s/uxpv.h: Remove support for obsolete systems.
4623 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4624 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4625 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4626 Remove, insert contents in s/aix4-2.h.
4627 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4628 * s/bsd4-3.h: Rename to ...
4629 * s/bsd-common.h: ... this.
4630 * data.c:
4631 * doc.c:
4632 * ecrt0.c:
4633 * emacs.c:
4634 * fileio.c:
4635 * floatfns.c:
4636 * keyboard.c:
4637 * mem-limits.h:
4638 * print.c:
4639 * process.c:
4640 * sysdep.c:
4641 * syssignal.h:
4642 * systty.h:
4643 * syswait.h:
4644 * term.c:
4645 * unexec.c:
4646 * unexelf.c:
4647 * unexhp9k800.c:
4648 * m/hp800.h:
4649 * m/ibmrs6000.h:
4650 * m/mips.h:
4651 * m/vax.h:
4652 * s/darwin.h:
4653 * s/freebsd.h:
4654 * s/gnu.h:
4655 * s/ms-w32.h:
4656 * s/msdos.h:
4657 * s/netbsd.h:
4658 * s/template.h: Remove references to obsolete variables.
4659
4660 * Makefile.in: Add dependencies for all unexec files.
4661 (admindir): Remove unused variable.
4662 (UNEXEC_SRC): Remove references.
4663
46642008-06-25 Chong Yidong <cyd@stupidchicken.com>
4665
4666 * xfns.c (x_default_font_parameter): If Xft is available, first
4667 try Monospace-12 for the default font.
4668
46692008-06-25 Jason Rumney <jasonr@gnu.org>
4670
4671 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4672
46732008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4674
4675 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4676
4677 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4678
46792008-06-25 Juanma Barranquero <lekktu@gmail.com>
4680
4681 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4682 <scroll-conservatively>: Fix typo in docstring.
4683
4684 * xselect.c (Fx_send_client_event): Doc fix.
4685
46862008-06-25 Kenichi Handa <handa@m17n.org>
4687
4688 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4689
4690 * font.c (font_parse_fcname): Remove unused variables.
4691 (font_sort_entites): Delete the arg SPEC. Caller changed.
4692 Fix for the case of ! best_only.
4693 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4694
4695 * lisp.h (Fstring_to_unibyte): EXFUN it.
4696
4697 * character.h (str_to_unibyte): Extern it.
4698
4699 * character.c (str_to_unibyte): New function.
4700
4701 * fns.c (Fstring_to_unibyte): New function.
4702 (syms_of_fns): Defsubr it.
4703
47042008-06-24 Kenichi Handa <handa@m17n.org>
4705
4706 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4707 DPI too.
4708 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4709
47102008-06-24 Andreas Schwab <schwab@suse.de>
4711
4712 * Makefile.in (${lispsource}loaddefs.el): Rename from
4713 ../lisp/loaddefs.el.
4714 (bootstrap-clean): Do what distclean does but don't remove
4715 Makefile.
4716 (distclean): Depend on bootstrap-clean and remove Makefile.
4717
47182008-06-24 Chong Yidong <cyd@stupidchicken.com>
4719
4720 * buffer.h (struct buffer): New member word_wrap.
4721
4722 * buffer.c (syms_of_buffer): New variables default-word-wrap and
4723 word-wrap.
4724 (init_buffer_once): Initialize them.
4725
4726 * dispextern.h (struct it): Replace bool truncate_lines_p with a
4727 line_wrap enum possessing three possible values.
4728
4729 * termopts.h: Replace truncate_partial_width_windows with
4730 Vtruncate_partial_width_windows.
4731
4732 * dispnew.c (direct_output_for_insert): Avoid direct output when
4733 inserting a space with word wrap on.
4734
4735 * indent.c (compute_motion): Obey integer values of
4736 truncate-partial-width-windows.
4737
4738 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
4739 replacing truncate_partial_width_windows.
4740 (init_iterator): If Vtruncate_partial_width_windows is an integer,
4741 truncate only if the window width is below that integer.
4742 (start_display, resize_mini_window, produce_stretch_glyph)
4743 (display_string, move_it_in_display_line_to): Use line_wrap.
4744 (back_to_previous_visible_line_start, reseat_1): Reset
4745 string_from_display_prop_p.
4746 (display_line): Extend default face to end of line when wrapping.
4747
47482008-06-24 Kim F. Storm <storm@cua.dk>
4749
4750 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
4751 to wrap continued lines at word boundaries.
4752
47532008-06-24 Jason Rumney <jasonr@gnu.org>
4754
4755 * font.c (Ffont_face_attributes): Multiply pixel size before point
4756 conversion to avoid multiplying rounding error.
4757
47582008-06-23 Jason Rumney <jasonr@gnu.org>
4759
4760 * w32term.c (x_draw_glyph_string_background)
4761 (x_draw_glyph_string): Remove old bdf font code.
4762
4763 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
4764
47652008-06-22 Kenichi Handa <handa@m17n.org>
4766
4767 * font.c (font_find_for_lface): Try the adstyle specified in
4768 the property of LFACE_FONT of LFACE (if any).
4769
47702008-06-21 Seiji Zenitani <zenitani@mac.com>
4771 Ryo Yoshitake <ryo@shiftmode.net>
4772
4773 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
4774
47752008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
4776
4777 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
4778 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
4779 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
4780 (witness-emacs): Remove.
4781 (lisp, shortlisp): Move loaddefs.el earlier.
4782 (mostlyclean): Forget about witness-emacs.
4783
47842008-06-22 Glenn Morris <rgm@gnu.org>
4785
4786 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
4787 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
4788
47892008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4790
4791 * Makefile.in (PRECOMP): Remove.
4792 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
4793 (witness-emacs): Run `compile-first'.
4794 (.el.elc): Use the new compile-onefile target.
4795
47962008-06-21 Kenichi Handa <handa@m17n.org>
4797
4798 * xftfont.c (xftfont_open): Handle QCembolden only when
4799 FC_EMBOLDEN is defined.
4800
48012008-06-21 Andreas Schwab <schwab@suse.de>
4802
4803 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
4804 (.el.elc): Likewise.
4805
48062008-06-21 Miles Bader <miles@gnu.org>
4807
4808 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
4809 build dir, not the lisp source dir.
4810
48112008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
4812
4813 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
4814 (bootstrapclean): Remove.
4815 (.el.elc): New rule.
4816 (PRECOMP): New var.
4817 (../lisp/subdirs.el): Remove.
4818 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
4819 (witness-emacs): New target.
4820 (mostlyclean): Remove witness-emacs as well.
4821 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
4822 Add witness-emacs dependency.
4823
48242008-06-20 Chong Yidong <cyd@stupidchicken.com>
4825
4826 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
4827 defined by the font.
4828
48292008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4830
4831 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
4832 (bootstrap-clean): New target that keeps TAGS around.
4833 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
4834 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
4835
48362008-06-20 Jason Rumney <jasonr@gnu.org>
4837
4838 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
4839 Remove obsolete font code.
4840
4841 * w32font.c (font_matches_spec): Use csb bitfield from font signature
4842 to determine language support.
4843
48442008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4845
4846 * sysdep.c (cfsetspeed): New fun extracted from the code.
4847 (cfmakeraw): Move before first use.
4848
48492008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
4850
4851 * sysdep.c (cfmakeraw): Provide fallback implementation.
4852 (serial_configure): Provide fallback implementation of cfsetspeed.
4853
48542008-06-20 Kenichi Handa <handa@m17n.org>
4855
4856 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
4857 the pattern.
4858
4859 * fontset.c (fontset_from_font): Copy font_spec before changing
4860 the elements.
4861
4862 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
4863
48642008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
4865
4866 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
4867 for explicit `font' parameters.
4868
4869 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
4870
48712008-06-19 Kenichi Handa <handa@m17n.org>
4872
4873 * frame.c: Include <ctype.h>.
4874 (x_set_font_backend): Allow spacing characters in the X resource
4875 for FontBackend.
4876
48772008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
4878
4879 * w32fns.c, xfns.c (Qfont_param): New var.
4880 (syms_of_w32fns): Initialize it.
4881 (x_default_font_parameter): Record explicit `font' into
4882 `font-parameter'.
4883
48842008-06-18 Kenichi Handa <handa@m17n.org>
4885
4886 * font.c (font_parse_xlfd): Fix previous change.
4887 (font_parse_fcname): Don't use :fc-unknown-spec.
4888 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
4889 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
4890 (font_add_log): Prepend the driver name to the resulting fonts.
4891
4892 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
4893 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
4894 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
4895
4896 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
4897 (QCembolden): New variables.
4898 (syms_of_xftfont): DEFSYM them.
4899 (xftfont_open): Call XftFontMatch. Don't trust the result of
4900 XftTextExtents8 if the pixel_size is less than 5.
4901
49022008-06-18 Andreas Schwab <schwab@suse.de>
4903
4904 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
4905 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
4906
49072008-06-18 Jason Rumney <jasonr@gnu.org>
4908
4909 * w32font.c (w32font_list, w32font_match): Add logging.
4910
4911 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
4912
49132008-06-17 Chong Yidong <cyd@stupidchicken.com>
4914
4915 * font.c (font_parse_fcname): Store divider characters for
4916 unknown-spec list. For known key symbols, intern using correct
4917 symbol name.
4918
49192008-06-17 Kenichi Handa <handa@m17n.org>
4920
4921 * xfaces.c (realize_default_face): If the frame is not on window
4922 system, set the fontset of face to nil.
4923
49242008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4925
4926 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
4927
49282008-06-16 Juanma Barranquero <lekktu@gmail.com>
4929
4930 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
4931 (build_font_name_from_vector): Delete externs.
4932
4933 * xfaces.c (struct font_name): Don't declare.
4934
49352008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
4936
4937 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
4938
49392008-06-16 Chong Yidong <cyd@stupidchicken.com>
4940
4941 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
4942
49432008-06-16 Juanma Barranquero <lekktu@gmail.com>
4944
4945 * font.c (Ffont_spec): Fix usage in docstring.
4946 (Ffont_face_attributes): Doc fix.
4947
49482008-06-16 Andreas Schwab <schwab@suse.de>
4949
4950 * font.c (Ffont_face_attributes): Fix definition.
4951
49522008-06-16 Jason Rumney <jasonr@gnu.org>
4953
4954 * font.h (font_style_symbolic_from_value): Remove.
4955
4956 * font.c (font_style_symbolic_from_value): Remove.
4957 (font_style_symbolic): Revert to pre 2008-06-13 version.
4958
4959 * w32font.c (w32_to_fc_weight): New function.
4960 (w32font_full_name, logfont_to_fcname): Use it.
4961
49622008-06-16 Kenichi Handa <handa@m17n.org>
4963
4964 * font.c (font_check_object): Delete it.
4965 (font_clear_cache): Check if a font-object is alive.
4966 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
4967 font-object to nil.
4968 (font_close_object): Don't check FONT_CLOSE_OBJECT.
4969 (font_at): Don't call font_check_object.
4970 (Ffont_get): Return a symbol for :weight, :slant, and :width.
4971
49722008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
4973
4974 * puresize.h (BASE_PURESIZE): Increase to 1230000.
4975
49762008-06-16 Chong Yidong <cyd@stupidchicken.com>
4977
4978 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
4979
49802008-06-15 Chong Yidong <cyd@stupidchicken.com>
4981
4982 * font.c (font_parse_fcname): Only one decimal point.
4983 (font_unparse_fcname): Handle data in family and foundry indices
4984 as symbols, not strings.
4985 (font_unparse_gtkname, Ffont_face_attributes): New functions.
4986
4987 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
4988
4989 * font.h (font_unparse_gtkname): Add prototype.
4990
49912008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
4992
4993 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
4994
49952008-06-15 Andreas Schwab <schwab@suse.de>
4996
4997 * font.c (font_update_drivers): Fix crash when no drivers match.
4998
49992008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5000
5001 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5002 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5003
50042008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5005
5006 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5007
50082008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5009
5010 * process.c (Fserial_process_configure, Fprocess_send_eof):
5011 Use EQ to compare Lisp_Objects.
5012
50132008-06-13 Jason Rumney <jasonr@gnu.org>
5014
5015 * w32fns.c (Fw32_select_font): Remove old font API function.
5016
5017 * w32font.c (logfont_to_fcname): New function.
5018 (Fx_select_font): New font dialog function compatible with
5019 GTK/fontconfig version.
5020
5021 * font.c (font_style_symbolic_from_value): New function.
5022 (font_style_symbolic): Use it.
5023
5024 * font.h (font_style_symbolic_from_value): Declare new function.
5025
50262008-06-13 Juanma Barranquero <lekktu@gmail.com>
5027
5028 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5029 <font-width-table>: Fix typos in docstrings.
5030
50312008-06-13 Daniel Engeler <engeler@gmail.com>
5032
5033 These changes add serial port access.
5034 * process.c: Add HAVE_SERIAL.
5035 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5036 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5037 (list_processes_1, select_wrapper, Fstop_process)
5038 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5039 (status_notify): Modify to handle serial processes.
5040 [HAVE_SERIAL] (Fserial_process_configure)
5041 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5042 New functions.
5043 * process.h (struct Lisp_Process): Add `type'.
5044 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5045 New functions.
5046 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5047 serial ports.
5048 (serial_open, serial_configure) New functions.
5049 * w32.h: Add FILE_SERIAL.
5050 (struct _child_process): Add ovl_read, ovl_write.
5051
50522008-06-13 Kenichi Handa <handa@m17n.org>
5053
5054 * dispextern.h (enum lface_attribute_index): New member
5055 LFACE_FOUNDRY_INDEX.
5056
5057 * font.c (font_score): Delete arg alternate_families. Check only
5058 weight, slant, width, and size. Ignore the difference of alias
5059 style symbols.
5060 (font_sort_entites): Adjust for the above change. Reflect the
5061 order of font-driver to scores.
5062 (font_list_entities): Don't check alternate_familes here.
5063 (font_clear_prop): Handle foundry.
5064 (font_update_lface): Don't parse "foundry-family" form here.
5065 Handle FONT_FOUNDRY_INDEX.
5066 (font_find_for_lface): Likewise. Handle alternate families here.
5067 If registry is nil, try iso8859-1 and ascii-0.
5068 (font_open_for_lface): Pay attention to size in ENTITY.
5069 (font_open_by_name): Simplify by calling font_load_for_lface.
5070 (free_font_driver_list): Delete it.
5071 (font_update_drivers): Preserve the order of backends.
5072 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5073 of font_score and font_sort_entites.
5074 (font_update_sort_order): Likewise.
5075
5076 * xfaces.c (LFACE_FOUNDRY): New macro.
5077 (check_lface_attrs): Check foundry.
5078 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5079 (merge_face_vectors): Check foundry.
5080 (merge_face_ref): Likewise.
5081 (Finternal_set_lisp_face_attribute): Likewise.
5082 (x_update_menu_appearance): Likewise.
5083 (Finternal_get_lisp_face_attribute): Likewise.
5084 (lface_hash): Likewise.
5085 (lface_same_font_attributes_p): Likewise.
5086 (x_supports_face_attributes_p): Likewise.
5087 (tty_supports_face_attributes_p): Likewise.
5088 (Finternal_set_alternative_font_family_alist): Intern strings.
5089 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5090 (realize_default_face): Set LFACE_FOUNDRY (lface).
5091
5092 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5093 font-driver at first.
5094
5095 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5096
50972008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5098
5099 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5100
51012008-06-12 Jim Meyering <meyering@redhat.com>
5102
5103 Make unexec_free handle NULL the same way free does.
5104 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5105
51062008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5107
5108 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5109 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5110 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5111 (WEAK_ALIAS): Simplify.
5112 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5113 when searching a unibyte buffer.
5114
51152008-06-12 Chong Yidong <cyd@stupidchicken.com>
5116
5117 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5118
51192008-06-12 Juanma Barranquero <lekktu@gmail.com>
5120
5121 * w32font.c: Include ctype.h.
5122
51232008-06-11 Jason Rumney <jasonr@gnu.org>
5124
5125 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5126 misreported as space.
5127 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5128 as aliases for registry iso10646-1.
5129
51302008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5131
5132 * buffer.c (clone_per_buffer_values): Skip `name'.
5133
51342008-06-11 Chong Yidong <cyd@stupidchicken.com>
5135
5136 * font.c (font_parse_fcname): Fix last change; accept decimal
5137 points in font size.
5138
51392008-06-10 Jason Rumney <jasonr@gnu.org>
5140
5141 * w32uniscribe.c (add_opentype_font_name_to_list):
5142 Skip non unicode fonts.
5143
51442008-06-10 Chong Yidong <cyd@stupidchicken.com>
5145
5146 * xfns.c (Fx_font_dialog): New function.
5147
5148 * gtkutil.c (xg_dialog_response_cb): Rename from
5149 xg_file_response_callback.
5150 (pop_down_dialog): Rename from pop_down_file_dialog.
5151 (xg_get_file_name): Callers changed.
5152 (xg_get_font_name): New function.
5153
5154 * gtkutil.h (xg_get_font_name): Insert prototype.
5155
51562008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5157
5158 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5159 x_underline_minimum_display_offset.
5160 (syms_of_xdisp): Declare it here rather than in xterm.c.
5161 * dispextern.h (underline_minimum_offset): Declare it.
5162 * w32term.c (x_draw_glyph_string): Use it.
5163 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5164 (syms_of_xterm): Don't declare it any more.
5165 (x_draw_glyph_string): Adjust to the new name.
5166
51672008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5168
5169 * xterm.c (x_underline_minimum_display_offset): New var.
5170 (x_draw_glyph_string): Use it.
5171 (syms_of_xterm): Declare it.
5172
51732008-06-10 Chong Yidong <cyd@stupidchicken.com>
5174
5175 * font.c (font_parse_fcname): Accept GTK-style font names too.
5176
51772008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5178
5179 * dired.c (file_name_completion): Don't return t if the match is exact
5180 but with different capitalization.
5181 * minibuf.c (Ftry_completion): Simplify.
5182
5183 * window.c (Vwindow_point_insertion_type): New var.
5184 (set_window_buffer): Use it.
5185 (syms_of_window): Init and export it to Lisp.
5186
51872008-06-10 Kenichi Handa <handa@m17n.org>
5188
5189 * font.h (font_intern_prop): Prototype adjusted.
5190
5191 * font.c (font_intern_prop): New arg force_symbol.
5192 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5193 Adjust for the change of font_intern_prop.
5194
5195 * ftfont.c (ftfont_pattern_entity):
5196 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5197 (w32_registry):
5198 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5199 the change of font_intern_prop.
5200
52012008-06-09 Juanma Barranquero <lekktu@gmail.com>
5202
5203 * w32menu.c (digest_single_submenu): Declare extern.
5204
52052008-06-09 Jason Rumney <jasonr@gnu.org>
5206
5207 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5208
5209 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5210 (parse_single_submenu): Remove.
5211 (digest_single_submenu): Remove.
5212 (syms_of_w32menu): Don't initialise variables that have moved
5213 to menu.c.
5214 (set_frame_menubar): Sync with version in xmenu.c.
5215 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5216
5217 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5218 Make static again.
5219
52202008-06-09 Jason Rumney <jasonr@gnu.org>
5221
5222 Changes to w32 files related to the move of common menu code
5223 to menu.c on 2008-06-08 by Chong Yidong.
5224
5225 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5226 defs to w32gui.h.
5227 (single_keymap_panes, push_menu_item, push_menu_pane):
5228 Make globally visible.
5229
5230 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5231 (local_free, malloc_widget_value, free_widget_value)
5232 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5233 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5234 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5235 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5236 (menu_items, menu_items_allocated, menu_items_used)
5237 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5238 (init_menu_items, finish_menu_items, discard_menu_items)
5239 (grow_menu_items, push_submenu_start, push_submenu_end)
5240 (push_left_right_boundary, push_menu_pane, push_menu_item)
5241 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5242 (free_menubar_widget_tree_value, parse_single_submenu)
5243 (update_submenu_strings): Remove functions.
5244 (xmalloc_widget_value): Remove and declare extern.
5245
5246 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5247 (OBJ1): Build it.
5248
5249 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5250 (local_heap, local_alloc, local_free, malloc_widget_value)
5251 (free_widget_value): Define here.
5252
52532008-06-09 Kenichi Handa <handa@m17n.org>
5254
5255 * font.h (Qascii_0): Extern it.
5256
5257 * font.c (Qascii_0): New variable.
5258 (syms_of_font): DEFSYM it.
5259 (font_open_by_name): If the registry "iso8859-1" fails, try also
5260 "ascii-0".
5261
5262 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5263
52642008-06-08 Kenichi Handa <handa@m17n.org>
5265
5266 * .gdbinit (xfont): New command.
5267
52682008-06-08 Andreas Schwab <schwab@suse.de>
5269
5270 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5271 * Makefile.in (menu.o): Update dependencies.
5272
5273 * Makefile.in (obj): Always add menu.o.
5274 * emacs.c (main): Always call syms_of_menu.
5275 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5276
52772008-06-08 Chong Yidong <cyd@stupidchicken.com>
5278
5279 * Makefile.in: Compile menu.c.
5280
5281 * lisp.h: Declare syms_of_menu.
5282
5283 * emacs.c (main): Call syms_of_menu.
5284
5285 * keyboard.h: Relocate platform-independent menu definitions from
5286 xmenu.c.
5287
5288 * menu.c: New file. Relocate platform-independent menu
5289 definitions from xmenu.c. Suggested by Adrian Robert.
5290
5291 * xmenu.c: Remove platform-independent menu definitions.
5292 (menu_items menu_items_inuse, menu_items_allocated)
5293 (menu_items_used, menu_items_n_panes)
5294 (menu_items_submenu_depth): Move to keyboard.h.
5295 (init_menu_items, finish_menu_items, unuse_menu_items)
5296 (discard_menu_items, restore_menu_items, save_menu_items)
5297 (grow_menu_items, push_submenu_start, push_submenu_end)
5298 (push_left_right_boundary, push_menu_pane, push_menu_item)
5299 (keymap_panes, single_keymap_panes, single_menu_item)
5300 (list_of_panes, list_of_items, find_and_call_menu_selection)
5301 (xmalloc_widget_value, free_menubar_widget_value_tree)
5302 (parse_single_submenu, digest_single_submenu)
5303 (update_submenu_strings): Move to menu.c.
5304
53052008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5306
5307 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5308
53092008-06-06 Miles Bader <miles@gnu.org>
5310
5311 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5312 face, not frame default.
5313
53142008-06-05 Martin Rudalics <rudalics@gmx.at>
5315
5316 * window.c (pop_up_windows, pop_up_frames)
5317 (display_buffer_reuse_frames, Vpop_up_frame_function)
5318 (Vdisplay_buffer_function, Veven_window_heights)
5319 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5320 (Vspecial_display_function, Vsame_window_buffer_names)
5321 (Vsame_window_regexps, split_height_threshold)
5322 (Vsplit_window_preferred_function): Move those vars to window.el.
5323 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5324 (Fdisplay_buffer): Move those functions to window.el.
5325 (syms_of_window): Remove corresponding declarations.
5326 (display_buffer): New function.
5327 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5328 * dispnew.c (Flast_nonminibuf_frame): New function.
5329 * buffer.c (Fpop_to_buffer): Move to window.el.
5330
53312008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5332
5333 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5334
53352008-06-05 Kenichi Handa <handa@m17n.org>
5336
5337 * coding.c (detect_coding): Fix previous change.
5338 (detect_coding_system): Likewise.
5339
53402008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5341
5342 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5343
5344 * keymap.c (Vminibuffer_local_filename_must_match_map):
5345 Rename from Vminibuffer_local_must_match_filename_map.
5346 (syms_of_keymap):
5347 * minibuf.c (Fcompleting_read): Adjust accordingly.
5348 * commands.h: Rename declaration as well.
5349
53502008-06-05 Kenichi Handa <handa@m17n.org>
5351
5352 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5353 family name.
5354 (Ffont_put): Likewise.
5355
5356 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5357 current font-spec.
5358
5359 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5360 is unspecified.
5361
5362 * xfaces.c (realize_x_face): If the font-related face attributes
5363 are the same as those of default face, realize a new fontset from
5364 default->fontset.
5365 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5366
53672008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5368
5369 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5370 (move_it_in_display_line): New wrapper.
5371
5372 * window.c (window_scroll_pixel_based_preserve_x)
5373 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5374 (window_scroll_pixel_based, window_scroll_line_based):
5375 Use them to preserve column positions.
5376 (syms_of_window): Initialize them.
5377
5378 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5379 (HPOS . VPOS) pair.
5380
5381 * dispextern.h (move_it_in_display_line): Declare.
5382
53832008-06-05 Juanma Barranquero <lekktu@gmail.com>
5384
5385 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5386 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5387 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5388
53892008-06-04 Juanma Barranquero <lekktu@gmail.com>
5390
5391 * window.c (Fset_window_parameter): Doc fix.
5392 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5393
53942008-06-04 Joakim Verona <joakim@verona.se>
5395
5396 * window.h (struct window): Add new member window_parameters.
5397
5398 * window.c (Fwindow_parameters, Fwindow_parameter)
5399 (Fset_window_parameter): New defuns.
5400 (syms_of_window): Defsubr the new defuns.
5401 (make_window): Initialize window_parameters to nil.
5402
54032008-06-04 John Paul Wallington <jpw@pobox.com>
5404
5405 * eval.c (Fdefmacro): Doc fix.
5406
54072008-06-04 Kenichi Handa <handa@m17n.org>
5408
5409 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5410 Be sure to call setup_coding_system when we find a proper coding system.
5411 (detect_coding_system): Fix handling of coding->head_ascii.
5412
54132008-06-03 Andreas Schwab <schwab@suse.de>
5414
5415 * font.c (font_prop_validate_spacing): Fix last change.
5416
54172008-06-03 Kenichi Handa <handa@m17n.org>
5418
5419 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5420 (font_parse_fcname): Fix handling of unknown key.
5421
5422 * xfont.c (xfont_list): Try an alias.
5423
5424 * charset.c (char_charset): Return NULL if the arg charset_list is
5425 specified and C doesn't belong to any of them.
5426
54272008-06-02 Chip Coldwell <coldwell@redhat.com>
5428
5429 * font.c (font_pixel_size): Don't take cdr of an integer.
5430
54312008-06-02 Jim Meyering <meyering@redhat.com>
5432
5433 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5434 * alloc.c (xfree): Return right away for a NULL arg.
5435 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5436 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5437 * mac.c (create_apple_event_from_event_ref): Likewise.
5438 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5439 Likewise.
5440 * doprnt.c (doprnt1): Likewise.
5441 * frame.c (frame): Likewise.
5442 * keyboard.c (wipe_kboard): Likewise.
5443 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5444 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5445 * term.c (tty_default_color_capabilities, maybe_fatal)
5446 (delete_tty): Likewise.
5447 * w16select.c (string): Likewise.
5448 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5449 * w32bdf.c (w32_free_bdf_font): Likewise.
5450 * w32fns.c (w32_unload_font): Likewise.
5451 * w32font.c (w32font_close): Likewise.
5452 * window.c (size_window): Likewise.
5453 * xselect.c (receive_incremental_selection): Likewise.
5454 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5455 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5456 * w32.c (stat): Likewise.
5457
5458 Remove useless if-before-free tests.
5459 * editfns.c (Fset_time_zone_rule): Likewise.
5460 * lread.c (nosuffix): Likewise.
5461 * ralloc.c (get_bloc): Likewise.
5462 * regex.c (reg_free): Likewise.
5463 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5464 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5465 * xsmfns.c (smc_save_yourself_CB): Likewise.
5466
54672008-06-02 Kenichi Handa <handa@m17n.org>
5468
5469 * font.c (font_find_for_lface): Handle float font size.
5470 (font_open_for_lface): Likewise.
5471
5472 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5473 comparing the properties.
5474
54752008-06-01 Jason Rumney <jasonr@gnu.org>
5476
5477 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5478 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5479 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5480 Don't add empty script list.
5481 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5482
54832008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5484
5485 * Makefile.in (dot, dotdot): Remove, update users.
5486 ".." has been used elsewhere in the file for a long time.
5487 (LIBXT_STATIC): Remove conditional based on unused variable.
5488
54892008-06-01 Miles Bader <miles@gnu.org>
5490
5491 * xfaces.c (Vface_remapping_alist): New variable.
5492 (syms_of_xfaces): Initialize it.
5493 (enum named_merge_point_kind): New type.
5494 (struct named_merge_point): Add `named_merge_point_kind' field.
5495 (push_named_merge_point): Make cycle detection respect different
5496 named-merge-point kinds.
5497 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5498 Remove face-name alias resolution.
5499 (lface_from_face_name): New definition using
5500 `lface_from_face_name_no_resolve'.
5501 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5502 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5503 (get_lface_attributes): New definition that layers face-remapping on
5504 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5505 (lookup_basic_face): New function.
5506 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5507 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5508 `get_lface_attributes'.
5509 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5510 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5511 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5512
5513 * xdisp.c (init_iterator): Pass base_face_id through
5514 `lookup_basic_face' when we actually use it as a face-id.
5515 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5516 DEFAULT_FACE_ID.
5517
5518 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5519 lookup the initial face-id.
5520
5521 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5522
55232008-06-01 Juanma Barranquero <lekktu@gmail.com>
5524
5525 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5526 (Fremove_text_properties): Fix typos in docstrings.
5527
55282008-05-31 Kenichi Handa <handa@m17n.org>
5529
5530 * font.c (font_list_entities): Fix the car part of data to be
5531 stored in the cache.
5532
5533 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5534
55352008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5536
5537 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5538 Add a `test' argument so another predicate than `equal' can be used.
5539 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5540 (map_char_table): Remove unused vars `c' and `i'.
5541 * lisp.h (Foptimize_char_table): Adjust declaration.
5542 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5543
55442008-05-30 Kenichi Handa <handa@m17n.org>
5545
5546 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5547 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5548 defined.
5549
55502008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5551
5552 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5553 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5554 frame-local settings for the same variable.
5555
55562008-05-30 Kenichi Handa <handa@m17n.org>
5557
5558 * fontset.c (Ffont_info): Move to font.c.
5559 (syms_of_fontset): Delete defsubr of Sfont_info.
5560
5561 * font.c (font_style_to_value, font_score): Delete casting of the
5562 args to xstcasecmp.
5563 (register_font_driver): Increment num_font_drivers only when
5564 registering the driver globally.
5565 (Ffont_info): Move from fontset.c. Handle a font object too.
5566 (syms_of_font): Defsubr Sfont_info.
5567
55682008-05-29 Kenichi Handa <handa@m17n.org>
5569
5570 * coding.h (enum define_coding_utf8_arg_index): New enum.
5571 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5572 coding_attr_utf_bom.
5573 (enum utf_bom_type): Rename from utf_16_bom_type.
5574 (struct utf_16_spec): Adjust for the above change.
5575 (struct coding_system): Add utf_8_bom in `spec' union.
5576
5577 * coding.c (CODING_UTF_8_BOM): New macro.
5578 (enum coding_category): Delete coding_category_utf_8, add
5579 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5580 coding_category_utf_8_sig.
5581 (CATEGORY_MASK_UTF_8): Delete it.
5582 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5583 (CATEGORY_MASK_UTF_8_SIG): New macros.
5584 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5585 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5586 CATEGORY_MASK_UTF_8_SIG.
5587 (CATEGORY_MASK_UTF_8): New macro.
5588 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5589 (detect_coding_utf_8): Check BOM.
5590 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5591 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5592 (encode_coding_utf_16): Likewise.
5593 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5594 (detect_coding, detect_coding_system): Handle utf-8-auto.
5595 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5596 (syms_of_coding): Fix setting up of Vcoding_category_table.
5597
55982008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5599
5600 * process.c (Faccept_process_output): If `millisec' is non-nil,
5601 `seconds' default to 0.
5602 (wait_reading_process_output): Also return non-nil if we read output
5603 from a non-running process.
5604
56052008-05-29 Jason Rumney <jasonr@gnu.org>
5606
5607 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5608 `raster' specified.
5609 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5610 in the uniscribe backend, but disallow any font that has no
5611 unicode subrange support.
5612
56132008-05-29 Juanma Barranquero <lekktu@gmail.com>
5614
5615 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5616 Fix typos in docstrings.
5617
56182008-05-29 Kenichi Handa <handa@m17n.org>
5619
5620 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5621 (Fx_family_fonts): Set frame correctly.
5622
56232008-05-28 Jason Rumney <jasonr@gnu.org>
5624
5625 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5626
56272008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5628
5629 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5630 calling build_annotations.
5631
56322008-05-28 Juanma Barranquero <lekktu@gmail.com>
5633
5634 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5635 (Fencode_coding_string):
5636 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5637 <latin-extra-code-table>: Fix typos in docstrings.
5638 (syms_of_coding) <coding-system-alist>: Doc fix.
5639 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5640
56412008-05-28 Kenichi Handa <handa@m17n.org>
5642
5643 * fontset.c (Ffont_info): Don't call font_close_object.
5644
5645 * font.c (font_parse_family_registry): Use Ffont_put to validate
5646 foundry and family.
5647 (font_delete_unmatched): Don't check spacing.
5648 (font_list_entities): Add spacing to the spec to list fonts.
5649
5650 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5651 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5652
5653 * coding.c (encode_coding_raw_text): Fix previous change.
5654 (encode_coding_object): When the dst_object is a buffer and is
5655 different from src_object, move gap to PT.
5656
56572008-05-27 Chong Yidong <cyd@stupidchicken.com>
5658
5659 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5660
56612008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5662
5663 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5664 all branches. Compute it differently.
5665
5666 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5667
56682008-05-27 Juanma Barranquero <lekktu@gmail.com>
5669
5670 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5671 into "else if () ... else ...".
5672
56732008-05-27 Jason Rumney <jasonr@gnu.org>
5674
5675 * w32font.c (w32font_open_internal): Determine if glyph indices
5676 are likely to work here.
5677
56782008-05-27 Chong Yidong <cyd@stupidchicken.com>
5679
5680 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5681 draw overlap glyphs with appropriate highlighting.
5682
56832008-05-27 Kenichi Handa <handa@m17n.org>
5684
5685 * xfont.c (xfont_open): Fix calculation of font->average_width.
5686
56872008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5688
5689 * casefiddle.c (casify_object): Try to guess better whether the
5690 argument is a byte or a char.
5691
56922008-05-26 Andreas Schwab <schwab@suse.de>
5693
5694 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5695 Always send multiples of format size.
5696
5697 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5698
56992008-05-26 Jason Rumney <jasonr@gnu.org>
5700
5701 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5702 (compute_metrics): Don't set failure if we just cleared the cache.
5703 (w32_weight_table): Remove unused variable.
5704 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5705 backwards compatibility.
5706
57072008-05-25 Kenichi Handa <handa@m17n.org>
5708
5709 * w32term.c (x_draw_glyph_string):
5710 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5711
5712 * xfaces.c: Delete unused function prototypes.
5713 (xstrlwr, font_frame): Delete them.
5714 (clear_face_cache): Delete unused variable.
5715
5716 * xftfont.c (xftfont_open): Delete unused variable.
5717 If underline_thickness is not 1, adjust underline_position.
5718
5719 * ftxfont.c (ftxfont_open): Delete unused variable.
5720
5721 * fontset.c (face_for_char): Optimize for the case of no charset
5722 property.
5723
5724 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
5725 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
5726 (otf_open, font_otf_capability, generate_otf_features)
5727 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
5728 Comment out by surrounding "#if 0" and "#endif" for the moment.
5729 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
5730 (syms_of_font): Codes for accessing above commented out.
5731
57322008-05-24 Eli Zaretskii <eliz@gnu.org>
5733
5734 * w32proc.c: Include dispextern.h.
5735
5736 * w32.c: Include dispextern.h.
5737
57382008-05-23 Juanma Barranquero <lekktu@gmail.com>
5739
5740 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
5741 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
5742 Fix typos in docstrings.
5743
57442008-05-23 Jason Rumney <jasonr@gnu.org>
5745
5746 * xsmfns.c: Remove includes that are already included by config.h.
5747
57482008-05-23 Kenichi Handa <handa@m17n.org>
5749
5750 * charset.c (Qemacs, charset_emacs): New variables.
5751 (char_charset): Fix for non-Unicode characters.
5752 (syms_of_charset): Define charset_emacs.
5753
5754 * w32term.c (x_draw_glyph_string): Be sure to update
5755 s->underline_thickness and s->underline_position. Be sure to draw
5756 underline within the current line area.
5757
5758 * xterm.c (x_draw_glyph_string): Be sure to update
5759 s->underline_thickness and s->underline_position. Be sure to draw
5760 underline within the current line area.
5761
5762 * fontset.c: Delete unused variables and add casting for char *
5763 throughout the file.
5764 (fontset_font): Try the fallback fonts of the current fontset
5765 before consulting the default fontset.
5766
5767 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
5768
5769 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
5770
57712008-05-22 Jason Rumney <jasonr@gnu.org>
5772
5773 * font.c: Don't include strings.h.
5774
5775 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
5776
5777 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
5778 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
5779 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
5780 to call xstrcasecmp.
5781
5782 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
5783
5784 * fontset.c (fs_query_fontset): Use xstrcasecmp.
5785
5786 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
5787
5788 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
5789
57902008-05-22 Kenichi Handa <handa@m17n.org>
5791
5792 * puresize.h (BASE_PURESIZE): Increase to 1220000.
5793
5794 * font.c (font_prop_validate_style): Adjust for the format
5795 change of font_style_table.
5796
5797 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
5798 two args.
5799
5800 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
5801 two args.
5802
58032008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
5804
5805 * minibuf.c (keys_of_minibuf): Delete.
5806 * lisp.h (keys_of_minibuf): Delete.
5807 * emacs.c (main): Don't call keys_of_minibuf.
5808
58092008-05-22 Kenichi Handa <handa@m17n.org>
5810
5811 * ftfont.c (ftfont_resolve_generic_family): Rename from
5812 ftfont_list_generic_family. Return a single family for each
5813 generic family.
5814 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
5815 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
5816 Call font_add_log.
5817 (ftfont_match): Call font_add_log.
5818
5819 * font.h (Ffont_xlfd_name): EXFUN adjusted.
5820 (FONT_DEBUG): Define it.
5821 (font_add_log): Extern it.
5822 (font_assert): Rename from xassert.
5823
5824 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
5825 (xfont_list_family): Call font_add_log.
5826 (xfont_match): Likewise.
5827 (memq_no_quit): Delete.
5828
5829 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
5830 call of Ffont_xlfd_name.
5831
5832 * xfaces.c (struct table_entry, slant_table, weight_table)
5833 (swidth_table): Move to font.c.
5834
5835 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
5836 xassert are changed to font_assert. Delete many unused variables.
5837 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
5838 New variables.
5839 (struct table_entry): Move from xfaces.c and modified.
5840 (weight_table, slant_table, width_table): Move from xfaces.c and
5841 contents adjusted for the change of struct table_entry.
5842 (font_style_to_value, font_style_symbolic): Adjust for the
5843 format change of font_style_table.
5844 (font_parse_family_registry): Don't overwrite existing foundry and
5845 family of font_spec.
5846 (font_score): Fix calculation of diff for sizes.
5847 (font_sort_entites): Call font_add_log.
5848 (font_delete_unmatched): Return a newly created list.
5849 (font_list_entities): Fix previous change. Call font_add_log.
5850 (font_matching_entity, font_open_entity, font_close_entity):
5851 Call font_add_log.
5852 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
5853 (Finternal_set_font_style_table): Delete.
5854 (BUILD_STYLE_TABLE): New macro.
5855 (build_style_table): New function.
5856 (Vfont_log, font_log_env_checked): New variables.
5857 (font_add_log): New function.
5858 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
5859 Declare Lisp variables "font-weight-table", "font-slant-table",
5860 "font-width-table", and "font-log". Initialize font_style_table.
5861
58622008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
5863
5864 * xterm.c (x_set_frame_alpha): Move declarations before statements.
5865
58662008-05-21 Seiji Zenitani <zenitani@mac.com>
5867 Ryo Yoshitake <ryo@shiftmode.net>
5868
5869 * frame.c (Qalpha): Add a new frame parameter `alpha'.
5870 (Vframe_alpha_lower_limit): New variable.
5871 (x_set_alpha): New function.
5872
5873 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
5874
5875 * xfns.c (x-create-frame, Qalpha):
5876 Initialize the frame parameter `alpha'.
5877 * xterm.c (OPAQUE, OPACITY): New.
5878 (x_set_frame_alpha): New function.
5879 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
5880
5881 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
5882 * w32fns.c (w32_frame_parm_handlers): Likewise.
5883
58842008-05-20 Jason Rumney <jasonr@gnu.org>
5885
5886 * w32font.c (add_font_entity_to_list): Don't add non-opentype
5887 truetype fonts to opentype list.
5888
58892008-05-20 Juanma Barranquero <lekktu@gmail.com>
5890
5891 * fontset.c (Ffontset_info): Doc fix.
5892 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
5893 <ignore-relative-composition>: Fix typos in docstrings.
5894
5895 * font.c (syms-of-font) <font-encoding-alist>:
5896 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
5897 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
5898 (Ffont_otf_alternates): Doc fixes.
5899
59002008-05-20 Kenichi Handa <handa@m17n.org>
5901
5902 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
5903 font.h through out the file.
5904 (FONT_DRIVERS): Rename from FONTOBJ.
5905 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
5906 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
5907
5908 * emacs.c (main): Call syms_of_font unconditionally.
5909
5910 * font.h (find_font_encoding): Extern it.
5911
5912 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
5913 fontset.c.
5914 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
5915 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
5916 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
5917 only when HAVE_WINDOW_SYSTEM is defined.
5918 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
5919 when HAVE_WINDOW_SYSTEM is defined.
5920
5921 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
5922 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
5923
5924 * xfaces.c: Include font.h unconditionally.
5925 (merge_face_ref, merge_face_vectors)
5926 (Finternal_set_lisp_face_attribute): Cancel the previous change.
5927
59282008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
5929
5930 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
5931 indirect_variable.
5932 * eval.c (lisp_indirect_variable): New fun.
5933 (Fuser_variable_p): Use it.
5934
59352008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
5936
5937 * lisp.h (indirect_variable):
5938 * data.c (indirect_variable, let_shadows_buffer_binding_p):
5939 Use Lisp_Symbol pointers rather than Lisp_Object.
5940 Adjust callers.
5941 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
5942 To this end, change calling-convention.
5943
5944 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
5945 if some non-hidden buffers are selected by string&pred.
5946
59472008-05-19 Chong Yidong <cyd@stupidchicken.com>
5948
5949 * process.c (wait_reading_process_output): Always check status
5950 when in batch mode.
5951
59522008-05-19 Kenichi Handa <handa@m17n.org>
5953
5954 * font.c (font_list_entities): Fix handling of cache.
5955 (font_matching_entity): Likewise.
5956
5957 * ftfont.c (cs_iso8859_1): Delete.
5958 (ft_face_cache): New variable.
5959 (struct ftfont_info): New member fc_charset_idx.
5960 (ftfont_build_basic_charsets): Delete.
5961 (fc_charset_table): New variable.
5962 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
5963 . FC_CHARSET_IDX) as :font-entity property in the font entity.
5964 Callers changed.
5965 (ftfont_lookup_cache, ftfont_get_charset): New functions.
5966 (ftfont_spec_pattern): New argument fc_charset_idx.
5967 Check registry more rigidly. Change callers.
5968 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
5969 change of :font-entity property of the font.
5970
5971 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
5972 property of the font.
5973
59742008-05-18 Juanma Barranquero <lekktu@gmail.com>
5975
5976 * coding.c (Fcoding_system_p): Rename argument to match docstring.
5977 (Funencodable_char_position, Fcheck_coding_systems_region)
5978 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
5979 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
5980 (Ffind_operation_coding_system, Fset_coding_system_priority)
5981 (Fcoding_system_eol_type): Doc fixes.
5982
59832008-05-17 Glenn Morris <rgm@gnu.org>
5984
5985 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
5986
59872008-05-16 Eli Zaretskii <eliz@gnu.org>
5988
5989 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
5990 and st_gid.
5991
5992 * frame.c (Fdelete_frame): Don't call font_update_drivers if
5993 HAVE_WINDOW_SYSTEM is not defined.
5994
5995 * xfaces.c (merge_face_ref, merge_face_vectors)
5996 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
5997 HAVE_WINDOW_SYSTEM is defined.
5998 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
5999
60002008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6001
6002 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6003
60042008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6005
6006 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6007
60082008-05-15 Kenichi Handa <handa@m17n.org>
6009
6010 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6011 preference.
6012
60132008-05-15 Glenn Morris <rgm@gnu.org>
6014
6015 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6016
60172008-05-15 Chong Yidong <cyd@stupidchicken.com>
6018
6019 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6020 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6021
6022 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6023
60242008-05-15 Kenichi Handa <handa@m17n.org>
6025
6026 * ftfont.c (ftfont_list): Downcase family name to check generic
6027 families.
6028
6029 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6030 font-spec for QCfont value.
6031
6032 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6033 buffer. Check the return value of it.
6034
60352008-05-14 Jason Rumney <jasonr@gnu.org>
6036
6037 * w32term.c (w32_get_glyph_overhangs): Remove.
6038 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6039
60402008-05-14 Kenichi Handa <handa@m17n.org>
6041
6042 * font.c (font_prop_validate): Make nil a valid value.
6043 (font_clear_cache): Check if the cached vector of entities is nil
6044 or not.
6045
60462008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6047
6048 * emacs.c (main_thread): Conditionalize on
6049 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6050 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6051
6052 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6053 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6054 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6055
60562008-05-14 Kenichi Handa <handa@m17n.org>
6057
6058 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6059 has no corresponding coding system.
6060
60612008-05-14 Jason Rumney <jasonr@gnu.org>
6062
6063 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6064
6065 * w32font.h (w32font_open_internal): Update declaration.
6066
6067 * w32font.c (w32font_open_internal): Change last argument from
6068 w32font_info struct to font object. Fill in font object from
6069 font_entity. Get Outline metrics if possible. Use them to
6070 calculate underline position and thickness. Use xlfd name as name
6071 property. Don't set codepage.
6072 (w32font_open): Pass font_object to w32font_open_internal. Don't
6073 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6074 (w32font_draw): Use s->font.
6075 (clear_cached_metrics): Don't clear non-existent blocks.
6076
6077 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6078 font was not found.
6079 (x_draw_glyph_string): Use underline position and thickness from font.
6080
6081 * w32uniscribe.c (uniscribe_open): Pass font_object to
6082 w32font_open_internal.
6083
60842008-05-14 Kenichi Handa <handa@m17n.org>
6085
6086 These changes are to delete all legacy font-handling codes, and
6087 make Emacs use only font-backends.
6088
6089 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6090 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6091
6092 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6093
6094 * charset.h (Vcharset_non_preferred_head)
6095 (Vcurrent_iso639_language): Extern them.
6096
6097 * charset.c (Vcharset_non_preferred_head): New variable.
6098 (Vcurrent_iso639_language): New variable.
6099 (syms_of_charset): Declare it as a Lisp variable.
6100 (char_charset): Don't check non preferred charsets. As a last
6101 resort, return charset_unicode.
6102 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6103
6104 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6105 conditionals. Don't check enable_font_backend. Delete all codes
6106 used only when USE_FONT_BACKEND is not defined.
6107
6108 * dispextern.h (struct glyph_string): Change type of `font' to
6109 `struct font *'.
6110 (struct glyph_string): New member underline_position and
6111 underline_thickness.
6112 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6113 (struct face): Change type of `font' to `struct font *'. Remove
6114 members `font_name', `font_info_id'.
6115 (per_char_metric, encode_char): Delete externs.
6116 (calc_pixel_width_or_height): Adjust the prototype.
6117
6118 * emacs.c (enable_font_backend): Delete extern.
6119 (main): Don't set enable_font_backend. Don't check the command
6120 line argument "-disable-font-backend".
6121
6122 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6123 (enum font_property_index): New members FONT_DPI_INDEX,
6124 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6125 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6126 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6127 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6128 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6129 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6130 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6131 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6132 (struct font_spec, struct font_entity): New structs.
6133 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6134 (struct font): Many members from old "struct font_info" moved to
6135 here. Members font and entity deleted.
6136 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6137 the new font-related objects.
6138 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6139 (CHECK_FONT_GET_OBJECT): Likewise.
6140 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6141 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6142 (struct font_driver): New members case_sensitive anc check. Type
6143 of the member list and open changed.
6144 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6145 (font_symbolic_width, font_find_object, font_get_spec)
6146 (font_set_lface_from_name): Delete extern.
6147 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6148
6149 * font.c: Include <strings.h>.
6150 (enable_font_backend): Delete it.
6151 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6152 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6153 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6154 (null_string): Delete it.
6155 (null_vector): Make it static.
6156 (font_family_alist): Delete it.
6157 (Qnormal): Extern it.
6158 (QCextra, QClanguage): Delete it.
6159 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6160 (font_make_spec, font_make_entity, font_make_object)
6161 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6162 the string. Callers changed.
6163 (font_pixel_size): Adjusted for the format change of font-related
6164 objects.
6165 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6166 (font_style_to_value, font_style_symbolic): New function.
6167 (build_font_family_alist): Delete it.
6168 (font_registry_charsets): Use Fassoc_string instead of
6169 assq_no_quit.
6170 (font_prop_validate_symbol): Don't return null_string.
6171 (font_prop_validate_style): Adjusted for the change of
6172 style-related values in a font vector.
6173 (font_property_table): Delete entries for QClanguage and
6174 QCantialias, add entries for QCavgwidth.
6175 (get_font_prop_index): Delete the 2nd argument FROM.
6176 (font_prop_validate): Arguments changed.
6177 (font_put_extra): Adjusted for the change of font-related objects.
6178 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6179 (font_parse_fcname, font_unparse_fcname)
6180 (font_prepare_composition): Likewise.
6181 (font_parse_family_registry): Renamed from font_merge_old_spec.
6182 (otf_open): Delete the 1st arg entity.
6183 (font_otf_capability): Adjusted for the above change.
6184 (font_score): New arg alternate_families. Adjusted for the change
6185 of font-related objects.
6186 (font_sort_entites): New arg best_only.
6187 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6188 Delete them.
6189 (font_match_p): Check alternate families.
6190 (font_find_object): Delete it.
6191 (font_check_object): New function.
6192 (font_clear_cache): Adjusted for the change of font-related objects.
6193 (font_delete_unmatched): New arg.
6194 (font_list_entities): Call font_driver->list with a spec that
6195 doesn't specify style-related properties.
6196 (font_matching_entity): Arguments changed. Caller changed.
6197 (font_open_entity): Adjusted for the change of font-related objects.
6198 (font_close_object, font_has_char, font_encode_char)
6199 (font_get_name, font_get_spec): Likewise.
6200 (font_spec_from_name, font_clear_prop, font_update_lface):
6201 New functions.
6202 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6203 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6204 (font_at): Adjusted for the change of font-related objects.
6205 (font_range): New function.
6206 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6207 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6208 (Fcopy_font_spec, Fmerge_font_spec): New function.
6209 (Ffont_family_list): Renamed from list-families.
6210 (Finternal_set_font_style_table): Arguments changed.
6211 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6212 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6213 change of font-related objects.
6214 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6215
6216 * fontset.h (struct font_info): Delete it. Most members go to
6217 struct font.
6218 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6219 (enum FONT_SPEC_INDEX): Delete it.
6220 (font_info, list_fonts_func, load_font_func, query_font_func)
6221 (set_frame_fontset_func, find_ccl_program_func)
6222 (get_font_repertory_func, new_fontset_from_font_name): Delete
6223 externs.
6224 (fontset_from_font_name): Extern it.
6225 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6226 (FONT_INFO_FROM_FACE): Deleted.
6227 (face_for_font): Adjust prototype.
6228
6229 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6230 conditionals. Don't check enable_font_backend. Delete all codes
6231 used only when USE_FONT_BACKEND is not defined.
6232 (get_font_info_func, list_font_func, load_font_func)
6233 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6234 (get_font_repertory_func): Delete them.
6235 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6236 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6237 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6238 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6239 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6240 (fontset_compare_rfontdef): New function.
6241 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6242 rfont-defs by qsort. Adjusted for the change of font-group vector.
6243 (load_font_get_repertory): Deleted.
6244 (fontset_find_font): Use new macros to ref/set elements of
6245 font-def and rfont-def.
6246 (fontset_font): Fix the timing of remembering that no font for C.
6247 (free_face_fontset): Do nothing if the face has no fontset.
6248 (face_suitable_for_char_p): Use new macros to ref/set elements of
6249 rfont-def.
6250 (face_for_char): Likewise. Call face_for_char with font_object.
6251 (fs_load_font): Delete. Delete #pragma surrounding it.
6252 (fs_query_fontset): Use strcasecmp instead of strcmp.
6253 (generate_ascii_font_name): Adjusted for the format change of
6254 font-spec.
6255 (Fset_fontset_font): Likewise. Use new macros to set elements of
6256 font-def.
6257 (Fnew_fontset): Use font_unparse_xlfd to generate
6258 FONTSET_ASCII (fontset).
6259 (new_fontset_from_font_name): Deleted.
6260 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6261 a fontset is already created for the font. FIx updating of
6262 Vfontset_alias_alist.
6263 (fontset_ascii_font): Deleted.
6264 (Ffont_info): Adjusted for the format change of font-spec.
6265 (Finternal_char_font): Likewise.
6266 (Ffontset_info): Likewise.
6267 (syms_of_fontset): Don't check load_font_func.
6268
6269 * fns.c (internal_equal): Handle PREV_FONT.
6270
6271 * frame.h: Delete USE_FONT_BACKEND conditional.
6272
6273 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6274 conditionals. Don't check enable_font_backend. Delete all codes
6275 used only when USE_FONT_BACKEND is not defined.
6276 (x_set_font): Call x_new_font, not x_new_fontset2.
6277 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6278 already set for the frame.
6279
6280 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6281 a font-entity by font_make_entity. Use font_intern_prop instead
6282 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6283 font property. If a font is scalable, set avgwidth property to 0.
6284 Set font-entity property by font_put_extra.
6285 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6286 (ffont_driver): Adjusted for the change of struct font_driver.
6287 (ftfont_spec_pattern): New function.
6288 (ftfont_list): Return a list, not vector.
6289 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6290 (ftfont_list_family): Don't downcase names.
6291 (ftfont_free_entity): Deleted.
6292 (ftfont_open): Return a font-object. Adjusted for the change of
6293 struct font. Get underline_thickness and underline_position from
6294 font property. Don't update dpyinfo->smallest_font_height and
6295 dpyinfo->smallest_char_width.
6296 (ftfont_close): Don't free `struct font'.
6297 (ftfont_has_char): Adjusted for the format change of font-entity.
6298 (ftfont_encode_char, ftfont_text_extents): Likewise.
6299
6300 * ftxfont.c (ftxfont_list): Return a list, not vector.
6301 (ftxfont_open): Return a font-object. Adjusted for the change of
6302 struct font. Get underline_thickness and underline_position from
6303 font property. Don't update dpyinfo->smallest_font_height and
6304 dpyinfo->smallest_char_width.
6305 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6306 (ftxfont_draw): Adjusted for the change of struct font.
6307
6308 * image.c (image_ascent): Don't include "charset.h". Include
6309 "character.h" and "font.h".
6310
6311 * lisp.h (enum pvec_type): New member PREV_FONT.
6312 (Fassoc_string): EXFUN it.
6313
6314 * print.c: Include font.h.
6315 (print_object): Handle font-related objects.
6316
6317 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6318 conditionals. Don't check enable_font_backend. Delete all codes
6319 used only when USE_FONT_BACKEND is not defined.
6320 (handle_auto_composed_prop): Do nothing if it->f is not on a
6321 window system. Check how many following characters can be
6322 displayed by the same font.
6323 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6324 'struct font *'.
6325 (get_char_face_and_encoding): Assign the whole encoding task to
6326 the `encode-char' method of a font driver.
6327 (fill_composite_glyph_string): Adjusted for the change of `struct
6328 face' and `struct glyph_string'.
6329 (fill_glyph_string): Likewise.
6330 (get_per_char_metric): Arguments changed.
6331 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6332 and `struct glyph_string'.
6333 (produce_stretch_glyph, calc_line_height_property)
6334 (x_produce_glyphs): Likewise.
6335
6336 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6337 conditionals. Don't check enable_font_backend. Delete all codes
6338 used only when USE_FONT_BACKEND is not defined. Use
6339 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6340 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6341 (Qp): Extern them.
6342 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6343 Deleted.
6344 (struct font_name): Deleted.
6345 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6346 (compare_fonts_by_sort_order): New function.
6347 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6348 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6349 Deleted.
6350 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6351 compare_fonts_by_sort_order.
6352 (Fx_font_family_list): Call Ffont_family_list.
6353 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6354 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6355 (face_symbolic_slant, face_symbolic_swidth)
6356 (split_font_name_into_vector, build_font_name_from_vector)
6357 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6358 (font_rescale_ratio, split_font_name, build_font_name)
6359 (free_font_names, sort_fonts, x_face_list_fonts)
6360 (face_font_available_p, sorted_font_list, cmp_font_names)
6361 (font_list_1, concat_font_list, font_list, remove_duplicates):
6362 Deleted.
6363 (Fx_list_fonts): Use Ffont_list.
6364 (LFACE_AVGWIDTH): Deleted.
6365 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6366 by FONTP.
6367 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6368 (set_lface_from_font_name): Delete it.
6369 (set_lface_from_font): Renamed from
6370 set_lface_from_font_and_fontset. Caller changed. Don't set
6371 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6372 for face.
6373 (merge_face_vectors): Copy font-spec if necessary.
6374 Clear properties of the font-spec if necessary.
6375 (merge_face_ref): Clear properties of the font-spec if necessary.
6376 (Finternal_set_lisp_face_attribute): Likewise.
6377 (set_font_frame_param): Use font_load_for_lface to load a
6378 font-object, and call Fmodify_frame_parameters with it.
6379 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6380 font name by Ffont_xlfd_name.
6381 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6382 QCslant, and QCwidth.
6383 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6384 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6385 Compare fonts by EQ.
6386 (lookup_non_ascii_face): Deleted.
6387 (face_for_font): The 2nd argument changed.
6388 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6389 Check atomic font properties by case insensitive.
6390 (realize_non_ascii_face): Set face->overstrike correctly.
6391 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6392 (dump_realized_face): Get font name from
6393 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6394
6395 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6396 conditionals. Don't check enable_font_backend. Delete all codes
6397 used only when USE_FONT_BACKEND is not defined.
6398 (xic_create_xfontset): Original code deleted and renamed from
6399 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6400 (x_make_gc): Don't set GCFont in GCs.
6401 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6402 opened by "fixed".
6403 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6404 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6405 get_font_repertory_func.
6406
6407 * xfont.c: Include <stdlib.h> and "ccl.h".
6408 (struct xfont_info): New structure.
6409 (xfont_query_font): Deleted.
6410 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6411 moved from xterm.c.
6412 (xfont_driver): Adjusted for the change of struct font_driver.
6413 (compare_font_names): New function.
6414 (xfont_list_pattern): Sort font names case insensitively. Make
6415 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6416 (xfont_list): Return a list, not vector.
6417 (xfont_match): If the font doesn't have QCname property, generate
6418 a name from the other font properties.
6419 (xfont_open): Return a font-object. Adjusted for the change of
6420 struct font. Get underline_thickness and underline_position from
6421 font property. Don't update dpyinfo->smallest_font_height and
6422 dpyinfo->smallest_char_width.
6423 (xfont_close): Don't free struct font.
6424 (xfont_prepare_face): Adjusted for the change of struct font.
6425 (xfont_done_face): Deleted.
6426 (xfont_has_char): Adjusted for the change of struct font.
6427 (xfont_encode_char, xfont_draw): Likewise.
6428 (xfont_check): New function.
6429
6430 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6431 callback function.
6432 (xftfont_match): Adjusted for the format change of font-entity.
6433 (xftfont_open): Adjusted for the format change of font-entity and
6434 font-object. Adjusted for the change of struct font. Return a
6435 font-object. Don't update dpyinfo->smallest_font_height and
6436 dpyinfo->smallest_char_width.
6437 (xftfont_close): Block input while calling XftFontClose.
6438 (xftfont_prepare_face): Don't block input while calling
6439 xftfont_get_colors. Adjusted for the change of struct font.
6440 (xftfont_shape): Return value of error case fixed.
6441
6442 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6443
6444 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6445 conditionals.
6446 (FONT_WIDTH): Return (f)->max_width.
6447 (struct x_display_info): Delete member `font'.
6448 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6449 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6450 (struct x_output): Change type of `font' to `struct font *'.
6451
6452 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6453 conditionals. Don't check enable_font_backend. Delete all codes
6454 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6455 (x_per_char_metric, x_encode_char): Deleted.
6456 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6457 (x_compute_glyph_string_overhangs): Adjusted for the change of
6458 `struct face'.
6459 (x_draw_glyph_string_foreground)
6460 (x_draw_composite_glyph_string_foreground): Likewise.
6461 (x_draw_glyph_string): Likewise. Use font->underline_position and
6462 font->underline_thickness.
6463 (x_new_font): Renamed from x_new_fontset2.
6464 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6465 (x_check_font): Call `check' method of a font driver.
6466 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6467 (x_query_font, x_get_font_repertory): Deleted.
6468 (x_find_ccl_program): Renamed and moved to xfont.c.
6469 (x_redisplay_interface): Adjusted for the change of `struct
6470 redisplay_interface'.
6471
6472 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6473 conditionals. Don't check enable_font_backend. Delete all codes
6474 used only when USE_FONT_BACKEND is not defined. Surround non-used
6475 code by "#ifdef OLD_FONT" and "endif".
6476 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6477
6478 * w32font.h (struct w32font_info): New member.
6479 (FONT_COMPAT): New macro.
6480 (w32font_open_internal): Prototype adjusted.
6481
6482 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6483 OLD_FONT" and "endif".
6484
6485 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6486 conditionals. Don't check enable_font_backend. Delete all codes
6487 used only when USE_FONT_BACKEND is not defined.
6488 (w32font_open): Return a font-object. Make a font-object by
6489 font_make_object. Adjusted for the change of struct w32font_info.
6490 (w32font_close): Don't free struct font. Adjusted for the change
6491 of struct w32font_info.
6492 (w32font_encode_char, w32font_text_extents, w32font_draw):
6493 Adjusted for the change of struct w32font_info.
6494 (w32font_draw): Likewise.
6495 (w32font_list_internal): Return a list, not vector.
6496 (w32font_open_internal): Change the 4th arg to font-object.
6497 Adjusted for the change of struct w32font_info and font-object format.
6498 (add_font_name_to_list): Don't downcase names.
6499 (w32_enumfont_pattern_entity): Make a font-entity by
6500 font_make_entity. Adjusted for the format change of font-entity.
6501 Use FONT_SET_STYLE to set a style-related font property. If a
6502 font is scalable, set avgwidth property to 0. Set font-entity
6503 property by font_put_extra.
6504 (font_matches_spec): Adjusted for the format change of font-entity.
6505 (w32_weight_table, w32_decode_weight): New variables.
6506 (w32_encode_weight): New function.
6507 (fill_in_logfont): Adjusted for the format change of font-spec.
6508 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6509 weight value.
6510 (w32font_driver): Adjusted for the change of struct font_driver.
6511
6512 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6513 conditionals. Don't check enable_font_backend. Surround non-used
6514 code by "#ifdef OLD_FONT" and "endif".
6515 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6516 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6517
6518 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6519 conditionals. Don't check enable_font_backend. Delete all codes
6520 used only when USE_FONT_BACKEND is not defined. Surround non-used
6521 code by "#ifdef OLD_FONT" and "endif".
6522
6523 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6524 (uniscribe_open): Return value changed to font-object.
6525 Adjusted for the format change of font-object.
6526 (uniscribe_otf_capability): Adjusted for the change of struct font.
6527 (add_opentype_font_name_to_list): Don't downcase names.
6528 (uniscribe_font_driver): Adjusted for the change of struct
6529 font_driver.
6530
65312008-05-13 Chong Yidong <cyd@stupidchicken.com>
6532
6533 * dispnew.c (update_frame_1): Check if tty output is still valid
6534 before flushing it.
6535
65362008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6537
6538 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6539 to Gtk+ menus.
6540
65412008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6542
6543 * dired.c (file_name_completion): Tweak the code so as to always do it
6544 in a single pass. Tighten the scope of some variables.
6545
6546 * dired.c (Qdefault_directory): New var.
6547 (file_name_completion): Use it instead of Fexpand_file_name.
6548 (syms_of_dired): Initialize it.
6549
65502008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6551
6552 * fileio.c (double_dollars): Remove dead code.
6553
65542008-05-10 Eli Zaretskii <eliz@gnu.org>
6555
6556 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6557 Mention w32-get-true-file-attributes in doc string.
6558
6559 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6560
65612008-05-09 Glenn Morris <rgm@gnu.org>
6562
6563 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6564 2008-04-23.
6565
65662008-05-09 Eli Zaretskii <eliz@gnu.org>
6567
6568 Support for reporting owner and group of each file on MS-Windows:
6569 * dired.c (stat_uname, stat_gname): New functions, with special
6570 implementation for w32.
6571 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6572
6573 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6574 (dflt_group_name): New static variable.
6575 (dflt_group): Rename from the_group.
6576 (init_user_info): Init dflt_group fields. Get user's group name
6577 from LookupAccountSid.
6578 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6579 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6580 New initialization states.
6581 (globals_of_w32): Initialize them to zero. Initialize the default
6582 group name to "None".
6583 (GetFileSecurity_Name): New global var, the name of the function
6584 to call for GetFileSecurity.
6585 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6586 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6587 (get_file_security, get_security_descriptor_owner)
6588 (get_security_descriptor_group, is_valid_sid)
6589 (get_file_security_desc, get_rid, get_name_and_id)
6590 (get_file_owner_and_group): New functions.
6591 (stat): Use get_file_security_desc and get_file_owner_and_group to
6592 report the owner and primary group of each file. Don't ignore the
6593 high 32 bits of file's size, now that st_size is 64-bit wide.
6594 Fix test when to get true file attributes.
6595 (init_user_info): Use get_rid instead of equivalent inline code.
6596 (fstat): Don't ignore the high 32 bits of file's size.
6597
65982008-05-09 Chong Yidong <cyd@stupidchicken.com>
6599
6600 * image.c (png_load): Use correct bit-depth for setting background
6601 color.
6602
66032008-05-08 Eli Zaretskii <eliz@gnu.org>
6604
6605 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6606 epa-hook.elc.
6607
66082008-05-08 Juanma Barranquero <lekktu@gmail.com>
6609
6610 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6611
66122008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6613
6614 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6615 because the original parameters are in pure storage now.
6616 (mac_window): Remove unused params. Update callers.
6617
66182008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6619
6620 * lread.c (substitute_object_recurse): Use lower-level primitives.
6621 Don't signal errors when traversing sub-char-tables.
6622 Don't loop over all the possible characters when traversing char-tables.
6623
6624 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6625 just like we do in print.c.
6626
66272008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6628
6629 * minibuf.c (Ftry_completion): Remove code left over from when we used
6630 scmp instead of Fcompare_strings.
6631
66322008-05-04 Juanma Barranquero <lekktu@gmail.com>
6633
6634 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6635
66362008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6637
6638 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6639 Create bitmap context in native byte order.
6640
6641 * macterm.c (XDrawLine)
6642 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6643 context in native byte order.
6644
66452008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6646
6647 * config.in: Regenerate.
6648
6649 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6650 New definitions for Image I/O support.
6651 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6652 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6653 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6654 (mac_data_provider_release_data, image_load_image_io)
6655 [USE_MAC_IMAGE_IO]: New functions.
6656 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6657 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6658 (init_image_func_pointer) [MAC_OSX]: Remove function.
6659 (image_load_quartz2d) [MAC_OSX]: Check availability of
6660 CGImageCreateWithPNGDataProvider at compile time.
6661 Use lowercase `false' for boolean constant.
6662 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6663 Use image_load_image_io.
6664 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6665 Don't check MyCGImageCreateWithPNGDataProvider.
6666 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6667 Don't call init_image_func_pointer.
6668
6669 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6670
6671 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6672 Make variable non-static.
6673 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6674 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6675
6676 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6677 (RED_FROM_ULONG): Mask off higher bits.
6678 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6679
6680 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6681 Include AvailabilityMacros.h.
6682 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6683 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6684
66852008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6686
6687 * chartab.c (Fset_char_table_range): If range is t, really set all
6688 chars to that value.
6689
66902008-05-03 Eli Zaretskii <eliz@gnu.org>
6691
6692 * dired.c (Ffile_attributes): Don't allow the device number become
6693 negative.
6694
66952008-05-02 Daiki Ueno <ueno@unixuser.org>
6696
6697 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6698
66992008-05-02 Juri Linkov <juri@jurta.org>
6700
6701 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6702 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6703 DEFAULT argument as a list of default values in docstrings.
6704
67052008-05-01 Chong Yidong <cyd@stupidchicken.com>
6706
6707 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6708
67092008-05-01 Martin Rudalics <rudalics@gmx.at>
6710
6711 * dispnew.c (change_frame_size_1): Preserve small windows when
6712 shrinking frames by calling set_window_height|width with third
6713 arg 2.
6714
6715 * window.h (struct window): Replace field too_small_ok by field
6716 resize_proportionally.
6717
6718 * window.c (make_window): Initialize resize_proportionally.
6719 (enlarge_window): Temporarily set resize_proportionally to make
6720 sure that shrink_windows does scale the window proportionally.
6721 (shrink_windows): When window has resize_proportionally set try
6722 to shrink it proportionally by stealing from other windows.
6723 (struct saved_window, Fset_window_configuration)
6724 (compare_window_configurations): Handle resize_proportionally.
6725 (WINDOW_TOTAL_SIZE): New macro.
6726 (window_min_size, shrink_windows, size_window): Use it.
6727 (check_min_window_sizes): Remove. Invalid values of
6728 window-min-height|width are handled by window_min_size_2 now.
6729 (size_window, Fsplit_window, enlarge_window)
6730 (adjust_window_trailing_edge, grow_mini_window): Don't call
6731 check_min_window_sizes.
6732 (window_min_size_2, window_min_size_1, window_min_size):
6733 New argument safe_p for retrieving "safe" minimum sizes.
6734 (Fdisplay_buffer, Fsplit_window, enlarge_window)
6735 (adjust_window_trailing_edge, grow_mini_window):
6736 Adjust arguments of window_min_size... functions.
6737 (shrink_windows): Argument min_size removed. New argument
6738 safe_p allows shrinking windows to their safe minimum sizes.
6739 Calculate minimum size and decide whether a window shall be
6740 deleted for each window individually.
6741 (size_window): When nodelete_p equals 2, tell shrink_windows to
6742 delete windows only if their new minimum size is no more safe.
6743 (shrink_window_lowest_first): Call window_min_size_1 to make
6744 sure to preserve modeline of bottom-most window when resizing
6745 the minibuffer.
6746 (Fset_window_configuration, Fcurrent_window_configuration)
6747 (compare_window_configurations): Do not handle
6748 window-min-height|width any more.
6749 (syms_of_window): Clarify window-min-height|width doc-strings.
6750
67512008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
6752
6753 * dired.c (file_name_completion): Fix up the encoding/decoding issue
6754 some more. Copy some of the code from Ftry_completions.
6755 Remove special case code that dates back to initial revision when the
6756 slash was only added when necessary and that can't trigger nowadays.
6757
67582008-04-27 Kenichi Handa <handa@m17n.org>
6759
6760 * font.c (font_prop_validate): Signal `error' instead of `font'.
6761
67622008-04-29 Jason Rumney <jasonr@gnu.org>
6763
6764 * w32fns.c (Fw32_battery_status): New defun.
6765 (syms_of_w32fns): Defsubr it.
6766
67672008-04-28 Andreas Schwab <schwab@suse.de>
6768
6769 * dired.c (file_name_completion): Fix another mixing of encoded
6770 and decoded names.
6771
67722008-04-28 Juanma Barranquero <lekktu@gmail.com>
6773
6774 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
6775
67762008-04-27 Juanma Barranquero <lekktu@gmail.com>
6777
6778 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
6779
67802008-04-27 Andreas Schwab <schwab@suse.de>
6781
6782 * dired.c (file_name_completion): Fix inappropriate mixing of
6783 encoded and decoded names.
6784
6785 * xterm.c (XTread_socket): Fix use of uninitialized variable.
6786
6787 * puresize.h (BASE_PURESIZE): Increase to 1200000.
6788
67892008-04-26 Eli Zaretskii <eliz@gnu.org>
6790
6791 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
6792 2008-03-31, it's not needed anymore with `struct stat' definition
6793 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
6794 for the same reasons.
6795
67962008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
6797
6798 * m/sparc.h: Additional redefinitions for GNU/Linux.
6799
68002008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6801
6802 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
6803 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
6804 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
6805 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
6806 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6807 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
6808 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6809 Likewise.
6810
6811 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
6812 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
6813 (mac_ax_number_of_characters): Add externs.
6814 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
6815 [USE_MAC_TSM]: Likewise.
6816 (mac_handle_text_input_event) [MAC_OSX]:
6817 Handle kEventTextInputOffsetToPos for no active input area case.
6818 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6819 (mac_handle_document_access_event)
6820 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
6821 (install_application_handler) [MAC_OSX]: Register handlers for
6822 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
6823 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
6824 Register mac_handle_document_access_event.
6825
6826 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
6827 Make functions non-static.
6828
68292008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
6830
6831 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
6832 (read_file_name_completion_ignore_case, insert_default_directory)
6833 (Qdefault_directory): Move to minibuffer.el.
6834 (Fread_file_name): Call the new `read-file-name' instead.
6835
68362008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6837
6838 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
6839 Make function non-static.
6840 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
6841 Remove function.
6842 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6843 Move to mactoolbox.c.
6844 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
6845
6846 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
6847 (mac_rect_make): New macro.
6848
6849 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
6850 instead of float.
6851 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6852 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
6853 (XSetBackground) [USE_CG_DRAWING]: Likewise.
6854 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
6855 CGRectMake.
6856 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
6857 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
6858 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
6859 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6860 instead of WindowRef in argument type.
6861 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
6862 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
6863 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
6864 instead of DISPLAY. All uses changed.
6865 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
6866 (x_calc_absolute_position): Simplify so as not to use
6867 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
6868
6869 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
6870 instead of WindowRef in argument type.
6871 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
6872 [TARGET_API_MAC_CARBON]: Remove externs.
6873 (create_apple_event, mac_event_parameters_to_lisp)
6874 [TARGET_API_MAC_CARBON]: Add externs.
6875
6876 * mactoolbox.c (Vmac_ts_script_language_on_focus)
6877 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
6878 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
6879 is clicked.
6880 (x_activate_menubar): Remove extern for saved_menu_event_location.
6881 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
6882 Move from mac.c.
6883
68842008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6885
6886 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
6887 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
6888
68892008-04-23 Jason Rumney <jasonr@gnu.org>
6890
6891 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
6892 attributes only for local files.
6893
6894 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
6895 default to Qlocal.
6896
68972008-04-22 Juri Linkov <juri@jurta.org>
6898
6899 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
6900 read-buffer-to-switch instead of using the letter "B".
6901
69022008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
6903
6904 * fileio.c (Qdefault_directory): New variable.
6905 (Fread_file_name): Use it to pass `dir' to the completion functions.
6906
69072008-04-20 Chong Yidong <cyd@stupidchicken.com>
6908
6909 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
6910
69112008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
6912
6913 * keyboard.c (Vpre_help_message): Remove.
6914 (show_help_echo): Remove default C code.
6915
6916 * dired.c (directory_files_internal, file_name_completion):
6917 Only call ENCODE_FILE if the string is indeed decoded.
6918
69192008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
6920
6921 * Makefile.in (TOOLKIT_DEFINES): Remove.
6922 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
6923
69242008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6925
6926 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
6927 (mactoolbox.o): New target.
6928
6929 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
6930 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
6931
6932 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
6933 Use mac_set_frame_window_background instead of XSetWindowBackground.
6934 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
6935 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
6936 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
6937 instead of SetWindowTitleWithCFString.
6938 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
6939 Move function to mactoolbox.c.
6940 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
6941 Use mac_set_window_modified instead of SetWindowModified.
6942 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
6943 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
6944 (Fx_focus_frame): Use mac_front_non_floating_window instead of
6945 FrontNonFloatingWindow. Use mac_activate_window instead of
6946 ActivateWindow. Use mac_active_non_floating_window instead of
6947 ActiveNonFloatingWindow.
6948 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
6949 Use mac_show_hourglass and mac_hide_hourglass.
6950 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
6951 instead of GetGlobalMouse.
6952 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
6953 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
6954 Use mac_bring_window_to_front instead of BringToFront.
6955 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
6956 mactoolbox.c.
6957 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
6958 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
6959 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
6960 mactoolbox.c.
6961
6962 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
6963 (XtPointer): Move typedef from macmenu.c.
6964 (enum button_type): Move enum from macmenu.c.
6965 (widget_value): Move typedef from macmenu.c.
6966 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
6967 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6968 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6969 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6970 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
6971 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
6972 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
6973 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
6974 (Selection): Move typedef from macselect.c.
6975 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
6976 macterm.c.
6977 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
6978 (mac_is_window_collapsed, mac_bring_window_to_front)
6979 (mac_send_window_behind, mac_hide_window, mac_show_window)
6980 (mac_collapse_window, mac_front_non_floating_window)
6981 (mac_active_non_floating_window, mac_activate_window)
6982 (mac_move_window_structure, mac_move_window, mac_size_window)
6983 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
6984
6985 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
6986 (enum mac_menu_kind): Move enum to mactoolbox.c.
6987 (min_menu_id): Move variable to mactoolbox.c.
6988 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
6989 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
6990 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
6991 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
6992 [TARGET_API_MAC_CARBON]: Likewise.
6993 (XtPointer): Move typedef to macgui.h.
6994 (enum button_type): Move enum to macgui.h.
6995 (widget_value): Move typedef to macgui.h.
6996 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
6997 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
6998 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
6999 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7000 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7001 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7002 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7003 (popup_activated_flag): Make variable non-static.
7004 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7005 (add_menu_item, fill_menu, dispose_menus):
7006 Move functions to mactoolbox.c.
7007 (restore_show_help_function, menu_target_item_handler)
7008 (install_menu_target_item_handler, mac_handle_dialog_event)
7009 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7010 [TARGET_API_MAC_CARBON]: Likewise.
7011 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7012 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7013 (find_and_call_menu_selection, name_is_separator): Make function
7014 non-static.
7015 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7016 to mactoolbox.c.
7017 (set_frame_menubar): Don't call install_menu_quit_handler.
7018 (menu_item_selection): New variable.
7019 (mac_menu_show): Use create_and_show_popup_menu.
7020 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7021 selection but set variable menu_item_selection. All uses changed.
7022 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7023 Call install_menu_quit_handler. Move to mactoolbox.c.
7024
7025 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7026 (Selection): Move typedef to macgui.h.
7027 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7028 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7029 Make variables non-static.
7030 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7031 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7032 Make functions non-static.
7033 (Vmac_service_selection) [MAC_OSX]: Likewise.
7034 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7035 (mac_valid_selection_target_p, mac_clear_selection)
7036 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7037 (mac_put_selection_value, mac_selection_has_target_p)
7038 (mac_get_selection_value, mac_get_selection_target_list)
7039 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7040 Move functions to mactoolbox.c.
7041 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7042 Likewise.
7043 (copy_scrap_flavor_data, mac_handle_service_event)
7044 (install_service_handler) [MAC_OSX]: Likewise.
7045 (syms_of_macselect) <Vmac_dnd_known_types>:
7046 Use mac_dnd_default_known_types.
7047
7048 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7049 Move to mactoolbox.c.
7050 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7051 (Fx_selection_owner_p): Add EXFUN.
7052 (install_window_handler, remove_window_handler, XSetWindowBackground):
7053 Remove externs.
7054 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7055 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7056 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7057 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7058 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7059 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7060 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7061 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7062 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7063 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7064 (mac_valid_selection_target_p, mac_clear_selection)
7065 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7066 (mac_put_selection_value, mac_selection_has_target_p)
7067 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7068 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7069 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7070 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7071 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7072 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7073 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7074 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7075 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7076
7077 * mactoolbox.c: New file.
7078
70792008-04-18 Jason Rumney <jasonr@gnu.org>
7080
7081 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7082
70832008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7084
7085 * character.c (Fmultibyte_char_to_unibyte):
7086 Return latin1 chars unchanged.
7087
7088 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7089 relocated if it points to `name'.
7090
70912008-04-17 Kenichi Handa <handa@m17n.org>
7092
7093 * data.c (Faset): Allow setting a multibyte character in an
7094 ASCII-only unibyte string.
7095
7096 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7097
70982008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7099
7100 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7101 done in config.h.
7102
71032008-04-16 Juanma Barranquero <lekktu@gmail.com>
7104
7105 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7106 (Fchar_direction): Add usage in the docstring.
7107
71082008-04-15 Chong Yidong <cyd@stupidchicken.com>
7109
7110 * keyboard.c (read_key_sequence): Remove always-true checks.
7111
71122008-04-14 Jason Rumney <jasonr@gnu.org>
7113
7114 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7115 compatibility struct, for better underline positioning.
7116
71172008-04-13 David Hansen <david.hansen@gmx.net>
7118
7119 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7120 string.
7121
71222008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7123
7124 * m/hp800.h (XUINT, XSET): Remove.
7125
71262008-04-12 Juanma Barranquero <lekktu@gmail.com>
7127
7128 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7129 previous change.
7130
71312008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7132
7133 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7134 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7135
71362008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7137
7138 * keymap.h (map_keymap_canonical): Declare.
7139 * xmenu.c (single_keymap_panes): Use it.
7140
71412008-04-11 Glenn Morris <rgm@gnu.org>
7142
7143 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7144 set the target's value to that of the alias.
7145
71462008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7147
7148 * term.c (set_tty_color_mode): Left over typo.
7149
71502008-04-10 Michael Albinus <michael.albinus@gmx.de>
7151
7152 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7153 only after check for file name handler functions. Signal, when
7154 native functionality is not supported.
7155 (syms_of_fileio): Declare it unconditionally.
7156
71572008-04-10 Jason Rumney <jasonr@gnu.org>
7158
7159 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7160 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7161
7162 * w32.c (logon_network_drive): Also logon to remote drives that
7163 are mapped to drive letters.
7164
71652008-04-10 Glenn Morris <rgm@gnu.org>
7166
7167 * xdisp.c (truncate-partial-width-windows): Doc fix.
7168
71692008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7170
7171 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7172 Move functions to minibuffer.el.
7173 (syms_of_fileio): Don't declare them.
7174
71752008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7176
7177 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7178 (syms_of_minibuf): Remove its initialization.
7179
7180 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7181
71822008-04-09 Juanma Barranquero <lekktu@gmail.com>
7183
7184 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7185
71862008-04-09 Jason Rumney <jasonr@gnu.org>
7187
7188 * makefile.w32-in (distclean): Delete makefile too.
7189 (maintainer-clean): New target.
7190
7191 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7192
7193 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7194 for new font backend and composite cases.
7195
71962008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7197
7198 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7199 Most of the code moved to run_timers.
7200 (do_pending_atimers): Call run_timers.
7201 (run_timers): New function.
7202
7203 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7204 run atimers.
7205
7206 * process.c (wait_reading_process_output): The same as above.
7207
72082008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7209
7210 * minibuf.c (last_exact_completion): Remove variable.
7211 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7212 (complete_and_exit_1, complete_and_exit_2)
7213 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7214 (Fdisplay_completion_list, display_completion_list_1)
7215 (Fminibuffer_completion_help, Fself_insert_and_exit)
7216 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7217 minibuffer.el.
7218 (syms_of_minibuf): Remove corresponding initializations.
7219
7220 * keyboard.c (Qdeactivate_mark): New var.
7221 (command_loop_1): Use it to call `deactivate-mark'.
7222 (syms_of_keyboard): Initialize it.
7223
7224 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7225 to another frame.
7226 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7227 Don't call set_tty_color_mode.
7228 (store_frame_param): Reset previous_frame rather than call
7229 set_tty_color_mode.
7230 * term.c (set_tty_color_mode): Rewrite.
7231 * dispextern.h (set_tty_color_mode): New type.
7232 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7233
72342008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7235
7236 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7237 for generic chars, which do not exist any more in emacs-unicode.
7238
72392008-04-08 Michael Albinus <michael.albinus@gmx.de>
7240
7241 * coding.c (detect_coding_emacs_mule)
7242 (Ffind_operation_coding_system): Fix typo.
7243
72442008-04-08 Jason Rumney <jasonr@gnu.org>
7245
7246 * w32uniscribe.c (SNAME): Extract only symbol name.
7247
7248 * w32font.h (struct w32_metric_cache): New struct.
7249 (w32font_info): Use it.
7250 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7251 (CACHE_BLOCKSIZE): New constants.
7252
7253 * w32font.c (Qja, Qko, Qzh): New symbols.
7254 (syms_of_w32font): Initialise them.
7255 (font_matches_spec): Use them to filter by language.
7256 (recompute_cached_metrics): Remove function.
7257 (compute_metrics, clear_cached_metrics): New functions.
7258 (w32font_encode_char): Use them to manage metric cache.
7259 (w32font_text_extents): Cache metrics for all glyphs on demand.
7260 Delay converting glyph indices to WORD until needed.
7261 (w32font_open_internal): Initialize metric cache to empty.
7262 (registry_to_w32_charset): Charset should always be a symbol.
7263 (fill_in_logfont, list_all_matching_fonts): Family should
7264 always be a symbol.
7265
72662008-04-06 Jason Rumney <jasonr@gnu.org>
7267
7268 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7269 Give up if glyph indices not supported. Use uniscribe obtained
7270 ABC widths for individual metrics. Map glyph clusters back to
7271 characters using fClusterStart flag. Return number of glyphs
7272 produced, not chars processed.
7273 (uniscribe_shape): Map char at FROM to current glyph.
7274
72752008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7276
7277 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7278 Use SetMenuItemHierarchicalMenu.
7279
72802008-04-05 Jason Rumney <jasonr@gnu.org>
7281
7282 * image.c (pbm_load): Allow color values up to 65535.
7283 Throw an error if max_color_idx is outside the supported range.
7284 Report an error when image size is invalid.
7285 Read two bytes at a time when raw images have max_color_idx above 255.
7286
72872008-04-05 Eli Zaretskii <eliz@gnu.org>
7288
7289 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7290 cFileName a file name that includes `?' characters, use the 8+3
7291 alias in cAlternateFileName instead.
7292
72932008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7294
7295 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7296 append "CCL: Quitted" when the CCL program is quitted.
7297 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7298
7299 * ccl.h (struct ccl_program): New member quit_silently.
7300
73012008-04-05 Chong Yidong <cyd@stupidchicken.com>
7302
7303 * search.c (compile_pattern_1): Treat non-nil and non-string of
7304 search-spaces-regexp as nil.
7305
7306 * minibuf.c (Fassoc_string): Tweak docstring.
7307
73082008-04-05 Eli Zaretskii <eliz@gnu.org>
7309
7310 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7311 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7312 2008-03-14 to force inode be positive.
7313
7314 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7315 _S_* ones, since we now use our own sys/stat.h.
7316 (stat, fstat): Don't mangle the inode number.
7317 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7318
73192008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7320
7321 * frame.h (struct frame): Give one more bit to `visible' since we use
7322 values larger than 1 to indicate obscured frames on ttys.
7323
7324 * keymap.c (Qkeymap_canonicalize): New var.
7325 (Fmap_keymap_internal): New fun.
7326 (describe_map): Use keymap-canonicalize.
7327
7328 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7329 (Fundo_boundary): Set them.
7330 (syms_of_undo): Initialize them.
7331 (record_point): Use them instead of last_point_position*.
7332 (last_undo_buffer): Change type.
7333
73342008-04-04 Jason Rumney <jasonr@gnu.org>
7335
7336 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7337 (recompute_cached_metrics): Don't set ascent and descent per char.
7338
7339 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7340 (uniscribe_check_otf): Add GC protection before consing.
7341 Rearrange loop for counting features.
7342
73432008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7344
7345 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7346 buffer with byte-size of source buffer.
7347
73482008-04-03 Chong Yidong <cyd@stupidchicken.com>
7349
7350 * callint.c (Fcall_interactively): Handle temporary region even
7351 when shift-select-mode is off.
7352
73532008-04-03 Jason Rumney <jasonr@gnu.org>
7354
7355 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7356
73572008-04-03 Kenichi Handa <handa@m17n.org>
7358
7359 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7360 (CATEGORY_MASK_UTF_16): Likewise.
7361 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7362 binary file.
7363 (detect_coding): Add null-byte detection for a binary file.
7364 (detect_coding_system): Likewise.
7365
73662008-04-03 Jason Rumney <jasonr@gnu.org>
7367
7368 * w32uniscribe.c: New file.
7369
7370 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7371
7372 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7373
7374 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7375 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7376 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7377 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7378 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7379 (Qphonetic): New symbols.
7380 (syms_of_w32font): Initialize them.
7381 (font_supported_scripts): Use them.
7382 (w32font_list_family): List all charsets.
7383 (w32font_text_extents, recompute_cached_metrics): Fix metric
7384 calculations.
7385 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7386 Give opentype fonts their own format.
7387 (font_matches_spec): New arguments backend and logfont.
7388 Handle :otf spec for uniscribe backend.
7389 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7390 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7391
7392 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7393 font backend.
7394 (globals_of_w32fns): Initialize uniscribe font backend.
7395
7396 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7397 dependencies.
7398 (w32uniscribe.$(O)): New file to build.
7399 (FONT_OBJ): Include w32uniscribe.$(O).
7400 (LIBS): Add uniscribe libraries.
7401
7402 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7403
74042008-04-02 Chong Yidong <cyd@stupidchicken.com>
7405
7406 * callint.c (Vshift_select_mode): New var.
7407 (Finteractive): Document new ^ spec.
7408 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7409 is present.
7410
7411 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7412 (command_loop_1): Avoid running the direct display versions of
7413 forward-char and backward-char if shift-selection may occur.
7414 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7415 shift-translation takes place.
7416
7417 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7418 avoid clobbering by define-minor-mode.
7419
7420 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7421 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7422
7423 * syntax.c (Fforward_word): Add ^ interactive spec.
7424
7425 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7426 (Fscroll_right): Add ^ interactive spec.
7427
74282008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7429
7430 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7431
7432 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7433
7434 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7435
74362008-03-31 Juri Linkov <juri@jurta.org>
7437
7438 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7439
74402008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7441
7442 * gtkutil.c (xg_set_geometry): Fix indentation.
7443 (xg_resize_outer_widget): Remove.
7444 (x_wm_size_hint_off): Fix indentation.
7445 (xg_frame_set_char_size): Call flush_and_sync after
7446 gtk_window_resize.
7447 (x_wm_set_size_hint): Pass NULL as geometry window to
7448 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7449 Add menu bar and tool bar height to base height.
7450 (xg_update_frame_menubar, free_frame_menubar)
7451 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7452 (update_frame_tool_bar, free_frame_tool_bar):
7453 Change xg_resize_outer_widget to xg_frame_set_char_size.
7454
74552008-03-30 Michael Albinus <michael.albinus@gmx.de>
7456
7457 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7458 (Fdbus_call_method): New parameter TIMEOUT.
7459 (dbus-send-signal): Optimize UNGCPRO call.
7460
74612008-03-29 Juri Linkov <juri@jurta.org>
7462
7463 * window.c (Fdisplay_buffer): Move call to
7464 Vsplit_window_preferred_function out of conditions that check
7465 if window is eligible for vertical splitting.
7466 When Vsplit_window_preferred_function is non-nil, call it and use
7467 its non-nil return value as window. Otherwise, continue doing
7468 vertical splitting using Fsplit_window with arg horflag=nil.
7469 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7470 default value from `split-window' to nil.
7471
74722008-03-29 Juri Linkov <juri@jurta.org>
7473
7474 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7475 for interactive code letters 'b' and 'B'.
7476
74772008-03-29 Eli Zaretskii <eliz@gnu.org>
7478
7479 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7480 multibyte string.
7481
74822008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7483
7484 * keyboard.c (pending_funcalls): New var.
7485 (timer_check): Run it.
7486 (syms_of_keyboard): Initialize it.
7487 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7488 (Vdelete_terminal_functions): New vars.
7489 (syms_of_terminal): Initialize them.
7490 (Fdelete_terminal): Run delete-terminal-functions.
7491 * xdisp.c (safe_eval): Rewrite.
7492 (safe_call2): New fun.
7493 * frame.c (Qdelete_frame_functions): New var.
7494 (syms_of_frame): Initialize it.
7495 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7496 * lisp.h (safe_call2, pending_funcalls): Declare.
7497
74982008-03-28 Andreas Schwab <schwab@suse.de>
7499
7500 * indent.c (Fmove_to_column): Move declaration before statements.
7501
75022008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7503
7504 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7505 (struct frame): Use bit fields for boolean vars.
7506
7507 * process.c (server_accept_connection): Simplify naming.
7508 (emacs_get_tty_pgrp): Use SDATA.
7509
7510 * coding.c (decode_coding_object): Fix last change.
7511
75122008-03-27 Jason Rumney <jasonr@gnu.org>
7513
7514 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7515
75162008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7517
7518 * charset.c (Fdefine_charset_internal): Change the way of
7519 registering charsets in Vcharset_order_list.
7520 (syms_of_charset): Make the charset `eight-bit' supplementary.
7521
75222008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7523
7524 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7525 operations, to avoid having the difference between pointers
7526 overflow.
7527
75282008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7529
7530 * indent.c (check_display_width): New fun.
7531 (scan_for_column): Use it.
7532
7533 * data.c (syms_of_data): Mark most-positive-fixnum and
7534 most-negative-fixnum as constants.
7535
7536 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7537
7538 * indent.c (scan_for_column): Extract from current_column_1.
7539 Merge with the same code from Fmove_to_column.
7540 (current_column_1, Fmove_to_column): Use it.
7541
75422008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7543
7544 * keymap.c (map_keymap_internal): New fun.
7545 (map_keymap): Use it.
7546 (Fmap_keymap_internal): New fun.
7547 (Fmap_keymap): Remove left-out test from before make_save_value.
7548
7549 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7550
7551 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7552 Use XCAR/XCDR.
7553
7554 * process.h (struct Lisp_Process): Remove filter_multibyte.
7555 * process.c (QCfilter_multibyte): Remove.
7556 (setup_process_coding_systems): Don't use filter_multibyte.
7557 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7558 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7559 (Fset_process_filter_multibyte): Change the coding-system to
7560 approximate the previous behavior.
7561 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7562 coding-system.
7563
7564 * coding.c (decode_coding_object): When not decoding into a buffer,
7565 obey the coding system's preference of (uni|multi)byte.
7566
75672008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7568
7569 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7570 every char is changed and has a different byte-length.
7571 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7572 Fix int -> EMACS_INT.
7573
75742008-03-23 David Hansen <david.hansen@gmx.net>
7575
7576 * dbusbind.c (xd_read_message): Remove extra copying of message
7577 strings. Check for NULL `interface' or `member'.
7578
75792008-03-22 Eli Zaretskii <eliz@gnu.org>
7580
7581 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7582 cFileName a file name that includes `?' characters, use the 8+3
7583 alias in cAlternateFileName instead.
7584
75852008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7586
7587 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7588
75892008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7590
7591 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7592 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7593 work on current_buffer only instead (that was already the case
7594 for some of the code anyway).
7595 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7596 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7597 (SET_PT, SET_PT_BOTH): Adjust.
7598 * intervals.h (set_point, temp_set_point, set_point_both)
7599 (temp_set_point_both): Remove redundant declarations.
7600
76012008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7602
7603 * fileio.c (Finsert_file_contents):
7604 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7605 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7606 when buffer != current_buffer anyway.
7607
76082008-03-20 Andreas Schwab <schwab@suse.de>
7609
7610 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7611 as default.
7612
76132008-03-19 Jason Rumney <jasonr@gnu.org>
7614
7615 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7616 (syms_of_w32fns): Initialize them.
7617 (HOURGLASS_ID): New constant.
7618 (x_window_to_frame): Don't check hourglass_window.
7619 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7620 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7621 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7622 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7623 Only change the cursor if hourglass is not active.
7624 (Fx_create_frame): Initialize frame's current_cursor.
7625 (hourglass_atimer): Remove.
7626 (hourglass_started): New function.
7627 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7628 (show_hourglass): Adapt to w32, changing argument to frame.
7629
7630 * w32term.h (struct w32_output): Remove hourglass_window.
7631 Add current_cursor.
7632
7633 * eval.c (call_debugger, Fsignal):
7634 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7635 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7636 (Fexecute_extended_command, cancel_hourglass_unwind):
7637 * minibuf.c (read_minibuf):
7638 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7639
76402008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7641
7642 * window.c (run_funs): New fun.
7643 (run_window_configuration_change_hook): Use it to run the buffer-local
7644 and the global part of the hook.
7645
7646 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7647 (unwind_format_mode_line): Restore selected window.
7648 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7649
76502008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7651
7652 * editfns.c (Fchar_equal): Check they are valid characters.
7653
7654 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7655
76562008-03-17 Andreas Schwab <schwab@suse.de>
7657
7658 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7659 against a charset.
7660
7661 * lisp.h (Fbuffer_list): Declare.
7662
76632008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7664
aac0c6e3
MR
7665 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7666 handlebox_widget is != 0.
7667
76682008-03-16 Juri Linkov <juri@jurta.org>
7669
7670 * callint.c (Fcall_interactively): For interactive code letters
7671 'b' and 'B' put the buffer list into the list of default "future"
7672 values of the minibuffer.
7673
76742008-03-16 Andreas Schwab <schwab@suse.de>
7675
7676 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7677 modifiers.
7678
7679 * regex.c (re_match_2_internal): Correct matching of a charset
7680 against latin-1 characters.
7681
76822008-03-16 Kenichi Handa <handa@m17n.org>
7683
7684 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7685 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7686 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7687 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7688 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7689 CHAR_STRING_ADVANCE.
7690 (produce_chars): Fix for the case that the source and the
7691 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7692 instead of CHAR_STRING_ADVANCE.
7693 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7694 STRING_CHAR_ADVANCE.
7695
76962008-03-15 Andreas Schwab <schwab@suse.de>
7697
7698 * regex.c (re_match_2_internal): Correct matching of eight bit
7699 characters in unibyte strings.
7700
77012008-03-15 Martin Rudalics <rudalics@gmx.at>
7702
7703 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7704 at end of range when it coincides with the end of the buffer.
7705
77062008-03-14 Eli Zaretskii <eliz@gnu.org>
7707
7708 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7709
7710 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7711
77122008-03-14 Jason Rumney <jasonr@gnu.org>
7713
7714 * editfns.c (initial_tz): New variable.
7715 (syms_of_editfns): Initialize it.
7716 (Fset_time_zone_rule): Set it when first called.
7717 Use it when TZSTRING is nil.
7718
7719 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
7720 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
7721 (monitor_from_point_fn, get_monitor_info_fn): New globals.
7722 (globals_of_w32fns): Initialize them.
7723 (compute_tip_xy): Use them to position tooltips.
7724
77252008-03-14 Glenn Morris <rgm@gnu.org>
7726
7727 * emacs.c (main): Revert previous change.
7728 (standard_args): Revert -internal-script back to -scriptload,
7729 and remove the long-option form.
7730
77312008-03-13 Glenn Morris <rgm@gnu.org>
7732
7733 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
7734 Remove option -enable-font-backend.
7735
77362008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
7737
7738 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
7739
77402008-03-11 Jan Djärv <jan.h.d@swipnet.se>
7741
7742 * xterm.c (x_connection_closed): For GTK: If this is the last
7743 terminal just exit without closing the display.
7744
77452008-03-11 Jason Rumney <jasonr@gnu.org>
7746
7747 * w32font.c (w32font_full_name): Use floor to round.
7748
f0131492 77492008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
7750
7751 * sound.c (alsa_configure): Declare vol at beginning of block.
7752
7753 * fontset.c (Ffontset_info): Remove extra semicolon.
7754
77552008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
7756
7757 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
7758 size of resulting string.
7759
77602008-03-10 Jason Rumney <jasonr@gnu.org>
7761
7762 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
7763
77642008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7765
7766 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
7767 Don't pretend as if characters with display property haven't been
7768 consumed for string-replacing-string case.
7769
77702008-03-08 Kim F. Storm <storm@cua.dk>
7771
7772 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
7773 (get_next_display_element, next_element_from_string)
7774 (next_element_from_ellipsis, next_element_from_buffer): Use it.
7775
77762008-03-08 Andreas Schwab <schwab@suse.de>
7777
7778 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
7779
77802008-03-06 Jason Rumney <jasonr@gnu.org>
7781
7782 * w32font.c (w32_registry): Take font_type argument. Use ANSI
7783 when charset not specified. Only translate ANSI to unicode when
7784 font_type is truetype.
7785 (w32font_coverage_ok): New function.
7786 (add_font_entity_to_list): Use it to filter unsuitable fonts.
7787
77882008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
7789
7790 * lread.c (Fread_char): Resolve modifiers.
7791 (Fread_char_exclusive): Likewise.
7792
7793 * character.c (char_resolve_modifier_mask): New function.
7794 (char_string): Use char_resolve_modifier_mask.
7795 (Fchar_resolve_modifiers): New function.
7796 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
7797 function.
7798
77992008-03-04 Jason Rumney <jasonr@gnu.org>
7800
7801 * makefile.w32-in: Always include w32font.c in the build.
7802 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
7803
78042008-03-04 Andreas Schwab <schwab@suse.de>
7805
7806 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
7807 (versionclean): Likewise.
7808
78092008-03-04 Juanma Barranquero <lekktu@gmail.com>
7810
7811 * .cvsignore: Add oo.
7812
78132008-03-03 Andreas Schwab <schwab@suse.de>
7814
7815 * coding.c (decode_coding_object): Inhibit gap shrinking while
7816 decoding in place.
7817
78182008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
7819
7820 * w32term.c: Remove unused include "gnu.h".
7821 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
7822
7823 * gnu.h: Rename to ...
7824 * emacs-icon.h: ... this.
7825 * xterm.c: Use emacs-icon.h instead of gnu.h.
7826 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
7827
78282008-03-03 Juanma Barranquero <lekktu@gmail.com>
7829
7830 * w32font.c: Include math.h.
7831
78322008-03-03 Jason Rumney <jasonr@gnu.org>
7833
7834 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
7835 Compute options separately.
7836 (w32font_open_internal): Set glyph_idx before caching metrics.
7837
7838 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
7839 Define if system headers don't.
7840 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
7841 (w32font_encode_char): Don't declare here.
7842
7843 * w32font.c (Quniscribe, QCformat): New symbols.
7844 (syms_of_w32font): Define them.
7845 (w32font_has_char): Indicate uncertainty.
7846 (w32font_encode_char): Encode as glyph point. Make static.
7847 (recompute_cached_metrics): New function.
7848 (w32font_open_internal): Use it. Set font to use glyph points
7849 initially. Set format based on type of font.
7850 (w32font_text_extents, w32font_draw): Optionally use glyph points.
7851 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
7852 on it. Set format based on information available here.
7853 (add_font_entity_to_list): Identify backend based on opentype_only.
7854
78552008-03-02 Andreas Schwab <schwab@suse.de>
7856
7857 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
7858
7859 * coding.c (decode_coding_big5, produce_chars):
7860 Fix typos in last change.
7861
78622008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
7863
7864 * gnu.h: New icon.
7865
78662008-03-02 Kenichi Handa <handa@m17n.org>
7867
7868 * coding.c (decode_coding_utf_8): When eol-type of CODING is
7869 `dos', don't decode '\r' if that is the last in the source.
7870 (decode_coding_utf_16, decode_coding_emacs_mule)
7871 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
7872 (decode_coding_raw_text, decode_coding_charset): Likewise.
7873 (produce_chars): Don't decode EOL here. Use EMACS_INT.
7874
78752008-03-01 Jason Rumney <jasonr@gnu.org>
7876
7877 * w32font.c (w32font_full_name): Report point size for scalable fonts.
7878
78792008-03-01 Kim F. Storm <storm@cua.dk>
7880
7881 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
7882
78832008-03-01 Jason Rumney <jasonr@gnu.org>
7884
7885 * w32font.c (w32font_full_name): New function.
7886 (w32font_open_internal): Use it.
7887
78882008-03-01 Kim F. Storm <storm@cua.dk>
7889
7890 * dispnew.c (line_draw_cost): Fix invalid glyph check.
7891
78922008-03-01 Jason Rumney <jasonr@gnu.org>
7893
7894 * font.c (font_unparse_fcname): Increase len when style is a symbol.
7895
78962008-03-01 Jan Djärv <jan.h.d@swipnet.se>
7897
7898 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
7899 xg_frame_resized when the event is for the edit widget.
7900
7901 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
7902
7903 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
7904 set_char_size.
7905 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
7906 operations on widgets here. Just set frame size if needed.
7907 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
7908 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
7909 (x_wm_set_size_hint): Set size hints on the edit widget only, not
7910 the whole frame.
7911 (xg_create_tool_bar): Move attachment of the tool bar to
7912 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
7913 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
7914
79152008-03-01 Jason Rumney <jasonr@gnu.org>
7916
7917 * w32fns.c (w32_msg_pump): Disable debug code.
7918
79192008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7920
7921 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
7922
79232008-02-29 Chong Yidong <cyd@stupidchicken.com>
7924
7925 * xdisp.c (next_overlay_string): Don't set
7926 overlay_strings_at_end_processed_p if we're currently reading from
7927 a display string.
7928
79292008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
7930
7931 * xdisp.c (get_overlay_strings_1): Fix typo.
7932
79332008-02-29 Chong Yidong <cyd@stupidchicken.com>
7934
7935 * xdisp.c (get_overlay_strings_1): Add missing argument type.
7936
79372008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
7938
7939 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
7940
7941 * xdisp.c (display_mode_element): Cancel the previous change.
7942 (decode_mode_spec): Likewise.
7943 (handle_auto_composed_prop): Don't make composition if it->string
7944 is a string.
7945
79462008-02-27 Kim F. Storm <storm@cua.dk>
7947
7948 * lisp.h (GLYPH): Change type from int to struct with separate char
7949 and face_id members.
7950 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
7951 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
7952 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
7953 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
7954 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
7955 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
7956 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
7957 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
7958 handle new Lisp glyph code encoding, either an integer or a cons.
7959
7960 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
7961 (GLYPH_ALIAS): Delete.
7962 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
7963 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
7964 (GLYPH_FROM_CHAR): Replace macro by ...
7965 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
7966
7967 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
7968 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
7969 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
7970 (GLYPH_INVALID_P): New macro.
7971 (spec_glyph_lookup_face): Update prototype.
7972
7973 * dispnew.c (line_draw_cost): Adapt to new glyph type.
7974 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
7975 new glyph code encoding.
7976 (spec_glyph_lookup_face): No return value; update passed glyph instead.
7977 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
7978
7979 * xdisp.c (get_next_display_element, next_element_from_display_vector):
7980 Adapt to new glyph type and new glyph code encoding.
7981
7982 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
7983
7984 * indent.c (current_column, current_column_1, Fmove_to_column)
7985 (compute_motion): Adapt to new glyph code encoding.
7986
7987 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
7988
79892008-02-27 Chong Yidong <cyd@stupidchicken.com>
7990
7991 * process.c (wait_reading_process_output): Check for window
7992 changes caused by timers.
7993 Suggested by Johan Bockgård.
7994
79952008-02-27 Glenn Morris <rgm@gnu.org>
7996
7997 * emacs.c (USAGE1): Add `--disable-font-backend'.
7998
79992008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8000
8001 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8002 is made to the buffer.
8003
80042008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8005
8006 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8007 (face_at_string_position):
8008 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8009 (face_at_string_position):
8010 * xdisp.c (display_string, next_overlay_change):
8011 * buffer.h (overlays_at):
8012 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8013 Update callers.
8014
80152008-02-26 Chong Yidong <cyd@stupidchicken.com>
8016
8017 * editfns.c (Fformat): Doc fix.
8018
80192008-02-26 Juanma Barranquero <lekktu@gmail.com>
8020
8021 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8022 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8023 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8024
80252008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8026
8027 * buffer.c (Fbuffer_swap_text): New function.
8028 (syms_of_buffer): Defsubr it.
8029
80302008-02-25 Chong Yidong <cyd@stupidchicken.com>
8031
8032 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8033
80342008-02-25 Jason Rumney <jasonr@gnu.org>
8035
8036 * w32font.c (w32font_draw): Draw one character at a time when padding.
8037
80382008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8039
8040 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8041 Handle a nil arg. Use run_window_configuration_change_hook.
8042 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8043 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8044 Use run_window_configuration_change_hook.
8045
80462008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8047
8048 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8049 1-pixel width.
8050
80512008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8052
8053 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8054 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8055 if the glyph in the font is zero pixel with.
8056
8057 * dispextern.h (struct glyph_string): New member padding_p.
8058
8059 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8060
8061 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8062
8063 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8064
8065 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8066
8067 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8068
80692008-02-25 Jason Rumney <jasonr@gnu.org>
8070
8071 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8072
80732008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8074
8075 Allow fine-grained image-cache flushing.
8076 * dispextern.h (struct image): Add `dependencies' field.
8077 (clear_image_caches): Change arg to Lisp_Object.
8078 * image.c (make_image): Initialize `dependencies' field.
8079 (clear_image_cache): Change arg to allow fine-grained flushing.
8080 Perform the flush even if image-cache-eviction-delay is nil.
8081 (clear_image_caches): Change arg to Lisp_Object.
8082 (Fclear_image_cache): Expand meaning of the argument.
8083 (mark_image): Mark `dependencies' field.
8084 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8085 (lface_hash): Use XHASH rather than XFASTINT.
8086 (face_at_buffer_position): Fix int -> EMACS_INT position.
8087 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8088 (select_frame_for_redisplay): Remove code duplication.
8089 (redisplay_internal): Adapt arg to call to clear_image_caches.
8090
80912008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8092
8093 * s/vms4-0.h:
8094 * s/vms4-2.h:
8095 * s/vms4-4.h:
8096 * s/vms5-5.h: Remove, unused.
8097
8098 * s/irix5-2.h:
8099 * s/irix6-0.h:
8100 * s/riscos5.h:
8101 * s/mach-bsd4-3.h:
8102 * m/mips4.h: Remove files for obsolete systems.
8103
8104 * Makefile.in:
8105 * filelock.c:
8106 * unexmips.c:
8107 * m/hp9000s300.h:
8108 * m/iris4d.h:
8109 * s/aix3-1.h:
8110 * s/hpux.h:
8111 * s/msdos.h:
8112 * s/usg5-0.h:
8113 * s/usg5-2-2.h:
8114 * s/usg5-2.h:
8115 * s/usg5-3.h: Remove references to obsolete variables.
8116
8117 * s/irix5-0.h: Remove, move all the contents ...
8118 * s/irix6-5.h: ... here. Simplify.
8119 * config.in: Regenerate.
8120
81212008-02-24 Jason Rumney <jasonr@gnu.org>
8122
8123 * w32term.c (x_draw_glyph_string_background): Clear the background
8124 manually when cleartype is in use.
8125 (x_draw_glyph_string_foreground): Draw text transparently when
8126 cleartype is in use.
8127
8128 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8129 a font into it unless we have to.
8130
81312008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8132
8133 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8134 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8135
aac0c6e3
MR
81362008-02-18 Jason Rumney <jasonr@gnu.org>
8137
8138 * w32fns.c (Fw32_shell_execute): Encode parameters.
8139
81402008-02-09 Eli Zaretskii <eliz@gnu.org>
8141
8142 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8143
81442008-02-05 Juanma Barranquero <lekktu@gmail.com>
8145
8146 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8147
81482008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8149
8150 * xterm.c (x_set_offset): Don't change the gravity if
8151 CHANGE_GRAVITY is -1.
8152
81532008-02-23 Chong Yidong <cyd@stupidchicken.com>
8154
8155 * fileio.c (auto_save_error_occurred): New var.
8156 (auto_save_error): Set it.
8157 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8158 error occurred.
8159
81602008-02-23 Eli Zaretskii <eliz@gnu.org>
8161
8162 * w32.c (globals_of_w32): Add initializations for
8163 g_b_init_get_sid_sub_authority and
8164 g_b_init_get_sid_sub_authority_count.
8165
81662008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8167
8168 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8169 (font_parse_xlfd): Use them for sanity check.
8170 (Finternal_set_font_style_table): Make sure the table is bijective.
8171
8172 Consolidate the image_cache to the terminal struct.
8173 * termhooks.h (P_): Remove redundant def.
8174 (struct terminal): New field `image_cache'.
8175 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8176 of FRAME_X_IMAGE_CACHE.
8177 * xterm.h (struct x_display_info): Remove image_cache field.
8178 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8179 * w32term.h (struct w32_display_info): Remove image_cache field.
8180 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8181 * macterm.h (struct mac_display_info): Remove image_cache field.
8182 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8183 * xterm.c (x_term_init):
8184 * w32term.c (w32_term_init):
8185 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8186 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8187 Remove declarations.
8188 (clear_image_caches, mark_image_cache): New declarations.
8189 * xfaces.c (clear_face_cache):
8190 * xdisp.c (redisplay_internal): Use clear_image_caches.
8191 * image.c (clear_image_cache): Don't check that a frame is on
8192 a window-system before checking if it shares the same cache.
8193 (clear_image_caches): New function.
8194 (Fclear_image_cache): Use it.
8195 (mark_image): Move from allo.c.
8196 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8197 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8198 (mark_object): Don't call mark_image_cache for frames.
8199 (mark_terminals): Call mark_image_cache.
8200
8201 * lisp.h (Fdelete_terminal): Declare.
8202
8203 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8204 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8205 wrong_type_argument.
8206
82072008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8208
8209 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8210 malayalam.el, and tamil.el. Add sinhala.el.
8211
82122008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8213
8214 * xterm.c (x_connection_closed): Consolidate identical tests.
8215 (x_delete_terminal): Don't crash if called via x_connection_closed.
8216
82172008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8218
8219 * xdisp.c (decode_mode_spec): New arg string.
8220 (display_mode_element): Adjust for the above change.
8221
82222008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8223
8224 * callint.c (Fcall_interactively): Use AREF.
8225
82262008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8227
8228 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8229
82302008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8231
8232 * xfns.c (Fx_show_tip): Set string to " " if empty.
8233
82342008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8235
8236 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8237 with Qt.
8238
82392008-02-17 Kenichi Handa <handa@m17n.org>
8240
8241 * ftfont.c (ftfont_shape): Return Lispy number.
8242
8243 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8244 for GCs.
8245 (Finternal_set_font_selection_order): Call font_update_sort_order
8246 only when enable_font_backend is set.
8247 (realize_x_face): Set face->font_info to that of default face only
8248 when enable_font_backend is set.
8249
8250 * xdisp.c (handle_composition_prop): Set it->c to the fist
8251 character of the composed region.
8252 (fill_composite_glyph_string): Set base_face->font_info to
8253 s->font_info. Get a face for ascii from base_face->ascii_face.
8254 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8255 with a face already decided.
8256 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8257 non-negative.
8258 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8259 call font_prepare_composition unconditionally.
8260
8261 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8262
8263 * xterm.h (struct x_display_info): New member font.
8264
8265 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8266 (x_set_mouse_face_gc, x_new_font): Likewise.
8267 (x_term_init): Setup display_info->font.
8268 (x_delete_terminal): Free display_info->font.
8269
8270 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8271
8272 * ftxfont.c (ftxfont_default_fid): Delete it.
8273 (ftxfont_open): Set xfont->fid to 0.
8274 (ftxfont_end_for_frame): Clear data specific to the frame and the
8275 font-driver.
8276
8277 * xftfont.c (xftfont_default_fid): Delete it.
8278 (xftfont_open): Set xfont->fid to 0.
8279
8280 * fontset.c (FONTSET_OBJLIST): New macro.
8281 (fontset_find_font): Update font-object list of the fontset.
8282 (free_realized_fontset): New function.
8283 (free_face_fontset): Call free_realized_fontset.
8284 (Ffont_info): Call font_close_object only when enable_font_backend
8285 is set.
8286
8287 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8288 [HAVE_NTGUI]: Include w32term.h.
8289 [MAC_OS]: Include macterm.ch.
8290 (font_otf_ValueRecord): Use make_number.
8291 (font_finish_cache): Fix handling of reference count.
8292 (font_clear_cache): Update num_fonts.
8293 (font_open_entity): Update smallest_char_width and
8294 smallest_font_height of the frame.
8295 (font_close_object): Update num_fonts.
8296 (Fclear_font_cache): Fix finding the target cache data.
8297
82982008-02-16 Glenn Morris <rgm@gnu.org>
8299
8300 * fontset.c (Finternal_char_font): Fix compilation warning.
8301
83022008-02-16 Eli Zaretskii <eliz@gnu.org>
8303
8304 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8305 instead of char arrays. Enlarge the size of array passed to
8306 get_token_information.
8307
8308 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8309 warnings.
8310
83112008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8312
8313 * .gdbinit: Don't set `args', it breaks gdb --args.
8314
83152008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8316
8317 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8318 within a narrowed buffer.
8319
83202008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8321
8322 * coding.c (decode_coding_object, encode_coding_object):
8323 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8324
83252008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8326
8327 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8328 hardcoding 1.
8329 (detect_coding_system):
8330 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8331 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8332 * insdel.c (insert_from_gap):
8333 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8334 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8335 (string_to_multibyte):
8336 * character.c (chars_in_text, multibyte_chars_in_text):
8337 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8338
8339 * character.h (FETCH_STRING_CHAR_ADVANCE)
8340 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8341 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8342 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8343
8344 * casefiddle.c (casify_region): Only call after-change and composition
8345 functions on the part of the region that was changed.
8346
8347 * keyboard.c (read_avail_input):
8348 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8349
83502008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8351
8352 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8353 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8354
83552008-02-11 Juanma Barranquero <lekktu@gmail.com>
8356
8357 * w32menu.c (push_submenu_start, push_submenu_end)
8358 (push_left_right_boundary, push_menu_pane, push_menu_item):
8359 * keyboard.c (read_key_sequence): Don't pass args with side effects
8360 to AREF, it fails when compiling with -DENABLE_CHECKING.
8361
83622008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8363
8364 * Makefile.in (${lispsource}international/charprop.el):
8365 Delete this target.
8366
8367 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8368 emacs-unicode-2.
8369
83702008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8371
8372 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8373
83742008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8375
8376 * frame.c (Qnoelisp): New symbol.
8377 (syms_of_frame): Initialize it.
8378 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8379 harmless Elisp code, from a strong `force' from x_connection_closed.
8380 * frame.h (Qnoelisp): Declare.
8381 * xterm.c (x_connection_closed): Pass `noelisp'.
8382
8383 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8384 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8385 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8386 rather than `int' for the type of `type'.
8387
83882008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8389
8390 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8391
8392 * Makefile.in (GNUC): Remove support for gcc-1.x.
8393
83942008-02-10 Richard Stallman <rms@gnu.org>
8395
8396 * lisp.h (ASET): Use AREF, not ASLOT.
8397
83982008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8399
8400 * lisp.h (ASET): Check bounds.
8401
84022008-02-10 Glenn Morris <rgm@gnu.org>
8403
8404 * buffer.c (mode-name): Doc fix.
8405
84062008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8407
8408 * Makefile.in:
8409 * emacs.c:
8410 * gmalloc.c:
8411 * keyboard.c:
8412 * lisp.h:
8413 * m/ibm370aix.h:
8414 * process.c:
8415 * regex.c:
8416 * s/hpux.h:
8417 * sysdep.c:
8418 * sysselect.h:
8419 * systty.h:
8420 * unexec.c:
8421 * w32term.c:
8422 * xsmfns.c:
8423 * xterm.c: Remove code that deals with obsolete variables.
8424
8425 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8426
8427 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8428 nothing else needs it anymore.
8429
84302008-02-09 Eli Zaretskii <eliz@gnu.org>
8431
8432 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8433 instead of unibyte_char_to_multibyte.
8434
84352008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8436
8437 * s/gnu-linux.h: Remove commented out code.
8438
8439 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8440
8441 * Makefile.in: Update what RMS says about using autoconf.
8442 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8443 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8444 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8445 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8446
84472008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8448
8449 * keymap.c (Fkey_description): Move side effect outside of macro call.
8450
8451 * xfaces.c (Finternal_make_lisp_face):
8452 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8453
8454 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8455 (syms_of_fontset): Use ASET.
8456
8457 * fns.c (concat): Move side effect outside of macro call.
8458 (hash_clear): Use ASET.
8459
84602008-02-08 Richard Stallman <rms@gnu.org>
8461
8462 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8463 If FORCE, and frame has a surrogate minibuffer for another frame,
8464 delete the other frame first.
8465
84662008-02-07 Timo Savola <timo.savola@iki.fi>
8467
8468 * xterm.c (x_detect_focus_change): Handle embed client message.
8469 (handle_one_xevent): Ditto.
8470 (handle_one_xevent): If embedded and we get a button press/release,
8471 request focus.
8472 (xembed_set_info, xembed_send_message): New functions.
8473 (x_make_frame_visible): Call xembed_set_info if embedded.
8474 (x_make_frame_invisible): Call xembed_set_info if embedded.
8475 (x_term_init): Initialize Xatom_XEMBED.
8476 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8477 (x_iconify_frame): Ditto.
8478
8479 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8480 (enum xembed_info, enum xembed_message, enum xembed_focus)
8481 (enum xembed_modifier, enum xembed_accelerator): New.
8482 (xembed_set_info, xembed_send_message): Declare.
8483 (FRAME_X_EMBEDDED_P): New.
8484
8485 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8486 gtk_plug_new.
8487
8488 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8489 window ID of a frame.
8490 (x_window): Reparent frame if embedded.
8491 (Fx_create_frame): Don't set border width if embedded.
8492
8493 * emacs.c (USAGE3): Add --parent-id.
8494 (standard_args): Ditto.
8495
84962008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8497
8498 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8499
85002008-02-07 Jim Meyering <meyering@redhat.com>
8501
8502 Use "do...while (0)", not "if (1)...else" in macro definitions.
8503 The latter provokes a warning from gcc about the empty else, when
8504 followed by ";". Also, without that trailing semicolon, it would
8505 silently swallow up any following statement.
8506 * syntax.h (SETUP_SYNTAX_TABLE)
8507 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8508 * buffer.h (DECODE_POSITION): Likewise.
8509 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8510 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8511 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8512 (FETCH_CHAR_ADVANCE): Likewise.
8513 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8514
85152008-02-07 Jim Meyering <meyering@redhat.com>
8516
8517 * lread.c [lint]: Don't include <sys/inode.h>.
8518
85192008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8520
8521 * xselect.c (x_handle_dnd_message):
8522 * xmenu.c (digest_single_submenu, xmenu_show):
8523 * xdisp.c (with_echo_area_buffer_unwind_data)
8524 (format_mode_line_unwind_data, unwind_format_mode_line)
8525 (display_menu_bar):
8526 * eval.c (Ffetch_bytecode):
8527 * doc.c (store_function_docstring):
8528 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8529 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8530 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8531
85322008-02-07 Kenichi Handa <handa@m17n.org>
8533
8534 * ftxfont.c (ftxfont_open): Don't set
8535 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8536
8537 * ftfont.c (ftfont_open): Fix previous change.
8538
85392008-02-06 Jason Rumney <jasonr@gnu.org>
8540
8541 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8542 Use cached metrics for ASCII characters.
8543 (w32font_open_internal): Don't set font's owning_frame.
8544 Cache metrics for ASCII characters.
8545
8546 * w32font.h (struct w32font_info): Add ascii_metrics.
8547 Remove owning_frame.
8548
85492008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8550
8551 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8552 to negative value.
8553
8554 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8555
8556 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8557
8558 * charset.c (syms_of_charset): Set QCtest and Qeq.
8559
85602008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8561
8562 * process.c (Fstart_process):
8563 * callproc.c (Fcall_process): Handle the case where
8564 Funhandled_file_name_directory returns nil.
8565
8566 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8567 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8568 * font.c (check_gstring): Use them and AREF to access the vector before
8569 we know it's really a gstring.
8570 (Ffont_shape_text): Fix typo.
8571 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8572
8573 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8574 Declare.
8575
8576 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8577
85782008-02-05 Jason Rumney <jasonr@gnu.org>
8579
8580 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8581 Set smallest_font_height and smallest_char_width in display info.
8582
85832008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8584
8585 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8586
85872008-02-05 Miles Bader <miles@gnu.org>
8588
8589 * xfaces.c (get_lface_attributes, merge_named_face)
8590 (lookup_named_face, lookup_derived_face, realize_named_face):
8591 Revert 2008-02-01 change by cyd@stupidchicken.com.
8592
85932008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8594
8595 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8596 fallback fonts.
8597 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8598
85992008-02-04 Jason Rumney <jasonr@gnu.org>
8600
8601 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8602 set full_name.
8603 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8604
86052008-02-03 Jason Rumney <jasonr@gnu.org>
8606
8607 * makefile.w32-in (OBJ1): Include font.o here.
8608 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8609
86102008-02-02 Jason Rumney <jasonr@gnu.org>
8611
8612 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8613
86142008-02-01 Jason Rumney <jasonr@gnu.org>
8615
8616 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8617
8618 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8619
86202008-02-01 Andreas Schwab <schwab@suse.de>
8621
8622 * Makefile.in (shortlisp, lisp): Update for rename of
8623 ../lisp/language/myanmar.el.
8624
86252008-02-01 Chong Yidong <cyd@stupidchicken.com>
8626
8627 * xfaces.c (get_lface_attributes): Delete function.
8628 (merge_named_face, lookup_named_face, lookup_derived_face)
8629 (realize_named_face): Call lface_from_face_name directly, and use
8630 the fact that merge_face_vectors does not alter its FROM argument.
8631
86322008-02-01 Jason Rumney <jasonr@gnu.org>
8633
8634 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8635 input in the default locale. Handle non-Unicode multibyte input.
8636
86372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8638
8639 * fontset.c (reorder_font_vector): Exclude nil elements from the
8640 font group. Don't try multiple fonts.
8641 (fontset_font): Adjust for the above change.
8642 (Finternal_char_font): Return nil if the found font doesn't
8643 contain the character ch.
8644
8645 * Makefile.in (lisp, shortlisp): Add cham.el.
8646
86472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8648
8649 * font.h (FONTP): Make it return 1 also for a font-object.
8650
8651 * .gdbinit (xfontset): New function.
8652
8653 * font.c (font_find_for_lface): Check if the character C is
8654 supported or not only for the first font.
8655
8656 * fontset.c (reorder_font_vector): Fix typo.
8657 (fontset_find_font): Don't add a font-spec specifying a script.
8658 Use 0 (not Qt) for the indication of empty font-group. Change the
8659 format of RFONT-DEF. Return Qt if no font in the font-group
8660 support the character.
8661 (fontset_font): Adjust for the above change. If no font was
8662 found the character, remember that.
8663 (face_for_char): Adjust for the change of RFONT-DEF.
8664 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8665 no font for the target.
8666 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8667
86682008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8669
8670 * font.c (font_load_for_face): Handle the case that the font in
8671 face->lface is a string.
8672
86732008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8674
8675 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8676
86772008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8678
8679 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8680 Fix previous change. If the frame is not on a window system,
8681 signal an error.
8682
86832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8684
8685 * coding.c (decode_coding_object, encode_coding_object): Adjust
8686 marker positions after conversion.
8687
8688 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8689
86902008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8691
8692 * font.c (font_find_for_lface): Fix the handling of the return
8693 value of font_has_char.
8694 (Ffont_shape_text): Fix previous change.
8695
8696 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8697 (fontset_ref_and_range): Delete it.
8698 (fontset_find_font): Call char_table_ref_and_range instead of
8699 FONTSET_REF_AND_RANGE.
8700 (make_fontset): Don't setup font groups of Latin here.
8701 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8702 (new_fontset_from_font): Make the specified font the default for
8703 all Latin characters.
8704
87052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8706
8707 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8708 is on a window system before accessing the fontset of the frame.
8709
87102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8711
8712 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8713
8714 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
8715 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
8716
8717 * font.c (Ffont_shape_text): If the font driver doesn't have a
8718 shaper function, make zero-width glyphs to have at least one-pixel
8719 width. Fix setting of `to' field of glyphs.
8720
87212008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8722
8723 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
8724 glyphs.
8725
8726 * font.h (struct font_driver): Improve docstring of member `shape'.
8727
87282008-02-01 Kenichi Handa <handa@m17n.org>
8729
8730 * composite.c (syms_of_composite): Fix docstring of
8731 auto-composition-function.
8732
8733 * font.h (LGLYPH_SIZE): New macro.
8734
8735 * font.c (Ffont_fill_gstring): Stop filling when a character not
8736 supported by the font is found.
8737 (Ffont_shape_text): When a shape callback function returns nil,
8738 try at most two more times with larger gstring.
8739 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
8740
8741 * xdisp.c (handle_auto_composed_prop): Change the argument to
8742 auto-composition-function.
8743
8744 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
8745 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
8746 Lispy glyph and store it in the lgstring.
8747
8748 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
8749
8750 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
8751
87522008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8753
8754 * font.c (Ffont_shape_text): Avoid unnecessary composition.
8755
8756 * fontset.c (Vfont_encoding_charset_alist): New variable.
8757 (syms_of_fontset): DEFVAR it.
8758 (reorder_font_vector, fontset_find_font): Optimize for the case of
8759 no need of reordering.
8760 (face_for_char): Map the charset property by
8761 Vfont_encoding_charset_alist.
8762
87632008-02-01 Jason Rumney <jasonr@gnu.org>
8764
8765 * w32font.c (logfonts_match): Don't check adstyle here.
8766 (font_matches_spec): Check here against physical font instead.
8767 (add_font_entity_to_list): Avoid some substitutions.
8768
8769 * font.c (font_parse_fcname): Default weight and slant to normal.
8770 (font_score): Prefer normal fonts if weight or slant unspecified.
8771 (font_score) [WINDOWSNT]: Scale weight difference down to closer
8772 match freetype scores.
8773
87742008-02-01 Jason Rumney <jasonr@gnu.org>
8775
8776 * w32font.c (w32font_text_extents): Don't use the frame stored in the
8777 font, as it may have been deleted.
8778 (w32_enumfont_pattern_entity): Map generic family to adstyle using
8779 most common hyphenless variation.
8780 (logfonts_match): Check generic family.
8781 (font_matches_spec): Don't check generic family here.
8782 (fill_in_logfont): Set generic family based on adstyle.
8783
8784 * w32font.h (w32font_get_cache): Update declaration.
8785
87862008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8787
8788 * ftfont.c (ftfont_get_cache): Adjust the argument type.
8789
8790 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
8791 If none of the new drivers are available, call font_update_drivers
8792 with the old drivers.
8793
8794 * w32font.c (w32font_get_cache): Adjust the argument type.
8795
8796 * xfont.c (xfont_get_cache): Adjust the argument type.
8797
8798 * font.h (struct font_driver): Change argument type of get_cache.
8799
8800 * xftfont.c (xftfont_start_for_frame): Delete prototype.
8801
8802 * font.c (Ffont_get): Fix arguments to Fassoc.
8803 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
8804 (font_clear_cache): New function.
8805 (font_list_entities, font_matching_entity): Use font_get_cache.
8806 (font_update_drivers): Call font_clear_cache when finishing a driver.
8807
8808 * fontset.c (fontset_find_font): Fix previous change.
8809
88102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8811
8812 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
8813 dpyinfo->font_table.
8814 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
8815 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
8816
8817 * font.c (font_at): Handle the case that the arg C is negative.
8818 Handle the unibyte case.
8819 (Ffont_at): Call font_at with the arg C -1.
8820
8821 * xdisp.c (handle_auto_composed_prop): Don't get a character at
8822 the position here, and call font_at with the arg C -1.
8823 Don't check the range of the existing composition at the point.
8824
88252008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8826
8827 * fontset.c (fontset_add): New args charset_id and family.
8828 Change caller.
8829 (load_font_get_repertory, fontset_find_font): Assume that
8830 font_spec is always a font-spec object.
8831 (Fset_fontset_font): Always store a font-spec object in a fontset.
8832
8833 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
8834 instead of get_property_and_range.
8835
88362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8837
8838 * xftfont.c (struct xftfont_info): Delete the member ft_face.
8839 (xftfont_open): Don't keep locking face.
8840 (xftfont_close): Don't unlock face.
8841 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
8842
8843 * fontset.c (fontset_find_font): Don't prefer a font of
8844 supplementary charset.
8845
88462008-02-01 Kenichi Handa <handa@m17n.org>
8847
8848 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
8849 script, langsys_tag to langsys, new member script.
8850 (OTF_TAG_STR): Terminate by '\0'.
8851 (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
8852 listing to the script specified in that property. Fix arg to
8853 OTF_check_features.
8854
88552008-02-01 Jason Rumney <jasonr@gnu.org>
8856
8857 * w32font.h: New file.
8858
8859 * w32font.c: Include it.
8860 (struct w32font_info): Add owning_frame field. Move to w32font.h.
8861 (w32font_open): Set owning_frame.
8862 (w32font_text_extents): Use owning_frame.
8863 (struct font_callback_data): Add opentype_only field.
8864 (add_font_entity_to_list): Use it to filter fonts.
8865 Don't check against full name.
8866 (w32font_list_internal): New function.
8867 (w32font_list): Use it.
8868 (w32font_match_internal): New function.
8869 (w32font_match): Use it.
8870 (w32font_open_internal): New function.
8871 (w32font_open): Use it.
8872 (w32font_get_cache, w32font_close, w32font_has_char)
8873 (w32font_encode_char, w32font_text_extents, w32font_draw):
8874 Make non-static.
8875
8876 * makefile.w32-in (w32font.o): Depend on w32font.h.
8877
88782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8879
8880 * charset.c (Fdefine_charset_internal): Record a supplementary
8881 charset at the tail of Vcharset_order_list.
8882
8883 * font.c (Ffont_shape_text): Fix the return value.
8884
8885 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
8886
8887 * xdisp.c (handle_auto_composed_prop): Fix previous change.
8888
88892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8890
8891 * ftfont.c (struct OpenTypeSpec): New struct.
8892 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
8893 (ftfont_get_open_type_spec): New function.
8894 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
8895
8896 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
8897
88982008-02-01 Jason Rumney <jasonr@gnu.org>
8899
8900 * w32font.c (add_font_entity_to_list): Compare only the beginning
8901 of full name.
8902
89032008-02-01 Kenichi Handa <handa@m17n.org>
8904
8905 * xdisp.c (handle_auto_composed_prop): Simplify the code.
8906 Never return HANDLED_RECOMPUTE_PROPS.
8907
89082008-02-01 Kenichi Handa <handa@m17n.org>
8909
8910 * font.c (font_gstring_produce): Delete it.
8911
8912 * composite.h (COMPOSITION_METHOD):
8913 Handle COMPOSITION_WITH_GLYPH_STRING.
8914
89152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8916
8917 * xfont.c (Qx): Delete.
8918 (syms_of_xfont): Don't initialize Qx.
8919
8920 * composite.h (enum composition_method):
8921 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
8922
89232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8924
8925 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
8926 (choose_face_font): Accept new form of font-spec.
8927
8928 * frame.h (font_driver_list): Declare it unconditionally.
8929 (struct frame): Define members font_driver_list and font_data_list
8930 unconditionally.
8931
8932 * fontset.c: Include "font.h" unconditionally.
8933 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
8934 (Fset_fontset_font): Accept a font-spec object.
8935
8936 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
8937 PIXEL_SIZE part a wild card.
8938
8939 * dispextern.h (struct glyph_string): Define members clip and
8940 num_clips unconditionally.
8941 (struct face): Define members font_info and extra unconditionally.
8942
8943 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
8944 ftfont_info only when HAVE_LIBOTF is defined.
8945
89462008-02-01 Andreas Schwab <schwab@suse.de>
8947
8948 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
8949 and end.
8950
89512008-02-01 Jason Rumney <jasonr@gnu.org>
8952
8953 * w32font.c (w32font_driver): Add new fields.
8954
89552008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8956
8957 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
8958 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
8959 (LIBES): Add @M17N_FLT_CFLAGS@.
8960
8961 * composite.c (compose_text): Don't treat the new style
8962 composition specially.
8963
8964 * emacs.c (main): Call syms_of_font unconditionally.
8965
8966 * font.h (FONT_ENTITY_NOT_LOADABLE)
8967 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
8968 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
8969 (struct font_driver): New member shape.
8970 (font_registry_charsets): Extern it.
8971 (font_find_for_lface, font_prepare_composition): Adjust prototype.
8972 (font_otf_capability, font_drive_otf): Delete their externs.
8973
8974 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
8975 (font_charset_alist, font_registry_charsets): Move from xfont.c
8976 and rename.
8977 (font_prop_validate_otf): New function.
8978 (font_property_table): Register it for QCotf.
8979 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
8980 (font_drive_otf): Delete.
8981 (font_prepare_composition): New arg F. Adjust for the change of
8982 lispy gstring.
8983 (font_find_for_lface): New arg C.
8984 (font_load_for_face): Adjust for the change of font_find_for_lface.
8985 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
8986 lispy gstring.
8987 (Ffont_shape_text): New function.
8988 (Fopen_font): If the font size is not given, use 12-pixel.
8989 (Ffont_at): New arg STRING.
8990 (syms_of_font): Initalize font_charset_alist.
8991 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
8992 conditionally.
8993
8994 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
8995 fonts of the same font-spec. Change the format of RFONT-DEF.
8996 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
8997 Adjust for the change of RFONT-DEF.
8998 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
8999
9000 * ftfont.h: New file.
9001
9002 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9003 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9004 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9005 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9006 font_otf_capability and font_drive_otf, set ftfont_shape.
9007 (ftfont_list): Adjust for the change of :otf property value.
9008 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9009 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9010 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9011 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9012 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9013 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9014
9015 * w32term.c (x_draw_composite_glyph_string_foreground):
9016 Adjust for the change of lispy gstring.
9017
9018 * xdisp.c (handle_composition_prop): Adjust for the change of
9019 lispy gstring. Call a function for auto-composition with the
9020 third arg it->window.
9021 (fill_composite_glyph_string): Adjust for the change of lispy string.
9022 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9023
9024 * xfaces.c (set_font_frame_param): Adjust for the change of
9025 font_find_for_lface.
9026
9027 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9028 (xfont_registry_charsets): Likewise. Change caller.
9029 (syms_of_xfont): Don't handle x_font_charset_alist.
9030
9031 * xftfont.c: Include "ftfont.h".
9032 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9033 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9034 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9035 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9036 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9037 Set xftfont_driver.shape to xftfont_shape.
9038
9039 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9040 the change of lispy gstring.
9041
90422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9043
9044 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9045
90462008-02-01 Jason Rumney <jasonr@gnu.org>
9047
9048 * w32font.c (w32font_draw): Fill background manually.
9049
90502008-02-01 Jason Rumney <jasonr@gnu.org>
9051
9052 * font.c (Qfontp): Remove unused symbol.
9053 (QCantialias): New symbol.
9054 (syms_of_font): Define it.
9055 (font_property_table): Set a validator for QCantialias.
9056
9057 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9058 Define if not already.
9059 (QCfamily): Share with xfaces.c.
9060 (Qstandard, Qsubpixel, Qnatural): New symbols.
9061 (syms_of_w32font): Define them. Don't define QCfamily here.
9062 (w32_antialias_type, lispy_antialias_type): New functions.
9063 (w32_enumfont_pattern_entity): New arg requested_font.
9064 Set antialias parameter if non-default was requested.
9065 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9066
90672008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9068
9069 * lread.c (read1): Undo the previous change.
9070
90712008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9072
9073 * frame.c (Fdelete_frame): Call font_update_drivers only when
9074 USE_FONT_BACKEND is defined.
9075
90762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9077
9078 * font.h (struct font_bitmap): New member bits_per_pixel.
9079 (struct font_driver): New members start_for_frame and end_for_frame.
9080 (struct font_data_list): New struct.
9081 (font_put_frame_data, font_get_frame_data): Extern them.
9082
9083 * frame.h (struct frame): New member font_data_list.
9084
9085 * font.c (font_update_drivers): Call driver->start_for_frame and
9086 driver->end_for_frame at proper timings.
9087 (font_put_frame_data, font_get_frame_data): New functions.
9088 (Ffont_spec): Add usage in the docstring.
9089
9090 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9091 (Fdelete_frame): Call font_update_drivers.
9092
9093 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9094 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9095 (xftfont_get_xft_draw): New function.
9096 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9097 (xftfont_end_for_frame): New function.
9098 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9099
9100 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9101 Change argument. Cache GCs in the per-frame data.
9102 (struct ftxfont_frame_data): New struct.
9103 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9104 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9105 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9106 (ftxfont_end_for_frame): New function.
9107 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9108
9109 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9110
91112008-02-01 Kenichi Handa <handa@m17n.org>
9112
9113 * xselect.c (Vselection_coding_system)
9114 (Vnext_selection_coding_system): Delete them.
9115 (syms_of_xselect): Don't declare selection-coding-system and
9116 next-selection-coding-system. They are declared in select.el.
9117
91182008-02-01 Jason Rumney <jasonr@gnu.org>
9119
9120 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9121
9122 * w32fns.c: Include imm.h.
9123 (get_composition_string_fn, get_ime_context_fn): New optional
9124 system functions.
9125 (globals_of_w32fns): Load them from imm32.dll.
9126 (ignore_ime_char): New flag.
9127 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9128 WM_IME_ENDCOMPOSITION messages.
9129
9130 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9131 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9132
91332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9134
9135 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9136 (READCHAR_REPORT_MULTIBYTE): New macro.
9137 (readchar): New 2nd arg MULTIBYTE.
9138 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9139 Make symbol's name multibyte according to the multibyteness of the
9140 source.
9141
91422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9143
9144 * xfaces.c (face_for_overlay_string): Call lookup_face with
9145 correct arguments (fix of synching with the trunk).
9146
91472008-02-01 Kenichi Handa <handa@m17n.org>
9148
9149 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9150 (font_prop_validate_non_neg, font_prop_validate_spacing):
9151 Delete argument prop_index.
9152 (font_property_table): Change arguments to validater. Change Callers.
9153 (font_lispy_object): Delete.
9154 (font_at): Use font_find_object instead fo font_lispy_object.
9155
91562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9157
9158 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9159 and file names.
9160
91612008-02-01 Jason Rumney <jasonr@gnu.org>
9162
9163 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9164 (font_matches_spec): Remove debug output.
9165 (add_font_entity_to_list): Avoid using substituted fonts.
9166
91672008-02-01 Jason Rumney <jasonr@gnu.org>
9168
9169 * doc.c (Fsnarf_documentation):
9170 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9171
91722008-02-01 Miles Bader <miles@gnu.org>
9173
9174 * dispextern.h (struct glyph_row): Only define "clip" field if
9175 HAVE_WINDOW_SYSTEM is defined.
9176
91772008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9178
9179 Fix up multi-tty merge.
9180
9181 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9182 and indentation.
9183
9184 * xfaces.c (free_realized_face, clear_face_gcs):
9185 Include font_done_for_face in the input_blocked section, just in case.
9186
9187 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9188 (get_char_face_and_encoding): Undo last change and remove the *other*
9189 duplicate definition (i.e. keep the one that's better scoped and that
9190 includes code for the font-backend).
9191
9192 * terminal.c (create_terminal): Default keyboard_coding to
9193 `no-conversion' and terminal_coding to `undecided'.
9194
9195 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9196
9197 * fontset.c (free_realized_fontsets): Check that the table entry does
9198 contain a fontset before trying to compare it to `base'.
9199
9200 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9201 syms_of_charset, and syms_of_coding earlier because init_window_once
9202 now needs Vcoding_system_hash_table to be setup.
9203
9204 * coding.h (default_buffer_file_coding): Remove.
9205
9206 * coding.c (default_buffer_file_coding): Remove.
9207 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9208 than ->symbol, and use the terminal-local coding system.
9209 (syms_of_coding): Don't setup the coding-systems that are not
9210 terminal-local.
9211 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9212
9213 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9214 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9215
9216 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9217 in chartab.c and were re-added here by mistake.
9218 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9219
9220 * doc.c (Fsnarf_documentation):
9221 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9222 src to etc.
9223
9224 * ChangeLog.10: Add mistakenly removed entry.
9225
92262008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9227
9228 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9229
92302008-02-01 Miles Bader <miles@gnu.org>
9231
9232 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9233 Add extra args to FACE_FOR_CHAR.
9234
92352008-02-01 Kenichi Handa <handa@m17n.org>
9236
9237 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9238 in sequence.
9239
9240 * chartab.c (map_sub_char_table, map_char_table): If the range
9241 contains just one character, call the function with that character
9242 even if the depth is not 3.
9243
92442008-02-01 Jason Rumney <jasonr@gnu.org>
9245
9246 * w32font.c (w32font_text_extents): Calculate metrics for the
9247 whole string.
9248
92492008-02-01 Jason Rumney <jasonr@gnu.org>
9250
9251 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9252
92532008-02-01 Jason Rumney <jasonr@gnu.org>
9254
9255 * w32term.c (x_set_glyph_string_clipping): Use
9256 get_glyph_string_clip_rects.
9257 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9258 Adjust for the change of struct glyph_string.
9259
9260 * w32font.c (w32font_draw): Do clipping here.
9261
92622008-02-01 Kenichi Handa <handa@m17n.org>
9263
9264 * xftfont.c (xftfont_draw): Adjust for the change of struct
9265 glyph_string.
9266
9267 * xterm.c (x_set_glyph_string_clipping): Use
9268 get_glyph_string_clip_rects.
9269 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9270 Adjust for the change of struct glyph_string.
9271
9272 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9273 the resulting clip(s}.
9274 (expose_overlaps): Add arg r. Change callers. Set it to
9275 row->clip temporarily.
9276 (expose_window): Redraw rows overlapping the exposed area.
9277
9278 * dispextern.h (struct glyph_row): New member clip.
9279 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9280 clip_height, new member clip, and num_clips.
9281
92822008-02-01 Kenichi Handa <handa@m17n.org>
9283
9284 * data.c (Fchar_or_string_p): Fix docstring.
9285
92862008-02-01 Kenichi Handa <handa@m17n.org>
9287
9288 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9289 create a temporary XftDraw object.
9290
92912008-02-01 Kenichi Handa <handa@m17n.org>
9292
9293 * font.c (Ffontp): Fix docstring.
9294
9295 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9296 strong evidence of ISO-2022.
9297
92982008-02-01 Kenichi Handa <handa@m17n.org>
9299
9300 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9301 SYNTAX_ENTRY_FOLLOW_PARENT.
9302
93032008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9304
9305 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9306 its type.
9307 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9308 Update to the new type of weak_hash_tables and next_weak.
9309
9310 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9311 a plain C pointer to Lisp_Hash_Table.
9312
9313 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9314 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9315 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9316 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9317 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9318 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9319 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9320 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9321 (GC_EQ): Remove since they've been identical to their non-GC_
9322 alter-egos ever since the markbit was eradicated.
9323
9324 * alloc.c:
9325 * buffer.c:
9326 * buffer.h:
9327 * data.c:
9328 * fileio.c:
9329 * filelock.c:
9330 * fns.c:
9331 * frame.h:
9332 * lisp.h:
9333 * macterm.c:
9334 * print.c:
9335 * process.c:
9336 * w32fns.c:
9337 * w32menu.c:
9338 * w32term.c:
9339 * xfns.c:
9340 * xmenu.c:
9341 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9342
93432008-02-01 Kenichi Handa <handa@m17n.org>
9344
9345 * chartab.c (map_sub_char_table): Make it work for the top-level
9346 char-table. Fix handling of parent char-table.
9347 (map_char_table): Adjust for the above change.
9348
93492008-02-01 Jason Rumney <jasonr@gnu.org>
9350
9351 * w32font.c (Qgdi): Rename from Qw32.
9352
93532008-02-01 Jason Rumney <jasonr@gnu.org>
9354
9355 * w32bdf.c (get_quoted_string): Make function static.
9356
93572008-02-01 Kenichi Handa <handa@m17n.org>
9358
9359 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9360 bigger ascent and descent than those of the font, use them as
9361 font's ascent and descent.
9362
93632008-02-01 Kenichi Handa <handa@m17n.org>
9364
9365 * Makefile.in (${lispsource}international/charprop.el): Move this
9366 target within "#ifdef HAVE_UNIDATA" and "#endif".
9367
93682008-02-01 Kenichi Handa <handa@m17n.org>
9369
9370 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9371 (shortlisp): Add ../lisp/language/tai-viet.el.
9372
93732008-02-01 Ulrich Mueller <ulm@gentoo.org>
9374
9375 * Makefile.in (${lispsource}international/charprop.el): Depend on
9376 temacs${EXEEXT}.
9377
93782008-02-01 Jason Rumney <jasonr@gnu.org>
9379
9380 * w32font.c (w32font_close): Delete the GDI font object.
9381
9382 * w32menu.c: Include character.h.
9383
9384 * w32proc.c: Likewise.
9385
9386 * w32select.c: Likewise.
9387
9388 * makefile.w32-in (w32proc.o): Depend on character.h.
9389
93902008-02-01 Jason Rumney <jasonr@gnu.org>
9391
9392 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9393
9394 * w32menu.c (syms_of_w32menu): Likewise.
9395
9396 * w32proc.c (syms_of_ntproc): Likewise.
9397
9398 * w32select.c (syms_of_w32select): Likewise.
9399
9400 * w32term.c (syms_of_w32term): Likewise.
9401
94022008-02-01 Jason Rumney <jasonr@gnu.org>
9403
9404 * w32font.c (w32font_draw): Delete brush after using it.
9405
94062008-02-01 Jason Rumney <jasonr@gnu.org>
9407
9408 * w32font.c (w32font_open): Don't set font_idx.
9409 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9410 to font settings.
9411 (w32font_draw): Fill background explicitly.
9412
94132008-02-01 Jason Rumney <jasonr@gnu.org>
9414
9415 * w32term.c (w32_initialize): Don't call w32font_initialize.
9416
9417 * w32font.c (w32font_info): Remove subranges.
9418 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9419 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9420 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9421 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9422 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9423 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9424 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9425 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9426 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9427 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9428 New symbols.
9429 (font_callback_data): New struct.
9430 (w32font_list, w32font_match): Use it.
9431 (w32font_open): Don't populate subranges.
9432 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9433 (w32font_encode_char): Always return unicode code-point as-is.
9434 (w32font_text_extents): Supply a transformation matrix to
9435 GetGlyphOutline. Never look up by glyph index. Avoid looping
9436 twice. Use unicode version of GetTexExtentPoint32 instead of
9437 glyph index version.
9438 (set_fonts_frame): Remove.
9439 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9440 set frame parameter. Use backward compatible fake foundries.
9441 Save generic family in extra slot under QCfamily. Make width slot
9442 constant. Save QCspacing value. Save list of scripts instead of
9443 binary subranges.
9444 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9445 (add_font_entity_to_list): Use font_callback_data struct. Filter
9446 unwanted fonts.
9447 (add_one_font_entity_to_list): Use font_callback_data struct.
9448 (w32_registry): Default to iso10646_1.
9449 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9450 string font registries. Don't fill in font name if it is a generic
9451 family name, fill family instead. Use spacing, family and script
9452 extra info to fill pitch, family and charset fields.
9453 (list_all_matching_fonts): Use font_callback_data struct.
9454 (unicode_range_for_char): Remove.
9455 (font_supported_scripts): New function.
9456 (w32font_initialize): Remove.
9457 (syms_of_w32font): Update which symbols are defined.
9458
94592008-02-01 Jason Rumney <jasonr@gnu.org>
9460
9461 * font.c (font_pixel_size): Reverse assq_no_quit args.
9462
9463 * w32term.h (FONT_WIDTH): Report max width, not average.
9464 (FONT_MAX_WIDTH): Remove.
9465 (FONT_AVG_WIDTH): New macro.
9466
9467 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9468 redefinition of FONT_WIDTH.
9469
9470 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9471 (w32_cache_char_metrics): Use FONT_WIDTH.
9472
9473 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9474
94752008-02-01 Jason Rumney <jasonr@gnu.org>
9476
9477 * w32font.c (w32font_open): Make lfHeight negative.
9478
9479 * w32fns.c (x_default_font_parameter): Use new style font name.
9480 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9481
94822008-02-01 Jason Rumney <jasonr@gnu.org>
9483
9484 * w32font.c (QCsubranges): New symbol.
9485 (w32font_open, w32font_has_char): Get subranges from subproperty
9486 of extra.
9487 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9488 (syms_of_w32font): Define :subranges symbol.
9489
9490 * font.c (font_put_extra): Expose externally.
9491
9492 * font.h (font_put_extra): Move declaration from font.c.
9493
9494 * font.c (Ffont_get): Use font driver to determine otf capability.
9495 (adjust_anchor): Check if driver defines anchor_point before using.
9496
9497 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9498 (w32font_draw): Use options.
9499 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9500 Fix detection of truetype fonts.
9501 (registry_to_w32_charset): Handle charsets other than iso8859-1
9502 expressed as lisp symbols.
9503 (w32_registry): Express charset as lisp symbol.
9504 (fill_in_logfont): Reverse pixel and point height logic.
9505 Don't set width here. Set quality to default.
9506
9507 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9508 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9509
9510 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9511 Remove redundant loop and allocation.
9512
9513 * makefile.w32-in (font.o, w32font.o): New objects.
9514 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9515 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9516
9517 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9518 STORE_XCHARB a valid l-value.
9519
9520 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9521 calculations for non-Truetype fonts.
9522 (x_draw_glyph_string): Sync with xterm.c.
9523 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9524 Remove redundant code.
9525 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9526
9527 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9528 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9529
9530 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9531 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9532
9533 * w32font.c: New file for w32 font backend.
9534
95352008-02-01 Kenichi Handa <handa@m17n.org>
9536
9537 * term.c: Don't include "buffer.h" twice.
9538
95392008-02-01 Kenichi Handa <handa@m17n.org>
9540
9541 * character.c (Funibyte_string): New function.
9542 (syms_of_character): Defsubr it.
9543
95442008-02-01 Jason Rumney <jasonr@gnu.org>
9545
9546 * w32term.c [USE_FONT_BACKEND]:
9547 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9548 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9549 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9550 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9551 (x_free_frame_resources): Sync with xterm.c.
9552
95532008-02-01 Andreas Schwab <schwab@suse.de>
9554
9555 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9556 char-table size.
9557
95582008-02-01 Kenichi Handa <handa@m17n.org>
9559
9560 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9561
95622008-02-01 Kenichi Handa <handa@m17n.org>
9563
9564 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9565 font_otf_gpos, add font_drive_otf.
9566
9567 * fontset.c (fontset_find_font): Pay attention to font size
9568 specified for a font.
9569 (reorder_font_vector): Check contents of font_def.
9570
9571 * font.c (struct otf_list): Delete it.
9572 (otf_list): Make it a lisp variable.
9573 (otf_open): Use lispy otf_list.
9574 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9575 (check_otf_features): New function.
9576 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9577 New functions.
9578 (font_drive_otf): New function merging font_otf_gsub and
9579 font_otf_gpos.
9580 (font_open_for_lface): New arg spec. Change argument order.
9581 (font_load_for_face): Adjust for the change of font_open_for_lface.
9582 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9583 Ffont_otf_gpos.
9584 (syms_of_font): Staticpro otf_list. Delete defsubr of
9585 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9586
9587 * xfaces.c (set_font_frame_param): Adjust for the change of
9588 font_open_for_lface.
9589
9590 * font.h (font_open_for_lface): Adjust prototype.
9591 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9592 member otf_drive.
9593 (font_otf_gsub, font_otf_gpos): Delete externs.
9594 (font_drive_otf): Extern it.
9595
95962008-02-01 Kenichi Handa <handa@m17n.org>
9597
9598 * font.c (font_at): If the window W is not on a window system,
9599 return Qnil.
9600
9601 * coding.c (produce_chars, encode_coding): Don't call
9602 insert_from_gap if no characters to produce.
9603
96042008-02-01 Kenichi Handa <handa@m17n.org>
9605
9606 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9607 Fclear_face_cache.
9608
9609 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9610
96112008-02-01 Miles Bader <miles@gnu.org>
9612
9613 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9614 Parse "--disable-font-backend" option.
9615 (standard_args): Add "--disable-font-backend" option.
9616
96172008-02-01 Kenichi Handa <handa@m17n.org>
9618
9619 * fontset.c (fontset_find_font): New function.
9620 (fontset_font): Use fontset_find_font.
9621 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9622 Register the specified font for all Latin characters.
9623 (new_fontset_from_font): Register the specified font for all Latin
9624 characters.
9625 (dump_fontset): For a realized fontset, include the base fontset
9626 name in the returned vector.
9627
96282008-02-01 Kenichi Handa <handa@m17n.org>
9629
9630 * character.h (CHAR_STRING): Cast C to unsigned on calling
9631 char_string.
9632
9633 * character.c (char_string): Type of arg C changed to unsigned.
9634 Signal an error if C is an invalid character code.
9635
9636 * editfns.c (general_insert_function, Fchar_to_string):
9637 Use CHARACTERP, not INTEGERP.
9638
96392008-02-01 Kenichi Handa <handa@m17n.org>
9640
9641 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9642 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9643
9644 * regex.c (analyse_first): Fix for multibyte characters in "case
9645 charset:" and "case categoryspec:".
9646
96472008-02-01 Andreas Schwab <schwab@suse.de>
9648
9649 * Makefile.in (LIBES): Move standard libraries to the end.
9650
96512008-02-01 Kenichi Handa <handa@m17n.org>
9652
9653 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9654 nonzero, don't shrink the buffer nextb.
9655
9656 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9657
9658 * coding.c (coding_alloc_by_making_gap): New arg offset.
9659 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9660 offset.
9661 (decode_coding_iso_2022): Update coding->safe_charsets.
9662 (decode_coding_gap): Temporarily set
9663 current_buffer->text->inhibit_shrinking to 1.
9664
96652008-02-01 Kenichi Handa <handa@m17n.org>
9666
9667 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9668 indexing into elements of s->cmp and s->char2b.
9669
96702008-02-01 Juanma Barranquero <lekktu@gmail.com>
9671
9672 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9673
96742008-02-01 Kenichi Handa <handa@m17n.org>
9675
9676 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9677 target_multibyte instead of multibyte.
9678 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9679 (bcmp_translate): Change the argument name from multibyte to
9680 target_multibyte.
9681
96822008-02-01 Kenichi Handa <handa@m17n.org>
9683
9684 These changes are to compile a regexp into a pattern that can be
9685 used both for multibyte and unibyte targets.
9686
9687 * Makefile.in (search.o): Depend on charset.h.
9688
9689 * character.c (multibyte_char_to_unibyte_safe): New function.
9690
9691 * search.c: Include "charset.h".
9692 (compile_pattern_1): Delete argument multibyte. Don't set
9693 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9694 (compile_pattern): Don't compare cp->buf.target_multibyte.
9695 Compare cp->buf.charset_unibyte.
9696 (compile_pattern): Set cp->buf.target_multibyte.
9697
9698 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9699
9700 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9701
9702 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9703 multibyte. Change callers.
9704 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9705 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9706 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9707 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9708 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9709 (regex_compile): Make the compiled pattern usable both for
9710 multibyte and unibyte targets.
9711 (analyse_first): Make the fastmap usable both for multibyte and
9712 unibyte targets.
9713 (TRANSLATE_VIA_MULTIBYTE): Delete.
9714 (re_match_2_internal): Pay attention to the case that the
9715 multibyteness of bufp and target may be different.
9716
97172008-02-01 Kenichi Handa <handa@m17n.org>
9718
9719 * xdisp.c (x_produce_glyphs): When a font is not found, make the
9720 empty box occupy at least one column width.
9721
97222008-02-01 Miles Bader <miles@gnu.org>
9723
9724 * Makefile.in: Remove redundant HAVE_XFT clause.
9725
97262008-02-01 Kenichi Handa <handa@m17n.org>
9727
9728 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
9729
97302008-02-01 Kenichi Handa <handa@m17n.org>
9731
9732 * fontset.c (Finternal_char_font): Fix for the case of POSITION
9733 being nil.
9734
97352008-02-01 Kenichi Handa <handa@m17n.org>
9736
9737 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
9738
97392008-02-01 Kenichi Handa <handa@m17n.org>
9740
9741 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
9742
97432008-02-01 Kenichi Handa <handa@m17n.org>
9744
9745 * search.c (simple_search): Fix previous change.
9746
97472008-02-01 Kenichi Handa <handa@m17n.org>
9748
9749 * xftfont.c (ftfont_font_format): Extern declaration.
9750
9751 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
9752
9753 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
9754 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
9755
9756 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
9757 (ftfont_font_format): Fix previous change.
9758
9759 * font.h (Ffont_xlfd_name): EXFUN it.
9760
9761 * font.c (font_parse_xlfd): Fix the array size of `f'.
9762 (register_font_driver): Use EQ to compare driver->type.
9763
9764 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
9765 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
9766 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
9767
97682008-02-01 Kenichi Handa <handa@m17n.org>
9769
9770 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
9771 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
9772
97732008-02-01 Kenichi Handa <handa@m17n.org>
9774
9775 * xfont.c (xfont_open): Set font->format.
9776
9777 * xftfont.c (xftfont_open): Set font->format.
9778
9779 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
9780 (ftfont_list): Include FC_FONTFORMAT in FcObject.
9781 (ftfont_open): Set font->format.
9782 (ftfont_font_format): New function.
9783
9784 * font.h (struct font): New member format.
9785
9786 * font.c (Qopentype): New variable.
9787 (syms_of_font): Defsym it.
9788 (Fquery_font): Change the format of the last element of the return
9789 value.
9790
97912008-02-01 Kenichi Handa <handa@m17n.org>
9792
9793 * xfns.c (xic_create_xfontset): Try the default fontset name as a
9794 last resort.
9795
97962008-02-01 Kenichi Handa <handa@m17n.org>
9797
9798 * coding.c (detect_coding_charset): Fix detection of multi-byte
9799 charset.
9800
98012008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
9802
9803 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
9804
98052008-02-01 Kenichi Handa <handa@m17n.org>
9806
9807 * xdisp.c (get_next_display_element): Set it->face_id for the
9808 first component of a composition.
9809 (x_produce_glyphs): Check if the font is changed or not for composition.
9810
98112008-02-01 Kenichi Handa <handa@m17n.org>
9812
9813 * fontset.c (Qlatin): New variable.
9814 (syms_of_fontset): Define it as a lisp symbol.
9815 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
9816
98172008-02-01 Kenichi Handa <handa@m17n.org>
9818
9819 * font.c (font_unparse_fcname): Pay attention to the case that
9820 some of font property is a null string.
9821
98222008-02-01 Kenichi Handa <handa@m17n.org>
9823
9824 * term.c: Include "composite.h".
9825 (encode_terminal_code): Output all components of composition.
9826 Check the size of encode_terminal_src.
9827 (produce_glyphs): For composition, call produce_composite_glyph.
9828 (append_composite_glyph, produce_composite_glyph): New functions.
9829
9830 * xdisp.c (x_produce_glyphs): In handling composition, if a font
9831 is not found, get font_info from the current ascii face.
9832
98332008-02-01 Kenichi Handa <handa@m17n.org>
9834
9835 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
9836 buffer-file-name to Qnil before calling insert_from_buffer.
9837
9838 * font.c (font_unparse_fcname): Pay attention to the case that
9839 foundry is a null string.
9840
98412008-02-01 Kenichi Handa <handa@m17n.org>
9842
9843 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
9844
9845 * font.c (Qunicode_sip): New variable.
9846 (syms_of_font): Declare it as a Lisp symbol.
9847
9848 * font.h (Qunicode_sip): Extern it.
9849
98502008-02-01 Kenichi Handa <handa@m17n.org>
9851
9852 * composite.c (get_composition_id): Pay attention to TAB component.
9853
9854 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
9855 TAB. Adjust for the change of s->char2b which always points to
9856 the first element of allocated memory.
9857
9858 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
9859
9860 * xdisp.c (handle_composition_prop): Set it->c to the first
9861 non-TAB component.
9862 (fill_composite_glyph_string): Change argument.
9863 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
9864 (x_produce_glyphs): Fix handling of left/right padding.
9865
98662008-02-01 Kenichi Handa <handa@m17n.org>
9867
9868 * coding.c (detect_coding_system): Fix for handling off
9869 inhibit_iso_escape_detection. Fix for the case that no coding
9870 system is defined for a specific coding category.
9871
98722008-02-01 Kenichi Handa <handa@m17n.org>
9873
9874 * font.c (font_matching_entity): Delete unused local var.
9875
9876 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
9877 opening a font.
9878
9879 * fileio.c (Finsert_file_contents): On recovering a file, assume
9880 Unix-like eol.
9881 (choose_write_coding_system): On auto-saving a file, force
9882 Unix-like eol.
9883
9884 * coding.c (setup_coding_system): Fix setting of
9885 coding->common_flags based on eol_type.
9886 (coding_inherit_eol_type): If PARENT is not nil, be sure to
9887 inherit from it.
9888
98892008-02-01 Kenichi Handa <handa@m17n.org>
9890
9891 * alloc.c (NSTATICS): Increas to 0x600.
9892
98932008-02-01 Kenichi Handa <handa@m17n.org>
9894
9895 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
9896 (ftfont_list): Don't check :name property.
9897 (ftfont_match): New function.
9898 (ftfont_pattern_entity): If the pattern doesn't contain
9899 FC_SPACING, don't assume FC_MONO.
9900
9901 * font.h (struct font_driver): New member `match'.
9902 (font_update_drivers): Adjust prototype.
9903
9904 * font.c (font_parse_fcname, font_parse_name): Don't change :name
9905 property of FONT.
9906 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
9907 them unconditionally.
9908 (font_matching_entity): New function.
9909 (font_open_by_name): Try font_matching_entity if exact match is
9910 not found.
9911 (font_update_drivers): Delete the arg FONT. Return a list of
9912 actually used backends. Don't free faces, font caches here.
9913 Don't store data in frame parameters. Don't call x_set_font.
9914 (Ffont_spec): Store :name property as is.
9915 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
9916 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
9917 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
9918 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
9919 Call font->driver->otf_gsub instead of font_otf_gsub.
9920
9921 * frame.c (x_set_font_backend): Do more works that were done in
9922 font_update_drivers before.
9923
9924 * xfont.c (xfont_match): New function.
9925 (xfont_driver): Set xfont_driver.match to xfont_match.
9926 (xfont_draw): Set font in GC if necessary.
9927
9928 * ftxfont.c (ftxfont_match): New function.
9929 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
9930
9931 * xftfont.c (xftfont_match): New function.
9932 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
9933
99342008-02-01 Kenichi Handa <handa@m17n.org>
9935
9936 * font.h (struct font): New member scalable.
9937 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
9938 (font_otf_gsub): Adjust prototype.
9939
9940 * font.c (font_otf_capability): Fix handling of the default langsys.
9941 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
9942 Check the contents of SPEC.
9943 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
9944 (check_gstring): New function.
9945 (REPLACEMENT_CHARACTER): New macro.
9946 (font_otf_gsub): New arg alternate_subst. Be sure to set all
9947 glyph codes of GSTRING.
9948 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
9949 (font_prepare_composition): Set cmp->glyph_len.
9950 (font_open_entity): Set font->scalable.
9951 (Ffont_get): Handle :otf property.
9952 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
9953 functions.
9954 (Fquery_font): Use font->font.full_name.
9955 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
9956 Sfont_otf_alternates.
9957
9958 * ftfont.c (ftfont_open): Set font->font.full_name and
9959 font->font.name properly. Fix calculation of font->font.height
9960 and font->min_width.
9961
9962 * ftxfont.c (ftxfont_create_gcs): New function.
9963 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
9964 (ftxfont_draw_backgrond): Fix filling region.
9965 (ftxfont_default_fid): New function.
9966 (ftxfont_open): Set xfont->fid to the return value of
9967 ftxfont_default_fid.
9968 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
9969 (ftxfont_done_face): Free only GCs that are created by
9970 ftxfont_create_gcs.
9971 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
9972
9973 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
9974 Clip to src->width, etc (not src->clip_XXX).
9975
9976 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
9977 FontBackend frame parameter.
9978
99792008-02-01 Kenichi Handa <handa@m17n.org>
9980
9981 * font.h (struct font_driver_list): New member `on'.
9982 (Fclear_font_cache): EXFUN it.
9983 (font_update_drivers): Extern it.
9984
9985 * font.c (font_unparse_fcname): Fix typo (swidth->width).
9986 (font_list_entities): Check driver_list->on.
9987 (register_font_driver): Initalize `on' member to 0.
9988 (font_update_drivers): New function.
9989 (Fclear_font_cache): Check driver_list->on.
9990
9991 * frame.h (Qfont_backend): Extern it.
9992 (x_set_font_backend): Extern it.
9993
9994 * frame.c (Qfont_backend): New variable.
9995 (frame_parms): New element for font-backend.
9996 (x_set_font_backend): New function.
9997
9998 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
9999 FontBackend frame parameter.
10000 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10001 x_set_font_backend.
10002
10003 * xfont.c (xfont_list): Don't try listing by :name property if the
10004 name is not for XLFD.
10005
100062008-02-01 Kenichi Handa <handa@m17n.org>
10007
10008 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10009 (LGLYPH_SET_TO): New macros.
10010 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10011 element of G is vector or not.
10012 (font_at): Extern it.
10013
10014 * font.c: Include window.h.
10015 (font_lispy_object): New function.
10016 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10017 end of valid glyph.
10018 (font_close_object): Fix getting (struct font *).
10019 (font_at): New function.
10020 (Ffont_get): If FONT is a font-object, get entity from it.
10021 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10022 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10023 range check.
10024 (Ffont_at): New function.
10025 (syms_of_font): Defsubr Sfont_at.
10026
10027 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10028 before the entry for Qcomposition.
10029 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10030 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10031 the font in gstring.
10032 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10033 LGLYPH_FORM (g) to detect the end of valid glyph.
10034 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10035 we are composing with gstring.
10036
10037 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10038 Check if adjustment is vector or not.
10039
10040 * Makefile.in (font.o): Make it depends on window.h.
10041
100422008-02-01 Kenichi Handa <handa@m17n.org>
10043
10044 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10045 adjustment is vector or not.
10046
100472008-02-01 Miles Bader <miles@gnu.org>
10048
10049 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10050
100512008-02-01 Kenichi Handa <handa@m17n.org>
10052
10053 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10054 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10055 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10056
10057 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10058 (DEVICE_DELTA): Fix typo.
10059 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10060 LGLYPH format.
10061
10062 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10063 the change of LGLYPH format.
10064
100652008-02-01 Kenichi Handa <handa@m17n.org>
10066
10067 * ftfont.c (ftfont_list): Fix typo.
10068 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10069
100702008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10071
10072 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10073
10074 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10075 xftface_info is non-NULL.
10076
100772008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10078
10079 * ftfont.c (ftfont_list): Move misplaced #endif.
10080
100812008-02-01 Kenichi Handa <handa@m17n.org>
10082
10083 * ftfont.c (ftfont_list): Pay attention to the case that
10084 FC_CAPABILITY is not defined.
10085
100862008-02-01 Kenichi Handa <handa@m17n.org>
10087
10088 * xftfont.c (xftfont_open): Set charset related members to -1.
10089
10090 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10091 QCname.
10092 (ftfont_open): Set charset related members to -1.
10093
10094 * fontset.c (Votf_script_alist): New variable.
10095 (syms_of_fontset): Initialize it.
10096 (fontset_font): Delete unused variable.
10097
10098 * fontset.h (Votf_script_alist): Extern it.
10099
10100 * font.c (font_find_for_lface): Optimize code.
10101
10102 * font.h (font_close_object, font_merge_old_spec): Extern them.
10103
101042008-02-01 Kenichi Handa <handa@m17n.org>
10105
10106 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10107 (syms_of_font): Initialize them.
10108 (font_pixel_size): Allow float value in dpi.
10109 (font_prop_validate_type): Delete.
10110 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10111 Change caller.
10112 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10113 (font_prop_validate_extra): Delete.
10114 (font_prop_validate_spacing): New function.
10115 (font_property_table): Add elements for all known properties.
10116 (get_font_prop_index): Rename from check_font_prop_name. New
10117 argument FROM. Change caller.
10118 (font_prop_validate): Validate all known properties.
10119 (font_put_extra): Delete argument force. Change caller.
10120 (font_expand_wildcards): Make it static. Fix the way of shrinking
10121 the possible range.
10122 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10123 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10124 Change caller.
10125 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10126 (font_parse_fcname): Delete argument merge. Fix parsing of point
10127 size. Don't validate properties values here. Change caller.
10128 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10129 (font_open_by_name): Delete unused variable.
10130 (Ffont_spec): Likewise. Validate property values.
10131 (Ffont_match_p): New function.
10132
10133 * font.h (QCscalable): Extern it.
10134 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10135
10136 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10137
10138 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10139 (xfont_list_pattern): New function.
10140 (xfont_list): Use xfont_list_pattern.
10141
101422008-02-01 Kenichi Handa <handa@m17n.org>
10143
10144 * font.h (Flist_fonts): EXFUN it.
10145
101462008-02-01 Jason Rumney <jasonr@gnu.org>
10147
10148 * w32term.c (w32_initialize): Add back smoothing_type and
10149 smoothing_enabled definitions.
10150
101512008-02-01 Kenichi Handa <handa@m17n.org>
10152
10153 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10154 s->face->font on determining underline position.
10155
101562008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10159 (font_has_char): Accept font-object too.
10160 (font_find_for_lface): Try at first with a size specified in face.
10161
101622008-02-01 Kenichi Handa <handa@m17n.org>
10163
10164 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10165 font_open_by_name.
10166
101672008-02-01 Kenichi Handa <handa@m17n.org>
10168
10169 * font.h (QCspacing, QCdpi): Extern them.
10170 (enum font_spacing): New enum.
10171 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10172
10173 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10174 (QCspacing, QCdpi): New variables.
10175 (syms_of_font): Initialize them.
10176 (font_pixel_size): New function.
10177 (font_put_extra): New function.
10178 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10179 in FONT_EXTRA.
10180 (font_parse_fcname): Handle enumerated values (e.g. bold).
10181 Fix handling font size. Add QCname property that contains only
10182 unknown properties.
10183 (font_score): Change argument. Change caller. Pay attention to
10184 FONT_PIXEL_SIZE_QUANTUM.
10185 (font_sort_entites, font_list_entities, font_find_for_lface)
10186 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10187 (Ffont_spec): Add QCname property that contains only unknown properties.
10188
10189 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10190 include weight in listing pattern, instead check weight of each
10191 listed font. Don't include scalable in pattern. Pay attention to
10192 FONT_PIXEL_SIZE_QUANTUM.
10193
101942008-02-01 Kenichi Handa <handa@m17n.org>
10195
10196 * font.c (font_parse_fcname): Fix parsing of point-size.
10197 (font_unparse_fcname): Produce symbolic names for style properties.
10198 (font_list_entities): Handle float size correctly.
10199 (font_open_by_name): Prefer `normal' property values if the name
10200 doesn't specify them.
10201
10202 * fontset.c (Finternal_char_font): Use font_get_name, not
10203 Ffont_xlfd_name.
10204
10205 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10206 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10207 pattern. Don't force scalable.
10208
10209 * xftfont.c (xftfont_open): For generating a name, start from
10210 96-byte buffer.
10211
102122008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10213
10214 * frame.h (x_new_fontset2): Fix prototype.
10215
102162008-02-01 Kenichi Handa <handa@m17n.org>
10217
10218 * font.h (struct font_driver): Delete member parse_name.
10219 (font_match_p, font_get_spec, font_parse_fcname)
10220 (font_unparse_fcname): Extern them.
10221 (font_get_name): Adjust prototype.
10222
10223 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10224 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10225 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10226 unnecessary checks for weight, slant, and swidth.
10227 (font_parse_fcname): New function.
10228 (font_unparse_fcname): New function.
10229 (font_parse_name): New function.
10230 (font_match_p): New function.
10231 (font_get_name): Change return value to Lisp string.
10232 (font_get_spec): New function.
10233 (Qunspecified, Qignore_defface): Don't extern them.
10234 (font_find_for_lface): Assume that LFACE is fully specified.
10235 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10236 object, use it for FACE.
10237 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10238 driver->parse_name.
10239 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10240
10241 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10242 prototype.
10243
10244 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10245 argument F. Don't call Fnew_fontset. Instead, directly call
10246 make_fontset.
10247
10248 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10249
10250 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10251 of x_new_fontset2.
10252
10253 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10254 (Qsans__serif): New variables.
10255 (ftfont_generic_family_list): New variable.
10256 (syms_of_ftfont): Initialize the above variables.
10257 (ftfont_pattern_entity): Delete argument NAME.
10258 (ftfont_list_generic_family): New function.
10259 (ftfont_parse_name): Delete this function.
10260 (ftfont_list): Try generic family only when FcFontList found no font.
10261 (ftfont_list_family): Fix args to FcObjectSetBuild.
10262
10263 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10264 object in attrs[LFACE_FONT_INDEX].
10265 (set_lface_from_font_name): Cancel all changes for font-backend.
10266 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10267 function.
10268 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10269 font object in QCfont attribute.
10270 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10271 (realize_default_face) [USE_FONT_BACKEND]: Call
10272 set_lface_from_font_and_fontset.
10273
10274 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10275 "fixed", and signal error here if no suitable font was found.
10276
10277 * xfont.c (xfont_parse_name): Delete this function.
10278
10279 * xftfont.c (xftfont_open): Change coding style of error
10280 handling. Generate fontconfig's fontname pattern.
10281
10282 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10283 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10284
10285 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10286 Both args FONTSET and FONT_OBJECT must be existing ones.
10287
102882008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10289
10290 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10295
10296 * font.h (struct font): Fix typo.
10297
10298 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10299 XLFD_XXX_INDEX.
10300 (enum xlfd_field_mask): New enum.
10301 (intern_font_field): Changed argument. Change caller. If digits
10302 are followed by non-digits, return a symbol.
10303 (font_expand_wildcards): New function.
10304 (font_parse_xlfd): Fix wildcard handling.
10305 (Ffont_spec): If :name is specified, reflect the info in the other
10306 properties.
10307
10308 * ftfont.c (ftfont_pattern_entity): Fix typo.
10309 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10310 locale.
10311
103122008-02-01 Kenichi Handa <handa@m17n.org>
10313
10314 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10315
10316 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10317 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10318 registry doesn't specify encoding part.
10319 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10320 (font_open_by_name): At first try parsing the name.
10321 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10322 as Lisp symbols.
10323
10324 * fontset.c (reorder_font_vector): Pay attention to the case that
10325 the 3rd element of font_def is nil.
10326 (fontset_font): For the default fontset, append one more fontset
10327 elements for a script-based font specification. Don't add script
10328 attribute on finding a font.
10329 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10330 font name.
10331 (fontset_ascii_font): If a font can't be opened, return nil.
10332
10333 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10334 (ftfont_pattern_entity): New function.
10335 (ftfont_get_cache): Assume that freetype_font_cache is already
10336 initialized.
10337 (ftfont_list): Handle the case that a file is specified in font
10338 name. Use ftfont_pattern_entity to generate entities.
10339 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10340 (syms_of_ftfont): Initialize freetype_font_cache.
10341
10342 * xftfont.c (xftfont_open): Make the font name fontconfig's
10343 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10344 (xftfont_close): Free font->font.name if not NULL.
10345
10346 * xfont.c (xfont_list): If script is specified for a font, return
10347 null_vector.
10348 (xfont_list_family): Declare argument type.
10349
10350 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10351 name, set LFACE_FONT (lface) to nil.
10352
10353 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10354 return Qnil.
10355
103562008-02-01 Kenichi Handa <handa@m17n.org>
10357
10358 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10359 (standard_args): Add "-enable-font-backend".
10360
103612008-02-01 Kenichi Handa <handa@m17n.org>
10362
10363 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10364 (struct xftdraw_list, xftdraw_list): Delete them.
10365 (register_xftdraw, check_xftdraw): Delete them.
10366 (xftfont_prepare_face): Don't call register_xftdraw.
10367 (xftfont_done_face): Don't call check_xftdraw.
10368 (xftfont_draw): Get background color only when with_background is
10369 nonzero.
10370
10371 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10372
103732008-02-01 Kenichi Handa <handa@m17n.org>
10374
10375 These changes are for the new font handling codes.
10376
10377 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10378 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10379 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10380 (FONTSRC, FONTOBJ): New variables.
10381 (obj): Add $(FONTOBJ).
10382 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10383 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10384 @LIBOTF_LIBS@.
10385 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10386 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10387
10388 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10389
10390 * character.h (Vscript_representative_chars): Extern it.
10391
10392 * character.c (Vscript_representative_chars): New variable.
10393 (syms_of_character): Declare it as a Lisp variable.
10394
10395 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10396 enable_font_backend is nonzero, accept the composition method
10397 COMPOSITION_WITH_GLYPH_STRING.
10398
10399 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10400 enumeration COMPOSITION_WITH_GLYPH_STRING.
10401
10402 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10403 members clip_x, clip_y, clip_width, and clip_height.
10404 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10405
10406 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10407 --enable-font-backend. Call syms_of_font.
10408
10409 * fns.c (assoc_no_quit): New function.
10410
10411 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10412 (face_for_font, new_fontset_from_font)
10413 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10414
10415 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10416 (fontset_font, fontset_ascii, face_for_char)
10417 (make_fontset_for_ascii_face, Ffont_info)
10418 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10419 is nonzero, use font-backend mechanism.
10420 (find_font_encoding): Make it non-static.
10421 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10422 New functions.
10423
10424 * frame.h (struct frame): New members resx and resy.
10425 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10426 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10427
10428 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10429 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10430
10431 * lisp.h (assoc_no_quit): Extern it.
10432
10433 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10434 Through out the file, use FONT_INFO_FROM_FACE instead of
10435 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10436 rif->per_char_metric.
10437 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10438 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10439 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10440 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10441 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10442 nonzero, use font-backend mechanism.
10443 (get_per_char_metric): New function.
10444
10445 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10446 (set_lface_from_font_name)
10447 (set_font_frame_param, free_realized_face)
10448 (prepare_face_for_display, clear_face_gcs)
10449 (Finternal_set_font_selection_order, realize_x_face)
10450 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10451 font-backend mechanism.
10452 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10453 (load_face_font) [USE_FONT_BACKEND]: Abort.
10454 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10455 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10456
10457 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10458 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10459 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10460 nonzero, register all available font drivers. Call
10461 x_default_font_parameter for deciding a font.
10462 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10463
10464 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10465 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10466 (x_set_glyph_string_clipping_exactly)
10467 (x_compute_glyph_string_overhangs)
10468 (x_draw_glyph_string_foreground)
10469 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10470 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10471 enable_font_backend is nonzero, use font-backend mechanism.
10472 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10473
104742008-02-01 Kenichi Handa <handa@m17n.org>
10475
10476 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10477 system_eol_type.
10478 (syms_of_coding): Initialize system_eol_type.
10479
10480 * process.c (Fset_process_coding_system): Inherit system's eol
10481 format if necessary.
10482
104832008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10484
10485 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10486
104872008-02-01 Kenichi Handa <handa@m17n.org>
10488
10489 * coding.c (decode_eol): Pay attention to buffer relocation in
10490 del_range_2.
10491 (decode_coding): Call decode_eol before restoring undo_list.
10492
104932008-02-01 Kenichi Handa <handa@m17n.org>
10494
10495 * charset.c (Fdefine_charset_internal): Fix setting of
10496 emacs_mule_bytes.
10497
104982008-02-01 Kenichi Handa <handa@m17n.org>
10499
10500 * keyboard.c (read_char): Check if C is a character or not before
10501 looking up Vkeyboard_translate_table.
10502
105032008-02-01 Kenichi Handa <handa@m17n.org>
10504
10505 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10506 condition to terminate the loop.
10507
105082008-02-01 Kenichi Handa <handa@m17n.org>
10509
10510 * coding.c (produce_composition): Compare charbuf[i] instead of
10511 args[i] against 0.
10512 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10513
105142008-02-01 Kenichi Handa <handa@m17n.org>
10515
10516 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10517 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10518 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10519 detect_coding.
10520 (emacs_mule_char): Handle old style (Emacs 20) component character
10521 of a composition.
10522 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10523 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10524 composition rule.
10525 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * coding.c (encode_coding_ccl): Allocate destination dynamically
10530 when necessary.
10531
105322008-02-01 Kenichi Handa <handa@m17n.org>
10533
10534 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10535 the loop. When quitted, show a proper error message.
10536
105372008-02-01 Kenichi Handa <handa@m17n.org>
10538
10539 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10540 src->clip_head and src->clip_tail temporarily instead of src->hl.
10541
10542 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10543 character sequence.
10544 (Fccl_execute_on_string): Use ASET, not XSET.
10545
105462008-02-01 Kenichi Handa <handa@m17n.org>
10547
10548 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10549
105502008-02-01 Kenichi Handa <handa@m17n.org>
10551
10552 * coding.c (decode_coding): Fix the condition of terminating the
10553 decoding loop.
10554
105552008-02-01 Kenichi Handa <handa@m17n.org>
10556
10557 * data.c (Faset): On setting a character bigger than 255 in a
10558 unibyte string, signal an error instead of make the string multibyte.
10559
105602008-02-01 Kenichi Handa <handa@m17n.org>
10561
10562 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10563 made by a mapping table.
10564
105652008-02-01 Kenichi Handa <handa@m17n.org>
10566
10567 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10568 not.
10569 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10570 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10571
10572 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10573 s->face is NULL or not.
10574
105752008-02-01 Kenichi Handa <handa@m17n.org>
10576
10577 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10578 (x_draw_glyph_string): Fix drawing of right_overhang and
10579 left_overhang around/on cursor.
10580
10581 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10582
105832008-02-01 Kenichi Handa <handa@m17n.org>
10584
10585 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10586
105872008-02-01 Kenichi Handa <handa@m17n.org>
10588
10589 * coding.c (Fdefine_coding_system_internal)
10590 (Fdefine_coding_system_alias): Avoid a duplicated element in
10591 Vcoding_system_alist.
10592
105932008-02-01 Kenichi Handa <handa@m17n.org>
10594
10595 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10596
10597 * coding.c (Qcoding_system_define_form): New variable.
10598 (syms_of_coding): Intern and staticpro it.
10599 (Fcoding_system_p): Check Qcoding_system_define_form.
10600 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10601
10602 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10603 Fcoding_system_p.
10604 (CHECK_CODING_SYSTEM): If ID is not available, call
10605 Fcheck_coding_system.
10606 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10607 Try also Fcheck_coding_system.
10608
106092008-02-01 Kenichi Handa <handa@m17n.org>
10610
10611 * coding.c (code_conversion_restore): GCPRO arg.
10612
106132008-02-01 Kenichi Handa <handa@m17n.org>
10614
10615 * character.c (lisp_string_width): Check multibyteness of STRING.
10616
106172008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10618
10619 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10620 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10621 (decode_mac_font_name): Use decode_coding_c_string instead of
10622 decode_coding.
10623 (x_load_font): Initialize fontp->fontset to -1. Set
10624 fontp->encoding_type.
10625
106262008-02-01 Kenichi Handa <handa@m17n.org>
10627
10628 * search.c (search_buffer): Give up BM search on case-fold-search
10629 if one of a target character has a case-equivalence of different
10630 byte length even if that target charcter is an ASCII.
10631 (simple_search): Fix calculation of byte length of matched text.
10632 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10633
106342008-02-01 Kenichi Handa <handa@m17n.org>
10635
10636 * coding.c (decode_coding): Fix handling of invalid bytes.
10637
106382008-02-01 Kenichi Handa <handa@m17n.org>
10639
10640 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10641 Unicode characters.
10642
106432008-02-01 Kenichi Handa <handa@m17n.org>
10644
10645 * coding.c (encode_coding_object): If a pre-write-conversion
10646 function makes a new buffer, kill it.
10647
106482008-02-01 Kenichi Handa <handa@m17n.org>
10649
10650 * coding.c (QCascii_compatible_p): New variable.
10651 (syms_of_coding): Initialize it.
10652 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10653 calling string_char.
10654 (record_conversion_result): Add `default:' case.
10655 (coding_charset_list): Delete unused variable `coding_type'.
10656 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10657 property in the plist of the coding system.
10658 (Fcoding_system_put): Check QCascii_compatible_p.
10659
106602008-02-01 Miles Bader <miles@gnu.org>
10661
10662 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10663 removed calculation of frame `f', as it's now used.
10664
106652008-02-01 Kenichi Handa <handa@m17n.org>
10666
10667 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10668 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10669 (UNIDATA): New variable.
10670 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10671 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10672 $(RUN_TEMACS) unconditionally.
10673
106742008-02-01 Kenichi Handa <handa@m17n.org>
10675
10676 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10677 (admindir): New variable.
10678 ($(lispsource)international/charprop.el): New target.
10679
106802008-02-01 Miles Bader <miles@gnu.org>
10681
10682 * character.c (chars-in-region): Remove obsolete function.
10683 (syms_of_character): Remove its initialization.
10684
106852008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10686
10687 * w32select.c (validate_coding_system)
10688 (setup_windows_coding_system): New functions.
10689 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10690 setup_windows_coding_system.
10691 (setup_config, Fw32_get_clipboard_data): Use
10692 validate_coding_system.
10693 (Fx_selection_exists): Move call to setup_config to a place
10694 where signals are allowed.
10695
10696 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10697 (Fcheck_coding_system): Add declarations.
10698
106992008-02-01 Kenichi Handa <handa@m17n.org>
10700
10701 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10702
107032008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10704
10705 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10706 string as the second argument for x_new_fontset.
10707
107082008-02-01 Kenichi Handa <handa@m17n.org>
10709
10710 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10711 (encode_coding_object): Use safe_call instead of call2.
10712
107132008-02-01 Kenichi Handa <handa@m17n.org>
10714
10715 * fontset.c (Fset_fontset_font): Check family element of a given vector.
10716
10717 * Makefile.in (lisp): Include charprop.el.
10718
107192008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10720
10721 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
10722 Not sure if it's unnecessary.
10723
107242008-02-01 Steven Tamm <steventamm@mac.com>
10725
10726 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
10727 some possibly unnecessary fontset checking code that crashed
10728 when creating a new frame.
10729
107302008-02-01 Kenichi Handa <handa@m17n.org>
10731
10732 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
10733 lookup_face.
10734
10735 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
10736
10737 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
10738
107392008-02-01 Kenichi Handa <handa@m17n.org>
10740
10741 * coding.c: Cancel the change done in HEAD on 2008-02-01.
10742 (coding_charset_list): New function.
10743
10744 * coding.h (coding_charset_list): Extern it.
10745
107462008-02-01 Kenichi Handa <handa@m17n.org>
10747
10748 * fontset.c (Fset_fontset_font): Call find_font_encoding with
10749 concatenation of family and registry.
10750
107512008-02-01 Kenichi Handa <handa@m17n.org>
10752
10753 * character.h (BYTE8_STRING): Fix typo.
10754
10755 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
10756 string to multibyte (sync to HEAD).
10757
10758 * casefiddle.c (casify_region): Handle changes in byte-length
10759 using replace_range_2 (sync to HEAD).
10760
107612008-02-01 Andreas Schwab <schwab@suse.de>
10762
10763 * chartab.c (map_char_table): GCPRO table and arg.
10764
107652008-02-01 Kenichi Handa <handa@m17n.org>
10766
10767 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
10768 already at limit.
10769
107702008-02-01 Kenichi Handa <handa@m17n.org>
10771
10772 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
10773 instead of fast_c_string_match_ignore_case.
10774 (find_font_encoding): Change argument to Lisp_Object. Use
10775 fast_string_match_ignore_case instead of
10776 fast_c_string_match_ignore_case. Change caller.
10777
107782008-02-01 Kenichi Handa <handa@m17n.org>
10779
10780 * xdisp.c (get_next_display_element): In unibyte case, decide to
10781 display in octal form by checking a character by
10782 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
10783
10784 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
10785
10786 * character.c (unibyte_has_multibyte_table): New variable.
10787
10788 * character.h (unibyte_has_multibyte_table): Extern it.
10789 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
10790
107912008-02-01 Kenichi Handa <handa@m17n.org>
10792
10793 * coding.c (encode_coding_iso_2022): Fix handling of charset
10794 annotation.
10795
107962008-02-01 Kenichi Handa <handa@m17n.org>
10797
10798 * coding.c (setup_coding_system): If coding_system is nil, use
10799 Qundecided.
10800 (Fterminal_coding_system): Return nil if terminal coding system is
10801 `undecided'.
10802 (syms_of_coding): Define coding-system `undecided' here. Setup
10803 terminal_coding as `undecided'.
10804
108052008-02-01 Kenichi Handa <handa@m17n.org>
10806
10807 * xdisp.c (message_dolog, set_message_1): Call
10808 unibyte_char_to_multibyte with arg type int.
10809
10810 * lread.c (read1): Fix reading of a char-table.
10811
10812 * print.c (print_object): Include sub char-table in circularities
10813 detection.
10814
108152008-02-01 Kenichi Handa <handa@m17n.org>
10816
10817 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
10818 Append the found sequences in car of ARGS instead of prepending.
10819
108202008-02-01 Kenichi Handa <handa@m17n.org>
10821
10822 * fileio.c (report_file_error): Make a unibyte string from
10823 strerror (errorno).
10824 (Fsubstitute_in_file_name): Fix the arg to
10825 unibyte_char_to_multibyte. It is evaluated twice.
10826
108272008-02-01 Kenichi Handa <handa@m17n.org>
10828
10829 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
10830
108312008-02-01 Kenichi Handa <handa@m17n.org>
10832
10833 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
10834 BOM is not found.
10835 (detect_coding, detect_coding_system): Optimization for ISO-2022
10836 when no 8-bit data is found.
10837
108382008-02-01 Jason Rumney <jasonr@gnu.org>
10839
10840 * w32fns.c (x_to_w32_font): Update to use new coding struct.
10841
108422008-02-01 Kenichi Handa <handa@m17n.org>
10843
10844 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
10845 CHARS.
10846
108472008-02-01 Steven Tamm <steventamm@mac.com>
10848
10849 * macterm.c (mac_encode_char): Add charset argument and update
10850 to use encoding_type.
10851 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
10852 switch to pure fontset.
10853 (decode_mac_font_name): Temporarily remove decoding.
10854 (x_font_name_to_mac_font_name): Temporarily remove encoding.
10855 (x_load_font): Temporarily remove encoding.
10856
108572008-02-01 Kenichi Handa <handa@m17n.org>
10858
10859 * xfaces.c (Fface_font): If frame is not on a window system,
10860 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
10861 refer to face->font.
10862 (split_font_name_into_vector, build_font_name_from_vector)
10863 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
10864 when HAVE_WINDOW_SYSTEM is defined.
10865
108662008-02-01 Kenichi Handa <handa@m17n.org>
10867
10868 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
10869 (x_produce_glyphs): Fix setting of members of cmp in case
10870 cmp->glyph_len is zero.
10871
10872 * fontset.c (Fset_fontset_font): Fix docstring.
10873 (Ffontset_info): Make it backward compatible. New arg ALL.
10874
108752008-02-01 Kim F. Storm <storm@cua.dk>
10876
10877 * process.c (read_process_output): Grow decoding_buf when needed;
10878 this could cause a crash in allocate_string and compact_small_strings.
10879
108802008-02-01 Kenichi Handa <handa@m17n.org>
10881
10882 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
10883
108842008-02-01 Kenichi Handa <handa@m17n.org>
10885
10886 * coding.c (setup_coding_system): Set coding->common_flags
10887 correctly for raw-text.
10888 (consume_chars): On encoding unibyte text by raw-text, don't check
10889 multibyte form.
10890 (encode_coding): On encoding by raw-text, never use translation tables.
10891
10892 * fileio.c (e_write): Short cut for the case of no encoding.
10893
108942008-02-01 Kenichi Handa <handa@m17n.org>
10895
10896 * coding.c (detect_coding, detect_coding_system): Delete unused
10897 variables.
10898
108992008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
10902 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
10903
109042008-02-01 Kenichi Handa <handa@m17n.org>
10905
10906 * coding.c (Ffind_coding_systems_region_internal): Include
10907 raw-text and no-conversion in the result.
10908
109092008-02-01 Kenichi Handa <handa@m17n.org>
10910
10911 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
10912 (load_font_get_repertory): Delete unnecessary check of ENCODING of
10913 FONT_DEF.
10914 (font_def_arg, add_arg, from_arg, to_arg): New args.
10915 (set_fontset_font): Change argument.
10916 (Fset_fontset_font): Fix for the case that TARGET is a script
10917 name and charset name.
10918 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
10919
109202008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * fontset.c (fontset_font): Rename from fontset_face. Change return
10923 value.
10924 (face_suitable_for_char_p, face_for_char): Adjust for the change
10925 of fontset_font.
10926 (make_fontset_for_ascii_face): Fix setting of the fontset element
10927 for ASCII.
10928 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
10929 to get a font name.
10930 (Ffontset_info): Adjust for the change of fontset_font.
10931
10932 * coding.c (emacs_mule_char): Check invalid code more rigidly.
10933
10934 * character.h (LEADING_CODE_LATIN_1_MIN)
10935 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
10936
109372008-02-01 Kenichi Handa <handa@m17n.org>
10938
10939 * editfns.c (check_translation): New function.
10940 (Ftranslate_region_internal): Handle M:N mapping.
10941
109422008-02-01 Kenichi Handa <handa@m17n.org>
10943
10944 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
10945
109462008-02-01 Kenichi Handa <handa@m17n.org>
10947
10948 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
10949 goto invalid_code.
10950 (decode_coding_iso_2022): Fix handling of invalid designation.
10951
10952 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
10953 after calling code_conversion_save.
10954
109552008-02-01 Kenichi Handa <handa@m17n.org>
10956
10957 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
10958
10959 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
10960
10961 * fontset.c: Include "intervals.h".
10962 (fontset_face): Fix comparing of Lisp_Objects.
10963 (free_face_fontset, new_fontset_from_font_name): Fix
10964 Lisp_Object/int mixup.
10965
10966 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
10967
10968 * coding.c: Add many prototypes for static functions.
10969 (get_translation_table): Allow max_lookup to be NULL.
10970 (decode_coding, Ffind_coding_systems_region_internal)
10971 (Funencodable_char_position, Fcheck_coding_systems_region): Call
10972 get_translation_table with max_lookup NULL.
10973
109742008-02-01 Kenichi Handa <handa@m17n.org>
10975
10976 * coding.c (get_translation_table): Declare it as Lisp_Object.
10977 (LOOKUP_TRANSLATION_TABLE): New macro.
10978 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
10979 instead of CHAR_TABLE_REF.
10980
109812008-02-01 Kenichi Handa <handa@m17n.org>
10982
10983 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
10984 annotation data format.
10985 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
10986 Change arguments FROM and TO to single argument NCHARS. Change caller.
10987 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
10988 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10989 (decode_coding_ccl, decode_coding_charset): Pay attention to
10990 coding->charbuf_used.
10991 (get_translation): New function.
10992 (produce_chars): New arguments translation_table and last_block.
10993 Translate characters here. Return number of carryover chars.
10994 Change caller.
10995 (produce_composition): New argument pos. Change caller.
10996 Adjust for the change of annotation data format.
10997 (produce_charset, produce_annotation): Likewise.
10998 (decode_coding, encode_coding): Don't call translate_chars.
10999 (consume_chars): New arg translation_table. Change caller.
11000 (translate_chars): Delete.
11001 (syms_of_coding): Make translation-table's number of extra slots 2.
11002
110032008-02-01 Kenichi Handa <handa@m17n.org>
11004
11005 * search.c (simple_search): Fix setting this_pos_byte in backward
11006 search.
11007
11008 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11009 byte sequence.
11010 (detect_coding_ccl): Fix setting of the variable valids.
11011
110122008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11015
11016 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11017
11018 * editfns.c (Ftranslate_region_internal): Rename from
11019 Ftranslate_region. Accept a char-table in TABLE.
11020 (syms_of_editfns): Defsubr Stranslate_region_internal.
11021
11022 * xfaces.c (set_lface_from_font_name): If a font is specified for
11023 a frame, generate a fontset from the font.
11024 (build_scalable_font_name): If the scalable font is requested for
11025 a specific size, don't change that size.
11026 (try_font_list): Try a scalable font also in the case that a
11027 pattern string is specified.
11028
110292008-02-01 Kenichi Handa <handa@m17n.org>
11030
11031 * xfaces.c (Fface_font): New optional arg CHARACTER.
11032
110332008-02-01 Kenichi Handa <handa@m17n.org>
11034
11035 * charset.h (CHARSET_OFFSET): New macro.
11036
110372008-02-01 Kenichi Handa <handa@m17n.org>
11038
11039 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11040
11041 * fontset.c (fontset_face): Handle the case that repertory is a
11042 char-table.
11043 (find_font_encoding): Return nil for unknown encoding.
11044 (Fset_fontset_font): Ignore a font of unknown encoding.
11045
110462008-02-01 Kenichi Handa <handa@m17n.org>
11047
11048 * keymap.c (describe_vector): Handle default value of a char table.
11049
11050 * fontset.c (fontset_face): Handle fallback fonts correctly.
11051 (Ffontset_info): Return infomation about fallback fonts.
11052
110532008-02-01 Kenichi Handa <handa@m17n.org>
11054
11055 * fontset.c (FONTSET_DEFAULT): New macro.
11056 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11057 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11058 the case that it is nil.
11059 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11060 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11061
11062 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11063 subset or superset.
11064
110652008-02-01 Kenichi Handa <handa@m17n.org>
11066
11067 * emacs.c (main): Call init_charset after syms_of_XXX.
11068
11069 * charset.c (Vcharset_map_directory): Delete.
11070 (Vcharset_map_path): New variable.
11071 (load_charset_map_from_file): Use Vcharset_map_path instead.
11072 (init_charset): Initialize Vcharset_map_path.
11073 (syms_of_charset): Delete declaration of "charset-map-directory",
11074 add declaration of "charset-map-path".
11075
110762008-02-01 Kenichi Handa <handa@m17n.org>
11077
11078 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11079 ASCII only string.
11080
11081 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11082
11083 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11084 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11085
110862008-02-01 Kenichi Handa <handa@m17n.org>
11087
11088 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11089
11090 * coding.c (QCmnemonic, QCdefalut_char)
11091 (QCdecode_translation_table, QCencode_translation_table)
11092 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11093 (get_translation_table): Return a list of translation tables if
11094 necessary.
11095 (decode_coding): Call get_translation_table with ENCODEP 0.
11096 (char_encodable_p): If translation_table is non-nil, always call
11097 translate_char.
11098 (Fdefine_coding_system_internal): Accept list of translation
11099 tables as :encode-translation-table and :decode-translation-table.
11100 (Fcoding_system_put): New function.
11101 (syms_of_coding): Declare new symbols. Defsubr
11102 Scoding_system_put.
11103 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11104 typically JISX0212.
11105
11106 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11107 when the charset is superset type.
11108
11109 * character.c (translate_char): Accept list of translation tables.
11110
111112008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11114 (CODING_ATTR_TRANS_TBL): New macro.
11115
11116 * coding.c (get_translation_table): New function.
11117 (translate_chars): Fix the bug of skipping annotation data.
11118 (decode_coding, encode_coding): Utilize get_translation_table.
11119 (char_encodable_p, Funencodable_char_position): Translate char if
11120 necessary.
11121 (Ffind_coding_systems_region_internal)
11122 (Fcheck_coding_systems_region): Setup translation table for encode
11123 in a coding system attribute vector in advance.
11124 (Fdefine_coding_system_internal): Allow a symbol as translation
11125 table. For shift-jis type coding system, allow 4th charset.
11126
111272008-02-01 Kenichi Handa <handa@m17n.org>
11128
11129 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11130
11131 * xdisp.c (get_next_display_element): Pass -1 as POS to
11132 FACE_FOR_CHAR if displaying a C-string.
11133
111342008-02-01 Kenichi Handa <handa@m17n.org>
11135
11136 * composite.c (get_composition_id): Handle xoff and yoff in a
11137 composition rule.
11138
11139 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11140 (struct composition): New member lbearing and rbearing.
11141
11142 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11143 (x_get_glyph_overhangs): Handle a composition glyph.
11144 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11145
11146 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11147 composition glyph.
11148
111492008-02-01 Kenichi Handa <handa@m17n.org>
11150
11151 * print.c: Include charset.h.
11152 (Vprint_charset_text_property): New variable.
11153 (Qdefault): Extern it.
11154 (PRINT_STRING_NON_CHARSET_FOUND)
11155 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11156 (print_check_string_result): New variable.
11157 (print_check_string_charset_prop): New function.
11158 (print_prune_charset_plist): New variable.
11159 (print_prune_string_charset): New function.
11160 (print_object): Call print_prune_string_charset if
11161 Vprint_charset_text_property is not t.
11162 (print_interval): Print nothing if interval->plist is nil.
11163 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11164 variable. Init and staticpro print_prune_charset_plist.
11165
111662008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * fontset.c (new_fontset_from_font_name): Use the specified font
11169 for all characters in the new fontset.
11170
11171 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11172 OBJECT args.
11173
11174 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11175 OBJECT args for composition too.
11176
11177 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11178 OBJECT args.
11179
111802008-02-01 Kenichi Handa <handa@m17n.org>
11181
11182 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11183
11184 * fontset.c (reorder_font_vector): Adjust for the change of
11185 FONT_DEF format.
11186 (fontset_face): New arg id. Change caller.
11187 (face_for_char): New args pos and object.
11188 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11189 (fs_query_fontset): Check NAME by Fassoc too.
11190 (Fset_fontset_font): Allow non-XLFD font name.
11191 (Ffontset_info): Adjust for the change of FONT_DEF format.
11192
11193 * fontset.h (face_for_char): Adjust prototype.
11194
11195 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11196 (append_space, extend_face_to_end_of_line)
11197 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11198 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11199
11200 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11201 POS and OBJECT args.
11202
11203 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11204 POS and OBJECT args.
11205
112062008-02-01 Jason Rumney <jasonr@gnu.org>
11207
11208 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11209 of GlobalAlloc'ed memory.
11210
112112008-02-01 Kenichi Handa <handa@m17n.org>
11212
11213 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11214
11215 * charset.h (charset_table_used): Delete extern.
11216
11217 * charset.c (charset_table_used): Make it static.
11218 (map_charset_chars): Fix args to c_function with.
11219
11220 * chartab.c (map_sub_char_table_for_charset): Fix args to
11221 c_function with.
11222
11223 * coding.h (enum coding_result_code): Delete
11224 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11225
11226 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11227 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11228 (Vlast_code_conversion_error): New variables.
11229 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11230 (ONE_MORE_BYTE): Record error if any instead of signaling an
11231 error. If non-ASCII multibyte char is found, return the negative
11232 value of the code. All callers changed to check it.
11233 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11234 (record_conversion_result): New function. Change all codes setting
11235 coding->result to call this function.
11236 (detect_coding_utf_8, decode_coding_utf_8)
11237 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11238 Don't use the local variable incomplete.
11239 (emacs_mule_char): Change the second arg to `const'.
11240 (decode_coding): Fix of flushing out unprocessed data.
11241 (make_conversion_work_buffer): Fix making of a work buffer.
11242 (decode_coding_object): Return coding->dst_object.
11243
11244 * fontset.c (set_fontset_font): Fix args.
11245
11246 * lisp.h (CHARACTERBITS): Define as 22.
11247
11248 * process.c (send_process): Be sure to set coding->src_multibyte.
11249
11250 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11251
112522008-02-01 Kenichi Handa <handa@m17n.org>
11253
11254 * xdisp.c (handle_auto_composed_prop): Give limit to
11255 Fnext_single_char_property_change.
11256
112572008-02-01 Kenichi Handa <handa@m17n.org>
11258
11259 * composite.c (syms_of_composite): Don't make the composition hash
11260 table weak.
11261
11262 * fontset.c (Fset_fontset_font): Fix docstring.
11263
11264 * lisp.h (detect_coding_system): Adjust prototype.
11265
11266 * fileio.c (kill_workbuf_unwind): Delete this function.
11267 (Finsert_file_contents): Adjust the call of detect_coding_system.
11268 Get conversion_buffer by code_conversion_save. Use the macro
11269 CODING_MAY_REQUIRE_DECODING. After decoding, update
11270 coding_system.
11271
11272 * coding.h (make_conversion_work_buffer): Delete extern.
11273 (code_conversion_save): Extern it.
11274
11275 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11276 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11277 (decode_coding_utf_8): Don't do eol converion.
11278 (detect_coding_utf_16): Check coding->src_chars, not
11279 coding->src_bytes. Add heuristics for those that have no signature.
11280 (decode_coding_emacs_mule, decode_coding_iso_2022)
11281 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11282 Don't do eol converion.
11283 (adjust_coding_eol_type): Return a new coding system.
11284 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11285 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11286 each change.
11287 (decode_coding): Pay attention to undo_list. Do eol conversion for
11288 all types of coding-systems (if necessary).
11289 (Vcode_conversion_work_buf_list): Delete it.
11290 (Vcode_conversion_reused_workbuf): Rename from
11291 Vcode_conversion_reused_work_buf.
11292 (Vcode_conversion_workbuf_name): New variable.
11293 (reused_workbuf_in_use): New variable.
11294 (make_conversion_work_buffer): Delete the arg DEPTH.
11295 (code_conversion_restore): Change argument to cons.
11296 (code_conversion_save): Delete the argument BUFFER. Change callers.
11297 (detect_coding_system): New argument src_chars. Change callers.
11298 Fix for utf-16 detection.
11299 (init_coding_once): Don't use ISO_carriage_return.
11300 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11301 reused_workbuf_in_use.
11302
113032008-02-01 Kenichi Handa <handa@m17n.org>
11304
11305 * keymap.c (store_in_keymap): Pay attention to the case that idx
11306 is a cons specifying a character range.
11307
113082008-02-01 Kenichi Handa <handa@m17n.org>
11309
11310 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11311 HANDLED_RECOMPUTE_PROPS.
11312
11313 * coding.c (Fdefine_coding_system_internal): Fix checking of
11314 ascii compatibility.
11315
113162008-02-01 Kenichi Handa <handa@m17n.org>
11317
11318 * charset.c (find_charsets_in_text): Delete unused locale variable.
11319 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11320
11321 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11322 Resync charset_list to Vemacs_mule_charset_list.
11323
11324 * keymap.c (store_in_keymap): Pay attention to the case that idx
11325 is a cons specifying a character range.
11326
113272008-02-01 Kenichi Handa <handa@m17n.org>
11328
11329 * composite.c (update_compositions): Bind inhibit-read-only, etc
11330 to t before calling remove-list-of-text-properties.
11331
11332 * print.c (print_object): Always print ASCII chars as is.
11333
113342008-02-01 Kenichi Handa <handa@m17n.org>
11335
11336 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11337
11338 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11339 is a char table.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11344
113452008-02-01 Kenichi Handa <handa@m17n.org>
11346
11347 * xfaces.c (set_lface_from_font_name): Fix for the case that
11348 FONTNAME is not fontset name.
11349
113502008-02-01 Kenichi Handa <handa@m17n.org>
11351
11352 * fns.c (base64_encode_1): Fix previous change.
11353
113542008-02-01 Kenichi Handa <handa@m17n.org>
11355
11356 * fontset.c (set_fontset_font): New function.
11357 (Fset_fontset_font): If a font is specified for a charset, use
11358 map_charset_chars to store the font spec in a fontset.
11359
113602008-02-01 Kenichi Handa <handa@m17n.org>
11361
11362 * fontset.c (fontset_face): Create a fallback fontset on demand.
11363 (make_fontset): Don't create a fallback fontset here.
11364 (free_face_fontset): Free a fallback fontset (if any) too.
11365 (n_auto_fontsets): Delete this variable.
11366 (auto_fontset_alist): New variable.
11367 (new_fontset_from_font_name): Check auto_fontset_alist.
11368 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11369 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11370 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11371 Defsubr Sfontset_list_all.
11372
113732008-02-01 Kenichi Handa <handa@m17n.org>
11374
11375 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11376
113772008-02-01 Kenichi Handa <handa@m17n.org>
11378
11379 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11380
113812008-02-01 Kenichi Handa <handa@m17n.org>
11382
11383 * editfns.c (Fgoto_char): Fix docstring.
11384
113852008-02-01 Kenichi Handa <handa@m17n.org>
11386
11387 * insdel.c (insert_from_gap): Adjust intervals correctly.
11388
113892008-02-01 Jason Rumney <jasonr@gnu.org>
11390
11391 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11392 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11393 (w32_initialize): Try to load it.
11394 (x_get_font_repertory): Use it if available.
11395 (w32_encode_char): Add shortcut for unicode output.
11396
11397 * w32fns.c (w32_load_system_font): Default charset to -1.
11398 (x_to_w32_charset): Match all fonts for unicode.
11399 (w32_to_x_charset): New parameter matching. Don't return partial
11400 or wildcard charsets.
11401 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11402 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11403 (w32_to_x_font): Match charset to real charset.
11404 (enum_font_cb2): Always list unicode versions.
11405
11406 * makefile.w32-in (temacs): Increase EMHEAP.
11407
114082008-02-01 Jason Rumney <jasonr@gnu.org>
11409
11410 * w32term.c (w32_encode_char): New charset parameter.
11411 font_info.encoding becomes encoding_type.
11412 (x_get_font_repertory): New function. Warning: stub only!
11413 (x_new_font): Return quickly if font already set.
11414 (x_new_fontset): fontsetname parameter is Lisp_Object.
11415 Use new fs_query_fontset. Try new_fontset_from_font_name.
11416 Use fontset_name for return value.
11417
11418 * w32term.h: Declare x_get_font_repertory.
11419
11420 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11421 place of find_charset_in_text. Use encode_coding_object in place
11422 of encode_coding.
11423 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11424 decode_coding.
11425
11426 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11427 of x_new_fontset.
11428 (w32_load_system_font): Initialize charset as unicode.
11429 font_info.encoding becomes encoding_type.
11430 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11431 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11432 (syms_of_w32fns): Set get_font_repertory_func.
11433
11434 * w32console.c: Include character.h. Use terminal_encode_buffer
11435 from term.c.
11436 (write_glyphs): Use new version of encode_terminal_code. Use
11437 encode_coding_object in place of encode_coding.
11438
11439 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11440 encoding becomes encoding_type.
11441
11442 * term.c (terminal_encode_buffer): Make externally visible.
11443
11444 * makefile.w32-in: Add character.h dependancies.
11445 (character.o, chartab.o): New targets.
11446
114472008-02-01 Kenichi Handa <handa@m17n.org>
11448
11449 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11450 CODING_ID_EOL_TYPE.
11451
114522008-02-01 Andreas Schwab <schwab@suse.de>
11453
11454 * coding.c (produce_chars): Revert last change.
11455
114562008-02-01 Kenichi Handa <handa@m17n.org>
11457
11458 * charset.h (charset_unicode): Extern it.
11459
11460 * charset.c (string_xstring_p): Check by (C >= 0x100).
11461 (find_charsets_in_text): Change format of the arc CHARSETS. New
11462 arg MULTIBYTE.
11463 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11464 change of find_charsets_in_text.
11465 (Fsplit_char): Fix doc. Never return unknown.
11466
11467 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11468
11469 * coding.c (Fdefine_coding_system_alias): Update
11470 Vcoding_system_list.
11471
11472 * fontset.c (load_font_get_repertory): Pay attention to the case
11473 that ENCODING of a font is specified by a char-table.
11474
11475 * xterm.c (x_get_font_repertory): Handle the case that the
11476 encoding of font is other than Unicode.
11477
114782008-02-01 Kenichi Handa <handa@m17n.org>
11479
11480 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11481 if a character is encodable by the terminal coding system. If
11482 not, produces proper number of `?'s. Update
11483 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11484 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11485
114862008-02-01 Kenichi Handa <handa@m17n.org>
11487
11488 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11489 variables.
11490 (encode_terminal_code): Change argument. Encode multiple
11491 characters at once. Store the result of encoding in
11492 terminal_encode_buffer.
11493 (write_glyphs, insert_glyphs): Adjust for the change of
11494 encode_terminal_code.
11495 (term_init): Initialize terminal_encode_buffer and
11496 terminal_encode_buf_size.
11497
11498 * coding.c (consume_chars): If coding->src_object is nil, don't
11499 check annotation.
11500
115012008-02-01 Kenichi Handa <handa@m17n.org>
11502
11503 * character.c (char_string): Use ASCII_CHAR_P instead of
11504 SINGLE_BYTE_CHAR_P.
11505
115062008-02-01 Kenichi Handa <handa@m17n.org>
11507
11508 * xdisp.c (handle_auto_composed_prop): Check if the last
11509 characters of auto-composed region is newly composed with the
11510 following characters.
11511 (handle_composition_prop): Fix checking of point being inside
11512 composition.
11513
115142008-02-01 Kenichi Handa <handa@m17n.org>
11515
11516 * fns.c (concat): Don't change multibyteness of the result by
11517 concatenating an 8-bit character.
11518
11519 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11520 multibyteness of the result when newelt is an 8-bit character.
11521
115222008-02-01 Dave Love <fx@gnu.org>
11523
11524 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11525 EMACS_INT.
11526
11527 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11528
11529 * xfaces.c (face_numeric_value): Declare dim size_t.
11530 (Finternal_lisp_face_equal_p): Remove unused f.
11531
11532 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11533 (MATRIX_ROW): Remove unused vars.
11534 (draw_glyphs, x_insert_glyphs, fast_find_position)
11535 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11536 byte/char counts.
11537
11538 * regex.c (regex_compile): Remove unused var.
11539
11540 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11541
11542 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11543 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11544
11545 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11546
11547 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11548
11549 * fileio.c (Fwrite_region): Remove unused var.
11550
11551 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11552 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11553
11554 * composite.c (Fremove_list_of_text_properties): Declare.
11555
11556 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11557 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11558 (coding_inherit_eol_type): Remove unused attrs.
11559 (detect_coding): Cast arg of detect_eol.
11560
11561 * charset.c (syms_of_charset): Remove unused var p.
11562 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11563 byte/char counts.
11564
11565 * casetab.c (set_case_table): Remove unused var.
11566
11567 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11568 unused vars.
11569
115702008-02-01 Dave Love <fx@gnu.org>
11571
11572 * xterm.c (x_bitmap_mask): Declare.
11573
115742008-02-01 Dave Love <fx@gnu.org>
11575
11576 * xterm.c (x_term_init): Fix type error.
11577
11578 * lisp.h: Add Funibyte_char_to_multibyte.
11579
11580 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11581 (Fset_coding_system_priority): Doc fix.
11582
11583 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11584
11585 * indent.c (check_composition): Make start and end EMACS_INT.
11586
11587 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11588
11589 * xdisp.c (handle_composition_prop, check_point_in_composition):
11590 Make buffer positions EMACS_INT.
11591
11592 * composite.c (find_composition, run_composition_function)
11593 (update_compositions, Ffind_composition_internal): Make buffer
11594 positions EMACS_INT.
11595
11596 * composite.h (find_composition, update_compositions): Make
11597 position args EMACS_INT.
11598
11599 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11600
11601 * intervals.c (get_property_and_range):
11602 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11603
11604 * unexalpha.c: Don't include varargs.h.
11605
116062008-02-01 Dave Love <fx@gnu.org>
11607
11608 * coding.h (ENCODE_UTF_8): New.
11609
11610 * Makefile.in (gtkutil.o): Depend on coding.h.
11611
11612 * coding.c (Fset_coding_system_priority): Doc fix.
11613
116142008-02-01 Kenichi Handa <handa@m17n.org>
11615
11616 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11617 the case of auto saving.
11618
116192008-02-01 Andreas Schwab <schwab@suse.de>
11620
11621 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11622 `range' from GC.
11623
116242008-02-01 Kenichi Handa <handa@m17n.org>
11625
11626 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11627
116282008-02-01 Kenichi Handa <handa@m17n.org>
11629
11630 * fileio.c (choose_write_coding_system): Return a decided coding system.
11631 (Fwrite_region): Set Vlast_coding_system_used to the return value
11632 of choose_write_coding_system.
11633
116342008-02-01 Kenichi Handa <handa@m17n.org>
11635
11636 * charset.c (Fset_charset_priority): Pay attention to duplicated
11637 arguments.
11638
11639 * coding.c (QCcategory): New variable.
11640 (syms_of_coding): Defsym it. Set all elements of
11641 Vcoding_category_table and their symbol values.
11642 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11643 coding-category-XXX, and coding-category-list.
11644 (Fdefine_coding_system_internal): Add category in the plist.
11645
116462008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * callproc.c (Fcall_process): Handle carryover correctly.
11649
11650 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11651 (raw_text_coding_system): Check NILP (coding_system).
11652 (coding_inherit_eol_type): Check NILP (coding_system) and
11653 NILP (parent).
11654 (consume_chars): Fix for the case of raw-text.
11655
11656 * process.c (read_process_output): Handle carryover correctly.
11657
116582008-02-01 Dave Love <fx@gnu.org>
11659
11660 * regex.c (re_search_2): Fix last change.
11661
116622008-02-01 Kenichi Handa <handa@m17n.org>
11663
11664 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11665 target_multibyte. Even in a unibyte case, return a converted
11666 multibyte char.
11667 (GET_CHAR_AFTER): New macro.
11668 (PATFETCH): Translate via multibyte char.
11669 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11670 (SETUP_MULTIBYTE_RANGE): New macro.
11671 (regex_compile): Setup compiled code so that its multibyteness
11672 matches that of a target. Fix the handling of "[X-YZ]" using
11673 SETUP_MULTIBYTE_RANGE.
11674 (analyse_first) <charset>: For filling fastmap for all multibyte
11675 characters, don't check by BASE_LEADING_CODE_P.
11676 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11677 the same as RE_MULTIBYTE_P (bufp) now.
11678 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11679 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11680 (TRANSLATE_VIA_MULTIBYTE): New macro.
11681 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11682 It is the same as RE_MULTIBYTE_P (bufp) now.
11683 <exactn>: Translate via multibyte.
11684 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11685 translate it.
11686 <charset, charset_not>: Fetch a character by
11687 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11688 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11689 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11690 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11691 by GET_CHAR_AFTER.
11692 (bcmp_translate): Likewise.
11693
11694 * search.c (compile_pattern): Check the member target_multibyte,
11695 not the member multibyte of buf.
11696
11697 * lread.c (read1): While reading a string, set force_singlebyte
11698 and force_multibyte correctly.
11699
11700 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11701 up of unibyte_to_multibyte_table.
11702
117032008-02-01 Kenichi Handa <handa@m17n.org>
11704
11705 * coding.c (setup_coding_system): If coding has
11706 post-read-conversion or pre-write-conversion, set
11707 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11708 respectively.
11709 (decode_coding_gap): Run post-read-conversion if any.
11710
11711 * fileio.c (Finsert_file_contents): Even if we read into a
11712 unibyte buffer, check if we must decode the result or not.
11713
117142008-02-01 Kenichi Handa <handa@m17n.org>
11715
11716 * coding.c (make_conversion_work_buffer): Change the work buffer
11717 name to the same one as that of Emacs 21.
11718
117192008-02-01 Kenichi Handa <handa@m17n.org>
11720
11721 * coding.h (make_conversion_work_buffer): Adjust prototype.
11722 (code_conversion_restore): Don't extern it.
11723
11724 * coding.c (detected_mask): Delete unused variable.
11725 (decode_coding_iso_2022): Pay attention to the byte sequence of
11726 CTEXT extended segment, and retain those bytes as is.
11727 (decode_coding_ccl): Delete unused variable `valids'.
11728 (setup_coding_system): Delete unused variable `category'.
11729 (consume_chars): Delete unused variable `category'. Make it work
11730 for non-multibyte case.
11731 (make_conversion_work_buffer): Change argument.
11732 (saved_coding): Delete unused variable.
11733 (code_conversion_restore): Don't check saved_coding->destination.
11734 (code_conversion_save): New function.
11735 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
11736 instead of record_unwind_protect.
11737 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
11738 (detect_coding_system): Delete unused variable `mask'.
11739 (Fdefine_coding_system_internal): Delete unused variable id.
11740
11741 * fileio.c (kill_workbuf_unwind): New function.
11742 (Finsert_file_contents): On replacing, call
11743 make_conversion_work_buffer with correct args, and call
11744 record_unwind_protect with the first arg kill_workbuf_unwind.
11745
11746 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
11747
117482008-02-01 Kenichi Handa <handa@m17n.org>
11749
11750 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
11751 (fontset_add): Fix for the case that TO is less than TO1.
11752 (Ffontset_info): Don't use fallback fontset on checking the
11753 default fontset.
11754 (dump_fontset): New function for debugging.
11755
11756 * coding.c (Fdefine_coding_system_internal): Fix for the case that
11757 coding_type is Qcharset.
11758
117592008-02-01 Kenichi Handa <handa@m17n.org>
11760
11761 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
11762 (map_char_table): Don't inherit the value from the parent on
11763 initializing VAL. Adjust for the above change.
11764
117652008-02-01 Kenichi Handa <handa@m17n.org>
11766
11767 * coding.c (Qsignature, Qendian): Delete these variables.
11768 (syms_of_coding): Don't initialize them.
11769 (CATEGORY_MASK_UTF_16_AUTO): New macro.
11770 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
11771 detect_info->found.
11772 (decode_coding_utf_16): Don't detect BOM here.
11773 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
11774 is NOT utf_16_without_bom.
11775 (setup_coding_system): For a coding system of type utf-16, check
11776 if the attribute :endian is Qbig or not (not nil or not), and set
11777 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
11778 (detect_coding): If coding type is utf-16 and BOM detection is
11779 required, detect it.
11780 (Fdefine_coding_system_internal): For a coding system of type
11781 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
11782
117832008-02-01 Kenichi Handa <handa@m17n.org>
11784
11785 * coding.c (coding_set_source): Fix for the case that the current
11786 buffer is different from coding->src_object.
11787 (decode_coding_object): Don't use the conversion work buffer if
11788 DST_OBJECT is a buffer.
11789
117902008-02-01 Dave Love <fx@gnu.org>
11791
11792 * lread.c (read_emacs_mule_char) [len==2]: Index
11793 emacs_mule_charset correctly.
11794
117952008-02-01 Dave Love <fx@gnu.org>
11796
11797 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
11798 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
11799 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
11800 treated specially.)
11801 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
11802 (detected_mask): Remove Big5 bits.
11803
118042008-02-01 Kenichi Handa <handa@m17n.org>
11805
11806 The following changes are to make the font rescaling facility
11807 compatible with Emacs 21.
11808
11809 * xfaces.c (Vface_font_rescale_alist): Rename from
11810 Vface_resizing_fonts.
11811 (struct font_name): Rename member resizing_ratio to rescale_ratio.
11812 (font_rescale_ratio): Rename from font_resizing_ratio.
11813 (split_font_name): Set font->rescale_ratio.
11814 (better_font_p): Pay attention to font->rescale_ratio.
11815 (build_scalable_font_name): Likewise. Change RESX, and RESY
11816 fields.
11817 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
11818
118192008-02-01 Kenichi Handa <handa@m17n.org>
11820
11821 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
11822 (Qutf_16_le): Remove these variables.
11823 (syms_of_coding): Don't DEFSYM them.
11824 (decode_coding_utf_16): Fix handling of BOM.
11825 (encode_coding_utf_16): Fix handling of BOM.
11826
118272008-02-01 Kenichi Handa <handa@m17n.org>
11828
11829 * fileio.c (Finsert_file_contents): On replacing, before decoding
11830 the file into the work buffer, set point of the work buffer to the end.
11831
118322008-02-01 Dave Love <fx@gnu.org>
11833
11834 * coding.c (Fcheck_coding_systems_region): Fix type errors.
11835
118362008-02-01 Dave Love <fx@gnu.org>
11837
11838 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11839 and fix C types.
11840
118412008-02-01 Kenichi Handa <handa@m17n.org>
11842
11843 * xdisp.c (SKIP_GLYPHS): New macro.
11844 (set_cursor_from_row): Pay attention to string display properties.
11845
11846 * category.c (copy_category_entry): Fix for the case that RANGE
11847 is an integer.
11848
11849 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
11850
11851 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
11852
118532008-02-01 Kenichi Handa <handa@m17n.org>
11854
11855 * charset.c (Fcharset_id_internal): New function.
11856 (syms_of_charset): Defsubr it.
11857
11858 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
11859 with the last arg charset_list acquired from coding.
11860 (Fdefine_coding_system_internal): For ccl-based coding system, fix
11861 the attribute coding_attr_ccl_valids.
11862
11863 * coding.h (enum define_coding_ccl_arg_index): Set the first
11864 member coding_arg_ccl_decoder to coding_arg_max.
11865
11866 * ccl.h (ccl_driver): Adjust prototype.
11867
11868 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
11869 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 11870 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
11871 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
11872 last arg Qnil.
11873
118742008-02-01 Kenichi Handa <handa@m17n.org>
11875
11876 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
11877 call encode_char.
11878
11879 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
11880
118812008-02-01 Dave Love <fx@gnu.org>
11882
11883 * composite.c (syms_of_composite): Make composition_hash_table weak.
11884
118852008-02-01 Kenichi Handa <handa@m17n.org>
11886
11887 * dispextern.h (check_face_attributes, generate_ascii_font_name)
11888 (font_name_registry): Don't extern them.
11889 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
11890
11891 * fontset.h (Qfontset): Don't extern it.
11892 (new_fontset_from_font_name): Extern it.
11893
11894 * fontset.c: Give 8 extra slots to fontset objects.
11895 (Qfontset_info): New variable.
11896 (syms_of_fontset): Defsym it.
11897 (FONTSET_FALLBACK): New macro.
11898 (fontset_face): Try also the default fontset.
11899 (make_fontset): Realize a fallback fontset from the default fontset.
11900 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
11901 using split_font_name_into_vector and build_font_name_from_vector.
11902 (Fset_fontset_font): Access the elements of font_spec by enum
11903 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
11904 name by using split_font_name_into_vector.
11905 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
11906 generate a proper font name from the fontset name. Update
11907 Vfontset_alias_alist.
11908 (n_auto_fontsets): New variable.
11909 (new_fontset_from_font_name): New function.
11910 (Ffont_info): Store the information about fonts generated from the
11911 default fontset in the first extra slot of the returned char-table.
11912
11913 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
11914 (font_name_registry): Delete function.
11915 (split_font_name_into_vector): New function.
11916 (build_font_name_from_vector): New function.
11917 (font_list): The argument REGISTRY is now a list of registry names.
11918 (choose_face_font): If we are choosing an ASCII font, and ATTRS
11919 specifies an explicit font name, return the name as is. Make a
11920 list of registy names.
11921
11922 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
11923 of x_new_fontset.
11924 (Fx_create_frame): Don't call x_new_fontset here. Just use
11925 x_list_fonts to check the existence of fonts.
11926
11927 * xterm.h (x_new_fontset): Adjust prototype.
11928
11929 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
11930 string. Use new_fontset_from_font_name to create a fontset from a
11931 font name.
11932
119332008-02-01 Kenichi Handa <handa@m17n.org>
11934
11935 * syntax.c (Vfind_word_boundary_function_table): New name for
11936 Vnext_word_boundary_function_table.
11937 (find-word-boundary-function-table): New name for
11938 next-word-boundary-function-table.
11939
119402008-02-01 Dave Love <fx@gnu.org>
11941
11942 * Makefile.in: Fix some dependencies.
11943
11944 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
11945 set it to nil before returning.
11946
11947 * composite.c (update_compositions): Fix type error.
11948
11949 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
11950
119512008-02-01 Kenichi Handa <handa@m17n.org>
11952
11953 * xterm.c (x_new_font): Optimize for the case that the font is
11954 already set for the frame.
11955
119562008-02-01 Kenichi Handa <handa@m17n.org>
11957
11958 * chartab.c (char_table_ascii): Check if the char table contents
11959 is sub-char-table or not.
11960 (char_table_set, char_table_set_range): Fix argument to
11961 char_table_ascii.
11962
11963 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
11964 (detect_coding_utf_8, detect_coding_utf_16)
11965 (detect_coding_emacs_mule, detect_coding_iso_2022)
11966 (detect_coding_sjis, detect_coding_big5)
11967 (detect_coding_ccl, detect_coding_charset): Change argument MASK
11968 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
11969 sequence is valid in this coding system. Change callers.
11970 (MAX_ANNOTATION_LENGTH): New macro.
11971 (ADD_ANNOTATION_DATA): New macro.
11972 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
11973 ADD_ANNOTATION_DATA. Change the format of annotation data.
11974 (ADD_CHARSET_DATA): New macro.
11975 (emacs_mule_char): New argument ID. Change callers.
11976 (decode_coding_emacs_mule, decode_coding_iso_2022)
11977 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11978 Produce charset annotation data in coding->charbuf.
11979 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
11980 to charset annotation data in coding->charbuf.
11981 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
11982 coding->common_flags if the coding system is iso-2022 based and
11983 uses designation.
11984 (produce_composition): Adjust for the new annotation data format.
11985 (produce_charset): New function.
11986 (produce_annotation): Handle charset annotation.
11987 (handle_composition_annotation, handle_charset_annotation): New
11988 functions.
11989 (consume_chars): Handle charset annotation. Utilize the above two
11990 functions.
11991 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
11992 buffer, get the deleted text as a string and set
11993 coding->src_object to that string.
11994 (detect_coding, detect_coding_system): Use the new struct
11995 coding_detection_info.
11996
11997 * coding.h (struct coding_detection_info): New structure.
11998 (struct coding_system): Adjust prototype of the member `detector'.
11999 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12000
120012008-02-01 Kenichi Handa <handa@m17n.org>
12002
12003 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12004
120052008-02-01 Dave Love <fx@gnu.org>
12006
12007 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12008 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12009 to new local and nullify apropos_accumulate before returning.
12010 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12011
120122008-02-01 Kenichi Handa <handa@m17n.org>
12013
12014 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12015 correctly.
e3eea1fc 12016
aac0c6e3
MR
120172008-02-01 Dave Love <fx@gnu.org>
12018
12019 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12020
120212008-02-01 Kenichi Handa <handa@m17n.org>
12022
12023 The following changes are to make character composition happen
12024 automatically on displaying.
12025
12026 * Makefile.in (lisp, shortlisp): Add composite.elc.
12027
12028 * composite.h (Qauto_composed, Vauto_composition_function)
12029 (Qauto_composition_function): Extern them.
12030
12031 * composite.c (Vcomposition_function_table)
12032 (Qcomposition_function_table): Delete variables.
12033 (Qauto_composed, Vauto_composition_function)
12034 (Qauto_composition_function): New variables.
12035 (run_composition_function): Don't call
12036 compose-chars-after-function.
12037 (update_compositions): Clear `auto-composed' text property.
12038 (compose_chars_in_text): Delete this function.
12039 (syms_of_composite): Staticpro Qauto_composed and
12040 Qauto_composition_function. Declare Vauto_composition_function as
12041 a Lisp variable.
12042
12043 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12044
12045 * xdisp.c (it_props): Add an entry for Qauto_composed.
12046 (handle_auto_composed_prop): New function.
12047
12048 * xselect.c (selection_data_to_lisp_data): Don't call
12049 compose_chars_in_text.
12050
120512008-02-01 Dave Love <fx@gnu.org>
12052
12053 * keyboard.c (read_char): Modify checking around use of
12054 Vkeyboard_translate_table.
12055
12056 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12057 and fix C types.
12058
120592008-02-01 Kenichi Handa <handa@m17n.org>
12060
12061 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12062 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12063 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12064 the case that the last byte is '\r' correctly.
12065 (decode_coding): Flush out the unprocessed data correctly.
12066 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12067
120682008-02-01 Dave Love <fx@gnu.org>
12069
12070 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12071 Add XK_ISO... case.
12072 (xaw_scroll_callback): Revert last change.
12073
120742008-02-01 Kenichi Handa <handa@m17n.org>
12075
12076 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 * xfaces.c (Vface_resizing_fonts): New variable.
12081 (struct font_name): New member `resizing_ratio'.
12082 (font_resizing_ratio): New function.
12083 (split_font_name): Set font->resizing_ratio.
12084 (better_font_p): Pay attention to font->resizing_ratio.
12085 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12086 RESX, and RESY fields.
12087 (try_alternative_families): Try scalable fonts if
12088 Vscalable_fonts_allowed is not Qt.
12089 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12090
120912008-02-01 Dave Love <fx@gnu.org>
12092
12093 * xterm.c (xaw_scroll_callback): Cast correctly.
12094
120952008-02-01 Dave Love <fx@gnu.org>
12096
12097 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12098 (lispy_kana_keys): Comment out.
12099 (make_lispy_event) [XK_kana_A]: Comment out.
12100
12101 * xterm.c (xaw_scroll_callback): Cast call_data.
12102 (XTread_socket): Deal with ASCII keysyms.
12103 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12104
121052008-02-01 Dave Love <fx@gnu.org>
12106
12107 * xterm.c (Vx_keysym_table): New.
12108 (syms_of_xterm): Initialize it.
12109 (XTread_socket): Use it.
12110 From head: Eliminate incorrect optimization that tried to avoid
12111 decoding the output of X*LookupString.
12112 (x_get_font_repertory): Delete charset declaration.
12113
121142008-02-01 Kenichi Handa <handa@m17n.org>
12115
12116 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12117 return 0.
12118 (Fdefine_coding_system_internal): Setup
12119 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12120
121212008-02-01 Dave Love <fx@gnu.org>
12122
12123 * coding.c (Fcheck_coding_system): Doc fix.
12124
12125 * editfns.c (Finsert_byte): Return a proper value.
12126
121272008-02-01 Kenichi Handa <handa@m17n.org>
12128
12129 * coding.c (decode_coding): Fix args to translate_chars. Pay
12130 attention to Vstandard_translation_table_for_decode.
12131 (encode_coding): Fix args to translate_chars. Pay attention to
12132 Vstandard_translation_table_for_encode.
12133
12134 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12135 SINGLE_BYTE_CHAR_P.
12136
12137 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12138 not by SINGLE_BYTE_CHAR_P.
12139
12140 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12141 SINGLE_BYTE_CHAR_P.
12142
12143 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12144 SINGLE_BYTE_CHAR_P.
12145
12146 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12147 by SINGLE_BYTE_CHAR_P.
12148
12149 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12150 SINGLE_BYTE_CHAR_P.
12151
121522008-02-01 Dave Love <fx@gnu.org>
12153
12154 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12155
121562008-02-01 Dave Love <fx@gnu.org>
12157
12158 * fns.c (Flanginfo): Fix typo.
12159
12160 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12161
121622008-02-01 Kenichi Handa <handa@m17n.org>
12163
12164 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12165 (detect_coding_emacs_mule, detect_coding_iso_2022)
12166 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12167 incomplete byte sequence. Don't update *mask when correctly detected.
12168 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12169 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12170 (detect_coding, detect_coding_system): Adjust for the changes above.
12171
121722008-02-01 Kenichi Handa <handa@m17n.org>
12173
12174 * character.c (char_string): Rename from
12175 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12176 (string_char): Rename from string_char.
12177
12178 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12179 if C is greater than MAX_3_BYTE_CHAR.
12180 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12181 string_char instead of string_char_with_unification.
12182
121832008-02-01 Dave Love <fx@gnu.org>
12184
12185 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12186
121872008-02-01 Kenichi Handa <handa@m17n.org>
12188
12189 * keymap.c (push_key_description): Pay attention to force_multibyte.
12190
12191 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12192
121932008-02-01 Dave Love <fx@gnu.org>
12194
12195 * charset.c (define_charset_internal): Rename `supprementary'.
12196
12197 * Makefile.in (lisp, shortlisp): Remove latin-N.
12198
121992008-02-01 Dave Love <fx@gnu.org>
12200
12201 * xfns.c (x_window, x_window): Use use_xim.
12202
12203 * xterm.c (use_xim): Initialize.
12204 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12205 (x_term_init): Maybe set use_xim.
12206
12207 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12208
122092008-02-01 Kenichi Handa <handa@m17n.org>
12210
12211 * search.c (search_buffer): Fix case-fold-search of multibyte
12212 characters.
12213 (boyer_moore): Rename the last argument to char_high_bits.
12214
122152008-02-01 Kenichi Handa <handa@m17n.org>
12216
12217 * xdisp.c (display_string): Fix for the case of zero width glyph.
12218
12219 * xfns.c (x_set_font): Change the error message of the case that
12220 x_new_fontset returns Qt.
12221
12222 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12223 (Finternal_set_lisp_face_attribute): Use signal_error for the
12224 error of invalid fontset.
12225
12226 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12227 fontset, return Qt.
12228
122292008-02-01 Dave Love <fx@gnu.org>
12230
12231 * unexelf.c (unexec): Make .got handling not SGI-specific.
12232
12233 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12234
12235 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12236
12237 * keyboard.c (read_key_sequence): Fix type error.
12238
12239 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12240 type error.
12241
12242 * fontset.c (fontset_add): Return Lisp_Object.
12243
122442008-02-01 Dave Love <fx@gnu.org>
12245
12246 * charset.h (charset_ordered_list_tick): Declare extern.
12247
122482008-02-01 Kenichi Handa <handa@m17n.org>
12249
12250 The following changes (and some of 2008-02-01 changes of mine) are
12251 for handling syntax, category, and case conversion for unibyte
12252 characters by converting them to multibyte on the fly. With these
12253 changes, we don't have to setup syntax and case tables for unibyte
12254 characters in each language environment.
12255
12256 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12257 multibyte if necessary.
12258
12259 * bytecode.c (Fbyte_code): Likewise.
12260
12261 * character.h (LEADING_CODE_LATIN_1_MIN)
12262 (LEADING_CODE_LATIN_1_MAX): New macros.
12263 (unibyte_to_multibyte_table): Extern it.
12264 (unibyte_char_to_multibyte): New macro.
12265 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12266 (CHAR_LEADING_CODE): New macro.
12267 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12268
12269 * character.c (unibyte_to_multibyte_table): New variable.
12270 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12271 (multibyte_char_to_unibyte): If C is an eight-bit character,
12272 convert it to the corresponding byte value.
12273
12274 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12275 not 1, signals an error. Update the elements of
12276 unibyte_to_multibyte_table.
12277 (init_charset_once): Initialize unibyte_to_multibyte_table.
12278 (syms_of_charset): Define the charset `iso-8859-1'.
12279
12280 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12281 as is without converting it to unibyte. In a unibyte buffer,
12282 convert C to multibyte before checking the syntax.
12283
12284 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12285
12286 * minibuf.c (Fminibuffer_complete_word): Use the macro
12287 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12288
12289 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12290
12291 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12292 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12293 that is zero, convert an eight-bit char to multibyte.
12294 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12295 non-emacs case.
12296 (PATFETCH): Convert an eight-bit char to multibyte.
12297 (HANDLE_UNIBYTE_RANGE): New macro.
12298 (regex_compile): Setup the compiled pattern for multibyte chars
12299 even if the given regex string is unibyte. Use PATFETCH_RAW
12300 instead of PATFETCH in many places. To handle `charset'
12301 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12302 only for ASCII chars.
12303 (analyse_first) <exactn>: Simplify because the compiled pattern
12304 is multibyte.
12305 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12306 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12307 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12308 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12309 multibyte always 1.
12310 (re_search_2): In emacs, set the locale variable multibyte to 1,
12311 otherwise to 0. New local variable target_multibyte. Check it
12312 to decide the multibyteness of STR1 and STR2. If
12313 target_multibyte is zero, convert unibyte chars to multibyte
12314 before translating and checking fastmap.
12315 (TARGET_CHAR_AND_LENGTH): New macro.
12316 (re_match_2_internal): In emacs, set the locale variable multibyte
12317 to 1, otherwise to 0. New local variable target_multibyte. Check
12318 it to decide the multibyteness of STR1 and STR2. Use
12319 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12320 <charset, charset_not>: If multibyte is nonzero, check fastmap
12321 only for ASCII chars. Call bcmp_translate with
12322 target_multibyte, not with multibyte.
12323 <begline>: Declare the local variable C as `unsigned'.
12324 (bcmp_translate): Change the last arg name to target_multibyte.
12325
12326 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12327 the regexp pattern and the matching target. Set cp->buf.multibyte
12328 to the multibyteness of the regexp pattern. Set
12329 cp->but.target_multibyte to the multibyteness of the matching target.
12330 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12331 FETCH_STRING_CHAR_ADVANCE.
12332 (Freplace_match): Convert unibyte chars to multibyte.
12333
12334 * syntax.c (char_quoted, back_comment, scan_words)
12335 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12336 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12337 unibyte chars to multibyte.
12338 (skip_chars): Delete the arg syntaxp, and move the code for
12339 handling syntaxes to skip_syntaxes. Change callers.
12340 Fix the case that the multibyteness of STRING and the current
12341 buffer doesn't match.
12342 (skip_syntaxes): New function.
12343 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12344 SINGLE_BYTE_CHAR_P.
12345
123462008-02-01 Kenichi Handa <handa@m17n.org>
12347
12348 * xfaces.c (QCfontset): New variable.
12349 (LFACE_FONTSET): New macro.
12350 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12351 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12352 (Finternal_set_lisp_face_attribute)
12353 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12354 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12355 check also LFACE_FONTSET_INDEX.
12356 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12357 attrs[LFACE_FONT_INDEX].
12358 (syms_of_xfaces): Intern and staticpro QCfontset.
12359
12360 * dispextern.h (enum lface_attribute_index): New member
12361 LFACE_FONTSET_INDEX.
12362
12363 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12364
123652008-02-01 Kenichi Handa <handa@m17n.org>
12366
12367 * coding.c (coding_set_destination): Fix coding->destination for
12368 the case converting a region.
12369 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12370 (encode_coding_object): Fix coding->dst_pos and
12371 coding->dst_pos_byte for the case converting a region.
12372
12373 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12374
12375 * character.h (BYTE8_STRING): New macro.
12376
12377 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12378
123792008-02-01 Kenichi Handa <handa@m17n.org>
12380
12381 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12382 characters by octal form.
12383
12384 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12385
12386 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12387 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12388 _fetch_multibyte_char_len.
12389 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12390
12391 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12392
12393 * casefiddle.c (casify_object): Simplify. Handle the case that
12394 the case conversion change the byte length.
12395 (casify_region): Likewise.
12396
12397 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12398
12399 * character.c (_fetch_multibyte_char_len): Delete this variable.
12400 (syms_of_character): Setup Vprintable_chars.
12401
12402 * editfns.c (Fchar_equal): Fix for the unibyte case.
12403 (Finsert_byte): New function.
12404 (syms_of_editfns): Defsubr it.
12405
12406 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12407 of direct code 0x3ffff.
12408
12409 * search.c (Freplace_match): Fix for the unibyte case.
12410
124112008-02-01 Kenichi Handa <handa@m17n.org>
12412
12413 * lread.c (safe_to_load_p): Fix the logic.
12414
12415 * syntax.c (scan_words): Don't treat characters belonging to
12416 different scripts as constituting a word.
12417
12418 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12419
12420 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12421
12422 * emacs.c (main): In the case of --unibyte, instead of aborting on
12423 finding non-empty buffer, make it unibyte.
12424
124252008-02-01 Kenichi Handa <handa@m17n.org>
12426
12427 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12428 to create a fontset.
12429
124302008-02-01 Dave Love <fx@gnu.org>
12431
12432 * character.c (Funibyte_char_to_multibyte): Doc fix.
12433
12434 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12435
124362008-02-01 Kenichi Handa <handa@m17n.org>
12437
12438 * fontset.c (fontset_add): Make the type `int'.
12439 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12440
12441 * character.c (unibyte_char_to_multibyte)
12442 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12443 charset_unibyte, not charset_primary.
12444
12445 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12446
12447 * charset.c (charset_unibyte): Rename from charset_primary.
12448 (Funibyte_charset): Rename from Fprimary_charset.
12449 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12450 (syms_of_charset): Adjust for the above changes.
12451
12452 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12453 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12454 it->multibyte_p is zero.
12455
12456 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12457 Delete extern.
12458
124592008-02-01 Kenichi Handa <handa@m17n.org>
12460
12461 * coding.c (Fdefine_coding_system_internal): Fix category setting
12462 for a coding system of type iso-2022.
12463
124642008-02-01 Kenichi Handa <handa@m17n.org>
12465
12466 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12467
124682008-02-01 Kenichi Handa <handa@m17n.org>
12469
12470 * syntax.c (Vnext_word_boundary_function_table): New variable.
12471 (next-word-boundary-function-table): Declare it as a Lisp variable
12472 in syms_of_syntax.
12473 (scan_words): Call functions in Vnext_word_boundary_function_table
12474 if any.
12475
12476 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12477
12478 * fontset.c (fs_load_font): If fontp->charset is not negative,
12479 return fontp without setting its members.
12480
124812008-02-01 Dave Love <fx@gnu.org>
12482
12483 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12484
12485 * m/sparc.h (HAVE_ALLOCA): Delete.
12486
12487 * s/irix6-5.h: Don't include strings.h.
12488 (bcopy, bzero, bcmp): Don't undef.
12489
12490 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12491
12492 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12493 (TIOCSIGSEND): Don't test IRIX6.
12494 (bcopy, bzero, bcmp): Define conditionally.
12495
124962008-02-01 Kenichi Handa <handa@m17n.org>
12497
12498 * buffer.c (Qas, Qmake, Qto): New variables.
12499 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12500 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12501
12502 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12503 we are inserting a process output into a multibyte buffer.
12504
12505 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12506 multibyte_char_to_unibyte.
12507
12508 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12509 by the primary charset, make it eight-bit char.
12510 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12511
12512 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12513 (charset_8_bit__control, charset_8_bit_graphic)
12514 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12515 (define_charset_internal): New function.
12516 (syms_of_charset): Call define_charset_internal for pre-defined
12517 charsets.
12518
12519 * charset.h (charset_8_bit): Extern it.
12520
12521 * coding.c (make_conversion_work_buffer): Adjust for the change
12522 of Fset_buffer_multibyte.
12523 (encode_coding_raw_text): Increment p0 in the loop.
12524
12525 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12526
12527 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12528 for the change of Fset_buffer_multibyte.
12529
12530 * fns.c (Fstring_to_multibyte): New function.
12531 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12532
125332008-02-01 Dave Love <fx@gnu.org>
12534
12535 * xfns.c (x_put_x_image): Declare args.
12536
12537 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12538 (try_font_list): Declare an arg.
12539
12540 * xdisp.c (message2_nolog, set_message): Declare an arg.
12541
12542 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12543
12544 * syntax.c (scan_sexps_forward): Declare an arg.
12545
12546 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12547 Declare an arg.
12548
12549 * lisp.h (Fnew_fontset): Declare.
12550
12551 * keymap.c (push_key_description): Call CHARACTERP correctly.
12552
12553 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12554 (face_for_char): Delete unused vars.
12555 (Fset_fontset_font): Doc fix. Delete unused vars.
12556
12557 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12558
12559 * composite.c (update_compositions): Declare arg.
12560
12561 * cm.c (calccost, cmgoto): Declare args.
12562
12563 * charset.c: Remove `emacs' conditional. Doc fixes.
12564 (map_char_table_for_charset): Declare.
12565
12566 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12567
12568 * ccl.c: Remove `emacs' conditional.
12569
125702008-02-01 Kenichi Handa <handa@m17n.org>
12571
12572 The following changes are to allow specifying multiple font
12573 patterns for a character range (specified by script or charset).
12574
12575 * Makefile.in (abbrev.o): Depend on syntax.h.
12576 (xfaces.o): Depend on charset.h.
12577
12578 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12579 SINGLE_BYTE_CHAR_P.
12580
12581 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12582
12583 * character.h (Vchar_script_table): Extern it.
12584
12585 * character.c (Vscript_alist): Delete.
12586 (Vchar_script_table, Qchar_script_table): New variable.
12587 (syms_of_character): Declare Vchar_script_table as a lisp variable
12588 and initialize it.
12589
12590 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12591 have property char-table-extra-slots, make no extra slot.
12592
12593 * dispextern.h (struct face): Delete member `charset'.
12594 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12595 SINGLE_BYTE_CHAR_P.
12596 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12597 Add prototypes.
12598 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12599 (generate_ascii_font_name): Rename from generate_ascii_font.
12600
12601 * fontset.h (get_font_repertory_func): New prototype.
12602 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12603 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12604
12605 * fontset.c (Qprepend, Qappend): New variables.
12606 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12607 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12608 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12609 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12610 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12611 (load_font_get_repertory): New functions.
12612 (fontset_set): Delete.
12613 (fontset_face): New arg FACE. Return face ID, not face.
12614 Complete re-write to handle new fontset structure. Change caller.
12615 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12616 (face_for_char): Don't call lookup_face.
12617 (make_fontset_for_ascii_face): New arg FACE.
12618 (fs_load_font): New arg CHARSET_ID. Don't check
12619 Vfont_encoding_alist here.
12620 (find_font_encoding): New function.
12621 (list_fontsets): Use STRINGP, not ! NILP.
12622 (accumulate_script_ranges): New function.
12623 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12624 re-written to handle new fontset structure.
12625 (Ffontset_font): Return a copy of element.
12626 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12627 docstring of font-encoding-alist.
12628
12629 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12630 (Fset_fotset_font): Fix arguments to 5.
12631
12632 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12633
12634 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12635 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12636 (highlight_trailing_whitespace): Adjust for the change of
12637 lookup_named_face.
12638
12639 * xfaces.c: Include charset.h.
12640 (load_face_font): Delete argument C. Change caller.
12641 (generate_ascii_font_name): Rename from generate_ascii_font.
12642 (font_name_registry): New function.
12643 (cache_face): Store ascii faces before non-ascii faces in buckets.
12644 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12645 Lookup only ascii faces.
12646 (lookup_non_ascii_face): New function.
12647 (lookup_named_face): Delete argument C. Change caller.
12648 (lookup_derived_face): Delete argument C. Change caller.
12649 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12650 a string, just call font_list with it.
12651 (choose_face_font): Delete arguments FACE and C. New arg
12652 FONT_SPEC. Change caller.
12653 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12654 Change caller.
12655 (realize_non_ascii_face): New function.
12656 (realize_x_face): Call load_face_font here.
12657 (realize_tty_face): Delete argument C. Change caller.
12658 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12659 get a face ID.
12660 (dump_realized_face): Don't print charset of FACE.
12661
12662 * xfns.c (x_set_font): Always call x_new_fontset and
12663 store_frame_parameter.
12664 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12665 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12666
12667 * xterm.h (x_get_font_repertory): Extern it.
12668
12669 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12670 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12671 it->multibyte_p is zero.
12672 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12673 (x_new_fontset): If FONTSETNAME doesn't match any existing
12674 fontsets, create a new one.
12675 (x_get_font_repertory): New function.
12676
126772008-02-01 Kenichi Handa <handa@m17n.org>
12678
12679 * coding.c (Ffind_coding_systems_region_internal): Detect an
12680 ASCII only string correctly.
12681
12682 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12683 version is 0.
12684
126852008-02-01 Kenichi Handa <handa@m17n.org>
12686
12687 * lread.c: Include "coding.h".
12688 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12689 (load_each_byte, unread_char): New variables.
12690 (readchar_backlog): Delete.
12691 (readchar): Return a character unless load_each_byte is nonzero.
12692 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12693 cons. If unread_char is not -1, simply return it.
12694 (unreadchar): Handle the case that readcharfun is
12695 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12696 (read_multibyte): Delete.
12697 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12698 (read_emacs_mule_char): New functions.
12699 (Fload): Even if the file doesn't have the extension ".elc", if
12700 safe_to_load_p returns a positive version number, assume that the
12701 file contains bytecompiled code. If the version is less than 22,
12702 load the file while decoding multibyte sequences by emacs-mule.
12703 (readevalloop): Don't use readchar_backlog.
12704 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12705 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12706 (read_escape): Delete the arg BYTEREP.
12707 (read1): Set load_each_byte to 1 temporarily while handling
12708 #@NUMBER. Don't call read_multibyte.
12709 (read_vector): Call Fread with a cons. If readcharfun is
12710 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12711 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12712 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12713 and Qload_force_doc_strings.
12714
127152008-02-01 Kenichi Handa <handa@m17n.org>
12716
12717 * xdisp.c (face_before_or_after_it_pos): Call
12718 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12719
127202008-02-01 Kenichi Handa <handa@m17n.org>
12721
12722 * character.h (TRAILING_CODE_P): New macro.
12723 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
12724 (string_char_with_unification): Fix prototype.
12725 (Vscript_alist): Extern it.
12726
12727 * character.c (Vscript_alist): New variable.
12728 (string_char_with_unification, str_as_unibyte)
12729 (string_escape_byte8): Add `const' to local variables.
12730 (syms_of_character): Declare script-alist as a Lisp variable.
12731
12732 * charset.h (Vcharset_ordered_list): Extern it.
12733 (charset_ordered_list_tick): Extern it.
12734 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
12735 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
12736 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
12737 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
12738 (Funify_charset): Adjust for the change of Funify_charset.
12739
12740 * charset.c (charset_ordered_list_tick): New variable.
12741 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
12742 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
12743 deunify intead of unify a charset.
12744 (string_xstring_p): Add `const' to local variables.
12745 (find_charsets_in_text): Add `const' to arguments and local variables.
12746 (encode_char): Adjust for the change of Funify_charset. Fix
12747 detecting of invalid code.
12748 (Fset_charset_priority): Increment charset_ordered_list_tick.
12749 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
12750 and TO_CODE.
12751
12752 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
12753 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
12754 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
12755 (decode_coding_ccl, consume_chars)
12756 (Ffind_coding_systems_region_internal)
12757 (Fcheck_coding_systems_region): Add `const' to local variables.
12758
12759 * print.c (print_object): Use octal form for printing the
12760 contents of a bool vector.
12761
127622008-02-01 Dave Love <fx@gnu.org>
12763
12764 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
12765 <version == 20>: Refuse to load.
12766
127672008-02-01 Dave Love <fx@gnu.org>
12768
12769 * fns.c: Move coding.h.
12770 (Qcodeset, Qdays, Qmonths): New.
12771 (concat): Use CHARACTERP instead of INTEGERP.
12772 (Flocale_codeset): Delete.
12773 (Flanginfo): New function.
12774 (syms_of_fns): Change accordingly.
12775
12776 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
12777
127782008-02-01 Dave Love <fx@gnu.org>
12779
12780 * casetab.c (init_casetab_once, init_casetab_once): Fix
12781 CHAR_TABLE_SET call.
12782
12783 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
12784
12785 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
12786
12787 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
12788 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
12789 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
12790
12791 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
12792
12793 * coding.c (ENCODE_DESIGNATION, decode_eol)
12794 (make_conversion_work_buffer, code_conversion_restore)
12795 (Fdefine_coding_system_internal): Convert Lisp types.
12796 (code_conversion_restore): Use EQ, not ==.
12797 (Fencode_coding_string): Fix code_convert_string call.
12798
12799 * coding.h (code_convert_region): Fix prototype.
12800
12801 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
12802
12803 * fontset.c (fontset_ref, fontset_set, fs_load_font)
12804 (Ffontset_info): Convert Lisp types.
12805
12806 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
12807
12808 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
12809
12810 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
12811
12812 * chartab.c: Include "...h", not <...h> in some cases.
12813
12814 * callproc.c (Fcall_process): Remove unused variables.
12815
128162008-02-01 Dave Love <fx@gnu.org>
12817
12818 * coding.c (Fset_coding_system_priority): Allow null arg list.
12819
128202008-02-01 Dave Love <fx@gnu.org>
12821
12822 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
12823 (Fself_insert_and_exit): Use CHARACTERP.
12824
12825 * callproc.c (Fcall_process): Remove unused vars.
12826
12827 * xterm.c (XTread_socket): Add extra dead keysyms.
12828
12829 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
12830
12831 * dispextern.h: Remove prototypes for redraw_frame,
12832 redraw_garbaged_frames.
12833
12834 * cmds.c (Fself_insert_command): Use CHARACTERP.
12835
12836 * chartab.c (make_sub_char_table): Remove unused var.
12837 (Fset_char_table_default, Fmap_char_table): Doc fix.
12838
12839 * keymap.c (access_keymap): Remove generic char code.
12840 (push_key_description): Use CHARACTERP.
12841
128422008-02-01 Dave Love <fx@gnu.org>
12843
12844 * charset.c: Doc fixes.
12845 (Funify_charset): Extra checking.
12846
128472008-02-01 Dave Love <fx@gnu.org>
12848
12849 * lread.c: Remove some unused variables.
12850 (safe_to_load_p): If safe, return the magic number version byte.
12851 (Fload): Maybe use load-with-code-conversion.
12852
128532008-02-01 Kenichi Handa <handa@m17n.org>
12854
12855 * category.c (Fmodify_category_entry): Don't modify the contents
12856 of category_set for characters out of the range. Avoid
12857 unnecessary modification.
12858
12859 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
12860 Vchar_unify_table. The default value of the table is now nil.
12861
12862 * character.c (syms_of_character): Setup Vchar_width_table for
12863 eight-bit-control and raw-byte chars.
12864
12865 * charset.h (enum define_charset_arg_index): Delete
12866 charset_arg_parents and add charset_arg_subset and
12867 charset_arg_superset.
12868 (enum charset_attr_index): Delete charset_parents and add
12869 charset_subset and charset_superset.
12870 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
12871 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
12872 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
12873 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
12874 (CHARSET_SUPERSET): New macros.
12875 (charset_work): Extern it.
12876 (ENCODE_CHAR): Use charset_work.
12877 (CHAR_CHARSET_P): Adjust for the change of encoder format.
12878 (map_charset_chars): Extern it.
12879
12880 * charset.c (load_charset_map): Set the default value of encoder
12881 and deunifier char-tables to nil.
12882 (map_charset_chars): Change argument. Change callers. Use
12883 map_char_table_for_charset instead of map_char_table.
12884 (Fmap_charset_chars): New optional args from_code and to_code.
12885 (Fdefine_charset_internal): Adjust for the change of
12886 `define-charset' (:parents -> :subset or :superset).
12887 (charset_work): New variable.
12888 (encode_char, syms_of_charset): Adjust for the change of
12889 Fdefine_charset_internal.
12890 (Ffind_charset_string): Setup the vector `charsets' correctly.
12891
12892 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
12893 the previous change.
12894 (char_table_ref_and_range): Adjust for the above change.
12895 (map_sub_char_table_for_charset): New function.
12896 (map_char_table_for_charset): New function.
12897
12898 * keymap.c (describe_vector): Handle a char-table directly here.
12899 (describe_char_table): Delete.
12900
12901 * lisp.h (map_charset_chars): Delete.
12902
129032008-02-01 Dave Love <fx@gnu.org>
12904
12905 * fns.c (count_combining): Comment out (unused).
12906 (Flocale_codeset): New.
12907 (syms_of_fns): Defsubr it.
12908
12909 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
12910 (size_t): Remove.
12911
129122008-02-01 Dave Love <fx@gnu.org>
12913
12914 * Makefile.in (chartab.o): Depend on charset.h.
12915
129162008-02-01 Kenichi Handa <handa@m17n.org>
12917
12918 * character.c (syms_of_character): Set the default value of
12919 Vprintable_chars to Qnil.
12920
129212008-02-01 Dave Love <fx@gnu.org>
12922
12923 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
12924
129252008-02-01 Kenichi Handa <handa@m17n.org>
12926
12927 * charset.c (load_charset_map): Handle the case that from < to
12928 correctly.
12929
12930 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
12931 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
12932 Pay attention to raw-8-bit chars.
12933
129342008-02-01 Kenichi Handa <handa@m17n.org>
12935
12936 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
12937 It is not bytecompiled now.
12938
12939 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
12940 (charset_jisx0208): New variables.
12941 (Fdefine_charset_internal): Setup them if appropriate.
12942 (init_charset_once): Initialize them to -1.
12943
12944 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
12945 (charset_jisx0208): Extern them.
12946
12947 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
12948 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
12949 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
12950 (setup_iso_safe_charsets): Fix arguments to Fassq.
12951 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
12952 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
12953 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
12954 (encode_coding_iso_2022): Change the 1st arg to
12955 ENCODE_ISO_CHARACTER to a variable.
12956
129572008-02-01 Kenichi Handa <handa@m17n.org>
12958
12959 * charset.h (enum define_charset_arg_index): New enums
12960 charset_arg_min_code and charset_arg_max_code.
12961 (struct charset): New member char_index_offset.
12962
12963 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
12964 Take charset->char_index_offset into account.
12965 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
12966 args[charset_arg_max_code]. Setup charset.char_index_offset.
12967 (syms_of_charset): Fix args to Fdefine_charset_internal.
12968
129692008-02-01 Dave Love <fx@gnu.org>
12970
12971 * coding.c (decode_coding_utf_8): Reject overlong sequences.
12972
129732008-02-01 Dave Love <fx@gnu.org>
12974
12975 * coding.c: Doc fixes.
12976 (Fcoding_system_aliases): Fix return value.
12977 (Qmac): Remove (duplicated) definition.
12978
129792008-02-01 Dave Love <fx@gnu.org>
12980
12981 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
12982 functions.
12983
12984 * character.c (Fstring): Doc fix.
12985
12986 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
12987
12988 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
12989 ids.
12990 (font-encoding-alist): Doc fix.
12991
129922008-02-01 Dave Love <fx@gnu.org>
12993
12994 * term.c (costs_set): Declare static, non-initialized for pcc.
12995 (encode_terminal_code): Remove unused var.
12996
12997 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12998 for K&R.
12999
13000 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13001
13002 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13003 (suffixes): Move out of make_subsidiaries for K&R.
13004
13005 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13006
13007 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13008
130092008-02-01 Dave Love <fx@gnu.org>
13010
13011 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13012
13013 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13014
130152008-02-01 Yong Lu <lyongu@asia-infonet.com>
13016
13017 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13018
13019 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13020
130212008-02-01 Kenichi Handa <handa@m17n.org>
13022
13023 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13024 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13025
130262008-02-01 Kenichi Handa <handa@m17n.org>
13027
13028 * coding.c (decode_coding_charset): Adjust for the change of
13029 Fdefine_coding_system_internal.
13030 (Fdefine_coding_system_internal): For a coding system of
13031 `charset' type, store a list of charset IDs in
13032 `charset_attr_charset_valids' element of coding attributes.
13033
130342008-02-01 Kenichi Handa <handa@m17n.org>
13035
13036 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13037 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13038 caller. Handle 2-byte and 3-byte charsets correctly.
13039 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13040 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13041 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13042 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13043 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13044 sequence.
13045 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13046 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13047 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13048 and alt&rule composition.
13049 (decode_coding_iso_2022): Handle composition correctly.
13050 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13051
13052 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13053 re-defining a charset. If the charset has :emacs-mule-id, setup
13054 emacs_mule_bytes.
13055 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13056
130572008-02-01 Kenichi Handa <handa@m17n.org>
13058
13059 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13060 (encode_coding_big5, encode_coding_charset): If coding requires safe
13061 encoding, produce a character specified by
13062 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13063
130642008-02-01 Dave Love <fx@gnu.org>
13065
13066 * xterm.c (XSetIMValues): Declare.
13067
13068 * process.c: Conditionally include sys/wait.h, pty.h.
13069
13070 * print.c (print_object): Fix print format for 64-bit systems.
13071
13072 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13073
13074 * buffer.c (emacs_strerror): Declare.
13075
13076 * fontset.c (Fclear_face_cache): Declare.
13077 (accumulate_font_info): Comment-out (unused).
13078 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13079 variables.
13080
13081 * character.h (string_escape_byte8): Declare.
13082
13083 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13084 unused vars.
13085 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13086 (Fmap_charset_chars): Doc fix.
13087
13088 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13089 (Fset_coding_system_priority, Fset_coding_system_priority)
13090 (Fdefine_coding_system_internal): Doc fix.
13091
130922008-02-01 Dave Love <fx@gnu.org>
13093
13094 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13095
130962008-02-01 Kenichi Handa <handa@m17n.org>
13097
13098 * character.c (string_escape_byte8): Make multibyte string with
13099 correct size.
13100
13101 * charset.c (Fmake_char): Delete unnecessary code.
13102
131032008-02-01 Kenichi Handa <handa@m17n.org>
13104
13105 * xfns.c (x_encode_text): Allocate coding.destination here, and
13106 call encode_coding_object with dst_object Qnil.
13107
13108 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13109 multibyte form correctly.
13110
13111 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13112 against Vfont_encoding_alist.
13113
13114 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13115 handling of charset list.
13116 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13117 (decode_coding_object): Move point to coding->dst_pos before
13118 calling post-read-conversion function.
13119 (encode_coding_object): Give correct arguments to
13120 pre-write-conversion. Ignore the return value of
13121 pre-write-conversion function. Pay attention to the case that
13122 pre-write-conversion changes the current buffer. If dst_object is
13123 Qt, even if coding->src_bytes is zero, allocate at least one byte
13124 to coding->destination.
13125
13126 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13127
13128 * charset.c (Fmake_char): Make it more backward compatible.
13129 (Fmap_charset_chars): Fix docstring.
13130
131312008-02-01 Dave Love <fx@gnu.org>
13132
13133 * coding.c: Doc fixes.
13134 (Fdefine_coding_system_alias): Use names, not symbols, in
13135 coding-system-alist.
13136
131372008-02-01 Kenichi Handa <handa@m17n.org>
13138
13139 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13140 of calling free_realized_face.
13141
131422008-02-01 Yong Lu <lyongu@asia-infonet.com>
13143
13144 * charset.c (read_hex): Don't treat SPC as a comment starter.
13145 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13146 (Fdecode_char): Fix typo.
13147
131482008-02-01 Kenichi Handa <handa@m17n.org>
13149
13150 * charset.h (struct charset): New member `code_space_mask'.
13151
13152 * coding.c (coding_set_source): Delete the local variable beg_byte.
13153 (encode_coding_charset, Fdefine_coding_system_internal):
13154 Delete the local variable charset.
13155 (Fdefine_coding_system_internal): Setup
13156 attrs[coding_attr_charset_valids] correctly.
13157
13158 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13159 member to check if CODE is valid or not.
13160 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13161 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13162 is within the range of charset->min_code and carset->max_code.
13163
131642008-02-01 Dave Love <fx@gnu.org>
13165
13166 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13167
13168 * dispextern.h (generate_ascii_font): Fix return type.
13169
13170 * xfaces.c (generate_ascii_font): Fix arg declaration.
13171
13172 * coding.c (coding_inherit_eol_type)
13173 (Fset_terminal_coding_system_internal)
13174 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13175
131762008-02-01 Kenichi Handa <handa@m17n.org>
13177
13178 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13179 multiple charsets correctly.
13180
131812008-02-01 Kenichi Handa <handa@m17n.org>
13182
13183 * search.c (boyer_moore): Fix handling of multibyte character
13184 translation.
13185
13186 * xdisp.c (display_mode_element): When the variable `elt' is
13187 changed, update `this' and `lisp_string'.
13188
131892008-02-01 Kenichi Handa <handa@m17n.org>
13190
13191 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13192
13193 * callproc.c (Fcall_process): Be sure to give the current buffer
13194 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13195
13196 * charset.c (struct charset_map_entries): New struct.
13197 (load_charset_map): Rename from parse_charset_map. New args
13198 entries and n_entries. Change caller.
13199 (load_charset_map_from_file): Rename from load_charset_map.
13200 Change caller. New arg control_flag. Call load_charset_map at
13201 the tail.
13202 (load_charset_map_from_vector): New function.
13203 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13204 (encode_char): If the charset is compact, change a character index
13205 to a code point.
13206
13207 * coding.c (coding_alloc_by_making_gap): Check the case that the
13208 source and destination are the same correctly.
13209 (decode_coding_raw_text): Set coding->consumed_char and
13210 coding->consumed to 0.
13211 (produce_chars): If coding->chars_at_source is nonzero, update
13212 coding->consumed_char and coding->consumed before calling
13213 alloc_destination.
13214 (Fdefine_coding_system_alias): Register ALIAS in
13215 Vcoding_system_alist.
13216 (syms_of_coding): Define `no-conversion' coding system at the tail.
13217
13218 * fileio.c (Finsert_file_contents): Set coding_system instead of
13219 val. If the current buffer is multibyte, always call
13220 decode_coding_gap.
13221
13222 * xfaces.c (try_font_list): Give higher priority to fontset's
13223 family than face's family.
13224
132252008-02-01 Kenichi Handa <handa@m17n.org>
13226
13227 * callproc.c (Fcall_process): Be sure to give the current buffer
13228 to decode_coding_c_string.
13229
13230 * xfaces.c (try_font_list): Give a family specified in a fontset
13231 higher priority than a family specified in a face.
13232
132332008-02-01 Kenichi Handa <handa@m17n.org>
13234
13235 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13236 Fix arguments to insert_from_buffer.
13237
13238 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13239
132402008-02-01 Kenichi Handa <handa@m17n.org>
13241
13242 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13243 (decode_coding_gap): Set coding->dst_multibyte correctly.
13244
132452008-02-01 Kenichi Handa <handa@m17n.org>
13246
13247 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13248 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13249 (encode_coding_utf_16): Substitute coding->default_char for
13250 non-Unicode characters.
13251 (decode_coding): Don't call record_insert here.
13252 (setup_coding_system): Initialize `surrogate' of
13253 coding->spec.utf_16 to 0.
13254 (EMIT_ONE_BYTE): Fix for multibyte case.
13255
13256 * insdel.c (insert_from_gap): Call record_insert.
13257
132582008-02-01 Kenichi Handa <handa@m17n.org>
13259
13260 * casefiddle.c (casify_region): Fix multibyte case.
13261
13262 * character.c (c_string_width): Add return type `int'.
13263 (char_string_with_unification): Delete arg ADVANCED.
13264
13265 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13266 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13267 (CHAR_STRING_ADVANCE): Make it do-while statement.
13268
13269 * chartab.c (sub_char_table_set_range): Optimize for the case
13270 DEPTH == 3. Add workaround code for a GCC optimization bug.
13271
13272 * charset.c (parse_charset_map): Remove an unused variable.
13273
13274 * coding.c: Delete unused variables.
13275
13276 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13277 earlier. If inserted is zero and the coding system doesn't
13278 require flushing, don't call decode_coding_gap.
13279
13280 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13281
132822008-02-01 Kenichi Handa <handa@m17n.org>
13283
13284 The following changes are for using Unicode as an internal
13285 character model, and use UTF-8 format for buffer/string
13286 representation.
13287
13288 * .gdbinit (xchartable): Adjust for the change of char table structure.
13289 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13290
13291 * Makefile.in (obj): Add character.o and chartab.o.
13292 (lisp, shortlisp): Remove utf-8.elc.
13293 (*.o): For many files, change dependency on charset.h to
13294 character.h, and add dependency on character.h.
13295 (character.o, chartab.o): New targets.
13296
13297 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13298 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13299 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13300 of "charset.h".
13301
13302 * dired.c, filelock.c: Include "character.h".
13303
13304 * alloc.c: Include "character.h" instead of "charset.h".
13305 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13306 (syms_of_alloc): Remove defsubr for Smake_char_table.
13307
13308 * buffer.c: Include "character.h" instead of "charset.h", don't
13309 include "coding.h".
13310 (Fset_buffer_multibyte): Adjust for UTF-8.
13311
13312 * buffer.h: EXFUN Fbuffer_live_p.
13313
13314 * callproc.c: Include "character.h" instead of "charset.h".
13315 (Fcall_process): Big change for the new code-conversion APIs.
13316
13317 * casetab.c: Include "character.h" instead of "charset.h".
13318 (set_canon, set_identity, shuffle): Adjust for the new
13319 map_char_table spec.
13320 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13321 accessing the char table structure.
13322
13323 * chartab.c: New file that implements char table.
13324
13325 * category.c: Include "character.h".
13326 (copy_category_entry): New function.
13327 (copy_category_table): Call map_char_table and copy_category_entry.
13328 (Fmake_category_table): Initialize all top-level slots.
13329 (char_category_set): New function.
13330 (modify_lower_category_set): Delete.
13331 (Fmodify_category_entry): Call char_table_ref_and_range.
13332
13333 * category.h (CATEGORY_SET): Just call char_category_set.
13334
13335 * ccl.c: Include "character.h".
13336 (Qccl, Qcclp): New variables.
13337 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13338 it's less than 256.
13339 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13340 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13341 and DST type.
13342 (ccl_driver): Change types of argument, adjust code accordingly.
13343 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13344 ccl_driver.
13345 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13346
13347 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13348 New members src_multibyte, dst_multibyte, consumed, and produced.
13349 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13350 (CODING_SPEC_CCL_PROGRAM): New macro.
13351 (ccl_driver): Update prototype.
13352 (Qccl, Qcclp, Fccl_program_p): Extern them.
13353 (CHECK_CCL_PROGRAM): New macro.
13354
13355 * character.c, character.h, chartab.c: New files.
13356
13357 * charset.c: Mostly re-written. Move character and multibyte sequence
13358 handling codes to character.c.
13359
13360 * charset.h: Mostly re-written. Move character and multibyte sequence
13361 handling codes to character.h.
13362
13363 * coding.c, coding.h: Mostly re-written.
13364
13365 * composite.c: Include "character.h" instead of "charset.h".
13366 (CHAR_WIDTH): Move to character.h.
13367 (HASH_KEY, HASH_VALUE): Delete.
13368
13369 * composite.h (enum composition_method): Change order of enumeration
13370 symbols.
13371
13372 * data.c: Include "character.h" instead of "charset.h".
13373 (Faref): Call CHAR_TABLE_REF for a char table.
13374 (Faset): Call CHAR_TABLE_SET for a char table.
13375
13376 * dispextern.h (free_realized_face, check_face_attribytes)
13377 (generate_ascii_font): Extern them.
13378 (free_realized_multibyte_face): Delete extern.
13379
13380 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13381 table structure.
13382
13383 * editfns.c: Include "character.h" instead of "charset.h".
13384 (Fchar_to_string): Always call CHAR_STRING.
13385
13386 * emacs.c (main): Call init_charset_once, init_charset,
13387 syms_of_chartab, and syms_of_character.
13388
13389 * fileio.c: Include "character.h" instead of "charset.h".
13390 (Finsert_file_contents): Big change for the new code-conversion API.
13391 (choose_write_coding_system, Fwrite_region): Likewise.
13392 (build_annotations_2): Delete.
13393 (e_write): Big change for the new code-conversion API.
13394
13395 * fns.c: Include "character.h" instead of "charset.h".
13396 (copy_sub_char_table): Move to chartab.c.
13397 (Fcopy_sequence): Call copy_char_table for a char table.
13398 (concat): Delete codes calling count_multibyte.
13399 (string_char_to_byte, string_byte_to_char): Adjust for the new
13400 multibyte form.
13401 (internal_equal): Adjust for the change of char table structure.
13402 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13403 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13404 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13405 (char_table_translate, optimize_sub_char_table)
13406 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13407 chartab.c.
13408 (char_table_ref_and_index): Delete.
13409 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13410 (Fmd5): Call preferred_coding_system instead of accessing
13411 Vcoding_category_list. Adjust for the new code-conversion API.
13412 (syms_of_fns): Move defsubr for char table related functions to
13413 chartab.c.
13414
13415 * fontset.c: Mostly re-written.
13416
13417 * fontset.h (struct font_info): Change type of the member encoding_type.
13418 (enum FONT_SPEC_INDEX): New enum.
13419 (fontset_font_pattern, fs_load_font): Update prototype.
13420 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13421
13422 * indent.c: Include "character.h" instead of "charset.h".
13423 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13424
13425 * insdel.c: Include "character.h" instead of "charset.h".
13426 (copy_text): Don't refer to Vnonascii_translation_table.
13427 (insert_from_gap): New function.
13428
13429 * keyboard.c: Include "character.h" instead of "charset.h".
13430 (command_loop_1): Never call direct_output_forward_char before
13431 a non-ASCII character.
13432 (read_char): If Vkeyboard_translate_table is a char table, always
13433 translate a character.
13434
13435 * keymap.c: Include "character.h".
13436 (store_in_keymap): Handle the case that IDX is a cons.
13437 (Fdefine_key): Handle the case that KEY is a cons and the car part
13438 is also a cons (range).
13439 (push_key_description): Adjust for the new character code.
13440 (describe_vector): Call describe_char_table for a char table.
13441 (describe_char_table): New function.
13442
13443 * keymap.h (describe_char_table): Extern it.
13444
13445 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13446 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13447 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13448 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13449 Delete.
13450 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13451 structure.
13452 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13453 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13454 (CHARTAB_SIZE_BITS_3): New macros.
13455 (chartab_size): Extern it.
13456 (struct Lisp_Char_Table): Re-design.
13457 (struct Lisp_Sub_Char_Table): New structure.
13458 (HASH_KEY, HASH_VALUE): Move from fns.c.
13459 (CHARACTERBITS): Define as 22.
13460 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13461 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13462 (GC_SUB_CHAR_TABLE_P): New macro.
13463 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13464 (code_convert_string_norecord): Deleted extern.
13465 (init_character_once, syms_of_character, init_charset)
13466 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13467
13468 * lread.c: Include "character.h".
13469 (read_multibyte): New arg NBYTES.
13470 (read_escape): Change the meaning of returned *BYTEREP.
13471 (to_multibyte): Delete.
13472 (read1): Adjust the handling of char table and string.
13473
13474 * print.c: Include "character.h" instead of "charset.h".
13475 (print_string): Convert 8-bit raw bytes to octal form by
13476 string_escape_byte8.
13477 (print_object): Adjust for the new multibyte form. Print 8-bit
13478 raw bytes always in octal form. Handle sub char table correctly.
13479
13480 * process.c: Include "character.h" instead of "charset.h".
13481 (read_process_output, send_process): Adjust for the new
13482 code-conversion API.
13483
13484 * puresize.h (BASE_PURESIZE): Increase.
13485
13486 * regex.c: Include "character.h" instead of "charset.h".
13487 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13488 (regex_compile): Accept a range whose starting and ending
13489 character have different leading bytes.
13490 (analyse_first): Adjust for the above change.
13491
13492 * search.c: Include "character.h" instead of "charset.h".
13493 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13494 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13495
13496 * syntax.c: Include "character.h" instead of "charset.h".
13497 (syntax_parent_lookup): Delete.
13498 (Fmodify_syntax_entry): Accept a cons as CHAR.
13499 (skip_chars): Adjust for the new multibyte form.
13500 (init_syntax_once): Call char_table_set_range instead of directly
13501 accessing the structure of a char table.
13502
13503 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13504 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13505 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13506 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13507
13508 * term.c: Include "buffer.h" and "character.h".
13509 (encode_terminal_code, write_glyphs): Adjust for the new
13510 code-conversion API.
13511 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13512
13513 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13514
13515 * xdisp.c: Include "character.h".
13516 (get_next_display_element): Adjust for the new multibyte form.
13517 (disp_char_vector): Adjust for the new char table structure.
13518 (decode_mode_spec_coding): Adjust for the new structure of
13519 coding system.
13520 (decode_mode_spec): Adjust for the new code-conversion API.
13521
13522 * xfaces.c: Include "character.h" instead of "charset.h".
13523 (load_face_font): Adjust for the change of choose_face_font and
13524 FS_LOAD_FONT.
13525 (generate_ascii_font): New function.
13526 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13527 (set_font_frame_param): Adjust for the change of choose_face_font.
13528 (free_realized_face): Make it public.
13529 (free_realized_faces_for_fontset): Rename from
13530 free_realized_multibyte_face. Free also faces realized for ASCII.
13531 (choose_face_font): Change arguments. Adjust for the change of
13532 fontset_font_pattern and FS_LOAD_FONT.
13533
13534 * xfns.c: Include "character.h".
13535 (x_encode_text): Adjust for the new code-conversion API.
13536
13537 * xselect.c: Don't include "charset.h".
13538 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13539
13540 * xterm.c: Include "character.h".
13541 (x_encode_char): New argument CHARSET. Change caller.
13542 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13543 Call ENCODE_CHAR instead of SPLIT_CHAR.
13544 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13545 CHAR_WIDTH instead of CHARSET_WIDTH.
13546 (XTread_socket): Adjust for the new code-conversion API.
13547 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13548 (x_load_font): Adjust for the change of struct font.
13549
135502008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13551
13552 * xfaces.c (face_at_buffer_position): Remove unused vars.
13553
135542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13555
13556 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13557 Fix overflow checking.
13558
135592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13560
13561 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13562 Cancel previous change.
13563
135642008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13565
13566 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13567 ccl->eight_bit_control. Fix check for buffer overflow.
13568 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13569 (ccl_driver): Initialize extra_bytes to 0.
13570
135712008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13572
13573 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13574 return it ORed with ctrl_modifier.
13575
135762008-01-29 Miles Bader <miles@gnu.org>
13577
13578 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13579
135802008-01-28 Jason Rumney <jasonr@gnu.org>
13581
13582 * w32.c (stat): Don't double check for networked drive.
13583
135842008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13585
13586 * window.c (run_window_configuration_change_hook): New function.
13587 Code extracted from set_window_buffer. Set the selected frame.
13588 (set_window_buffer): Use it.
13589 * window.h (run_window_configuration_change_hook): Declare.
13590 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13591
13592 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13593
135942008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13595
13596 * Makefile.in: Remove references to unused macros.
13597
135982008-01-26 Eli Zaretskii <eliz@gnu.org>
13599
13600 * w32.c (g_b_init_get_sid_sub_authority)
13601 (g_b_init_get_sid_sub_authority_count): New static variables.
13602 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13603 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13604 (init_user_info): Use them to retrieve uid and gid.
13605 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13606 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13607 st_uid and st_gid of the file.
13608
136092008-01-26 Jason Rumney <jasonr@gnu.org>
13610
13611 * w32.c (logon_network_drive): New function.
13612 (stat): Use it.
13613
136142008-01-26 Chong Yidong <cyd@stupidchicken.com>
13615
13616 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13617 invisible text covered with an ellipsis.
13618
136192008-01-25 Richard Stallman <rms@gnu.org>
13620
13621 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13622 jump back to beginning. Move some other initializations after that.
13623 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13624 New variables.
13625 (syms_of_xdisp): Init them.
13626
13627 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13628
13629 * buffer.c (reset_buffer_local_variables):
13630 Implement `permanent-local-hook'.
13631 (Qpermanent_local_hook): New variable.
13632 (syms_of_buffer): Init and staticpro it.
13633
136342008-01-25 Michael Albinus <michael.albinus@gmx.de>
13635
13636 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13637
136382008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13639
13640 * fns.c (Fclrhash): Return TABLE.
13641
136422008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13643
13644 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13645 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13646 is set even without positional changes.
13647 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13648
13649 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13650
136512008-01-23 Jason Rumney <jasonr@gnu.org>
13652
13653 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13654
13655 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13656 the unicode range available in MULE by locale-coding-system.
13657 Improve dbcs lead byte detection. Set event timestamp and modifiers
13658 earlier.
13659
136602008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13661
13662 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13663 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13664 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13665 when used on child processes.
13666
136672008-01-21 Michael Albinus <michael.albinus@gmx.de>
13668
13669 * dbusbind.c (Fdbus_method_return_internal): Rename from
13670 Fdbus_method_return.
13671 (Fdbus_unregister_object): Move to dbus.el.
13672 (Fdbus_call_method, Fdbus_method_return_internal)
13673 (Fdbus_send_signal): Improve debug messages.
13674
136752008-01-20 Martin Rudalics <rudalics@gmx.at>
13676
13677 * undo.c (undo_inhibit_record_point): New variable.
13678 (syms_of_undo): Initialize it.
13679 (record_point): Don't record point when undo_inhibit_record_point
13680 is set.
13681
136822008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13683
13684 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13685
13686 * xdisp.c (Qauto_hscroll_mode): New var.
13687 (syms_of_xdisp): Initialize it.
13688 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13689 window's buffer.
13690 (hscroll_windows): Don't check automatic_hscrolling_p here.
13691
13692 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13693 vscroll if we're setting window-buffer to the value it already has.
13694
136952008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13696
13697 * m/intel386.h: Remove references to XENIX.
13698
136992008-01-17 Andreas Schwab <schwab@suse.de>
13700
13701 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13702 instead of HAVE_X86_64_LIB64_DIR.
13703 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13704
137052008-01-17 Glenn Morris <rgm@gnu.org>
13706
13707 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13708 to HAVE_X86_64_LIB64_DIR.
13709
137102008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13711
13712 * s/irix3-3.h:
13713 * s/irix4-0.h:
13714 * s/386-ix.h:
13715 * s/domain.h:
13716 * s/hpux9-x11r4.h:
13717 * s/hpux9shxr4.h: Remove files for systems no longer supported.
13718
13719 * sysdep.c: Remove code containing references to symbols defined
13720 by unsupported systems.
13721
137222008-01-16 Glenn Morris <rgm@gnu.org>
13723
13724 * coding.c (select-safe-coding-system-function): Doc fix.
13725
137262008-01-15 Glenn Morris <rgm@gnu.org>
13727
13728 * config.in: Revert 2008-01-13 change: this is a generated file.
13729
137302008-01-13 Tom Tromey <tromey@redhat.com>
13731
13732 * lisp.h: Fix typo.
13733
137342008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13735
13736 * m/sequent-ptx.h:
13737 * m/sequent.h:
13738 * s/ptx.h:
13739 * s/ptx4-2.h:
13740 * s/ptx4.h: Remove files for systems no longer supported.
13741
13742 * callproc.c (Fcall_process): Fix previous change.
13743
137442008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
13745
13746 * unexsunos4.c: Remove file, system not supported anymore.
13747
13748 * m/mips.h:
13749 * m/intel386.h:
13750 * callproc.c:
13751 * config.in:
13752 * ecrt0.c:
13753 * emacs.c:
13754 * fileio.c:
13755 * frame.c:
13756 * getpagesize.h:
13757 * keyboard.c:
13758 * lread.c:
13759 * process.c:
13760 * puresize.h:
13761 * sysdep.c:
13762 * systty.h:
13763 * syswait.h:
13764 * unexec.c:
13765 * xdisp.c:
13766 * alloc.c: Remove code containing references to symbols defined by
13767 unsupported systems.
13768
137692008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
13770
13771 * coding.c (detect_coding_mask): Fix previous change.
13772
137732008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
13774
13775 * coding.c (detect_coding_iso2022): New arg
13776 latin_extra_code_state. Allow Latin extra codes only
13777 when *latin_extra_code_state is nonzero.
13778 (detect_coding_mask): If there is a NULL byte, detect the encoding
13779 as UTF-16 or binary. If Latin extra codes exist, detect the
13780 encoding as ISO-2022 only when there's no other proper encoding is
13781 found.
13782
137832008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13784
13785 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
13786 #ifdef MAC_OS.
13787
137882008-01-08 Richard Stallman <rms@gnu.org>
13789
13790 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
13791
137922008-01-06 Nick Roberts <nickrob@snap.net.nz>
13793
13794 * keyboard.c (parse_menu_item): Don't enclose key bindings on
13795 menu bar in parentheses.
13796
137972008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
13798
13799 * m/7300.h:
13800 * m/acorn.h:
13801 * m/alliant-2800.h:
13802 * m/alliant.h:
13803 * m/alliant1.h:
13804 * m/alliant4.h:
13805 * m/altos.h:
13806 * m/amdahl.h:
13807 * m/apollo.h:
13808 * m/att3b.h:
13809 * m/aviion-intel.h:
13810 * m/aviion.h:
13811 * m/celerity.h:
13812 * m/clipper.h:
13813 * m/cnvrgnt.h:
13814 * m/convex.h:
13815 * m/cydra5.h:
13816 * m/delta88k.h:
13817 * m/dpx2.h:
13818 * m/dual.h:
13819 * m/elxsi.h:
13820 * m/f301.h:
13821 * m/gould-np1.h:
13822 * m/gould.h:
13823 * m/i860.h:
13824 * m/ibmps2-aix.h:
13825 * m/ibmrt-aix.h:
13826 * m/ibmrt.h:
13827 * m/irist.h:
13828 * m/is386.h:
13829 * m/isi-ov.h:
13830 * m/mega68.h:
13831 * m/mg1.h:
13832 * m/news-r6.h:
13833 * m/news-risc.h:
13834 * m/news.h:
13835 * m/nh3000.h:
13836 * m/nh4000.h:
13837 * m/ns16000.h:
13838 * m/ns32000.h:
13839 * m/nu.h:
13840 * m/orion.h:
13841 * m/orion105.h:
13842 * m/paragon.h:
13843 * m/pfa50.h:
13844 * m/plexus.h:
13845 * m/pyramid.h:
13846 * m/pyrmips.h:
13847 * m/sh3el.h:
13848 * m/sps7.h:
13849 * m/sr2k.h:
13850 * m/stride.h:
13851 * m/sun1.h:
13852 * m/sun2.h:
13853 * m/sun3-68881.h:
13854 * m/sun3-fpa.h:
13855 * m/sun3-soft.h:
13856 * m/sun3.h:
13857 * m/sun386.h:
13858 * m/symmetry.h:
13859 * m/tad68k.h:
13860 * m/tahoe.h:
13861 * m/targon31.h:
13862 * m/tek4300.h:
13863 * m/tekxd88.h:
13864 * m/tower32.h:
13865 * m/tower32v3.h:
13866 * m/ustation.h:
13867 * m/wicat.h:
13868 * m/xps100.h:
13869 * s/cxux.h:
13870 * s/cxux7.h:
13871 * s/dgux.h:
13872 * s/dgux4.h:
13873 * s/dgux5-4-3.h:
13874 * s/dgux5-4r2.h:
13875 * s/esix.h:
13876 * s/esix5r4.h:
13877 * s/hiuxmpp.h:
13878 * s/hiuxwe2.h:
13879 * s/iris3-5.h:
13880 * s/iris3-6.h:
13881 * s/isc2-2.h:
13882 * s/isc3-0.h:
13883 * s/isc4-0.h:
13884 * s/isc4-1.h:
13885 * s/newsos5.h:
13886 * s/newsos6.h:
13887 * s/osf1.h:
13888 * s/osf5-0.h:
13889 * s/riscix1-1.h:
13890 * s/riscix12.h:
13891 * s/sco4.h:
13892 * s/sco5.h:
13893 * s/sunos4-0.h:
13894 * s/sunos4-1.h:
13895 * s/sunos413.h:
13896 * s/sunos4shr.h:
13897 * s/umax.h:
13898 * s/unipl5-2.h:
13899 * s/xenix.h:
13900 * cxux-crt0.s:
13901 * unexapollo.c:
13902 * unexconvex.c:
13903 * unexenix.c:
13904 * unexsni.c: Remove files for systems no longer supported.
13905
13906 * m/intel386.h: Remove references to unsupported systems.
13907
13908 * w32.c (get_emacs_configuration): Remove reference to i860.
13909
13910 * sysdep.c: Remove dead code.
13911
139122008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
13913
13914 * s/rtu.h:
13915 * m/masscomp.h: Remove files. Platform is obsolete.
13916
139172008-01-04 Michael Albinus <michael.albinus@gmx.de>
13918
13919 * dbusbind.c (Fdbus_method_return): New function.
13920 (xd_read_message): Add the serial number to the event.
13921 (Fdbus_register_method): Activate the function.
13922
139232008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
13924
13925 * keyboard.c (read_key_sequence): Fix typo.
13926
139272008-01-03 Michael Albinus <michael.albinus@gmx.de>
13928
13929 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
13930 (xd_signature, xd_append_arg): Handle element type detection for
13931 empty arrays.
13932 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
13933 SDATA () calls; this must be solved more general.
13934 (Fdbus_register_signal): Use SBYTES instead of strlen.
13935
139362008-01-03 Magnus Henoch <magnus@zemdatav>
13937
13938 * dbusbind.c (xd_append_arg): Use unsigned char instead of
13939 unsigned int for byte values (necessary for big-endian platform).
13940 (Fdbus_call_method): Handle the case of no returned arguments.
13941
139422007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
13943
13944 * dbusbind.c (xd_read_message): Use non-static input_event struct.
13945
139462007-12-31 Magnus Henoch <mange@freemail.hu>
13947
13948 * dbusbind.c (xd_signature): Signature of variant is just "v".
13949
139502007-12-30 Michael Albinus <michael.albinus@gmx.de>
13951
13952 * dbusbind.c: Fix several errors and compiler warnings.
13953 Reported by Tom Tromey <tromey@redhat.com>.
13954 (XD_ERROR, XD_DEBUG_MESSAGE)
13955 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
13956 (xd_append_arg): Part for basic D-Bus types rewritten.
13957 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
13958 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
13959 appropriate.
13960 (xd_read_message): Return Qnil. Don't signal an error; it is not
13961 useful during event reading.
13962 (Fdbus_register_signal): Signal an error if the check for
13963 FUNCTIONP fails.
13964 (Fdbus_register_method): New function. The implementation is not
13965 complete, the call of the function signals an error therefore.
13966 (Fdbus_unregister_object): New function, renamed from
13967 Fdbus_unregister_signal. The initial check signals an error, if
13968 the object is not well formed.
13969
139702007-12-30 Richard Stallman <rms@gnu.org>
13971
13972 * textprop.c (get_char_property_and_overlay):
13973 Signal error if POSITION is out of range in a buffer.
13974
139752007-12-29 Martin Rudalics <rudalics@gmx.at>
13976
13977 * w32fns.c (Fx_create_frame): Make copy of frame parameters
13978 because the original parameters are in pure storage now.
13979
139802007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13981
13982 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
13983
139842007-12-22 Eli Zaretskii <eliz@gnu.org>
13985
13986 * callint.c (syms_of_callint) <command-history>: Add reference to
13987 history-length in the doc string.
13988
139892007-12-17 Jason Rumney <jasonr@gnu.org>
13990
13991 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
13992 before passing as wParam.
13993
139942007-12-22 Michael Albinus <michael.albinus@gmx.de>
13995
13996 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
13997 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
13998 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
13999 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14000 as number.
14001 (Fdbus_call_method): Fix docstring.
14002
140032007-12-21 Michael Albinus <michael.albinus@gmx.de>
14004
14005 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14006 New macros.
14007 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14008 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14009 Simplify.
14010 (xd_signature): New function.
14011 (xd_append_arg): Compute also signatures. Major rewrite.
14012 (xd_retrieve_arg): Make debug messages friendly.
14013 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14014 Check for signatures of arguments.
14015
140162007-12-19 Michael Albinus <michael.albinus@gmx.de>
14017
14018 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14019 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14020 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14021 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14022 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14023 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14024 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14025 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14026 (xd_retrieve_value): Remove. Functionality included in ...
14027 (xd_append_arg): New function.
14028 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14029
140302007-12-16 Michael Albinus <michael.albinus@gmx.de>
14031
14032 * dbusbind.c (top): Include <stdio.h>.
14033 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14034 dbus_message_new_method_call and dbus_message_new_signal.
14035 (Fdbus_register_signal): Rename unique_name to uname.
14036 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14037 non-existing unique name. Fix typos in matching rule. Return an
14038 object which is useful in Fdbus_unregister_signal.
14039 (Fdbus_unregister_signal): Reimplementation, in order to remove
14040 only the corresponding entry.
14041 (Vdbus_registered_functions_table): Change the order of entries.
14042 Apply these changes in xd_read_message and Fdbus_register_signal.
14043
140442007-12-16 Andreas Schwab <schwab@suse.de>
14045
14046 * fileio.c (Finsert_file_contents): Fix overflow check to not
14047 depend on undefined integer overflow.
14048
140492007-12-14 Jason Rumney <jasonr@gnu.org>
14050
14051 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14052 for characters above 127.
14053
140542007-12-13 Jason Rumney <jasonr@gnu.org>
14055
14056 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14057 before dereferencing array.
14058 (lookup_vk_code): Remove zero comparison.
14059
140602007-12-14 Michael Albinus <michael.albinus@gmx.de>
14061
14062 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14063 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14064 Use `unsigned int' instead of `uint'.
14065 (xd_read_message, Fdbus_register_signal): Split expressions into
14066 multiple lines before operators "&&" and "||", according to the
14067 GNU Coding Standards.
14068
140692007-12-14 Eli Zaretskii <eliz@gnu.org>
14070
14071 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14072
140732007-12-12 Juri Linkov <juri@jurta.org>
14074
14075 * buffer.c (Frename_buffer): In interactive spec replace
14076 `read-buffer' with `read-string' that uses `buffer-name-history'
14077 as history, and the current buffer's name as default.
14078
140792007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14080
14081 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14082 manipulating the backtrace manually.
14083 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14084 (struct backtrace, backtrace_list): Remove.
14085 (command_loop_1): Remove dead var `no_direct'.
14086
14087 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14088 preserve non-built-in buffer-local variables.
14089 (Fkill_all_local_variables): Don't re-create&re-set permanent
14090 buffer-local variables.
14091
140922007-12-09 Juri Linkov <juri@jurta.org>
14093
14094 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14095 Lisp code that uses `read-buffer' with current buffer as default.
14096
140972007-12-08 Michael Albinus <michael.albinus@gmx.de>
14098
14099 * dbusbind.c (xd_read_message): Generate an event for every
14100 registered handler. There might be several handlers registered
14101 for the same signal.
14102 (Fdbus_register_signal): Don't overwrite a registration for the
14103 same signal. Add a new registration if handlers are different.
14104 (Vdbus_registered_functions_table): Rework doc string.
14105
141062007-12-07 Michael Albinus <michael.albinus@gmx.de>
14107
14108 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14109 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14110 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14111 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14112 Unify argument lists.
14113 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14114 arguments and hash table keys. Use unique name for service.
14115 (Fdbus_unregister_signal): Remove checks.
14116 (Vdbus_registered_functions_table): Fix doc string.
14117
141182007-12-05 Magnus Henoch <mange@freemail.hu>
14119
14120 * process.c (make_process): Initialize pty_flag to 0.
14121
141222007-12-05 Jason Rumney <jasonr@gnu.org>
14123
14124 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14125 specified XBMs.
14126
141272007-12-05 Richard Stallman <rms@gnu.org>
14128
14129 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14130
141312007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14132
14133 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14134 New variable.
14135 (mac_try_close_socket) [MAC_OSX]: New function.
14136 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14137 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14138
14139 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14140 Use mac_try_close_socket.
14141
141422007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14143
14144 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14145 reloc_base.
14146 (copy_dysymtab): Compute relocation base here.
14147 (rebase_reloc_address) [__ppc64__]: New function.
14148 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14149 changed.
14150
141512007-12-05 Jason Rumney <jasonr@gnu.org>
14152
14153 * w32proc.c (sys_spawnve): Quote args with wildcards.
14154
141552007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14156
14157 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14158 __objc_* sections.
14159 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14160
141612007-12-05 Michael Albinus <michael.albinus@gmx.de>
14162
14163 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14164 Move check for Vdbus_registered_functions_table to
14165 xd_read_queued_messages.
14166 (xd_read_queued_messages): Protect xd_read_message calls by
14167 internal_condition_case_1.
14168
141692007-12-04 Michael Albinus <michael.albinus@gmx.de>
14170
14171 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14172 Qdbus_system_bus and Qdbus_session_bus, respectively.
14173 (Vdbus_intern_symbols): Remove.
14174 (Vdbus_registered_functions_table): New hash table.
14175 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14176 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14177 Rewrite in order to manage registered functions by hash table
14178 Vdbus_registered_functions_table.
14179
141802007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14181
14182 * xterm.c: Update URL to Window Manager Specification in comment.
14183
141842007-12-02 Michael Albinus <michael.albinus@gmx.de>
14185
14186 * config.in (HAVE_DBUS): Add.
14187
14188 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14189 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14190 (obj): Add $(DBUS_OBJ).
14191 (LIBES): Add $(DBUS_LIBS).
14192 (dbusbind.o): New target.
14193
14194 * dbusbind.c: New file.
14195
14196 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14197
14198 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14199 (Qdbus_event): New Lisp symbol.
14200 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14201 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14202 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14203
14204 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14205
142062007-12-01 Richard Stallman <rms@gnu.org>
14207
14208 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14209
142102007-11-30 Jason Rumney <jasonr@gnu.org>
14211
14212 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14213 (w32con_reset_terminal_modes): Clear screen buffer.
14214 (w32_face_attributes): Don't use color indexes that are out of range.
14215 Only reverse the default colors.
14216
14217 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14218 WINDOWSNT.
14219
14220 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14221
142222007-11-29 Jason Rumney <jasonr@gnu.org>
14223
14224 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14225 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14226 if the terminal colors are initialized.
14227 (unspecified_fg, unspecified_bg): Remove unused declarations.
14228
142292007-11-29 Andreas Schwab <schwab@suse.de>
14230
14231 * keyboard.c (apply_modifiers): Fix typo.
14232
142332007-11-29 Richard Stallman <rms@gnu.org>
14234
14235 * keymap.c (Fcurrent_local_map): Doc fix.
14236
142372007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14238
14239 * s/gnu-kfreebsd.h: New file.
14240
142412007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14242
14243 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14244 Don't cast redundantly.
14245
14246 * keyboard.c (KEY_TO_CHAR): New macro.
14247 (parse_modifiers, apply_modifiers): Accept integer arguments.
14248 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14249 for chars and symbol keys.
14250 After doing such remapping, apply function-key-map again.
14251
142522007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14253
14254 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14255 compiled anymore.
14256
142572007-11-26 Andreas Schwab <schwab@suse.de>
14258
14259 * process.c (list_processes_1): Fix indentation level of the
14260 command column.
14261
142622007-11-23 Andreas Schwab <schwab@suse.de>
14263
14264 * editfns.c (Fformat): Handle %c specially since it requires the
14265 argument to be of type int.
14266
142672007-11-23 Markus Triska <markus.triska@gmx.at>
14268
14269 * emacs.c (main): Call init_editfns before init_process, since
14270 init_process sets Vprocess_connection_type depending on OS release.
14271
142722007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14273
14274 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14275 (find_symbol_value): Use do_symval_forwarding.
14276
14277 * data.c (set_internal): Set the value in the `cons-cell' (for
14278 Buffer_Local_values) not only for frame-local variables.
14279
142802007-11-22 Andreas Schwab <schwab@suse.de>
14281
14282 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14283 values to sprintf.
14284 * keymap.c (Fsingle_key_description): Likewise.
14285 * print.c (print_object): Likewise.
14286
142872007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14288
14289 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14290 file for image is nil.
14291
142922007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14293
14294 * term.c: Include stdarg.h.
14295 (fatal): Implement using varargs.
14296 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14297
142982007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14299
14300 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14301 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14302 Update call to buffer_slot_type_mismatch.
14303 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14304 (buffer_slot_type_mismatch): Update.
14305 * buffer.c (buffer_local_types): Remove.
14306 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14307 (defvar_per_buffer): Set the type in the buffer_objfwd.
14308
143092007-11-21 Jason Rumney <jasonr@gnu.org>
14310
14311 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14312 CreateFileMapping returns NULL on failure.
14313
143142007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14315
14316 * search.c (Fset_match_data): Remove the `evaporate' feature.
14317 (unwind_set_match_data): Don't use the `evaporate' feature.
14318
143192007-11-21 Jason Rumney <jasonr@gnu.org>
14320
14321 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14322
14323 * w32console.c (w32con_write_glyphs): Remove unused variables.
14324
143252007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14326
14327 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14328
14329 * s/darwin.h (MULTI_KBOARD): Remove.
14330
14331 * macfns.c (x_create_tip_frame, Fx_create_frame)
14332 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14333
143342007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14335
14336 * buffer.c (Fbuffer_local_value): Remove redundant test.
14337 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14338 than in `current-buffer' to match the comment.
14339 Do the swap using swap_in_global_binding.
14340
14341 * data.c (store_symval_forwarding, set_internal):
14342 * eval.c (specbind): Remove dead code.
14343
14344 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14345 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14346 Since we do not want to see internal Lisp_*fwd objects here.
14347
143482007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14349
14350 * sysdep.c (init_system_name): Use getaddrinfo if available.
14351
14352 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14353 (x_scroll_bar_note_movement): start, end, with, height in struct
14354 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14355
143562007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14357
14358 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14359
143602007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14361
14362 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14363 This undoes Richard's change of 14-Oct-2002.
14364
14365 * alloc.c (allocate_other_vector):
14366 * lisp.h (allocate_other_vector): Remove.
14367
14368 * window.c (struct save_window_data): Move non-lisp data to the end
14369 and make it `int' rather than Lisp_Object.
14370 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14371 Done wrap/unwrap integer values.
14372 (Fset_window_configuration, compare_window_configurations):
14373 Update use of fields to their new types.
14374
14375 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14376 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14377 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14378 (SET_SCROLL_BAR_X_WINDOW): Remove.
14379 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14380 Access the new x_window field directly.
14381 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14382 Don't wrap/unwrap integers into Lisp_Objects.
14383 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14384 (x_scroll_bar_report_motion):
14385 Don't wrap/unwrap integers into Lisp_Objects.
14386 (x_term_init): Use SDATA.
14387 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14388 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14389 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14390 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14391 * xfns.c (x_set_background_color):
14392 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14393 Access the new x_window field directly.
14394
14395 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14396 (allocate_pseudovector): Make non-static.
14397
14398 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14399 (allocate_pseudovector): Declare.
14400 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14401
144022007-11-15 Andreas Schwab <schwab@suse.de>
14403
14404 * editfns.c (Fformat): Correctly format EMACS_INT values.
14405 Also take precision into account when formatting an integer.
14406
14407 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14408
144092007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14410
14411 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14412 (syms_of_keyboard): Defsubr it.
14413
14414 * data.c (swap_in_global_binding): Fix longstanding bug where
14415 store_symval_forwarding was not called with the right second argument,
14416 thus causing objfwd-ing from being dropped.
14417
144182007-11-14 Juanma Barranquero <lekktu@gmail.com>
14419
14420 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14421 (Fx_display_pixel_height, Fx_display_planes)
14422 (Fx_display_color_cells, Fx_server_max_request_size)
14423 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14424 (Fx_display_visual_class, Fx_display_save_under):
14425 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14426 (Fx_display_pixel_height, Fx_display_planes)
14427 (Fx_display_color_cells, Fx_server_max_request_size)
14428 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14429 (Fx_display_mm_height, Fx_display_mm_width)
14430 (Fx_display_backing_store, Fx_display_visual_class)
14431 (Fw32_select_font, Fx_display_save_under):
14432 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14433 (Fx_display_pixel_height, Fx_display_planes)
14434 (Fx_display_color_cells, Fx_server_max_request_size)
14435 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14436 (Fx_display_save_under): Fix typos in docstrings.
14437
144382007-11-14 Juanma Barranquero <lekktu@gmail.com>
14439
14440 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14441 corresponding to deleted entries; they are an implementation detail.
14442 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14443 Remove variables.
14444 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14445 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14446 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14447 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14448 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14449 (Fw32_define_rgb_color, Fw32_load_color_file)
14450 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14451 Fix typos in docstrings.
14452 (Fx_server_version): Reflow docstring.
14453 (Fw32_shell_execute): Doc fixes.
14454
144552007-11-13 Juanma Barranquero <lekktu@gmail.com>
14456
14457 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14458 if w32_parse_hot_key returned nil.
14459
144602007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14461
14462 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14463
144642007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14465
aac0c6e3
MR
14466 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14467
14468 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14469
14470 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14471 Remove W32_SCROLL_BAR_CLICK_EVENT.
14472
14473 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14474 Add MULTIMEDIA_KEY_EVENT.
14475
14476 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14477 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14478 (make_lispy_event) [WINDOWSNT]: Use it to translate
14479 MULTIMEDIA_KEY_EVENT.
14480
14481 * w32term.h (WM_APPCOMMAND): Define if not already.
14482 (GET_APPCOMMAND_LPARAM): Likewise.
14483
14484 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14485 WM_APPCOMMAND.
14486
14487 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14488 (syms_of_w32fns): Export and initialize it.
14489 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14490
144912007-11-09 Chong Yidong <cyd@stupidchicken.com>
14492
14493 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14494 twice.
14495
14496 * xdisp.c (handle_face_prop): Fix last change.
14497
144982007-11-09 Richard Stallman <rms@gnu.org>
14499
14500 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14501 not just for after-strings and before-strings.
14502 Call face_for_overlay_string and pass the overlay to it.
14503 (handle_display_prop): Determine whether property came from an overlay.
14504 Pass OVERLAY arg to handle_single_display_spec.
14505 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14506 (load_overlay_strings): Fill in it->string_overlays.
14507 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14508
14509 * xfaces.c (face_for_overlay_string): Function renamed from
14510 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14511
14512 * dispextern.h (struct it): New elt string_overlays.
14513 New elt from_overlay, also in stack.
14514 Rearrange a few elements.
14515 (face_for_overlay_string): Decl renamed from
14516 face_at_buffer_position_no_overlays, and add argument.
14517
145182007-11-09 Richard Stallman <rms@gnu.org>
14519
14520 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14521 to get the base face for an overlay string.
14522
14523 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14524
14525 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14526
14527 * xdisp.c (handle_stop): Move some code out of loop.
14528
145292007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14530
14531 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14532 Fix conversion from Lisp object to ATSUFontID.
14533
145342007-11-09 Jason Rumney <jasonr@gnu.org>
14535
14536 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14537
145382007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14539
14540 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14541 Don't assume regions are aligned to page boundary.
14542 (print_load_command_name): Add LC_UUID if defined.
14543
145442007-11-09 Richard Stallman <rms@gnu.org>
14545
14546 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14547
145482007-11-07 Jason Rumney <jasonr@gnu.org>
14549
14550 * s/windows95.h: Remove.
14551
145522007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14553
14554 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14555 abort with a message on unhandled store_type values.
14556
145572007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14558
14559 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14560 Remove HAVE_X11R5 and HAVE_X11R4.
14561
145622007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14563
14564 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14565
145662007-11-01 Johan Bockgård <bojohan@gnu.org>
14567
14568 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14569 Don't set s->stippled_p here, since it has already been set by
14570 x_set_glyph_string_gc from x_draw_glyph_string.
14571
145722007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14573
14574 * sunfns.c: Remove file.
14575
14576 * m/sun386.h:
14577 * m/sun2.h:
14578 * m/sparc.h: Remove Sun windows code.
14579
145802007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14581
14582 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14583 (init_keyboard): Set current_kboard's window-system to nil.
14584 (tty_read_avail_input): Typo.
14585 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14586
145872007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14588
14589 * s/usg5-4.h:
14590 * s/usg5-3.h:
14591 * s/ptx.h:
14592 * m/is386.h:
14593 * m/ibmps2-aix.h:
14594 * Makefile.in: Remove all mentions of X10.
14595
14596 * dispnew.c (syms_of_display): Don't mention version 10.
14597
145982007-10-28 Juanma Barranquero <lekktu@gmail.com>
14599
14600 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14601 ($(BLD)/abbrev.$(O)): Remove.
14602
146032007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14604
14605 Rewrite abbrev.c in Elisp.
14606 * image.c (Qcount): Don't declare as extern.
14607 (syms_of_image): Initialize and staticpro `Qcount'.
14608 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14609 * emacs.c (main): Don't call syms_of_abbrev.
14610 * Makefile.in (obj): Remove abbrev.o.
14611 (abbrev.o): Remove.
14612 * abbrev.c: Remove.
14613
146142007-10-26 Martin Rudalics <rudalics@gmx.at>
14615
14616 * window.c (window_min_size_2): Don't count header-line.
14617
146182007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14619
14620 * frame.h (struct frame): Move all bit fields after the first bit
14621 field to take advantage of the available space. Group all the
14622 chars together to reduce wasted space due to padding.
14623
146242007-10-26 Juanma Barranquero <lekktu@gmail.com>
14625
14626 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14627
14628 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14629 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14630 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14631 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14632 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14633 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14634 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14635 (last_marked, mark_object_loop_halt): Make static.
14636
14637 * frame.c (syms_of_frame) <delete-frame-functions>:
14638 Fix typo in docstring.
14639
146402007-10-25 Juanma Barranquero <lekktu@gmail.com>
14641
14642 * w32.c (init_environment): Fix tiny memory leak.
14643 (w32_get_resource): Remove unused variable `ok'.
14644
146452007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14646
14647 Make `window-system' into a keyboard-local variable (rather than
14648 frame-local as done originally by multi-tty).
14649
14650 * keyboard.h (struct kboard): Add Vwindow_system.
14651 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14652 (mark_kboards): Mark Vwindow_system.
14653
14654 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14655 (init_display): Don't set the obsolete `window-system' frame-param.
14656
14657 * xterm.c (x_term_init):
14658 * w32term.c (w32_create_terminal):
14659 * term.c (init_tty): Set Vwindow_system.
14660 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14661 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14662
14663 * xfns.c (Fx_create_frame, x_create_tip_frame):
14664 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14665 * macfns.c (Fx_create_frame):
14666 Don't set the obsolete `window-system' frame-param.
14667
14668 * frame.h (Qwindow_system): Remove.
14669 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14670 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14671
146722007-10-24 Richard Stallman <rms@gnu.org>
14673
14674 * frame.c (x_figure_window_size): For fullscreen case,
14675 set USPosition | PPosition without clobbering rest of window_prompting.
14676
14677 * keyboard.c (Fcurrent_idle_time): Doc fix.
14678
14679 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14680
146812007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14682
14683 * process.c (unwind_request_sigio): Only define if __ultrix__.
14684
14685 * callproc.c (child_setup): Remove spurious *.
14686
14687 * lisp.h (Fget_text_property): Declare.
14688 (have_menus_p): Declare it here rather than in sys-dep header files.
14689 * macterm.h (have_menus_p):
14690 * msdos.h (have_menus_p):
14691 * xterm.h (have_menus_p): Remove.
14692
14693 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14694 (Fmake_variable_frame_local): Just check the variable's const-ness
14695 rather than checking nil or t.
14696
146972007-10-22 Jason Rumney <jasonr@gnu.org>
14698
14699 * w32fns.c: Include math.h.
14700 (w32_abort): Declaration moved to nt/config.nt.
14701
14702 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14703 (abort): Redefinition moved to nt/config.nt.
14704
14705 * m/windowsnt.h: Remove.
14706
147072007-10-22 Juanma Barranquero <lekktu@gmail.com>
14708
14709 * emacs.c (Fdump_emacs): Fix typo in message.
14710 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14711 <installation-directory>: Reflow docstring.
14712
147132007-10-22 Juri Linkov <juri@jurta.org>
14714
14715 * minibuf.c: Allow minibuffer default to be a list of default values.
14716 With empty input use the first element of this list as returned default.
14717 (string_to_object)
14718 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
14719 (read_minibuf): If defalt is cons, set histstring to its car.
14720 (Fread_string): If default_value is cons, set val to its car.
14721 (Fread_buffer): If def is cons, use its car.
14722 (Fcompleting_read): If defalt is cons, set val to its car.
14723
147242007-10-21 Michael Albinus <michael.albinus@gmx.de>
14725
14726 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
14727
147282007-10-20 Juanma Barranquero <lekktu@gmail.com>
14729
14730 * doc.c (Fdocumentation): Check for advice in all cases.
14731
147322007-10-19 Chong Yidong <cyd@stupidchicken.com>
14733
14734 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
14735
147362007-10-19 Richard Stallman <rms@gnu.org>
14737
14738 * doc.c (Fdocumentation): Check for and handle an advised function.
14739
147402007-10-19 Juanma Barranquero <lekktu@gmail.com>
14741
14742 * process.c (Fset_process_filter): Doc fix.
14743
147442007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
14745
14746 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
14747 which caused key-translation-map to applied repeatedly (thus breaking
14748 double-mode).
14749
147502007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14751
14752 * xselect.c (x_own_selection, x_handle_selection_clear)
14753 (x_clear_frame_selections):
14754 * w32menu.c (list_of_panes, list_of_items):
14755 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
14756 * textprop.c (validate_plist, interval_has_all_properties)
14757 (interval_has_some_properties, interval_has_some_properties_list)
14758 (add_properties, text_property_list):
14759 * process.c (Fget_buffer_process, list_processes_1, status_notify):
14760 * minibuf.c (Fassoc_string):
14761 * macselect.c (x_own_selection, x_clear_frame_selections)
14762 (Fx_disown_selection_internal):
14763 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
14764 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
14765
147662007-10-17 Chong Yidong <cyd@stupidchicken.com>
14767
14768 * process.c: Link to libs for calling res_init() if available.
14769 (Fmake_network_process): Call res_init() before getaddrinfo or
14770 gethostbyname, if possible.
14771
147722007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
14773
14774 * lread.c (read1): Set pvectype for char_tables.
14775
14776 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
14777 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
14778 Add type checks.
14779 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
14780
14781 * alloc.c (free_misc): Use XMISCTYPE.
14782 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
14783
147842007-10-17 Glenn Morris <rgm@gnu.org>
14785
14786 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
14787 (syms_of_minibuf): Add Qcompletion_ignore_case.
14788 * dired.c (Qcompletion_ignore_case): Change to external.
14789 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
14790 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
14791 (Fread_file_name): Use it rather than intern'ing.
14792
14793 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
14794 (Fread_coding_system): Ignore case of user input.
14795
147962007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14797
14798 * xdisp.c (handle_display_prop): Ignore display specs after
14799 replacing one when string text is being replaced.
14800 (handle_single_display_spec): Pretend as if characters with display
14801 property haven't been consumed only when buffer text is being replaced.
14802
148032007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
14804
14805 * xfns.c (Fx_create_frame, Fx_display_list):
14806 * window.c (window_fixed_size_p, enlarge_window)
14807 (shrink_window_lowest_first):
14808 * macterm.c (init_font_name_table):
14809 * macfns.c (Fx_create_frame, Fx_display_list):
14810 * lread.c (close_load_descs):
14811 * keyboard.c (read_char_x_menu_prompt):
14812 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
14813 * coding.c (code_convert_region_unwind): Test the type of an object
14814 rather than just !NILP before extracting data from it.
14815
14816 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
14817
14818 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
14819 (XMISCANY): New macro.
14820 (XMISCTYPE): Use it.
14821 (struct Lisp_Misc_Any): New type.
14822 (union Lisp_Misc): Use it.
14823 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
14824 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
14825 (find_symbol_value, set_internal, default_value, Fset_default)
14826 (Fmake_variable_buffer_local, Fmake_local_variable)
14827 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
14828 (Flocal_variable_if_set_p, Fvariable_binding_locus):
14829 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
14830 * alloc.c (allocate_buffer): Set the size and tag.
14831 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
14832 Use XMISCANY.
14833 (die): Follow the GNU convention for error messages.
14834 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
14835 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
14836 tag any more.
14837 (set_buffer_internal_1):
14838 * frame.c (store_frame_param):
14839 * eval.c (specbind):
14840 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
14841
14842 * doc.c (Fsnarf_documentation): Simplify.
14843
148442007-10-14 Juanma Barranquero <lekktu@gmail.com>
14845
14846 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
14847 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
14848
148492007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
14850
14851 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
14852
148532007-10-14 Juanma Barranquero <lekktu@gmail.com>
14854
14855 * eval.c (do_autoload): Don't save autoloads.
14856
14857 * data.c (Ffset): Save autoload of the function being set.
14858
148592007-10-07 John Paul Wallington <jpw@pobox.com>
14860
14861 * xfns.c (x_create_tip_frame): Set the `display-type' frame
14862 parameter before setting up faces.
14863
148642007-10-13 Eli Zaretskii <eliz@gnu.org>
14865
14866 * ccl.c (Fregister_code_conversion_map):
14867 * keyboard.c (append_tool_bar_item): Reformat last change.
14868
14869 * lisp.h (eabs): Rename from `abs'. All callers changed.
14870
148712007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
14872
14873 * buffer.c (add_overlay_mod_hooklist):
14874 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
14875 * fontset.c (make_fontset):
14876 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
14877 (append_tool_bar_item):
14878 * macmenu.c (grow_menu_items):
14879 * w32menu.c (grow_menu_items):
14880 * xmenu.c (grow_menu_items): Use larger_vector.
14881
148822007-10-13 Eli Zaretskii <eliz@gnu.org>
14883
14884 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
14885 selected frame'' on MSDOS).
14886
148872007-10-12 Martin Rudalics <rudalics@gmx.at>
14888
14889 * frame.c (Qexplicit_name): New variable.
14890 (x_report_frame_params): Report it in parameter alist.
14891 (syms_of_frame): Intern and staticpro it.
14892
148932007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
14894
14895 * macfns.c (x_create_tip_frame): Set terminal for frame.
14896
148972007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
14898
14899 * frame.c (Qenvironment): Remove.
14900 (syms_of_frame) <Qenvironment>: Don't initialize.
14901 (Fdelete_frame): Don't treat the `environment' param specially.
14902 * frame.h (Qenvironment): Don't declare.
14903 * callproc.c (set_initial_environment): Don't set unused frame param.
14904
14905 * frame.c (Fframe_with_environment): Remove.
14906 (syms_of_frame) <Sframe_with_environment>: Don't declare.
14907
14908 * lisp.h (Fframe_with_environment): Don't declare.
14909
149102007-10-10 Juanma Barranquero <lekktu@gmail.com>
14911
14912 * indent.c (indent_tabs_mode, last_known_column)
14913 (last_known_column_modified): Make static.
14914 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
14915
149162007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
14917
14918 * puresize.h (BASE_PURESIZE): Increase to 1170000.
14919
149202007-10-09 Jason Rumney <jasonr@gnu.org>
14921
14922 * w32term.c (x_set_window_size): Disable code that attempts to tell
14923 Lisp code about a size change before it actually happens.
14924
149252007-10-09 Richard Stallman <rms@gnu.org>
14926
14927 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
14928 return HANDLED_RETURN.
14929
149302007-10-08 Martin Rudalics <rudalics@gmx.at>
14931
14932 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
14933 when there's an unread command event.
14934
14935 * frame.c (focus_follows_mouse): Move here from frame.el to allow
14936 window autoselection act appropriately when leaving selected frame.
14937 (syms_of_frame): Initialize focus_follows_mouse.
14938 * frame.h (focus_follows_mouse): Extern it.
14939 * macterm.c (XTread_socket): When focus_follows_mouse is nil
14940 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
14941 * msdos.c (dos_rawgetc): Likewise.
14942 * w32term.c (w32_read_socket): Likewise.
14943 * xterm.c (handle_one_xevent): Likewise.
14944 * xdisp.c (syms_of_xdisp): In doc-string of
14945 mouse-autoselect-window mention focus-follows-mouse.
14946
149472007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14948
14949 * macterm.c (mac_load_query_font): Fix missing return value.
14950 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
14951 Add BLOCK_INPUT.
14952
149532007-10-08 Richard Stallman <rms@gnu.org>
14954
14955 * xdisp.c (get_window_cursor_type): Implement documented behavior
14956 for cursor-in-non-selected-windows = t.
14957
149582007-10-08 Jason Rumney <jasonr@gnu.org>
14959
14960 * w32.c (w32_get_resource): Always close registry keys.
14961
149622007-10-08 Jason Rumney <jasonr@gnu.org>
14963
14964 * makefile.w32-in (LIBS): Add COMCTL32.
14965
14966 * w32fns.c (globals_of_w32fns): Init common controls.
14967
149682007-10-08 Richard Stallman <rms@gnu.org>
14969
14970 * image.c (our_memory_buffer): Rename from omfib_buffer.
14971
149722007-10-08 Richard Stallman <rms@gnu.org>
14973
14974 * buffer.c (Foverlays_at): Doc fix.
14975
149762007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
14977
14978 * fns.c (Fplist_put): Preserve uneven tail data.
14979
149802007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
14981
14982 * termhooks.h (enum event_kind): Remove trailing comma.
14983
14984 * frame.h (enum): Remove trailing comma.
14985
149862007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
14987
14988 * w32proc.c (delete_child): Don't terminate threads of zombies.
14989
149902007-10-08 Martin Rudalics <rudalics@gmx.at>
14991
14992 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
14993
14994 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
14995 last-repeatable-command.
14996 (init_kboard): Initialize Vlast_repeatable_command.
14997 (command_loop_1): Set it to real_this_command unless that was
14998 bound to an input event.
14999 (mark_kboards): Mark it.
15000
150012007-10-08 Richard Stallman <rms@gnu.org>
15002
15003 * eval.c (condition-case): Doc fix.
15004
150052007-10-08 Masatake YAMATO <jet@gyve.org>
15006
15007 * xfaces.c (tty_supports_face_attributes_p): Fix code
15008 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15009 was copied and not edited.
15010
150112007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15012
15013 Add new `input-decode-map' keymap and use it for terminal
15014 escape sequences.
15015 * keyboard.h (struct kboard): Add Vinput_decode_map.
15016 Remove Vlocal_key_translation_map.
15017 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15018 (init_kboard): Init input-decode-map.
15019 Replace local-key-translation-map back with key-translation-map.
15020 (syms_of_keyboard): Declare input-decode-map.
15021 Remove local-key-translation-map. Update docstrings.
15022 (mark_kboards): Mark Vinput_decode_map.
15023 Don't mark Vlocal_key_translation_map.
15024 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15025 Replace local-key-translation-map back with key-translation-map.
15026 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15027 Bind in input-decode-map rather than function-key-map.
15028
15029 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15030 This was made redundant by the previous introduction of XSETPVECTYPE.
15031
150322007-10-09 Richard Stallman <rms@gnu.org>
15033
15034 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15035
150362007-09-29 Richard Stallman <rms@gnu.org>
15037
15038 * eval.c (internal_condition_case_2, internal_condition_case_1)
15039 (internal_condition_case): Reenable abort if x_catching_errors ()
15040 to see if that really happens and why.
15041
150422007-10-06 Andreas Schwab <schwab@suse.de>
15043
15044 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15045
150462007-10-04 Juanma Barranquero <lekktu@gmail.com>
15047
15048 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15049
150502007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15051
15052 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15053
150542007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15055
15056 * window.h (struct window):
15057 * window.c (struct save_window_data, struct saved_window):
15058 * termhooks.h (struct terminal):
15059 * process.h (struct Lisp_Process):
15060 * frame.h (struct frame):
15061 * buffer.h (struct buffer):
15062 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15063 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15064 The size field of (pseudo)vectors is now unsigned.
15065 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15066
15067 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15068 Turn `count' into an integer.
15069
15070 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15071 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15072 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15073 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15074 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15075
15076 * alloc.c (allocate_pseudovector): New fun.
15077 (ALLOCATE_PSEUDOVECTOR): New macro.
15078 (allocate_window, allocate_terminal, allocate_frame)
15079 (allocate_process): Use it.
15080 (mark_vectorlike): New function.
15081 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15082 (mark_terminals): Use it.
15083 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15084 (Fmake_byte_code): Use XSETPVECTYPE.
15085
15086 * frame.c (Fframe_parameters): Minor simplification.
15087
15088 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15089
15090 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15091
15092 * buffer.c (Fget_buffer_create, init_buffer_once):
15093 * lread.c (defsubr):
15094 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15095
15096 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15097 defined differently in the m/*.h files.
15098 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15099 (XSETPVECTYPE): New macro.
15100 (XSETPSEUDOVECTOR): Use it.
15101
15102 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15103 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15104
15105 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15106 * lread.c (defvar_per_buffer):
15107 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15108
15109 * window.c (candidate_window_p): Only consider as visible frames that
15110 are on the same terminal.
15111
15112 * m/ibms390x.h (MARKBIT): Remove unused macro.
15113
151142007-10-01 Juanma Barranquero <lekktu@gmail.com>
15115
15116 * lread.c (Fload): Fix typo in docstring.
15117
151182007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15119
15120 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15121 of a non-zero value can't yield zero.
15122
151232007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15124
15125 * term.c (term_clear_mouse_face, term_mouse_highlight)
15126 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15127
15128 * print.c (safe_debug_print): Use XHASH.
15129
15130 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15131 Lisp elements such as tags.
15132 (XHASH): New macro.
15133 (EQ): Use it.
15134 (SREF, SSET, STRING_COPYIN): Use SDATA.
15135 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15136
15137 * alloc.c (mark_terminal): Remove left-over declaration.
15138 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15139 (allocate_vectorlike): Remove type argument. Adjust callers.
15140 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15141 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15142
15143 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15144 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15145 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15146 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15147 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15148 Use them.
15149
15150 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15151 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15152 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15153
151542007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15155
15156 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15157 loaded by default.
15158
151592007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15160
15161 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15162 on this tty.
15163 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15164
15165 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15166 Update all users.
15167 (handle_one_term_event): Use Gpm_DrawPointer.
15168 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15169 Signal errors instead of returning nil. Always return nil.
15170 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15171 Make it a noop if gpm-mouse was not activated.
15172 (syms_of_term): Update names.
15173
151742007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15175
15176 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15177 (init_sys_modes): Check that gpm_tty is the current tty.
15178
15179 * alloc.c (allocate_terminal): Set the vector size to only count the
15180 lisp fields. Initialize those to nil.
15181 (mark_object): Don't treat terminals specially.
15182 (mark_terminal): Remove.
15183 (mark_terminals): Use mark_object instead.
15184
15185 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15186 the GC to the beginning.
15187
15188 * indent.h:
15189 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15190
15191 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15192
151932007-09-25 Jason Rumney <jasonr@gnu.org>
15194
15195 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15196
15197 * w32console.c (create_w32cons_output): Remove.
15198
15199 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15200
15201 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15202 (reset_sys_modes): Use reset_terminal_modes_hook.
15203
152042007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15205
15206 * eval.c (do_autoload): Don't output any message.
15207
152082007-09-24 Juri Linkov <juri@jurta.org>
15209
15210 * emacs.c (standard_args): Change priority of "--no-splash"
15211 from 40 to 3. Add "--no-desktop" with the same priority.
15212
152132007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15214
15215 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15216 and optimize the case where they are all 1.
15217
152182007-09-23 Johannes Weiner <hannes@saeurebad.de>
15219
15220 * lisp.h (abs): Define if not defined.
15221 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15222 Don't define `abs', since it's defined in lisp.h.
15223
152242007-09-22 Eli Zaretskii <eliz@gnu.org>
15225
15226 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15227 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15228 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15229 (init_tty): Use DEV_TTY instead of "/dev/tty".
15230 [WINDOWSNT]: No need to protect from NAME arg being null.
15231
152322007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15233
15234 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15235 up the tty state.
15236
152372007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15238
15239 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15240 (gpm_tty): Change its type.
15241 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15242 (gpm_tty): Change its type and initialize it.
15243 (Fterm_open_connection): Check the frame is indeed a tty.
15244 Use the new gpm_tty.
15245 (Fterm_close_connection): Use the new gpm_tty.
15246 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15247 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15248
152492007-09-21 Juanma Barranquero <lekktu@gmail.com>
15250
15251 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15252 underline_color, to draw strike-through.
15253
152542007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15255
15256 * lisp.h (allocate_terminal): Declare.
15257
15258 * window.c (candidate_window_p): Consider frames that are being placed
15259 by the user as somewhere between visible and iconified.
15260 (window_loop): Prefer windows on the current frame.
15261 (Fselect_window): Move the use of select-frame to the beginning so we
15262 can just delegate all the work (it'll call us back anyway).
15263
15264 * frame.c (Qdisplay_environment_variable):
15265 * frame.h (Qdisplay_environment_variable): Delete.
15266
15267 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15268 of the first arg, since that value may be a union.
15269
15270 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15271 parameter rather than Qdisplay_environment_variable. If all else
15272 fails, look for DISPLAY in initial-environment.
15273
152742007-09-21 Glenn Morris <rgm@gnu.org>
15275
15276 * Makefile.in (emacstool): Remove target.
15277 (lisp, shortlisp): Remove termdev.elc.
15278
152792007-09-21 Markus Triska <markus.triska@gmx.at>
15280
15281 * xterm.c (x_delete_display): Compile session management conditionally.
15282
152832007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15284
15285 * callproc.c (getenv_internal_1): New function.
15286 (getenv_internal): Use it.
15287 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15288
15289 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15290 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15291 (Fset_terminal_parameter): Work with dead terminals as well.
15292 (Fmodify_terminal_parameters): Remove.
15293
15294 * terminal.c (get_terminal): Handle terminals.
15295 Make sure the terminal returned is live.
15296 (create_terminal): Use allocate_terminal.
15297 (mark_terminals): Move to alloc.c.
15298 (delete_terminal): Use terminal->name as liveness status.
15299 NULL out fields after freeing their contents.
15300 Don't deallocate the object.
15301 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15302 rather than an int.
15303 (Fterminal_live_p): Accept non-integer arguments.
15304 (Fterminal_list): Return terminal objects rather than an ints.
15305
15306 * alloc.c (enum mem_type): New member for `terminal' objects.
15307 (allocate_terminal): New function.
15308 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15309 Handle terminals.
15310 (mark_terminal): New fun.
15311 (mark_terminals): Move from terminal.c.
15312
15313 * term.c (get_tty_terminal): Don't treat output_initial specially.
15314 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15315 (delete_tty): Use terminal->name as liveness status.
15316
15317 * termhooks.h (struct terminal): Make it into a pseudovector.
15318 Remove `deleted' replaced by checking `name's nullness.
15319
15320 * print.c (print_object): Handle terminals.
15321
15322 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15323 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15324
15325 * frame.c (make_terminal_frame):
15326 * keyboard.c (tty_read_avail_input):
15327 * w32term.c (x_delete_terminal):
15328 * xfns.c (Fx_create_frame, x_create_tip_frame):
15329 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15330
153312007-09-20 Glenn Morris <rgm@gnu.org>
15332
15333 * process.c (Fmake_network_process): Doc fix.
15334
153352007-09-19 Jason Rumney <jasonr@gnu.org>
15336
15337 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15338
153392007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15340
15341 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15342 Fix a C warning regarding variable constness.
15343
15344 * xterm.c (handle_one_xevent): Fix a C warning.
15345
153462007-09-18 Jason Rumney <jasonr@gnu.org>
15347
15348 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15349
153502007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15351
15352 * gtkutil.c (gdpy_def): New variable.
15353 (xg_initialize): Initialize gdpy_def.
15354 (xg_display_close): If no other display exists, set gdpy_def to a
15355 new connection.
15356
153572007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15358
15359 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15360 when we have no file name for the icon.
15361 (xg_tool_bar_expose_callback): Remove.
15362 (xg_create_tool_bar): Don't connect expose signal to
15363 xg_tool_bar_expose_callback.
15364 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15365
153662007-09-16 Andreas Schwab <schwab@suse.de>
15367
15368 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15369 values instead of zapping them.
15370
153712007-09-14 Glenn Morris <rgm@gnu.org>
15372
15373 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15374 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15375 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15376 scope and rename to omfib_buffer for clarity.
15377 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15378
153792007-09-14 Kenichi Handa <handa@m17n.org>
15380
15381 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15382
153832007-09-13 Jason Rumney <jasonr@gnu.org>
15384
15385 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15386
15387 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15388
15389 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15390 (mac_term_init): Call here instead, passing rif.
15391
153922007-09-13 Glenn Morris <rgm@gnu.org>
15393
15394 * s/hpux.h: No longer define `static' as nothing.
15395
153962007-09-13 Johan Bockgård <bojohan@gnu.org>
15397
15398 * callint.c (Fcall_interactively): Remove unused var `fun'.
15399
154002007-09-12 Romain Francoise <romain@orebokech.com>
15401
15402 * window.c (prefer_window_split_horizontally, display_buffer):
15403 Revert 2007-09-08 change.
15404
154052007-09-12 Glenn Morris <rgm@gnu.org>
15406
15407 * alloca.c: Remove file.
15408 * Makefile.in (alloca): Do not undef.
15409 (allocaobj, alloca.o): Remove.
15410 (otherobj): Remove allocaobj.
15411 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15412 * regex.c (C_ALLOCA): Remove all references and code that was only
15413 used when this was defined.
15414 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15415 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15416 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15417
15418 * Makefile.in (SOURCES, unlock, relock): Delete.
15419
15420 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15421 (menu_grab_callback): All uses changed.
15422
15423 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15424 (x_reply_selection_request): All uses changed.
15425
154262007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15427
15428 * lread.c (load_warn_old_style_backquotes): Change message to look
15429 better when it appears in the middle of byte-compiler messages.
15430
154312007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15432
15433 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15434
15435 * xterm.c (x_create_terminal): Add comment.
15436
15437 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15438
154392007-09-10 Richard Stallman <rms@gnu.org>
15440
15441 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15442
154432007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15444
15445 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15446 (DEFUN): Document `intspec', use it instead of `prompt'.
15447
15448 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15449
15450 * data.c (Finteractive_form): If the interactive specification starts
15451 with a `(', use it as a Lisp form.
15452
15453 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15454 name and file modes.
15455
15456 * callint.c (Fcall_interactively): Comment fixes.
15457
154582007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15459
15460 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15461 and compiled functions.
15462
154632007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15464
15465 * window.c (prefer_window_split_horizontally): New variable.
15466 (display_buffer): Consider splitting window horizontally depending
15467 on prefer_window_split_horizontally.
15468
154692007-09-08 Eli Zaretskii <eliz@gnu.org>
15470
15471 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15472
154732007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15474
15475 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15476
15477 * frame.c (x_set_frame_parameters): Check number is positive before
15478 using XFASTINT.
15479
15480 * window.c (freeze_window_start): Don't presume selected_window holds
15481 a window object.
15482 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15483
154842007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15485
15486 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15487
154882007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15489
15490 * window.c (Vsplit_window_preferred_function): New var.
15491 (Fdisplay_buffer): Use it.
15492 (syms_of_window): Export, and initialize it.
15493
154942007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15495
15496 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15497
154982007-09-06 Glenn Morris <rgm@gnu.org>
15499
15500 * gtkutil.c (menu_grab_callback) <cnt>:
15501 * xselect.c (x_reply_selection_request) <cnt>: Move static
15502 variable to file scope.
15503
155042007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15505
15506 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15507 consistent values of selected_frame and selected_window.
15508
155092007-09-04 Jason Rumney <jasonr@gnu.org>
15510
15511 * w32console.c (initialize_w32_display): Zero unused hooks.
15512
155132007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15514
15515 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15516 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15517
155182007-09-04 Jason Rumney <jasonr@gnu.org>
15519
15520 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15521 in w32console.c. Set up input. Remove XXX comments that have been
15522 confirmed as correct.
15523
15524 * s/ms-w32.h (MULTI_KBOARD): Define.
15525
15526 * w32console.c (one_and_only_w32cons): Remove.
15527 (initialize_w32_display): Take terminal argument.
15528
15529 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15530 initialize_w32_display.
15531 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15532
15533 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15534
15535 * keyboard.c (discard_mouse_events): Discard it.
15536 (make_lispy_event): Translate it to a lisp event.
15537 (lispy_wheel_names): Add wheel-left and right events.
15538 (syms_of_keyboard): Enlarge wheel_syms.
15539
15540 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15541 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15542
15543 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15544
15545 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15546 from WM_MOUSEHWHEEL.
15547 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15548
15549 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15550 terminal.
15551
15552 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15553 keyboard for the terminal.
15554
155552007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15556
15557 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15558 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15559 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15560 and resume-tty-function to resume-tty-hook.
15561 (Fsuspend_tty, Fresume_tty): Use new names.
15562
155632007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15564
15565 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15566 if it starts with "n:".
15567
155682007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15569
15570 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15571
155722007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15573
15574 * frame.h:
15575 * frame.c (Qterm_environment_variable): Remove.
15576 (syms_of_frame): Don't init and staticpro it.
15577
15578 * callproc.c (getenv_internal): Remove special case for $TERM.
15579
15580 * callproc.c (Vinitial_environment): New variable.
15581 (set_initial_environment): Initialize it.
15582 (syms_of_callproc): Declare it.
15583 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15584 TERM under which a process runs is never related to the TERM in which
15585 Emacs is running.
15586
155872007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15588
15589 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15590 * s/darwin.h: ... do it here.
15591
155922007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15593
15594 * lisp.h (set_initial_environment): Rename from set_global_environment.
15595
15596 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15597 removed by mistake on the multi-tty branch.
15598
15599 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15600 (Fmodify_frame_parameters): Return a value.
15601
15602 * image.c (png_load): Comment-out var only used in commented-out code.
15603
15604 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15605 before passing it to mark_object.
15606
15607 * xfaces.c (internal_resolve_face_name): Return a value.
15608 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15609
15610 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15611 (x_icon): Comment-out var only used in commented-out code.
15612
156132007-08-29 Romain Francoise <romain@orebokech.com>
15614
15615 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15616 QUIT hasn't been provided.
15617
156182007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15619
15620 * callproc.c (child_setup, getenv_internal): Use the
15621 display-environment-variable and term-environment-variable frame params.
15622 (set_initial_environment): Initialise Vprocess_environment.
15623
15624 * config.in: Disable multi-keyboard support on a mac.
15625
15626 * frame.c (Qterm_environment_variable)
15627 (Qdisplay_environment_variable): New variables.
15628 (syms_of_frame): Intern and staticpro them.
15629 (Fmake_terminal_frame): Disable output method test.
15630
15631 * frame.h: Declare them here.
15632
15633 * macfns.c (x_set_mouse_color): Get rif from the frame.
15634 (x_set_tool_bar_lines): Don't use updating_frame.
15635 (mac_window): Add 2 new parameters for consistency with other systems.
15636 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15637 frame parameters following what is done in X11 and w32. Don't use
15638 FRAME_MAC_DISPLAY_INFO.
15639 (Fx_open_connection, start_hourglass): Remove window-system check.
15640 (x_create_tip_frame): Get the keyboard from the terminal.
15641
15642 * macmenu.c: Reorder includes.
15643 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15644
15645 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15646 terminal parameter.
15647 (x_clear_frame): Add a frame parameter.
15648 (note_mouse_movement): Get rif from the frame.
15649 (mac_term_init): Initialize the terminal.
15650 (mac_initialize): Make static and move terminal initialization ...
15651 (mac_create_terminal): ... to this new function.
15652
15653 * macterm.h (struct mac_display_info): Add terminal.
15654 (mac_initialize): Delete declaration.
15655
15656 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15657
15658 * sysdep.c: Comment out text after #endif.
15659
15660 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15661 is defined. Better initialize ttys in windows. Use terminal
15662 specific mouse_position_hook.
15663
15664 * termhooks.h (union display_info): Add mac_display_info.
15665
15666 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15667 Set the default minibuffer frame, window_system and the rest of the
15668 frame parameters following what is done in X11.
15669
15670 * w32term.c (w32_initialize): Make static.
15671
15672 * xselect.c (x_handle_selection_clear): Only access
15673 terminal->kboard when MULTI_KBOARD is defined.
15674
15675 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15676 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15677
156782007-08-29 Jason Rumney <jasonr@gnu.org>
15679
15680 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15681 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15682
15683 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15684 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15685
15686 * keyboard.c (restore_kboard_configuration): Only define when
15687 MULTI_KBOARD defined.
15688
15689 * makefile.w32-in: Update dependancies from Makefile.in.
15690 (OBJ1): Add terminal.$(O)
15691
15692 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15693 Don't define function body.
15694 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15695
15696 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15697
15698 * w32.c (request_sigio, unrequest_sigio): Remove.
15699
15700 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15701 (w32con_clear_frame, w32con_clear_end_of_line)
15702 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15703 (w32con_delete_glyphs, w32con_set_terminal_window)
15704 (scroll_line, w32_sys_ring_bell): Add frame arg.
15705 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15706 Add terminal arg.
15707 (PICK_FRAME): Remove.
15708 (w32con_write_glyphs): Use frame specific terminal coding.
15709 (one_and_only_w32cons): New global variable.
15710 (initialize_w32_display): Use it for storing hooks.
15711 (create_w32cons_output): New function.
15712
15713 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
15714 arg a frame.
15715
15716 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
15717 Set window_system.
15718 (x_set_tool_bar_lines): Don't use updating_frame.
15719 (Fx_create_frame): Set terminal and ref count.
15720 (Fx_open_connection): Remove window-system check.
15721
15722 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
15723
15724 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
15725 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
15726 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
15727 Add frame arg.
15728 (x_delete_terminal, w32_create_terminal): New functions.
15729 (w32_term_init): Create a terminal.
15730 (w32_initialize): Move terminal specific initialization to
15731 w32_create_terminal.
15732
15733 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
15734 (w32_clear_rect, w32_clear_area): Use background from frame.
15735 (w32_display_info): Add terminal.
15736 (w32_sys_ring_bell, x_delete_display): Declare here.
15737
15738 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
15739
15740 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
15741
157422007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
15743
15744 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
15745 Fix get_named_tty calls for the controlling tty.
15746
157472007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
15748
15749 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
15750
157512007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
15752
15753 * term.c (tty_insert_glyphs): Add missing first parameter.
15754
157552007-08-29 Károly Lőrentey <karoly@lorentey.hu>
15756
15757 * buffer.c (Fbuffer_list, Fbury_buffer):
15758 Take frame->buried_buffer_list into account.
15759
15760 * cm.c (current_tty): New variable, for cmputc().
15761 (cmputc): Use it.
15762 (cmcheckmagic): Add tty parameter, look up terminal streams there.
15763 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
15764 (cmgoto): Add tty parameter. Pass it on to calccost().
15765 Use emacs_tputs() instead of tputs().
15766
15767 * cm.h (emacs_tputs): New macro to set current_tty, and then call
15768 tputs().
15769 (current_tty): New variable, for cmputc().
15770 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
15771
15772 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
15773 (internal_condition_case, internal_condition_case_1)
15774 (internal_condition_case_2): Don't abort when x_catching_errors.
15775
15776 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
15777 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
15778 prevent crashes caused by bogus longjmps in read_char.
15779
15780 * keymap.h (Fset_keymap_parent): Add EXFUN.
15781
15782 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
15783 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15784 Remove redundant definition.
15785
15786 * macfns.c (x_set_mouse_color, x_make_gc):
15787 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15788
15789 * w32term.c (x_free_frame_resources):
15790 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15791 (w32_initialize): Use the accessor macros for terminal characteristics.
15792
15793 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
15794 Use the accessor macros for terminal characteristics.
15795 * msdos.c (internal_terminal_init): Use the accessor macros for
15796 terminal characteristics.
15797 (ScreenVisualBell, internal_terminal_init):
15798 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15799
15800 * termopts.h (no_redraw_on_reenter): Declare.
15801
15802 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
15803 (mark_terminals, mark_ttys): Declare.
15804 (Fgarbage_collect): Call them.
15805 (mark_object): Mark buried_buffer_list.
15806
15807 * prefix-args.c: Include stdlib.h for exit.
15808
15809 * syssignal.h: Add comment.
15810
15811 * indent.c: Include stdio.h.
15812
15813 * window.h (Vinitial_window_system): Declare.
15814 (Vwindow_system): Delete declaration.
15815
15816 * fontset.c (Finternal_char_font): Use FRAME_RIF.
15817
15818 * image.c (lookup_image): Don't initialize `c' until the xasserts
15819 have been run.
15820
15821 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
15822 FRAME_FOREGROUND_PIXEL.
15823
15824 * print.c (print_preprocess): Don't lose print_depth levels while
15825 iterating.
15826
15827 * widget.c (update_from_various_frame_slots):
15828 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
15829
15830 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
15831 frames.
15832 (window_internal_height): Remove bogus make_number call.
15833 (init_window_once): Call make_terminal_frame with two zero parameters.
15834
15835 * fileio.c (Fread_file_name): Update comment.
15836
15837 * callint.c (Fcall_interactively):
15838 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
15839 Make sure it is correctly unwound.
15840
15841 * xsmfns.c (x_session_close): New function.
15842
15843 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
15844 Delete declarations.
15845
15846 * xterm.h: Remove declaration for x_fully_uncatch_errors.
15847 (x_output): Remove background_pixel and foreground_pixel fields.
15848 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
15849 (x_delete_device, x_session_close): Declare.
15850
15851 * lread.c: Include setjmp.h. Update declaration of `read_char'.
15852 (read_filtered_event): Call `read_char' with a local
15853 `wrong_kboard_jmpbuf'.
15854
15855 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
15856 Don't call single_kboard_state. Use FRAME_RIF.
15857
15858 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
15859 systems.
15860
15861 * lisp.h (set_process_environment): Rename to `set_global_environment'.
15862 (Fframe_with_environment, Fset_input_meta_mode)
15863 (Fset_quit_char): EXFUN.
15864 (x_create_device, tty_output, terminal, tty_display_info): Declare.
15865 (init_sys_modes, reset_sys_modes): Update prototypes.
15866 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
15867
15868 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
15869 Vlocal_key_translation_map, and Vkeyboard_translate_table.
15870 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
15871 Delete declarations.
15872 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
15873 (temporarily_switch_to_single_kboard, tty_read_avail_input):
15874 New declarations.
15875
15876 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
15877 already does that during init_display(). Call syms_of_keymap
15878 before syms_of_keyboard. Call `syms_of_terminal'.
15879 Call set_initial_environment, not set_process_environment.
15880 (shut_down_emacs): Call reset_all_sys_modes() instead of
15881 reset_sys_modes().
15882
15883 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
15884 (internal_resolve_face_name, resolve_face_name_error): New functions.
15885 (resolve_face_name): Protect against loops and errors thrown by Fget.
15886 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
15887 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
15888
15889 * scroll.c: Replace CURTTY() with local variables throughout the
15890 file (where applicable).
15891 (calculate_scrolling, calculate_direct_scrolling)
15892 (scrolling_1, scroll_cost): Use the accessor macros for terminal
15893 characteristics.
15894
15895 * keymap.c (Vfunction_key_map): Remove.
15896 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
15897 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
15898 (Vkey_translation_map): Remove.
15899 (syms_of_keymap): Remove DEFVAR for key-translation-map.
15900 (Fdescribe_buffer_bindings)
15901 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
15902 Update for terminal-local key-translation-map.
15903
15904 * Makefile.in (callproc.o): Update dependencies.
15905 (lisp, shortlisp): Add termdev.elc.
15906 (obj): Add terminal.o.
15907 (terminal.o): Add dependencies.
15908 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
15909 (data.o, fns.o): Add termhooks.h dependency.
15910 (SOME_MACHINE_LISP): Add dnd.elc.
15911 (minibuf.o): Fix typo.
15912 Update dependencies.
15913
15914 * data.c (do_symval_forwarding, store_symval_forwarding)
15915 (find_symbol_value): Use the selected frame's keyboard, not
15916 current_kboard.
15917
15918 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
15919 Vwindow_system.
15920
15921 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
15922 Fmenu_bar_open.
15923 (syms_of_xmenu): Update defsubr.
15924 (mouse_position_for_popup, Fx_popup_menu)
15925 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
15926 (set_frame_menubar, free_frame_menubar)
b97439ce 15927 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
15928 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
15929 an X frame.
15930
15931 * xselect.c (x_own_selection): Abort if not an X frame.
15932 (some_frame_on_display): Check if it is an X frame.
15933 (x_handle_selection_clear): Deal with MULTI_KBOARD.
15934
15935 * coding.c: Include frame.h and termhooks.h.
15936 (terminal_coding, keyboard_coding): Delete.
15937 (Fset_terminal_coding_system_internal)
15938 (Fset_keyboard_coding_system_internal)
15939 (Fkeyboard_coding_system)
15940 (Fterminal_coding_system): Add a terminal parameter.
15941 Get terminal_coding from the terminal.
15942 (init_coding_once): Don't call setup_coding_system here.
15943
15944 * dispextern.h (set_scroll_region, turn_off_insert)
15945 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
15946 (tty_clear_end_of_line, tty_setup_colors)
15947 (delete_tty, updating_frame)
15948 (produce_special_glyphs, produce_glyphs, write_glyphs)
15949 (insert_glyphs): Remove.
15950 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
15951 (tty_turn_off_highlight, get_tty_size): Add declaration.
15952 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
15953
15954 * frame.h (enum output_method): Add output_initial.
15955 (struct x_output): Delete.
15956 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
15957 Access foreground_pixel and background_pixel directly from the frame.
15958 (tty_display): Delete.
15959 (struct frame): Add buried_buffer_list, foreground_pixel,
15960 background_pixel and terminal. Delete kboard.
15961 (union output_data): Add tty.
15962 (FRAME_KBOARD): Get the kboard from the terminal.
15963 (FRAME_INITIAL_P): New macro.
15964 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
15965 (Qterm_environment_variable, Qdisplay_environment_variable)
15966 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
15967 New declarations.
15968
15969 * termchar.h (tty_output, tty_display_info): New structures.
15970 (tty_list): Declare.
15971 (FRAME_TTY, CURTTY): New macros.
15972 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
15973 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
15974 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
15975 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
15976
15977 * callproc.c: Include frame.h and termhooks.h, for terminal
15978 parameters.
15979 (add_env): New function.
15980 (child_setup): Use it.
15981 (child_setup, getenv_internal): Handle the new Vprocess_environment.
15982 (getenv_internal): Fix get_terminal_param call.
15983 (Fgetenv_internal, egetenv): Update doc.
15984 (syms_of_callproc): Initialize Vprocess_environment to nil.
15985 Register and initialize them. Remove obsolete defvars. Update doc
15986 strings.
15987 (child_setup): Handle Vlocal_environment_variables.
15988 (getenv_internal): Add terminal parameter.
15989 Handle Vlocal_environment_variables.
15990 (Fgetenv_internal): Add terminal parameter.
15991 (child_setup, getenv_internal, Fgetenv_internal): Store the local
15992 environment in a frame (not terminal) parameter. Update doc strings.
15993 (set_initial_environment): Rename from set_global_environment.
15994 Store Emacs environment in initial frame parameter.
15995
15996 * xdisp.c (redisplay_internal): Update references to
15997 `previous_terminal_frame'.
15998 (display_mode_line, Fformat_mode_line): Replace calls to
15999 `push_frame_kboard' with `push_kboard'.
16000 (get_glyph_string_clip_rects): Add extra parentheses and
16001 braces to prevent compiler warnings.
16002 (calc_pixel_width_or_height): Add xassert to check that the
16003 frame is alive. Don't call `lookup_image' on a termcap frame.
16004 (message2_nolog, message3_nolog, redisplay_internal)
16005 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16006 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16007 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16008 (Fx_display_pixel_width, Fx_display_pixel_height)
16009 (Fx_display_planes, Fx_display_color_cells)
16010 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16011 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16012 (Fx_display_backing_store, Fx_display_visual_class)
16013 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16014 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16015
16016 * xfns.c (x_set_foreground_color x_set_background_color)
16017 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16018 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16019 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16020 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16021 terminal that is being deleted.
16022 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16023 frame parameter, and make sure it overrides any user-supplied setting.
16024 (Fx_close_connection, Fx_synchronize): Unify argument names with
16025 the rest of the DEFUNs.
16026
16027 * dispnew.c (Fsend_string_to_terminal): Update call to
16028 `get_tty_terminal'.
16029 (Fredraw_frame, Fsend_string_to_terminal)
16030 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16031 FRAME_TERMCAP_P and FRAME_TTY.
16032 (window_change_signal): Don't believe width/height values that are
16033 impossibly small.
16034 (Vinitial_window_system): Rename from Vwindow_system.
16035 (termscript, Wcm, rif): Delete.
16036
16037 * termhooks.h (struct terminal): New struct containing the
16038 previously global text display hooks and new members NAME,
16039 DELETED and PARAM_ALIST.
16040 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16041 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16042 (FRAME_RIF): New macros.
16043 (get_terminal_param, get_device): New declarations.
16044 (termscript): Delete declaration.
16045
16046 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16047 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16048 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16049 FRAME_FOREGROUND_PIXEL.
16050 (x_fully_uncatch_errors): Disable definition.
16051 (x_scroll_bar_expose): Fix reference to foreground pixel.
16052 (XTread_socket): Disable loop on all X displays.
16053 (x_delete_terminal): Don't set terminal->deleted and let
16054 delete_terminal delete the frames on the terminal.
16055 (x_delete_display): Doc update to reflect changes in
16056 delete_terminal.
16057 (x_display_info) <terminal>: Move member earlier in the struct.
16058 (deleting_tty): Remove old variable.
16059 (Fsuspend_tty): Call clear_tty_hooks.
16060 (Fresume_tty, init_tty): Call set_tty_hooks.
16061 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16062 errors on X frames.
16063 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16064 (handle_one_xevent): Initialize `f' to NULL.
16065 (x_delete_terminal, x_create_terminal): New functions.
16066 (XTset_terminal_modes, XTreset_terminal_modes)
16067 (XTread_socket, x_connection_closed, x_term_init)
16068 (x_term_init, x_delete_display): Add terminal parameter.
16069 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16070 X connections.
16071
16072 * frame.c: Include termchar.h.
16073 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16074 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16075 (Qdisplay_environment_variable): New vars.
16076 (Fframep): Deal with output_initial.
16077 (Fframe-live-p): Doc fix.
16078 (Fwindow-system): New function.
16079 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16080 (make_terminal_frame): Don't create frames on a terminal that is
16081 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16082 (store_frame_param): Check for found_for_frame before calling XFRAME.
16083 (Fmake_terminal_frame): Handle NULL tty names correctly.
16084 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16085 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16086 frames to refer to a deleted frame in their 'environment parameter.
16087 (Fframe_with_environment): New function.
16088 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16089 (get_future_frame_param): New function.
16090 (Fmake_terminal_frame): Use it.
16091 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16092
16093 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16094 * sysdep.c (reset_sys_modes): Update for renames.
16095
16096 * keyboard.c (tty_read_avail_input): New function.
16097 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16098 (syms_of_keyboard): Defsubr them.
16099 (Fset_input_meta_mode, Fset_quit_char): New functions.
16100 (Fset_input_mode): Split to above functions.
16101 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16102 parameter. Use it in call to `read_char'.
16103 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16104 Set wrong_kboard_jmpbuf correctly in recursive calls.
16105 Use current_kboard to access Vkeyboard_translate_table.
16106 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16107 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16108 Update longjmp invocations. Remember the original current_kboard,
16109 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16110 changes it. Comment out unnecessary calls to
16111 `record_single_kboard_state' and `any_kboard_state'.
16112 Update recursive calls.
16113 (wrong_kboard_jmpbuf): Remove global variable.
16114 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16115 Handle deleted interrupted_kboards correctly; that is a legal
16116 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16117 and read_char calls. Abort if interrupted_kboard died in read_char.
16118 (any_kboard_state, single_kboard_state)
16119 (push_frame_kboard): Remove function.
16120 (pop_kboard): Switch out of single_kboard mode if the kboard has
16121 been deleted. Remove unused variable. Help debugging by not
16122 changing current_kboard unnecessarily. Set current_kboard to the
16123 kboard of the selected frame when the stored kboard object has
16124 been deleted before pop_kboard.
16125 (temporarily_switch_to_single_kboard): Change first parameter to a
16126 frame pointer. Throw an error when caller wants to change kboards
16127 while in single_kboard mode. Don't push_kboard if we weren't in
16128 single kboard state. Don't pop_kboard if we popped into any
16129 kboard state.
16130 (restore_kboard_configuration): Abort if pop_kboard changed the
16131 kboard in single_kboard mode. Call pop_kboard only after setting
16132 up single_kboard mode.
16133 (Frecursive_edit): Switch to single_kboard mode only in nested
16134 command loops.
16135 (cmd_error, command_loop, command_loop_1, timer_check):
16136 Comment out unnecessary call to `any_kboard_state' and
16137 `record_single_kboard_state'.
16138 (delete_kboard): Exit single_kboard mode if we have just deleted
16139 that kboard. Use FRAME_KBOARD.
16140 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16141 `fatal_error_signal'.
16142 (record_single_kboard_state): Don't push_kboard if we weren't in
16143 single kboard state. Don't pop_kboard if we popped into any
16144 kboard state.
16145 (push_frame_kboard): Rename to push_kboard.
16146 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16147 (read_avail_input): Read input from all terminals.
16148 (mark_kboards): Also mark Vkeyboard_translate_table.
16149 (kbd_buffer_store_event_hold): Simplify condition.
16150 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16151 (Vkeyboard_translate_table): Move to struct kboard.
16152 (init_kboard): Initialize Vkeyboard_translate_table.
16153 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16154 Vkeyboard_translate_table. Update doc strings. Update docs of
16155 local-function-key-map and function-key-map.
16156
16157 * terminal.c: New file.
16158
16159 * term.c: Include errno.h.
16160 (Vring_bell_function, device_list, initial_device)
16161 (next_device_id, ring_bell, update_begin, update_end)
16162 (set_terminal_window, cursor_to, raw_cursor_to)
16163 (clear_to_end, clear_frame, clear_end_of_line)
16164 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16165 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16166 (syms_of_term): Move their initialization to terminal.c.
16167 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16168 (Ftty_display_color_cells)
16169 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16170 (clear_tty_hooks, set_tty_hooks)
16171 (init_tty, maybe_fatal): New functions.
16172 (Ftty_type): Return nil if terminal is not on a tty instead of
16173 throwing an error. Doc update.
16174 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16175 Doc update. Initialize new subrs and variables.
16176 (delete_tty): Use terminal->deleted.
16177 (tty_set_terminal_modes): Rename from set_terminal_modes.
16178 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16179 (set_scroll_region): Rename to `tty_set_scroll_region'.
16180 (turn_on_insert): Rename to `tty_turn_on_insert'.
16181 (turn_off_insert): Rename to `tty_turn_off_insert'.
16182 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16183 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16184 (toggle_highligh): Rename to `tty_toggle_highlight'.
16185 (background_highlight): Rename to `tty_background_highlight'.
16186 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16187 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16188 (tty_set_scroll_region, tty_background_highlight)
16189 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16190 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16191 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16192 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16193 Add static modifier.
16194 (tty_reset_terminal_modes, tty_set_terminal_window)
16195 (tty_set_scroll_region, tty_background_highlight)
16196 (tty_highlight_if_desired, tty_cursor_to)
16197 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16198 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16199 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16200 renames.
16201
162022007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16203
16204 * keyboard.c: Qrtl is new.
16205 (parse_tool_bar_item): Handle :rtl keyword.
16206 (syms_of_keyboard): Intern :rtl keyword.
16207
16208 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16209
16210 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16211 so no Lisp code is executed.
16212 (file_for_image, find_rtl_image): New functions.
16213 (xg_get_image_for_pixmap): Use file_for_image.
16214 (update_frame_tool_bar): If direction is RTL, use RTL image if
16215 defined. Use Gtk stock images if defined.
16216
162172007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16218
16219 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16220 for nonexistent or zero-width glyph in composition glyph.
16221
162222007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16223
16224 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16225
16226 * xdisp.c (Finvisible_p): New function.
16227 (syms_of_xdisp): defsubr it.
16228
162292007-08-24 Juanma Barranquero <lekktu@gmail.com>
16230
16231 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16232 Doc fixes.
16233
162342007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16235
16236 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16237
162382007-08-24 Martin Rudalics <rudalics@gmx.at>
16239
16240 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16241 whether decoding has modified buffer contents.
16242
162432007-08-24 Jason Rumney <jasonr@gnu.org>
16244
16245 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16246 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16247 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16248 (init_svg_functions) [HAVE_NTGUI]: New function.
16249 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16250 (svg_load_image): Use them.
16251 (svg_load_image) [HAVE_NTGUI]: Implement background.
16252
162532007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16254
16255 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16256 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16257 (LIBX): Remove @RSVG_LIBS@.
16258 (LIBES): Add $(RSVG_LIBS).
16259
16260 * image.c (svg_load_image): Blend with specified background if exists.
16261 Use IMAGE_BACKGROUND. Add Mac OS Support.
16262
16263 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16264 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16265 Remove macros.
16266 [MAC_OSX] (socket_callback): Do nothing.
16267 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16268 ReceiveNextEvent.
16269 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16270 socket_callback.
16271 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16272
162732007-08-22 Glenn Morris <rgm@gnu.org>
16274
16275 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16276
162772007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16278
16279 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16280
16281 * image.c: Add support for SVG images. Some additional comments
16282 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16283 (svg_image_p): New function to test for SVG image.
16284 (svg_load): New function to load SVG image.
16285 (svg_load_image): New function, helper for svg_load.
16286 (Qsvg): New Lisp_object.
16287 (svg_keyword_index): New enum.
16288 (svg_format): New static `image_keyword' struct.
16289 (svg_type): New static `image_type' struct.
16290 (librsvg/rsvg.h): Include it.
16291
162922007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16293
16294 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16295
162962007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16297
16298 * lread.c (Qold_style_backquotes): New var.
16299 (syms_of_lread): Init and staticpro it.
16300 (load_warn_old_style_backquotes): New fun.
16301 (Fload): Use them to warn about old style backquotes.
16302 (end_of_file_error, Fload): Remove unused vars.
16303
16304 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16305
16306 * lread.c (Vold_style_backquotes): New var.
16307 (syms_of_lread): Init and export it to Elisp.
16308 (read1): Set it when we find an old-style (back)quote.
16309
163102007-08-22 Jason Rumney <jasonr@gnu.org>
16311
16312 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16313
163142007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16315
16316 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16317
163182007-08-19 Richard Stallman <rms@gnu.org>
16319
16320 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16321
163222007-08-19 Andreas Schwab <schwab@suse.de>
16323
16324 * alloc.c (pure): Round PURESIZE up.
16325
163262007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16327
16328 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16329 active frame.
16330
163312007-08-16 Richard Stallman <rms@gnu.org>
16332
16333 * eval.c (Fcommandp): Add parens to clarify.
16334
16335 * minibuf.c (Fall_completions): Use enum for type of table.
16336
16337 * emacs.c (USAGE2): Improve text.
16338
163392007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16340
16341 * term.c (tty_default_color_capabilities): Declare static
16342 variables in file scope, to avoid HPUX compiler problem.
16343
163442007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16345
16346 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16347 to gtk_toolbar_insert.
16348
163492007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16350
16351 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16352
16353 * insdel.c (reset_var_on_error): New fun.
16354 (signal_before_change, signal_after_change):
16355 Use it to reset (after|before)-change-functions to nil in case of error.
16356 Bind inhibit-modification-hooks to t.
16357 Don't bind (after|before)-change-functions to nil while they run.
16358
163592007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16360
16361 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16362 filling pixmap with stippled background.
16363
163642007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16365
16366 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16367 Don't use invisible frame as parent window for repositioning.
16368
163692007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16370
16371 * print.c (new_backquote_output): Rename from old_backquote_output.
16372 (print): Inverse its logic (according to its name) so as to match the
16373 behavior of new_backquote_flag in lread.c.
16374
163752007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16376
16377 * gmalloc.c (posix_memalign): New function.
16378
16379 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16380 ActivateControl/DeactivateControl here.
16381 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16382 frame-notice-user-settings is non-nil.
16383 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16384 for kEventParamFMFontStyle.
16385 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16386 mac_pass_command_to_system and mac_pass_control_to_system here.
16387 (XTread_socket): Call ActivateControl/DeactivateControl here.
16388 (XTread_socket) [TARGET_API_MAC_CARBON]:
16389 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16390 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16391 for window repositioning.
16392
163932007-08-08 Glenn Morris <rgm@gnu.org>
16394
16395 * Replace `iff' in doc-strings and comments.
16396
163972007-08-07 Chong Yidong <cyd@stupidchicken.com>
16398
16399 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16400
164012007-08-07 Martin Rudalics <rudalics@gmx.at>
16402
16403 * fileio.c (Finsert_file_contents): Run format-decode and
16404 after_insert_file_functions on entire buffer when REPLACE is
16405 non-nil and inhibit modification_hooks and point_motion_hooks.
16406 For consistency, run after_insert_file_functions iff something
16407 got inserted. Move signal_after_change and update_compositions
16408 after code running after_insert_file_functions. Make sure that
16409 undo_list doesn't record intermediate steps of the decoding process.
16410
164112007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16412
16413 * emacs.c (main)
16414 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16415 Call malloc_enable_thread on interactive startup.
16416
16417 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16418 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16419 [USE_PTHREAD]: Conditionalize with it.
16420 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16421 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16422 New functions.
16423
164242007-08-06 Chong Yidong <cyd@stupidchicken.com>
16425
16426 * xdisp.c (redisplay_window): When restoring original buffer
16427 position, make sure it is still valid.
16428
16429 * image.c (png_load): Ignore png-supplied background color.
16430
164312007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16432
16433 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16434 Use kCFAbsoluteTimeIntervalSince1970.
16435
16436 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16437 New variable.
16438 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16439 event loop should be quit.
16440 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16441 Quit dialog event loop if quit_dialog_event_loop is set.
16442
16443 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16444 (Selection): New typedef. Use instead of ScrapRef.
16445 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16446 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16447 (mac_clear_selection): Rename from clear_scrap.
16448 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16449 scrap_has_target_type. All uses changed.
16450 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16451 (mac_selection_has_target_p): New functions.
16452 (mac_put_selection_value): Rename from put_scrap_string.
16453 (mac_get_selection_value): Rename from get_scrap_string.
16454 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16455 (put_scrap_private_timestamp, scrap_has_target_type)
16456 (get_scrap_private_timestamp): Remove functions.
16457 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16458 (x_own_selection, x_get_local_selection):
16459 Use mac_valid_selection_value_p.
16460 (x_own_selection): Don't use put_scrap_private_timestamp.
16461 Record OWNERSHIP-INFO into Vselection_alist instead.
16462 (x_get_local_selection): Don't check type if request is local.
16463 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16464 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16465
164662007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16467
16468 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16469 add comment explaining why.
16470
164712007-08-03 Richard Stallman <rms@gnu.org>
16472
16473 * fileio.c (Fvisited_file_modtime): Use make_time.
16474
164752007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16476
16477 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16478 build.
16479
164802007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16481
16482 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16483
164842007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16485
16486 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16487
164882007-07-30 Richard Stallman <rms@gnu.org>
16489
16490 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16491
164922007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16493
16494 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16495
164962007-07-28 Nick Roberts <nickrob@snap.net.nz>
16497
16498 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16499 remote default-directory.
16500
16501 * buffer.c (mode-line-format): Update doc string.
16502
165032007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16504
16505 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16506 scroll bar gap.
16507 (x_scroll_bar_create): Set bar->fringe_extended_p.
16508 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16509 on frame edge. Check fringe background extension. Don't clear
16510 extended fringe background area.
16511
16512 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16513 (w32_fill_area): Enclose multiple statements with do ... while (0).
16514
16515 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16516 Extend fringe background to scroll bar gap.
16517 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16518 Set bar->fringe_extended_p.
16519 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16520 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16521 background extension. Don't clear extended fringe background area.
16522
16523 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16524 New member fringe_extended_p.
16525
165262007-07-25 Glenn Morris <rgm@gnu.org>
16527
16528 * Relicense all FSF files to GPLv3 or later.
16529
16530 * COPYING: Switch to GPLv3.
16531
165322007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16533
16534 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16535
16536 * data.c (Finteractive_form): Check for the presence of an
16537 `interactive-form' symbol property more thoroughly.
16538
16539 * data.c (Finteractive_form): Use an `interactive-form' property if
16540 present, analogous to the function-documentation property.
16541
165422007-07-24 Jason Rumney <jasonr@gnu.org>
16543
16544 * w32fns.c (x_real_positions): Get real position from OS instead of
16545 calculating it.
16546
165472007-07-23 Jason Rumney <jasonr@gnu.org>
16548
16549 * filelock.c (current_lock_owner): Allow for @ sign in username.
16550
165512007-07-22 Nick Roberts <nickrob@snap.net.nz>
16552
16553 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16554 remote default-directory.
16555
16556 * buffer.c (mode-line-format): Describe above case in doc string.
16557
165582007-07-20 Eli Zaretskii <eliz@gnu.org>
16559
16560 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16561 Define if not defined.
16562
165632007-07-18 Jason Rumney <jasonr@gnu.org>
16564
16565 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16566
165672007-07-18 Richard Stallman <rms@gnu.org>
16568
16569 * data.c (Fsetq_default): Doc fix.
16570
16571 * eval.c (Fsetq): Doc fix.
16572
165732007-07-18 Juanma Barranquero <lekktu@gmail.com>
16574
16575 * coding.c (Ffind_operation_coding_system):
16576 * eval.c (For, Fand): Doc fixes.
16577 Reported by Johan Bockgård.
16578
165792007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16580
16581 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16582
16583 * xterm.h: Declare x_ewmh_activate_frame.
16584
16585 * xterm.c (x_ewmh_activate_frame): New function.
16586 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16587
165882007-07-17 Martin Rudalics <rudalics@gmx.at>
16589
16590 * window.c (Fdisplay_buffer): If largest or LRU window is the
16591 only window, split it even if it is not eligible for splitting.
16592 This restores the original behavior broken by the 2007-07-15
16593 change.
16594
165952007-07-17 Glenn Morris <rgm@gnu.org>
16596
16597 * abbrev.c (abbrev_check_chars): New function.
16598 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16599 Call abbrev_check_chars to check abbrev characters are word
16600 constituents. Doc fix.
16601
166022007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16603
16604 * process.c (Fstart_process, Fmake_network_process)
16605 (read_process_output): Fix up last changes.
16606
166072007-07-16 Eli Zaretskii <eliz@gnu.org>
16608
16609 * makefile.w32-in (clean): Don't delete *~.
16610
166112007-07-16 Andreas Schwab <schwab@suse.de>
16612
16613 * window.c (Fdisplay_buffer): Use NILP.
16614 (Fset_window_scroll_bars): Likewise.
16615
166162007-07-15 Martin Rudalics <rudalics@gmx.at>
16617
16618 * window.c (window_min_size_2): New function.
16619 (window_min_size_1, size_window, Fdisplay_buffer)
16620 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16621 windows without mode- or header-lines when window-min-height is
16622 too small.
16623 (size_window): Reset nodelete_p after testing it, following an
16624 earlier note by Kim F. Storm.
16625 (display_buffer): Do not set split_height_threshold to twice the
16626 value of window_min_height to avoid changing the value of a
16627 customizable variable. Rather explicitly check whether the
16628 height of the window that shall be splitted is at least as large
16629 as split_height_threshold.
16630 (Fwindow_full_width_p): New defun.
16631 (syms_of_window): Defsubr it.
16632
16633 * window.h: Add EXFUN for Fwindow_full_width_p.
16634
166352007-07-14 Jason Rumney <jasonr@gnu.org>
16636
16637 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16638
166392007-07-14 Richard Stallman <rms@gnu.org>
16640
16641 * eval.c (maybe_call_debugger): New function.
16642 (find_handler_clause): Use maybe_call_debugger.
16643 Call it when the handler says `debug'.
16644 Eliminate DEBUGGER_VALUE_PTR.
16645 (Fsignal): Eliminate debugger_value.
16646 (Qdebug): New variable.
16647 (syms_of_eval): Initialize it.
16648
166492007-07-14 Juanma Barranquero <lekktu@gmail.com>
16650
16651 * eval.c (Fprogn):
16652 * keyboard.c (Ftrack_mouse):
16653 * print.c (Fwith_output_to_temp_buffer):
16654 * window.c (Fsave_window_excursion): Doc fix.
16655
166562007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16657
16658 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16659
166602007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16661
16662 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16663 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16664 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16665 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16666 Remove unused encoding_carryover.
16667 * process.c: Adjust all functions accordingly.
16668
166692007-07-12 Richard Stallman <rms@gnu.org>
16670
16671 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16672
166732007-07-11 Jason Rumney <jasonr@gnu.org>
16674
16675 * makefile.w32-in (LIBS): Include OLE32.
16676
16677 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16678 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16679
166802007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16681
16682 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16683 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16684 from a Lisp_Object into a bare pointer.
16685 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16686 Adjust the code correspondingly.
16687
16688 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16689
16690 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16691 (term_show_mouse_face): Remove unused var `j'.
16692 (handle_one_term_event): Remove unused vars `i' and `j'.
16693 Don't cast return value of ttyname since it's not necessary.
16694
166952007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16696
16697 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16698 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16699
16700 * fns.c (map_char_table): Use an array of int for `indices' rather than
16701 an array of Lisp_Objects (which are only ever integers anyway).
16702 (Fmap_char_table): Update caller.
16703 * lisp.h: Update prototype.
16704 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16705 * fontset.c (Ffontset_info):
16706 * casetab.c (set_case_table): Update callers.
16707
16708 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16709
16710 * keymap.c (struct accessible_keymaps_data)
16711 (struct where_is_internal_data): New structures.
16712 (accessible_keymaps_1, where_is_internal_1): Use them to change
16713 interface to adhere to the one used by map_keymap.
16714 (Faccessible_keymaps, where_is_internal): Use map_keymap.
16715 (accessible_keymaps_char_table, where_is_internal_2): Remove.
16716
16717 * keymap.h (map_keymap_function_t): More informative prototype.
16718
167192007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
16720
16721 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
16722 (looking_at_1): Don't change search_regs and last_thing_searched
16723 if `inhibit-changing-match-data' is non-nil.
16724 (string_match_1, search_buffer, set_search_regs): Likewise.
16725 (syms_of_search): Add Lisp level definition for
16726 `inhibit-changing-match-data' and set it to nil.
16727 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
16728 start and end of the match, instead of using values in search_regs.
16729
167302007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
16731
16732 * minibuf.c (Fcompleting_read): New value `confirm-only'
16733 for `require-match'.
16734
167352007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
16736
16737 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
16738 part of the 2007-06-27 change to syms_of_fileio.
16739
167402007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16741
16742 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
16743 Check WINDOWP before using XWINDOW. Consolidate return statements.
16744
167452007-06-27 Richard Stallman <rms@gnu.org>
16746
16747 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
16748
167492007-06-27 Juanma Barranquero <lekktu@gmail.com>
16750
16751 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
16752
167532007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16754
16755 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
16756 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
16757 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
16758 (_free_internal, memalign): Use them.
16759 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
16760 Initialize to PTHREAD_MUTEX_INITIALIZER.
16761 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
16762 (morecore_nolock): Rename from morecore. All uses changed.
16763 Use only nolock versions of internal allocation functions.
16764 (_malloc_internal_nolock, _realloc_internal_nolock)
16765 (_free_internal_nolock): New functions created from
16766 _malloc_internal, _realloc_internal, and _free_internal.
16767 (_malloc_internal, _realloc_internal, _free_internal): Use them.
16768 Copy hook value to automatic variable before its use.
16769 (memalign): Copy hook value to automatic variable before its use.
16770
167712007-06-26 Kenichi Handa <handa@m17n.org>
16772
16773 * coding.c (Ffind_operation_coding_system): Docstring improved.
16774 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
16775
167762007-06-25 David Kastrup <dak@gnu.org>
16777
16778 * keymap.c (Fcurrent_active_maps): Add `position' argument.
16779 (Fwhere_is_internal): Adjust call to `current-active-maps' to
16780 cater for additional parameter.
16781
16782 * keymap.h: Adjust number of parameters to `current-active-maps'.
16783
16784 * doc.c (Fsubstitute_command_keys): Adjust call of
16785 `current-active-maps'.
16786
167872007-06-25 David Kastrup <dak@gnu.org>
16788
16789 * callint.c (Fcall_interactively): Make the parsing of interactive
16790 specs somewhat more readable.
16791
167922007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16793
16794 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
16795 to scroll bar gap also when bitmap fills fringe. Draw only foreground
16796 if extended background has already been filled.
16797
167982007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16799
16800 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
16801 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
16802
16803 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
16804 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
16805 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
16806 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
16807 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
16808 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
16809 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
16810 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
16811 Run timers during dialog popup.
16812 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
16813
168142007-06-21 Jason Rumney <jasonr@gnu.org>
16815
16816 * image.c (convert_mono_to_color_image): Swap fore and background.
16817
168182007-06-20 Jason Rumney <jasonr@gnu.org>
16819
16820 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
16821 (w32_free_bdf_font): Unmap memory not handle.
16822
168232007-06-20 Sam Steingold <sds@gnu.org>
16824
16825 * gmalloc.c (__morecore): Fix the declaration to comply with the
16826 definition.
16827
168282007-06-20 Juanma Barranquero <lekktu@gmail.com>
16829
16830 * w32term.c (w32_delete_display): Remove leftover declaration.
16831 (w32_define_cursor, w32_initialize): Make static.
16832
16833 * w32.c (_wsa_errlist): Fix typo in error message.
16834 (init_environment): Ignore any environment variable from the
16835 registry having a null value.
16836
168372007-06-20 Glenn Morris <rgm@gnu.org>
16838
16839 * Makefile.in (LIBGIF): Default to -lgif.
16840
168412007-06-17 Jason Rumney <jasonr@gnu.org>
16842
16843 * w32menu.c (add_menu_item): Don't use multibyte string functions on
16844 unicode strings.
16845
168462007-06-16 Juanma Barranquero <lekktu@gmail.com>
16847
16848 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
16849 Fix typo in docstring.
16850
168512007-06-16 Eli Zaretskii <eliz@gnu.org>
16852
16853 * w32menu.c (add_menu_item): Escape `&' characters in menu items
16854 and their keybindings.
16855
168562007-06-15 Chong Yidong <cyd@stupidchicken.com>
16857
16858 * composite.c (update_compositions): Fix last fix.
16859
168602007-06-14 Jason Rumney <jasonr@gnu.org>
16861
16862 * w32.c (get_process_times_fn): New function pointer.
16863 (globals_of_w32): Intialize it if present in kernel32.dll.
16864 (w32_get_internal_run_time): New function.
16865
16866 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
16867
168682007-06-14 Kenichi Handa <handa@etlken.m17n.org>
16869
16870 * composite.c (update_compositions): Check the validness of
16871 compositions.
16872
168732007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16874
16875 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
16876 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
16877
16878 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
16879 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
16880
16881 * macgui.h (USE_MAC_TOOLBAR): New define.
16882
16883 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16884 Return immediately unless popup is activated.
16885
16886 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
16887 background to scroll bar gap.
16888 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
16889 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
16890 scroll bars on frame edge. Check fringe background extension.
16891 Don't clear extended fringe background area.
16892 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
16893 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
16894 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
16895 [USE_MAC_TOOLBAR]: New macros.
16896 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
16897 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
16898 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
16899 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
16900 [USE_MAC_TOOLBAR]: New functions.
16901 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
16902 manually if previous repositioning has failed.
16903 (mac_handle_keyboard_event): Use precomputed event kind.
16904 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
16905 as tool bar item click. Handle mouse movement over tool bar items.
16906
16907 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
16908 toolbar_win_gravity.
16909 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
16910 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
16911 Add externs.
16912
16913 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
16914 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
16915
169162007-06-14 Chong Yidong <cyd@stupidchicken.com>
16917
16918 * image.c (search_image_cache): Remove unused variable.
16919
169202007-06-13 Chong Yidong <cyd@stupidchicken.com>
16921
16922 * xfns.c, xmenu.c: Link to xaw3d if available.
16923
169242007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16925
16926 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
16927 frame_foreground and frame_background.
16928
16929 * image.c (lookup_image): Save frame foreground and background colors.
16930 (search_image_cache): Check if saved and current frame colors match.
16931
169322007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
16933
16934 * regex.c (regex_compile): Remove the `regnum' counter.
16935 Use bufp->re_nsub instead. Add support for \(?N:RE\).
16936
169372007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
16938
16939 * term.c: Include intervals.h to declare Fget_text_property.
16940
169412007-06-10 Jason Rumney <jasonr@gnu.org>
16942
16943 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
16944
169452007-06-08 Juanma Barranquero <lekktu@gmail.com>
16946
16947 * callint.c (Fcall_interactively):
16948 * editfns.c (Fdelete_and_extract_region):
16949 * fileio.c (Fread_file_name):
16950 * fns.c (Fmapconcat):
16951 * keyboard.c (cmd_error_internal):
16952 * keymap.c (Fkey_description):
16953 * lread.c (openp):
16954 * minibuf.c (read_minibuf):
16955 * search.c (wordify):
16956 * sunfns.c (sel_read):
16957 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
16958 * xfns.c (x_default_scroll_bar_color_parameter):
16959 * xmenu.c (menu_help_callback):
16960 * xselect.c (Fx_get_atom_name):
16961 * xterm.c (x_term_init): Use empty_unibyte_string.
16962
169632007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
16964
16965 * alloc.c (init_strings): Initialize canonical empty strings.
16966 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
16967 canonical empty string when the requested size is 0.
16968
16969 * emacs.c (empty_unibyte_string): Rename from empty_string.
16970 (empty_multibyte_string): New canonical empty string.
16971 (syms_of_emacs): Don't initialize empty_string.
16972
16973 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
16974 string, if appropriate.
16975 (empty_unibyte_string, empty_multibyte_string): New externs.
16976 (empty_string): Remove extern.
16977
16978 * lread.c (syms_of_lread): Use empty_unibyte_string.
16979
169802007-06-07 Jason Rumney <jasonr@gnu.org>
16981
16982 * s/ms-w32.h: Don't define HAVE_TZNAME.
16983
16984 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
16985
169862007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16987
16988 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
16989
16990 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
16991 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
16992
16993 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
16994 Don't call next handler.
16995 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
16996 Remove argument. Install handler to application.
16997 (set_frame_menubar): Don't change deep_p.
16998 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
16999 FRAME_OUTER_TO_INNER_DIFF_Y.
17000 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17001 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17002 [HAVE_DIALOGS]: New macros.
17003 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17004 Use them.
17005 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17006
17007 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17008 init_service_handler. All callers changed. Return OSStatus value.
17009
17010 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17011 All callers changed so as not to call SetPortWindowPort.
17012 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17013 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17014 mac_draw_string_common.
17015 (mac_draw_image_string_qd): Likewise.
17016 (mac_draw_string_common): Use them. Add INLINE.
17017 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17018 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17019 GetGlobalMouse.
17020 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17021 and FRAME_OUTER_TO_INNER_DIFF_Y.
17022 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17023 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17024 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17025 repositioning window to mac_handle_window_event.
17026 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17027 saving window location to mac_handle_window_event
17028 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17029 (install_menu_target_item_handler): Remove argument in extern.
17030 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17031 Also accept command events.
17032 (do_keystroke): New function created from XTread_socket.
17033 (init_command_handler): Remove functions.
17034 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17035 and save window location by kEventWindowShowing and kEventWindowHiding
17036 handlers here. Don't call next handler for window state change and
17037 focus events.
17038 (mac_handle_application_event, mac_handle_keyboard_event)
17039 [TARGET_API_MAC_CARBON]: New functions.
17040 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17041 kEventWindowShowing and kEventWindowHiding events. Move installation
17042 of mouse, font, text input and menu target item handlers to
17043 install_application_handler.
17044 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17045 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17046 New function.
17047 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17048 Register it.
17049 (XTread_socket) [TARGET_API_MAC_CARBON]:
17050 Consolidate SendEventToEventTarget calls.
17051 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17052 Move application activation handler to mac_handle_application_event.
17053 Move keyboard handler to mac_handle_keyboard_event.
17054 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17055 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17056 init_command_handler. Call install_application_handler.
17057
17058 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17059 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17060
170612007-06-07 Glenn Morris <rgm@gnu.org>
17062
17063 * emacs.c (main): Use `emacs-copyright' in --version output.
17064
170652007-06-06 Chong Yidong <cyd@stupidchicken.com>
17066
17067 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17068
170692007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17070
17071 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17072
17073 * macgui.h: Replace WindowPtr with WindowRef.
17074
17075 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17076 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17077 Replace ControlHandle with ControlRef.
17078 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17079
17080 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17081 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17082 Replace ControlHandle with ControlRef.
17083 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17084 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17085
17086 * macterm.h (struct scroll_bar): Rename member control_handle_low
17087 and control_handle_high to control_ref_low and control_ref_high.
17088 All uses changed.
17089 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17090 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17091 respectively. All uses changed.
17092 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17093 (install_window_handler, remove_window_handler): Replace WindowPtr
17094 with WindowRef in externs.
17095
170962007-06-05 Juanma Barranquero <lekktu@gmail.com>
17097
17098 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17099
171002007-06-03 Nick Roberts <nickrob@snap.net.nz>
17101
17102 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17103
17104 * frame.c (Fmouse_position, Fmouse_pixel_position):
17105 Condition on HAVE_GPM too.
17106
17107 * term.c (term_mouse_highlight): Remove unused variables.
17108 (Fterm_open_connection): Set gpm_zerobased to 1.
17109 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17110 Use zero based co-ordinates.
17111 (handle_one_term_event): Report a drag as mouse movement too.
17112
17113 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17114
171152007-06-03 Chong Yidong <cyd@stupidchicken.com>
17116
17117 * image.c (search_image_cache): New function. Require background
17118 color match if background color is unspecified in the image spec.
17119 (uncache_image, lookup_image): Use it.
17120
171212007-06-01 Juanma Barranquero <lekktu@gmail.com>
17122
17123 * window.c (Fshrink_window): Reflow docstring.
17124
171252007-06-02 Chong Yidong <cyd@stupidchicken.com>
17126
17127 * Version 22.1 released.
17128
171292007-06-01 Richard Stallman <rms@gnu.org>
17130
17131 * xfns.c (x_encode_text): Add GCPRO.
17132
171332007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17134
17135 * xfns.c (x_set_name_internal): Save encoded name before
17136 x_encode_text in case string data is relocated.
17137
171382007-05-31 Richard Stallman <rms@gnu.org>
17139
17140 * buffer.c (syms_of_buffer): Doc fix.
17141
171422007-05-30 Nick Roberts <nickrob@snap.net.nz>
17143
17144 * sysdep.c (init_sys_modes): Add rather than replace with
17145 O_NONBLOCK.
17146
17147 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17148 term_mouse_moveto.
17149
17150 * termhooks.h (term_mouse_moveto): New extern.
17151
17152 * term.c (mouse_face_window): Rename...
17153 (Qmouse_face_window): ...to this.
17154 (term_show_mouse_face, term_clear_mouse_face)
17155 (term_mouse_highlight): Use Qmouse_face_window.
17156 (term_mouse_moveto): New function.
17157 (term_mouse_position): Make it work.
17158 (syms_of_term): Uncomment assignment to mouse_position_hook.
17159 Staticpro Qmouse_face_window.
17160
171612007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17162
17163 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17164 around current_column call.
17165
171662007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17167
17168 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17169 * xdisp.c (next_element_from_buffer):
17170 * window.c (delete_window):
17171 * term.c (term_mouse_highlight):
17172 * msdos.c (getdefdir):
17173 * macterm.c (mac_create_bitmap_from_bitmap_data)
17174 (init_font_name_table):
17175 * fns.c (Fsxhash):
17176 * data.c (Fmake_local_variable):
17177 * ccl.c (ccl_driver): Likewise.
17178
171792007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17180
17181 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17182 Call mac_wakeup_from_rne on window size change.
17183
171842007-05-25 Chong Yidong <cyd@stupidchicken.com>
17185
17186 * image.c (uncache_image): Fix typo.
17187
171882007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17189
17190 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17191
171922007-05-22 Richard Stallman <rms@gnu.org>
17193
17194 * xterm.c (x_connection_closed): Remove NO_RETURN.
17195
171962007-05-22 Martin Rudalics <rudalics@gmx.at>
17197
17198 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17199
172002007-05-21 Chong Yidong <cyd@stupidchicken.com>
17201
17202 * image.c (uncache_image): New function.
17203 (Fimage_refresh): New function.
17204
172052007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17206
17207 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17208
172092007-05-20 Nick Roberts <nickrob@snap.net.nz>
17210
17211 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17212 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17213
172142007-05-20 Nick Roberts <nickrob@snap.net.nz>
17215
17216 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17217 conditional on [HAVE_GPM_H].
17218
172192007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17220
17221 * syntax.c (skip_chars): Update syntax-table only after we checked that
17222 the new location is valid.
17223
172242007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17225
17226 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17227 mac_get_window_bounds.
17228
172292007-05-20 Nick Roberts <nickrob@snap.net.nz>
17230
17231 * Makefile.in (LIBGPM): Allow it to be set from configure.
17232 If set then link Emacs with it.
17233
17234 * config.in: Regenerate.
17235
17236 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17237 New externs.
17238
17239 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17240 Include gpm.h.
17241 (handle_one_term_event, term_gpm): New externs.
17242
17243 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17244 and allow it to be interrupted by SIGIO.
17245
17246 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17247 (wait_reading_process_output): Wait on gpm_fd too.
17248 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17249 (add_gpm_wait_descriptor_called_flag): New variable.
17250 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17251
17252 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17253 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17254 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17255 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17256 (make_lispy_event): Add case GPM_CLICK_EVENT.
17257 (read_avail_input): Handle mouse input.
17258
17259 * term.c (write_glyphs_with_face): New function.
17260 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17261 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17262 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17263 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17264 (last_mouse_x, last_mouse_y): New variables.
17265 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17266 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17267 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17268 (Fterm_close_connection): New functions.
17269 (term_init): Initialise mouse_face_window.
17270
172712007-05-19 Chong Yidong <cyd@stupidchicken.com>
17272
17273 * xdisp.c (redisplay_window): If first window line is a
17274 continuation line, recompute the new window start instead of
17275 recentering.
17276
172772007-05-18 Glenn Morris <rgm@gnu.org>
17278
17279 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17280 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17281
172822007-05-17 Glenn Morris <rgm@gnu.org>
17283
17284 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17285
172862007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17287
17288 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17289 dead key repeat and up events.
17290
172912007-05-14 Chong Yidong <cyd@stupidchicken.com>
17292
17293 * image.c (pbm_load): Check image size for monochrome pbm.
17294
172952007-05-13 Chong Yidong <cyd@stupidchicken.com>
17296
17297 * xterm.c (XTread_socket): Revert last change.
17298
172992007-05-12 Chong Yidong <cyd@stupidchicken.com>
17300
17301 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17302
17303 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17304
173052007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17306
17307 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17308 mixup (YAILOM).
17309
173102007-05-07 Andreas Schwab <schwab@suse.de>
17311
17312 * keymap.c (Flookup_key): Fix typo in last change.
17313
173142007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17315
17316 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17317 mapping for unibyte strings.
17318
173192007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17320
17321 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17322 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17323
173242007-04-29 Richard Stallman <rms@gnu.org>
17325
17326 * insdel.c (replace_range): For undo, record insertion first.
17327
173282007-04-29 Andreas Schwab <schwab@suse.de>
17329
17330 * lisp.h (VECSIZE): Use OFFSETOF.
17331
173322007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17333
17334 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17335 disabled lines.
17336
173372007-04-28 Richard Stallman <rms@gnu.org>
17338
17339 * lread.c (read_escape): In a string, \s is always space.
17340
173412007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17342
17343 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17344
17345 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17346 submenu for menu bar items.
17347
17348See ChangeLog.10 for earlier changes.
17349
17350;; Local Variables:
17351;; coding: utf-8
17352;; add-log-time-zone-rule: t
17353;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17354;; End:
17355
76b6f707 17356 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17357
17358 This file is part of GNU Emacs.
17359
17360 GNU Emacs is free software: you can redistribute it and/or modify
17361 it under the terms of the GNU General Public License as published by
17362 the Free Software Foundation, either version 3 of the License, or
17363 (at your option) any later version.
17364
17365 GNU Emacs is distributed in the hope that it will be useful,
17366 but WITHOUT ANY WARRANTY; without even the implied warranty of
17367 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17368 GNU General Public License for more details.
17369
17370 You should have received a copy of the GNU General Public License
17371 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17372
17373;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40