* w32-vars.el (w32-system-shells): Doc fix.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2c7d1565
GM
12009-02-24 Glenn Morris <rgm@gnu.org>
2
3 * xfaces.c (Finternal_set_font_selection_order): Remove leading
4 whitespace that confuses documentation.
5
a20878b6
MB
62009-02-23 Miles Bader <miles@gnu.org>
7
8 * process.c (Flist_system_processes, Fprocess_attributes)
9 (syms_of_process): Rename `system-process-attributes' to
10 `process-attributes'.
11
b3b58c01
AS
122009-02-22 Andreas Schwab <schwab@linux-m68k.org>
13
1b3b981b
AS
14 * coding.h (struct coding_system): Make safe_charsets a pointer to
15 unsigned char.
16 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
17 being 255.
18 (SAFE_CHARSET_P): Likewise.
19 (setup_iso_safe_charsets): Properly setup safe_charsets.
20 (Fdefine_coding_system_internal): Likewise.
21 (setup_coding_system): Likewise. Remove unneeded casts.
22 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
23 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
24 unneeded casts.
25
b3b58c01
AS
26 * insdel.c (del_range_2): Don't modify gap contents when called
27 from decode_coding_object. (Bug#1809)
28
0b6f228c
CY
292009-02-21 Chong Yidong <cyd@stupidchicken.com>
30
31 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
32 Qfont_object.
33 (Ftype_of): Recognize font objects.
34
35 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
36
37 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
38 moved to data.c.
39
52f8870b
AR
402009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
41
42 * nsterm.m (x_make_frame_invisible): Unset async_visible,
43 async_iconified. Based on a patch by Christian Lynbech
44 <christian.lynbech@tieto.com>.
45 (EmacsView-windowDidMiniaturize:): Unset async_visible.
46
7087d5e9
GM
472009-02-20 Glenn Morris <rgm@gnu.org>
48
49 * syntax.c (Fskip_chars_forward): Fix doc typo.
50
41d2ceef
CY
512009-02-20 Chong Yidong <cyd@stupidchicken.com>
52
53 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
54
1a3b7ca6
CY
552009-02-19 Chong Yidong <cyd@stupidchicken.com>
56
57 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
58
73cce38d
KH
592009-02-19 Kenichi Handa <handa@m17n.org>
60
61 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 62 Don't overflow coding->carryover. (Bug#2370)
73cce38d 63
a51092ee
DN
642009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
65
66 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
67
c423ecca
KH
682009-02-18 Kenichi Handa <handa@m17n.org>
69
70 * font.c (font_check_otf_features): Fix handling of `nil' element.
71 (Ffont_spec): Describe :lang and :otf in the docstring.
72
4c1958f4
AS
732009-02-16 Andreas Schwab <schwab@suse.de>
74
75 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
76 string.
77
5704f39a
KH
782009-02-16 Kenichi Handa <handa@m17n.org>
79
80 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 81 (Bug#1723)
5704f39a 82
8f0085aa
CY
832009-02-14 Chong Yidong <cyd@stupidchicken.com>
84
a057d86a 85 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
86
87 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
88 (handle_line_prefix): Suppress wrapping of wrap prefixes.
89
aff01dd9
EZ
902009-02-14 Eli Zaretskii <eliz@gnu.org>
91
92 * msdos.c (MAX_SCREEN_BUF): New macro.
93 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
94 Encode the entire run of glyphs sharing the same face, instead of
95 doing that one glyph at a time (fixes a bug with displaying
96 double-size characters).
97
ba301db3
AR
982009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
99
100 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
101
102 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
103 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 104 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
105
106 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 107 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 108
51d861de
SM
1092009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
110
111 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
112 invisible areas.
113
7fed8996
JR
1142009-02-12 Jason Rumney <jasonr@gnu.org>
115
631ea4fb
JR
116 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
117 (add_font_entity_to_list): Call check_face_name even when family
118 is unspecified.
119
cb4a3e42
JR
120 * w32term.c (x_display_pixel_height, x_display_pixel_width):
121 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 122 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 123
7fed8996 124 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 125 raster fonts. (Bug#2219)
7fed8996 126
895416e3
KH
1272009-02-12 Kenichi Handa <handa@m17n.org>
128
129 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
130 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
131 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 132 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
133 (find_automatic_composition): While looking forward and backward,
134 check static composition. Fix where to stop looking forward.
135 (composition_adjust_point): Fix checking of static composition.
136 (Fcomposition_get_gstring): Pay attention to
1dacf998 137 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
138
139 * lisp.h (fast_looking_at): Extern it.
140
141 * search.c (fast_looking_at): New function.
142
51d861de 143 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
144 <struct glyph>.u.cmp.to.
145 (append_composite_glyph): Likewise.
146
51d861de 147 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
148 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
149 composition.
51d861de 150 (append_composite_glyph): Adjust for the change of
895416e3
KH
151 <strcut glyph>.u.cmp.to.
152
8510724d
JB
1532009-02-11 Juanma Barranquero <lekktu@gmail.com>
154
155 * casetab.c (init_casetab_once):
156 * coding.c (ALLOC_CONVERSION_WORK_AREA):
157 * font.c (font_update_lface):
158 * fontset.c (Fnew_fontset):
159 * ftfont.c (ftfont_drive_otf):
160 * xfont.c (xfont_open):
161 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
162
294fa707
SM
1632009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
164
165 * fileio.c (Fwrite_region): !NILP -> CONSP.
166
b5bfebec
AS
1672009-02-10 Andreas Schwab <schwab@suse.de>
168
169 * process.c (send_process): Properly relocate pointer into data
adab88bd 170 when using encoded data. (Bug#2272)
b5bfebec 171
cb84a2be
KH
1722009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
173
174 * coding.c (detect_coding_charset): Fix previous change.
175
89e09428
JR
1762009-02-08 Jason Rumney <jasonr@gnu.org>
177
178 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 179 disappeared while hourglass was displayed. (Bug #2193)
89e09428 180
4470a277
AS
1812009-02-07 Andreas Schwab <schwab@suse.de>
182
183 * unexelf.c (unexec): Fix error message.
184
3175b12a
AR
1852009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
186
187 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 188 when modal window is active. (Bug #2152)
3175b12a
AR
189 (applicationShouldTerminate:): Remove now-unneeded while loop
190 around NSRunAlertPanel.
191
192 * nsmenu.m (popupSession): New file-global variable.
193 (pop_down_menu): End the popupSession before closing dialog.
194 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
195 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
196 don't query NSApp for events (just sleep instead).
197
8434d0b8
EZ
1982009-02-07 Eli Zaretskii <eliz@gnu.org>
199
51d861de
SM
200 * coding.c (syms_of_coding) <translation-table-for-input>:
201 Modify doc string to discourage use for character code unification.
8434d0b8 202
aa82edfd
CY
2032009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
204
205 * atimer.c (run_timers): Update pending_atimers.
206
2d283c7c
CY
2072009-02-06 Chong Yidong <cyd@stupidchicken.com>
208
eb306cab
CY
209 * image.c (svg_load_image): Fix last change.
210
2d283c7c
CY
211 * xfns.c (Fx_create_frame): Signal an error if no font is
212 found (Bug#2147).
213
4d8e170e
JB
2142009-02-05 Juanma Barranquero <lekktu@gmail.com>
215
216 * character.c (syms_of_character) <script-representative-chars>:
217 Fix typo in docstring.
218
c96169a0
AR
2192009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
220
221 * nsmenu.m (pop_down_menu): New function.
222 (ns_popup_dialog): Call it on unwind.
223 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
224 call timer_check() (Bug#2154).
225 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
226 handling_signal is set.
227 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
228
229 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
230
231 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
232
233 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
234
51d861de
SM
235 * keyboard.c (poll_for_input_1, handle_async_input):
236 Set handling_signal under HAVE_NS.
c96169a0 237
aacd8ba1
GM
2382009-02-04 Glenn Morris <rgm@gnu.org>
239
240 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
241
4cb75c4b
KH
2422009-02-04 Kenichi Handa <handa@m17n.org>
243
244 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
245
246 * charset.c (Fchar_charset): New optional arg restriction.
247
248 * coding.h (coding_system_charset_list): Extern it.
249
250 * coding.c (coding_system_charset_list): New function.
251
252 * composite.c: Include coding.h and termhooks.h.
253 (composition_gstring_p): Fix for the terminal case.
254 (composition_gstring_width): Likewise.
255 (fill_gstring_body): Likewise.
256 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
257 the frame.
258 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
259 is within a composition.
867d4bb3 260 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
261
262 * term.c (encode_terminal_code): Fix handling of composition.
263 (produce_composite_glyph): For static composition, get pixel_width
264 from struct composition.
265
826ba17e
AS
2662009-02-02 Andreas Schwab <schwab@suse.de>
267
268 * unexelf.c (unexec): Handle unaligned bss offset.
269
8ad093db
AR
2702009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
271
272 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
273 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 274
8ad093db
AR
275 * keyboard.c (handle_interrupt): Don't call
276 quit_throw_to_read_char() under NS.
d0a76a6e 277
8ad093db
AR
278 * blockinput.h: Remove NS-specific code.
279
4d18a7a2
DN
2802009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
281
db878925
DN
282 * dispnew.c (window_change_signal): Don't try to get the size of a
283 suspended tty frame.
284 * term.c (Fresume_tty): Resize if the size has changed while the
285 tty was suspended.
286
4d18a7a2
DN
287 * alloc.c (mark_stack): Properly conditionalize previous change.
288
8984df7c
JB
2892009-01-30 Juanma Barranquero <lekktu@gmail.com>
290
291 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
292 * w32term.c (w32_read_socket) [SYNC_INPUT]:
293 Remove; this code is not used on Windows.
294
75f4f1ac
EZ
2952009-01-30 Eli Zaretskii <eliz@gnu.org>
296
297 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
298 EOLs that also has stray ^M characters.
299
07a1e794
JB
3002009-01-30 Juanma Barranquero <lekktu@gmail.com>
301
302 * atimer.c (run_timers, alarm_signal_handler):
303 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
304 * w32inevt.c (w32_console_read_socket):
305 * w32term.c (w32_read_socket):
306 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
307
a8b11cc9
CY
3082009-01-30 Chong Yidong <cyd@stupidchicken.com>
309
310 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
311 Initialize it as a relative filename pattern.
312 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
313 (Fcall_process_region): Simplify temp file creation using
314 temporary-file-directory.
315
c279587b
EZ
3162009-01-29 Eli Zaretskii <eliz@gnu.org>
317
318 * msdos.c: Rename pending_signals to msdos_pending_signals.
319 (sig_suspender, sigprocmask): Adjust.
320
a8fe3242
CY
3212009-01-29 Chong Yidong <cyd@stupidchicken.com>
322
323 * keyboard.c (pending_signals): New var.
324 (poll_for_input, input_available_signal, init_keyboard): Set it.
325 (process_pending_signals): New function.
326
327 * lisp.h (QUIT): Check pending_signals instead of
328 interrupt_input_pending. Use process_pending_signals.
329
51d861de 330 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 331
51d861de 332 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
333
334 * sysdep.c (emacs_write): Use process_pending_signals.
335
336 * xterm.c (XTread_socket): Update pending_signals.
337
338 * w32term.c (w32_read_socket): Update pending_signals.
339
340 * w32inevt.c (w32_console_read_socket): Update pending_signals.
341
6570a1c4
KH
3422009-01-29 Kenichi Handa <handa@m17n.org>
343
344 * xftfont.c (xftfont_has_char): New function.
345 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
346
d72a4afa
AR
3472009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
348
349 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
350 under GNUstep.
351 (ns_query_color): New declaration.
352
353 * nsterm.m (ns_confirm_quit): New variable.
354 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
355 (EmacsApp-applicationShouldTerminate:): Use it.
356 (EmacsPrefsController): Let user set it.
357 (ns_query_color): New function.
358 (ns_defined_color): Use it.
359 (ns_initialize): Drop.
360 (ns_term_init): Add two lines from ns_initialize(), and set
361 input_interrupt_mode to nil.
362
363 * image.c (svg_load_image): Don't right-shift background RGB when
364 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
365
9fe78804
KH
3662009-01-28 Kenichi Handa <handa@m17n.org>
367
368 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
369 (fontset_get_font_group): Remember that no font-group is specified
370 for C.
9fe78804 371
fa57de36
CY
3722009-01-27 Chong Yidong <cyd@stupidchicken.com>
373
930600e9
CY
374 * fns.c (concat): Check for string overflow (bug#1787).
375
fa57de36
CY
376 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
377 Quadruple undo limits (bug#1501).
378
7179ce7b
KH
3792009-01-27 Kenichi Handa <handa@m17n.org>
380
381 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
382 directly use GT_Get_Char_index.
383
384 * xftfont.c (struct xftfont_info): New member `index'.
385
386 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 387 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 388
5be8fcc0
CY
3892009-01-26 Kenichi Handa <handa@m17n.org>
390
391 * fontset.c (fontset_find_font): Fix handling of non-cons return
392 value of fontset_get_font_group.
393 (fontset_font): Revert last change.
394
19ae3e61
JR
3952009-01-26 Jason Rumney <jasonr@gnu.org>
396
397 * w32font.c (w32font_list_internal): Return quickly if registry is
398 unknown. Simplify final return.
399 (add_font_entity_to_list): Break complex logic down into more
400 manageable chunks. Move unknown registry check to
401 w32font_list_internal.
402
8612b71a
AR
4032009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
404
405 Changes to remove Feval calls from GUI under NS.
406
d8038940
JB
407 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
408 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
409 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
410
411 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
412 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
413 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
414 instead of NON_ASCII_KEYSTROKE_EVENT.
415 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
416 (EmacsApp-applicationShouldTerminate:): Query user.
417 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
418 instead of Feval.
419
420 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
421
422 * keyboard.c (kbd_buffer_get_event): Check for it.
423 (keys_of_keyboard): Define lispy keys for
424 ns-put/unput-working-text.
425
426 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
427 versions.
428 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
429
6288ae55
CY
4302009-01-25 Chong Yidong <cyd@stupidchicken.com>
431
432 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 433 setting current_buffer directly. (Bug#2044)
6288ae55 434
289e7f8f
CY
4352009-01-24 Chong Yidong <cyd@stupidchicken.com>
436
5ce87308 437 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 438 any work. (Bug#1952, bug#1990).
5ce87308 439
64cc3cf6 440 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 441
b3243e6f
AR
4422009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
443
444 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
445 (ns_no_defaults): New declaration.
446 (main): Use it.
e0d2e69a 447
d900b2af 448 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 449
d900b2af 450 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 451
d900b2af
AR
452 * nsterm.m (ns_no_defaults): New variable.
453 (ns_initialize): Don't read defaults when ns_no_defaults.
454 (EmacsView-readSelectionFromPasteboard:)
455 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 456 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
457 (ns_dumpglyphs_stretch): New function.
458 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 459 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 460
e0d2e69a
AR
461 * nsimage.m (setPixmapData:): Set to ignore image DPI.
462
3ac71f5d
CY
4632009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
464
465 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
466 call for Sparc64.
467
3fe53a83
AR
4682009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
469
470 * nsfns.m:
471 * nsgui.h:
472 * nsmenu.m:
473 * nsselect.m:
474 * nsterm.h:
475 * nsterm.m: Remove '23' comments that indicated code added during
476 update from emacs-20 -> emacs-23.
477
10f87c6f 4782009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
479
480 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 481 ns_alternate_modifier. (Bug#1217)
a3b53a85 482
c7cef62d
AR
483 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
484 Display all shortcuts, including those w/o super modifier.
485
575fb8bd
AR
486 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
487
918b848b
CY
4882009-01-22 Chong Yidong <cyd@stupidchicken.com>
489
490 * fileio.c (Vwrite_region_post_annotation_function)
491 (Vwrite_region_annotation_buffers): New vars.
492 (build_annotations_unwind): Just reset
493 Vwrite_region_annotation_buffers.
494 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
495 Call write-region-post-annotation-function.
496 (build_annotations): Add to Vwrite_region_annotation_buffers if
497 buffer changes.
498
a39e2539
AR
4992009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
500
501 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
502 Tiger.
51d861de
SM
503 * nsfns.m (ns_do_applescript):
504 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 505
35ed44db
AR
5062009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
507
508 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
509
cbe0b5bf
AR
5102009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
511
512 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 513
6049d3a0
AR
514 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
515
516 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
517 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
518 handle Ctrl-tab. (Bug#1841)
519 (ns_get_color): Use unsigned long long for scanned hex string value.
520 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 521 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 522 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 523 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 524 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 525 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 526 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 527
d3810c21 528 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 529 DPI. (Bug#1316)
d3810c21
AR
530 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
531 values in onTiger section.
4c7077c3 532
e301e634
CY
5332009-01-19 Chong Yidong <cyd@stupidchicken.com>
534
7f82490b
CY
535 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
536 Check return value of font_spec_from_name.
64cc3cf6 537 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
538
539 * font.c (font_spec_from_name): Return Qnil if font name could not
540 be parsed.
541 (font_parse_name): Treat a `?' character as part of an XLFD.
542
e301e634
CY
543 * fns.c (Fsubstring): Doc fix.
544
1c0db158
KH
5452009-01-19 Kenichi Handa <handa@m17n.org>
546
51d861de 547 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
548 (ftfont_list): Likewise.
549
acf20901
JB
5502009-01-18 Juanma Barranquero <lekktu@gmail.com>
551
fff4e459
JB
552 * dbusbind.c (Fdbus_register_signal):
553 * process.c (conv_sockaddr_to_lisp):
554 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
555
acf20901
JB
556 * callproc.c (Fgetenv_internal): Doc fix.
557
e7abcdfb
CY
5582009-01-16 Chong Yidong <cyd@stupidchicken.com>
559
560 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
561 it is not even used.
562
b60861e6
GM
5632009-01-16 Glenn Morris <rgm@gnu.org>
564
565 * font.c (Ffont_variation_glyphs): Silence compiler.
566
8db52afe
JB
5672009-01-15 Juanma Barranquero <lekktu@gmail.com>
568
569 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
570 Reported by David Robinow <drobinow@gmail.com>.
571
4cddb209
KH
5722009-01-15 Kenichi Handa <handa@m17n.org>
573
51d861de 574 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 575
f247f67b
JR
5762009-01-14 Jason Rumney <jasonr@gnu.org>
577
578 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 579 never a fontset. (Bug#1562)
f247f67b 580
f56a4450
KH
5812009-01-14 Kenichi Handa <handa@m17n.org>
582
583 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 584 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 585
4e99855e
CY
5862009-01-13 Chong Yidong <cyd@stupidchicken.com>
587
588 * font.c (font_clear_prop): If clearing the family, clear the font
589 width index too.
590
fff4e459 591 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 592
24f01470
JB
5932009-01-12 Juanma Barranquero <lekktu@gmail.com>
594
595 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
596 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
597 functions, use sizeof.
598
a41240a3
MR
5992009-01-12 Martin Rudalics <rudalics@gmx.at>
600
601 * keyboard.c (read_char): Fix case where last_nonmenu_event
602 returned a bad value with submenus. (Bug#447)
603
944636b8
CY
6042009-01-12 Chong Yidong <cyd@stupidchicken.com>
605
606 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
607 family, clear the font width index too.
608
0dad7c6f
JR
6092009-01-11 Jason Rumney <jasonr@gnu.org>
610
611 * keyboard.c (cmd_error_internal): Exit when errors occur before
612 frame creation and not in daemon mode. (Bug#1836)
613
7c2363af
CY
6142009-01-10 Chong Yidong <cyd@stupidchicken.com>
615
616 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
617 of a display vector, backtrack.
618 (try_window_reusing_current_matrix): Check glyph type before
619 referencing charpos member.
620
97b1b294
EZ
6212009-01-10 Eli Zaretskii <eliz@gnu.org>
622
623 Fix Bug #876:
624
625 * coding.c (inhibit_null_byte_detection): New variable.
626 (detect_coding, detect_coding_system): Don't pay attention to null
627 bytes if inhibit_null_byte_detection is non-zero.
51d861de 628 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
629 <inhibit-iso-escape-detection>: Doc fix.
630
4624b6e3
JR
6312009-01-09 Jason Rumney <jasonr@gnu.org>
632
633 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 634 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
635 Only report Unicode Plane 2 fonts as unicode-sip.
636
323b840c
CY
6372009-01-09 Chong Yidong <cyd@stupidchicken.com>
638
51d861de
SM
639 * xfaces.c (Fx_font_family_list): Delete function.
640 Move compatibility version to faces.el.
323b840c 641
51d861de 642 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 643
eba7400d
MR
6442009-01-09 Martin Rudalics <rudalics@gmx.at>
645
646 * frame.c (x_set_frame_parameters): Remember requested value for
647 fullscreen before it's reset by the parameter handler.
648
4b09796d
GM
6492009-01-09 Glenn Morris <rgm@gnu.org>
650
651 * keyboard.c (last_command_char): For clarity, rename to...
652 (last_command-event): ... and update all users.
653 (last_input_char): For clarity, rename to...
654 (last_input_event): ... and update all users.
655 (last-command-char, last-input-char): Move to subr.el as aliases.
656 * cmds.c, commands.h: Update for last_command_char rename.
657
14ccea62
CY
6582009-01-08 Chong Yidong <cyd@stupidchicken.com>
659
51d861de 660 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 661
5f004711
JR
6622009-01-08 Jason Rumney <jasonr@gnu.org>
663
664 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
665 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
666 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
667 Don't declare.
fff4e459 668 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
669 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
670
b71f6f73
KH
6712009-01-07 Kenichi Handa <handa@m17n.org>
672
50b06221 673 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 674 remember the coding system used for decoding in
50b06221
KH
675 coding_system (Bug#1039).
676
b71f6f73 677 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 678 breaking the loop. (Bug#870)
b71f6f73
KH
679 (decode_coding_utf_16, decode_coding_emacs_mule)
680 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
681 (decode_coding_charset): Likewise.
682
56f668f7
MR
6832009-01-05 Martin Rudalics <rudalics@gmx.at>
684
685 * frame.c (x_set_frame_parameters): Make sure height (width) get
686 applied when fullwidth (fullheight) is set. (Bug#1522)
687
5da9424d
JB
6882009-01-04 Juanma Barranquero <lekktu@gmail.com>
689
690 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
691 (utc_base): Declare as ULONGLONG, not long double.
692 (convert_time_raw): Delete.
693 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
694 (initialize_utc_base): New function.
695 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
696 (convert_from_time_t): Use initialize_utc_base; compute result with
697 64-bit arithmetic.
698 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
699
c4605e09
EZ
7002009-01-03 Eli Zaretskii <eliz@gnu.org>
701
9acef61c 702 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
703 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
704 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
705 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
706 [!subprocesses]: Define.
707 (syms_of_process) [!subprocesses]: Intern and staticpro them.
708 (Flist_system_processes, Fsystem_process_attributes)
709 [!subprocesses]: Call list_system_processes and
710 system_process_attributes instead of returning Qnil.
711
9acef61c
JB
712 * dosfns.c (system_process_attributes, list_system_processes):
713 New functions.
c4605e09
EZ
714
715 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
716
717 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
718 Don't use the default (no-op) implementation.
719
8b7d0a16
JR
7202009-01-03 Jason Rumney <jasonr@gnu.org>
721
a6d46bc1
JR
722 * keyboard.c (parse_modifiers_uncached): Wheel events are
723 clicks (bug#687).
724
8b7d0a16
JR
725 * w32term.c (x_query_colors, x_query_color): New functions.
726
727 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
728 (svg_load_image): Cast returned pointers from dynamically loaded
729 functions. Eliminate W32 specific code.
730
bfe11752
DN
7312009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
732
89e2438a
DN
733 * nsfns.m (x_set_foreground_color, x_set_background_color)
734 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
735 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
736 x_ prefix instead of ns_. Update references.
737 (syms_of_nsfns): Add a FIXME comment.
738
739 * nsterm.m (x_set_cursor_type): New prototype.
740 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
741
bfe11752
DN
742 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
743 for Solaris instead of incorrectly providing Qutime and Qcutime.
744
031da700
EZ
7452009-01-02 Eli Zaretskii <eliz@gnu.org>
746
747 * w32.c (process_times): Compute sum of utime and stime.
748 (system_process_attributes): Add Qtime to the alist.
749
750 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
751 and add them to the alist.
752
753 * process.c (top level) <Qtime, Qctime>: New variables.
754 (syms_of_process): staticpro them.
755 (Fsystem_process_attributes): Add their documentation to the doc
756 string.
757
758 * process.h: Declare Qtime and Qctime.
759
df23bf08
JR
7602009-01-02 Jason Rumney <jasonr@gnu.org>
761
9acef61c 762 * image.c (Qgobject): New symbol.
df23bf08
JR
763 (syms_of_image): Initialize it.
764 (init_svg_functions): Load some functions from gobject library.
765
5bbdf7aa
DN
7662009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
767
768 * frame.c (make_terminal_frame): Remove redundant code and useless
769 block.
770
63136da6
AS
7712009-01-01 Andreas Schwab <schwab@suse.de>
772
773 * process.c (conv_sockaddr_to_lisp): Add workaround for
774 getsockname bug on BSD.
775
9ef69046
CY
7762009-01-01 Chong Yidong <cyd@stupidchicken.com>
777
d6fafbe0
CY
778 * xfns.c (x_create_tip_frame): Set border width of the X window.
779
51d861de 780 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 781
f9c34147
JR
7822009-01-01 Jason Rumney <jasonr@gnu.org>
783
9acef61c 784 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
785 Don't block input, as per earlier xterm.c changes.
786
f5497e45
AR
7872008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
788
789 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
790 (ns_appkit_version_int): New function.
791 (x-server-version): Use ns_appkit_version_int and follow 21+
792 convention of returning 3 integers.
793
c19cab20
KH
7942008-12-30 Kenichi Handa <handa@m17n.org>
795
796 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
797 (CHAR_SURROGATE_PAIR_P): New macro.
798
799 * font.h (struct font_driver): New member get_variation_glyphs.
800
9acef61c 801 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
802 (Ffont_variation_glyphs): New function.
803 (syms_of_font): Defsubr it.
804
805 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
806 ftfont_variation_glyphs.
807 (setup_otf_gstring): New function.
808 (ftfont_drive_otf): Use it.
809 (ftfont_shape_by_flt): Handle variation selector.
810 (ftfont_variation_glyphs): New function.
811
28cd591f
MR
8122008-12-30 Martin Rudalics <rudalics@gmx.at>
813
814 * frame.c (Vemacs_iconified): Remove.
815
7f714baf
JR
8162008-12-30 Jason Rumney <jasonr@gnu.org>
817
818 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 819 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 820
9d2d22ab
CY
8212008-12-30 Chong Yidong <cyd@stupidchicken.com>
822
823 * indent.c (Fvertical_motion): Don't advance iterator if we have
824 reseated to the desired position.
825
826 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
827 checking for pos match.
828
545312c2
KH
8292008-12-30 Kenichi Handa <handa@m17n.org>
830
1ede3eb6
KH
831 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
832 just get the low 8-bit of the code.
833
545312c2
KH
834 * font.c (font_intern_prop): Validate str as multibyte.
835
bd7bbf29
DN
8362008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
837
31e0750e
DN
838 * dispextern.h (struct face): Move lface and hash from the middle
839 of bitfields.
840
bd7bbf29
DN
841 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
842
b5672e7c
DN
8432008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
844
845 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
846 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
847 instead of intervals.h.
848
d704470f
AS
8492008-12-26 Andreas Schwab <schwab@suse.de>
850
851 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
852 cons.
853
54b33868
MR
8542008-12-26 Martin Rudalics <rudalics@gmx.at>
855
856 * textprop.c (Qminibuffer_prompt): New variable.
857 (syms_of_textprop): Initialize it.
858 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
859 in minibuffer-prompt face. (Bug#1662)
860
40b615d6
JR
8612008-12-25 Jason Rumney <jasonr@gnu.org>
862
863 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
864
baae5c2d
JR
8652008-12-24 Jason Rumney <jasonr@gnu.org>
866
867 * ralloc.c (r_alloc_reset_variable): New function.
868
869 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 870 record of what points where. (Bug#716)
baae5c2d 871
a9051c88
DN
8722008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
873
874 * minibuf.c (read_minibuf): Follow the non-interactive case when
875 running as a daemon, before detaching.
876
8b146312
AS
8772008-12-22 Andreas Schwab <schwab@suse.de>
878
879 * buffer.c (init_buffer): Use realloc instead of xrealloc.
880 * gtkutil.c (free_widget_value): Use xfree instead of free.
881
56f2de10
MR
8822008-12-22 Martin Rudalics <rudalics@gmx.at>
883
884 * frame.c (delete_frame): New function derived from
885 Fdelete_frame to handle Qnoelisp value for FORCE argument.
886 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
887 (Fdelete_frame): Call delete_frame. Remove line from doc-string
888 saying that FORCE non-nil doesn't run `delete-frame-functions'.
889 * frame.h: Extern delete_frame.
890 * window.c (window_loop):
891 * terminal.c (delete_terminal):
892 * xterm.c (x_connection_closed):
893 * xfns.c (Fx_hide_tip):
9acef61c 894 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 895
1fc200d6
JR
8962008-12-21 Jason Rumney <jasonr@gnu.org>
897
898 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
899 when character maps to .notdef character.
900
5e252df2
SM
9012008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
902
903 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
904
99b72cc4
JR
9052008-12-20 Jason Rumney <jasonr@gnu.org>
906
907 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 908 a graphical frame on Windows. (Bug#1325)
99b72cc4 909
acc49a52
JD
9102008-12-20 Jan Djärv <jan.h.d@swipnet.se>
911
912 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
913
6ea15123
CY
9142008-12-20 Chong Yidong <cyd@stupidchicken.com>
915
916 * minibuf.c (Fread_buffer): Doc fix.
917
b2dab6c8
JR
9182008-12-20 Jason Rumney <jasonr@gnu.org>
919
54ea0c87 920 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 921 server name in UNC paths. (Bug#719)
54ea0c87 922
b2dab6c8 923 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 924 charbuf. (Bug#1035)
b2dab6c8 925
6d1921be
DN
9262008-12-19 Daniel Engeler <engeler@gmail.com>
927
928 * sysdep.c (serial_configure): Fix typo.
929
53934c98
DN
9302008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
931
932 * sysdep.c: Include alloca.h.
f4f634e8
DN
933 (system_process_attributes): Add implementation for Solaris.
934
935 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 936
06e111a6
DN
9372008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
938
939 Reorganize implementation of Flist_system_processes and
940 Fsystem_process_attributes. No functional changes.
941 * process.c: Don't #include pwd.h, grp.h and limits.h.
942 (Flist_system_processes): Just call list_system_processes.
943 (Fsystem_process_attributes): Just call system_process_attributes.
944 (procfs_list_system_processes, time_from_jiffies)
945 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
946 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
947
948 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
949 (list_system_processes): Rename from
950 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
951 Provide a do nothing implementation.
952 (system_process_attributes): Rename from
953 procfs_list_system_processes.
954 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 955 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
956
957 * w32.c (list_system_processes): Rename from
958 w32_list_system_processes.
959 (system_process_attributes): Rename from
960 w32_system_process_attributes.
961
962 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
963
964 * process.h (w32_list_system_processes)
965 (w32_system_process_attributes): Remove.
966 (list_system_processes, system_process_attributes): New
967 prototypes.
968
6a705b23
KH
9692008-12-19 Kenichi Handa <handa@m17n.org>
970
971 * xfont.c (xfont_decode_coding_xlfd): New function.
972 (xfont_encode_coding_xlfd): New function.
973 (xfont_list_pattern): Decode XLFD by iso-8859-1.
974 (xfont_list): Decode and encode XLFD by iso-8859-1.
975 (xfont_match): Likewise.
976 (xfont_list_family): Likewise.
977 (xfont_open): Likewise.
978
d66c0241 979 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
980 names are utf-8.
981
d66c0241 982 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
983 names are utf-8.
984
5a130941
JD
9852008-12-18 Jan Djärv <jan.h.d@swipnet.se>
986
987 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
988 changed.
bfd20325
JD
989 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
990 clicked on a detached tool bar button.
5a130941 991
fd95644b
DN
9922008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
993
994 * emacs.c (main): Print and error and exit when no data is read
995 from the pipe.
996
e6eee6ae
JR
9972008-12-17 Jason Rumney <jasonr@gnu.org>
998
999 * w32font.c (w32font_has_char): Always return -1.
1000
a35dd56b
KH
10012008-12-16 Kenichi Handa <handa@m17n.org>
1002
1003 * font.c (font_open_entity): Fix previous change.
1004
0e3635c2
DN
10052008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1006
1007 * process.c: Include <limits.h>.
1008
d4835507 10092008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1010
1011 * font.c (font_update_drivers): Fix mistake in reconstructing the
1012 driver list.
1013
10142008-12-16 Chong Yidong <cyd@stupidchicken.com>
1015
1016 * font.c (font_clear_cache): Fix format of font cache data.
1017
e2cbc401
CY
10182008-12-15 Chong Yidong <cyd@stupidchicken.com>
1019
1020 * xftfont.c (xftfont_open): Free Xft font pattern if
1021 XftFontOpenPattern fails.
1022
1023 * xterm.c (x_free_frame_resources): Remove extraneous call to
1024 free_frame_faces.
1025
b131d535
CY
10262008-12-13 Chong Yidong <cyd@stupidchicken.com>
1027
1028 * xterm.c (x_delete_display): Move xim_close_dpy call to
1029 x_delete_terminal.
1030 (x_delete_terminal): Call xim_close_dpy.
1031
e6df5336
JR
10322008-12-13 Jason Rumney <jasonr@gnu.org>
1033
1034 * w32font.c (intern_font_name): New function.
1035 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1036 (w32font_open_internal, Fx_select_font): Decode font name.
1037 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1038
1039 * w32font.h (intern_font_name): Declare new function.
1040
1041 * w32uniscribe.c (add_opentype_font_name_to_list):
1042 Use intern_font_name.
1043
20d68145
CY
10442008-12-13 Chong Yidong <cyd@stupidchicken.com>
1045
9f2554de
CY
1046 * frame.c (Fdelete_frame): Call free_font_driver_list.
1047
3d9bec9a
CY
1048 * font.c (free_font_driver_list): Implement missing function.
1049
20d68145
CY
1050 * w32term.c (w32_term_init): Don't initialize the image cache
1051 here; it will be done in init_frame_faces.
1052
1053 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1054 (struct x_display_info): Remove unused member null_pixel. New
1055 member xim_callback_data.
1056
1057 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1058 (xim_initialize): Save pointer to callback function data.
1059 (xim_close_dpy): Free callback function data. Call XCloseIM,
1060 reverting 2008-11-04 change by David Smith.
1061 (x_term_init): Don't initialize the image cache here; it will be
1062 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1063 (x_delete_display): Free x_dnd_atoms member.
1064
96f9306b
KH
10652008-12-13 Kenichi Handa <handa@m17n.org>
1066
6dec9044
JB
1067 * font.c (font_rescale_ratio): Moved from xfaces.c.
1068 Argument type changed. Handle a font-spec too.
96f9306b 1069 (font_score): Check Vface_font_rescale_alist.
6dec9044 1070 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1071
1072 * xfaces.c (font_rescale_ratio): Moved to font.c.
1073
8d5b4964
CY
10742008-12-13 Chong Yidong <cyd@stupidchicken.com>
1075
1076 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1077
e6df5336
JR
10782008-12-12 Jason Rumney <jasonr@gnu.org>
1079
1080 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1081 Vwindow_system_version to the real w32 major version.
1082
97c6058a
DN
10832008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1084
1085 * term.c (init_tty): Move setting the terminal name before the
1086 potential user: maybe_fatal.
1087
ec4e88d7
CY
10882008-12-11 Chong Yidong <cyd@stupidchicken.com>
1089
d4835507
JB
1090 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1091 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1092
b4233ec9
JR
10932008-12-11 Jason Rumney <jasonr@gnu.org>
1094
8ec71e23 1095 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1096 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1097
b4233ec9 1098 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1099 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1100
011a0143
JB
11012008-12-11 Juanma Barranquero <lekktu@gmail.com>
1102
1103 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1104
3c309f34
JB
11052008-12-11 Juanma Barranquero <lekktu@gmail.com>
1106
1107 * process.c (Fsystem_process_attributes, syms_of_process):
1108 Fix typo in name of Ssystem_process_attributes.
1109 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1110
fedc6ab5
JB
11112008-12-11 Juanma Barranquero <lekktu@gmail.com>
1112
1113 * syntax.c (Fmodify_syntax_entry): Doc fix.
1114
ba3de0e8
JB
11152008-12-10 Juanma Barranquero <lekktu@gmail.com>
1116
1117 * font.c (Ffont_spec): Move usage to end of docstring.
1118
174f1c74
JR
11192008-12-10 Jason Rumney <jasonr@gnu.org>
1120
1121 * w32font.c (Qcham): New symbol.
1122 (font_supported_scripts): Add cham, and comments for other new
1123 scripts in bitfield from OpenType spec.
9d32f818
JR
1124 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1125 contain characters beyond the bmp.
174f1c74 1126
7b649478
KH
11272008-12-10 Kenichi Handa <handa@m17n.org>
1128
1129 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1130 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1131 Qunicode_sip.
1132
2133e2d1
JB
11332008-12-10 Juanma Barranquero <lekktu@gmail.com>
1134
1135 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1136 (Fcoding_system_put): Use QCdefault_char.
1137 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1138
9af886ee
CY
11392008-12-09 Chong Yidong <cyd@stupidchicken.com>
1140
74d819eb
CY
1141 * xftfont.c (syms_of_xftfont): Fix typo.
1142
4ccfa1c0 1143 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1144
7c19d3ae
DN
11452008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1146
1147 * emacs.c (main): Close daemon_pipe on exec.
1148
567826bb
CY
11492008-12-08 Chong Yidong <cyd@stupidchicken.com>
1150
1151 * termchar.h (struct tty): New members termcap_term_buffer and
1152 termcap_strings_buffer.
1153
1154 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1155 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1156 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1157 All callers changed.
1158 (init_tty): Store termcap data and string buffers in new struct
1159 tty members termcap_term_buffer and termcap_strings_buffer.
1160 (delete_tty): Free them.
4ccfa1c0 1161 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1162
aa96c42b
SZ
11632008-12-07 Seiji Zenitani <zenitani@mac.com>
1164
1165 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1166 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1167
b7e1d896
CY
11682008-12-06 Chong Yidong <cyd@stupidchicken.com>
1169
1170 * coding.c (make_conversion_work_buffer): Disable buffer
1171 modification hooks in the work buffer.
1172
b5ec91a5
EZ
11732008-12-05 Eli Zaretskii <eliz@gnu.org>
1174
1175 * process.c (procfs_system_process_attributes): If `nread' has a
1176 negative value, assign zero to it.
1177
a5d2a52b
CY
11782008-12-05 Chong Yidong <cyd@stupidchicken.com>
1179
68c5540b 1180 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1181
7bf1bb21
KH
11822008-12-05 Kenichi Handa <handa@m17n.org>
1183
1184 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1185 second character is a combining character.
1186
2fdc7d00
EZ
11872008-12-05 Eli Zaretskii <eliz@gnu.org>
1188
1189 * process.c (procfs_system_process_attributes): Don't use cmd,
1190 cmdsize, and q without initializing them first.
1191
bf6bfba8
JR
11922008-12-04 Jason Rumney <jasonr@gnu.org>
1193
1194 * w32font.c (w32font_draw): Initialize orig_clip before getting
1195 it, and delete it when finished.
1196
a3b1a468
DN
11972008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1198
1199 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1200 case when running as a daemon before detaching.
1201
8b8be8eb
JB
12022008-12-03 Juanma Barranquero <lekktu@gmail.com>
1203
805f2638 1204 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1205
b1bde622
KH
12062008-12-03 Kenichi Handa <handa@m17n.org>
1207
e500c47d
KH
1208 * font.c (font_at): Set `multibyte' at first.
1209
ca516334
KH
1210 * coding.c (decode_coding_charset): Check type of an element of
1211 vector VALIDS.
7bf1bb21 1212 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1213
4ccfa1c0 1214 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1215 (font_for_char): Likewise.
1216
1e5ecd37
CY
12172008-12-03 Chong Yidong <cyd@stupidchicken.com>
1218
d5b01609 1219 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1220 (font_update_lface): Handle fonts with corrupted size specs,
1221 i.e. non-int and non-float.
d5b01609 1222
11e3a6e4 1223 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1224 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1225 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1226
ab06788b
CY
1227 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1228
1e5ecd37 1229 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1230 underline_minimum_offset for underline position.
1e5ecd37 1231
63c125ab
DN
12322008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1233
1234 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1235
1236 * character.c (c_string_width): Specify the type for LEN.
1237
3a8406e1
KH
12382008-12-03 Kenichi Handa <handa@m17n.org>
1239
4ccfa1c0 1240 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1241 (decode_coding_utf_8): Likewise.
4ccfa1c0 1242 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1243 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1244
651df7d9
CY
12452008-12-02 Chong Yidong <cyd@stupidchicken.com>
1246
1247 * keyboard.c (make_lispy_position): Only use PT if the selected
1248 window is current.
1249
1f625c6c
AS
12502008-12-02 Andreas Schwab <schwab@suse.de>
1251
f7741ce9
AS
1252 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1253
1f625c6c
AS
1254 * doprnt.c (doprnt1): Fix size of charbuf.
1255
92bc2678
CY
12562008-12-02 Chong Yidong <cyd@stupidchicken.com>
1257
1258 * keyboard.c (timer_check): Revert last change.
1259
93b9e8cc
JB
12602008-12-02 Juanma Barranquero <lekktu@gmail.com>
1261
1262 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1263
fd7a37d5
JB
12642008-12-01 Juanma Barranquero <lekktu@gmail.com>
1265
1266 * makefile.w32-in: Update dependencies.
1267 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1268
c115043b
AS
12692008-12-01 Andreas Schwab <schwab@suse.de>
1270
1271 * font.c (register_font_driver): Use xmalloc.
1272 (font_put_frame_data): Likewise.
1273
f5668d2a
CY
12742008-12-01 Chong Yidong <cyd@stupidchicken.com>
1275
860d96be
CY
1276 * xfaces.c (realize_x_face): Make abort condition clearer.
1277
f5668d2a
CY
1278 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1279
379c17e7
CY
12802008-11-30 Chong Yidong <cyd@stupidchicken.com>
1281
1282 * keyboard.c (timer_check): After a timer runs, ensure that the
1283 selected window's buffer is current.
1284
35f36d65
JB
12852008-11-30 Juanma Barranquero <lekktu@gmail.com>
1286
f952c61c
JB
1287 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1288 It was accidentally restored by the Unicode merge.
1289
35f36d65
JB
1290 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1291
b23077df
JB
12922008-11-29 Juanma Barranquero <lekktu@gmail.com>
1293
1294 * w32proc.c: Include "coding.h".
1295 (Fw32_short_file_name): Encode filename passed to Windows API.
1296 (Fw32_long_file_name): Encode filename passed to Windows API and
1297 decode back the result. (Bug#1433)
1298
b8ebe9dd
KH
12992008-11-29 Kenichi Handa <handa@m17n.org>
1300
8cc53f96
KH
1301 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1302 not before accessing it.
1303
b8ebe9dd
KH
1304 * charset.c (Fdefine_charset_internal): After calculating
1305 min_char, max_char, and fastmap, copy the charset structure again.
1306 (encode_char): Fix the previous change.
1307
59bc82c0
SZ
13082008-11-28 Seiji Zenitani <zenitani@mac.com>
1309
1310 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1311
1312 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1313
1314 * nsterm.m (x_set_frame_alpha): New function.
1315
32247e3d
EZ
13162008-11-27 Eli Zaretskii <eliz@gnu.org>
1317
1318 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1319
b003e5ff
JB
13202008-11-27 Juanma Barranquero <lekktu@gmail.com>
1321
1322 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1323 pointer to check_face_name.
1324
708550f5
KH
13252008-11-27 Kenichi Handa <handa@m17n.org>
1326
1327 * category.h (SET_CATEGORY_SET): Call set_category_set.
1328 (set_category_set): Extern it.
1329
1330 * category.c (hash_get_category_set): New function.
1331 (Fmodify_category_entry): Adjusted for the change of
1332 char_table_ref_and_range. Call hash_get_category_set to get a
1333 category set to store in the table.
1334
1335 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1336 Funify_charset.
1337
2ae37cf0 1338 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1339 (DECODE_CHAR): Check if the decoder vector is ready.
1340 (ENCODE_CHAR): Check if the encoder char-table is ready.
1341 (maybe_unify_char): Extern it.
1342
1343 * charset.c (Vchar_unified_charset_table): Delete it.
1344 (inhibit_load_charset_map): New variable.
1345 (temp_charset_work): New variable.
1346 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1347 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1348 New macros.
1349 (load_charset_map): Meaning of control_flag changed. If
1350 inhibit_load_charset_map is nonzero, setup a table in
1351 temp_charset_work.
1352 (load_charset): New argument control_flag.
1353 (map_charset_for_dump): New function.
1354 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1355 map_charset_for_dump.
1356 (Fdefine_charset_internal): If the charset method is MAP, load
1357 mapping tables by calling load_charset.
1358 (Funify_charset): Don't load a mapping table but directly set
1359 Vchar_unify_table.
1360 (maybe_unify_char): New function.
1361 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1362 Handle the case of inhibit_load_charset_map being nonzero.
1363 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1364 Handle the case of inhibit_load_charset_map being nonzero.
1365 (Fclear_charset_maps): Just free temp_charset_work.
1366 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1367 variable.
1368
1369 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1370 change of char_table_ref_and_range.
1371 (char_table_ref_and_range): Change the meaning of argument FROM
1372 and TO. Now the caller must provide initial values for *FROM
1373 and *TO.
1374
1375 * fontset.c (fontset_add): Adjusted for the change of
1376 char_table_ref_and_range.
1377 (fontset_get_font_group): Likewise.
1378 (Ffontset_info): Likewise.
1379
1380 * keymap.c (describe_vector): Adjusted for the change of
1381 char_table_ref_and_range. For char-table, put boundary between
1382 non-ASCII and 8-bit characters.
1383
1384 * print.c (print_object): For bool-vector, delete unnecessary
1385 check of ASCII_BYTE_P.
1386
9196133b
JR
13872008-11-26 Jason Rumney <jasonr@gnu.org>
1388
1389 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1390 leading in font height. (Bug#879)
9196133b 1391
9f688acf
GM
13922008-11-26 Glenn Morris <rgm@gnu.org>
1393
1394 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1395 redefinition with ifdef. (Bug#1383)
1396
90d19aff
AR
13972008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1398
1399 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1400
4ccfa1c0 14012008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1402
1403 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1404 New EmacsView methods.
1405 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1406 Fixes bug #1048,1357,1414.
1407
14082008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1409
1410 Fix bug #1362.
1411 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1412 is not an indexed color.
1413 * nsterm.m (free_indexed_color): Add argument checking.
1414 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1415
e7d5ecb3
CY
14162008-11-24 Chong Yidong <cyd@stupidchicken.com>
1417
1418 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1419 Document confirm-after-completion value for
1420 minibuffer-completion-confirm.
1421
c285743c
JR
14222008-11-24 Jason Rumney <jasonr@gnu.org>
1423
1424 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1425 warning.
1426
b0857706
JR
14272008-11-23 Jason Rumney <jasonr@gnu.org>
1428
1429 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1430 restored before returning.
1431
1432 * w32font.c (check_face_name): New function.
1433 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1434 fonts. (Bug#642)
b0857706 1435
ee50ff07
MR
14362008-11-22 Martin Rudalics <rudalics@gmx.at>
1437
1438 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1439 confirm-nonexistent-file-or-buffer in doc-string.
1440
b8ff72fa
SM
14412008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1442
1443 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1444 Fix copy/paste typo. Add checks.
1445
cee53ed4
KH
14462008-11-21 Kenichi Handa <handa@m17n.org>
1447
1448 * coding.c (detect_coding_iso_2022): Reject invalid composition
1449 sequence.
1450 (DECODE_COMPOSITION_START): If the current source is the last
1451 block, and the current composition doesn't end, regard this
1452 sequence as invalid.
1453 (decode_coding_iso_2022): Handle invalid composition sequence.
1454
f6ef1e65
MR
14552008-11-20 Martin Rudalics <rudalics@gmx.at>
1456
1457 * window.c (coordinates_in_window): Don't return
1458 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1459 line when the window is not the rightmost one. (Bug#1372)
1460
e08b1705
MR
14612008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1462
1463 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1464
ad98e89f
EZ
14652008-11-15 Eli Zaretskii <eliz@gnu.org>
1466
1467 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1468 and bright_bg if noninteractive is non-zero.
1469
fb098a4b
CY
14702008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1471
1472 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1473 x_draw_glyph_string_background.
1474
1475 * w32term.c (x_draw_glyph_string): Likewise.
1476
ce952b6e
CY
14772008-11-15 Chong Yidong <cyd@stupidchicken.com>
1478
1479 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1480 the next glyph string once past the overhang width.
1481
1482 * nsterm.m (ns_draw_glyph_string): Likewise.
1483
1484 * w32term.c (x_draw_glyph_string): Likewise.
1485
26ea7079
CY
14862008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1487
1488 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1489 double file close.
1490
1c33c906
MR
14912008-11-14 Martin Rudalics <rudalics@gmx.at>
1492
1493 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1494 dedicated status of window before attempting to display another
1495 buffer in it.
1496
8fc29035
JB
14972008-11-14 Juanma Barranquero <lekktu@gmail.com>
1498
1499 * msdos.c (Fmsdos_long_file_names):
1500 (syms_of_msdos) <dos-unsupported-char-glyph>:
1501 * dosfns.c (Fint86): Fix typos in docstrings.
1502
55fb4286
EZ
15032008-11-14 Eli Zaretskii <eliz@gnu.org>
1504
1505 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1506
3fda0315
KY
15072008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1508
1509 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1510
7e849c17
CY
15112008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1512
1513 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1514
1515 * frame.h: Negative alpha means "don't touch".
1516
1517 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1518
1519 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1520
b9fd67bd
DN
15212008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1522
1523 * hftctl.c:
1524 * chpdef.h:
1525 * acldef.h: Remove files used only for systems no longer supported.
1526
1527 * Makefile.in: Fix .o alphabetical ordering.
1528 (hftctl.o): Remove dependency, file removed.
1529 (keymap.o, print.o): Depend on charset.h.
1530
d5998e03
KH
15312008-11-10 Kenichi Handa <handa@m17n.org>
1532
2ae37cf0 1533 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1534
be70e183
CY
15352008-11-08 Chong Yidong <cyd@stupidchicken.com>
1536
1537 * dired.c (file_name_completion): If completion_ignore_case is
1538 enabled, ignore case when checking completion-regexp-list.
1539
7cf94eac
EZ
15402008-11-08 Eli Zaretskii <eliz@gnu.org>
1541
1542 * vm-limit.c (get_lim_data): Fix last change.
1543
ee107a89
KH
15442008-11-08 Kenichi Handa <handa@m17n.org>
1545
1546 * character.c (Fget_byte): New function.
1547 (syms_of_character): Defsubr Fget_byte.
1548
5fd15622
CY
15492008-11-07 Chong Yidong <cyd@stupidchicken.com>
1550
1551 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1552 cursor position is valid after scrolling.
1553
13d62fad
JB
15542008-11-06 Juanma Barranquero <lekktu@gmail.com>
1555
1556 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1557
a1dd2936
GM
15582008-11-06 Glenn Morris <rgm@gnu.org>
1559
1560 * xterm.c (handle_one_xevent): Don't let popup menus cause
1561 mouse-autoselect-window related window switching. (Bug#1261)
1562
860cd236
CY
15632008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1564
1565 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1566
653a3150
AS
15672008-11-04 Andreas Schwab <schwab@suse.de>
1568
1569 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1570
870f5cac
CY
15712008-11-03 Chong Yidong <cyd@stupidchicken.com>
1572
1573 * xfns.c (Fx_wm_set_size_hint): New function.
1574
1e02f3cb
MR
15752008-11-03 Martin Rudalics <rudalics@gmx.at>
1576
1577 * textprop.c (Fprevious_single_char_property_change): Return 0
1578 when there's no change in a string. (Bug#1301)
1579
e630dfc6
MR
15802008-11-02 Martin Rudalics <rudalics@gmx.at>
1581
1582 * frame.c (do_switch_frame): New argument NORECORD passed to
1583 Fselect_window.
1584 (Fselect_frame): New argument NORECORD passed to
1585 do_switch_frame.
1586 (Fset_frame_selected_window): New argument NORECORD passed to
1587 Fselect_frame.
1588 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1589 in call of do_switch_frame.
1590 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1591 Handle NORECORD argument in call of Fselect_frame.
1592 * lisp.h (do_switch_frame, Fselect_frame)
1593 (Fset_frame_selected_window): Adjust declarations.
1594 * window.c (select_frame_norecord): New function.
1595 (run_window_configuration_change_hook): Use it and call
1596 Fselect_frame with NORECORD set.
1597 (Fselect_window): Pass NORECORD to Fselect_frame.
1598 (Fset_window_configuration): Handle NORECORD argument in call of
1599 do_switch_frame.
1600 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1601 Fset_frame_selected_window.
1602 * keyboard.c (command_loop_1): Handle NORECORD in call of
1603 Fselect_frame (currently ifdefd).
1604
9020b223
GM
16052008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1606
1607 * emacs.c (USAGE2): Untabify.
1608
793ffee8
SM
16092008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1610
1611 * composite.c (fill_gstring_header): Fix copy/paste typo.
1612
ab6d1131
MR
16132008-10-31 Martin Rudalics <rudalics@gmx.at>
1614
1615 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1616 (Fother_window): Rename argument and rewrite doc-string.
1617 (select_window_norecord): Fix return value. (Bug#1276)
1618
601a9cf1
JB
16192008-10-30 Juanma Barranquero <lekktu@gmail.com>
1620
1621 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1622 new frames overriding foreground for tooltips. Based on similar patch
1623 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1624
813b0652
CY
16252008-10-29 Chong Yidong <cyd@stupidchicken.com>
1626
1627 * emacs.c (Fdaemon_initialized): Initialize nfd.
1628
4414f58f
MR
16292008-10-29 Martin Rudalics <rudalics@gmx.at>
1630
1631 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1632 (Fwindow_text_height): Clarify doc-strings.
1633 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1634 doc-string of window-scroll-functions.
1635
ecdcaa09
RS
16362008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1637
1638 * category.c (syms_of_category): Fix typo in docstring.
1639
23fe745a
JB
16402008-10-28 Juanma Barranquero <lekktu@gmail.com>
1641
1642 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1643 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1644 Fix typos in docstrings.
1645
ff808935
DN
16462008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1647
1648 * emacs.c (daemon_pipe): Make non-static.
1649 (IS_DAEMON): Move definition ...
1650 * lisp.h (IS_DAEMON): ... here.
1651 (daemon_pipe): Declare.
1652 (is_daemon): Remove.
1653 * dispnew.c (init_display): Use IS_DAEMON.
1654
fc012771
SM
16552008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1656
1657 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1658 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1659
1660 * emacs.c (is_daemon): Remove.
1661 (main): Don't set is_daemon.
1662 (IS_DAEMON): New macro.
1663 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1664 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1665 parent exits.
1666 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1667
d8bdbe6f
CY
16682008-10-27 Chong Yidong <cyd@stupidchicken.com>
1669
d1a072bf
CY
1670 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1671 over-sized glyph, draw it with the default glyph width.
1672
e2e325aa
CY
1673 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1674 glyph, draw it with the default glyph width.
1675
1676 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1677 glyph, draw it with the default glyph width.
1678
d8bdbe6f
CY
1679 * xdisp.c (try_scrolling): When computing the distance from the
1680 scroll margin to PT, try moving some distance past the window
1681 bottom before giving up.
1682
7bfac547
MR
16832008-10-27 Martin Rudalics <rudalics@gmx.at>
1684
1685 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1686 (Fset_window_buffer): Explain in doc-string that a window can be
1687 "strongly" dedicated to its buffer.
1688
4ff029f6
DN
16892008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1690
1691 * emacs.c (daemon_name): New variable.
1692 (main): Deal with --daemon=SERVER_NAME.
1693 (Fdaemonp): Return a name if one was passed to --daemon.
1694
5790ef40
DN
16952008-10-26 Romain Francoise <romain@orebokech.com>
1696
f9bd0df9 1697 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1698 (main): Create a pipe before forking, make the parent exit only after
1699 the child has closed its end of the pipe. Move closing the
1700 descriptors ...
1701 (Fdaemon_initialized): ... here. New function.
1702
f5385255
SM
17032008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1704
4d632321
SM
1705 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1706 the previous unoptimized table.
1707
f5385255
SM
1708 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1709 the distinction between non-nil and non-t value of `dedicated'.
1710
6c56a0f3
CY
17112008-10-25 Chong Yidong <cyd@stupidchicken.com>
1712
1713 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1714 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1715
fec89261
MR
17162008-10-25 Martin Rudalics <rudalics@gmx.at>
1717
1718 * window.c (Fget_buffer_window, Fdelete_windows_on)
1719 (Freplace_buffer_in_windows): Make buffer argument optional and
1720 rename to buffer_or_name.
1721
34fcddd0
CY
17222008-10-24 Chong Yidong <cyd@stupidchicken.com>
1723
f5385255
SM
1724 * xdisp.c (handle_single_display_spec, handle_display_prop):
1725 Undo 2005-05-16 change.
34fcddd0
CY
1726 (handle_stop): Pop iterator if it's loaded with an empty string.
1727 (get_overlay_strings_1): Don't save iterator if it's loaded with
1728 an empty string (bug#1201).
1729
064766f2
KH
17302008-10-24 Kenichi Handa <handa@m17n.org>
1731
1732 * ftfont.c (ftfont_otf_features): Fix previous change.
1733 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1734 calling ftfont_otf_features.
1735
f9bd0df9 17362008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1737
1738 * font.c (font_match_p): Fix for the case that a vector of
1739 characters is in script-representative-chars.
1740
1dae9197
MA
17412008-10-24 Michael Albinus <michael.albinus@gmx.de>
1742
1743 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1744 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1745 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1746 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1747 macro. (Bug#1186).
1748
f9bd0df9 17492008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1750
1751 * s/sol2-10.h: New file.
1752
878a4584
JB
17532008-10-23 Juanma Barranquero <lekktu@gmail.com>
1754
1755 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1756 poor beast has survived 9+ years and the jump from xterm.c!).
1757
cd265ca6
MR
17582008-10-23 Martin Rudalics <rudalics@gmx.at>
1759
1760 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1761 Reword doc-string.
f5385255 1762 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1763
472a4dc9
JB
17642008-10-23 Juanma Barranquero <lekktu@gmail.com>
1765
1766 * character.c (syms_of_character) <script-representative-chars>:
1767 <unicode-category-table>: Doc fixes.
1768
159bd5a2
NF
17692008-10-23 Noah Friedman <friedman@splode.com>
1770
1771 * coding.c (make_conversion_work_buffer): Check that
1772 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1773 Fget_buffer_create.
1774
49f9c344
KH
17752008-10-23 Kenichi Handa <handa@m17n.org>
1776
1777 * font.c (font_add_log): Check the values of extra properties.
1778
12bb3111
MR
17792008-10-22 Martin Rudalics <rudalics@gmx.at>
1780
1781 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1782 Reword doc-string.
1783 (Fset_window_parameter): Use NILP.
1784 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1785 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1786
bbeb4e99
JB
17872008-10-22 Juanma Barranquero <lekktu@gmail.com>
1788
1789 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1790
17912008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1792
1793 * nsfns.m (ns_appkit_version): New function.
1794 (x-server-version): Use it.
1795 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1796 (x-server-vendor): Don't check_ns().
1797
1798 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1799
a9b555d3
JB
18002008-10-22 Juanma Barranquero <lekktu@gmail.com>
1801
1802 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1803 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1804
4626499f
KH
18052008-10-22 Kenichi Handa <handa@m17n.org>
1806
e3681952
KH
1807 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1808 scripts.
1809
4626499f
KH
1810 * category.c (word_boundary_p): Check scripts instead of charset.
1811 Handle nil value in word-separating-categories and
1812 word-combining-categories.
1813 (syms_of_category): Fix docstrings of word-separating-categories
1814 and word-combining-categories.
1815
1560f91a
EZ
18162008-10-21 Eli Zaretskii <eliz@gnu.org>
1817
1818 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1819 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1820
f4668441
MR
18212008-10-21 Martin Rudalics <rudalics@gmx.at>
1822
1823 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1824 Rename arg "buffer" to "buffer_or_name".
1825 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1826 it optional.
1827 (no_switch_window): Remove since the return value is not used.
a9b555d3 1828 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1829 Consider window as dedicated when Fwindow_dedicated_p returns a
1830 non-nil value.
1831 * lisp.h: Remove prototype for no_switch_window.
1832
fd75ddb2
JD
18332008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1834
1835 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1836 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1837
07295713
KH
18382008-10-21 Kenichi Handa <handa@m17n.org>
1839
1840 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1841 check Vlatin_extra_code_table.
1842
712adc82
EZ
18432008-10-20 Eli Zaretskii <eliz@gnu.org>
1844
1845 * fileio.c (Fset_file_modes): Doc fix.
1846
f549eb0b
MA
18472008-10-19 Michael Albinus <michael.albinus@gmx.de>
1848
1849 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1850 in arrays.
1851
aac0c6e3
MR
18522008-10-19 Martin Rudalics <rudalics@gmx.at>
1853
1854 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1855 Mention kill-buffer in doc-string.
1856 (Fset_window_buffer): Reinsert tem check removed in last commit.
1857 (Fenlarge_window, Fshrink_window): Have argument names and
1858 doc-string follow Elisp manual more closely.
1859
18602008-10-18 Eli Zaretskii <eliz@gnu.org>
1861
1862 * fileio.c (Fset_file_modes): Doc fix.
1863
18642008-10-18 Martin Rudalics <rudalics@gmx.at>
1865
1866 * window.c (Fwindow_width, Fset_window_start)
1867 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1868 (Fdelete_windows_on, Freplace_buffer_in_windows):
1869 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1870 (Fwindow_dedicated_p): Make window argument optional.
1871 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1872 (Fset_window_buffer): Respect any non-nil dedicated value for
1873 window. Rename "buffer" argument to "buffer_or_name".
1874
18752008-10-18 Ulrich Mueller <ulm@gentoo.org>
1876
1877 * m/sh3.h: New file, machine description for SuperH.
1878
18792008-10-17 Martin Rudalics <rudalics@gmx.at>
1880
1881 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1882
18832008-10-17 Kenichi Handa <handa@m17n.org>
1884
1885 * ftfont.c (ftfont_otf_features): Fix indexing
1886 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1887
18882008-10-16 Magnus Henoch <mange@freemail.hu>
1889
1890 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1891 (Fdbus_call_method_asynchronously): Ditto.
1892 This change makes C-h f display the argument list.
1893
18942008-10-16 Chong Yidong <cyd@stupidchicken.com>
1895
1896 * fileio.c (Fexpand_file_name): Doc fix.
1897
1898 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1899 of :foreground and :background equivalent to unspecified (20.x
1900 compatibility).
1901
19022008-10-15 Eli Zaretskii <eliz@gnu.org>
1903
1904 * buffer.c (syms_of_buffer): Doc fix.
1905
19062008-10-14 Kenichi Handa <handa@m17n.org>
1907
1908 * font.c (font_clear_prop): When clearing font width, clear the
1909 average width field too.
1910
19112008-10-12 Andreas Schwab <schwab@suse.de>
1912
1913 * ftfont.c (ftfont_shape_by_flt): Make static.
1914 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1915
1916 * font.c: Don't include <m17n-flt.h>.
1917
19182008-10-10 Eli Zaretskii <eliz@gnu.org>
1919
1920 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1921
19222008-10-09 Eli Zaretskii <eliz@gnu.org>
1923
1924 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1925 away code.
1926
19272008-10-09 Chong Yidong <cyd@stupidchicken.com>
1928
1929 * dispnew.c (update_text_area): Avoid looping due to large glyph
1930 overhangs (bug#1070).
1931
19322008-10-09 Kenichi Handa <handa@m17n.org>
1933
1934 * fontset.c (face_for_char): If face->fontset is negative, just
1935 return ascii_face.
1936
f5385255
SM
1937 * font.c (font_delete_unmatched): Fix previous change.
1938 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
1939
19402008-10-09 Martin Rudalics <rudalics@gmx.at>
1941
1942 * frame.c (Fraise_frame): On text-only terminals select frame in
1943 order to make it visible. (Bug#1061)
1944
19452008-10-08 Chong Yidong <cyd@stupidchicken.com>
1946
1947 * fontset.c (fontset_find_font): Check frame validity.
1948
19492008-10-07 Chong Yidong <cyd@stupidchicken.com>
1950
a9b555d3 1951 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
1952 (xg_display_close): Allow Emacs to close all displays (bug#985).
1953
19542008-10-06 Andreas Schwab <schwab@suse.de>
1955
f5385255 1956 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
1957
19582008-10-06 Chong Yidong <cyd@stupidchicken.com>
1959
f5385255 1960 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 1961
a9b555d3 1962 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
1963
1964 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
1965 during initialization.
1966
19672008-10-04 Eli Zaretskii <eliz@gnu.org>
1968
1969 * xdisp.c (redisplay_internal): If frame switched, redisplay the
1970 whole thing on MSDOS frames as well as on a TTY.
1971
1972 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
1973 well as for TTY.
1974 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
1975 well as on a TTY.
1976
1977 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
1978 as well as for TTY.
1979
1980 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
1981
1982 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
1983 MSDOS frames as well.
1984
19852008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
1986
1987 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
1988 correct arguments.
1989 * menu.c (find_and_return_menu_selection) Add cast.
1990
19912008-10-03 Glenn Morris <rgm@gnu.org>
1992
1993 * emacs.c (USAGE1): Add --daemon.
1994
19952008-10-02 Eli Zaretskii <eliz@gnu.org>
1996
1997 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
1998 100, so it's in percents as advertised.
1999
20002008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2001
2002 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2003 (ns_output.current_cursor, ns_output.desired_cursor)
2004 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2005 (FRAME_NEW_CURSOR_COLOR): Remove.
2006
2007 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2008 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2009 enumeration (HOLLOW_BOX_CURSOR, etc.).
2010
2011 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2012 (draw_window_cursor): Simplify code.
f5385255
SM
2013 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2014 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2015 updates manually.
a9b555d3
JB
2016 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2017 Use core Emacs cursor types.
aac0c6e3 2018
b8ff72fa 2019 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2020
20212008-10-02 Martin Rudalics <rudalics@gmx.at>
2022
2023 * process.c (Faccept_process_output): Fix doc-string.
2024
20252008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2026
2027 * gmalloc.c (__sbrk): Also define for uClibc.
2028
2029 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2030 for uClibc.
2031
20322008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2033
2034 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2035 styles.
2036 (nsfont_open): Reenable the cache.
2037
20382008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2039
2040 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2041 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2042
20432008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2044
2045 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2046 a suspended terminal.
2047
20482008-09-30 Michael Albinus <michael.albinus@gmx.de>
2049
2050 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2051
20522008-09-30 Eli Zaretskii <eliz@gnu.org>
2053
2054 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2055
20562008-09-30 Chong Yidong <cyd@stupidchicken.com>
2057
2058 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2059 in a continued line coincides with a line beginning.
2060
20612008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2062
2063 * nsfont.m (nsfont_trait_distance): Fix bug.
2064 (nsfont_list): Return a list rather than a vector (syncs with Handa
2065 changes of 2008-05-14).
2066 (nsfont_open): Improve logging.
2067
20682008-09-29 Andreas Schwab <schwab@suse.de>
2069
2070 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2071
20722008-09-28 Martin Rudalics <rudalics@gmx.at>
2073
2074 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2075 name as char-resolve-modifiers.
2076 Reported by: Markus Triska <markus.triska@gmx.at>
2077
20782008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2079
2080 * dispnew.c (init_display): Return earlier when running as a daemon.
2081
20822008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2083
2084 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2085
20862008-09-27 Eli Zaretskii <eliz@gnu.org>
2087
2088 * composite.c (Fcomposition_get_gstring)
2089 (Fcompose_region_internal, Fcompose_string_internal)
2090 (Ffind_composition_internal): Doc fix.
2091 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2092 (syms_of_composite) <auto-composition-function>: Doc fix.
2093 (syms_of_composite) <composition-function-table>: Doc fix.
2094
20952008-09-25 Chong Yidong <cyd@stupidchicken.com>
2096
2097 * search.c (wordify): New argument for lax word-ends.
2098 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2099
21002008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2101
2102 * lisp.h (is_daemon): Declare.
2103 * dispnew.c (init_display): Do not try to initialize the terminal
2104 when running as a daemon.
2105
21062008-09-22 Chong Yidong <cyd@stupidchicken.com>
2107
2108 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2109 x_display_pixel_height.
2110
21112008-09-22 Martin Rudalics <rudalics@gmx.at>
2112
2113 * undo.c (record_point): Don't call Fundo_boundary for first
2114 change. (Bug#731)
2115
21162008-09-22 Juanma Barranquero <lekktu@gmail.com>
2117
2118 * emacs.c (Fdaemonp): Doc fix.
2119
21202008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2121
2122 * emacs.c (main): Place #ifdef in the proper place.
2123
21242008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2125
2126 * emacs.c (standard_args): Add --daemon.
2127 (main): Disconnect from the terminal when --daemon is passed.
2128 (is_daemon): New variable.
2129 (Fdaemonp): New function.
2130 (syms_of_emacs): Defsubr it.
2131
21322008-09-20 Chong Yidong <cyd@stupidchicken.com>
2133
2134 * xdisp.c (get_next_display_element): Handle string display
2135 correctly when checking for the end of a box run.
2136
21372008-09-20 Glenn Morris <rgm@gnu.org>
2138
2139 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2140 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2141 (Frename_file): Avoid copying to trash if a rename involves
2142 a delete. (Bug#964).
2143
21442008-09-20 Eli Zaretskii <eliz@gnu.org>
2145
2146 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2147 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2148 frames as well as termcap frames.
2149 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2150 get_named_tty.
2151
21522008-09-19 Eli Zaretskii <eliz@gnu.org>
2153
2154 * process.c (procfs_system_process_attributes): Fix cmdline in
2155 case /proc/PID/cmdline is empty.
2156
2157 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2158 x_display_pixel_height.
2159
21602008-09-19 Juanma Barranquero <lekktu@gmail.com>
2161
2162 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2163
2164 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2165 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2166
21672008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2168
2169 * dispextern.h (struct it): Move line_wrap away from the middle of
2170 bitfields. Move voffset in struct iterator_stack_entry after the
2171 bitfields. Move tab_width near after another short.
2172
21732008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2174
2175 * frame.h (struct frame): Move alpha from the middle of bitfields.
2176
2177 * window.h (struct window): Move frozen_window_start_p after the
2178 rest of the bitfields to reduce padding.
2179
21802008-09-18 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * xterm.h (x_display_info): Remove `height' and `width' members.
2183
2184 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2185
2186 * w32term.h (w32_display_info): Remove `height', `width',
2187 `height_in', and `width_in' members.
2188
b8ff72fa
SM
2189 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2190 New functions.
aac0c6e3
MR
2191 (x_calc_absolute_position): Use them.
2192 (x_term_init): Omit removed `height' and `width' members.
2193
b8ff72fa
SM
2194 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2195 New functions.
aac0c6e3
MR
2196 (w32_read_socket, x_calc_absolute_position): Use them.
2197 (w32_initialize_display_info, w32_term_init): Omit removed members
2198 of w32_display_info.
2199
b8ff72fa
SM
2200 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2201 New functions.
2202 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2203
b8ff72fa
SM
2204 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2205 New functions.
aac0c6e3
MR
2206 (x_calc_absolute_position): Use them.
2207 (x_term_init): Omit removed `height' and `width' members.
2208
2209 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2210 (compute_tip_xy):
2211 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2212 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2213 x_display_pixel_width.
2214
22152008-09-18 Kenichi Handa <handa@m17n.org>
2216
2217 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2218 (composition_compute_stop_pos): Fix handling of static composition.
2219 (Fcomposition_get_gstring): Check FROM and TO at first.
2220
22212008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2222
2223 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2224 mixup (YAILOM).
2225
22262008-09-17 Chong Yidong <cyd@stupidchicken.com>
2227
2228 * indent.c (Fvertical_motion): Use position reported by iterator
2229 instead of PT for determining screen motion (bug#943).
2230
22312008-09-17 Romain Francoise <romain@orebokech.com>
2232
2233 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2234
22352008-09-17 Kenichi Handa <handa@m17n.org>
2236
2237 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2238
2239 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2240 if necessary.
2241
22422008-09-16 Kenichi Handa <handa@m17n.org>
2243
2244 * coding.c (make_conversion_work_buffer): Avoid calling
2245 Fget_buffer_create if it is not necessary.
2246
22472008-09-15 Martin Rudalics <rudalics@gmx.at>
2248
2249 * window.c (Fselect_window): Don't update window_select_count and
2250 use_time when norecord is not nil.
2251
22522008-09-14 Kenichi Handa <handa@m17n.org>
2253
2254 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2255 specpdl_ptr.
2256
22572008-09-12 Kenichi Handa <handa@m17n.org>
2258
2259 * indent.c (scan_for_column): Don't handle automatic composition
2260 if the current buffer is not associated with a window.
2261
2262 * composite.c (composition_reseat_it): If the current buffer is
2263 not associated with a window, ignore the automatic composition.
2264 (find_automatic_composition): Likewise.
2265
22662008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2267
2268 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2269 (Fgpm_mouse_stop): Use it.
2270 * termhooks.h (close_gpm): Declare.
2271 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2272 connection if Gpm_GetEvent fails.
2273
2274 * window.c (set_window_buffer): Always preserve current-buffer.
2275
22762008-09-12 Glenn Morris <rgm@gnu.org>
2277
2278 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2279
22802008-09-11 Glenn Morris <rgm@gnu.org>
2281
2282 * charset.c (charset-map-path): Doc fix.
2283
22842008-09-10 Kenichi Handa <handa@m17n.org>
2285
2286 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2287
2288 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2289 compose a grapheme cluster with the preceding base glyph.
2290
2291 * composite.c (composition_compute_stop_pos): Fix previous change.
2292 Reset cmp_it->id to -1 at first.
2293
22942008-09-10 Glenn Morris <rgm@gnu.org>
2295
2296 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2297
22982008-09-09 Chong Yidong <cyd@stupidchicken.com>
2299
2300 * keyboard.c (read_key_sequence): Reapply translation maps when
2301 switching keyboards.
2302
23032008-09-09 Kenichi Handa <handa@m17n.org>
2304
2305 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2306 characters.
2307
2308 * composite.c (FORWARD_CHAR): Fix calculation
2309 of (POSITION).pos_byte.
2310 (composition_compute_stop_pos): Limit the search of composition to
2311 at most 500 characters ahead. If we reach the limit or find a
2312 newline, set cmp_it->ch to -2 and return 0.
2313 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2314
23152008-09-08 Kenichi Handa <handa@m17n.org>
2316
2317 * indent.c (Fvertical_motion): Be sure to set
2318 it_overshoot_expected if it.cmp_it.id is non-negative.
2319
23202008-09-07 Andreas Schwab <schwab@suse.de>
2321
2322 * callproc.c (Fcall_process): Don't hold references to string data
2323 across garbage collection. Move initialisation of new_argv down
2324 to avoid compiler bug.
2325
23262008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2327
2328 * process.c (Fsystem_process_attributes): Doc fix.
2329
23302008-09-07 Chong Yidong <cyd@stupidchicken.com>
2331
2332 * callproc.c (Fcall_process): Canonicalize current directory name.
2333
2334 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2335 iterator advances to the next line if the current line ends in a
2336 continued tab.
2337
23382008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2339
2340 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2341 member to point to cmp_from.
2342
2343 * xdisp.c: Doc fix for references to gidx data member.
2344
23452008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2346
2347 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2348
23492008-09-07 Kenichi Handa <handa@m17n.org>
2350
2351 * composite.c (FORWARD_CHAR): Check STOP after
2352 incrementing (POSITION).pos.
2353
23542008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2355
2356 * process.c (Fsystem_process_attributes): Doc fix.
2357
23582008-09-06 Chong Yidong <cyd@stupidchicken.com>
2359
2360 * keyboard.c (Ftop_level): Doc fix.
2361
23622008-09-06 Eli Zaretskii <eliz@gnu.org>
2363
2364 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2365 minibuffer, don't let lower part of menu invade the echo area.
2366
2367 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2368 "char *q" to access menu text and advance through it. Revert the
2369 change that displayed ">" instead of ASCII character 0x10.
2370
23712008-09-05 Eli Zaretskii <eliz@gnu.org>
2372
2373 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2374 toggle boxes and radio buttons on MS-DOS as well.
2375
23762008-09-05 Kenichi Handa <handa@m17n.org>
2377
2378 * composite.c (autocmp_chars): Check lookback count.
2379 (composition_compute_stop_pos): Set cmp_it->lookback.
2380 (composition_reseat_it): Check lookback count.
2381 (struct position_record): New struct.
2382 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2383 (find_automatic_composition): New function.
2384 (composition_adjust_point): Use find_automatic_composition.
2385
2386 * dispextern.h (struct composition_it): New member lookback.
2387
23882008-09-02 Chong Yidong <cyd@stupidchicken.com>
2389
2390 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2391 if moving by a single line.
2392
23932008-09-02 Andreas Schwab <schwab@suse.de>
2394
2395 * xterm.c (x_delete_display): Fix merge error.
2396
2397 * fileio.c (Fexpand_file_name): Remove unused variables.
2398
23992008-09-02 Eli Zaretskii <eliz@gnu.org>
2400
2401 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2402 storage on all platforms, not just on DOS_NT.
2403
24042008-09-02 Jason Rumney <jasonr@gnu.org>
2405
b8ff72fa
SM
2406 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2407 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2408
24092008-09-01 Chong Yidong <cyd@stupidchicken.com>
2410
2411 * xfaces.c (Finternal_set_alternative_font_family_alist)
2412 (Finternal_set_alternative_font_registry_alist): Properly copy
2413 entire alist structure.
2414
24152008-09-01 Kenichi Handa <handa@m17n.org>
2416
d66c0241 2417 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2418 representative chars of the script is a vector.
d66c0241
JB
2419 (ftfont_list): Handle the case where the representative chars of
2420 the script is a vector.
aac0c6e3
MR
2421
2422 * character.c (syms_of_character): Docstring of
2423 script-representative-chars fixed.
2424
24252008-08-31 Eli Zaretskii <eliz@gnu.org>
2426
2427 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2428 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2429 the menu. Allocate larger buffer for `text', to account for
2430 possible ^C characters.
2431
24322008-08-31 Martin Rudalics <rudalics@gmx.at>
2433
2434 * xdisp.c (prepare_menu_bars): Don't call
2435 Vwindow_size_change_functions with arg Qt.
2436
24372008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2438
2439 * font.h (font_range):
2440 * fileio.c (report_file_error):
2441 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2442
24432008-08-30 Glenn Morris <rgm@gnu.org>
2444
2445 * data.c (Fmake_variable_frame_local): Doc fix.
2446
2447 * frame.c (Fmodify_frame_parameters): Doc fix.
2448
24492008-08-30 Eli Zaretskii <eliz@gnu.org>
2450
2451 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2452 needed by GetTokenInformation.
2453 (w32_system_process_attributes): Check return values of all system
2454 APIs.
2455
2456 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2457 only when the state changes.
2458 (IT_update_begin, IT_update_end): Add termscript trace.
2459
2460 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2461 clipboard is unavailable. Set dst to NULL if it doesn't point to
2462 malloc'ed data.
2463 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2464 passing random values to xfree.
2465
2466 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2467 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2468
24692008-08-29 Jason Rumney <jasonr@gnu.org>
2470
2471 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2472
24732008-08-29 Eli Zaretskii <eliz@gnu.org>
2474
2475 * composite.c (fill_gstring_body): Avoid compiler warnings.
2476
2477 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2478 LGLYPH_SET_CODE to avoid compiler warnings.
2479
2ae37cf0 2480 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2481
2482 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2483
2484 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2485 LGLYPH_SET_CODE.
2486
24872008-08-29 Kenichi Handa <handa@m17n.org>
2488
2489 * fileio.c (report_file_error): Don't downcase the first character
2490 of errstring if it is still unibyte.
2491
24922008-08-29 Kenichi Handa <handa@m17n.org>
2493
2494 These changes are to re-implement the automatic composition so
2495 that it doesn't use text properties.
2496
2497 * Makefile.in (ftfont.o): Depend on composite.h.
2498 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2499
2500 * character.h (Vunicode_category_table): Extern it.
2501
2502 * character.c (Vunicode_category_table): New variable.
2503 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2504
2505 * chartab.c (optimize_sub_char_table): Perform more greedy
2506 optimization.
2507
b8ff72fa
SM
2508 * composite.h (enum composition_method):
2509 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2510 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2511 (Vcomposition_function_table): Extern it.
2512 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2513 (composition_gstring_put_cache, composition_gstring_from_id)
2514 (composition_gstring_p, composition_gstring_width)
2515 (composition_compute_stop_pos, composition_reseat_it)
2516 (composition_update_it, composition_adjust_point): Extern them.
2517 (Fcomposition_get_gstring): EXFUN it.
2518
d66c0241 2519 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2520 (Vcomposition_function_table)
2521 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2522 (gstring_hash_table, gstring_work, gstring_work_headers):
2523 New variables.
aac0c6e3
MR
2524 (gstring_lookup_cache, composition_gstring_put_cache)
2525 (composition_gstring_from_id, composition_gstring_p)
2526 (composition_gstring_width, fill_gstring_header)
2527 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2528 (composition_reseat_it, composition_update_it)
b8ff72fa 2529 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2530 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2531 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2532 Defsubr compostion_get_gstring.
2533
2534 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2535 cmp_id.
2536 (struct glyph_string): Delete the member gidx. New members
2537 cmp_id, cmp_from, and cmp_to.
2538 (enum it_method): Delete GET_FROM_COMPOSITION.
2539 (struct composition_it): New struct.
2540 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2541 Delete c, len, cmp_id, cmp_len in u.comp.
2542
2543 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2544 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2545 (enum lglyph_indices): Likewise.
b8ff72fa 2546 (font_range): Adjust extern.
aac0c6e3
MR
2547 (font_fill_lglyph_metrics): Extern it.
2548
2549 * font.c (QCf): New variable.
2550 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2551 (font_prepare_composition): Delete this function.
2552 (font_range): Type and arguments changed.
2553 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2554 (font_fill_lglyph_metrics): New function.
b8ff72fa 2555 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2556 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2557 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2558 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2559
2560 * fontset.h (font_for_char): Extern it.
2561
2562 * fontset.c (font_for_char): New function.
2563
2564 * ftfont.c: Include composite.h.
2565 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2566 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2567
2568 * indent.c: Include composite.h and dispextern.h.
2569 (check_composition): Delete this function.
2570 (scan_for_column): Handle composition by
2571 composition_compute_stop_pos, composition_reseat_it, and
2572 composition_update_it.
2573 (compute_motion): Likewise.
2574 (Fvertical_motion): Fix checking of composition.
2575
2576 * keyboard.c (adjust_point_for_property): Check composition by
2577 composition_adjust_point.
2578
b8ff72fa 2579 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2580 struct glyph_string.
2581
b8ff72fa
SM
2582 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2583 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2584 struct glyph.
2585 (produce_composite_glyph): Likewise.
2586
b8ff72fa
SM
2587 * w32term.c (x_draw_composite_glyph_string_foreground):
2588 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2589 (x_draw_glyph_string): Likewise.
2590
2591 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2592 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2593
2594 * xdisp.c: Include font.h.
2595 (it_props): Delete the entry for Qauto_composed.
2596 (init_iterator): Initialize it->cmp_it.id to -1.
2597 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2598 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2599 (handle_auto_composed_prop): Delete it.
2600 (handle_composition_prop): Handle only static composition.
2601 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2602 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2603 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2604 (pop_it): Likewise.
2605 (get_next_element): Delete next_element_from_composition.
2606 (CHAR_COMPOSED_P): New macro.
2607 (get_next_display_element): For automatic composition, get a face
2608 from the font in the glyph-string.
2609 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2610 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2611 (next_element_from_string): Check if the character at the current
2612 position is composed by CHAR_COMPOSED_P.
2613 (next_element_from_buffer): Likewise.
d66c0241
JB
2614 (next_element_from_composition): Adjust for the change of struct it.
2615 Update it->cmp_it.
b8ff72fa
SM
2616 (dump_glyph): Adjust for the change of struct glyph.
2617 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2618 it and struct glyph. Don't handle automatic composition here.
2619 (fill_gstring_glyph_string): New function.
2620 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2621 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2622 (BUILD_GSTRING_GLYPH_STRING): New macro.
2623 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2624 automatic composition.
b8ff72fa 2625 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2626 struct glyph.
b8ff72fa 2627 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2628
b8ff72fa 2629 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2630 the change of struct glyph_string.
2631 (x_draw_glyph_string): Likewise.
2632
26332008-08-29 Glenn Morris <rgm@gnu.org>
2634
2635 * buffer.c (word-wrap): Doc fix.
2636 * xdisp.c (truncate-partial-width-windows): Doc fix.
2637 Increase default to 50.
2638
26392008-08-29 Chong Yidong <cyd@stupidchicken.com>
2640
2641 * xdisp.c (update_tool_bar_unwind): New function.
2642 (update_tool_bar): Temporarily set selected frame before building
2643 tool-bar items.
2644
26452008-08-28 Michael Albinus <michael.albinus@gmx.de>
2646
2647 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2648 snprintf, respectively.
2649 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2650
26512008-08-28 Chong Yidong <cyd@stupidchicken.com>
2652
2653 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2654 LDFLAGS to GNUstep CC invocation.
2655
26562008-08-27 Chong Yidong <cyd@stupidchicken.com>
2657
2658 * indent.c (Fvertical_motion): Revert last change. Handle the
2659 general case where we are moving forward, and PT spans multiple
2660 screen lines.
2661
2662 * eval.c (find_handler_clause): Temporarily increase
2663 max-lisp-eval-depth while printing the backtrace buffer, to
2664 guarantee that help-mode code can run.
2665
26662008-08-27 Eli Zaretskii <eliz@gnu.org>
2667
2668 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2669 colors under -rv.
2670 (IT_set_frame_parameters): Don't swap foreground and background
2671 colors if `(reverse . t)' is present in the frame properties.
2672 (internal_terminal_init): Call init_frame_faces only for the
2673 initial frame.
2674
26752008-08-27 Andreas Schwab <schwab@suse.de>
2676
2677 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2678
26792008-08-27 Andreas Schwab <schwab@suse.de>
2680
2681 * search.c (search_buffer): Set char_base to zero only at the end.
2682
26832008-08-27 Kenichi Handa <handa@m17n.org>
2684
b8ff72fa 2685 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2686
26872008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2688
2689 * xterm.c (x_term_init): Temporarily hide the partially
2690 initialized terminal while calling vendor-specific-keysyms.
2691
26922008-08-26 Eli Zaretskii <eliz@gnu.org>
2693
2694 * msdos.c (internal_terminal_init): Most initializations done only
2695 once, especially initial_screen_colors[] and termscript open.
2696
26972008-08-26 Chong Yidong <cyd@stupidchicken.com>
2698
2699 * eval.c (Fcondition_case): Doc fix.
2700
2701 * widgetprv.h (EmacsFramePart): Change font member to the new font
2702 struct.
2703
2704 * widget.c: Include character.h and font.h for XSETFONT.
2705 (setup_frame_gcs): Compute X font id from font struct, just once.
2706
27072008-08-26 Eli Zaretskii <eliz@gnu.org>
2708
2709 * term.c (get_named_tty): Fix last change.
2710
27112008-08-26 Chong Yidong <cyd@stupidchicken.com>
2712
2713 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2714 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2715
27162008-08-25 Eli Zaretskii <eliz@gnu.org>
2717
2718 * frame.c (do_switch_frame): Mark previously displayed frame as
2719 obscured for FRAME_MSDOS_P frames as well.
2720
27212008-08-24 Eli Zaretskii <eliz@gnu.org>
2722
2723 * frame.c (make_terminal_frame): Initialize f->terminal,
2724 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2725 Set the top frame to newly created frame.
2726 (Fmake_terminal_frame): Reuse the_only_display_info.
2727
2728 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2729 estimating available memory.
2730
b97439ce 27312008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2732
2733 * nsterm.m (ns_draw_window_cursor): Don't call
2734 NSDisableScreenUpdates and NSEnableScreenUpdates on
2735 non-NS_IMPL_COCOA systems.
2736
27372008-08-23 Andreas Schwab <schwab@suse.de>
2738
2739 * process.c (procfs_system_process_attributes): Fix use of
2740 uninitialized variables.
2741
27422008-08-23 Eli Zaretskii <eliz@gnu.org>
2743
2744 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2745
2746 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2747 calling tty-set-up-initial-frame-faces.
2748
b8ff72fa
SM
2749 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2750 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2751
2752 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2753 addition to output_termcap.
2754
2755 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2756
2757 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2758 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2759 highlight.
2760
2761 * process.c [!subprocesses]: Define QCname.
2762 (syms_of_process): Intern and staticpro it.
2763
2764 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2765 Adjust for changes in encoding/decoding routines.
2766 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2767 encode_coding and decode_coding.
2768
b8ff72fa 2769 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2770
2771 * dosfns.c: Include frame.h before termhooks.h.
2772 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2773 variable termscript.
2774
2775 * s/msdos.h (USER_FULL_NAME): Define.
2776 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2777
2778 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2779 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2780 pw->pw_gecos.
2781
2782 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2783 SELECTED_FRAME as additional (1st) argument.
2784 (tty_read_avail_input): Handle output_msdos_raw in
2785 addition to output_termcap.
2786
2787 * msdos.c: Include frame.h before termhooks.h.
2788 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2789 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2790 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2791 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2792 (IT_set_terminal_modes, IT_reset_terminal_modes)
2793 (IT_set_frame_parameters): Use tty->termscript instead of a global
2794 variable termscript.
2795 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2796 global variable terminal_coding. Don't refer to
2797 Vnonascii_translation_table.
2798 (internal_terminal_init): Set Vwindow_system in current_kboard.
2799 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2800 Announce date and time of session start, if termscript is open.
2801 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2802 term.c:init_tty). Open termscript only of not already open.
2803 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2804 here instead of dos_ttraw. Don't initialize display if this is an
2805 initial tty. Don't set FRAME_FONT.
2806 (Vwindow_system_version): Bump to 23.
2807 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2808 is available, set up mouse_position_hook.
2809 (dos_ttraw, IT_set_terminal_modes): If called with initial
2810 terminal, do nothing.
2811 (IT_set_frame_parameters): Handle the Qtty_type frame
2812 parameter by calling internal_terminal_init.
2813 (dos_set_window_size, show_mouse_face)
2814 (clear_mouse_face, IT_note_mode_line_highlight)
2815 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2816 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2817 (initialize_msdos_display): New function.
2818 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2819 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2820 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2821 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2822 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2823 (request_sigio, unrequest_sigio): Don't define, now defined on
2824 sysdep.c.
2825 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2826
2827 * term.c [MSDOS]: Include msdos.h.
2828 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2829 conditional to DOS_NT. Allow only one call to this function in a
2830 session. Don't allocate a new struct tty_display_info; instead,
2831 reuse the_only_display_info. Call get_tty_size to get screen
2832 dimensions. Call init_baud_rate to set bad_rate.
2833 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2834 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2835 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2836 (get_tty_terminal, get_named_tty, Ftty_type)
2837 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2838 output_termcap.
b8ff72fa
SM
2839 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2840 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2841 only when subprocesses are supported.
aac0c6e3
MR
2842
2843 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2844 f->output_data.x.
2845 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2846 terminal devices.
2847
5582fbc7 2848 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2849 x_output.
2850 (FRAME_FONT): Use output_data.tty.
2851 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2852 (struct x_display_info): Rename from display_info. Update all users in
2853 msdos.c.
aac0c6e3 2854 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2855 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2856 (dos_ttraw): Update prototype.
2857
2858 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2859 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2860
28612008-08-23 Jason Rumney <jasonr@gnu.org>
2862
2863 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2864 (fn_TIFFSetDirectory): New library function used.
2865 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2866 (tiff_load): Use :index to select among multiple images. Set count
2867 property when multiple images exist.
2868 (gif_format): Use :index, not :image.
2869
28702008-08-23 Chong Yidong <cyd@stupidchicken.com>
2871
2872 * xdisp.c (try_scrolling): Check INT_MAX instead of
2873 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2874 to obtain INT_MAX.
2875
28762008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2877
2878 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2879
28802008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2881
2882 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2883 GNUstep library location.
2884
28852008-08-21 Chong Yidong <cyd@stupidchicken.com>
2886
2887 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2888 before using it.
2889
2890 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2891
28922008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2893
2894 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2895 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2896 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2897 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2898 (EmacsApp-cursor_blink_handler): Remove declaration.
2899 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2900 match 01 Feb 2008 changes in xterm.c.
2901 (ns_read_socket): Add cast to avoid warning.
2902 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2903 GNUstep.
2904
29052008-08-20 Chong Yidong <cyd@stupidchicken.com>
2906
2907 * xselect.c (x_get_foreign_selection): Return nil if desired
2908 selection could not be obtained, instead of signalling an error.
2909
29102008-08-20 David Reitter <david.reitter@gmail.com>
2911
2912 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2913 * nsterm.m: Remove ns-specific code for cursor blinking.
2914 (ns_draw_window_cursor): Clear cursor properly rather than
2915 redrawing the area. Respect width of bar cursors.
2916 These changes enable the use of generic blink-cursor-mode and
2917 generic cursor types in NS and support smooth cursor movements (do
2918 not blink off after command).
2919 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2920 Nextstep, too.
2921
29222008-08-19 Kenichi Handa <handa@m17n.org>
2923
2924 * font.c (Vfont_log_deferred): New variable.
2925 (font_add_log): Check Vfont_log_deferred.
2926 (font_deferred_log): New function.
2927
2928 * font.h (font_deferred_log): Extern it.
2929
2930 * fontset.c (reorder_font_vector): Use encoding charset of fonts
2931 for sorting.
2932 (face_for_char): Use deferred log.
2933
29342008-08-18 Kenichi Handa <handa@m17n.org>
2935
2936 * fontset.c (face_for_char): Add font log.
2937
2938 * font.c (font_add_log): Add the font properties :script, :lang,
2939 and :otf in the log.
2940
29412008-08-17 Chong Yidong <cyd@stupidchicken.com>
2942
2943 * xdisp.c: Remove dead code.
2944 (handle_invisible_prop, next_overlay_string): Defer call to
2945 setup_for_ellipsis.
2946 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
2947
29482008-08-15 Chong Yidong <cyd@stupidchicken.com>
2949
2950 * xfaces.c (lookup_derived_face): Properly handle possible zero
2951 return value of get_lface_attributes.
2952 (merge_faces): Don't tell lookup_derived_face to signal an error
2953 if face is not found.
2954
2955 * dired.c (Fdirectory_files): Doc fix.
2956
2957 * process.c (make_process): Initialize kill_without_query struct
2958 member.
2959
29602008-08-15 Eli Zaretskii <eliz@gnu.org>
2961
2962 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
2963 Alternative calculation of totphys for Visual Studio 6.
2964
2965 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
2966
2967 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
2968 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
2969 All users changed.
2970 (stat): Only root directory passed to GetDriveType. Allow RAM
2971 disk as well as local fixed disk when w32-get-true-file-attributes
2972 is set to `local'.
2973 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
2974 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
2975 (w32_cached_id, w32_add_to_cache): New functions.
2976 (get_name_and_id): Look account names in the cache before calling
2977 lookup_account_sid.
2978 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
2979 New initialization flags.
2980 (globals_of_w32): Initialize them to zero.
2981 (w32_system_process_attributes): Use w32_cached_id and
2982 w32_add_to_cache.
2983
29842008-08-14 Lawrence Mitchell <wence@gmx.li>
2985
2986 * lread.c (Fread_char, Fread_char_exclusive): If no character
2987 event is read before timeout is reached, return nil, rather than
2988 converting to a number.
2989
29902008-08-14 Chong Yidong <cyd@stupidchicken.com>
2991
2992 * fns.c (use_dialog_box): Doc fix.
2993
2994 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
2995 on OS X.
2996
29972008-08-13 Chong Yidong <cyd@stupidchicken.com>
2998
2999 * frame.c (Qns_parse_geometry): New var.
3000 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3001
30022008-08-11 Chong Yidong <cyd@stupidchicken.com>
3003
3004 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3005 space character in calculating tabs.
3006
30072008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3008
3009 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3010
30112008-08-10 Glenn Morris <rgm@gnu.org>
3012
3013 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3014 silence gcc "limited range of data type" warnings in some
3015 make_fixnum_or_float calls.
3016
30172008-08-09 Eli Zaretskii <eliz@gnu.org>
3018
3019 * w32.c (w32_system_process_attributes): If the process does not
3020 exist, return nil.
3021
3022 * w32.c: Include thelp32.h, psapi.h and coding.h.
3023 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3024 declarations.
3025 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3026 (Process32Next_Proc): New typedefs.
3027 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3028 (g_b_init_process32_next, g_b_init_open_thread_token)
3029 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3030 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3031 (g_b_init_get_process_working_set_size)
3032 (g_b_init_global_memory_status_ex): New static variables.
3033 (globals_of_w32): Initialize them.
3034 (create_toolhelp32_snapshot, process32_first, process32_next)
3035 (open_thread_token, impersonate_self, revert_to_self)
3036 (get_process_memory_info, get_process_working_set_size)
3037 (global_memory_status, global_memory_status_ex): New wrapper
3038 functions.
3039 (w32_list_system_processes, w32_system_process_attributes)
3040 (enable_privilege, restore_privilege, ltime, process_times):
3041 New functions.
3042 (convert_time_raw): New function.
3043 (convert_time): Remove conversion of FILETIME into time in 100
3044 nsec units, call convert_time_raw instead.
3045
3046 * process.h (w32_list_system_processes, w32_system_process_attributes):
3047 Add prototypes.
3048 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3049 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3050 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3051 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3052
3053 * process.c (Fsystem_process_attributes): Doc fix.
3054
30552008-08-08 Chong Yidong <cyd@stupidchicken.com>
3056
3057 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3058 a continued multi-char glyph; if so, advance to the actual glyph.
3059
30602008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3061
3062 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3063
3064 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3065 (.m.o): Use it.
3066 * config.in: Regenerate.
3067
30682008-08-07 Chong Yidong <cyd@stupidchicken.com>
3069
3070 * xdisp.c (redisplay_window): Revert last change.
3071 (try_window): Check bottom scroll margin too.
3072
30732008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3074
3075 * config.in: Regenerate.
3076
3077 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3078 -list-load-path-shadows'.
3079 (nsgui.h): Reduce number of things depending on it.
3080
30812008-08-06 Chong Yidong <cyd@stupidchicken.com>
3082
3083 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3084 instead of window-end which does the wrong thing at eob.
3085 (try_cursor_movement): Minor optimization.
3086 (redisplay_window): If scroll margin is defined, don't assume
3087 window doesn't need scrolling.
3088
30892008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3090
3091 * config.in: Regenerate.
3092
3093 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3094 (mostlyclean): Don't delete *.d under NS.
3095
3096 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3097
30982008-08-06 Kenichi Handa <handa@m17n.org>
3099
3100 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3101
31022008-08-06 Andreas Schwab <schwab@suse.de>
3103
3104 * config.in: Regenerate.
3105
31062008-08-05 Chong Yidong <cyd@stupidchicken.com>
3107
3108 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3109 forcing a window start.
3110
3111 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3112 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3113
31142008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3115
3116 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3117 argument.
3118
31192008-08-05 Juanma Barranquero <lekktu@gmail.com>
3120
3121 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3122 <scroll-down-aggressively, before-change-functions>:
3123 <after-change-functions>: Reflow docstrings.
3124
31252008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3126 Ken Raeburn <raeburn@gnu.org>
3127
3128 Dock menu customization, based on a patch by Ken Raeburn, plus some
3129 other fixes.
3130 * nsmenu.m (dockMenu): New variable.
3131 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3132
3133 * nsterm.h (dockMenu): Declare.
3134
3135 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3136 (ns_term_init): Initialize dockMenu.
3137 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3138 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3139 left.
3140
3141 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3142
31432008-08-04 Chong Yidong <cyd@stupidchicken.com>
3144
3145 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3146
3147 * config.in: Regenerate.
3148
31492008-08-04 Seiji Zenitani <zenitani@mac.com>
3150
3151 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3152
31532008-08-04 Chong Yidong <cyd@stupidchicken.com>
3154
3155 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3156
31572008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3158
3159 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3160
3161 * keyboard.h: Comment an #endif.
3162
3163 * lisp.h (have_menus_p): Adjust comment.
3164
3165 * menu.c (find_and_return_menu_selection): Fix comparison with
3166 client_data.
3167
3168 * nsmenu.m (popup_activated_flag): New variable.
3169 (popup_activated): New function.
3170 (menu-or-popup-active-p): New exported lisp definition.
3171 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3172 when popup done.
3173 (ns_popup_dialog): Set popup_activated_flag.
3174
3175 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3176 version for GNUstep (handled by conditional typedef in nsterm.m).
3177 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3178 in rgb.txt).
3179
3180 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3181
3182 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3183
3184 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3185
3186 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3187 shortcircuit if popup_activated like GTK and X toolkit.
3188
3189 * m/inter386.h: Change DARWIN to DARWIN_OS.
3190
3191 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3192 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3193 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3194 comment on NO_SOCK_SIGIO.
3195
31962008-08-03 Chong Yidong <cyd@stupidchicken.com>
3197
3198 * nsterm.m (windowDidResize): Remove stopModal call.
3199
32002008-08-03 Andreas Schwab <schwab@suse.de>
3201
3202 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3203 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3204
32052008-08-02 Chong Yidong <cyd@stupidchicken.com>
3206
3207 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3208 Don't use uninitialized pointer variable when using getrlimit.
3209
32102008-08-02 Jason Rumney <jasonr@gnu.org>
3211
3212 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3213
32142008-08-02 Eli Zaretskii <eliz@gnu.org>
3215
3216 * alloc.c (NSTATICS): Bump to 0x640.
3217
3218 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3219
3220 * lisp.h: Add prototype for directory_files_internal.
3221
3222 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3223 New functions.
3224 (syms_of_process): Defsubr them. Add initializations for various
3225 Q* symbols used in procfs_system_process_attributes.
3226 (procfs_list_system_processes, procfs_system_process_attributes)
3227 [HAVE_PROCFS]: New functions.
3228 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3229 (procfs_get_total_memory): New functions.
3230
32312008-08-01 Juanma Barranquero <lekktu@gmail.com>
3232
3233 * xfaces.c (Fx_load_color_file): Fix previous change;
3234 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3235
32362008-08-01 Michael Albinus <michael.albinus@gmx.de>
3237
3238 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3239
32402008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3241
3242 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3243
32442008-08-01 Chong Yidong <cyd@stupidchicken.com>
3245
3246 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3247
3248 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3249 define NSApplicationDelegateReplySuccess.
3250 (EmacsView -converstationIdentifier): Use long instead of
3251 NSInteger for GNUstep, since it doesn't have NSInteger.
3252
3253 * xmenu.c: Revert last change.
3254
3255 * keyboard.h: Fix last change.
3256
32572008-08-01 Juanma Barranquero <lekktu@gmail.com>
3258
3259 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3260 on Windows.
3261
32622008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3263
3264 Warning clearing and clean-up in NS port.
3265 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3266 Add prototypes.
3267 * nsgui.h (FACE_DEFAULT): Remove, unused.
3268 (XGCValues): Change colors to unsigned long.
3269 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3270 nsterm.m.
3271 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3272 (ns_list_fonts): Remove, unused.
3273 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3274 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3275 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3276 (nsfont_draw): Compare face colors to 0, not nil.
3277 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3278 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3279 (-addSubmenuWithTitle:): Use NSMenuItem class.
3280 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3281 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3282 (ns_clip_to_row): Make gc arg a BOOL.
3283 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3284 ns_clip_to_row() call.
3285 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3286 used). Cast FRAME_FONT assignments.
3287 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3288 (ns_string_to_lispmod): Change arg to const char.
3289 (ns_term_init): Use NSMenuItem class.
3290 (EmacsApp -openFile:): Move to different section of file.
3291 (EmacsApp -application:openFiles:): Don't return a value, call
3292 -replyToOpenOrPrint:.
3293 (EmacsView -keyDown:): Fix up cast.
3294 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3295 (EmacsView -menuDown:): Cast tag in call to
3296 find_and_call_menu_selection().
3297 (ns_list_fonts): Remove, unused.
3298 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3299 (ns_fontname_to_xlfd): Make static.
3300 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3301 Remove prototypes (now in keyboard.h).
3302 (next_menubar_widget_id): Remove, unused.
3303 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3304 Remove prototypes (now in keyboard.h).
3305 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3306
33072008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3308
3309 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3310 (floatfns.o): Depend on syssignal.h.
3311 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3312
3313 * systty.h: Fix previous change that removed BSD_TERMIOS.
3314 Add comments to #ifdefs.
3315
33162008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3317
3318 * w32fns.c (w32-load-color-file): Remove.
3319 (x-open-connection): Use renamed Fx_load_color_file.
3320 * xfaces.c (x-load-color-file): Add.
3321 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3322 Emacs.clr.
3323 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3324
33252008-07-31 Michael Albinus <michael.albinus@gmx.de>
3326
3327 * dbusbind.c (Fdbus_call_method_asynchronously)
3328 (Fdbus_method_error_internal): New defuns.
3329 (xd_read_message): Handle also reply messages.
3330 (Vdbus_registered_functions_table): Extend docstring.
3331
33322008-07-31 Juanma Barranquero <lekktu@gmail.com>
3333
3334 * keyboard.c (gobble_input): Fix previous change.
3335
33362008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3337
3338 * bitmaps/README:
3339 * xfns.c:
3340 * termcap.c:
3341 * term.c:
3342 * syswait.h:
3343 * systty.h:
3344 * systime.h:
3345 * syssignal.h:
3346 * sysdep.c:
3347 * process.h:
3348 * process.c:
3349 * print.c:
3350 * ndir.h:
3351 * lread.c:
3352 * keyboard.c:
3353 * getpagesize.h:
3354 * floatfns.c:
3355 * fileio.c:
3356 * emacs.c:
3357 * doc.c:
3358 * dispnew.c:
3359 * dired.c:
3360 * data.c:
3361 * callproc.c:
3362 * buffer.c:
3363 * README:
3364 * Makefile.in:
3365 * s/template.h:
3366 * s/msdos.h:
3367 * m/vax.h: Remove VMS support.
3368 * s/vms.h:
3369 * vlimit.h:
3370 * uaf.h:
3371 * temacs.opt:
3372 * param.h:
3373 * ioctl.h: Remove file.
3374
33752008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3376
3377 * s/ms-w32.h (MULTI_KBOARD): Remove.
3378 * xterm.c:
3379 * xselect.c:
3380 * xfns.c:
3381 * window.c:
3382 * w32term.c:
3383 * w32fns.c:
3384 * terminal.c:
3385 * termhooks.h:
3386 * term.c:
3387 * sysdep.c:
3388 * keyboard.h:
3389 * keyboard.c:
3390 * frame.h:
3391 * frame.c:
3392 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3393 * config.in: Regenerate.
3394
33952008-07-30 Jason Rumney <jasonr@gnu.org>
3396
3397 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3398
3399 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3400 (w32font_open_internal): Get unicode version of textmetrics.
3401 Don't enable or disable glyph indices here.
3402 (w32font_open): Disable use of glyph indices.
3403
3404 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3405
34062008-07-30 Chong Yidong <cyd@stupidchicken.com>
3407
3408 * minibuf.c (Vread_buffer_function): Doc fix.
3409
34102008-07-30 John Paul Wallington <jpw@pobox.com>
3411
3412 * minibuf.c (read_buffer_completion_ignore_case): New var.
3413 (Fread_buffer): Use it.
3414
34152008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3416
3417 * systty.h (sensemode): Remove empty #if. Remove reference to
3418 BSD_TERMIOS, unused.
3419
3420 * sysdep.c: Remove reference to DGUX.
3421 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3422
3423 * config.in: Regenerate.
3424
34252008-07-30 Jason Rumney <jasonr@gnu.org>
3426
3427 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3428
34292008-07-29 Jason Rumney <jasonr@gnu.org>
3430
3431 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3432 is populated.
3433 (uniscribe_encode_char): Always use uniscribe.
3434 Avoid using context if cache is populated.
3435
34362008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3437
3438 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3439 open menu.
3440
3441 * gtkutil.c (menu_nav_ended): Remove.
3442 (create_menus): Remove signal connect for menu_nav_ended.
3443
34442008-07-28 Chong Yidong <cyd@stupidchicken.com>
3445
3446 * xdisp.c (redisplay_window): Check return value of
3447 compute_window_start_on_continuation_line before forcing a window
3448 start.
3449
34502008-07-28 Jason Rumney <jasonr@gnu.org>
3451
3452 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3453
3454 * w32term.c (w32_enable_unicode_output, cleartype_active):
3455 Remove obsolete display options.
3456 (x_draw_glyph_string_background): Don't use old cleartype_active
3457 workaround.
3458 (w32_initialize): Remove cleartype_active initialization.
3459 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3460
34612008-07-28 Andreas Schwab <schwab@suse.de>
3462
3463 * lisp.h (init_weak_hash_tables, syms_of_font)
3464 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3465 (remove_hash_entry): Don't declare.
3466 * eval.c (maybe_call_debugger): Make static and move before use.
3467 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3468 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3469 * xterm.h (x_set_frame_alpha): Declare.
3470
34712008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3472
3473 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3474 (create_menus): Connect selection-done to menu_nav_ended.
3475
34762008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3477
3478 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3479 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3480 parameter with read of 'alpha' one.
3481 (Qns_frame_parameter): Remove.
5582fbc7 3482 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3483 (next-selection-coding-system, Vselection_coding_system)
3484 (Vnext_selection_coding_system): Drop.
3485
34862008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3487
3488 * nsfns.m (do-applescript, do_applescript): Rename to
3489 ns-do-applescript, ns_do_applescript, and move within file.
3490
34912008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3492
3493 Remove support for Mac Carbon.
3494 * mactoolbox.c:
3495 * macterm.h:
3496 * macterm.c:
3497 * macselect.c:
3498 * macmenu.c:
3499 * macgui.h:
3500 * macfns.c:
3501 * mac.c: Remove file.
3502 * s/darwin.h:
3503 * m/intel386.h:
3504 * xfaces.c:
3505 * xdisp.c:
3506 * window.c:
3507 * tparam.c:
3508 * termhooks.h:
3509 * termcap.c:
3510 * term.c:
3511 * syssignal.h:
3512 * sysselect.h:
3513 * sysdep.c:
3514 * process.c:
3515 * lread.c:
3516 * lisp.h:
3517 * keyboard.c:
3518 * image.c:
3519 * fringe.c:
3520 * frame.h:
3521 * frame.c:
3522 * fontset.c:
3523 * font.h:
3524 * font.c:
3525 * fns.c:
3526 * fileio.c:
3527 * emacs.c:
3528 * dispnew.c:
3529 * dispextern.h:
3530 * config.in:
3531 * atimer.c:
2ae37cf0 3532 * Makefile.in: Remove code for Carbon.
aac0c6e3 3533
f0131492 35342008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3535
3536 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3537
35382008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3539
3540 * macterm.h (kCGBitmapByteOrder32Host): New define for
3541 non-universal SDKs.
3542
3543 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3544 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3545
3546 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3547 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3548
35492008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3550
3551 * w32inevt.c: Include dispextern.h.
3552
35532008-07-26 Andreas Schwab <schwab@suse.de>
3554
3555 * print.c (print_object): Fix off-by-one in last change.
3556
35572008-07-25 Juanma Barranquero <lekktu@gmail.com>
3558
3559 * term.c (syms_of_term): Don't initialize default_orig_pair,
3560 default_set_foreground and default_set_background on Windows.
3561
35622008-07-25 Jason Rumney <jasonr@gnu.org>
3563
3564 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3565 ScriptItemize. Clean up return value checking. Remove unused
3566 variables.
3567 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3568 shaping engine.
3569
3570 * w32font.c (w32font_has_char): Handle the case where we can't
3571 determine the script for a character.
3572
35732008-07-25 Chong Yidong <cyd@stupidchicken.com>
3574
3575 * term.c (syms_of_term): Initialize default_orig_pair,
3576 default_set_foreground, and default_set_background.
3577
3578 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3579 clash (bug#86).
3580 (getloadavg): Callers changed.
3581
3582 * image.c (svg_load_image): Fix last change.
3583 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3584 image size is valid. Use g_object_unref instead of deprecated
3585 rsvg_handle_free to free rsvg handle.
3586 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3587
35882008-07-25 Jason Rumney <jasonr@gnu.org>
3589
3590 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3591 surrogates before looking up glyph index.
3592 (w32font_text_extents): Encode as surrogates if falling back to
3593 functions that need UTF-16 wide chars.
3594
3595 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3596 BMP as surrogates before looking up glyph index.
3597
35982008-07-25 Chong Yidong <cyd@stupidchicken.com>
3599
3600 * image.c (svg_load_image): Check for failure in return value of
3601 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3602
36032008-07-25 Jason Rumney <jasonr@gnu.org>
3604
3605 * w32font.c (Fx_select_font): Reverse sense of second arg.
3606
36072008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3608
3609 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3610 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3611
3612 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3613 (PURESIZE): Use it.
3614
36152008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3616
3617 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3618 * m/alpha.h (TEXT_END):
3619 * m/ibmrs6000.h (TEXT_END):
3620 * m/macppc.h (TEXT_END):
3621 * s/darwin.h (TEXT_END):
3622 * s/msdos.h (TEXT_END): Remove, unused.
3623 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3624 * s/cygwin.h: Remove comment.
3625
3626 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3627 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3628 * m/intel386.h (DOT_GLOBAL_START):
3629 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3630 (USG): Remove, file not used on USG platforms.
3631
3632 * Makefile.in (HAVE_X11): Remove empty #else.
3633
36342008-07-24 Andreas Schwab <schwab@suse.de>
3635
3636 * fileio.c (Finsert_file_contents): Properly adjust undo list
3637 after format conversion.
3638
36392008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3640
3641 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3642 (menu_nav_ended): Remove.
3643 (create_menus): Remove signal connect for menu_nav_ended.
3644 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3645 create_menus.
3646 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3647
36482008-07-23 Jason Rumney <jasonr@gnu.org>
3649
3650 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3651 with opened font.
3652 (w32font_open): Set font type to gdi.
3653
3654 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3655
36562008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3657
3658 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3659 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3660 defines it.
3661 * unexec.c (ADDR_CORRECT): Define unconditionally.
3662
3663 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3664
3665 * unexec.c: Remove code depending on !COFF and USG, the file is
3666 not used for such systems.
3667
3668 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3669 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3670 (LD_SWITCH_SYSTEM_1): Remove, update users.
3671
3672 * s/darwin.h (DATA_END):
3673 * m/intel386.h (DATA_END):
3674 * m/ibmrs6000.h (DATA_END):
3675 * m/alpha.h (DATA_END): Remove, unused.
3676
3677 * config.in: Regenerate.
3678 * s/ms-w32.h (subprocesses): Define unconditionally.
3679 * s/template.h (subprocesses): Update comment.
3680 * s/vms.h (subprocesses):
3681 * s/usg5-4.h (subprocesses):
3682 * s/hpux10-20.h (subprocesses):
3683 * s/gnu-linux.h (subprocesses):
3684 * s/cygwin.h (subprocesses):
3685 * s/bsd-common.h (subprocesses):
3686 * s/aix4-2.h (subprocesses):
3687 * s/darwin.h (subprocesses): Do not define, defined by default now.
3688
3689 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3690 Remove all references.
3691 (temacs): Add GNUstep specific ld flags.
3692
3693 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3694 similarly to what X does.
3695
36962008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3697
3698 * nsfns.m (x-list-fonts): Remove.
3699 (syms_of_nsfns): Drop the x-list-fonts declaration.
3700 * nsterm.m: Get rid of remaining "//" comments.
3701
37022008-07-22 Chong Yidong <cyd@stupidchicken.com>
3703
3704 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3705
3706 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3707 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3708 (Fns_own_selection_internal, Fx_disown_selection_internal)
3709 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3710
3711 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3712 ... */' style of docstrings. Doc fixes.
3713
37142008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3715
3716 * terminfo.c (UP, BC, PC): Undo previous change.
3717
3718 * nsfns.m: Rename ns prefixed functions/variables to the
3719 corresponding x versions. Update references.
3720
37212008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3722
3723 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3724
37252008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3726
3727 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3728 Remove forwarding functions.
3729 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3730 non-static.
3731 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3732 non-static.
3733 (ns_frame_parm_handlers): Use the new names.
3734 (syms_of_nsfns): Move to the end of file.
3735
3736 * nsterm.m (syms_of_nsterm): Move to the end of file.
3737
3738 * dispnew.c (init_display): Remove code for X10.
3739
37402008-07-22 Jason Rumney <jasonr@gnu.org>
3741
3742 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3743 bare drive.
3744
37452008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3746
3747 * nsterm.m (syms_of_nsterm): Remove debugging println.
3748
37492008-07-22 David Reitter <david.reitter@gmail.com>
3750
3751 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3752 Carbon implementation of the same functionality: execute arbitrary
3753 AppleScript code.
3754
37552008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3756
3757 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3758 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3759 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3760 (Fx_display_mm_height, Fx_display_mm_width)
3761 (Fx_display_backing_store, Fx_display_visual_class)
3762 (Fx_display_save_under, Fx_open_connection)
3763 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3764 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3765 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3766 (Fx_display_pixel_width, Fx_display_pixel_height)
3767 (Fx_display_usable_bounds, Fx_display_planes)
3768 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3769 ... */' style of docstrings.
3770
37712008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3772
3773 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3774 on this platform.
3775 (mips):
3776 * m/iris4d.h (mips): Do not define.
3777 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3778
3779 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3780
3781 * image.c:
3782 * nsfns.m:
3783 * nsselect.m:
3784 * nsterm.h:
3785 * nsterm.m: Rename ns prefixed functions/variables to the
3786 corresponding x versions. Update references.
3787
3788 * m/ibms390x.h (NO_REMAP): Do not undefine.
3789
3790 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3791
37922008-07-21 Chong Yidong <cyd@stupidchicken.com>
3793
3794 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3795 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3796 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3797 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3798 (Fns_display_mm_height, Fns_display_mm_width)
3799 (Fns_display_backing_store, Fns_display_visual_class)
3800 (Fns_display_save_under, Fns_open_connection)
3801 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3802 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3803 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3804 (Fns_display_pixel_width, Fns_display_pixel_height)
3805 (Fns_display_usable_bounds, Fx_display_planes)
3806 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3807
38082008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3809
3810 * print.c (print_object): Check print_depth before searching for
3811 circularities.
3812
38132008-07-21 Michael Albinus <michael.albinus@gmx.de>
3814
3815 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3816 only sprintf.
3817
38182008-07-21 Kenichi Handa <handa@m17n.org>
3819
3820 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3821
38222008-07-20 Andreas Schwab <schwab@suse.de>
3823
3824 * syntax.c (find_start_pos, find_start_value)
3825 (find_start_value_byte, find_start_begv, find_defun_start)
3826 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3827
38282008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3829
3830 * s/sol2-3.h: Insert contents of s/sol2.h.
3831 (LD_SWITCH_SYSTEM): Remove redundant definition.
3832 * s/sol2.h: Remove, unused.
3833
38342008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3835
3836 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3837
38382008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3839
3840 * Makefile.in (ns_appdir): Fix typo in find command.
3841
38422008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3843
3844 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3845
3846 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3847 added not supported anymore.
3848
3849 * s/usg5-4-2.h (LIBS_SYSTEM):
3850 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3851
3852 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3853 * s/lynxos.h (GETPGRP_NO_ARG):
3854 * s/hpux10-20.h (NO_SIOCTL_H):
3855 * s/gnu.h (GETPGRP_NO_ARG):
3856 * s/gnu-linux.h (NO_SIOCTL_H):
3857 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3858 * s/cygwin.h (GETPGRP_NO_ARG):
3859 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3860 (C_DEBUG_SWITCH): Remove duplicate definition.
3861
3862 * m/ibms390.h: Remove boilerplate comments.
3863
3864 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3865
3866 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3867 (wait_reading_process_output): Remove code for SunOS, platform not
3868 supported anymore. Use SOLARIS2 instead of sun.
3869
38702008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3871
3872 * font.c (font_open_by_name): Under NS, default lface height to zero.
3873 (font_open_for_lface): Under NS, set size based on frame fontsize.
3874 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3875 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3876
38772008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3878
3879 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3880 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3881 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3882 YES/NO.
3883 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3884 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3885 * Makefile.in (clean): Clear out build destination dir.
3886
38872008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3888
3889 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3890 xterm, xselect.
3891 * lisp.h: Remove declaration of hash_remove.
3892 * nsgui.h: Remove redefinitions of hash_remove.
3893 * fns.c (hash_remove): Rename to hash_remove_from_table.
3894
38952008-07-19 Seiji Zenitani <zenitani@mac.com>
3896
3897 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3898 strdup() the family UTF8String before modifying it.
3899
39002008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3901
3902 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3903 NS_FACE_BACKGROUND with 0 instead of nil.
3904 * nsfont.m (nsfont_draw): Same.
3905
39062008-07-19 Chong Yidong <cyd@stupidchicken.com>
3907
3908 * nsfns.m (ns_set_background_color): Fix crash.
3909
39102008-07-18 Chong Yidong <cyd@stupidchicken.com>
3911
3912 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3913
39142008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3915
3916 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3917
39182008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3919
3920 * gtkutil.c: Include <config.h> instead of "config.h".
3921
3922 * lisp.h (Foverlay_buffer): Add EXFUN.
3923
3924 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3925 child process to complete child_setup. Undo 2005-09-21 change.
3926
3927 * s/darwin.h: Mention setsid after vfork.
3928
39292008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3930
3931 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
3932 Depend on macgui.h.
3933
3934 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
3935 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
3936
3937 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
3938 and f19.
3939 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
3940
3941 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
3942 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
3943 Remove enumerators.
3944
3945 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
3946 Check if FACE_FROM_ID returns NULL.
3947
39482008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
3949
3950 * w32inevt.c (change_frame_size): Remove extern declaration.
3951 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
3952 change_frame_size.
3953
39542008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3955
3956 * getloadavg.c: Revert last change (2008-07-15).
3957
39582008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
3959
3960 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
3961 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
3962 from configure.
3963
39642008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
3965
3966 * s/sol2.h:
3967 * s/sol2-4.h: Reorganize conditionals.
3968
3969 * ecrt0.c: Remove code depending on m68000, not used anymore.
3970
3971 * fns.c (hash_remove): Make static.
3972 * lisp.h (hash_remove): Don't prototype.
3973
3974 * m/ibmrs6000.h:
3975 * m/ibms390x.h:
3976 * m/macppc.h: Remove boilerplate comments.
3977
3978 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
3979 Solaris, which does not need them.
3980
3981 * m/vax.h: Remove comments about unsupported systems.
3982
3983 * s/darwin.h: Reorganize ifdefs.
3984
39852008-07-17 Andreas Schwab <schwab@suse.de>
3986
3987 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
3988
39892008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3990
3991 Use SDATA. Follow coding convention of placing operators at
3992 beginning of next line rather than end of previous line, and placing
3993 spaces around infix operators.
3994
3995 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
3996 in case it was defined already.
3997 USE @GNUSTEP_MAKEFILES@ rather than envvars.
3998 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
3999 ns_default.
4000 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4001 Lisp_Objects.
4002 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4003 (ns_defined_color, ns_color_to_lisp): Declare.
4004 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4005 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4006 it's accepted even with USE_LISP_UNION_TYPE.
4007 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4008 (update_frame_tool_bar): Remove apparently obsolete tests for
4009 non-integerness of f->tool_bar_lines.
4010 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4011 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4012 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4013 (nsfont_open): Don't confuse NULL for Qnil.
4014 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4015 * menu.h (find_and_call_menu_selection):
4016 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4017 (find_and_return_menu_selection): Always return something.
4018 * frame.h: Include dispextern.h for Display_Info.
4019 (display_x_get_resource): Declare.
4020
40212008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4022
4023 * syntax.c: Remove stdio.h include accidentally introduced in
4024 Emacs.app commit.
4025 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4026 NS_IMPL_COCOA.
4027 * keyboard.c (handle_async_input, input_available_signal): Remove
4028 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4029
40302008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4031
4032 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4033 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4034 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4035 Use SDATA.
4036
4037 * keymap.c: Remove all NS-specific code.
4038 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4039 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4040 where_is_preferred_modifier, return a different value depending on how
4041 preferred is the binding.
4042 (where_is_internal): Adjust accordingly.
4043 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4044 Adjust to new preferred_sequence_p.
4045 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4046 * keyboard.c (parse_solitary_modifier): Not static any more.
4047 * keyboard.h (parse_solitary_modifier): Declare.
4048
40492008-07-16 Andreas Schwab <schwab@suse.de>
4050
4051 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4052 of easymenu.
4053
40542008-07-16 Chong Yidong <cyd@stupidchicken.com>
4055
4056 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4057 that we don't move off the line.
4058
40592008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4060
4061 * keyboard.c (Qsuper): Remove.
4062 (parse_menu_item): Don't call where_is_internal specially for NS.
4063
40642008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4065
4066 * s/gnu-linux.h: Remove boilerplate comments.
4067
4068 * m/alpha.h (__ELF__): Consolidate conditions.
4069
4070 * m/m68k.h (linux): Use GNU_LINUX instead.
4071 Remove boilerplate comments.
4072
4073 * m/intel386.h: Undo refactoring from previous change.
4074 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4075 too, remove dead code.
4076 (linux): Use GNU_LINUX instead.
4077
40782008-07-16 Jason Rumney <jasonr@gnu.org>
4079
4080 * w32gui.h: Repeat 26 June changes lost by last change.
4081
40822008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4083
4084 * systty.h: Remove code for Aix on 386, unsupported platform.
4085
4086 * s/ms-w32.h: Remove boilerplate comments.
4087 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4088
4089 * s/gnu-linux.h (TERM): Remove support.
4090 (HAVE_SYSVIPC): Remove, unused.
4091 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4092 for this system.
4093
4094 * process.c: Remove support for IRIS, unused.
4095 Remove support for TERM, not relevant anymore.
4096
4097 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4098 used with the definition.
4099
4100 * s/aix4-2.h (static): Do not undef.
4101
4102 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4103 only used on Aix.
4104 (HAVE_SYSVIPC): Remove, unused.
4105
4106 * m/hp800.h (CANNOT_DUMP): Do not undef.
4107
4108 * m/alpha.h: Fix comment.
4109
4110 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4111 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4112 used by this configuration.
4113 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4114 * unexec.c: Remove code depending on HPUX and
4115 USG_SHARED_LIBRARIES, not used with this file. Remove code
4116 depending on IRIS, unused. Remove if 0-ed code.
4117
4118 * s/template.h: Remove comments about static.
4119
4120 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4121 Remove if 0-ed code.
4122 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4123 were the same as the default.
4124 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4125 Remove boilerplate comments.
4126 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4127 (HAVE_SYSVIPC): Remove, unused.
4128 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4129
4130 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4131 Remove boilerplate comments.
4132 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4133 Remove boilerplate comments.
4134 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4135 Remove boilerplate comments.
4136 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4137
4138 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4139 USG systems which do not use DATA_SEG_BITS.
4140 Refactor code. Remove boilerplate comments.
4141
4142 * m/ibms390.h:
4143 * m/m68k.h:
4144 * s/bsd-common.h:
4145 * s/cygwin.h:
4146 * s/darwin.h:
4147 * s/freebsd.h:
4148 * s/gnu.h:
4149 * s/msdos.h: Remove boilerplate comments.
4150
4151 * m/iris4d.h: Remove boilerplate comments and code for systems that
4152 do not use this file.
4153 (IRIS_4D): Remove, unused.
4154
4155 * m/mips.h: Remove boilerplate comments and code for systems that
4156 do not use this file.
4157 (SIGN_EXTEND_CHAR):
4158 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4159 * unexmips.c: Remove file, unused.
4160
4161 * editfns.c (Fuser_full_name): Replace the only use of
4162 USER_FULL_NAME with its value.
4163 * config.in: Regenerate.
4164
41652008-07-16 David Reitter <david.reitter@gmail.com>
4166
4167 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4168 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4169
41702008-07-16 Glenn Morris <rgm@gnu.org>
4171
4172 * emacs.c (system-type): Doc fix.
4173
41742008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4175
4176 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4177 If the cache doesn't work, let's fix it, rather than work around it.
4178
41792008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4180
4181 * Makefile.in: Correct additions for nsfont.o in last commit.
4182 * nsfont.m: New file (forgot last commit).
4183
41842008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4185
4186 * callproc.c (set_initial_environment): Initialize
4187 Vprocess_environment under CANNOT_DUMP (fixes crash when
4188 batch-compiling for bootstrap).
4189
41902008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4191 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4192
4193 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4194 fix crash due to different init order.
4195
41962008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4197
4198 Changes and additions for NeXTstep windowing system (Cocoa and
4199 GNUstep) support.
4200
4201 * Makefile.in:
4202 * config.in: Support defines and build commands for NS port.
4203 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4204 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4205 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4206 windowing.
4207 (struct face): Add synth_ital field.
4208 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4209 (init_display): Initialize Vinitial_window_system to "ns" when so
4210 compiled.
4211 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4212 (display_arg): Use under NS.
4213 (main): Under NS, allocate autorelease pool and handle command line
4214 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4215 (standard_args): Add NS-specific args.
4216 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4217 * font.c (DEFAULT_ENCODING): New variable.
4218 (font_find_for_lface): Use it.
4219 (syms_of_font): Load syms_of_nsfont under NS.
4220 * font.h: Declare nsfont_driver when compiled under NS.
4221 * fontset.c: When compiling under NS, include nsterm.h.
4222 (fontset_from_font): Autoconstruct fontset under NS.
4223 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4224 symbol, document and use it.
4225 (do_switch_frame): When for_deletion under Cocoa, add
4226 Fraise_frame(Qnil).
4227 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4228 (x_get_arg): Allow "yes" and "no" as boolean values.
4229 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4230 Qright under Cocoa.
4231 (focus-follows-mouse): Default to 0 under NS.
4232 * frame.h (enum output_method): Add output_ns.
4233 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4234 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4235 (FRAME_WINDOW_P): NS-specific definition.
4236 * fringe.c (max_used_fringe_bitmap): Make public.
4237 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4238 (getloadavg): Use NeXT code under descendant OS's.
4239 * image.c (includes and header section, x_create_bitmap_from_data)
4240 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4241 (image_background_transparent, x_clear_image_1)
4242 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4243 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4244 (x_to_xcolors, x_from_xcolors, x_disable_image)
4245 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4246 other GUIs, including XPM support using code originally written for
4247 Carbon GUI.
4248 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4249 using NS API.
4250 (image_ascent): Use font metrics macros instead of direct struct field
4251 access.
4252 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4253 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4254 Also, handle NS as GTK for menu bar purposes.
4255 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4256 toolkit where they differ.
4257 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4258 use cachelist, still needed under NS.
4259 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4260 (struct widget_value): Define it here for menu.c.
4261 * keymap.c (includes): Include modifier internals.
4262 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4263 NS.
4264 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4265 support for preferring sequences using certain modifiers, specified by
4266 the FIRSTONLY argument.
4267 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4268 under NS GNUstep implementation.
4269 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4270 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4271 * menu.c: Include nsterm.h under NS.
4272 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4273 (free_menubar_widget_tree_value, update_submenu_strings)
4274 (find_and_call_menu_selection): Treat NS as X and NT.
4275 (find_and_return_menu_selection): New function, used for popup menus.
4276 * nsgui.h:
4277 * nsterm.h:
4278 * nsfns.m:
4279 * nsimage.m:
4280 * nsmenu.m:
4281 * nsselect.m:
4282 * nsterm.m: New files.
4283 * process.c (wait_reading_process_output): Under NS, call ns_select()
4284 instead of plain select().
4285 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4286 beginning of buffer.
4287 * sysselect.h (init_process): Rename when compiling under Cocoa to
4288 avoid name conflict.
4289 * termhooks.h (display_info): Add ns_display_info to union.
4290 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4291 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4292 COCOA environment.
4293 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4294 unexec() signature. (Note, this will dump, but the resulting file
4295 crashes; unexosx is used instead; keeping around for reference and
4296 possible aid in getting dump working under GNUstep.)
4297 * w32gui.h (button_type, widget_value): Remove definitions (now in
4298 keyboard.h).
4299 * window.c: Include nsterm.h when compiling under NS.
4300 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4301 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4302 other GUI windowing systems.
4303 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4304 GTK.
4305 (x_consider_frame_title): Under NS, set icon type and frame
4306 modified-state indicator; use ns_set_name_as_filename() when using
4307 formatted title.
4308 (update_window_cursor): Make public when compiling under NS.
4309 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4310 (hourglass_atimer, Vhourglass_delay
4311 * xfaces.c (header section, init_frame_faces, clear_font_table)
4312 (defined_color, unload_color, x_face_list_fonts)
4313 (prepare_face_for_display): Add NS support parallel to other GUIs.
4314 Emulate GCs like other non-X GUIs.
4315 (split_font_name): Don't lowercase font name under NS.
4316 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4317 under NS.
4318 * s/darwin.h: Add support for compilation under NS.
4319
43202008-07-15 Jason Rumney <jasonr@gnu.org>
4321
4322 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4323 (w32_show_hourglass): Rename from show_hourglass.
4324 (w32_hide_hourglass): Rename from hide_hourglass.
4325 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4326 (Vhourglass_delay): Declare extern.
4327 (hourglass_started): Remove.
4328
4329 * xdisp.c (Vhourglass_delay): Remove static.
4330 (hourglass_started, start_hourglass, cancel_hourglass):
4331 Don't include these versions on WINDOWSNT.
4332
43332008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4334
4335 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4336 variables (formerly in xfns.c).
4337 (show_hourglass, hide_hourglass): New prototypes (same).
4338 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4339 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4340 in xfns.c).
4341 (syms_of_xdisp): Declare/initialize display-hourglass,
4342 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4343 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4344 formerly in xfns.c.
4345 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4346 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4347 (start_hourglass, cancel_hourglass): Remove.
4348 (show_hourglass, hide_hourglass): Remove prototypes and static
4349 modifiers.
4350 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4351 hourglass_atimer, hourglass_shown_p declaration/initialization.
4352 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4353 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4354 (start_hourglass, cancel_hourglass): Remove.
4355 (show_hourglass, hide_hourglass): Remove prototypes and static
4356 modifiers.
4357 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4358 hourglass_atimer, hourglass_shown_p declaration/initialization.
4359 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4360 (DEFAULT_HOURGLASS_DELAY): Remove.
4361 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4362 hourglass_shown_p declaration/initialization.
4363
43642008-07-14 Jason Rumney <jasonr@gnu.org>
4365
4366 * w32fns.c (w32_get_arg): Remove wrapper function.
4367 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4368 directly.
4369 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4370
43712008-07-14 Kenichi Handa <handa@m17n.org>
4372
4373 * xfont.c (xfont_open): Add workaround for X's bug.
4374
43752008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4376
4377 * fontset.c: Include <stdio.h> unconditionally.
4378
43792008-07-13 Michael Albinus <michael.albinus@gmx.de>
4380
4381 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4382 for filtering.
4383
43842008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4385
4386 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4387
4388 * m/macppc.h:
4389 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4390
4391 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4392 (SPECIAL_EMACS_INT):
4393 * m/ia64.h (SPECIAL_EMACS_INT):
4394 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4395 * s/gnu.h (NLIST_STRUCT):
4396 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4397 * s/gnu-linux.h (LINUX):
4398 * s/msdos.h (HAVE_FACES):
4399 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4400
4401 * systty.h:
4402 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4403 anymore.
4404
44052008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4406
4407 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4408 always defined as int.
4409
4410 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4411 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4412 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4413 * s/freebsd.h (HAVE_WAIT_HEADER):
4414 * s/bsd-common.h (HAVE_UNION_WAIT):
4415 * s/aix4-2.h (HAVE_WAIT_HEADER):
4416 * m/mips.h (HAVE_UNION_WAIT):
4417 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4418 (COFF, static): Do not define, they are undefined later in the file.
4419
4420 * process.c (update_status): Don't use a union.
4421 (status_convert):
4422 (sigchld_handler): Use int instead of WAITTYPE.
4423
44242008-07-12 Chong Yidong <cyd@stupidchicken.com>
4425
4426 * indent.c (Fvertical_motion): Restore hscroll before moving to
4427 goal column.
4428
44292008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4430
4431 * lisp.h: Remove left over code.
4432
44332008-07-11 Andreas Schwab <schwab@suse.de>
4434
4435 * lisp.h: Fix logic in last change.
4436
4437 * menu.h: New file.
4438 * menu.c: Include it.
4439 * xmenu.c: Likewise.
4440 * Makefile.in: Update dependencies.
4441
44422008-07-11 Kenichi Handa <handa@m17n.org>
4443
4444 * fontset.c (fontset_from_font): Cancel the previous change.
4445
44462008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4447
4448 * lisp.h:
4449 * w32heap.c:
4450 * emacs.c:
4451 * alloc.c: Replace all references of NO_UNION_TYPE with
4452 USE_LISP_UNION_TYPE.
4453
4454 * m/xtensa.h (NO_UNION_TYPE):
4455 * m/vax.h (NO_UNION_TYPE):
4456 * m/template.h (NO_UNION_TYPE):
4457 * m/sparc.h (NO_UNION_TYPE):
4458 * m/mips.h (NO_UNION_TYPE):
4459 * m/macppc.h (NO_UNION_TYPE):
4460 * m/m68k.h (NO_UNION_TYPE):
4461 * m/iris4d.h (NO_UNION_TYPE):
4462 * m/intel386.h (NO_UNION_TYPE):
4463 * m/ibms390x.h (NO_UNION_TYPE):
4464 * m/ibms390.h (NO_UNION_TYPE):
4465 * m/ibmrs6000.h (NO_UNION_TYPE):
4466 * m/ia64.h (NO_UNION_TYPE):
4467 * m/hp800.h (NO_UNION_TYPE):
4468 * m/arm.h (NO_UNION_TYPE):
4469 * m/amdx86-64.h (NO_UNION_TYPE):
4470 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4471 defining it the same.
4472
44732008-07-10 Chong Yidong <cyd@stupidchicken.com>
4474
4475 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4476
44772008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4478
4479 * fileio.c:
4480 * sysdep.c
4481 * systty.h:
4482 * m/ibmrs6000.h:
4483 * m/iris4d.h:
4484 * s/aix4-2.h:
4485 * s/freebsd.h:
4486 * s/gnu-linux.h:
4487 * s/hpux10-20.h:
4488 * s/hpux11.h:
4489 * s/netbsd.h:
4490 * s/sol2-3.h:
4491 * s/sol2-4.h:
4492 * s/sol2.h:
4493 * s/usg5-4.h:
4494 * s/vms.h: Remove references to unused variables.
4495
44962008-07-10 Andreas Schwab <schwab@suse.de>
4497
4498 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4499 pattern before matching the generic family.
4500
45012008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4502
4503 * unexec.c:
4504 * s/vms.h:
4505 * s/usg5-4-2.h:
4506 * s/sol2-5.h:
4507 * s/freebsd.h:
4508 * s/darwin.h: Remove dead code.
4509
4510 * m/template.h:
4511 * m/sparc.h:
4512 * m/mips.h:
4513 * m/m68k.h:
4514 * m/iris4d.h:
4515 * m/intel386.h:
4516 * m/ibms390x.h:
4517 * m/ibms390.h:
4518 * m/ia64.h:
4519 * m/hp800.h:
4520 * m/arm.h:
4521 * m/amdx86-64.h: Remove dead code and references to unused
4522 and compiler defined symbols.
4523
4524 * unexmips.c:
4525 * unexelf.c: Remove references to desupported systems.
4526
4527 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4528
4529 * m/powermac.h: Remove boilerplate comments.
4530 (NO_REMAP): Remove unused definition.
4531
4532 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4533 define them.
4534
45352008-07-10 Kenichi Handa <handa@m17n.org>
4536
4537 * xfont.c (xfont_open): Log the reason of failure.
4538
45392008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4540
4541 * fontset.c (fontset_get_font_group):
4542 * font.c (font_check_otf): Specify argument types.
4543
45442008-07-09 Kenichi Handa <handa@m17n.org>
4545
4546 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4547 non-ASCII char is found.
4548
4549 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4550 (reorder_font_vector): Change the arg preferred_family to font.
4551 Prefer the spec matching with font.
4552 (fontset_get_font_group): New function.
4553 (fontset_find_font): Change the format of an element of a realized
4554 fontset. Use fontset_get_font_group.
4555 (fontset_font): Try the current fontset, the default fontset, the
4556 fallbacks of the current fontset, and the fallbacks of the default
4557 fontset in this order.
4558 (face_for_char): Delete the shortcut to use the current font.
4559 (fontset_from_font): Don't set fonts for Latin in the fontset.
4560
4561 * font.h (font_make_object, font_match_p): Adjust prototypes.
4562
4563 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4564
4565 * font.c (font_make_object): New arg entity and pixelsize.
4566 (font_check_otf_features, font_check_otf): New functions.
4567 (font_match_p): Check :lang, :script, and :otf properties.
4568
4569 * xfont.c (xfont_open): Adjust it for the change of
4570 font_make_object.
4571 (xfont_text_extents): Fix initial setting of metrics.
4572
4573 * ftfont.c (struct ftfont_info): New member index, delete member
4574 fc_charset_idx. Make the member order compatible with struct
4575 xftfont_info.
4576 (fc_charset_table): Change charset names to registry names.
4577 (ftfont_pattern_entity): Delete the args registry and
4578 fc_charset_idx. Change the value of :font-entity property
4579 to (FONTNAME . INDEX). Always set :registry property to
4580 `iso10646-1'.
4581 (struct ftfont_cache_data): New struct.
4582 (ftfont_lookup_cache): New arg for_face.
4583 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4584 (ftfont_driver): Set the member otf_capability.
4585 (ftfont_get_charset): Adjust it for the change of
4586 fc_charset_table.
4587 (OTF_TAG_SYM): New macro.
4588 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4589 for the change of fc_charset_table.
4590 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4591 ftfont_pattern_entity. Add FC_INDEX to objset.
4592 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4593 and ftfont_pattern_entity.
4594 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4595 font_make_object, struct ftfont_info.
4596 (ftfont_has_char): Use ftfont_get_fc_charset.
4597 (ftfont_otf_features, ftfont_otf_capability): New functions.
4598 (ftfont_shape): Use ftfont_get_otf.
4599 (ftfont_text_extents): Fix initial setting of metrics.
4600
4601 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4602 member order compatible with struct ftfont_info.
4603 (xftfont_open): Add FC_CHARSET to the pattern. Set
4604 xftfont_info->ft_size. Don't unlock the face. Check BDF
4605 properties if appropriate.
4606 (xftfont_close): Unlock the face.
4607 (xftfont_anchor_point, xftfont_shape): Deleted.
4608 (syms_of_xftfont): Don't set members anchor_point and shape of
4609 xftfont_driver.
4610
4611 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4612 font_make_object.
4613
4614 * w32font.c (w32font_open): Adjust it for the change of
4615 font_make_object.
4616 (w32font_open_internal): Don't set properties of font_object here.
4617
46182008-07-08 Chong Yidong <cyd@stupidchicken.com>
4619
4620 * macfns.c (x_create_tip_frame):
4621 * w32fns.c (x_create_tip_frame):
4622 * xfns.c (x_create_tip_frame): Pass parameter argument to
4623 face-set-after-frame-default.
4624
4625 * xfaces.c (Finternal_merge_in_global_face): Save merged
4626 attributes for the default face back into the face vector.
4627
46282008-07-08 Andreas Schwab <schwab@suse.de>
4629
4630 * fontset.h: Declare fontset_from_font. Don't declare
4631 new_fontset_from_font and fontset_from_font_name.
4632 * xterm.c: Include "fontset.h".
4633 * Makefile.in (xterm.o): Update dependencies.
4634
46352008-07-08 Glenn Morris <rgm@gnu.org>
4636
4637 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4638 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4639
46402008-07-07 Chong Yidong <cyd@stupidchicken.com>
4641
4642 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4643 (x_set_frame_parameters): Don't bind it.
4644
46452008-07-07 Juanma Barranquero <lekktu@gmail.com>
4646
4647 * w32fns.c (map_w32_filename): Declare extern.
4648
46492008-07-07 Jason Rumney <jasonr@gnu.org>
4650
4651 * w32term.c (WS_EX_LAYERED): Define if not already.
4652
46532008-07-06 Chong Yidong <cyd@stupidchicken.com>
4654
4655 * xfaces.c (set_font_frame_param): Don't try to set the font
4656 parameter if it is still unspecified in the lface.
4657
46582008-07-05 Chong Yidong <cyd@stupidchicken.com>
4659
4660 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4661 face if it didn't already exist.
4662
4663 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4664
46652008-07-05 Andreas Schwab <schwab@suse.de>
4666
4667 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4668
46692008-07-05 Chong Yidong <cyd@stupidchicken.com>
4670
4671 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4672 word-wrapping.
4673 (IT_DISPLAYING_WHITESPACE): New macro.
4674 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4675 when word-wrapping. Simplify word-wrapping logic. Use correct
4676 pixel positions when saving copies of the iterator.
4677 (display_line): Use proper wrap point if the last character on a
4678 line was preceded by whitespace.
4679
46802008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4681
4682 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4683
46842008-07-04 Kenichi Handa <handa@m17n.org>
4685
4686 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4687
4688 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4689
46902008-07-02 Jason Rumney <jasonr@gnu.org>
4691
4692 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4693 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4694
4695 * xdisp.c (next_element_from_display_vector): Move assignment out
4696 of if statement.
4697
46982008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4699
4700 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4701
4702 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4703 (syms_of_fileio): Initialize and export them.
4704 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4705
4706 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4707 (Fsystem_move_file_to_trash): New function.
4708 (syms_of_w32fns): Export it to lisp.
4709
47102008-07-01 Jason Rumney <jasonr@gnu.org>
4711
4712 * w32font.c (w32font_text_extents): Don't count overhang as part
4713 of width.
4714
47152008-06-30 Miles Bader <miles@gnu.org>
4716
4717 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4718 Add `avoid_cursor_p' field.
4719
4720 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4721 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4722 (append_glyph, append_composite_glyph, produce_image_glyph)
4723 (append_stretch_glyph): Initialize avoid_cursor_p.
4724 (get_it_property): Rename from `get_line_height_property'.
4725 (x_produce_glyphs): Use get_it_property.
4726 (handle_line_prefix, push_display_prop): New functions.
4727 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4728 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4729 New variables.
4730 (syms_of_xdisp): Initialize them.
4731
47322008-06-30 Kenichi Handa <handa@m17n.org>
4733
4734 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4735 XftDefaultSubstitute (they are called in XftFontMatch).
4736 (xftfont_open): Fix args to ftfont_font_format.
4737
4738 * ftfont.c (fc_charset_table): New member lang.
4739 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4740 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4741 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4742 (ftfont_open): Fix args to ftfont_font_format.
4743 (ftfont_font_format): New arg filename.
4744
47452008-06-30 Chong Yidong <cyd@stupidchicken.com>
4746
4747 * xfaces.c (Finternal_merge_in_global_face): If default face was
4748 modified, realize it again. Update the font face attribute.
4749
47502008-06-29 Jason Rumney <jasonr@gnu.org>
4751
4752 * w32term.c (x_set_frame_alpha): Fix logic.
4753
47542008-06-29 Kenichi Handa <handa@m17n.org>
4755
4756 * fontset.c (Finternal_char_font): Return font-object instead of
4757 font-name.
4758
4759 * composite.c (get_composition_id): Fix the width calculation for TAB.
4760
47612008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4762
4763 * indent.c (Fvertical_motion): Properly handle float column arg.
4764
47652008-06-28 Jason Rumney <jasonr@gnu.org>
4766
4767 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4768 (pfnSetLayeredWindowAttributes): New function pointer.
4769 (w32_initialize): Initialize it when supported.
4770 (x_set_frame_alpha): New function.
4771
4772 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4773 (w32_frame_parm_handlers): Set alpha handler.
4774
4775 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4776
47772008-06-27 Jason Rumney <jasonr@gnu.org>
4778
4779 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4780 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4781 (w32_to_x_charset, x_to_w32_charset)
4782 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4783 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4784 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4785 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4786 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4787 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4788 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4789 (Qw32_charset_unicode): Remove.
4790 (syms_of_w32fns): Update for above changes.
4791
4792 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4793 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4794 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4795 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4796 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4797 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4798 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4799 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4800 (syms_of_w32font): Update for above changes.
4801
48022008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4803
4804 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4805 removed #if.
4806 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4807
48082008-06-26 Juanma Barranquero <lekktu@gmail.com>
4809 Eli Zaretskii <eliz@gnu.org>
4810
4811 * makefile.w32-in (LOCAL_FLAGS):
4812 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4813
4814 * sysdep.c (_spawnlp, _getpid):
4815 Declare with explicit _cdecl instead of _CRTAPI1.
4816
4817 * editfns.c (Fget_internal_run_time):
4818 Check for WINDOWSNT with #ifdef, not #if.
4819
48202008-06-26 Jason Rumney <jasonr@gnu.org>
4821
4822 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4823
4824 * w32term.c (x_draw_glyph_string_foreground)
4825 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4826 Use FONT_HANDLE macro.
4827 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4828
4829 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4830 (uniscribe_encode_char): Use FONT_HANDLE macro.
4831
4832 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4833 (w32font_text_extents): Use precast w32_font.
4834 (w32font_close): Free cached metrics.
4835 (w32font_open_internal): Allocate space for name on stack.
4836
48372008-06-26 Chong Yidong <cyd@stupidchicken.com>
4838
4839 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4840
48412008-06-26 Jason Rumney <jasonr@gnu.org>
4842
4843 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4844 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4845
48462008-06-26 Juanma Barranquero <lekktu@gmail.com>
4847
4848 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4849
48502008-06-26 Jason Rumney <jasonr@gnu.org>
4851
4852 * w32bdf.c, w32bdf.h: Remove obsolete files.
4853
4854 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4855
4856 * w32gui.h: Don't include w32bdf.h.
4857 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4858 Remove obsolete font support.
4859
4860 * w32font.h (struct w32font_info): Remove compat_w32_font.
4861 Add hfont member.
4862 (FONT_COMPAT): Remove obsolete macro.
4863
4864 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4865 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4866 (w32font_open_internal): Remove compat code. Set new hfont member.
4867 (Fx_select_font): Use new hfont member.
4868
4869 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4870 (uniscribe_encode_char): Use new hfont member.
4871
4872 * w32term.c (x_draw_glyph_string_foreground)
4873 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4874 (x_draw_glyph_string): Use metrics in w32font_info.
4875
48762008-06-26 Kenichi Handa <handa@m17n.org>
4877
4878 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4879
48802008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4881
4882 * unexnext.c:
4883 * m/ews4800.h:
4884 * m/hp9000s300.h:
4885 * m/ibm370aix.h:
4886 * m/mips-siemens.h:
4887 * m/ncr386.h:
4888 * m/next.h:
4889 * m/pmax.h:
4890 * m/powerpcle.h:
4891 * m/tandem-s2.h:
4892 * s/386bsd.h:
4893 * s/bsd386.h:
4894 * s/bsd4-1.h:
4895 * s/bsd4-2.h:
4896 * s/bsdos2-1.h:
4897 * s/bsdos2.h:
4898 * s/bsdos3.h:
4899 * s/bsdos4.h:
4900 * s/nextstep.h:
4901 * s/ultrix4-3.h:
4902 * s/usg5-0.h:
4903 * s/usg5-2-2.h:
4904 * s/usg5-2.h:
4905 * s/usg5-4-3.h:
4906 * s/ux4800.h:
4907 * s/uxpds.h:
4908 * s/uxpv.h: Remove support for obsolete systems.
4909 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4910 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4911 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4912 Remove, insert contents in s/aix4-2.h.
4913 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4914 * s/bsd4-3.h: Rename to ...
4915 * s/bsd-common.h: ... this.
4916 * data.c:
4917 * doc.c:
4918 * ecrt0.c:
4919 * emacs.c:
4920 * fileio.c:
4921 * floatfns.c:
4922 * keyboard.c:
4923 * mem-limits.h:
4924 * print.c:
4925 * process.c:
4926 * sysdep.c:
4927 * syssignal.h:
4928 * systty.h:
4929 * syswait.h:
4930 * term.c:
4931 * unexec.c:
4932 * unexelf.c:
4933 * unexhp9k800.c:
4934 * m/hp800.h:
4935 * m/ibmrs6000.h:
4936 * m/mips.h:
4937 * m/vax.h:
4938 * s/darwin.h:
4939 * s/freebsd.h:
4940 * s/gnu.h:
4941 * s/ms-w32.h:
4942 * s/msdos.h:
4943 * s/netbsd.h:
4944 * s/template.h: Remove references to obsolete variables.
4945
4946 * Makefile.in: Add dependencies for all unexec files.
4947 (admindir): Remove unused variable.
4948 (UNEXEC_SRC): Remove references.
4949
49502008-06-25 Chong Yidong <cyd@stupidchicken.com>
4951
4952 * xfns.c (x_default_font_parameter): If Xft is available, first
4953 try Monospace-12 for the default font.
4954
49552008-06-25 Jason Rumney <jasonr@gnu.org>
4956
4957 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
4958
49592008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
4960
4961 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
4962
4963 * buffer.c (syms_of_buffer): Remove default-word-wrap.
4964
49652008-06-25 Juanma Barranquero <lekktu@gmail.com>
4966
4967 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
4968 <scroll-conservatively>: Fix typo in docstring.
4969
4970 * xselect.c (Fx_send_client_event): Doc fix.
4971
49722008-06-25 Kenichi Handa <handa@m17n.org>
4973
4974 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
4975
4976 * font.c (font_parse_fcname): Remove unused variables.
4977 (font_sort_entites): Delete the arg SPEC. Caller changed.
4978 Fix for the case of ! best_only.
4979 (font_delete_unmatched): Check DPI and AVGWIDTH too.
4980
4981 * lisp.h (Fstring_to_unibyte): EXFUN it.
4982
4983 * character.h (str_to_unibyte): Extern it.
4984
4985 * character.c (str_to_unibyte): New function.
4986
4987 * fns.c (Fstring_to_unibyte): New function.
4988 (syms_of_fns): Defsubr it.
4989
49902008-06-24 Kenichi Handa <handa@m17n.org>
4991
4992 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
4993 DPI too.
4994 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
4995
49962008-06-24 Andreas Schwab <schwab@suse.de>
4997
4998 * Makefile.in (${lispsource}loaddefs.el): Rename from
4999 ../lisp/loaddefs.el.
5000 (bootstrap-clean): Do what distclean does but don't remove
5001 Makefile.
5002 (distclean): Depend on bootstrap-clean and remove Makefile.
5003
50042008-06-24 Chong Yidong <cyd@stupidchicken.com>
5005
5006 * buffer.h (struct buffer): New member word_wrap.
5007
5008 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5009 word-wrap.
5010 (init_buffer_once): Initialize them.
5011
5012 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5013 line_wrap enum possessing three possible values.
5014
5015 * termopts.h: Replace truncate_partial_width_windows with
5016 Vtruncate_partial_width_windows.
5017
5018 * dispnew.c (direct_output_for_insert): Avoid direct output when
5019 inserting a space with word wrap on.
5020
5021 * indent.c (compute_motion): Obey integer values of
5022 truncate-partial-width-windows.
5023
5024 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5025 replacing truncate_partial_width_windows.
5026 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5027 truncate only if the window width is below that integer.
5028 (start_display, resize_mini_window, produce_stretch_glyph)
5029 (display_string, move_it_in_display_line_to): Use line_wrap.
5030 (back_to_previous_visible_line_start, reseat_1): Reset
5031 string_from_display_prop_p.
5032 (display_line): Extend default face to end of line when wrapping.
5033
50342008-06-24 Kim F. Storm <storm@cua.dk>
5035
5036 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5037 to wrap continued lines at word boundaries.
5038
50392008-06-24 Jason Rumney <jasonr@gnu.org>
5040
5041 * font.c (Ffont_face_attributes): Multiply pixel size before point
5042 conversion to avoid multiplying rounding error.
5043
50442008-06-23 Jason Rumney <jasonr@gnu.org>
5045
5046 * w32term.c (x_draw_glyph_string_background)
5047 (x_draw_glyph_string): Remove old bdf font code.
5048
5049 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5050
50512008-06-22 Kenichi Handa <handa@m17n.org>
5052
5053 * font.c (font_find_for_lface): Try the adstyle specified in
5054 the property of LFACE_FONT of LFACE (if any).
5055
50562008-06-21 Seiji Zenitani <zenitani@mac.com>
5057 Ryo Yoshitake <ryo@shiftmode.net>
5058
5059 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5060
50612008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5062
5063 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5064 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5065 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5066 (witness-emacs): Remove.
5067 (lisp, shortlisp): Move loaddefs.el earlier.
5068 (mostlyclean): Forget about witness-emacs.
5069
50702008-06-22 Glenn Morris <rgm@gnu.org>
5071
5072 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5073 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5074
50752008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5076
5077 * Makefile.in (PRECOMP): Remove.
5078 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5079 (witness-emacs): Run `compile-first'.
5080 (.el.elc): Use the new compile-onefile target.
5081
50822008-06-21 Kenichi Handa <handa@m17n.org>
5083
5084 * xftfont.c (xftfont_open): Handle QCembolden only when
5085 FC_EMBOLDEN is defined.
5086
50872008-06-21 Andreas Schwab <schwab@suse.de>
5088
5089 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5090 (.el.elc): Likewise.
5091
50922008-06-21 Miles Bader <miles@gnu.org>
5093
5094 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5095 build dir, not the lisp source dir.
5096
50972008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5098
5099 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5100 (bootstrapclean): Remove.
5101 (.el.elc): New rule.
5102 (PRECOMP): New var.
5103 (../lisp/subdirs.el): Remove.
5104 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5105 (witness-emacs): New target.
5106 (mostlyclean): Remove witness-emacs as well.
5107 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5108 Add witness-emacs dependency.
5109
51102008-06-20 Chong Yidong <cyd@stupidchicken.com>
5111
5112 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5113 defined by the font.
5114
51152008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5116
5117 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5118 (bootstrap-clean): New target that keeps TAGS around.
5119 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5120 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5121
51222008-06-20 Jason Rumney <jasonr@gnu.org>
5123
5124 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5125 Remove obsolete font code.
5126
5127 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5128 to determine language support.
5129
51302008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5131
5132 * sysdep.c (cfsetspeed): New fun extracted from the code.
5133 (cfmakeraw): Move before first use.
5134
51352008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5136
5137 * sysdep.c (cfmakeraw): Provide fallback implementation.
5138 (serial_configure): Provide fallback implementation of cfsetspeed.
5139
51402008-06-20 Kenichi Handa <handa@m17n.org>
5141
5142 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5143 the pattern.
5144
5145 * fontset.c (fontset_from_font): Copy font_spec before changing
5146 the elements.
5147
5148 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5149
51502008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5151
5152 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5153 for explicit `font' parameters.
5154
5155 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5156
51572008-06-19 Kenichi Handa <handa@m17n.org>
5158
5159 * frame.c: Include <ctype.h>.
5160 (x_set_font_backend): Allow spacing characters in the X resource
5161 for FontBackend.
5162
51632008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5164
5165 * w32fns.c, xfns.c (Qfont_param): New var.
5166 (syms_of_w32fns): Initialize it.
5167 (x_default_font_parameter): Record explicit `font' into
5168 `font-parameter'.
5169
51702008-06-18 Kenichi Handa <handa@m17n.org>
5171
5172 * font.c (font_parse_xlfd): Fix previous change.
5173 (font_parse_fcname): Don't use :fc-unknown-spec.
5174 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5175 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5176 (font_add_log): Prepend the driver name to the resulting fonts.
5177
5178 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5179 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5180 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5181
5182 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5183 (QCembolden): New variables.
5184 (syms_of_xftfont): DEFSYM them.
5185 (xftfont_open): Call XftFontMatch. Don't trust the result of
5186 XftTextExtents8 if the pixel_size is less than 5.
5187
51882008-06-18 Andreas Schwab <schwab@suse.de>
5189
5190 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5191 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5192
51932008-06-18 Jason Rumney <jasonr@gnu.org>
5194
5195 * w32font.c (w32font_list, w32font_match): Add logging.
5196
5197 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5198
51992008-06-17 Chong Yidong <cyd@stupidchicken.com>
5200
5201 * font.c (font_parse_fcname): Store divider characters for
5202 unknown-spec list. For known key symbols, intern using correct
5203 symbol name.
5204
52052008-06-17 Kenichi Handa <handa@m17n.org>
5206
5207 * xfaces.c (realize_default_face): If the frame is not on window
5208 system, set the fontset of face to nil.
5209
52102008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5211
5212 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5213
52142008-06-16 Juanma Barranquero <lekktu@gmail.com>
5215
5216 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5217 (build_font_name_from_vector): Delete externs.
5218
5219 * xfaces.c (struct font_name): Don't declare.
5220
52212008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5222
5223 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5224
52252008-06-16 Chong Yidong <cyd@stupidchicken.com>
5226
5227 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5228
52292008-06-16 Juanma Barranquero <lekktu@gmail.com>
5230
5231 * font.c (Ffont_spec): Fix usage in docstring.
5232 (Ffont_face_attributes): Doc fix.
5233
52342008-06-16 Andreas Schwab <schwab@suse.de>
5235
5236 * font.c (Ffont_face_attributes): Fix definition.
5237
52382008-06-16 Jason Rumney <jasonr@gnu.org>
5239
5240 * font.h (font_style_symbolic_from_value): Remove.
5241
5242 * font.c (font_style_symbolic_from_value): Remove.
5243 (font_style_symbolic): Revert to pre 2008-06-13 version.
5244
5245 * w32font.c (w32_to_fc_weight): New function.
5246 (w32font_full_name, logfont_to_fcname): Use it.
5247
52482008-06-16 Kenichi Handa <handa@m17n.org>
5249
5250 * font.c (font_check_object): Delete it.
5251 (font_clear_cache): Check if a font-object is alive.
5252 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5253 font-object to nil.
5254 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5255 (font_at): Don't call font_check_object.
5256 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5257
52582008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5259
5260 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5261
52622008-06-16 Chong Yidong <cyd@stupidchicken.com>
5263
5264 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5265
52662008-06-15 Chong Yidong <cyd@stupidchicken.com>
5267
5268 * font.c (font_parse_fcname): Only one decimal point.
5269 (font_unparse_fcname): Handle data in family and foundry indices
5270 as symbols, not strings.
5271 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5272
5273 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5274
5275 * font.h (font_unparse_gtkname): Add prototype.
5276
52772008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5278
5279 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5280
52812008-06-15 Andreas Schwab <schwab@suse.de>
5282
5283 * font.c (font_update_drivers): Fix crash when no drivers match.
5284
52852008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5286
5287 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5288 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5289
52902008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5291
5292 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5293
52942008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5295
5296 * process.c (Fserial_process_configure, Fprocess_send_eof):
5297 Use EQ to compare Lisp_Objects.
5298
52992008-06-13 Jason Rumney <jasonr@gnu.org>
5300
5301 * w32fns.c (Fw32_select_font): Remove old font API function.
5302
5303 * w32font.c (logfont_to_fcname): New function.
5304 (Fx_select_font): New font dialog function compatible with
5305 GTK/fontconfig version.
5306
5307 * font.c (font_style_symbolic_from_value): New function.
5308 (font_style_symbolic): Use it.
5309
5310 * font.h (font_style_symbolic_from_value): Declare new function.
5311
53122008-06-13 Juanma Barranquero <lekktu@gmail.com>
5313
5314 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5315 <font-width-table>: Fix typos in docstrings.
5316
53172008-06-13 Daniel Engeler <engeler@gmail.com>
5318
5319 These changes add serial port access.
5320 * process.c: Add HAVE_SERIAL.
5321 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5322 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5323 (list_processes_1, select_wrapper, Fstop_process)
5324 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5325 (status_notify): Modify to handle serial processes.
5326 [HAVE_SERIAL] (Fserial_process_configure)
5327 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5328 New functions.
5329 * process.h (struct Lisp_Process): Add `type'.
5330 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5331 New functions.
5332 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5333 serial ports.
5334 (serial_open, serial_configure) New functions.
5335 * w32.h: Add FILE_SERIAL.
5336 (struct _child_process): Add ovl_read, ovl_write.
5337
53382008-06-13 Kenichi Handa <handa@m17n.org>
5339
5340 * dispextern.h (enum lface_attribute_index): New member
5341 LFACE_FOUNDRY_INDEX.
5342
5343 * font.c (font_score): Delete arg alternate_families. Check only
5344 weight, slant, width, and size. Ignore the difference of alias
5345 style symbols.
5346 (font_sort_entites): Adjust for the above change. Reflect the
5347 order of font-driver to scores.
5348 (font_list_entities): Don't check alternate_familes here.
5349 (font_clear_prop): Handle foundry.
5350 (font_update_lface): Don't parse "foundry-family" form here.
5351 Handle FONT_FOUNDRY_INDEX.
5352 (font_find_for_lface): Likewise. Handle alternate families here.
5353 If registry is nil, try iso8859-1 and ascii-0.
5354 (font_open_for_lface): Pay attention to size in ENTITY.
5355 (font_open_by_name): Simplify by calling font_load_for_lface.
5356 (free_font_driver_list): Delete it.
5357 (font_update_drivers): Preserve the order of backends.
5358 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5359 of font_score and font_sort_entites.
5360 (font_update_sort_order): Likewise.
5361
5362 * xfaces.c (LFACE_FOUNDRY): New macro.
5363 (check_lface_attrs): Check foundry.
5364 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5365 (merge_face_vectors): Check foundry.
5366 (merge_face_ref): Likewise.
5367 (Finternal_set_lisp_face_attribute): Likewise.
5368 (x_update_menu_appearance): Likewise.
5369 (Finternal_get_lisp_face_attribute): Likewise.
5370 (lface_hash): Likewise.
5371 (lface_same_font_attributes_p): Likewise.
5372 (x_supports_face_attributes_p): Likewise.
5373 (tty_supports_face_attributes_p): Likewise.
5374 (Finternal_set_alternative_font_family_alist): Intern strings.
5375 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5376 (realize_default_face): Set LFACE_FOUNDRY (lface).
5377
5378 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5379 font-driver at first.
5380
5381 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5382
53832008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5384
5385 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5386
53872008-06-12 Jim Meyering <meyering@redhat.com>
5388
5389 Make unexec_free handle NULL the same way free does.
5390 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5391
53922008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5393
5394 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5395 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5396 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5397 (WEAK_ALIAS): Simplify.
5398 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5399 when searching a unibyte buffer.
5400
54012008-06-12 Chong Yidong <cyd@stupidchicken.com>
5402
5403 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5404
54052008-06-12 Juanma Barranquero <lekktu@gmail.com>
5406
5407 * w32font.c: Include ctype.h.
5408
54092008-06-11 Jason Rumney <jasonr@gnu.org>
5410
5411 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5412 misreported as space.
5413 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5414 as aliases for registry iso10646-1.
5415
54162008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5417
5418 * buffer.c (clone_per_buffer_values): Skip `name'.
5419
54202008-06-11 Chong Yidong <cyd@stupidchicken.com>
5421
5422 * font.c (font_parse_fcname): Fix last change; accept decimal
5423 points in font size.
5424
54252008-06-10 Jason Rumney <jasonr@gnu.org>
5426
5427 * w32uniscribe.c (add_opentype_font_name_to_list):
5428 Skip non unicode fonts.
5429
54302008-06-10 Chong Yidong <cyd@stupidchicken.com>
5431
5432 * xfns.c (Fx_font_dialog): New function.
5433
5434 * gtkutil.c (xg_dialog_response_cb): Rename from
5435 xg_file_response_callback.
5436 (pop_down_dialog): Rename from pop_down_file_dialog.
5437 (xg_get_file_name): Callers changed.
5438 (xg_get_font_name): New function.
5439
5440 * gtkutil.h (xg_get_font_name): Insert prototype.
5441
54422008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5443
5444 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5445 x_underline_minimum_display_offset.
5446 (syms_of_xdisp): Declare it here rather than in xterm.c.
5447 * dispextern.h (underline_minimum_offset): Declare it.
5448 * w32term.c (x_draw_glyph_string): Use it.
5449 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5450 (syms_of_xterm): Don't declare it any more.
5451 (x_draw_glyph_string): Adjust to the new name.
5452
54532008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5454
5455 * xterm.c (x_underline_minimum_display_offset): New var.
5456 (x_draw_glyph_string): Use it.
5457 (syms_of_xterm): Declare it.
5458
54592008-06-10 Chong Yidong <cyd@stupidchicken.com>
5460
5461 * font.c (font_parse_fcname): Accept GTK-style font names too.
5462
54632008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5464
5465 * dired.c (file_name_completion): Don't return t if the match is exact
5466 but with different capitalization.
5467 * minibuf.c (Ftry_completion): Simplify.
5468
5469 * window.c (Vwindow_point_insertion_type): New var.
5470 (set_window_buffer): Use it.
5471 (syms_of_window): Init and export it to Lisp.
5472
54732008-06-10 Kenichi Handa <handa@m17n.org>
5474
5475 * font.h (font_intern_prop): Prototype adjusted.
5476
5477 * font.c (font_intern_prop): New arg force_symbol.
5478 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5479 Adjust for the change of font_intern_prop.
5480
5481 * ftfont.c (ftfont_pattern_entity):
5482 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5483 (w32_registry):
5484 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5485 the change of font_intern_prop.
5486
54872008-06-09 Juanma Barranquero <lekktu@gmail.com>
5488
5489 * w32menu.c (digest_single_submenu): Declare extern.
5490
54912008-06-09 Jason Rumney <jasonr@gnu.org>
5492
5493 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5494
5495 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5496 (parse_single_submenu): Remove.
5497 (digest_single_submenu): Remove.
5498 (syms_of_w32menu): Don't initialise variables that have moved
5499 to menu.c.
5500 (set_frame_menubar): Sync with version in xmenu.c.
5501 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5502
5503 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5504 Make static again.
5505
55062008-06-09 Jason Rumney <jasonr@gnu.org>
5507
5508 Changes to w32 files related to the move of common menu code
5509 to menu.c on 2008-06-08 by Chong Yidong.
5510
5511 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5512 defs to w32gui.h.
5513 (single_keymap_panes, push_menu_item, push_menu_pane):
5514 Make globally visible.
5515
5516 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5517 (local_free, malloc_widget_value, free_widget_value)
5518 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5519 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5520 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5521 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5522 (menu_items, menu_items_allocated, menu_items_used)
5523 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5524 (init_menu_items, finish_menu_items, discard_menu_items)
5525 (grow_menu_items, push_submenu_start, push_submenu_end)
5526 (push_left_right_boundary, push_menu_pane, push_menu_item)
5527 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5528 (free_menubar_widget_tree_value, parse_single_submenu)
5529 (update_submenu_strings): Remove functions.
5530 (xmalloc_widget_value): Remove and declare extern.
5531
5532 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5533 (OBJ1): Build it.
5534
5535 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5536 (local_heap, local_alloc, local_free, malloc_widget_value)
5537 (free_widget_value): Define here.
5538
55392008-06-09 Kenichi Handa <handa@m17n.org>
5540
5541 * font.h (Qascii_0): Extern it.
5542
5543 * font.c (Qascii_0): New variable.
5544 (syms_of_font): DEFSYM it.
5545 (font_open_by_name): If the registry "iso8859-1" fails, try also
5546 "ascii-0".
5547
5548 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5549
55502008-06-08 Kenichi Handa <handa@m17n.org>
5551
5552 * .gdbinit (xfont): New command.
5553
55542008-06-08 Andreas Schwab <schwab@suse.de>
5555
5556 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5557 * Makefile.in (menu.o): Update dependencies.
5558
5559 * Makefile.in (obj): Always add menu.o.
5560 * emacs.c (main): Always call syms_of_menu.
5561 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5562
55632008-06-08 Chong Yidong <cyd@stupidchicken.com>
5564
5565 * Makefile.in: Compile menu.c.
5566
5567 * lisp.h: Declare syms_of_menu.
5568
5569 * emacs.c (main): Call syms_of_menu.
5570
5571 * keyboard.h: Relocate platform-independent menu definitions from
5572 xmenu.c.
5573
5574 * menu.c: New file. Relocate platform-independent menu
5575 definitions from xmenu.c. Suggested by Adrian Robert.
5576
5577 * xmenu.c: Remove platform-independent menu definitions.
5578 (menu_items menu_items_inuse, menu_items_allocated)
5579 (menu_items_used, menu_items_n_panes)
5580 (menu_items_submenu_depth): Move to keyboard.h.
5581 (init_menu_items, finish_menu_items, unuse_menu_items)
5582 (discard_menu_items, restore_menu_items, save_menu_items)
5583 (grow_menu_items, push_submenu_start, push_submenu_end)
5584 (push_left_right_boundary, push_menu_pane, push_menu_item)
5585 (keymap_panes, single_keymap_panes, single_menu_item)
5586 (list_of_panes, list_of_items, find_and_call_menu_selection)
5587 (xmalloc_widget_value, free_menubar_widget_value_tree)
5588 (parse_single_submenu, digest_single_submenu)
5589 (update_submenu_strings): Move to menu.c.
5590
55912008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5592
5593 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5594
55952008-06-06 Miles Bader <miles@gnu.org>
5596
5597 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5598 face, not frame default.
5599
56002008-06-05 Martin Rudalics <rudalics@gmx.at>
5601
5602 * window.c (pop_up_windows, pop_up_frames)
5603 (display_buffer_reuse_frames, Vpop_up_frame_function)
5604 (Vdisplay_buffer_function, Veven_window_heights)
5605 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5606 (Vspecial_display_function, Vsame_window_buffer_names)
5607 (Vsame_window_regexps, split_height_threshold)
5608 (Vsplit_window_preferred_function): Move those vars to window.el.
5609 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5610 (Fdisplay_buffer): Move those functions to window.el.
5611 (syms_of_window): Remove corresponding declarations.
5612 (display_buffer): New function.
5613 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5614 * dispnew.c (Flast_nonminibuf_frame): New function.
5615 * buffer.c (Fpop_to_buffer): Move to window.el.
5616
56172008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5618
5619 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5620
56212008-06-05 Kenichi Handa <handa@m17n.org>
5622
5623 * coding.c (detect_coding): Fix previous change.
5624 (detect_coding_system): Likewise.
5625
56262008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5627
5628 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5629
5630 * keymap.c (Vminibuffer_local_filename_must_match_map):
5631 Rename from Vminibuffer_local_must_match_filename_map.
5632 (syms_of_keymap):
5633 * minibuf.c (Fcompleting_read): Adjust accordingly.
5634 * commands.h: Rename declaration as well.
5635
56362008-06-05 Kenichi Handa <handa@m17n.org>
5637
5638 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5639 family name.
5640 (Ffont_put): Likewise.
5641
5642 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5643 current font-spec.
5644
5645 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5646 is unspecified.
5647
5648 * xfaces.c (realize_x_face): If the font-related face attributes
5649 are the same as those of default face, realize a new fontset from
5650 default->fontset.
5651 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5652
56532008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5654
5655 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5656 (move_it_in_display_line): New wrapper.
5657
5658 * window.c (window_scroll_pixel_based_preserve_x)
5659 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5660 (window_scroll_pixel_based, window_scroll_line_based):
5661 Use them to preserve column positions.
5662 (syms_of_window): Initialize them.
5663
5664 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5665 (HPOS . VPOS) pair.
5666
5667 * dispextern.h (move_it_in_display_line): Declare.
5668
56692008-06-05 Juanma Barranquero <lekktu@gmail.com>
5670
5671 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5672 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5673 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5674
56752008-06-04 Juanma Barranquero <lekktu@gmail.com>
5676
5677 * window.c (Fset_window_parameter): Doc fix.
5678 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5679
56802008-06-04 Joakim Verona <joakim@verona.se>
5681
5682 * window.h (struct window): Add new member window_parameters.
5683
5684 * window.c (Fwindow_parameters, Fwindow_parameter)
5685 (Fset_window_parameter): New defuns.
5686 (syms_of_window): Defsubr the new defuns.
5687 (make_window): Initialize window_parameters to nil.
5688
56892008-06-04 John Paul Wallington <jpw@pobox.com>
5690
5691 * eval.c (Fdefmacro): Doc fix.
5692
56932008-06-04 Kenichi Handa <handa@m17n.org>
5694
5695 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5696 Be sure to call setup_coding_system when we find a proper coding system.
5697 (detect_coding_system): Fix handling of coding->head_ascii.
5698
56992008-06-03 Andreas Schwab <schwab@suse.de>
5700
5701 * font.c (font_prop_validate_spacing): Fix last change.
5702
57032008-06-03 Kenichi Handa <handa@m17n.org>
5704
5705 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5706 (font_parse_fcname): Fix handling of unknown key.
5707
5708 * xfont.c (xfont_list): Try an alias.
5709
5710 * charset.c (char_charset): Return NULL if the arg charset_list is
5711 specified and C doesn't belong to any of them.
5712
57132008-06-02 Chip Coldwell <coldwell@redhat.com>
5714
5715 * font.c (font_pixel_size): Don't take cdr of an integer.
5716
57172008-06-02 Jim Meyering <meyering@redhat.com>
5718
5719 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5720 * alloc.c (xfree): Return right away for a NULL arg.
5721 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5722 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5723 * mac.c (create_apple_event_from_event_ref): Likewise.
5724 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5725 Likewise.
5726 * doprnt.c (doprnt1): Likewise.
5727 * frame.c (frame): Likewise.
5728 * keyboard.c (wipe_kboard): Likewise.
5729 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5730 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5731 * term.c (tty_default_color_capabilities, maybe_fatal)
5732 (delete_tty): Likewise.
5733 * w16select.c (string): Likewise.
5734 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5735 * w32bdf.c (w32_free_bdf_font): Likewise.
5736 * w32fns.c (w32_unload_font): Likewise.
5737 * w32font.c (w32font_close): Likewise.
5738 * window.c (size_window): Likewise.
5739 * xselect.c (receive_incremental_selection): Likewise.
5740 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5741 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5742 * w32.c (stat): Likewise.
5743
5744 Remove useless if-before-free tests.
5745 * editfns.c (Fset_time_zone_rule): Likewise.
5746 * lread.c (nosuffix): Likewise.
5747 * ralloc.c (get_bloc): Likewise.
5748 * regex.c (reg_free): Likewise.
5749 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5750 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5751 * xsmfns.c (smc_save_yourself_CB): Likewise.
5752
57532008-06-02 Kenichi Handa <handa@m17n.org>
5754
5755 * font.c (font_find_for_lface): Handle float font size.
5756 (font_open_for_lface): Likewise.
5757
5758 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5759 comparing the properties.
5760
57612008-06-01 Jason Rumney <jasonr@gnu.org>
5762
5763 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5764 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5765 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5766 Don't add empty script list.
5767 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5768
57692008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5770
5771 * Makefile.in (dot, dotdot): Remove, update users.
5772 ".." has been used elsewhere in the file for a long time.
5773 (LIBXT_STATIC): Remove conditional based on unused variable.
5774
57752008-06-01 Miles Bader <miles@gnu.org>
5776
5777 * xfaces.c (Vface_remapping_alist): New variable.
5778 (syms_of_xfaces): Initialize it.
5779 (enum named_merge_point_kind): New type.
5780 (struct named_merge_point): Add `named_merge_point_kind' field.
5781 (push_named_merge_point): Make cycle detection respect different
5782 named-merge-point kinds.
5783 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5784 Remove face-name alias resolution.
5785 (lface_from_face_name): New definition using
5786 `lface_from_face_name_no_resolve'.
5787 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5788 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5789 (get_lface_attributes): New definition that layers face-remapping on
5790 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5791 (lookup_basic_face): New function.
5792 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5793 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5794 `get_lface_attributes'.
5795 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5796 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5797 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5798
5799 * xdisp.c (init_iterator): Pass base_face_id through
5800 `lookup_basic_face' when we actually use it as a face-id.
5801 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5802 DEFAULT_FACE_ID.
5803
5804 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5805 lookup the initial face-id.
5806
5807 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5808
58092008-06-01 Juanma Barranquero <lekktu@gmail.com>
5810
5811 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5812 (Fremove_text_properties): Fix typos in docstrings.
5813
58142008-05-31 Kenichi Handa <handa@m17n.org>
5815
5816 * font.c (font_list_entities): Fix the car part of data to be
5817 stored in the cache.
5818
5819 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5820
58212008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5822
5823 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5824 Add a `test' argument so another predicate than `equal' can be used.
5825 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5826 (map_char_table): Remove unused vars `c' and `i'.
5827 * lisp.h (Foptimize_char_table): Adjust declaration.
5828 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5829
58302008-05-30 Kenichi Handa <handa@m17n.org>
5831
5832 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5833 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5834 defined.
5835
58362008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5837
5838 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5839 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5840 frame-local settings for the same variable.
5841
58422008-05-30 Kenichi Handa <handa@m17n.org>
5843
5844 * fontset.c (Ffont_info): Move to font.c.
5845 (syms_of_fontset): Delete defsubr of Sfont_info.
5846
5847 * font.c (font_style_to_value, font_score): Delete casting of the
5848 args to xstcasecmp.
5849 (register_font_driver): Increment num_font_drivers only when
5850 registering the driver globally.
5851 (Ffont_info): Move from fontset.c. Handle a font object too.
5852 (syms_of_font): Defsubr Sfont_info.
5853
58542008-05-29 Kenichi Handa <handa@m17n.org>
5855
5856 * coding.h (enum define_coding_utf8_arg_index): New enum.
5857 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5858 coding_attr_utf_bom.
5859 (enum utf_bom_type): Rename from utf_16_bom_type.
5860 (struct utf_16_spec): Adjust for the above change.
5861 (struct coding_system): Add utf_8_bom in `spec' union.
5862
5863 * coding.c (CODING_UTF_8_BOM): New macro.
5864 (enum coding_category): Delete coding_category_utf_8, add
5865 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5866 coding_category_utf_8_sig.
5867 (CATEGORY_MASK_UTF_8): Delete it.
5868 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5869 (CATEGORY_MASK_UTF_8_SIG): New macros.
5870 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5871 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5872 CATEGORY_MASK_UTF_8_SIG.
5873 (CATEGORY_MASK_UTF_8): New macro.
5874 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5875 (detect_coding_utf_8): Check BOM.
5876 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5877 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5878 (encode_coding_utf_16): Likewise.
5879 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5880 (detect_coding, detect_coding_system): Handle utf-8-auto.
5881 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5882 (syms_of_coding): Fix setting up of Vcoding_category_table.
5883
58842008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5885
5886 * process.c (Faccept_process_output): If `millisec' is non-nil,
5887 `seconds' default to 0.
5888 (wait_reading_process_output): Also return non-nil if we read output
5889 from a non-running process.
5890
58912008-05-29 Jason Rumney <jasonr@gnu.org>
5892
5893 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5894 `raster' specified.
5895 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5896 in the uniscribe backend, but disallow any font that has no
5897 unicode subrange support.
5898
58992008-05-29 Juanma Barranquero <lekktu@gmail.com>
5900
5901 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5902 Fix typos in docstrings.
5903
59042008-05-29 Kenichi Handa <handa@m17n.org>
5905
5906 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5907 (Fx_family_fonts): Set frame correctly.
5908
59092008-05-28 Jason Rumney <jasonr@gnu.org>
5910
5911 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5912
59132008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5914
5915 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5916 calling build_annotations.
5917
59182008-05-28 Juanma Barranquero <lekktu@gmail.com>
5919
5920 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5921 (Fencode_coding_string):
5922 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5923 <latin-extra-code-table>: Fix typos in docstrings.
5924 (syms_of_coding) <coding-system-alist>: Doc fix.
5925 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
5926
59272008-05-28 Kenichi Handa <handa@m17n.org>
5928
5929 * fontset.c (Ffont_info): Don't call font_close_object.
5930
5931 * font.c (font_parse_family_registry): Use Ffont_put to validate
5932 foundry and family.
5933 (font_delete_unmatched): Don't check spacing.
5934 (font_list_entities): Add spacing to the spec to list fonts.
5935
5936 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
5937 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
5938
5939 * coding.c (encode_coding_raw_text): Fix previous change.
5940 (encode_coding_object): When the dst_object is a buffer and is
5941 different from src_object, move gap to PT.
5942
59432008-05-27 Chong Yidong <cyd@stupidchicken.com>
5944
5945 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
5946
59472008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5948
5949 * coding.c (encode_coding_raw_text): Set coding->produced_char for
5950 all branches. Compute it differently.
5951
5952 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
5953
59542008-05-27 Juanma Barranquero <lekktu@gmail.com>
5955
5956 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
5957 into "else if () ... else ...".
5958
59592008-05-27 Jason Rumney <jasonr@gnu.org>
5960
5961 * w32font.c (w32font_open_internal): Determine if glyph indices
5962 are likely to work here.
5963
59642008-05-27 Chong Yidong <cyd@stupidchicken.com>
5965
5966 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
5967 draw overlap glyphs with appropriate highlighting.
5968
59692008-05-27 Kenichi Handa <handa@m17n.org>
5970
5971 * xfont.c (xfont_open): Fix calculation of font->average_width.
5972
59732008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
5974
5975 * casefiddle.c (casify_object): Try to guess better whether the
5976 argument is a byte or a char.
5977
59782008-05-26 Andreas Schwab <schwab@suse.de>
5979
5980 * xselect.c (x_reply_selection_request): Properly handle format == 32.
5981 Always send multiples of format size.
5982
5983 * xterm.c (x_set_frame_alpha): Fix type mismatch.
5984
59852008-05-26 Jason Rumney <jasonr@gnu.org>
5986
5987 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
5988 (compute_metrics): Don't set failure if we just cleared the cache.
5989 (w32_weight_table): Remove unused variable.
5990 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
5991 backwards compatibility.
5992
59932008-05-25 Kenichi Handa <handa@m17n.org>
5994
5995 * w32term.c (x_draw_glyph_string):
5996 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
5997
5998 * xfaces.c: Delete unused function prototypes.
5999 (xstrlwr, font_frame): Delete them.
6000 (clear_face_cache): Delete unused variable.
6001
6002 * xftfont.c (xftfont_open): Delete unused variable.
6003 If underline_thickness is not 1, adjust underline_position.
6004
6005 * ftxfont.c (ftxfont_open): Delete unused variable.
6006
6007 * fontset.c (face_for_char): Optimize for the case of no charset
6008 property.
6009
6010 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6011 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6012 (otf_open, font_otf_capability, generate_otf_features)
6013 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6014 Comment out by surrounding "#if 0" and "#endif" for the moment.
6015 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6016 (syms_of_font): Codes for accessing above commented out.
6017
60182008-05-24 Eli Zaretskii <eliz@gnu.org>
6019
6020 * w32proc.c: Include dispextern.h.
6021
6022 * w32.c: Include dispextern.h.
6023
60242008-05-23 Juanma Barranquero <lekktu@gmail.com>
6025
6026 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6027 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6028 Fix typos in docstrings.
6029
60302008-05-23 Jason Rumney <jasonr@gnu.org>
6031
6032 * xsmfns.c: Remove includes that are already included by config.h.
6033
60342008-05-23 Kenichi Handa <handa@m17n.org>
6035
6036 * charset.c (Qemacs, charset_emacs): New variables.
6037 (char_charset): Fix for non-Unicode characters.
6038 (syms_of_charset): Define charset_emacs.
6039
6040 * w32term.c (x_draw_glyph_string): Be sure to update
6041 s->underline_thickness and s->underline_position. Be sure to draw
6042 underline within the current line area.
6043
6044 * xterm.c (x_draw_glyph_string): Be sure to update
6045 s->underline_thickness and s->underline_position. Be sure to draw
6046 underline within the current line area.
6047
6048 * fontset.c: Delete unused variables and add casting for char *
6049 throughout the file.
6050 (fontset_font): Try the fallback fonts of the current fontset
6051 before consulting the default fontset.
6052
6053 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6054
6055 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6056
60572008-05-22 Jason Rumney <jasonr@gnu.org>
6058
6059 * font.c: Don't include strings.h.
6060
6061 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6062
6063 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6064 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6065 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6066 to call xstrcasecmp.
6067
6068 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6069
6070 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6071
6072 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6073
6074 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6075
60762008-05-22 Kenichi Handa <handa@m17n.org>
6077
6078 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6079
6080 * font.c (font_prop_validate_style): Adjust for the format
6081 change of font_style_table.
6082
6083 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6084 two args.
6085
6086 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6087 two args.
6088
60892008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6090
6091 * minibuf.c (keys_of_minibuf): Delete.
6092 * lisp.h (keys_of_minibuf): Delete.
6093 * emacs.c (main): Don't call keys_of_minibuf.
6094
60952008-05-22 Kenichi Handa <handa@m17n.org>
6096
6097 * ftfont.c (ftfont_resolve_generic_family): Rename from
6098 ftfont_list_generic_family. Return a single family for each
6099 generic family.
6100 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6101 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6102 Call font_add_log.
6103 (ftfont_match): Call font_add_log.
6104
6105 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6106 (FONT_DEBUG): Define it.
6107 (font_add_log): Extern it.
6108 (font_assert): Rename from xassert.
6109
6110 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6111 (xfont_list_family): Call font_add_log.
6112 (xfont_match): Likewise.
6113 (memq_no_quit): Delete.
6114
6115 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6116 call of Ffont_xlfd_name.
6117
6118 * xfaces.c (struct table_entry, slant_table, weight_table)
6119 (swidth_table): Move to font.c.
6120
6121 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6122 xassert are changed to font_assert. Delete many unused variables.
6123 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6124 New variables.
6125 (struct table_entry): Move from xfaces.c and modified.
6126 (weight_table, slant_table, width_table): Move from xfaces.c and
6127 contents adjusted for the change of struct table_entry.
6128 (font_style_to_value, font_style_symbolic): Adjust for the
6129 format change of font_style_table.
6130 (font_parse_family_registry): Don't overwrite existing foundry and
6131 family of font_spec.
6132 (font_score): Fix calculation of diff for sizes.
6133 (font_sort_entites): Call font_add_log.
6134 (font_delete_unmatched): Return a newly created list.
6135 (font_list_entities): Fix previous change. Call font_add_log.
6136 (font_matching_entity, font_open_entity, font_close_entity):
6137 Call font_add_log.
6138 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6139 (Finternal_set_font_style_table): Delete.
6140 (BUILD_STYLE_TABLE): New macro.
6141 (build_style_table): New function.
6142 (Vfont_log, font_log_env_checked): New variables.
6143 (font_add_log): New function.
6144 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6145 Declare Lisp variables "font-weight-table", "font-slant-table",
6146 "font-width-table", and "font-log". Initialize font_style_table.
6147
61482008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6149
6150 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6151
61522008-05-21 Seiji Zenitani <zenitani@mac.com>
6153 Ryo Yoshitake <ryo@shiftmode.net>
6154
6155 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6156 (Vframe_alpha_lower_limit): New variable.
6157 (x_set_alpha): New function.
6158
6159 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6160
6161 * xfns.c (x-create-frame, Qalpha):
6162 Initialize the frame parameter `alpha'.
6163 * xterm.c (OPAQUE, OPACITY): New.
6164 (x_set_frame_alpha): New function.
6165 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6166
6167 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6168 * w32fns.c (w32_frame_parm_handlers): Likewise.
6169
61702008-05-20 Jason Rumney <jasonr@gnu.org>
6171
6172 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6173 truetype fonts to opentype list.
6174
61752008-05-20 Juanma Barranquero <lekktu@gmail.com>
6176
6177 * fontset.c (Ffontset_info): Doc fix.
6178 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6179 <ignore-relative-composition>: Fix typos in docstrings.
6180
6181 * font.c (syms-of-font) <font-encoding-alist>:
6182 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6183 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6184 (Ffont_otf_alternates): Doc fixes.
6185
61862008-05-20 Kenichi Handa <handa@m17n.org>
6187
6188 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6189 font.h through out the file.
6190 (FONT_DRIVERS): Rename from FONTOBJ.
6191 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6192 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6193
6194 * emacs.c (main): Call syms_of_font unconditionally.
6195
6196 * font.h (find_font_encoding): Extern it.
6197
6198 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6199 fontset.c.
6200 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6201 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6202 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6203 only when HAVE_WINDOW_SYSTEM is defined.
6204 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6205 when HAVE_WINDOW_SYSTEM is defined.
6206
6207 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6208 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6209
6210 * xfaces.c: Include font.h unconditionally.
6211 (merge_face_ref, merge_face_vectors)
6212 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6213
62142008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6215
6216 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6217 indirect_variable.
6218 * eval.c (lisp_indirect_variable): New fun.
6219 (Fuser_variable_p): Use it.
6220
62212008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6222
6223 * lisp.h (indirect_variable):
6224 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6225 Use Lisp_Symbol pointers rather than Lisp_Object.
6226 Adjust callers.
6227 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6228 To this end, change calling-convention.
6229
6230 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6231 if some non-hidden buffers are selected by string&pred.
6232
62332008-05-19 Chong Yidong <cyd@stupidchicken.com>
6234
6235 * process.c (wait_reading_process_output): Always check status
6236 when in batch mode.
6237
62382008-05-19 Kenichi Handa <handa@m17n.org>
6239
6240 * font.c (font_list_entities): Fix handling of cache.
6241 (font_matching_entity): Likewise.
6242
6243 * ftfont.c (cs_iso8859_1): Delete.
6244 (ft_face_cache): New variable.
6245 (struct ftfont_info): New member fc_charset_idx.
6246 (ftfont_build_basic_charsets): Delete.
6247 (fc_charset_table): New variable.
6248 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6249 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6250 Callers changed.
6251 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6252 (ftfont_spec_pattern): New argument fc_charset_idx.
6253 Check registry more rigidly. Change callers.
6254 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6255 change of :font-entity property of the font.
6256
6257 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6258 property of the font.
6259
62602008-05-18 Juanma Barranquero <lekktu@gmail.com>
6261
6262 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6263 (Funencodable_char_position, Fcheck_coding_systems_region)
6264 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6265 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6266 (Ffind_operation_coding_system, Fset_coding_system_priority)
6267 (Fcoding_system_eol_type): Doc fixes.
6268
62692008-05-17 Glenn Morris <rgm@gnu.org>
6270
6271 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6272
62732008-05-16 Eli Zaretskii <eliz@gnu.org>
6274
6275 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6276 and st_gid.
6277
6278 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6279 HAVE_WINDOW_SYSTEM is not defined.
6280
6281 * xfaces.c (merge_face_ref, merge_face_vectors)
6282 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6283 HAVE_WINDOW_SYSTEM is defined.
6284 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6285
62862008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6287
6288 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6289
62902008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6291
6292 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6293
62942008-05-15 Kenichi Handa <handa@m17n.org>
6295
6296 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6297 preference.
6298
62992008-05-15 Glenn Morris <rgm@gnu.org>
6300
6301 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6302
63032008-05-15 Chong Yidong <cyd@stupidchicken.com>
6304
6305 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6306 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6307
6308 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6309
63102008-05-15 Kenichi Handa <handa@m17n.org>
6311
6312 * ftfont.c (ftfont_list): Downcase family name to check generic
6313 families.
6314
6315 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6316 font-spec for QCfont value.
6317
6318 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6319 buffer. Check the return value of it.
6320
63212008-05-14 Jason Rumney <jasonr@gnu.org>
6322
6323 * w32term.c (w32_get_glyph_overhangs): Remove.
6324 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6325
63262008-05-14 Kenichi Handa <handa@m17n.org>
6327
6328 * font.c (font_prop_validate): Make nil a valid value.
6329 (font_clear_cache): Check if the cached vector of entities is nil
6330 or not.
6331
63322008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6333
6334 * emacs.c (main_thread): Conditionalize on
6335 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6336 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6337
6338 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6339 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6340 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6341
63422008-05-14 Kenichi Handa <handa@m17n.org>
6343
6344 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6345 has no corresponding coding system.
6346
63472008-05-14 Jason Rumney <jasonr@gnu.org>
6348
6349 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6350
6351 * w32font.h (w32font_open_internal): Update declaration.
6352
6353 * w32font.c (w32font_open_internal): Change last argument from
6354 w32font_info struct to font object. Fill in font object from
6355 font_entity. Get Outline metrics if possible. Use them to
6356 calculate underline position and thickness. Use xlfd name as name
6357 property. Don't set codepage.
6358 (w32font_open): Pass font_object to w32font_open_internal. Don't
6359 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6360 (w32font_draw): Use s->font.
6361 (clear_cached_metrics): Don't clear non-existent blocks.
6362
6363 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6364 font was not found.
6365 (x_draw_glyph_string): Use underline position and thickness from font.
6366
6367 * w32uniscribe.c (uniscribe_open): Pass font_object to
6368 w32font_open_internal.
6369
63702008-05-14 Kenichi Handa <handa@m17n.org>
6371
6372 These changes are to delete all legacy font-handling codes, and
6373 make Emacs use only font-backends.
6374
6375 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6376 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6377
6378 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6379
6380 * charset.h (Vcharset_non_preferred_head)
6381 (Vcurrent_iso639_language): Extern them.
6382
6383 * charset.c (Vcharset_non_preferred_head): New variable.
6384 (Vcurrent_iso639_language): New variable.
6385 (syms_of_charset): Declare it as a Lisp variable.
6386 (char_charset): Don't check non preferred charsets. As a last
6387 resort, return charset_unicode.
6388 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6389
6390 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6391 conditionals. Don't check enable_font_backend. Delete all codes
6392 used only when USE_FONT_BACKEND is not defined.
6393
6394 * dispextern.h (struct glyph_string): Change type of `font' to
6395 `struct font *'.
6396 (struct glyph_string): New member underline_position and
6397 underline_thickness.
6398 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6399 (struct face): Change type of `font' to `struct font *'. Remove
6400 members `font_name', `font_info_id'.
6401 (per_char_metric, encode_char): Delete externs.
6402 (calc_pixel_width_or_height): Adjust the prototype.
6403
6404 * emacs.c (enable_font_backend): Delete extern.
6405 (main): Don't set enable_font_backend. Don't check the command
6406 line argument "-disable-font-backend".
6407
6408 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6409 (enum font_property_index): New members FONT_DPI_INDEX,
6410 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6411 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6412 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6413 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6414 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6415 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6416 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6417 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6418 (struct font_spec, struct font_entity): New structs.
6419 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6420 (struct font): Many members from old "struct font_info" moved to
6421 here. Members font and entity deleted.
6422 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6423 the new font-related objects.
6424 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6425 (CHECK_FONT_GET_OBJECT): Likewise.
6426 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6427 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6428 (struct font_driver): New members case_sensitive anc check. Type
6429 of the member list and open changed.
6430 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6431 (font_symbolic_width, font_find_object, font_get_spec)
6432 (font_set_lface_from_name): Delete extern.
6433 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6434
6435 * font.c: Include <strings.h>.
6436 (enable_font_backend): Delete it.
6437 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6438 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6439 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6440 (null_string): Delete it.
6441 (null_vector): Make it static.
6442 (font_family_alist): Delete it.
6443 (Qnormal): Extern it.
6444 (QCextra, QClanguage): Delete it.
6445 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6446 (font_make_spec, font_make_entity, font_make_object)
6447 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6448 the string. Callers changed.
6449 (font_pixel_size): Adjusted for the format change of font-related
6450 objects.
6451 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6452 (font_style_to_value, font_style_symbolic): New function.
6453 (build_font_family_alist): Delete it.
6454 (font_registry_charsets): Use Fassoc_string instead of
6455 assq_no_quit.
6456 (font_prop_validate_symbol): Don't return null_string.
6457 (font_prop_validate_style): Adjusted for the change of
6458 style-related values in a font vector.
6459 (font_property_table): Delete entries for QClanguage and
6460 QCantialias, add entries for QCavgwidth.
6461 (get_font_prop_index): Delete the 2nd argument FROM.
6462 (font_prop_validate): Arguments changed.
6463 (font_put_extra): Adjusted for the change of font-related objects.
6464 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6465 (font_parse_fcname, font_unparse_fcname)
6466 (font_prepare_composition): Likewise.
6467 (font_parse_family_registry): Renamed from font_merge_old_spec.
6468 (otf_open): Delete the 1st arg entity.
6469 (font_otf_capability): Adjusted for the above change.
6470 (font_score): New arg alternate_families. Adjusted for the change
6471 of font-related objects.
6472 (font_sort_entites): New arg best_only.
6473 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6474 Delete them.
6475 (font_match_p): Check alternate families.
6476 (font_find_object): Delete it.
6477 (font_check_object): New function.
6478 (font_clear_cache): Adjusted for the change of font-related objects.
6479 (font_delete_unmatched): New arg.
6480 (font_list_entities): Call font_driver->list with a spec that
6481 doesn't specify style-related properties.
6482 (font_matching_entity): Arguments changed. Caller changed.
6483 (font_open_entity): Adjusted for the change of font-related objects.
6484 (font_close_object, font_has_char, font_encode_char)
6485 (font_get_name, font_get_spec): Likewise.
6486 (font_spec_from_name, font_clear_prop, font_update_lface):
6487 New functions.
6488 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6489 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6490 (font_at): Adjusted for the change of font-related objects.
6491 (font_range): New function.
6492 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6493 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6494 (Fcopy_font_spec, Fmerge_font_spec): New function.
6495 (Ffont_family_list): Renamed from list-families.
6496 (Finternal_set_font_style_table): Arguments changed.
6497 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6498 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6499 change of font-related objects.
6500 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6501
6502 * fontset.h (struct font_info): Delete it. Most members go to
6503 struct font.
6504 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6505 (enum FONT_SPEC_INDEX): Delete it.
6506 (font_info, list_fonts_func, load_font_func, query_font_func)
6507 (set_frame_fontset_func, find_ccl_program_func)
6508 (get_font_repertory_func, new_fontset_from_font_name): Delete
6509 externs.
6510 (fontset_from_font_name): Extern it.
6511 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6512 (FONT_INFO_FROM_FACE): Deleted.
6513 (face_for_font): Adjust prototype.
6514
6515 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6516 conditionals. Don't check enable_font_backend. Delete all codes
6517 used only when USE_FONT_BACKEND is not defined.
6518 (get_font_info_func, list_font_func, load_font_func)
6519 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6520 (get_font_repertory_func): Delete them.
6521 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6522 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6523 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6524 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6525 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6526 (fontset_compare_rfontdef): New function.
6527 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6528 rfont-defs by qsort. Adjusted for the change of font-group vector.
6529 (load_font_get_repertory): Deleted.
6530 (fontset_find_font): Use new macros to ref/set elements of
6531 font-def and rfont-def.
6532 (fontset_font): Fix the timing of remembering that no font for C.
6533 (free_face_fontset): Do nothing if the face has no fontset.
6534 (face_suitable_for_char_p): Use new macros to ref/set elements of
6535 rfont-def.
6536 (face_for_char): Likewise. Call face_for_char with font_object.
6537 (fs_load_font): Delete. Delete #pragma surrounding it.
6538 (fs_query_fontset): Use strcasecmp instead of strcmp.
6539 (generate_ascii_font_name): Adjusted for the format change of
6540 font-spec.
6541 (Fset_fontset_font): Likewise. Use new macros to set elements of
6542 font-def.
6543 (Fnew_fontset): Use font_unparse_xlfd to generate
6544 FONTSET_ASCII (fontset).
6545 (new_fontset_from_font_name): Deleted.
6546 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6547 a fontset is already created for the font. FIx updating of
6548 Vfontset_alias_alist.
6549 (fontset_ascii_font): Deleted.
6550 (Ffont_info): Adjusted for the format change of font-spec.
6551 (Finternal_char_font): Likewise.
6552 (Ffontset_info): Likewise.
6553 (syms_of_fontset): Don't check load_font_func.
6554
6555 * fns.c (internal_equal): Handle PREV_FONT.
6556
6557 * frame.h: Delete USE_FONT_BACKEND conditional.
6558
6559 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6560 conditionals. Don't check enable_font_backend. Delete all codes
6561 used only when USE_FONT_BACKEND is not defined.
6562 (x_set_font): Call x_new_font, not x_new_fontset2.
6563 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6564 already set for the frame.
6565
6566 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6567 a font-entity by font_make_entity. Use font_intern_prop instead
6568 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6569 font property. If a font is scalable, set avgwidth property to 0.
6570 Set font-entity property by font_put_extra.
6571 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6572 (ffont_driver): Adjusted for the change of struct font_driver.
6573 (ftfont_spec_pattern): New function.
6574 (ftfont_list): Return a list, not vector.
6575 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6576 (ftfont_list_family): Don't downcase names.
6577 (ftfont_free_entity): Deleted.
6578 (ftfont_open): Return a font-object. Adjusted for the change of
6579 struct font. Get underline_thickness and underline_position from
6580 font property. Don't update dpyinfo->smallest_font_height and
6581 dpyinfo->smallest_char_width.
6582 (ftfont_close): Don't free `struct font'.
6583 (ftfont_has_char): Adjusted for the format change of font-entity.
6584 (ftfont_encode_char, ftfont_text_extents): Likewise.
6585
6586 * ftxfont.c (ftxfont_list): Return a list, not vector.
6587 (ftxfont_open): Return a font-object. Adjusted for the change of
6588 struct font. Get underline_thickness and underline_position from
6589 font property. Don't update dpyinfo->smallest_font_height and
6590 dpyinfo->smallest_char_width.
6591 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6592 (ftxfont_draw): Adjusted for the change of struct font.
6593
6594 * image.c (image_ascent): Don't include "charset.h". Include
6595 "character.h" and "font.h".
6596
6597 * lisp.h (enum pvec_type): New member PREV_FONT.
6598 (Fassoc_string): EXFUN it.
6599
6600 * print.c: Include font.h.
6601 (print_object): Handle font-related objects.
6602
6603 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6604 conditionals. Don't check enable_font_backend. Delete all codes
6605 used only when USE_FONT_BACKEND is not defined.
6606 (handle_auto_composed_prop): Do nothing if it->f is not on a
6607 window system. Check how many following characters can be
6608 displayed by the same font.
6609 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6610 'struct font *'.
6611 (get_char_face_and_encoding): Assign the whole encoding task to
6612 the `encode-char' method of a font driver.
6613 (fill_composite_glyph_string): Adjusted for the change of `struct
6614 face' and `struct glyph_string'.
6615 (fill_glyph_string): Likewise.
6616 (get_per_char_metric): Arguments changed.
6617 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6618 and `struct glyph_string'.
6619 (produce_stretch_glyph, calc_line_height_property)
6620 (x_produce_glyphs): Likewise.
6621
6622 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6623 conditionals. Don't check enable_font_backend. Delete all codes
6624 used only when USE_FONT_BACKEND is not defined. Use
6625 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6626 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6627 (Qp): Extern them.
6628 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6629 Deleted.
6630 (struct font_name): Deleted.
6631 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6632 (compare_fonts_by_sort_order): New function.
6633 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6634 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6635 Deleted.
6636 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6637 compare_fonts_by_sort_order.
6638 (Fx_font_family_list): Call Ffont_family_list.
6639 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6640 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6641 (face_symbolic_slant, face_symbolic_swidth)
6642 (split_font_name_into_vector, build_font_name_from_vector)
6643 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6644 (font_rescale_ratio, split_font_name, build_font_name)
6645 (free_font_names, sort_fonts, x_face_list_fonts)
6646 (face_font_available_p, sorted_font_list, cmp_font_names)
6647 (font_list_1, concat_font_list, font_list, remove_duplicates):
6648 Deleted.
6649 (Fx_list_fonts): Use Ffont_list.
6650 (LFACE_AVGWIDTH): Deleted.
6651 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6652 by FONTP.
6653 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6654 (set_lface_from_font_name): Delete it.
6655 (set_lface_from_font): Renamed from
6656 set_lface_from_font_and_fontset. Caller changed. Don't set
6657 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6658 for face.
6659 (merge_face_vectors): Copy font-spec if necessary.
6660 Clear properties of the font-spec if necessary.
6661 (merge_face_ref): Clear properties of the font-spec if necessary.
6662 (Finternal_set_lisp_face_attribute): Likewise.
6663 (set_font_frame_param): Use font_load_for_lface to load a
6664 font-object, and call Fmodify_frame_parameters with it.
6665 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6666 font name by Ffont_xlfd_name.
6667 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6668 QCslant, and QCwidth.
6669 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6670 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6671 Compare fonts by EQ.
6672 (lookup_non_ascii_face): Deleted.
6673 (face_for_font): The 2nd argument changed.
6674 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6675 Check atomic font properties by case insensitive.
6676 (realize_non_ascii_face): Set face->overstrike correctly.
6677 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6678 (dump_realized_face): Get font name from
6679 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6680
6681 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6682 conditionals. Don't check enable_font_backend. Delete all codes
6683 used only when USE_FONT_BACKEND is not defined.
6684 (xic_create_xfontset): Original code deleted and renamed from
6685 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6686 (x_make_gc): Don't set GCFont in GCs.
6687 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6688 opened by "fixed".
6689 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6690 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6691 get_font_repertory_func.
6692
6693 * xfont.c: Include <stdlib.h> and "ccl.h".
6694 (struct xfont_info): New structure.
6695 (xfont_query_font): Deleted.
6696 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6697 moved from xterm.c.
6698 (xfont_driver): Adjusted for the change of struct font_driver.
6699 (compare_font_names): New function.
6700 (xfont_list_pattern): Sort font names case insensitively. Make
6701 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6702 (xfont_list): Return a list, not vector.
6703 (xfont_match): If the font doesn't have QCname property, generate
6704 a name from the other font properties.
6705 (xfont_open): Return a font-object. Adjusted for the change of
6706 struct font. Get underline_thickness and underline_position from
6707 font property. Don't update dpyinfo->smallest_font_height and
6708 dpyinfo->smallest_char_width.
6709 (xfont_close): Don't free struct font.
6710 (xfont_prepare_face): Adjusted for the change of struct font.
6711 (xfont_done_face): Deleted.
6712 (xfont_has_char): Adjusted for the change of struct font.
6713 (xfont_encode_char, xfont_draw): Likewise.
6714 (xfont_check): New function.
6715
6716 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6717 callback function.
6718 (xftfont_match): Adjusted for the format change of font-entity.
6719 (xftfont_open): Adjusted for the format change of font-entity and
6720 font-object. Adjusted for the change of struct font. Return a
6721 font-object. Don't update dpyinfo->smallest_font_height and
6722 dpyinfo->smallest_char_width.
6723 (xftfont_close): Block input while calling XftFontClose.
6724 (xftfont_prepare_face): Don't block input while calling
6725 xftfont_get_colors. Adjusted for the change of struct font.
6726 (xftfont_shape): Return value of error case fixed.
6727
6728 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6729
6730 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6731 conditionals.
6732 (FONT_WIDTH): Return (f)->max_width.
6733 (struct x_display_info): Delete member `font'.
6734 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6735 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6736 (struct x_output): Change type of `font' to `struct font *'.
6737
6738 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6739 conditionals. Don't check enable_font_backend. Delete all codes
6740 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6741 (x_per_char_metric, x_encode_char): Deleted.
6742 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6743 (x_compute_glyph_string_overhangs): Adjusted for the change of
6744 `struct face'.
6745 (x_draw_glyph_string_foreground)
6746 (x_draw_composite_glyph_string_foreground): Likewise.
6747 (x_draw_glyph_string): Likewise. Use font->underline_position and
6748 font->underline_thickness.
6749 (x_new_font): Renamed from x_new_fontset2.
6750 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6751 (x_check_font): Call `check' method of a font driver.
6752 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6753 (x_query_font, x_get_font_repertory): Deleted.
6754 (x_find_ccl_program): Renamed and moved to xfont.c.
6755 (x_redisplay_interface): Adjusted for the change of `struct
6756 redisplay_interface'.
6757
6758 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6759 conditionals. Don't check enable_font_backend. Delete all codes
6760 used only when USE_FONT_BACKEND is not defined. Surround non-used
6761 code by "#ifdef OLD_FONT" and "endif".
6762 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6763
6764 * w32font.h (struct w32font_info): New member.
6765 (FONT_COMPAT): New macro.
6766 (w32font_open_internal): Prototype adjusted.
6767
6768 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6769 OLD_FONT" and "endif".
6770
6771 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6772 conditionals. Don't check enable_font_backend. Delete all codes
6773 used only when USE_FONT_BACKEND is not defined.
6774 (w32font_open): Return a font-object. Make a font-object by
6775 font_make_object. Adjusted for the change of struct w32font_info.
6776 (w32font_close): Don't free struct font. Adjusted for the change
6777 of struct w32font_info.
6778 (w32font_encode_char, w32font_text_extents, w32font_draw):
6779 Adjusted for the change of struct w32font_info.
6780 (w32font_draw): Likewise.
6781 (w32font_list_internal): Return a list, not vector.
6782 (w32font_open_internal): Change the 4th arg to font-object.
6783 Adjusted for the change of struct w32font_info and font-object format.
6784 (add_font_name_to_list): Don't downcase names.
6785 (w32_enumfont_pattern_entity): Make a font-entity by
6786 font_make_entity. Adjusted for the format change of font-entity.
6787 Use FONT_SET_STYLE to set a style-related font property. If a
6788 font is scalable, set avgwidth property to 0. Set font-entity
6789 property by font_put_extra.
6790 (font_matches_spec): Adjusted for the format change of font-entity.
6791 (w32_weight_table, w32_decode_weight): New variables.
6792 (w32_encode_weight): New function.
6793 (fill_in_logfont): Adjusted for the format change of font-spec.
6794 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6795 weight value.
6796 (w32font_driver): Adjusted for the change of struct font_driver.
6797
6798 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6799 conditionals. Don't check enable_font_backend. Surround non-used
6800 code by "#ifdef OLD_FONT" and "endif".
6801 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6802 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6803
6804 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6805 conditionals. Don't check enable_font_backend. Delete all codes
6806 used only when USE_FONT_BACKEND is not defined. Surround non-used
6807 code by "#ifdef OLD_FONT" and "endif".
6808
6809 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6810 (uniscribe_open): Return value changed to font-object.
6811 Adjusted for the format change of font-object.
6812 (uniscribe_otf_capability): Adjusted for the change of struct font.
6813 (add_opentype_font_name_to_list): Don't downcase names.
6814 (uniscribe_font_driver): Adjusted for the change of struct
6815 font_driver.
6816
68172008-05-13 Chong Yidong <cyd@stupidchicken.com>
6818
6819 * dispnew.c (update_frame_1): Check if tty output is still valid
6820 before flushing it.
6821
68222008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6823
6824 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6825 to Gtk+ menus.
6826
68272008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6828
6829 * dired.c (file_name_completion): Tweak the code so as to always do it
6830 in a single pass. Tighten the scope of some variables.
6831
6832 * dired.c (Qdefault_directory): New var.
6833 (file_name_completion): Use it instead of Fexpand_file_name.
6834 (syms_of_dired): Initialize it.
6835
68362008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6837
6838 * fileio.c (double_dollars): Remove dead code.
6839
68402008-05-10 Eli Zaretskii <eliz@gnu.org>
6841
6842 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6843 Mention w32-get-true-file-attributes in doc string.
6844
6845 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6846
68472008-05-09 Glenn Morris <rgm@gnu.org>
6848
6849 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6850 2008-04-23.
6851
68522008-05-09 Eli Zaretskii <eliz@gnu.org>
6853
6854 Support for reporting owner and group of each file on MS-Windows:
6855 * dired.c (stat_uname, stat_gname): New functions, with special
6856 implementation for w32.
6857 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6858
6859 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6860 (dflt_group_name): New static variable.
6861 (dflt_group): Rename from the_group.
6862 (init_user_info): Init dflt_group fields. Get user's group name
6863 from LookupAccountSid.
6864 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6865 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6866 New initialization states.
6867 (globals_of_w32): Initialize them to zero. Initialize the default
6868 group name to "None".
6869 (GetFileSecurity_Name): New global var, the name of the function
6870 to call for GetFileSecurity.
6871 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6872 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6873 (get_file_security, get_security_descriptor_owner)
6874 (get_security_descriptor_group, is_valid_sid)
6875 (get_file_security_desc, get_rid, get_name_and_id)
6876 (get_file_owner_and_group): New functions.
6877 (stat): Use get_file_security_desc and get_file_owner_and_group to
6878 report the owner and primary group of each file. Don't ignore the
6879 high 32 bits of file's size, now that st_size is 64-bit wide.
6880 Fix test when to get true file attributes.
6881 (init_user_info): Use get_rid instead of equivalent inline code.
6882 (fstat): Don't ignore the high 32 bits of file's size.
6883
68842008-05-09 Chong Yidong <cyd@stupidchicken.com>
6885
6886 * image.c (png_load): Use correct bit-depth for setting background
6887 color.
6888
68892008-05-08 Eli Zaretskii <eliz@gnu.org>
6890
6891 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6892 epa-hook.elc.
6893
68942008-05-08 Juanma Barranquero <lekktu@gmail.com>
6895
6896 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6897
68982008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6899
6900 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6901 because the original parameters are in pure storage now.
6902 (mac_window): Remove unused params. Update callers.
6903
69042008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6905
6906 * lread.c (substitute_object_recurse): Use lower-level primitives.
6907 Don't signal errors when traversing sub-char-tables.
6908 Don't loop over all the possible characters when traversing char-tables.
6909
6910 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6911 just like we do in print.c.
6912
69132008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6914
6915 * minibuf.c (Ftry_completion): Remove code left over from when we used
6916 scmp instead of Fcompare_strings.
6917
69182008-05-04 Juanma Barranquero <lekktu@gmail.com>
6919
6920 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6921
69222008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6923
6924 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6925 Create bitmap context in native byte order.
6926
6927 * macterm.c (XDrawLine)
6928 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
6929 context in native byte order.
6930
69312008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6932
6933 * config.in: Regenerate.
6934
6935 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
6936 New definitions for Image I/O support.
6937 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6938 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
6939 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6940 (mac_data_provider_release_data, image_load_image_io)
6941 [USE_MAC_IMAGE_IO]: New functions.
6942 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
6943 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
6944 (init_image_func_pointer) [MAC_OSX]: Remove function.
6945 (image_load_quartz2d) [MAC_OSX]: Check availability of
6946 CGImageCreateWithPNGDataProvider at compile time.
6947 Use lowercase `false' for boolean constant.
6948 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
6949 Use image_load_image_io.
6950 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
6951 Don't check MyCGImageCreateWithPNGDataProvider.
6952 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
6953 Don't call init_image_func_pointer.
6954
6955 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
6956
6957 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
6958 Make variable non-static.
6959 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
6960 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
6961
6962 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
6963 (RED_FROM_ULONG): Mask off higher bits.
6964 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
6965
6966 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
6967 Include AvailabilityMacros.h.
6968 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
6969 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
6970
69712008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
6972
6973 * chartab.c (Fset_char_table_range): If range is t, really set all
6974 chars to that value.
6975
69762008-05-03 Eli Zaretskii <eliz@gnu.org>
6977
6978 * dired.c (Ffile_attributes): Don't allow the device number become
6979 negative.
6980
69812008-05-02 Daiki Ueno <ueno@unixuser.org>
6982
6983 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
6984
69852008-05-02 Juri Linkov <juri@jurta.org>
6986
6987 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
6988 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
6989 DEFAULT argument as a list of default values in docstrings.
6990
69912008-05-01 Chong Yidong <cyd@stupidchicken.com>
6992
6993 * puresize.h (BASE_PURESIZE): Increase to 1210000.
6994
69952008-05-01 Martin Rudalics <rudalics@gmx.at>
6996
6997 * dispnew.c (change_frame_size_1): Preserve small windows when
6998 shrinking frames by calling set_window_height|width with third
6999 arg 2.
7000
7001 * window.h (struct window): Replace field too_small_ok by field
7002 resize_proportionally.
7003
7004 * window.c (make_window): Initialize resize_proportionally.
7005 (enlarge_window): Temporarily set resize_proportionally to make
7006 sure that shrink_windows does scale the window proportionally.
7007 (shrink_windows): When window has resize_proportionally set try
7008 to shrink it proportionally by stealing from other windows.
7009 (struct saved_window, Fset_window_configuration)
7010 (compare_window_configurations): Handle resize_proportionally.
7011 (WINDOW_TOTAL_SIZE): New macro.
7012 (window_min_size, shrink_windows, size_window): Use it.
7013 (check_min_window_sizes): Remove. Invalid values of
7014 window-min-height|width are handled by window_min_size_2 now.
7015 (size_window, Fsplit_window, enlarge_window)
7016 (adjust_window_trailing_edge, grow_mini_window): Don't call
7017 check_min_window_sizes.
7018 (window_min_size_2, window_min_size_1, window_min_size):
7019 New argument safe_p for retrieving "safe" minimum sizes.
7020 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7021 (adjust_window_trailing_edge, grow_mini_window):
7022 Adjust arguments of window_min_size... functions.
7023 (shrink_windows): Argument min_size removed. New argument
7024 safe_p allows shrinking windows to their safe minimum sizes.
7025 Calculate minimum size and decide whether a window shall be
7026 deleted for each window individually.
7027 (size_window): When nodelete_p equals 2, tell shrink_windows to
7028 delete windows only if their new minimum size is no more safe.
7029 (shrink_window_lowest_first): Call window_min_size_1 to make
7030 sure to preserve modeline of bottom-most window when resizing
7031 the minibuffer.
7032 (Fset_window_configuration, Fcurrent_window_configuration)
7033 (compare_window_configurations): Do not handle
7034 window-min-height|width any more.
7035 (syms_of_window): Clarify window-min-height|width doc-strings.
7036
70372008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7038
7039 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7040 some more. Copy some of the code from Ftry_completions.
7041 Remove special case code that dates back to initial revision when the
7042 slash was only added when necessary and that can't trigger nowadays.
7043
70442008-04-27 Kenichi Handa <handa@m17n.org>
7045
7046 * font.c (font_prop_validate): Signal `error' instead of `font'.
7047
70482008-04-29 Jason Rumney <jasonr@gnu.org>
7049
7050 * w32fns.c (Fw32_battery_status): New defun.
7051 (syms_of_w32fns): Defsubr it.
7052
70532008-04-28 Andreas Schwab <schwab@suse.de>
7054
7055 * dired.c (file_name_completion): Fix another mixing of encoded
7056 and decoded names.
7057
70582008-04-28 Juanma Barranquero <lekktu@gmail.com>
7059
7060 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7061
70622008-04-27 Juanma Barranquero <lekktu@gmail.com>
7063
7064 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7065
70662008-04-27 Andreas Schwab <schwab@suse.de>
7067
7068 * dired.c (file_name_completion): Fix inappropriate mixing of
7069 encoded and decoded names.
7070
7071 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7072
7073 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7074
70752008-04-26 Eli Zaretskii <eliz@gnu.org>
7076
7077 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7078 2008-03-31, it's not needed anymore with `struct stat' definition
7079 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7080 for the same reasons.
7081
70822008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7083
7084 * m/sparc.h: Additional redefinitions for GNU/Linux.
7085
70862008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7087
7088 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7089 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7090 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7091 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7092 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7093 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7094 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7095 Likewise.
7096
7097 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7098 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7099 (mac_ax_number_of_characters): Add externs.
7100 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7101 [USE_MAC_TSM]: Likewise.
7102 (mac_handle_text_input_event) [MAC_OSX]:
7103 Handle kEventTextInputOffsetToPos for no active input area case.
7104 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7105 (mac_handle_document_access_event)
7106 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7107 (install_application_handler) [MAC_OSX]: Register handlers for
7108 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7109 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7110 Register mac_handle_document_access_event.
7111
7112 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7113 Make functions non-static.
7114
71152008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7116
7117 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7118 (read_file_name_completion_ignore_case, insert_default_directory)
7119 (Qdefault_directory): Move to minibuffer.el.
7120 (Fread_file_name): Call the new `read-file-name' instead.
7121
71222008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7123
7124 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7125 Make function non-static.
7126 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7127 Remove function.
7128 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7129 Move to mactoolbox.c.
7130 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7131
7132 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7133 (mac_rect_make): New macro.
7134
7135 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7136 instead of float.
7137 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7138 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7139 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7140 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7141 CGRectMake.
7142 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7143 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7144 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7145 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7146 instead of WindowRef in argument type.
7147 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7148 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7149 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7150 instead of DISPLAY. All uses changed.
7151 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7152 (x_calc_absolute_position): Simplify so as not to use
7153 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7154
7155 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7156 instead of WindowRef in argument type.
7157 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7158 [TARGET_API_MAC_CARBON]: Remove externs.
7159 (create_apple_event, mac_event_parameters_to_lisp)
7160 [TARGET_API_MAC_CARBON]: Add externs.
7161
7162 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7163 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7164 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7165 is clicked.
7166 (x_activate_menubar): Remove extern for saved_menu_event_location.
7167 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7168 Move from mac.c.
7169
71702008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7171
7172 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7173 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7174
71752008-04-23 Jason Rumney <jasonr@gnu.org>
7176
7177 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7178 attributes only for local files.
7179
7180 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7181 default to Qlocal.
7182
71832008-04-22 Juri Linkov <juri@jurta.org>
7184
7185 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7186 read-buffer-to-switch instead of using the letter "B".
7187
71882008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7189
7190 * fileio.c (Qdefault_directory): New variable.
7191 (Fread_file_name): Use it to pass `dir' to the completion functions.
7192
71932008-04-20 Chong Yidong <cyd@stupidchicken.com>
7194
7195 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7196
71972008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7198
7199 * keyboard.c (Vpre_help_message): Remove.
7200 (show_help_echo): Remove default C code.
7201
7202 * dired.c (directory_files_internal, file_name_completion):
7203 Only call ENCODE_FILE if the string is indeed decoded.
7204
72052008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7206
7207 * Makefile.in (TOOLKIT_DEFINES): Remove.
7208 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7209
72102008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7211
7212 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7213 (mactoolbox.o): New target.
7214
7215 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7216 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7217
7218 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7219 Use mac_set_frame_window_background instead of XSetWindowBackground.
7220 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7221 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7222 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7223 instead of SetWindowTitleWithCFString.
7224 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7225 Move function to mactoolbox.c.
7226 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7227 Use mac_set_window_modified instead of SetWindowModified.
7228 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7229 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7230 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7231 FrontNonFloatingWindow. Use mac_activate_window instead of
7232 ActivateWindow. Use mac_active_non_floating_window instead of
7233 ActiveNonFloatingWindow.
7234 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7235 Use mac_show_hourglass and mac_hide_hourglass.
7236 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7237 instead of GetGlobalMouse.
7238 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7239 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7240 Use mac_bring_window_to_front instead of BringToFront.
7241 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7242 mactoolbox.c.
7243 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7244 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7245 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7246 mactoolbox.c.
7247
7248 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7249 (XtPointer): Move typedef from macmenu.c.
7250 (enum button_type): Move enum from macmenu.c.
7251 (widget_value): Move typedef from macmenu.c.
7252 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7253 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7254 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7255 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7256 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7257 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7258 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7259 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7260 (Selection): Move typedef from macselect.c.
7261 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7262 macterm.c.
7263 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7264 (mac_is_window_collapsed, mac_bring_window_to_front)
7265 (mac_send_window_behind, mac_hide_window, mac_show_window)
7266 (mac_collapse_window, mac_front_non_floating_window)
7267 (mac_active_non_floating_window, mac_activate_window)
7268 (mac_move_window_structure, mac_move_window, mac_size_window)
7269 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7270
7271 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7272 (enum mac_menu_kind): Move enum to mactoolbox.c.
7273 (min_menu_id): Move variable to mactoolbox.c.
7274 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7275 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7276 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7277 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7278 [TARGET_API_MAC_CARBON]: Likewise.
7279 (XtPointer): Move typedef to macgui.h.
7280 (enum button_type): Move enum to macgui.h.
7281 (widget_value): Move typedef to macgui.h.
7282 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7283 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7284 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7285 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7286 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7287 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7288 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7289 (popup_activated_flag): Make variable non-static.
7290 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7291 (add_menu_item, fill_menu, dispose_menus):
7292 Move functions to mactoolbox.c.
7293 (restore_show_help_function, menu_target_item_handler)
7294 (install_menu_target_item_handler, mac_handle_dialog_event)
7295 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7296 [TARGET_API_MAC_CARBON]: Likewise.
7297 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7298 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7299 (find_and_call_menu_selection, name_is_separator): Make function
7300 non-static.
7301 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7302 to mactoolbox.c.
7303 (set_frame_menubar): Don't call install_menu_quit_handler.
7304 (menu_item_selection): New variable.
7305 (mac_menu_show): Use create_and_show_popup_menu.
7306 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7307 selection but set variable menu_item_selection. All uses changed.
7308 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7309 Call install_menu_quit_handler. Move to mactoolbox.c.
7310
7311 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7312 (Selection): Move typedef to macgui.h.
7313 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7314 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7315 Make variables non-static.
7316 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7317 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7318 Make functions non-static.
7319 (Vmac_service_selection) [MAC_OSX]: Likewise.
7320 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7321 (mac_valid_selection_target_p, mac_clear_selection)
7322 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7323 (mac_put_selection_value, mac_selection_has_target_p)
7324 (mac_get_selection_value, mac_get_selection_target_list)
7325 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7326 Move functions to mactoolbox.c.
7327 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7328 Likewise.
7329 (copy_scrap_flavor_data, mac_handle_service_event)
7330 (install_service_handler) [MAC_OSX]: Likewise.
7331 (syms_of_macselect) <Vmac_dnd_known_types>:
7332 Use mac_dnd_default_known_types.
7333
7334 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7335 Move to mactoolbox.c.
7336 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7337 (Fx_selection_owner_p): Add EXFUN.
7338 (install_window_handler, remove_window_handler, XSetWindowBackground):
7339 Remove externs.
7340 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7341 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7342 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7343 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7344 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7345 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7346 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7347 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7348 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7349 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7350 (mac_valid_selection_target_p, mac_clear_selection)
7351 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7352 (mac_put_selection_value, mac_selection_has_target_p)
7353 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7354 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7355 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7356 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7357 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7358 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7359 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7360 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7361 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7362
7363 * mactoolbox.c: New file.
7364
73652008-04-18 Jason Rumney <jasonr@gnu.org>
7366
7367 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7368
73692008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7370
7371 * character.c (Fmultibyte_char_to_unibyte):
7372 Return latin1 chars unchanged.
7373
7374 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7375 relocated if it points to `name'.
7376
73772008-04-17 Kenichi Handa <handa@m17n.org>
7378
7379 * data.c (Faset): Allow setting a multibyte character in an
7380 ASCII-only unibyte string.
7381
7382 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7383
73842008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7385
7386 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7387 done in config.h.
7388
73892008-04-16 Juanma Barranquero <lekktu@gmail.com>
7390
7391 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7392 (Fchar_direction): Add usage in the docstring.
7393
73942008-04-15 Chong Yidong <cyd@stupidchicken.com>
7395
7396 * keyboard.c (read_key_sequence): Remove always-true checks.
7397
73982008-04-14 Jason Rumney <jasonr@gnu.org>
7399
7400 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7401 compatibility struct, for better underline positioning.
7402
74032008-04-13 David Hansen <david.hansen@gmx.net>
7404
7405 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7406 string.
7407
74082008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7409
7410 * m/hp800.h (XUINT, XSET): Remove.
7411
74122008-04-12 Juanma Barranquero <lekktu@gmail.com>
7413
7414 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7415 previous change.
7416
74172008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7418
7419 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7420 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7421
74222008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7423
7424 * keymap.h (map_keymap_canonical): Declare.
7425 * xmenu.c (single_keymap_panes): Use it.
7426
74272008-04-11 Glenn Morris <rgm@gnu.org>
7428
7429 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7430 set the target's value to that of the alias.
7431
74322008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7433
7434 * term.c (set_tty_color_mode): Left over typo.
7435
74362008-04-10 Michael Albinus <michael.albinus@gmx.de>
7437
7438 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7439 only after check for file name handler functions. Signal, when
7440 native functionality is not supported.
7441 (syms_of_fileio): Declare it unconditionally.
7442
74432008-04-10 Jason Rumney <jasonr@gnu.org>
7444
7445 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7446 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7447
7448 * w32.c (logon_network_drive): Also logon to remote drives that
7449 are mapped to drive letters.
7450
74512008-04-10 Glenn Morris <rgm@gnu.org>
7452
7453 * xdisp.c (truncate-partial-width-windows): Doc fix.
7454
74552008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7456
7457 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7458 Move functions to minibuffer.el.
7459 (syms_of_fileio): Don't declare them.
7460
74612008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7462
7463 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7464 (syms_of_minibuf): Remove its initialization.
7465
7466 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7467
74682008-04-09 Juanma Barranquero <lekktu@gmail.com>
7469
7470 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7471
74722008-04-09 Jason Rumney <jasonr@gnu.org>
7473
7474 * makefile.w32-in (distclean): Delete makefile too.
7475 (maintainer-clean): New target.
7476
7477 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7478
7479 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7480 for new font backend and composite cases.
7481
74822008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7483
7484 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7485 Most of the code moved to run_timers.
7486 (do_pending_atimers): Call run_timers.
7487 (run_timers): New function.
7488
7489 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7490 run atimers.
7491
7492 * process.c (wait_reading_process_output): The same as above.
7493
74942008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7495
7496 * minibuf.c (last_exact_completion): Remove variable.
7497 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7498 (complete_and_exit_1, complete_and_exit_2)
7499 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7500 (Fdisplay_completion_list, display_completion_list_1)
7501 (Fminibuffer_completion_help, Fself_insert_and_exit)
7502 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7503 minibuffer.el.
7504 (syms_of_minibuf): Remove corresponding initializations.
7505
7506 * keyboard.c (Qdeactivate_mark): New var.
7507 (command_loop_1): Use it to call `deactivate-mark'.
7508 (syms_of_keyboard): Initialize it.
7509
7510 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7511 to another frame.
7512 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7513 Don't call set_tty_color_mode.
7514 (store_frame_param): Reset previous_frame rather than call
7515 set_tty_color_mode.
7516 * term.c (set_tty_color_mode): Rewrite.
7517 * dispextern.h (set_tty_color_mode): New type.
7518 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7519
75202008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7521
7522 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7523 for generic chars, which do not exist any more in emacs-unicode.
7524
75252008-04-08 Michael Albinus <michael.albinus@gmx.de>
7526
7527 * coding.c (detect_coding_emacs_mule)
7528 (Ffind_operation_coding_system): Fix typo.
7529
75302008-04-08 Jason Rumney <jasonr@gnu.org>
7531
7532 * w32uniscribe.c (SNAME): Extract only symbol name.
7533
7534 * w32font.h (struct w32_metric_cache): New struct.
7535 (w32font_info): Use it.
7536 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7537 (CACHE_BLOCKSIZE): New constants.
7538
7539 * w32font.c (Qja, Qko, Qzh): New symbols.
7540 (syms_of_w32font): Initialise them.
7541 (font_matches_spec): Use them to filter by language.
7542 (recompute_cached_metrics): Remove function.
7543 (compute_metrics, clear_cached_metrics): New functions.
7544 (w32font_encode_char): Use them to manage metric cache.
7545 (w32font_text_extents): Cache metrics for all glyphs on demand.
7546 Delay converting glyph indices to WORD until needed.
7547 (w32font_open_internal): Initialize metric cache to empty.
7548 (registry_to_w32_charset): Charset should always be a symbol.
7549 (fill_in_logfont, list_all_matching_fonts): Family should
7550 always be a symbol.
7551
75522008-04-06 Jason Rumney <jasonr@gnu.org>
7553
7554 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7555 Give up if glyph indices not supported. Use uniscribe obtained
7556 ABC widths for individual metrics. Map glyph clusters back to
7557 characters using fClusterStart flag. Return number of glyphs
7558 produced, not chars processed.
7559 (uniscribe_shape): Map char at FROM to current glyph.
7560
75612008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7562
7563 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7564 Use SetMenuItemHierarchicalMenu.
7565
75662008-04-05 Jason Rumney <jasonr@gnu.org>
7567
7568 * image.c (pbm_load): Allow color values up to 65535.
7569 Throw an error if max_color_idx is outside the supported range.
7570 Report an error when image size is invalid.
7571 Read two bytes at a time when raw images have max_color_idx above 255.
7572
75732008-04-05 Eli Zaretskii <eliz@gnu.org>
7574
7575 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7576 cFileName a file name that includes `?' characters, use the 8+3
7577 alias in cAlternateFileName instead.
7578
75792008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7580
7581 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7582 append "CCL: Quitted" when the CCL program is quitted.
7583 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7584
7585 * ccl.h (struct ccl_program): New member quit_silently.
7586
75872008-04-05 Chong Yidong <cyd@stupidchicken.com>
7588
7589 * search.c (compile_pattern_1): Treat non-nil and non-string of
7590 search-spaces-regexp as nil.
7591
7592 * minibuf.c (Fassoc_string): Tweak docstring.
7593
75942008-04-05 Eli Zaretskii <eliz@gnu.org>
7595
7596 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7597 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7598 2008-03-14 to force inode be positive.
7599
7600 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7601 _S_* ones, since we now use our own sys/stat.h.
7602 (stat, fstat): Don't mangle the inode number.
7603 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7604
76052008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7606
7607 * frame.h (struct frame): Give one more bit to `visible' since we use
7608 values larger than 1 to indicate obscured frames on ttys.
7609
7610 * keymap.c (Qkeymap_canonicalize): New var.
7611 (Fmap_keymap_internal): New fun.
7612 (describe_map): Use keymap-canonicalize.
7613
7614 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7615 (Fundo_boundary): Set them.
7616 (syms_of_undo): Initialize them.
7617 (record_point): Use them instead of last_point_position*.
7618 (last_undo_buffer): Change type.
7619
76202008-04-04 Jason Rumney <jasonr@gnu.org>
7621
7622 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7623 (recompute_cached_metrics): Don't set ascent and descent per char.
7624
7625 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7626 (uniscribe_check_otf): Add GC protection before consing.
7627 Rearrange loop for counting features.
7628
76292008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7630
7631 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7632 buffer with byte-size of source buffer.
7633
76342008-04-03 Chong Yidong <cyd@stupidchicken.com>
7635
7636 * callint.c (Fcall_interactively): Handle temporary region even
7637 when shift-select-mode is off.
7638
76392008-04-03 Jason Rumney <jasonr@gnu.org>
7640
7641 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7642
76432008-04-03 Kenichi Handa <handa@m17n.org>
7644
7645 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7646 (CATEGORY_MASK_UTF_16): Likewise.
7647 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7648 binary file.
7649 (detect_coding): Add null-byte detection for a binary file.
7650 (detect_coding_system): Likewise.
7651
76522008-04-03 Jason Rumney <jasonr@gnu.org>
7653
7654 * w32uniscribe.c: New file.
7655
7656 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7657
7658 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7659
7660 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7661 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7662 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7663 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7664 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7665 (Qphonetic): New symbols.
7666 (syms_of_w32font): Initialize them.
7667 (font_supported_scripts): Use them.
7668 (w32font_list_family): List all charsets.
7669 (w32font_text_extents, recompute_cached_metrics): Fix metric
7670 calculations.
7671 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7672 Give opentype fonts their own format.
7673 (font_matches_spec): New arguments backend and logfont.
7674 Handle :otf spec for uniscribe backend.
7675 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7676 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7677
7678 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7679 font backend.
7680 (globals_of_w32fns): Initialize uniscribe font backend.
7681
7682 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7683 dependencies.
7684 (w32uniscribe.$(O)): New file to build.
7685 (FONT_OBJ): Include w32uniscribe.$(O).
7686 (LIBS): Add uniscribe libraries.
7687
7688 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7689
76902008-04-02 Chong Yidong <cyd@stupidchicken.com>
7691
7692 * callint.c (Vshift_select_mode): New var.
7693 (Finteractive): Document new ^ spec.
7694 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7695 is present.
7696
7697 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7698 (command_loop_1): Avoid running the direct display versions of
7699 forward-char and backward-char if shift-selection may occur.
7700 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7701 shift-translation takes place.
7702
7703 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7704 avoid clobbering by define-minor-mode.
7705
7706 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7707 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7708
7709 * syntax.c (Fforward_word): Add ^ interactive spec.
7710
7711 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7712 (Fscroll_right): Add ^ interactive spec.
7713
77142008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7715
7716 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7717
7718 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7719
7720 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7721
77222008-03-31 Juri Linkov <juri@jurta.org>
7723
7724 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7725
77262008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7727
7728 * gtkutil.c (xg_set_geometry): Fix indentation.
7729 (xg_resize_outer_widget): Remove.
7730 (x_wm_size_hint_off): Fix indentation.
7731 (xg_frame_set_char_size): Call flush_and_sync after
7732 gtk_window_resize.
7733 (x_wm_set_size_hint): Pass NULL as geometry window to
7734 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7735 Add menu bar and tool bar height to base height.
7736 (xg_update_frame_menubar, free_frame_menubar)
7737 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7738 (update_frame_tool_bar, free_frame_tool_bar):
7739 Change xg_resize_outer_widget to xg_frame_set_char_size.
7740
77412008-03-30 Michael Albinus <michael.albinus@gmx.de>
7742
7743 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7744 (Fdbus_call_method): New parameter TIMEOUT.
7745 (dbus-send-signal): Optimize UNGCPRO call.
7746
77472008-03-29 Juri Linkov <juri@jurta.org>
7748
7749 * window.c (Fdisplay_buffer): Move call to
7750 Vsplit_window_preferred_function out of conditions that check
7751 if window is eligible for vertical splitting.
7752 When Vsplit_window_preferred_function is non-nil, call it and use
7753 its non-nil return value as window. Otherwise, continue doing
7754 vertical splitting using Fsplit_window with arg horflag=nil.
7755 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7756 default value from `split-window' to nil.
7757
77582008-03-29 Juri Linkov <juri@jurta.org>
7759
7760 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7761 for interactive code letters 'b' and 'B'.
7762
77632008-03-29 Eli Zaretskii <eliz@gnu.org>
7764
7765 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7766 multibyte string.
7767
77682008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7769
7770 * keyboard.c (pending_funcalls): New var.
7771 (timer_check): Run it.
7772 (syms_of_keyboard): Initialize it.
7773 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7774 (Vdelete_terminal_functions): New vars.
7775 (syms_of_terminal): Initialize them.
7776 (Fdelete_terminal): Run delete-terminal-functions.
7777 * xdisp.c (safe_eval): Rewrite.
7778 (safe_call2): New fun.
7779 * frame.c (Qdelete_frame_functions): New var.
7780 (syms_of_frame): Initialize it.
7781 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7782 * lisp.h (safe_call2, pending_funcalls): Declare.
7783
77842008-03-28 Andreas Schwab <schwab@suse.de>
7785
7786 * indent.c (Fmove_to_column): Move declaration before statements.
7787
77882008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7789
7790 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7791 (struct frame): Use bit fields for boolean vars.
7792
7793 * process.c (server_accept_connection): Simplify naming.
7794 (emacs_get_tty_pgrp): Use SDATA.
7795
7796 * coding.c (decode_coding_object): Fix last change.
7797
77982008-03-27 Jason Rumney <jasonr@gnu.org>
7799
7800 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7801
78022008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7803
7804 * charset.c (Fdefine_charset_internal): Change the way of
7805 registering charsets in Vcharset_order_list.
7806 (syms_of_charset): Make the charset `eight-bit' supplementary.
7807
78082008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7809
7810 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7811 operations, to avoid having the difference between pointers
7812 overflow.
7813
78142008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7815
7816 * indent.c (check_display_width): New fun.
7817 (scan_for_column): Use it.
7818
7819 * data.c (syms_of_data): Mark most-positive-fixnum and
7820 most-negative-fixnum as constants.
7821
7822 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7823
7824 * indent.c (scan_for_column): Extract from current_column_1.
7825 Merge with the same code from Fmove_to_column.
7826 (current_column_1, Fmove_to_column): Use it.
7827
78282008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7829
7830 * keymap.c (map_keymap_internal): New fun.
7831 (map_keymap): Use it.
7832 (Fmap_keymap_internal): New fun.
7833 (Fmap_keymap): Remove left-out test from before make_save_value.
7834
7835 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7836
7837 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7838 Use XCAR/XCDR.
7839
7840 * process.h (struct Lisp_Process): Remove filter_multibyte.
7841 * process.c (QCfilter_multibyte): Remove.
7842 (setup_process_coding_systems): Don't use filter_multibyte.
7843 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7844 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7845 (Fset_process_filter_multibyte): Change the coding-system to
7846 approximate the previous behavior.
7847 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7848 coding-system.
7849
7850 * coding.c (decode_coding_object): When not decoding into a buffer,
7851 obey the coding system's preference of (uni|multi)byte.
7852
78532008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7854
7855 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7856 every char is changed and has a different byte-length.
7857 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7858 Fix int -> EMACS_INT.
7859
78602008-03-23 David Hansen <david.hansen@gmx.net>
7861
7862 * dbusbind.c (xd_read_message): Remove extra copying of message
7863 strings. Check for NULL `interface' or `member'.
7864
78652008-03-22 Eli Zaretskii <eliz@gnu.org>
7866
7867 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7868 cFileName a file name that includes `?' characters, use the 8+3
7869 alias in cAlternateFileName instead.
7870
78712008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7872
7873 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7874
78752008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7876
7877 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7878 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7879 work on current_buffer only instead (that was already the case
7880 for some of the code anyway).
7881 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7882 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7883 (SET_PT, SET_PT_BOTH): Adjust.
7884 * intervals.h (set_point, temp_set_point, set_point_both)
7885 (temp_set_point_both): Remove redundant declarations.
7886
78872008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7888
7889 * fileio.c (Finsert_file_contents):
7890 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7891 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7892 when buffer != current_buffer anyway.
7893
78942008-03-20 Andreas Schwab <schwab@suse.de>
7895
7896 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7897 as default.
7898
78992008-03-19 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7902 (syms_of_w32fns): Initialize them.
7903 (HOURGLASS_ID): New constant.
7904 (x_window_to_frame): Don't check hourglass_window.
7905 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7906 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7907 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7908 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7909 Only change the cursor if hourglass is not active.
7910 (Fx_create_frame): Initialize frame's current_cursor.
7911 (hourglass_atimer): Remove.
7912 (hourglass_started): New function.
7913 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7914 (show_hourglass): Adapt to w32, changing argument to frame.
7915
7916 * w32term.h (struct w32_output): Remove hourglass_window.
7917 Add current_cursor.
7918
7919 * eval.c (call_debugger, Fsignal):
7920 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7921 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7922 (Fexecute_extended_command, cancel_hourglass_unwind):
7923 * minibuf.c (read_minibuf):
7924 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7925
79262008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
7927
7928 * window.c (run_funs): New fun.
7929 (run_window_configuration_change_hook): Use it to run the buffer-local
7930 and the global part of the hook.
7931
7932 * xdisp.c (format_mode_line_unwind_data): Add window argument.
7933 (unwind_format_mode_line): Restore selected window.
7934 (x_consider_frame_title, Fformat_mode_line): Set selected window.
7935
79362008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
7937
7938 * editfns.c (Fchar_equal): Check they are valid characters.
7939
7940 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
7941
79422008-03-17 Andreas Schwab <schwab@suse.de>
7943
7944 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
7945 against a charset.
7946
7947 * lisp.h (Fbuffer_list): Declare.
7948
79492008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 7950
aac0c6e3
MR
7951 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
7952 handlebox_widget is != 0.
7953
79542008-03-16 Juri Linkov <juri@jurta.org>
7955
7956 * callint.c (Fcall_interactively): For interactive code letters
7957 'b' and 'B' put the buffer list into the list of default "future"
7958 values of the minibuffer.
7959
79602008-03-16 Andreas Schwab <schwab@suse.de>
7961
7962 * keyboard.c (read_key_sequence): Fix downcasing of letters with
7963 modifiers.
7964
7965 * regex.c (re_match_2_internal): Correct matching of a charset
7966 against latin-1 characters.
7967
79682008-03-16 Kenichi Handa <handa@m17n.org>
7969
7970 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
7971 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
7972 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
7973 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
7974 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
7975 CHAR_STRING_ADVANCE.
7976 (produce_chars): Fix for the case that the source and the
7977 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
7978 instead of CHAR_STRING_ADVANCE.
7979 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
7980 STRING_CHAR_ADVANCE.
7981
79822008-03-15 Andreas Schwab <schwab@suse.de>
7983
7984 * regex.c (re_match_2_internal): Correct matching of eight bit
7985 characters in unibyte strings.
7986
79872008-03-15 Martin Rudalics <rudalics@gmx.at>
7988
7989 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
7990 at end of range when it coincides with the end of the buffer.
7991
79922008-03-14 Eli Zaretskii <eliz@gnu.org>
7993
7994 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
7995
7996 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
7997
79982008-03-14 Jason Rumney <jasonr@gnu.org>
7999
8000 * editfns.c (initial_tz): New variable.
8001 (syms_of_editfns): Initialize it.
8002 (Fset_time_zone_rule): Set it when first called.
8003 Use it when TZSTRING is nil.
8004
8005 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8006 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8007 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8008 (globals_of_w32fns): Initialize them.
8009 (compute_tip_xy): Use them to position tooltips.
8010
80112008-03-14 Glenn Morris <rgm@gnu.org>
8012
8013 * emacs.c (main): Revert previous change.
8014 (standard_args): Revert -internal-script back to -scriptload,
8015 and remove the long-option form.
8016
80172008-03-13 Glenn Morris <rgm@gnu.org>
8018
8019 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8020 Remove option -enable-font-backend.
8021
80222008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8023
8024 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8025
80262008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8027
8028 * xterm.c (x_connection_closed): For GTK: If this is the last
8029 terminal just exit without closing the display.
8030
80312008-03-11 Jason Rumney <jasonr@gnu.org>
8032
8033 * w32font.c (w32font_full_name): Use floor to round.
8034
f0131492 80352008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8036
8037 * sound.c (alsa_configure): Declare vol at beginning of block.
8038
8039 * fontset.c (Ffontset_info): Remove extra semicolon.
8040
80412008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8042
8043 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8044 size of resulting string.
8045
80462008-03-10 Jason Rumney <jasonr@gnu.org>
8047
8048 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8049
80502008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8051
8052 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8053 Don't pretend as if characters with display property haven't been
8054 consumed for string-replacing-string case.
8055
80562008-03-08 Kim F. Storm <storm@cua.dk>
8057
8058 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8059 (get_next_display_element, next_element_from_string)
8060 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8061
80622008-03-08 Andreas Schwab <schwab@suse.de>
8063
8064 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8065
80662008-03-06 Jason Rumney <jasonr@gnu.org>
8067
8068 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8069 when charset not specified. Only translate ANSI to unicode when
8070 font_type is truetype.
8071 (w32font_coverage_ok): New function.
8072 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8073
80742008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8075
8076 * lread.c (Fread_char): Resolve modifiers.
8077 (Fread_char_exclusive): Likewise.
8078
8079 * character.c (char_resolve_modifier_mask): New function.
8080 (char_string): Use char_resolve_modifier_mask.
8081 (Fchar_resolve_modifiers): New function.
8082 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8083 function.
8084
80852008-03-04 Jason Rumney <jasonr@gnu.org>
8086
8087 * makefile.w32-in: Always include w32font.c in the build.
8088 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8089
80902008-03-04 Andreas Schwab <schwab@suse.de>
8091
8092 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8093 (versionclean): Likewise.
8094
80952008-03-04 Juanma Barranquero <lekktu@gmail.com>
8096
8097 * .cvsignore: Add oo.
8098
80992008-03-03 Andreas Schwab <schwab@suse.de>
8100
8101 * coding.c (decode_coding_object): Inhibit gap shrinking while
8102 decoding in place.
8103
81042008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8105
8106 * w32term.c: Remove unused include "gnu.h".
8107 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8108
8109 * gnu.h: Rename to ...
8110 * emacs-icon.h: ... this.
8111 * xterm.c: Use emacs-icon.h instead of gnu.h.
8112 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8113
81142008-03-03 Juanma Barranquero <lekktu@gmail.com>
8115
8116 * w32font.c: Include math.h.
8117
81182008-03-03 Jason Rumney <jasonr@gnu.org>
8119
8120 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8121 Compute options separately.
8122 (w32font_open_internal): Set glyph_idx before caching metrics.
8123
8124 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8125 Define if system headers don't.
8126 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8127 (w32font_encode_char): Don't declare here.
8128
8129 * w32font.c (Quniscribe, QCformat): New symbols.
8130 (syms_of_w32font): Define them.
8131 (w32font_has_char): Indicate uncertainty.
8132 (w32font_encode_char): Encode as glyph point. Make static.
8133 (recompute_cached_metrics): New function.
8134 (w32font_open_internal): Use it. Set font to use glyph points
8135 initially. Set format based on type of font.
8136 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8137 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8138 on it. Set format based on information available here.
8139 (add_font_entity_to_list): Identify backend based on opentype_only.
8140
81412008-03-02 Andreas Schwab <schwab@suse.de>
8142
8143 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8144
8145 * coding.c (decode_coding_big5, produce_chars):
8146 Fix typos in last change.
8147
81482008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8149
8150 * gnu.h: New icon.
8151
81522008-03-02 Kenichi Handa <handa@m17n.org>
8153
8154 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8155 `dos', don't decode '\r' if that is the last in the source.
8156 (decode_coding_utf_16, decode_coding_emacs_mule)
8157 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8158 (decode_coding_raw_text, decode_coding_charset): Likewise.
8159 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8160
81612008-03-01 Jason Rumney <jasonr@gnu.org>
8162
8163 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8164
81652008-03-01 Kim F. Storm <storm@cua.dk>
8166
8167 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8168
81692008-03-01 Jason Rumney <jasonr@gnu.org>
8170
8171 * w32font.c (w32font_full_name): New function.
8172 (w32font_open_internal): Use it.
8173
81742008-03-01 Kim F. Storm <storm@cua.dk>
8175
8176 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8177
81782008-03-01 Jason Rumney <jasonr@gnu.org>
8179
8180 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8181
81822008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8183
8184 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8185 xg_frame_resized when the event is for the edit widget.
8186
8187 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8188
8189 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8190 set_char_size.
8191 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8192 operations on widgets here. Just set frame size if needed.
8193 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8194 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8195 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8196 the whole frame.
8197 (xg_create_tool_bar): Move attachment of the tool bar to
8198 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8199 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8200
82012008-03-01 Jason Rumney <jasonr@gnu.org>
8202
8203 * w32fns.c (w32_msg_pump): Disable debug code.
8204
82052008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8206
8207 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8208
82092008-02-29 Chong Yidong <cyd@stupidchicken.com>
8210
8211 * xdisp.c (next_overlay_string): Don't set
8212 overlay_strings_at_end_processed_p if we're currently reading from
8213 a display string.
8214
82152008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8216
8217 * xdisp.c (get_overlay_strings_1): Fix typo.
8218
82192008-02-29 Chong Yidong <cyd@stupidchicken.com>
8220
8221 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8222
82232008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8224
8225 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8226
8227 * xdisp.c (display_mode_element): Cancel the previous change.
8228 (decode_mode_spec): Likewise.
8229 (handle_auto_composed_prop): Don't make composition if it->string
8230 is a string.
8231
82322008-02-27 Kim F. Storm <storm@cua.dk>
8233
8234 * lisp.h (GLYPH): Change type from int to struct with separate char
8235 and face_id members.
8236 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8237 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8238 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8239 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8240 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8241 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8242 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8243 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8244 handle new Lisp glyph code encoding, either an integer or a cons.
8245
8246 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8247 (GLYPH_ALIAS): Delete.
8248 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8249 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8250 (GLYPH_FROM_CHAR): Replace macro by ...
8251 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8252
8253 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8254 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8255 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8256 (GLYPH_INVALID_P): New macro.
8257 (spec_glyph_lookup_face): Update prototype.
8258
8259 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8260 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8261 new glyph code encoding.
8262 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8263 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8264
8265 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8266 Adapt to new glyph type and new glyph code encoding.
8267
8268 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8269
8270 * indent.c (current_column, current_column_1, Fmove_to_column)
8271 (compute_motion): Adapt to new glyph code encoding.
8272
8273 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8274
82752008-02-27 Chong Yidong <cyd@stupidchicken.com>
8276
8277 * process.c (wait_reading_process_output): Check for window
8278 changes caused by timers.
8279 Suggested by Johan Bockgård.
8280
82812008-02-27 Glenn Morris <rgm@gnu.org>
8282
8283 * emacs.c (USAGE1): Add `--disable-font-backend'.
8284
82852008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8286
8287 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8288 is made to the buffer.
8289
82902008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8291
8292 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8293 (face_at_string_position):
8294 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8295 (face_at_string_position):
8296 * xdisp.c (display_string, next_overlay_change):
8297 * buffer.h (overlays_at):
8298 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8299 Update callers.
8300
83012008-02-26 Chong Yidong <cyd@stupidchicken.com>
8302
8303 * editfns.c (Fformat): Doc fix.
8304
83052008-02-26 Juanma Barranquero <lekktu@gmail.com>
8306
8307 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8308 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8309 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8310
83112008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8312
8313 * buffer.c (Fbuffer_swap_text): New function.
8314 (syms_of_buffer): Defsubr it.
8315
83162008-02-25 Chong Yidong <cyd@stupidchicken.com>
8317
8318 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8319
83202008-02-25 Jason Rumney <jasonr@gnu.org>
8321
8322 * w32font.c (w32font_draw): Draw one character at a time when padding.
8323
83242008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8325
8326 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8327 Handle a nil arg. Use run_window_configuration_change_hook.
8328 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8329 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8330 Use run_window_configuration_change_hook.
8331
83322008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8333
8334 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8335 1-pixel width.
8336
83372008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8338
8339 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8340 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8341 if the glyph in the font is zero pixel with.
8342
8343 * dispextern.h (struct glyph_string): New member padding_p.
8344
8345 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8346
8347 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8348
8349 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8350
8351 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8352
8353 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8354
83552008-02-25 Jason Rumney <jasonr@gnu.org>
8356
8357 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8358
83592008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8360
8361 Allow fine-grained image-cache flushing.
8362 * dispextern.h (struct image): Add `dependencies' field.
8363 (clear_image_caches): Change arg to Lisp_Object.
8364 * image.c (make_image): Initialize `dependencies' field.
8365 (clear_image_cache): Change arg to allow fine-grained flushing.
8366 Perform the flush even if image-cache-eviction-delay is nil.
8367 (clear_image_caches): Change arg to Lisp_Object.
8368 (Fclear_image_cache): Expand meaning of the argument.
8369 (mark_image): Mark `dependencies' field.
8370 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8371 (lface_hash): Use XHASH rather than XFASTINT.
8372 (face_at_buffer_position): Fix int -> EMACS_INT position.
8373 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8374 (select_frame_for_redisplay): Remove code duplication.
8375 (redisplay_internal): Adapt arg to call to clear_image_caches.
8376
83772008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8378
8379 * s/vms4-0.h:
8380 * s/vms4-2.h:
8381 * s/vms4-4.h:
8382 * s/vms5-5.h: Remove, unused.
8383
8384 * s/irix5-2.h:
8385 * s/irix6-0.h:
8386 * s/riscos5.h:
8387 * s/mach-bsd4-3.h:
8388 * m/mips4.h: Remove files for obsolete systems.
8389
8390 * Makefile.in:
8391 * filelock.c:
8392 * unexmips.c:
8393 * m/hp9000s300.h:
8394 * m/iris4d.h:
8395 * s/aix3-1.h:
8396 * s/hpux.h:
8397 * s/msdos.h:
8398 * s/usg5-0.h:
8399 * s/usg5-2-2.h:
8400 * s/usg5-2.h:
8401 * s/usg5-3.h: Remove references to obsolete variables.
8402
8403 * s/irix5-0.h: Remove, move all the contents ...
8404 * s/irix6-5.h: ... here. Simplify.
8405 * config.in: Regenerate.
8406
84072008-02-24 Jason Rumney <jasonr@gnu.org>
8408
8409 * w32term.c (x_draw_glyph_string_background): Clear the background
8410 manually when cleartype is in use.
8411 (x_draw_glyph_string_foreground): Draw text transparently when
8412 cleartype is in use.
8413
8414 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8415 a font into it unless we have to.
8416
84172008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8418
8419 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8420 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8421
aac0c6e3
MR
84222008-02-18 Jason Rumney <jasonr@gnu.org>
8423
8424 * w32fns.c (Fw32_shell_execute): Encode parameters.
8425
84262008-02-09 Eli Zaretskii <eliz@gnu.org>
8427
8428 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8429
84302008-02-05 Juanma Barranquero <lekktu@gmail.com>
8431
8432 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8433
84342008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8435
8436 * xterm.c (x_set_offset): Don't change the gravity if
8437 CHANGE_GRAVITY is -1.
8438
84392008-02-23 Chong Yidong <cyd@stupidchicken.com>
8440
8441 * fileio.c (auto_save_error_occurred): New var.
8442 (auto_save_error): Set it.
8443 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8444 error occurred.
8445
84462008-02-23 Eli Zaretskii <eliz@gnu.org>
8447
8448 * w32.c (globals_of_w32): Add initializations for
8449 g_b_init_get_sid_sub_authority and
8450 g_b_init_get_sid_sub_authority_count.
8451
84522008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8453
8454 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8455 (font_parse_xlfd): Use them for sanity check.
8456 (Finternal_set_font_style_table): Make sure the table is bijective.
8457
8458 Consolidate the image_cache to the terminal struct.
8459 * termhooks.h (P_): Remove redundant def.
8460 (struct terminal): New field `image_cache'.
8461 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8462 of FRAME_X_IMAGE_CACHE.
8463 * xterm.h (struct x_display_info): Remove image_cache field.
8464 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8465 * w32term.h (struct w32_display_info): Remove image_cache field.
8466 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8467 * macterm.h (struct mac_display_info): Remove image_cache field.
8468 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8469 * xterm.c (x_term_init):
8470 * w32term.c (w32_term_init):
8471 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8472 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8473 Remove declarations.
8474 (clear_image_caches, mark_image_cache): New declarations.
8475 * xfaces.c (clear_face_cache):
8476 * xdisp.c (redisplay_internal): Use clear_image_caches.
8477 * image.c (clear_image_cache): Don't check that a frame is on
8478 a window-system before checking if it shares the same cache.
8479 (clear_image_caches): New function.
8480 (Fclear_image_cache): Use it.
8481 (mark_image): Move from allo.c.
8482 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8483 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8484 (mark_object): Don't call mark_image_cache for frames.
8485 (mark_terminals): Call mark_image_cache.
8486
8487 * lisp.h (Fdelete_terminal): Declare.
8488
8489 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8490 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8491 wrong_type_argument.
8492
84932008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8494
8495 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8496 malayalam.el, and tamil.el. Add sinhala.el.
8497
84982008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8499
8500 * xterm.c (x_connection_closed): Consolidate identical tests.
8501 (x_delete_terminal): Don't crash if called via x_connection_closed.
8502
85032008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8504
8505 * xdisp.c (decode_mode_spec): New arg string.
8506 (display_mode_element): Adjust for the above change.
8507
85082008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8509
8510 * callint.c (Fcall_interactively): Use AREF.
8511
85122008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8513
8514 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8515
85162008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8517
8518 * xfns.c (Fx_show_tip): Set string to " " if empty.
8519
85202008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8521
8522 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8523 with Qt.
8524
85252008-02-17 Kenichi Handa <handa@m17n.org>
8526
8527 * ftfont.c (ftfont_shape): Return Lispy number.
8528
8529 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8530 for GCs.
8531 (Finternal_set_font_selection_order): Call font_update_sort_order
8532 only when enable_font_backend is set.
8533 (realize_x_face): Set face->font_info to that of default face only
8534 when enable_font_backend is set.
8535
8536 * xdisp.c (handle_composition_prop): Set it->c to the fist
8537 character of the composed region.
8538 (fill_composite_glyph_string): Set base_face->font_info to
8539 s->font_info. Get a face for ascii from base_face->ascii_face.
8540 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8541 with a face already decided.
8542 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8543 non-negative.
8544 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8545 call font_prepare_composition unconditionally.
8546
8547 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8548
8549 * xterm.h (struct x_display_info): New member font.
8550
8551 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8552 (x_set_mouse_face_gc, x_new_font): Likewise.
8553 (x_term_init): Setup display_info->font.
8554 (x_delete_terminal): Free display_info->font.
8555
8556 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8557
8558 * ftxfont.c (ftxfont_default_fid): Delete it.
8559 (ftxfont_open): Set xfont->fid to 0.
8560 (ftxfont_end_for_frame): Clear data specific to the frame and the
8561 font-driver.
8562
8563 * xftfont.c (xftfont_default_fid): Delete it.
8564 (xftfont_open): Set xfont->fid to 0.
8565
8566 * fontset.c (FONTSET_OBJLIST): New macro.
8567 (fontset_find_font): Update font-object list of the fontset.
8568 (free_realized_fontset): New function.
8569 (free_face_fontset): Call free_realized_fontset.
8570 (Ffont_info): Call font_close_object only when enable_font_backend
8571 is set.
8572
8573 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8574 [HAVE_NTGUI]: Include w32term.h.
8575 [MAC_OS]: Include macterm.ch.
8576 (font_otf_ValueRecord): Use make_number.
8577 (font_finish_cache): Fix handling of reference count.
8578 (font_clear_cache): Update num_fonts.
8579 (font_open_entity): Update smallest_char_width and
8580 smallest_font_height of the frame.
8581 (font_close_object): Update num_fonts.
8582 (Fclear_font_cache): Fix finding the target cache data.
8583
85842008-02-16 Glenn Morris <rgm@gnu.org>
8585
8586 * fontset.c (Finternal_char_font): Fix compilation warning.
8587
85882008-02-16 Eli Zaretskii <eliz@gnu.org>
8589
8590 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8591 instead of char arrays. Enlarge the size of array passed to
8592 get_token_information.
8593
8594 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8595 warnings.
8596
85972008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8598
8599 * .gdbinit: Don't set `args', it breaks gdb --args.
8600
86012008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8602
8603 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8604 within a narrowed buffer.
8605
86062008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8607
8608 * coding.c (decode_coding_object, encode_coding_object):
8609 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8610
86112008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8612
8613 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8614 hardcoding 1.
8615 (detect_coding_system):
8616 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8617 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8618 * insdel.c (insert_from_gap):
8619 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8620 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8621 (string_to_multibyte):
8622 * character.c (chars_in_text, multibyte_chars_in_text):
8623 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8624
8625 * character.h (FETCH_STRING_CHAR_ADVANCE)
8626 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8627 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8628 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8629
8630 * casefiddle.c (casify_region): Only call after-change and composition
8631 functions on the part of the region that was changed.
8632
8633 * keyboard.c (read_avail_input):
8634 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8635
86362008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8637
8638 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8639 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8640
86412008-02-11 Juanma Barranquero <lekktu@gmail.com>
8642
8643 * w32menu.c (push_submenu_start, push_submenu_end)
8644 (push_left_right_boundary, push_menu_pane, push_menu_item):
8645 * keyboard.c (read_key_sequence): Don't pass args with side effects
8646 to AREF, it fails when compiling with -DENABLE_CHECKING.
8647
86482008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8649
8650 * Makefile.in (${lispsource}international/charprop.el):
8651 Delete this target.
8652
8653 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8654 emacs-unicode-2.
8655
86562008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8657
8658 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8659
86602008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8661
8662 * frame.c (Qnoelisp): New symbol.
8663 (syms_of_frame): Initialize it.
8664 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8665 harmless Elisp code, from a strong `force' from x_connection_closed.
8666 * frame.h (Qnoelisp): Declare.
8667 * xterm.c (x_connection_closed): Pass `noelisp'.
8668
8669 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8670 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8671 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8672 rather than `int' for the type of `type'.
8673
86742008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8675
8676 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8677
8678 * Makefile.in (GNUC): Remove support for gcc-1.x.
8679
86802008-02-10 Richard Stallman <rms@gnu.org>
8681
8682 * lisp.h (ASET): Use AREF, not ASLOT.
8683
86842008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8685
8686 * lisp.h (ASET): Check bounds.
8687
86882008-02-10 Glenn Morris <rgm@gnu.org>
8689
8690 * buffer.c (mode-name): Doc fix.
8691
86922008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8693
8694 * Makefile.in:
8695 * emacs.c:
8696 * gmalloc.c:
8697 * keyboard.c:
8698 * lisp.h:
8699 * m/ibm370aix.h:
8700 * process.c:
8701 * regex.c:
8702 * s/hpux.h:
8703 * sysdep.c:
8704 * sysselect.h:
8705 * systty.h:
8706 * unexec.c:
8707 * w32term.c:
8708 * xsmfns.c:
8709 * xterm.c: Remove code that deals with obsolete variables.
8710
8711 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8712
8713 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8714 nothing else needs it anymore.
8715
87162008-02-09 Eli Zaretskii <eliz@gnu.org>
8717
8718 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8719 instead of unibyte_char_to_multibyte.
8720
87212008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8722
8723 * s/gnu-linux.h: Remove commented out code.
8724
8725 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8726
8727 * Makefile.in: Update what RMS says about using autoconf.
8728 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8729 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8730 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8731 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8732
87332008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8734
8735 * keymap.c (Fkey_description): Move side effect outside of macro call.
8736
8737 * xfaces.c (Finternal_make_lisp_face):
8738 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8739
8740 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8741 (syms_of_fontset): Use ASET.
8742
8743 * fns.c (concat): Move side effect outside of macro call.
8744 (hash_clear): Use ASET.
8745
87462008-02-08 Richard Stallman <rms@gnu.org>
8747
8748 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8749 If FORCE, and frame has a surrogate minibuffer for another frame,
8750 delete the other frame first.
8751
87522008-02-07 Timo Savola <timo.savola@iki.fi>
8753
8754 * xterm.c (x_detect_focus_change): Handle embed client message.
8755 (handle_one_xevent): Ditto.
8756 (handle_one_xevent): If embedded and we get a button press/release,
8757 request focus.
8758 (xembed_set_info, xembed_send_message): New functions.
8759 (x_make_frame_visible): Call xembed_set_info if embedded.
8760 (x_make_frame_invisible): Call xembed_set_info if embedded.
8761 (x_term_init): Initialize Xatom_XEMBED.
8762 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8763 (x_iconify_frame): Ditto.
8764
8765 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8766 (enum xembed_info, enum xembed_message, enum xembed_focus)
8767 (enum xembed_modifier, enum xembed_accelerator): New.
8768 (xembed_set_info, xembed_send_message): Declare.
8769 (FRAME_X_EMBEDDED_P): New.
8770
8771 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8772 gtk_plug_new.
8773
8774 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8775 window ID of a frame.
8776 (x_window): Reparent frame if embedded.
8777 (Fx_create_frame): Don't set border width if embedded.
8778
8779 * emacs.c (USAGE3): Add --parent-id.
8780 (standard_args): Ditto.
8781
87822008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8783
8784 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8785
87862008-02-07 Jim Meyering <meyering@redhat.com>
8787
8788 Use "do...while (0)", not "if (1)...else" in macro definitions.
8789 The latter provokes a warning from gcc about the empty else, when
8790 followed by ";". Also, without that trailing semicolon, it would
8791 silently swallow up any following statement.
8792 * syntax.h (SETUP_SYNTAX_TABLE)
8793 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8794 * buffer.h (DECODE_POSITION): Likewise.
8795 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8796 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8797 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8798 (FETCH_CHAR_ADVANCE): Likewise.
8799 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8800
88012008-02-07 Jim Meyering <meyering@redhat.com>
8802
8803 * lread.c [lint]: Don't include <sys/inode.h>.
8804
88052008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8806
8807 * xselect.c (x_handle_dnd_message):
8808 * xmenu.c (digest_single_submenu, xmenu_show):
8809 * xdisp.c (with_echo_area_buffer_unwind_data)
8810 (format_mode_line_unwind_data, unwind_format_mode_line)
8811 (display_menu_bar):
8812 * eval.c (Ffetch_bytecode):
8813 * doc.c (store_function_docstring):
8814 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8815 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8816 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8817
88182008-02-07 Kenichi Handa <handa@m17n.org>
8819
8820 * ftxfont.c (ftxfont_open): Don't set
8821 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8822
8823 * ftfont.c (ftfont_open): Fix previous change.
8824
88252008-02-06 Jason Rumney <jasonr@gnu.org>
8826
8827 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8828 Use cached metrics for ASCII characters.
8829 (w32font_open_internal): Don't set font's owning_frame.
8830 Cache metrics for ASCII characters.
8831
8832 * w32font.h (struct w32font_info): Add ascii_metrics.
8833 Remove owning_frame.
8834
88352008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8836
8837 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8838 to negative value.
8839
8840 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8841
8842 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8843
8844 * charset.c (syms_of_charset): Set QCtest and Qeq.
8845
88462008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8847
8848 * process.c (Fstart_process):
8849 * callproc.c (Fcall_process): Handle the case where
8850 Funhandled_file_name_directory returns nil.
8851
8852 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8853 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8854 * font.c (check_gstring): Use them and AREF to access the vector before
8855 we know it's really a gstring.
8856 (Ffont_shape_text): Fix typo.
8857 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8858
8859 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8860 Declare.
8861
8862 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8863
88642008-02-05 Jason Rumney <jasonr@gnu.org>
8865
8866 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8867 Set smallest_font_height and smallest_char_width in display info.
8868
88692008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8870
8871 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8872
88732008-02-05 Miles Bader <miles@gnu.org>
8874
8875 * xfaces.c (get_lface_attributes, merge_named_face)
8876 (lookup_named_face, lookup_derived_face, realize_named_face):
8877 Revert 2008-02-01 change by cyd@stupidchicken.com.
8878
88792008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8880
8881 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8882 fallback fonts.
8883 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8884
88852008-02-04 Jason Rumney <jasonr@gnu.org>
8886
8887 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8888 set full_name.
8889 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8890
88912008-02-03 Jason Rumney <jasonr@gnu.org>
8892
8893 * makefile.w32-in (OBJ1): Include font.o here.
8894 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8895
88962008-02-02 Jason Rumney <jasonr@gnu.org>
8897
8898 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8899
89002008-02-01 Jason Rumney <jasonr@gnu.org>
8901
8902 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8903
8904 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8905
89062008-02-01 Andreas Schwab <schwab@suse.de>
8907
8908 * Makefile.in (shortlisp, lisp): Update for rename of
8909 ../lisp/language/myanmar.el.
8910
89112008-02-01 Chong Yidong <cyd@stupidchicken.com>
8912
8913 * xfaces.c (get_lface_attributes): Delete function.
8914 (merge_named_face, lookup_named_face, lookup_derived_face)
8915 (realize_named_face): Call lface_from_face_name directly, and use
8916 the fact that merge_face_vectors does not alter its FROM argument.
8917
89182008-02-01 Jason Rumney <jasonr@gnu.org>
8919
8920 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8921 input in the default locale. Handle non-Unicode multibyte input.
8922
89232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8924
8925 * fontset.c (reorder_font_vector): Exclude nil elements from the
8926 font group. Don't try multiple fonts.
8927 (fontset_font): Adjust for the above change.
8928 (Finternal_char_font): Return nil if the found font doesn't
8929 contain the character ch.
8930
8931 * Makefile.in (lisp, shortlisp): Add cham.el.
8932
89332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8934
8935 * font.h (FONTP): Make it return 1 also for a font-object.
8936
8937 * .gdbinit (xfontset): New function.
8938
8939 * font.c (font_find_for_lface): Check if the character C is
8940 supported or not only for the first font.
8941
8942 * fontset.c (reorder_font_vector): Fix typo.
8943 (fontset_find_font): Don't add a font-spec specifying a script.
8944 Use 0 (not Qt) for the indication of empty font-group. Change the
8945 format of RFONT-DEF. Return Qt if no font in the font-group
8946 support the character.
8947 (fontset_font): Adjust for the above change. If no font was
8948 found the character, remember that.
8949 (face_for_char): Adjust for the change of RFONT-DEF.
8950 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
8951 no font for the target.
8952 (Finternal_char_font): Adjust for the change of RFONT-DEF.
8953
89542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8955
8956 * font.c (font_load_for_face): Handle the case that the font in
8957 face->lface is a string.
8958
89592008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8960
8961 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
8962
89632008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8964
8965 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
8966 Fix previous change. If the frame is not on a window system,
8967 signal an error.
8968
89692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8970
8971 * coding.c (decode_coding_object, encode_coding_object): Adjust
8972 marker positions after conversion.
8973
8974 * lisp.h (struct Lisp_Marker): New member need_adjustment.
8975
89762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8977
8978 * font.c (font_find_for_lface): Fix the handling of the return
8979 value of font_has_char.
8980 (Ffont_shape_text): Fix previous change.
8981
8982 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
8983 (fontset_ref_and_range): Delete it.
8984 (fontset_find_font): Call char_table_ref_and_range instead of
8985 FONTSET_REF_AND_RANGE.
8986 (make_fontset): Don't setup font groups of Latin here.
8987 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
8988 (new_fontset_from_font): Make the specified font the default for
8989 all Latin characters.
8990
89912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8992
8993 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
8994 is on a window system before accessing the fontset of the frame.
8995
89962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8997
8998 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
8999
9000 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9001 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9002
9003 * font.c (Ffont_shape_text): If the font driver doesn't have a
9004 shaper function, make zero-width glyphs to have at least one-pixel
9005 width. Fix setting of `to' field of glyphs.
9006
90072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9008
9009 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9010 glyphs.
9011
9012 * font.h (struct font_driver): Improve docstring of member `shape'.
9013
90142008-02-01 Kenichi Handa <handa@m17n.org>
9015
9016 * composite.c (syms_of_composite): Fix docstring of
9017 auto-composition-function.
9018
9019 * font.h (LGLYPH_SIZE): New macro.
9020
9021 * font.c (Ffont_fill_gstring): Stop filling when a character not
9022 supported by the font is found.
9023 (Ffont_shape_text): When a shape callback function returns nil,
9024 try at most two more times with larger gstring.
9025 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9026
9027 * xdisp.c (handle_auto_composed_prop): Change the argument to
9028 auto-composition-function.
9029
9030 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9031 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9032 Lispy glyph and store it in the lgstring.
9033
9034 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9035
9036 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9037
90382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9039
9040 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9041
9042 * fontset.c (Vfont_encoding_charset_alist): New variable.
9043 (syms_of_fontset): DEFVAR it.
9044 (reorder_font_vector, fontset_find_font): Optimize for the case of
9045 no need of reordering.
9046 (face_for_char): Map the charset property by
9047 Vfont_encoding_charset_alist.
9048
90492008-02-01 Jason Rumney <jasonr@gnu.org>
9050
9051 * w32font.c (logfonts_match): Don't check adstyle here.
9052 (font_matches_spec): Check here against physical font instead.
9053 (add_font_entity_to_list): Avoid some substitutions.
9054
9055 * font.c (font_parse_fcname): Default weight and slant to normal.
9056 (font_score): Prefer normal fonts if weight or slant unspecified.
9057 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9058 match freetype scores.
9059
90602008-02-01 Jason Rumney <jasonr@gnu.org>
9061
9062 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9063 font, as it may have been deleted.
9064 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9065 most common hyphenless variation.
9066 (logfonts_match): Check generic family.
9067 (font_matches_spec): Don't check generic family here.
9068 (fill_in_logfont): Set generic family based on adstyle.
9069
9070 * w32font.h (w32font_get_cache): Update declaration.
9071
90722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9073
9074 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9075
9076 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9077 If none of the new drivers are available, call font_update_drivers
9078 with the old drivers.
9079
9080 * w32font.c (w32font_get_cache): Adjust the argument type.
9081
9082 * xfont.c (xfont_get_cache): Adjust the argument type.
9083
9084 * font.h (struct font_driver): Change argument type of get_cache.
9085
9086 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9087
9088 * font.c (Ffont_get): Fix arguments to Fassoc.
9089 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9090 (font_clear_cache): New function.
9091 (font_list_entities, font_matching_entity): Use font_get_cache.
9092 (font_update_drivers): Call font_clear_cache when finishing a driver.
9093
9094 * fontset.c (fontset_find_font): Fix previous change.
9095
90962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9097
9098 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9099 dpyinfo->font_table.
9100 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9101 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9102
9103 * font.c (font_at): Handle the case that the arg C is negative.
9104 Handle the unibyte case.
9105 (Ffont_at): Call font_at with the arg C -1.
9106
9107 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9108 the position here, and call font_at with the arg C -1.
9109 Don't check the range of the existing composition at the point.
9110
91112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9112
9113 * fontset.c (fontset_add): New args charset_id and family.
9114 Change caller.
9115 (load_font_get_repertory, fontset_find_font): Assume that
9116 font_spec is always a font-spec object.
9117 (Fset_fontset_font): Always store a font-spec object in a fontset.
9118
9119 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9120 instead of get_property_and_range.
9121
91222008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9123
9124 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9125 (xftfont_open): Don't keep locking face.
9126 (xftfont_close): Don't unlock face.
9127 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9128
9129 * fontset.c (fontset_find_font): Don't prefer a font of
9130 supplementary charset.
9131
91322008-02-01 Kenichi Handa <handa@m17n.org>
9133
9134 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9135 script, langsys_tag to langsys, new member script.
9136 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9137 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9138 listing to the script specified in that property. Fix arg to
9139 OTF_check_features.
9140
91412008-02-01 Jason Rumney <jasonr@gnu.org>
9142
9143 * w32font.h: New file.
9144
9145 * w32font.c: Include it.
9146 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9147 (w32font_open): Set owning_frame.
9148 (w32font_text_extents): Use owning_frame.
9149 (struct font_callback_data): Add opentype_only field.
9150 (add_font_entity_to_list): Use it to filter fonts.
9151 Don't check against full name.
9152 (w32font_list_internal): New function.
9153 (w32font_list): Use it.
9154 (w32font_match_internal): New function.
9155 (w32font_match): Use it.
9156 (w32font_open_internal): New function.
9157 (w32font_open): Use it.
9158 (w32font_get_cache, w32font_close, w32font_has_char)
9159 (w32font_encode_char, w32font_text_extents, w32font_draw):
9160 Make non-static.
9161
9162 * makefile.w32-in (w32font.o): Depend on w32font.h.
9163
91642008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9165
9166 * charset.c (Fdefine_charset_internal): Record a supplementary
9167 charset at the tail of Vcharset_order_list.
9168
9169 * font.c (Ffont_shape_text): Fix the return value.
9170
9171 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9172
9173 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9174
91752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9176
9177 * ftfont.c (struct OpenTypeSpec): New struct.
9178 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9179 (ftfont_get_open_type_spec): New function.
9180 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9181
9182 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9183
91842008-02-01 Jason Rumney <jasonr@gnu.org>
9185
9186 * w32font.c (add_font_entity_to_list): Compare only the beginning
9187 of full name.
9188
91892008-02-01 Kenichi Handa <handa@m17n.org>
9190
9191 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9192 Never return HANDLED_RECOMPUTE_PROPS.
9193
91942008-02-01 Kenichi Handa <handa@m17n.org>
9195
9196 * font.c (font_gstring_produce): Delete it.
9197
9198 * composite.h (COMPOSITION_METHOD):
9199 Handle COMPOSITION_WITH_GLYPH_STRING.
9200
92012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9202
9203 * xfont.c (Qx): Delete.
9204 (syms_of_xfont): Don't initialize Qx.
9205
9206 * composite.h (enum composition_method):
9207 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9208
92092008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9210
9211 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9212 (choose_face_font): Accept new form of font-spec.
9213
9214 * frame.h (font_driver_list): Declare it unconditionally.
9215 (struct frame): Define members font_driver_list and font_data_list
9216 unconditionally.
9217
9218 * fontset.c: Include "font.h" unconditionally.
9219 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9220 (Fset_fontset_font): Accept a font-spec object.
9221
9222 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9223 PIXEL_SIZE part a wild card.
9224
9225 * dispextern.h (struct glyph_string): Define members clip and
9226 num_clips unconditionally.
9227 (struct face): Define members font_info and extra unconditionally.
9228
9229 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9230 ftfont_info only when HAVE_LIBOTF is defined.
9231
92322008-02-01 Andreas Schwab <schwab@suse.de>
9233
9234 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9235 and end.
9236
92372008-02-01 Jason Rumney <jasonr@gnu.org>
9238
9239 * w32font.c (w32font_driver): Add new fields.
9240
92412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9242
9243 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9244 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9245 (LIBES): Add @M17N_FLT_CFLAGS@.
9246
9247 * composite.c (compose_text): Don't treat the new style
9248 composition specially.
9249
9250 * emacs.c (main): Call syms_of_font unconditionally.
9251
9252 * font.h (FONT_ENTITY_NOT_LOADABLE)
9253 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9254 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9255 (struct font_driver): New member shape.
9256 (font_registry_charsets): Extern it.
9257 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9258 (font_otf_capability, font_drive_otf): Delete their externs.
9259
9260 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9261 (font_charset_alist, font_registry_charsets): Move from xfont.c
9262 and rename.
9263 (font_prop_validate_otf): New function.
9264 (font_property_table): Register it for QCotf.
9265 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9266 (font_drive_otf): Delete.
9267 (font_prepare_composition): New arg F. Adjust for the change of
9268 lispy gstring.
9269 (font_find_for_lface): New arg C.
9270 (font_load_for_face): Adjust for the change of font_find_for_lface.
9271 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9272 lispy gstring.
9273 (Ffont_shape_text): New function.
9274 (Fopen_font): If the font size is not given, use 12-pixel.
9275 (Ffont_at): New arg STRING.
9276 (syms_of_font): Initalize font_charset_alist.
9277 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9278 conditionally.
9279
9280 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9281 fonts of the same font-spec. Change the format of RFONT-DEF.
9282 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9283 Adjust for the change of RFONT-DEF.
9284 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9285
9286 * ftfont.h: New file.
9287
9288 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9289 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9290 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9291 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9292 font_otf_capability and font_drive_otf, set ftfont_shape.
9293 (ftfont_list): Adjust for the change of :otf property value.
9294 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9295 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9296 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9297 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9298 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9299 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9300
9301 * w32term.c (x_draw_composite_glyph_string_foreground):
9302 Adjust for the change of lispy gstring.
9303
9304 * xdisp.c (handle_composition_prop): Adjust for the change of
9305 lispy gstring. Call a function for auto-composition with the
9306 third arg it->window.
9307 (fill_composite_glyph_string): Adjust for the change of lispy string.
9308 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9309
9310 * xfaces.c (set_font_frame_param): Adjust for the change of
9311 font_find_for_lface.
9312
9313 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9314 (xfont_registry_charsets): Likewise. Change caller.
9315 (syms_of_xfont): Don't handle x_font_charset_alist.
9316
9317 * xftfont.c: Include "ftfont.h".
9318 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9319 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9320 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9321 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9322 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9323 Set xftfont_driver.shape to xftfont_shape.
9324
9325 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9326 the change of lispy gstring.
9327
93282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9329
9330 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9331
93322008-02-01 Jason Rumney <jasonr@gnu.org>
9333
9334 * w32font.c (w32font_draw): Fill background manually.
9335
93362008-02-01 Jason Rumney <jasonr@gnu.org>
9337
9338 * font.c (Qfontp): Remove unused symbol.
9339 (QCantialias): New symbol.
9340 (syms_of_font): Define it.
9341 (font_property_table): Set a validator for QCantialias.
9342
9343 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9344 Define if not already.
9345 (QCfamily): Share with xfaces.c.
9346 (Qstandard, Qsubpixel, Qnatural): New symbols.
9347 (syms_of_w32font): Define them. Don't define QCfamily here.
9348 (w32_antialias_type, lispy_antialias_type): New functions.
9349 (w32_enumfont_pattern_entity): New arg requested_font.
9350 Set antialias parameter if non-default was requested.
9351 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9352
93532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9354
9355 * lread.c (read1): Undo the previous change.
9356
93572008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9358
9359 * frame.c (Fdelete_frame): Call font_update_drivers only when
9360 USE_FONT_BACKEND is defined.
9361
93622008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9363
9364 * font.h (struct font_bitmap): New member bits_per_pixel.
9365 (struct font_driver): New members start_for_frame and end_for_frame.
9366 (struct font_data_list): New struct.
9367 (font_put_frame_data, font_get_frame_data): Extern them.
9368
9369 * frame.h (struct frame): New member font_data_list.
9370
9371 * font.c (font_update_drivers): Call driver->start_for_frame and
9372 driver->end_for_frame at proper timings.
9373 (font_put_frame_data, font_get_frame_data): New functions.
9374 (Ffont_spec): Add usage in the docstring.
9375
9376 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9377 (Fdelete_frame): Call font_update_drivers.
9378
9379 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9380 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9381 (xftfont_get_xft_draw): New function.
9382 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9383 (xftfont_end_for_frame): New function.
9384 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9385
9386 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9387 Change argument. Cache GCs in the per-frame data.
9388 (struct ftxfont_frame_data): New struct.
9389 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9390 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9391 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9392 (ftxfont_end_for_frame): New function.
9393 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9394
9395 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9396
93972008-02-01 Kenichi Handa <handa@m17n.org>
9398
9399 * xselect.c (Vselection_coding_system)
9400 (Vnext_selection_coding_system): Delete them.
9401 (syms_of_xselect): Don't declare selection-coding-system and
9402 next-selection-coding-system. They are declared in select.el.
9403
94042008-02-01 Jason Rumney <jasonr@gnu.org>
9405
9406 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9407
9408 * w32fns.c: Include imm.h.
9409 (get_composition_string_fn, get_ime_context_fn): New optional
9410 system functions.
9411 (globals_of_w32fns): Load them from imm32.dll.
9412 (ignore_ime_char): New flag.
9413 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9414 WM_IME_ENDCOMPOSITION messages.
9415
9416 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9417 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9418
94192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9420
9421 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9422 (READCHAR_REPORT_MULTIBYTE): New macro.
9423 (readchar): New 2nd arg MULTIBYTE.
9424 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9425 Make symbol's name multibyte according to the multibyteness of the
9426 source.
9427
94282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9429
9430 * xfaces.c (face_for_overlay_string): Call lookup_face with
9431 correct arguments (fix of synching with the trunk).
9432
94332008-02-01 Kenichi Handa <handa@m17n.org>
9434
9435 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9436 (font_prop_validate_non_neg, font_prop_validate_spacing):
9437 Delete argument prop_index.
9438 (font_property_table): Change arguments to validater. Change Callers.
9439 (font_lispy_object): Delete.
9440 (font_at): Use font_find_object instead fo font_lispy_object.
9441
94422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9443
9444 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9445 and file names.
9446
94472008-02-01 Jason Rumney <jasonr@gnu.org>
9448
9449 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9450 (font_matches_spec): Remove debug output.
9451 (add_font_entity_to_list): Avoid using substituted fonts.
9452
94532008-02-01 Jason Rumney <jasonr@gnu.org>
9454
9455 * doc.c (Fsnarf_documentation):
9456 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9457
94582008-02-01 Miles Bader <miles@gnu.org>
9459
9460 * dispextern.h (struct glyph_row): Only define "clip" field if
9461 HAVE_WINDOW_SYSTEM is defined.
9462
94632008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9464
9465 Fix up multi-tty merge.
9466
9467 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9468 and indentation.
9469
9470 * xfaces.c (free_realized_face, clear_face_gcs):
9471 Include font_done_for_face in the input_blocked section, just in case.
9472
9473 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9474 (get_char_face_and_encoding): Undo last change and remove the *other*
9475 duplicate definition (i.e. keep the one that's better scoped and that
9476 includes code for the font-backend).
9477
9478 * terminal.c (create_terminal): Default keyboard_coding to
9479 `no-conversion' and terminal_coding to `undecided'.
9480
9481 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9482
9483 * fontset.c (free_realized_fontsets): Check that the table entry does
9484 contain a fontset before trying to compare it to `base'.
9485
9486 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9487 syms_of_charset, and syms_of_coding earlier because init_window_once
9488 now needs Vcoding_system_hash_table to be setup.
9489
9490 * coding.h (default_buffer_file_coding): Remove.
9491
9492 * coding.c (default_buffer_file_coding): Remove.
9493 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9494 than ->symbol, and use the terminal-local coding system.
9495 (syms_of_coding): Don't setup the coding-systems that are not
9496 terminal-local.
9497 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9498
9499 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9500 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9501
9502 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9503 in chartab.c and were re-added here by mistake.
9504 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9505
9506 * doc.c (Fsnarf_documentation):
9507 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9508 src to etc.
9509
9510 * ChangeLog.10: Add mistakenly removed entry.
9511
95122008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9513
9514 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9515
95162008-02-01 Miles Bader <miles@gnu.org>
9517
9518 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9519 Add extra args to FACE_FOR_CHAR.
9520
95212008-02-01 Kenichi Handa <handa@m17n.org>
9522
9523 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9524 in sequence.
9525
9526 * chartab.c (map_sub_char_table, map_char_table): If the range
9527 contains just one character, call the function with that character
9528 even if the depth is not 3.
9529
95302008-02-01 Jason Rumney <jasonr@gnu.org>
9531
9532 * w32font.c (w32font_text_extents): Calculate metrics for the
9533 whole string.
9534
95352008-02-01 Jason Rumney <jasonr@gnu.org>
9536
9537 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9538
95392008-02-01 Jason Rumney <jasonr@gnu.org>
9540
9541 * w32term.c (x_set_glyph_string_clipping): Use
9542 get_glyph_string_clip_rects.
9543 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9544 Adjust for the change of struct glyph_string.
9545
9546 * w32font.c (w32font_draw): Do clipping here.
9547
95482008-02-01 Kenichi Handa <handa@m17n.org>
9549
9550 * xftfont.c (xftfont_draw): Adjust for the change of struct
9551 glyph_string.
9552
9553 * xterm.c (x_set_glyph_string_clipping): Use
9554 get_glyph_string_clip_rects.
9555 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9556 Adjust for the change of struct glyph_string.
9557
9558 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9559 the resulting clip(s}.
9560 (expose_overlaps): Add arg r. Change callers. Set it to
9561 row->clip temporarily.
9562 (expose_window): Redraw rows overlapping the exposed area.
9563
9564 * dispextern.h (struct glyph_row): New member clip.
9565 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9566 clip_height, new member clip, and num_clips.
9567
95682008-02-01 Kenichi Handa <handa@m17n.org>
9569
9570 * data.c (Fchar_or_string_p): Fix docstring.
9571
95722008-02-01 Kenichi Handa <handa@m17n.org>
9573
9574 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9575 create a temporary XftDraw object.
9576
95772008-02-01 Kenichi Handa <handa@m17n.org>
9578
9579 * font.c (Ffontp): Fix docstring.
9580
9581 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9582 strong evidence of ISO-2022.
9583
95842008-02-01 Kenichi Handa <handa@m17n.org>
9585
9586 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9587 SYNTAX_ENTRY_FOLLOW_PARENT.
9588
95892008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9590
9591 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9592 its type.
9593 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9594 Update to the new type of weak_hash_tables and next_weak.
9595
9596 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9597 a plain C pointer to Lisp_Hash_Table.
9598
9599 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9600 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9601 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9602 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9603 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9604 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9605 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9606 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9607 (GC_EQ): Remove since they've been identical to their non-GC_
9608 alter-egos ever since the markbit was eradicated.
9609
9610 * alloc.c:
9611 * buffer.c:
9612 * buffer.h:
9613 * data.c:
9614 * fileio.c:
9615 * filelock.c:
9616 * fns.c:
9617 * frame.h:
9618 * lisp.h:
9619 * macterm.c:
9620 * print.c:
9621 * process.c:
9622 * w32fns.c:
9623 * w32menu.c:
9624 * w32term.c:
9625 * xfns.c:
9626 * xmenu.c:
9627 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9628
96292008-02-01 Kenichi Handa <handa@m17n.org>
9630
9631 * chartab.c (map_sub_char_table): Make it work for the top-level
9632 char-table. Fix handling of parent char-table.
9633 (map_char_table): Adjust for the above change.
9634
96352008-02-01 Jason Rumney <jasonr@gnu.org>
9636
9637 * w32font.c (Qgdi): Rename from Qw32.
9638
96392008-02-01 Jason Rumney <jasonr@gnu.org>
9640
9641 * w32bdf.c (get_quoted_string): Make function static.
9642
96432008-02-01 Kenichi Handa <handa@m17n.org>
9644
9645 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9646 bigger ascent and descent than those of the font, use them as
9647 font's ascent and descent.
9648
96492008-02-01 Kenichi Handa <handa@m17n.org>
9650
9651 * Makefile.in (${lispsource}international/charprop.el): Move this
9652 target within "#ifdef HAVE_UNIDATA" and "#endif".
9653
96542008-02-01 Kenichi Handa <handa@m17n.org>
9655
9656 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9657 (shortlisp): Add ../lisp/language/tai-viet.el.
9658
96592008-02-01 Ulrich Mueller <ulm@gentoo.org>
9660
9661 * Makefile.in (${lispsource}international/charprop.el): Depend on
9662 temacs${EXEEXT}.
9663
96642008-02-01 Jason Rumney <jasonr@gnu.org>
9665
9666 * w32font.c (w32font_close): Delete the GDI font object.
9667
9668 * w32menu.c: Include character.h.
9669
9670 * w32proc.c: Likewise.
9671
9672 * w32select.c: Likewise.
9673
9674 * makefile.w32-in (w32proc.o): Depend on character.h.
9675
96762008-02-01 Jason Rumney <jasonr@gnu.org>
9677
9678 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9679
9680 * w32menu.c (syms_of_w32menu): Likewise.
9681
9682 * w32proc.c (syms_of_ntproc): Likewise.
9683
9684 * w32select.c (syms_of_w32select): Likewise.
9685
9686 * w32term.c (syms_of_w32term): Likewise.
9687
96882008-02-01 Jason Rumney <jasonr@gnu.org>
9689
9690 * w32font.c (w32font_draw): Delete brush after using it.
9691
96922008-02-01 Jason Rumney <jasonr@gnu.org>
9693
9694 * w32font.c (w32font_open): Don't set font_idx.
9695 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9696 to font settings.
9697 (w32font_draw): Fill background explicitly.
9698
96992008-02-01 Jason Rumney <jasonr@gnu.org>
9700
9701 * w32term.c (w32_initialize): Don't call w32font_initialize.
9702
9703 * w32font.c (w32font_info): Remove subranges.
9704 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9705 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9706 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9707 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9708 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9709 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9710 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9711 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9712 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9713 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9714 New symbols.
9715 (font_callback_data): New struct.
9716 (w32font_list, w32font_match): Use it.
9717 (w32font_open): Don't populate subranges.
9718 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9719 (w32font_encode_char): Always return unicode code-point as-is.
9720 (w32font_text_extents): Supply a transformation matrix to
9721 GetGlyphOutline. Never look up by glyph index. Avoid looping
9722 twice. Use unicode version of GetTexExtentPoint32 instead of
9723 glyph index version.
9724 (set_fonts_frame): Remove.
9725 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9726 set frame parameter. Use backward compatible fake foundries.
9727 Save generic family in extra slot under QCfamily. Make width slot
9728 constant. Save QCspacing value. Save list of scripts instead of
9729 binary subranges.
9730 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9731 (add_font_entity_to_list): Use font_callback_data struct. Filter
9732 unwanted fonts.
9733 (add_one_font_entity_to_list): Use font_callback_data struct.
9734 (w32_registry): Default to iso10646_1.
9735 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9736 string font registries. Don't fill in font name if it is a generic
9737 family name, fill family instead. Use spacing, family and script
9738 extra info to fill pitch, family and charset fields.
9739 (list_all_matching_fonts): Use font_callback_data struct.
9740 (unicode_range_for_char): Remove.
9741 (font_supported_scripts): New function.
9742 (w32font_initialize): Remove.
9743 (syms_of_w32font): Update which symbols are defined.
9744
97452008-02-01 Jason Rumney <jasonr@gnu.org>
9746
9747 * font.c (font_pixel_size): Reverse assq_no_quit args.
9748
9749 * w32term.h (FONT_WIDTH): Report max width, not average.
9750 (FONT_MAX_WIDTH): Remove.
9751 (FONT_AVG_WIDTH): New macro.
9752
9753 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9754 redefinition of FONT_WIDTH.
9755
9756 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9757 (w32_cache_char_metrics): Use FONT_WIDTH.
9758
9759 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9760
97612008-02-01 Jason Rumney <jasonr@gnu.org>
9762
9763 * w32font.c (w32font_open): Make lfHeight negative.
9764
9765 * w32fns.c (x_default_font_parameter): Use new style font name.
9766 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9767
97682008-02-01 Jason Rumney <jasonr@gnu.org>
9769
9770 * w32font.c (QCsubranges): New symbol.
9771 (w32font_open, w32font_has_char): Get subranges from subproperty
9772 of extra.
9773 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9774 (syms_of_w32font): Define :subranges symbol.
9775
9776 * font.c (font_put_extra): Expose externally.
9777
9778 * font.h (font_put_extra): Move declaration from font.c.
9779
9780 * font.c (Ffont_get): Use font driver to determine otf capability.
9781 (adjust_anchor): Check if driver defines anchor_point before using.
9782
9783 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9784 (w32font_draw): Use options.
9785 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9786 Fix detection of truetype fonts.
9787 (registry_to_w32_charset): Handle charsets other than iso8859-1
9788 expressed as lisp symbols.
9789 (w32_registry): Express charset as lisp symbol.
9790 (fill_in_logfont): Reverse pixel and point height logic.
9791 Don't set width here. Set quality to default.
9792
9793 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9794 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9795
9796 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9797 Remove redundant loop and allocation.
9798
9799 * makefile.w32-in (font.o, w32font.o): New objects.
9800 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9801 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9802
9803 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9804 STORE_XCHARB a valid l-value.
9805
9806 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9807 calculations for non-Truetype fonts.
9808 (x_draw_glyph_string): Sync with xterm.c.
9809 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9810 Remove redundant code.
9811 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9812
9813 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9814 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9815
9816 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9817 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9818
9819 * w32font.c: New file for w32 font backend.
9820
98212008-02-01 Kenichi Handa <handa@m17n.org>
9822
9823 * term.c: Don't include "buffer.h" twice.
9824
98252008-02-01 Kenichi Handa <handa@m17n.org>
9826
9827 * character.c (Funibyte_string): New function.
9828 (syms_of_character): Defsubr it.
9829
98302008-02-01 Jason Rumney <jasonr@gnu.org>
9831
9832 * w32term.c [USE_FONT_BACKEND]:
9833 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9834 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9835 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9836 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9837 (x_free_frame_resources): Sync with xterm.c.
9838
98392008-02-01 Andreas Schwab <schwab@suse.de>
9840
9841 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9842 char-table size.
9843
98442008-02-01 Kenichi Handa <handa@m17n.org>
9845
9846 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9847
98482008-02-01 Kenichi Handa <handa@m17n.org>
9849
9850 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9851 font_otf_gpos, add font_drive_otf.
9852
9853 * fontset.c (fontset_find_font): Pay attention to font size
9854 specified for a font.
9855 (reorder_font_vector): Check contents of font_def.
9856
9857 * font.c (struct otf_list): Delete it.
9858 (otf_list): Make it a lisp variable.
9859 (otf_open): Use lispy otf_list.
9860 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9861 (check_otf_features): New function.
9862 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9863 New functions.
9864 (font_drive_otf): New function merging font_otf_gsub and
9865 font_otf_gpos.
9866 (font_open_for_lface): New arg spec. Change argument order.
9867 (font_load_for_face): Adjust for the change of font_open_for_lface.
9868 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9869 Ffont_otf_gpos.
9870 (syms_of_font): Staticpro otf_list. Delete defsubr of
9871 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9872
9873 * xfaces.c (set_font_frame_param): Adjust for the change of
9874 font_open_for_lface.
9875
9876 * font.h (font_open_for_lface): Adjust prototype.
9877 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9878 member otf_drive.
9879 (font_otf_gsub, font_otf_gpos): Delete externs.
9880 (font_drive_otf): Extern it.
9881
98822008-02-01 Kenichi Handa <handa@m17n.org>
9883
9884 * font.c (font_at): If the window W is not on a window system,
9885 return Qnil.
9886
9887 * coding.c (produce_chars, encode_coding): Don't call
9888 insert_from_gap if no characters to produce.
9889
98902008-02-01 Kenichi Handa <handa@m17n.org>
9891
9892 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9893 Fclear_face_cache.
9894
9895 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9896
98972008-02-01 Miles Bader <miles@gnu.org>
9898
9899 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9900 Parse "--disable-font-backend" option.
9901 (standard_args): Add "--disable-font-backend" option.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * fontset.c (fontset_find_font): New function.
9906 (fontset_font): Use fontset_find_font.
9907 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9908 Register the specified font for all Latin characters.
9909 (new_fontset_from_font): Register the specified font for all Latin
9910 characters.
9911 (dump_fontset): For a realized fontset, include the base fontset
9912 name in the returned vector.
9913
99142008-02-01 Kenichi Handa <handa@m17n.org>
9915
9916 * character.h (CHAR_STRING): Cast C to unsigned on calling
9917 char_string.
9918
9919 * character.c (char_string): Type of arg C changed to unsigned.
9920 Signal an error if C is an invalid character code.
9921
9922 * editfns.c (general_insert_function, Fchar_to_string):
9923 Use CHARACTERP, not INTEGERP.
9924
99252008-02-01 Kenichi Handa <handa@m17n.org>
9926
9927 * character.h (MIN_MULTIBYTE_LEADING_CODE)
9928 (MAX_MULTIBYTE_LEADING_CODE): New macros.
9929
9930 * regex.c (analyse_first): Fix for multibyte characters in "case
9931 charset:" and "case categoryspec:".
9932
99332008-02-01 Andreas Schwab <schwab@suse.de>
9934
9935 * Makefile.in (LIBES): Move standard libraries to the end.
9936
99372008-02-01 Kenichi Handa <handa@m17n.org>
9938
9939 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
9940 nonzero, don't shrink the buffer nextb.
9941
9942 * buffer.h (struct buffer_text): New member inhibit_shrinking.
9943
9944 * coding.c (coding_alloc_by_making_gap): New arg offset.
9945 (alloc_destination): Call coding_alloc_by_making_gap with the arg
9946 offset.
9947 (decode_coding_iso_2022): Update coding->safe_charsets.
9948 (decode_coding_gap): Temporarily set
9949 current_buffer->text->inhibit_shrinking to 1.
9950
99512008-02-01 Kenichi Handa <handa@m17n.org>
9952
9953 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
9954 indexing into elements of s->cmp and s->char2b.
9955
99562008-02-01 Juanma Barranquero <lekktu@gmail.com>
9957
9958 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
9959
99602008-02-01 Kenichi Handa <handa@m17n.org>
9961
9962 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
9963 target_multibyte instead of multibyte.
9964 (re_match_2_internal): Call bcmp_translate with target_multibyte.
9965 (bcmp_translate): Change the argument name from multibyte to
9966 target_multibyte.
9967
99682008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 These changes are to compile a regexp into a pattern that can be
9971 used both for multibyte and unibyte targets.
9972
9973 * Makefile.in (search.o): Depend on charset.h.
9974
9975 * character.c (multibyte_char_to_unibyte_safe): New function.
9976
9977 * search.c: Include "charset.h".
9978 (compile_pattern_1): Delete argument multibyte. Don't set
9979 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
9980 (compile_pattern): Don't compare cp->buf.target_multibyte.
9981 Compare cp->buf.charset_unibyte.
9982 (compile_pattern): Set cp->buf.target_multibyte.
9983
9984 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
9985
9986 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
9987
9988 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
9989 multibyte. Change callers.
9990 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
9991 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
9992 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
9993 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
9994 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
9995 (regex_compile): Make the compiled pattern usable both for
9996 multibyte and unibyte targets.
9997 (analyse_first): Make the fastmap usable both for multibyte and
9998 unibyte targets.
9999 (TRANSLATE_VIA_MULTIBYTE): Delete.
10000 (re_match_2_internal): Pay attention to the case that the
10001 multibyteness of bufp and target may be different.
10002
100032008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10006 empty box occupy at least one column width.
10007
100082008-02-01 Miles Bader <miles@gnu.org>
10009
10010 * Makefile.in: Remove redundant HAVE_XFT clause.
10011
100122008-02-01 Kenichi Handa <handa@m17n.org>
10013
10014 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10015
100162008-02-01 Kenichi Handa <handa@m17n.org>
10017
10018 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10019 being nil.
10020
100212008-02-01 Kenichi Handa <handa@m17n.org>
10022
10023 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10024
100252008-02-01 Kenichi Handa <handa@m17n.org>
10026
10027 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10028
100292008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * search.c (simple_search): Fix previous change.
10032
100332008-02-01 Kenichi Handa <handa@m17n.org>
10034
10035 * xftfont.c (ftfont_font_format): Extern declaration.
10036
10037 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10038
10039 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10040 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10041
10042 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10043 (ftfont_font_format): Fix previous change.
10044
10045 * font.h (Ffont_xlfd_name): EXFUN it.
10046
10047 * font.c (font_parse_xlfd): Fix the array size of `f'.
10048 (register_font_driver): Use EQ to compare driver->type.
10049
10050 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10051 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10052 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10053
100542008-02-01 Kenichi Handa <handa@m17n.org>
10055
10056 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10057 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10058
100592008-02-01 Kenichi Handa <handa@m17n.org>
10060
10061 * xfont.c (xfont_open): Set font->format.
10062
10063 * xftfont.c (xftfont_open): Set font->format.
10064
10065 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10066 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10067 (ftfont_open): Set font->format.
10068 (ftfont_font_format): New function.
10069
10070 * font.h (struct font): New member format.
10071
10072 * font.c (Qopentype): New variable.
10073 (syms_of_font): Defsym it.
10074 (Fquery_font): Change the format of the last element of the return
10075 value.
10076
100772008-02-01 Kenichi Handa <handa@m17n.org>
10078
10079 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10080 last resort.
10081
100822008-02-01 Kenichi Handa <handa@m17n.org>
10083
10084 * coding.c (detect_coding_charset): Fix detection of multi-byte
10085 charset.
10086
100872008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10088
10089 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10090
100912008-02-01 Kenichi Handa <handa@m17n.org>
10092
10093 * xdisp.c (get_next_display_element): Set it->face_id for the
10094 first component of a composition.
10095 (x_produce_glyphs): Check if the font is changed or not for composition.
10096
100972008-02-01 Kenichi Handa <handa@m17n.org>
10098
10099 * fontset.c (Qlatin): New variable.
10100 (syms_of_fontset): Define it as a lisp symbol.
10101 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * font.c (font_unparse_fcname): Pay attention to the case that
10106 some of font property is a null string.
10107
101082008-02-01 Kenichi Handa <handa@m17n.org>
10109
10110 * term.c: Include "composite.h".
10111 (encode_terminal_code): Output all components of composition.
10112 Check the size of encode_terminal_src.
10113 (produce_glyphs): For composition, call produce_composite_glyph.
10114 (append_composite_glyph, produce_composite_glyph): New functions.
10115
10116 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10117 is not found, get font_info from the current ascii face.
10118
101192008-02-01 Kenichi Handa <handa@m17n.org>
10120
10121 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10122 buffer-file-name to Qnil before calling insert_from_buffer.
10123
10124 * font.c (font_unparse_fcname): Pay attention to the case that
10125 foundry is a null string.
10126
101272008-02-01 Kenichi Handa <handa@m17n.org>
10128
10129 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10130
10131 * font.c (Qunicode_sip): New variable.
10132 (syms_of_font): Declare it as a Lisp symbol.
10133
10134 * font.h (Qunicode_sip): Extern it.
10135
101362008-02-01 Kenichi Handa <handa@m17n.org>
10137
10138 * composite.c (get_composition_id): Pay attention to TAB component.
10139
10140 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10141 TAB. Adjust for the change of s->char2b which always points to
10142 the first element of allocated memory.
10143
10144 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10145
10146 * xdisp.c (handle_composition_prop): Set it->c to the first
10147 non-TAB component.
10148 (fill_composite_glyph_string): Change argument.
10149 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10150 (x_produce_glyphs): Fix handling of left/right padding.
10151
101522008-02-01 Kenichi Handa <handa@m17n.org>
10153
10154 * coding.c (detect_coding_system): Fix for handling off
10155 inhibit_iso_escape_detection. Fix for the case that no coding
10156 system is defined for a specific coding category.
10157
101582008-02-01 Kenichi Handa <handa@m17n.org>
10159
10160 * font.c (font_matching_entity): Delete unused local var.
10161
10162 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10163 opening a font.
10164
10165 * fileio.c (Finsert_file_contents): On recovering a file, assume
10166 Unix-like eol.
10167 (choose_write_coding_system): On auto-saving a file, force
10168 Unix-like eol.
10169
10170 * coding.c (setup_coding_system): Fix setting of
10171 coding->common_flags based on eol_type.
10172 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10173 inherit from it.
10174
101752008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * alloc.c (NSTATICS): Increas to 0x600.
10178
101792008-02-01 Kenichi Handa <handa@m17n.org>
10180
10181 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10182 (ftfont_list): Don't check :name property.
10183 (ftfont_match): New function.
10184 (ftfont_pattern_entity): If the pattern doesn't contain
10185 FC_SPACING, don't assume FC_MONO.
10186
10187 * font.h (struct font_driver): New member `match'.
10188 (font_update_drivers): Adjust prototype.
10189
10190 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10191 property of FONT.
10192 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10193 them unconditionally.
10194 (font_matching_entity): New function.
10195 (font_open_by_name): Try font_matching_entity if exact match is
10196 not found.
10197 (font_update_drivers): Delete the arg FONT. Return a list of
10198 actually used backends. Don't free faces, font caches here.
10199 Don't store data in frame parameters. Don't call x_set_font.
10200 (Ffont_spec): Store :name property as is.
10201 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10202 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10203 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10204 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10205 Call font->driver->otf_gsub instead of font_otf_gsub.
10206
10207 * frame.c (x_set_font_backend): Do more works that were done in
10208 font_update_drivers before.
10209
10210 * xfont.c (xfont_match): New function.
10211 (xfont_driver): Set xfont_driver.match to xfont_match.
10212 (xfont_draw): Set font in GC if necessary.
10213
10214 * ftxfont.c (ftxfont_match): New function.
10215 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10216
10217 * xftfont.c (xftfont_match): New function.
10218 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10219
102202008-02-01 Kenichi Handa <handa@m17n.org>
10221
10222 * font.h (struct font): New member scalable.
10223 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10224 (font_otf_gsub): Adjust prototype.
10225
10226 * font.c (font_otf_capability): Fix handling of the default langsys.
10227 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10228 Check the contents of SPEC.
10229 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10230 (check_gstring): New function.
10231 (REPLACEMENT_CHARACTER): New macro.
10232 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10233 glyph codes of GSTRING.
10234 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10235 (font_prepare_composition): Set cmp->glyph_len.
10236 (font_open_entity): Set font->scalable.
10237 (Ffont_get): Handle :otf property.
10238 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10239 functions.
10240 (Fquery_font): Use font->font.full_name.
10241 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10242 Sfont_otf_alternates.
10243
10244 * ftfont.c (ftfont_open): Set font->font.full_name and
10245 font->font.name properly. Fix calculation of font->font.height
10246 and font->min_width.
10247
10248 * ftxfont.c (ftxfont_create_gcs): New function.
10249 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10250 (ftxfont_draw_backgrond): Fix filling region.
10251 (ftxfont_default_fid): New function.
10252 (ftxfont_open): Set xfont->fid to the return value of
10253 ftxfont_default_fid.
10254 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10255 (ftxfont_done_face): Free only GCs that are created by
10256 ftxfont_create_gcs.
10257 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10258
10259 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10260 Clip to src->width, etc (not src->clip_XXX).
10261
10262 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10263 FontBackend frame parameter.
10264
102652008-02-01 Kenichi Handa <handa@m17n.org>
10266
10267 * font.h (struct font_driver_list): New member `on'.
10268 (Fclear_font_cache): EXFUN it.
10269 (font_update_drivers): Extern it.
10270
10271 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10272 (font_list_entities): Check driver_list->on.
10273 (register_font_driver): Initalize `on' member to 0.
10274 (font_update_drivers): New function.
10275 (Fclear_font_cache): Check driver_list->on.
10276
10277 * frame.h (Qfont_backend): Extern it.
10278 (x_set_font_backend): Extern it.
10279
10280 * frame.c (Qfont_backend): New variable.
10281 (frame_parms): New element for font-backend.
10282 (x_set_font_backend): New function.
10283
10284 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10285 FontBackend frame parameter.
10286 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10287 x_set_font_backend.
10288
10289 * xfont.c (xfont_list): Don't try listing by :name property if the
10290 name is not for XLFD.
10291
102922008-02-01 Kenichi Handa <handa@m17n.org>
10293
10294 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10295 (LGLYPH_SET_TO): New macros.
10296 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10297 element of G is vector or not.
10298 (font_at): Extern it.
10299
10300 * font.c: Include window.h.
10301 (font_lispy_object): New function.
10302 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10303 end of valid glyph.
10304 (font_close_object): Fix getting (struct font *).
10305 (font_at): New function.
10306 (Ffont_get): If FONT is a font-object, get entity from it.
10307 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10308 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10309 range check.
10310 (Ffont_at): New function.
10311 (syms_of_font): Defsubr Sfont_at.
10312
10313 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10314 before the entry for Qcomposition.
10315 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10316 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10317 the font in gstring.
10318 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10319 LGLYPH_FORM (g) to detect the end of valid glyph.
10320 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10321 we are composing with gstring.
10322
10323 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10324 Check if adjustment is vector or not.
10325
10326 * Makefile.in (font.o): Make it depends on window.h.
10327
103282008-02-01 Kenichi Handa <handa@m17n.org>
10329
10330 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10331 adjustment is vector or not.
10332
103332008-02-01 Miles Bader <miles@gnu.org>
10334
10335 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10336
103372008-02-01 Kenichi Handa <handa@m17n.org>
10338
10339 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10340 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10341 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10342
10343 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10344 (DEVICE_DELTA): Fix typo.
10345 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10346 LGLYPH format.
10347
10348 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10349 the change of LGLYPH format.
10350
103512008-02-01 Kenichi Handa <handa@m17n.org>
10352
10353 * ftfont.c (ftfont_list): Fix typo.
10354 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10355
103562008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10357
10358 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10359
10360 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10361 xftface_info is non-NULL.
10362
103632008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10364
10365 * ftfont.c (ftfont_list): Move misplaced #endif.
10366
103672008-02-01 Kenichi Handa <handa@m17n.org>
10368
10369 * ftfont.c (ftfont_list): Pay attention to the case that
10370 FC_CAPABILITY is not defined.
10371
103722008-02-01 Kenichi Handa <handa@m17n.org>
10373
10374 * xftfont.c (xftfont_open): Set charset related members to -1.
10375
10376 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10377 QCname.
10378 (ftfont_open): Set charset related members to -1.
10379
10380 * fontset.c (Votf_script_alist): New variable.
10381 (syms_of_fontset): Initialize it.
10382 (fontset_font): Delete unused variable.
10383
10384 * fontset.h (Votf_script_alist): Extern it.
10385
10386 * font.c (font_find_for_lface): Optimize code.
10387
10388 * font.h (font_close_object, font_merge_old_spec): Extern them.
10389
103902008-02-01 Kenichi Handa <handa@m17n.org>
10391
10392 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10393 (syms_of_font): Initialize them.
10394 (font_pixel_size): Allow float value in dpi.
10395 (font_prop_validate_type): Delete.
10396 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10397 Change caller.
10398 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10399 (font_prop_validate_extra): Delete.
10400 (font_prop_validate_spacing): New function.
10401 (font_property_table): Add elements for all known properties.
10402 (get_font_prop_index): Rename from check_font_prop_name. New
10403 argument FROM. Change caller.
10404 (font_prop_validate): Validate all known properties.
10405 (font_put_extra): Delete argument force. Change caller.
10406 (font_expand_wildcards): Make it static. Fix the way of shrinking
10407 the possible range.
10408 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10409 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10410 Change caller.
10411 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10412 (font_parse_fcname): Delete argument merge. Fix parsing of point
10413 size. Don't validate properties values here. Change caller.
10414 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10415 (font_open_by_name): Delete unused variable.
10416 (Ffont_spec): Likewise. Validate property values.
10417 (Ffont_match_p): New function.
10418
10419 * font.h (QCscalable): Extern it.
10420 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10421
10422 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10423
10424 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10425 (xfont_list_pattern): New function.
10426 (xfont_list): Use xfont_list_pattern.
10427
104282008-02-01 Kenichi Handa <handa@m17n.org>
10429
10430 * font.h (Flist_fonts): EXFUN it.
10431
104322008-02-01 Jason Rumney <jasonr@gnu.org>
10433
10434 * w32term.c (w32_initialize): Add back smoothing_type and
10435 smoothing_enabled definitions.
10436
104372008-02-01 Kenichi Handa <handa@m17n.org>
10438
10439 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10440 s->face->font on determining underline position.
10441
104422008-02-01 Kenichi Handa <handa@m17n.org>
10443
10444 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10445 (font_has_char): Accept font-object too.
10446 (font_find_for_lface): Try at first with a size specified in face.
10447
104482008-02-01 Kenichi Handa <handa@m17n.org>
10449
10450 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10451 font_open_by_name.
10452
104532008-02-01 Kenichi Handa <handa@m17n.org>
10454
10455 * font.h (QCspacing, QCdpi): Extern them.
10456 (enum font_spacing): New enum.
10457 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10458
10459 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10460 (QCspacing, QCdpi): New variables.
10461 (syms_of_font): Initialize them.
10462 (font_pixel_size): New function.
10463 (font_put_extra): New function.
10464 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10465 in FONT_EXTRA.
10466 (font_parse_fcname): Handle enumerated values (e.g. bold).
10467 Fix handling font size. Add QCname property that contains only
10468 unknown properties.
10469 (font_score): Change argument. Change caller. Pay attention to
10470 FONT_PIXEL_SIZE_QUANTUM.
10471 (font_sort_entites, font_list_entities, font_find_for_lface)
10472 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10473 (Ffont_spec): Add QCname property that contains only unknown properties.
10474
10475 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10476 include weight in listing pattern, instead check weight of each
10477 listed font. Don't include scalable in pattern. Pay attention to
10478 FONT_PIXEL_SIZE_QUANTUM.
10479
104802008-02-01 Kenichi Handa <handa@m17n.org>
10481
10482 * font.c (font_parse_fcname): Fix parsing of point-size.
10483 (font_unparse_fcname): Produce symbolic names for style properties.
10484 (font_list_entities): Handle float size correctly.
10485 (font_open_by_name): Prefer `normal' property values if the name
10486 doesn't specify them.
10487
10488 * fontset.c (Finternal_char_font): Use font_get_name, not
10489 Ffont_xlfd_name.
10490
10491 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10492 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10493 pattern. Don't force scalable.
10494
10495 * xftfont.c (xftfont_open): For generating a name, start from
10496 96-byte buffer.
10497
104982008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10499
10500 * frame.h (x_new_fontset2): Fix prototype.
10501
105022008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * font.h (struct font_driver): Delete member parse_name.
10505 (font_match_p, font_get_spec, font_parse_fcname)
10506 (font_unparse_fcname): Extern them.
10507 (font_get_name): Adjust prototype.
10508
10509 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10510 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10511 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10512 unnecessary checks for weight, slant, and swidth.
10513 (font_parse_fcname): New function.
10514 (font_unparse_fcname): New function.
10515 (font_parse_name): New function.
10516 (font_match_p): New function.
10517 (font_get_name): Change return value to Lisp string.
10518 (font_get_spec): New function.
10519 (Qunspecified, Qignore_defface): Don't extern them.
10520 (font_find_for_lface): Assume that LFACE is fully specified.
10521 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10522 object, use it for FACE.
10523 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10524 driver->parse_name.
10525 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10526
10527 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10528 prototype.
10529
10530 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10531 argument F. Don't call Fnew_fontset. Instead, directly call
10532 make_fontset.
10533
10534 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10535
10536 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10537 of x_new_fontset2.
10538
10539 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10540 (Qsans__serif): New variables.
10541 (ftfont_generic_family_list): New variable.
10542 (syms_of_ftfont): Initialize the above variables.
10543 (ftfont_pattern_entity): Delete argument NAME.
10544 (ftfont_list_generic_family): New function.
10545 (ftfont_parse_name): Delete this function.
10546 (ftfont_list): Try generic family only when FcFontList found no font.
10547 (ftfont_list_family): Fix args to FcObjectSetBuild.
10548
10549 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10550 object in attrs[LFACE_FONT_INDEX].
10551 (set_lface_from_font_name): Cancel all changes for font-backend.
10552 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10553 function.
10554 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10555 font object in QCfont attribute.
10556 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10557 (realize_default_face) [USE_FONT_BACKEND]: Call
10558 set_lface_from_font_and_fontset.
10559
10560 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10561 "fixed", and signal error here if no suitable font was found.
10562
10563 * xfont.c (xfont_parse_name): Delete this function.
10564
10565 * xftfont.c (xftfont_open): Change coding style of error
10566 handling. Generate fontconfig's fontname pattern.
10567
10568 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10569 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10570
10571 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10572 Both args FONTSET and FONT_OBJECT must be existing ones.
10573
105742008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10575
10576 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10577
105782008-02-01 Kenichi Handa <handa@m17n.org>
10579
10580 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10581
10582 * font.h (struct font): Fix typo.
10583
10584 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10585 XLFD_XXX_INDEX.
10586 (enum xlfd_field_mask): New enum.
10587 (intern_font_field): Changed argument. Change caller. If digits
10588 are followed by non-digits, return a symbol.
10589 (font_expand_wildcards): New function.
10590 (font_parse_xlfd): Fix wildcard handling.
10591 (Ffont_spec): If :name is specified, reflect the info in the other
10592 properties.
10593
10594 * ftfont.c (ftfont_pattern_entity): Fix typo.
10595 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10596 locale.
10597
105982008-02-01 Kenichi Handa <handa@m17n.org>
10599
10600 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10601
10602 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10603 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10604 registry doesn't specify encoding part.
10605 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10606 (font_open_by_name): At first try parsing the name.
10607 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10608 as Lisp symbols.
10609
10610 * fontset.c (reorder_font_vector): Pay attention to the case that
10611 the 3rd element of font_def is nil.
10612 (fontset_font): For the default fontset, append one more fontset
10613 elements for a script-based font specification. Don't add script
10614 attribute on finding a font.
10615 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10616 font name.
10617 (fontset_ascii_font): If a font can't be opened, return nil.
10618
10619 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10620 (ftfont_pattern_entity): New function.
10621 (ftfont_get_cache): Assume that freetype_font_cache is already
10622 initialized.
10623 (ftfont_list): Handle the case that a file is specified in font
10624 name. Use ftfont_pattern_entity to generate entities.
10625 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10626 (syms_of_ftfont): Initialize freetype_font_cache.
10627
10628 * xftfont.c (xftfont_open): Make the font name fontconfig's
10629 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10630 (xftfont_close): Free font->font.name if not NULL.
10631
10632 * xfont.c (xfont_list): If script is specified for a font, return
10633 null_vector.
10634 (xfont_list_family): Declare argument type.
10635
10636 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10637 name, set LFACE_FONT (lface) to nil.
10638
10639 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10640 return Qnil.
10641
106422008-02-01 Kenichi Handa <handa@m17n.org>
10643
10644 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10645 (standard_args): Add "-enable-font-backend".
10646
106472008-02-01 Kenichi Handa <handa@m17n.org>
10648
10649 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10650 (struct xftdraw_list, xftdraw_list): Delete them.
10651 (register_xftdraw, check_xftdraw): Delete them.
10652 (xftfont_prepare_face): Don't call register_xftdraw.
10653 (xftfont_done_face): Don't call check_xftdraw.
10654 (xftfont_draw): Get background color only when with_background is
10655 nonzero.
10656
10657 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10658
106592008-02-01 Kenichi Handa <handa@m17n.org>
10660
10661 These changes are for the new font handling codes.
10662
10663 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10664 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10665 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10666 (FONTSRC, FONTOBJ): New variables.
10667 (obj): Add $(FONTOBJ).
10668 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10669 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10670 @LIBOTF_LIBS@.
10671 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10672 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10673
10674 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10675
10676 * character.h (Vscript_representative_chars): Extern it.
10677
10678 * character.c (Vscript_representative_chars): New variable.
10679 (syms_of_character): Declare it as a Lisp variable.
10680
10681 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10682 enable_font_backend is nonzero, accept the composition method
10683 COMPOSITION_WITH_GLYPH_STRING.
10684
10685 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10686 enumeration COMPOSITION_WITH_GLYPH_STRING.
10687
10688 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10689 members clip_x, clip_y, clip_width, and clip_height.
10690 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10691
10692 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10693 --enable-font-backend. Call syms_of_font.
10694
10695 * fns.c (assoc_no_quit): New function.
10696
10697 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10698 (face_for_font, new_fontset_from_font)
10699 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10700
10701 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10702 (fontset_font, fontset_ascii, face_for_char)
10703 (make_fontset_for_ascii_face, Ffont_info)
10704 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10705 is nonzero, use font-backend mechanism.
10706 (find_font_encoding): Make it non-static.
10707 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10708 New functions.
10709
10710 * frame.h (struct frame): New members resx and resy.
10711 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10712 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10713
10714 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10715 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10716
10717 * lisp.h (assoc_no_quit): Extern it.
10718
10719 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10720 Through out the file, use FONT_INFO_FROM_FACE instead of
10721 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10722 rif->per_char_metric.
10723 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10724 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10725 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10726 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10727 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10728 nonzero, use font-backend mechanism.
10729 (get_per_char_metric): New function.
10730
10731 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10732 (set_lface_from_font_name)
10733 (set_font_frame_param, free_realized_face)
10734 (prepare_face_for_display, clear_face_gcs)
10735 (Finternal_set_font_selection_order, realize_x_face)
10736 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10737 font-backend mechanism.
10738 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10739 (load_face_font) [USE_FONT_BACKEND]: Abort.
10740 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10741 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10742
10743 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10744 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10745 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10746 nonzero, register all available font drivers. Call
10747 x_default_font_parameter for deciding a font.
10748 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10749
10750 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10751 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10752 (x_set_glyph_string_clipping_exactly)
10753 (x_compute_glyph_string_overhangs)
10754 (x_draw_glyph_string_foreground)
10755 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10756 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10757 enable_font_backend is nonzero, use font-backend mechanism.
10758 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10759
107602008-02-01 Kenichi Handa <handa@m17n.org>
10761
10762 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10763 system_eol_type.
10764 (syms_of_coding): Initialize system_eol_type.
10765
10766 * process.c (Fset_process_coding_system): Inherit system's eol
10767 format if necessary.
10768
107692008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10770
10771 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10772
107732008-02-01 Kenichi Handa <handa@m17n.org>
10774
10775 * coding.c (decode_eol): Pay attention to buffer relocation in
10776 del_range_2.
10777 (decode_coding): Call decode_eol before restoring undo_list.
10778
107792008-02-01 Kenichi Handa <handa@m17n.org>
10780
10781 * charset.c (Fdefine_charset_internal): Fix setting of
10782 emacs_mule_bytes.
10783
107842008-02-01 Kenichi Handa <handa@m17n.org>
10785
10786 * keyboard.c (read_char): Check if C is a character or not before
10787 looking up Vkeyboard_translate_table.
10788
107892008-02-01 Kenichi Handa <handa@m17n.org>
10790
10791 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10792 condition to terminate the loop.
10793
107942008-02-01 Kenichi Handa <handa@m17n.org>
10795
10796 * coding.c (produce_composition): Compare charbuf[i] instead of
10797 args[i] against 0.
10798 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10799
108002008-02-01 Kenichi Handa <handa@m17n.org>
10801
10802 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10803 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10804 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10805 detect_coding.
10806 (emacs_mule_char): Handle old style (Emacs 20) component character
10807 of a composition.
10808 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10809 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10810 composition rule.
10811 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10812
108132008-02-01 Kenichi Handa <handa@m17n.org>
10814
10815 * coding.c (encode_coding_ccl): Allocate destination dynamically
10816 when necessary.
10817
108182008-02-01 Kenichi Handa <handa@m17n.org>
10819
10820 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10821 the loop. When quitted, show a proper error message.
10822
108232008-02-01 Kenichi Handa <handa@m17n.org>
10824
10825 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10826 src->clip_head and src->clip_tail temporarily instead of src->hl.
10827
10828 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10829 character sequence.
10830 (Fccl_execute_on_string): Use ASET, not XSET.
10831
108322008-02-01 Kenichi Handa <handa@m17n.org>
10833
10834 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10835
108362008-02-01 Kenichi Handa <handa@m17n.org>
10837
10838 * coding.c (decode_coding): Fix the condition of terminating the
10839 decoding loop.
10840
108412008-02-01 Kenichi Handa <handa@m17n.org>
10842
10843 * data.c (Faset): On setting a character bigger than 255 in a
10844 unibyte string, signal an error instead of make the string multibyte.
10845
108462008-02-01 Kenichi Handa <handa@m17n.org>
10847
10848 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10849 made by a mapping table.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10854 not.
10855 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10856 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10857
10858 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10859 s->face is NULL or not.
10860
108612008-02-01 Kenichi Handa <handa@m17n.org>
10862
10863 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10864 (x_draw_glyph_string): Fix drawing of right_overhang and
10865 left_overhang around/on cursor.
10866
10867 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10868
108692008-02-01 Kenichi Handa <handa@m17n.org>
10870
10871 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10872
108732008-02-01 Kenichi Handa <handa@m17n.org>
10874
10875 * coding.c (Fdefine_coding_system_internal)
10876 (Fdefine_coding_system_alias): Avoid a duplicated element in
10877 Vcoding_system_alist.
10878
108792008-02-01 Kenichi Handa <handa@m17n.org>
10880
10881 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10882
10883 * coding.c (Qcoding_system_define_form): New variable.
10884 (syms_of_coding): Intern and staticpro it.
10885 (Fcoding_system_p): Check Qcoding_system_define_form.
10886 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10887
10888 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10889 Fcoding_system_p.
10890 (CHECK_CODING_SYSTEM): If ID is not available, call
10891 Fcheck_coding_system.
10892 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10893 Try also Fcheck_coding_system.
10894
108952008-02-01 Kenichi Handa <handa@m17n.org>
10896
10897 * coding.c (code_conversion_restore): GCPRO arg.
10898
108992008-02-01 Kenichi Handa <handa@m17n.org>
10900
10901 * character.c (lisp_string_width): Check multibyteness of STRING.
10902
109032008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10904
10905 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10906 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10907 (decode_mac_font_name): Use decode_coding_c_string instead of
10908 decode_coding.
10909 (x_load_font): Initialize fontp->fontset to -1. Set
10910 fontp->encoding_type.
10911
109122008-02-01 Kenichi Handa <handa@m17n.org>
10913
10914 * search.c (search_buffer): Give up BM search on case-fold-search
10915 if one of a target character has a case-equivalence of different
10916 byte length even if that target charcter is an ASCII.
10917 (simple_search): Fix calculation of byte length of matched text.
10918 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10919
109202008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * coding.c (decode_coding): Fix handling of invalid bytes.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
10927 Unicode characters.
10928
109292008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * coding.c (encode_coding_object): If a pre-write-conversion
10932 function makes a new buffer, kill it.
10933
109342008-02-01 Kenichi Handa <handa@m17n.org>
10935
10936 * coding.c (QCascii_compatible_p): New variable.
10937 (syms_of_coding): Initialize it.
10938 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
10939 calling string_char.
10940 (record_conversion_result): Add `default:' case.
10941 (coding_charset_list): Delete unused variable `coding_type'.
10942 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
10943 property in the plist of the coding system.
10944 (Fcoding_system_put): Check QCascii_compatible_p.
10945
109462008-02-01 Miles Bader <miles@gnu.org>
10947
10948 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
10949 removed calculation of frame `f', as it's now used.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
10954 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
10955 (UNIDATA): New variable.
10956 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
10957 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
10958 $(RUN_TEMACS) unconditionally.
10959
109602008-02-01 Kenichi Handa <handa@m17n.org>
10961
10962 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
10963 (admindir): New variable.
10964 ($(lispsource)international/charprop.el): New target.
10965
109662008-02-01 Miles Bader <miles@gnu.org>
10967
10968 * character.c (chars-in-region): Remove obsolete function.
10969 (syms_of_character): Remove its initialization.
10970
109712008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
10972
10973 * w32select.c (validate_coding_system)
10974 (setup_windows_coding_system): New functions.
10975 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
10976 setup_windows_coding_system.
10977 (setup_config, Fw32_get_clipboard_data): Use
10978 validate_coding_system.
10979 (Fx_selection_exists): Move call to setup_config to a place
10980 where signals are allowed.
10981
10982 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
10983 (Fcheck_coding_system): Add declarations.
10984
109852008-02-01 Kenichi Handa <handa@m17n.org>
10986
10987 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
10988
109892008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10990
10991 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
10992 string as the second argument for x_new_fontset.
10993
109942008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
10997 (encode_coding_object): Use safe_call instead of call2.
10998
109992008-02-01 Kenichi Handa <handa@m17n.org>
11000
11001 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11002
11003 * Makefile.in (lisp): Include charprop.el.
11004
110052008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11006
11007 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11008 Not sure if it's unnecessary.
11009
110102008-02-01 Steven Tamm <steventamm@mac.com>
11011
11012 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11013 some possibly unnecessary fontset checking code that crashed
11014 when creating a new frame.
11015
110162008-02-01 Kenichi Handa <handa@m17n.org>
11017
11018 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11019 lookup_face.
11020
11021 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11022
11023 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11024
110252008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11028 (coding_charset_list): New function.
11029
11030 * coding.h (coding_charset_list): Extern it.
11031
110322008-02-01 Kenichi Handa <handa@m17n.org>
11033
11034 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11035 concatenation of family and registry.
11036
110372008-02-01 Kenichi Handa <handa@m17n.org>
11038
11039 * character.h (BYTE8_STRING): Fix typo.
11040
11041 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11042 string to multibyte (sync to HEAD).
11043
11044 * casefiddle.c (casify_region): Handle changes in byte-length
11045 using replace_range_2 (sync to HEAD).
11046
110472008-02-01 Andreas Schwab <schwab@suse.de>
11048
11049 * chartab.c (map_char_table): GCPRO table and arg.
11050
110512008-02-01 Kenichi Handa <handa@m17n.org>
11052
11053 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11054 already at limit.
11055
110562008-02-01 Kenichi Handa <handa@m17n.org>
11057
11058 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11059 instead of fast_c_string_match_ignore_case.
11060 (find_font_encoding): Change argument to Lisp_Object. Use
11061 fast_string_match_ignore_case instead of
11062 fast_c_string_match_ignore_case. Change caller.
11063
110642008-02-01 Kenichi Handa <handa@m17n.org>
11065
11066 * xdisp.c (get_next_display_element): In unibyte case, decide to
11067 display in octal form by checking a character by
11068 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11069
11070 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11071
11072 * character.c (unibyte_has_multibyte_table): New variable.
11073
11074 * character.h (unibyte_has_multibyte_table): Extern it.
11075 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11076
110772008-02-01 Kenichi Handa <handa@m17n.org>
11078
11079 * coding.c (encode_coding_iso_2022): Fix handling of charset
11080 annotation.
11081
110822008-02-01 Kenichi Handa <handa@m17n.org>
11083
11084 * coding.c (setup_coding_system): If coding_system is nil, use
11085 Qundecided.
11086 (Fterminal_coding_system): Return nil if terminal coding system is
11087 `undecided'.
11088 (syms_of_coding): Define coding-system `undecided' here. Setup
11089 terminal_coding as `undecided'.
11090
110912008-02-01 Kenichi Handa <handa@m17n.org>
11092
11093 * xdisp.c (message_dolog, set_message_1): Call
11094 unibyte_char_to_multibyte with arg type int.
11095
11096 * lread.c (read1): Fix reading of a char-table.
11097
11098 * print.c (print_object): Include sub char-table in circularities
11099 detection.
11100
111012008-02-01 Kenichi Handa <handa@m17n.org>
11102
11103 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11104 Append the found sequences in car of ARGS instead of prepending.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * fileio.c (report_file_error): Make a unibyte string from
11109 strerror (errorno).
11110 (Fsubstitute_in_file_name): Fix the arg to
11111 unibyte_char_to_multibyte. It is evaluated twice.
11112
111132008-02-01 Kenichi Handa <handa@m17n.org>
11114
11115 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11116
111172008-02-01 Kenichi Handa <handa@m17n.org>
11118
11119 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11120 BOM is not found.
11121 (detect_coding, detect_coding_system): Optimization for ISO-2022
11122 when no 8-bit data is found.
11123
111242008-02-01 Jason Rumney <jasonr@gnu.org>
11125
11126 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11127
111282008-02-01 Kenichi Handa <handa@m17n.org>
11129
11130 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11131 CHARS.
11132
111332008-02-01 Steven Tamm <steventamm@mac.com>
11134
11135 * macterm.c (mac_encode_char): Add charset argument and update
11136 to use encoding_type.
11137 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11138 switch to pure fontset.
11139 (decode_mac_font_name): Temporarily remove decoding.
11140 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11141 (x_load_font): Temporarily remove encoding.
11142
111432008-02-01 Kenichi Handa <handa@m17n.org>
11144
11145 * xfaces.c (Fface_font): If frame is not on a window system,
11146 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11147 refer to face->font.
11148 (split_font_name_into_vector, build_font_name_from_vector)
11149 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11150 when HAVE_WINDOW_SYSTEM is defined.
11151
111522008-02-01 Kenichi Handa <handa@m17n.org>
11153
11154 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11155 (x_produce_glyphs): Fix setting of members of cmp in case
11156 cmp->glyph_len is zero.
11157
11158 * fontset.c (Fset_fontset_font): Fix docstring.
11159 (Ffontset_info): Make it backward compatible. New arg ALL.
11160
111612008-02-01 Kim F. Storm <storm@cua.dk>
11162
11163 * process.c (read_process_output): Grow decoding_buf when needed;
11164 this could cause a crash in allocate_string and compact_small_strings.
11165
111662008-02-01 Kenichi Handa <handa@m17n.org>
11167
11168 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11169
111702008-02-01 Kenichi Handa <handa@m17n.org>
11171
11172 * coding.c (setup_coding_system): Set coding->common_flags
11173 correctly for raw-text.
11174 (consume_chars): On encoding unibyte text by raw-text, don't check
11175 multibyte form.
11176 (encode_coding): On encoding by raw-text, never use translation tables.
11177
11178 * fileio.c (e_write): Short cut for the case of no encoding.
11179
111802008-02-01 Kenichi Handa <handa@m17n.org>
11181
11182 * coding.c (detect_coding, detect_coding_system): Delete unused
11183 variables.
11184
111852008-02-01 Kenichi Handa <handa@m17n.org>
11186
11187 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11188 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11189
111902008-02-01 Kenichi Handa <handa@m17n.org>
11191
11192 * coding.c (Ffind_coding_systems_region_internal): Include
11193 raw-text and no-conversion in the result.
11194
111952008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11198 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11199 FONT_DEF.
11200 (font_def_arg, add_arg, from_arg, to_arg): New args.
11201 (set_fontset_font): Change argument.
11202 (Fset_fontset_font): Fix for the case that TARGET is a script
11203 name and charset name.
11204 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11205
112062008-02-01 Kenichi Handa <handa@m17n.org>
11207
11208 * fontset.c (fontset_font): Rename from fontset_face. Change return
11209 value.
11210 (face_suitable_for_char_p, face_for_char): Adjust for the change
11211 of fontset_font.
11212 (make_fontset_for_ascii_face): Fix setting of the fontset element
11213 for ASCII.
11214 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11215 to get a font name.
11216 (Ffontset_info): Adjust for the change of fontset_font.
11217
11218 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11219
11220 * character.h (LEADING_CODE_LATIN_1_MIN)
11221 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11222
112232008-02-01 Kenichi Handa <handa@m17n.org>
11224
11225 * editfns.c (check_translation): New function.
11226 (Ftranslate_region_internal): Handle M:N mapping.
11227
112282008-02-01 Kenichi Handa <handa@m17n.org>
11229
11230 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11231
112322008-02-01 Kenichi Handa <handa@m17n.org>
11233
11234 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11235 goto invalid_code.
11236 (decode_coding_iso_2022): Fix handling of invalid designation.
11237
11238 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11239 after calling code_conversion_save.
11240
112412008-02-01 Kenichi Handa <handa@m17n.org>
11242
11243 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11244
11245 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11246
11247 * fontset.c: Include "intervals.h".
11248 (fontset_face): Fix comparing of Lisp_Objects.
11249 (free_face_fontset, new_fontset_from_font_name): Fix
11250 Lisp_Object/int mixup.
11251
11252 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11253
11254 * coding.c: Add many prototypes for static functions.
11255 (get_translation_table): Allow max_lookup to be NULL.
11256 (decode_coding, Ffind_coding_systems_region_internal)
11257 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11258 get_translation_table with max_lookup NULL.
11259
112602008-02-01 Kenichi Handa <handa@m17n.org>
11261
11262 * coding.c (get_translation_table): Declare it as Lisp_Object.
11263 (LOOKUP_TRANSLATION_TABLE): New macro.
11264 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11265 instead of CHAR_TABLE_REF.
11266
112672008-02-01 Kenichi Handa <handa@m17n.org>
11268
11269 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11270 annotation data format.
11271 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11272 Change arguments FROM and TO to single argument NCHARS. Change caller.
11273 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11274 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11275 (decode_coding_ccl, decode_coding_charset): Pay attention to
11276 coding->charbuf_used.
11277 (get_translation): New function.
11278 (produce_chars): New arguments translation_table and last_block.
11279 Translate characters here. Return number of carryover chars.
11280 Change caller.
11281 (produce_composition): New argument pos. Change caller.
11282 Adjust for the change of annotation data format.
11283 (produce_charset, produce_annotation): Likewise.
11284 (decode_coding, encode_coding): Don't call translate_chars.
11285 (consume_chars): New arg translation_table. Change caller.
11286 (translate_chars): Delete.
11287 (syms_of_coding): Make translation-table's number of extra slots 2.
11288
112892008-02-01 Kenichi Handa <handa@m17n.org>
11290
11291 * search.c (simple_search): Fix setting this_pos_byte in backward
11292 search.
11293
11294 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11295 byte sequence.
11296 (detect_coding_ccl): Fix setting of the variable valids.
11297
112982008-02-01 Kenichi Handa <handa@m17n.org>
11299
11300 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11301
11302 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11303
11304 * editfns.c (Ftranslate_region_internal): Rename from
11305 Ftranslate_region. Accept a char-table in TABLE.
11306 (syms_of_editfns): Defsubr Stranslate_region_internal.
11307
11308 * xfaces.c (set_lface_from_font_name): If a font is specified for
11309 a frame, generate a fontset from the font.
11310 (build_scalable_font_name): If the scalable font is requested for
11311 a specific size, don't change that size.
11312 (try_font_list): Try a scalable font also in the case that a
11313 pattern string is specified.
11314
113152008-02-01 Kenichi Handa <handa@m17n.org>
11316
11317 * xfaces.c (Fface_font): New optional arg CHARACTER.
11318
113192008-02-01 Kenichi Handa <handa@m17n.org>
11320
11321 * charset.h (CHARSET_OFFSET): New macro.
11322
113232008-02-01 Kenichi Handa <handa@m17n.org>
11324
11325 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11326
11327 * fontset.c (fontset_face): Handle the case that repertory is a
11328 char-table.
11329 (find_font_encoding): Return nil for unknown encoding.
11330 (Fset_fontset_font): Ignore a font of unknown encoding.
11331
113322008-02-01 Kenichi Handa <handa@m17n.org>
11333
11334 * keymap.c (describe_vector): Handle default value of a char table.
11335
11336 * fontset.c (fontset_face): Handle fallback fonts correctly.
11337 (Ffontset_info): Return infomation about fallback fonts.
11338
113392008-02-01 Kenichi Handa <handa@m17n.org>
11340
11341 * fontset.c (FONTSET_DEFAULT): New macro.
11342 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11343 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11344 the case that it is nil.
11345 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11346 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11347
11348 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11349 subset or superset.
11350
113512008-02-01 Kenichi Handa <handa@m17n.org>
11352
11353 * emacs.c (main): Call init_charset after syms_of_XXX.
11354
11355 * charset.c (Vcharset_map_directory): Delete.
11356 (Vcharset_map_path): New variable.
11357 (load_charset_map_from_file): Use Vcharset_map_path instead.
11358 (init_charset): Initialize Vcharset_map_path.
11359 (syms_of_charset): Delete declaration of "charset-map-directory",
11360 add declaration of "charset-map-path".
11361
113622008-02-01 Kenichi Handa <handa@m17n.org>
11363
11364 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11365 ASCII only string.
11366
11367 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11368
11369 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11370 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11371
113722008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11375
11376 * coding.c (QCmnemonic, QCdefalut_char)
11377 (QCdecode_translation_table, QCencode_translation_table)
11378 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11379 (get_translation_table): Return a list of translation tables if
11380 necessary.
11381 (decode_coding): Call get_translation_table with ENCODEP 0.
11382 (char_encodable_p): If translation_table is non-nil, always call
11383 translate_char.
11384 (Fdefine_coding_system_internal): Accept list of translation
11385 tables as :encode-translation-table and :decode-translation-table.
11386 (Fcoding_system_put): New function.
11387 (syms_of_coding): Declare new symbols. Defsubr
11388 Scoding_system_put.
11389 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11390 typically JISX0212.
11391
11392 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11393 when the charset is superset type.
11394
11395 * character.c (translate_char): Accept list of translation tables.
11396
113972008-02-01 Kenichi Handa <handa@m17n.org>
11398
11399 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11400 (CODING_ATTR_TRANS_TBL): New macro.
11401
11402 * coding.c (get_translation_table): New function.
11403 (translate_chars): Fix the bug of skipping annotation data.
11404 (decode_coding, encode_coding): Utilize get_translation_table.
11405 (char_encodable_p, Funencodable_char_position): Translate char if
11406 necessary.
11407 (Ffind_coding_systems_region_internal)
11408 (Fcheck_coding_systems_region): Setup translation table for encode
11409 in a coding system attribute vector in advance.
11410 (Fdefine_coding_system_internal): Allow a symbol as translation
11411 table. For shift-jis type coding system, allow 4th charset.
11412
114132008-02-01 Kenichi Handa <handa@m17n.org>
11414
11415 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11416
11417 * xdisp.c (get_next_display_element): Pass -1 as POS to
11418 FACE_FOR_CHAR if displaying a C-string.
11419
114202008-02-01 Kenichi Handa <handa@m17n.org>
11421
11422 * composite.c (get_composition_id): Handle xoff and yoff in a
11423 composition rule.
11424
11425 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11426 (struct composition): New member lbearing and rbearing.
11427
11428 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11429 (x_get_glyph_overhangs): Handle a composition glyph.
11430 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11431
11432 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11433 composition glyph.
11434
114352008-02-01 Kenichi Handa <handa@m17n.org>
11436
11437 * print.c: Include charset.h.
11438 (Vprint_charset_text_property): New variable.
11439 (Qdefault): Extern it.
11440 (PRINT_STRING_NON_CHARSET_FOUND)
11441 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11442 (print_check_string_result): New variable.
11443 (print_check_string_charset_prop): New function.
11444 (print_prune_charset_plist): New variable.
11445 (print_prune_string_charset): New function.
11446 (print_object): Call print_prune_string_charset if
11447 Vprint_charset_text_property is not t.
11448 (print_interval): Print nothing if interval->plist is nil.
11449 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11450 variable. Init and staticpro print_prune_charset_plist.
11451
114522008-02-01 Kenichi Handa <handa@m17n.org>
11453
11454 * fontset.c (new_fontset_from_font_name): Use the specified font
11455 for all characters in the new fontset.
11456
11457 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11458 OBJECT args.
11459
11460 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11461 OBJECT args for composition too.
11462
11463 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11464 OBJECT args.
11465
114662008-02-01 Kenichi Handa <handa@m17n.org>
11467
11468 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11469
11470 * fontset.c (reorder_font_vector): Adjust for the change of
11471 FONT_DEF format.
11472 (fontset_face): New arg id. Change caller.
11473 (face_for_char): New args pos and object.
11474 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11475 (fs_query_fontset): Check NAME by Fassoc too.
11476 (Fset_fontset_font): Allow non-XLFD font name.
11477 (Ffontset_info): Adjust for the change of FONT_DEF format.
11478
11479 * fontset.h (face_for_char): Adjust prototype.
11480
11481 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11482 (append_space, extend_face_to_end_of_line)
11483 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11484 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11485
11486 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11487 POS and OBJECT args.
11488
11489 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11490 POS and OBJECT args.
11491
114922008-02-01 Jason Rumney <jasonr@gnu.org>
11493
11494 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11495 of GlobalAlloc'ed memory.
11496
114972008-02-01 Kenichi Handa <handa@m17n.org>
11498
11499 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11500
11501 * charset.h (charset_table_used): Delete extern.
11502
11503 * charset.c (charset_table_used): Make it static.
11504 (map_charset_chars): Fix args to c_function with.
11505
11506 * chartab.c (map_sub_char_table_for_charset): Fix args to
11507 c_function with.
11508
11509 * coding.h (enum coding_result_code): Delete
11510 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11511
11512 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11513 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11514 (Vlast_code_conversion_error): New variables.
11515 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11516 (ONE_MORE_BYTE): Record error if any instead of signaling an
11517 error. If non-ASCII multibyte char is found, return the negative
11518 value of the code. All callers changed to check it.
11519 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11520 (record_conversion_result): New function. Change all codes setting
11521 coding->result to call this function.
11522 (detect_coding_utf_8, decode_coding_utf_8)
11523 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11524 Don't use the local variable incomplete.
11525 (emacs_mule_char): Change the second arg to `const'.
11526 (decode_coding): Fix of flushing out unprocessed data.
11527 (make_conversion_work_buffer): Fix making of a work buffer.
11528 (decode_coding_object): Return coding->dst_object.
11529
11530 * fontset.c (set_fontset_font): Fix args.
11531
11532 * lisp.h (CHARACTERBITS): Define as 22.
11533
11534 * process.c (send_process): Be sure to set coding->src_multibyte.
11535
11536 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11537
115382008-02-01 Kenichi Handa <handa@m17n.org>
11539
11540 * xdisp.c (handle_auto_composed_prop): Give limit to
11541 Fnext_single_char_property_change.
11542
115432008-02-01 Kenichi Handa <handa@m17n.org>
11544
11545 * composite.c (syms_of_composite): Don't make the composition hash
11546 table weak.
11547
11548 * fontset.c (Fset_fontset_font): Fix docstring.
11549
11550 * lisp.h (detect_coding_system): Adjust prototype.
11551
11552 * fileio.c (kill_workbuf_unwind): Delete this function.
11553 (Finsert_file_contents): Adjust the call of detect_coding_system.
11554 Get conversion_buffer by code_conversion_save. Use the macro
11555 CODING_MAY_REQUIRE_DECODING. After decoding, update
11556 coding_system.
11557
11558 * coding.h (make_conversion_work_buffer): Delete extern.
11559 (code_conversion_save): Extern it.
11560
11561 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11562 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11563 (decode_coding_utf_8): Don't do eol converion.
11564 (detect_coding_utf_16): Check coding->src_chars, not
11565 coding->src_bytes. Add heuristics for those that have no signature.
11566 (decode_coding_emacs_mule, decode_coding_iso_2022)
11567 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11568 Don't do eol converion.
11569 (adjust_coding_eol_type): Return a new coding system.
11570 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11571 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11572 each change.
11573 (decode_coding): Pay attention to undo_list. Do eol conversion for
11574 all types of coding-systems (if necessary).
11575 (Vcode_conversion_work_buf_list): Delete it.
11576 (Vcode_conversion_reused_workbuf): Rename from
11577 Vcode_conversion_reused_work_buf.
11578 (Vcode_conversion_workbuf_name): New variable.
11579 (reused_workbuf_in_use): New variable.
11580 (make_conversion_work_buffer): Delete the arg DEPTH.
11581 (code_conversion_restore): Change argument to cons.
11582 (code_conversion_save): Delete the argument BUFFER. Change callers.
11583 (detect_coding_system): New argument src_chars. Change callers.
11584 Fix for utf-16 detection.
11585 (init_coding_once): Don't use ISO_carriage_return.
11586 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11587 reused_workbuf_in_use.
11588
115892008-02-01 Kenichi Handa <handa@m17n.org>
11590
11591 * keymap.c (store_in_keymap): Pay attention to the case that idx
11592 is a cons specifying a character range.
11593
115942008-02-01 Kenichi Handa <handa@m17n.org>
11595
11596 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11597 HANDLED_RECOMPUTE_PROPS.
11598
11599 * coding.c (Fdefine_coding_system_internal): Fix checking of
11600 ascii compatibility.
11601
116022008-02-01 Kenichi Handa <handa@m17n.org>
11603
11604 * charset.c (find_charsets_in_text): Delete unused locale variable.
11605 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11606
11607 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11608 Resync charset_list to Vemacs_mule_charset_list.
11609
11610 * keymap.c (store_in_keymap): Pay attention to the case that idx
11611 is a cons specifying a character range.
11612
116132008-02-01 Kenichi Handa <handa@m17n.org>
11614
11615 * composite.c (update_compositions): Bind inhibit-read-only, etc
11616 to t before calling remove-list-of-text-properties.
11617
11618 * print.c (print_object): Always print ASCII chars as is.
11619
116202008-02-01 Kenichi Handa <handa@m17n.org>
11621
11622 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11623
11624 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11625 is a char table.
11626
116272008-02-01 Kenichi Handa <handa@m17n.org>
11628
11629 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11630
116312008-02-01 Kenichi Handa <handa@m17n.org>
11632
11633 * xfaces.c (set_lface_from_font_name): Fix for the case that
11634 FONTNAME is not fontset name.
11635
116362008-02-01 Kenichi Handa <handa@m17n.org>
11637
11638 * fns.c (base64_encode_1): Fix previous change.
11639
116402008-02-01 Kenichi Handa <handa@m17n.org>
11641
11642 * fontset.c (set_fontset_font): New function.
11643 (Fset_fontset_font): If a font is specified for a charset, use
11644 map_charset_chars to store the font spec in a fontset.
11645
116462008-02-01 Kenichi Handa <handa@m17n.org>
11647
11648 * fontset.c (fontset_face): Create a fallback fontset on demand.
11649 (make_fontset): Don't create a fallback fontset here.
11650 (free_face_fontset): Free a fallback fontset (if any) too.
11651 (n_auto_fontsets): Delete this variable.
11652 (auto_fontset_alist): New variable.
11653 (new_fontset_from_font_name): Check auto_fontset_alist.
11654 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11655 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11656 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11657 Defsubr Sfontset_list_all.
11658
116592008-02-01 Kenichi Handa <handa@m17n.org>
11660
11661 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11662
116632008-02-01 Kenichi Handa <handa@m17n.org>
11664
11665 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11666
116672008-02-01 Kenichi Handa <handa@m17n.org>
11668
11669 * editfns.c (Fgoto_char): Fix docstring.
11670
116712008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * insdel.c (insert_from_gap): Adjust intervals correctly.
11674
116752008-02-01 Jason Rumney <jasonr@gnu.org>
11676
11677 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11678 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11679 (w32_initialize): Try to load it.
11680 (x_get_font_repertory): Use it if available.
11681 (w32_encode_char): Add shortcut for unicode output.
11682
11683 * w32fns.c (w32_load_system_font): Default charset to -1.
11684 (x_to_w32_charset): Match all fonts for unicode.
11685 (w32_to_x_charset): New parameter matching. Don't return partial
11686 or wildcard charsets.
11687 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11688 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11689 (w32_to_x_font): Match charset to real charset.
11690 (enum_font_cb2): Always list unicode versions.
11691
11692 * makefile.w32-in (temacs): Increase EMHEAP.
11693
116942008-02-01 Jason Rumney <jasonr@gnu.org>
11695
11696 * w32term.c (w32_encode_char): New charset parameter.
11697 font_info.encoding becomes encoding_type.
11698 (x_get_font_repertory): New function. Warning: stub only!
11699 (x_new_font): Return quickly if font already set.
11700 (x_new_fontset): fontsetname parameter is Lisp_Object.
11701 Use new fs_query_fontset. Try new_fontset_from_font_name.
11702 Use fontset_name for return value.
11703
11704 * w32term.h: Declare x_get_font_repertory.
11705
11706 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11707 place of find_charset_in_text. Use encode_coding_object in place
11708 of encode_coding.
11709 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11710 decode_coding.
11711
11712 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11713 of x_new_fontset.
11714 (w32_load_system_font): Initialize charset as unicode.
11715 font_info.encoding becomes encoding_type.
11716 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11717 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11718 (syms_of_w32fns): Set get_font_repertory_func.
11719
11720 * w32console.c: Include character.h. Use terminal_encode_buffer
11721 from term.c.
11722 (write_glyphs): Use new version of encode_terminal_code. Use
11723 encode_coding_object in place of encode_coding.
11724
11725 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11726 encoding becomes encoding_type.
11727
11728 * term.c (terminal_encode_buffer): Make externally visible.
11729
11730 * makefile.w32-in: Add character.h dependancies.
11731 (character.o, chartab.o): New targets.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11736 CODING_ID_EOL_TYPE.
11737
117382008-02-01 Andreas Schwab <schwab@suse.de>
11739
11740 * coding.c (produce_chars): Revert last change.
11741
117422008-02-01 Kenichi Handa <handa@m17n.org>
11743
11744 * charset.h (charset_unicode): Extern it.
11745
11746 * charset.c (string_xstring_p): Check by (C >= 0x100).
11747 (find_charsets_in_text): Change format of the arc CHARSETS. New
11748 arg MULTIBYTE.
11749 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11750 change of find_charsets_in_text.
11751 (Fsplit_char): Fix doc. Never return unknown.
11752
11753 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11754
11755 * coding.c (Fdefine_coding_system_alias): Update
11756 Vcoding_system_list.
11757
11758 * fontset.c (load_font_get_repertory): Pay attention to the case
11759 that ENCODING of a font is specified by a char-table.
11760
11761 * xterm.c (x_get_font_repertory): Handle the case that the
11762 encoding of font is other than Unicode.
11763
117642008-02-01 Kenichi Handa <handa@m17n.org>
11765
11766 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11767 if a character is encodable by the terminal coding system. If
11768 not, produces proper number of `?'s. Update
11769 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11770 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11771
117722008-02-01 Kenichi Handa <handa@m17n.org>
11773
11774 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11775 variables.
11776 (encode_terminal_code): Change argument. Encode multiple
11777 characters at once. Store the result of encoding in
11778 terminal_encode_buffer.
11779 (write_glyphs, insert_glyphs): Adjust for the change of
11780 encode_terminal_code.
11781 (term_init): Initialize terminal_encode_buffer and
11782 terminal_encode_buf_size.
11783
11784 * coding.c (consume_chars): If coding->src_object is nil, don't
11785 check annotation.
11786
117872008-02-01 Kenichi Handa <handa@m17n.org>
11788
11789 * character.c (char_string): Use ASCII_CHAR_P instead of
11790 SINGLE_BYTE_CHAR_P.
11791
117922008-02-01 Kenichi Handa <handa@m17n.org>
11793
11794 * xdisp.c (handle_auto_composed_prop): Check if the last
11795 characters of auto-composed region is newly composed with the
11796 following characters.
11797 (handle_composition_prop): Fix checking of point being inside
11798 composition.
11799
118002008-02-01 Kenichi Handa <handa@m17n.org>
11801
11802 * fns.c (concat): Don't change multibyteness of the result by
11803 concatenating an 8-bit character.
11804
11805 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11806 multibyteness of the result when newelt is an 8-bit character.
11807
118082008-02-01 Dave Love <fx@gnu.org>
11809
11810 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11811 EMACS_INT.
11812
11813 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11814
11815 * xfaces.c (face_numeric_value): Declare dim size_t.
11816 (Finternal_lisp_face_equal_p): Remove unused f.
11817
11818 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11819 (MATRIX_ROW): Remove unused vars.
11820 (draw_glyphs, x_insert_glyphs, fast_find_position)
11821 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11822 byte/char counts.
11823
11824 * regex.c (regex_compile): Remove unused var.
11825
11826 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11827
11828 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11829 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11830
11831 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11832
11833 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11834
11835 * fileio.c (Fwrite_region): Remove unused var.
11836
11837 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11838 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11839
11840 * composite.c (Fremove_list_of_text_properties): Declare.
11841
11842 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11843 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11844 (coding_inherit_eol_type): Remove unused attrs.
11845 (detect_coding): Cast arg of detect_eol.
11846
11847 * charset.c (syms_of_charset): Remove unused var p.
11848 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11849 byte/char counts.
11850
11851 * casetab.c (set_case_table): Remove unused var.
11852
11853 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11854 unused vars.
11855
118562008-02-01 Dave Love <fx@gnu.org>
11857
11858 * xterm.c (x_bitmap_mask): Declare.
11859
118602008-02-01 Dave Love <fx@gnu.org>
11861
11862 * xterm.c (x_term_init): Fix type error.
11863
11864 * lisp.h: Add Funibyte_char_to_multibyte.
11865
11866 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11867 (Fset_coding_system_priority): Doc fix.
11868
11869 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11870
11871 * indent.c (check_composition): Make start and end EMACS_INT.
11872
11873 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11874
11875 * xdisp.c (handle_composition_prop, check_point_in_composition):
11876 Make buffer positions EMACS_INT.
11877
11878 * composite.c (find_composition, run_composition_function)
11879 (update_compositions, Ffind_composition_internal): Make buffer
11880 positions EMACS_INT.
11881
11882 * composite.h (find_composition, update_compositions): Make
11883 position args EMACS_INT.
11884
11885 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11886
11887 * intervals.c (get_property_and_range):
11888 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11889
11890 * unexalpha.c: Don't include varargs.h.
11891
118922008-02-01 Dave Love <fx@gnu.org>
11893
11894 * coding.h (ENCODE_UTF_8): New.
11895
11896 * Makefile.in (gtkutil.o): Depend on coding.h.
11897
11898 * coding.c (Fset_coding_system_priority): Doc fix.
11899
119002008-02-01 Kenichi Handa <handa@m17n.org>
11901
11902 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11903 the case of auto saving.
11904
119052008-02-01 Andreas Schwab <schwab@suse.de>
11906
11907 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11908 `range' from GC.
11909
119102008-02-01 Kenichi Handa <handa@m17n.org>
11911
11912 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11913
119142008-02-01 Kenichi Handa <handa@m17n.org>
11915
11916 * fileio.c (choose_write_coding_system): Return a decided coding system.
11917 (Fwrite_region): Set Vlast_coding_system_used to the return value
11918 of choose_write_coding_system.
11919
119202008-02-01 Kenichi Handa <handa@m17n.org>
11921
11922 * charset.c (Fset_charset_priority): Pay attention to duplicated
11923 arguments.
11924
11925 * coding.c (QCcategory): New variable.
11926 (syms_of_coding): Defsym it. Set all elements of
11927 Vcoding_category_table and their symbol values.
11928 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
11929 coding-category-XXX, and coding-category-list.
11930 (Fdefine_coding_system_internal): Add category in the plist.
11931
119322008-02-01 Kenichi Handa <handa@m17n.org>
11933
11934 * callproc.c (Fcall_process): Handle carryover correctly.
11935
11936 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
11937 (raw_text_coding_system): Check NILP (coding_system).
11938 (coding_inherit_eol_type): Check NILP (coding_system) and
11939 NILP (parent).
11940 (consume_chars): Fix for the case of raw-text.
11941
11942 * process.c (read_process_output): Handle carryover correctly.
11943
119442008-02-01 Dave Love <fx@gnu.org>
11945
11946 * regex.c (re_search_2): Fix last change.
11947
119482008-02-01 Kenichi Handa <handa@m17n.org>
11949
11950 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
11951 target_multibyte. Even in a unibyte case, return a converted
11952 multibyte char.
11953 (GET_CHAR_AFTER): New macro.
11954 (PATFETCH): Translate via multibyte char.
11955 (HANDLE_UNIBYTE_RANGE): Delete this macro.
11956 (SETUP_MULTIBYTE_RANGE): New macro.
11957 (regex_compile): Setup compiled code so that its multibyteness
11958 matches that of a target. Fix the handling of "[X-YZ]" using
11959 SETUP_MULTIBYTE_RANGE.
11960 (analyse_first) <charset>: For filling fastmap for all multibyte
11961 characters, don't check by BASE_LEADING_CODE_P.
11962 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
11963 the same as RE_MULTIBYTE_P (bufp) now.
11964 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
11965 (TARGET_CHAR_AND_LENGTH): Delete this macro.
11966 (TRANSLATE_VIA_MULTIBYTE): New macro.
11967 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
11968 It is the same as RE_MULTIBYTE_P (bufp) now.
11969 <exactn>: Translate via multibyte.
11970 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
11971 translate it.
11972 <charset, charset_not>: Fetch a character by
11973 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
11974 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
11975 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
11976 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
11977 by GET_CHAR_AFTER.
11978 (bcmp_translate): Likewise.
11979
11980 * search.c (compile_pattern): Check the member target_multibyte,
11981 not the member multibyte of buf.
11982
11983 * lread.c (read1): While reading a string, set force_singlebyte
11984 and force_multibyte correctly.
11985
11986 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
11987 up of unibyte_to_multibyte_table.
11988
119892008-02-01 Kenichi Handa <handa@m17n.org>
11990
11991 * coding.c (setup_coding_system): If coding has
11992 post-read-conversion or pre-write-conversion, set
11993 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
11994 respectively.
11995 (decode_coding_gap): Run post-read-conversion if any.
11996
11997 * fileio.c (Finsert_file_contents): Even if we read into a
11998 unibyte buffer, check if we must decode the result or not.
11999
120002008-02-01 Kenichi Handa <handa@m17n.org>
12001
12002 * coding.c (make_conversion_work_buffer): Change the work buffer
12003 name to the same one as that of Emacs 21.
12004
120052008-02-01 Kenichi Handa <handa@m17n.org>
12006
12007 * coding.h (make_conversion_work_buffer): Adjust prototype.
12008 (code_conversion_restore): Don't extern it.
12009
12010 * coding.c (detected_mask): Delete unused variable.
12011 (decode_coding_iso_2022): Pay attention to the byte sequence of
12012 CTEXT extended segment, and retain those bytes as is.
12013 (decode_coding_ccl): Delete unused variable `valids'.
12014 (setup_coding_system): Delete unused variable `category'.
12015 (consume_chars): Delete unused variable `category'. Make it work
12016 for non-multibyte case.
12017 (make_conversion_work_buffer): Change argument.
12018 (saved_coding): Delete unused variable.
12019 (code_conversion_restore): Don't check saved_coding->destination.
12020 (code_conversion_save): New function.
12021 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12022 instead of record_unwind_protect.
12023 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12024 (detect_coding_system): Delete unused variable `mask'.
12025 (Fdefine_coding_system_internal): Delete unused variable id.
12026
12027 * fileio.c (kill_workbuf_unwind): New function.
12028 (Finsert_file_contents): On replacing, call
12029 make_conversion_work_buffer with correct args, and call
12030 record_unwind_protect with the first arg kill_workbuf_unwind.
12031
12032 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12033
120342008-02-01 Kenichi Handa <handa@m17n.org>
12035
12036 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12037 (fontset_add): Fix for the case that TO is less than TO1.
12038 (Ffontset_info): Don't use fallback fontset on checking the
12039 default fontset.
12040 (dump_fontset): New function for debugging.
12041
12042 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12043 coding_type is Qcharset.
12044
120452008-02-01 Kenichi Handa <handa@m17n.org>
12046
12047 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12048 (map_char_table): Don't inherit the value from the parent on
12049 initializing VAL. Adjust for the above change.
12050
120512008-02-01 Kenichi Handa <handa@m17n.org>
12052
12053 * coding.c (Qsignature, Qendian): Delete these variables.
12054 (syms_of_coding): Don't initialize them.
12055 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12056 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12057 detect_info->found.
12058 (decode_coding_utf_16): Don't detect BOM here.
12059 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12060 is NOT utf_16_without_bom.
12061 (setup_coding_system): For a coding system of type utf-16, check
12062 if the attribute :endian is Qbig or not (not nil or not), and set
12063 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12064 (detect_coding): If coding type is utf-16 and BOM detection is
12065 required, detect it.
12066 (Fdefine_coding_system_internal): For a coding system of type
12067 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12068
120692008-02-01 Kenichi Handa <handa@m17n.org>
12070
12071 * coding.c (coding_set_source): Fix for the case that the current
12072 buffer is different from coding->src_object.
12073 (decode_coding_object): Don't use the conversion work buffer if
12074 DST_OBJECT is a buffer.
12075
120762008-02-01 Dave Love <fx@gnu.org>
12077
12078 * lread.c (read_emacs_mule_char) [len==2]: Index
12079 emacs_mule_charset correctly.
12080
120812008-02-01 Dave Love <fx@gnu.org>
12082
12083 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12084 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12085 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12086 treated specially.)
12087 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12088 (detected_mask): Remove Big5 bits.
12089
120902008-02-01 Kenichi Handa <handa@m17n.org>
12091
12092 The following changes are to make the font rescaling facility
12093 compatible with Emacs 21.
12094
12095 * xfaces.c (Vface_font_rescale_alist): Rename from
12096 Vface_resizing_fonts.
12097 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12098 (font_rescale_ratio): Rename from font_resizing_ratio.
12099 (split_font_name): Set font->rescale_ratio.
12100 (better_font_p): Pay attention to font->rescale_ratio.
12101 (build_scalable_font_name): Likewise. Change RESX, and RESY
12102 fields.
12103 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12104
121052008-02-01 Kenichi Handa <handa@m17n.org>
12106
12107 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12108 (Qutf_16_le): Remove these variables.
12109 (syms_of_coding): Don't DEFSYM them.
12110 (decode_coding_utf_16): Fix handling of BOM.
12111 (encode_coding_utf_16): Fix handling of BOM.
12112
121132008-02-01 Kenichi Handa <handa@m17n.org>
12114
12115 * fileio.c (Finsert_file_contents): On replacing, before decoding
12116 the file into the work buffer, set point of the work buffer to the end.
12117
121182008-02-01 Dave Love <fx@gnu.org>
12119
12120 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12121
121222008-02-01 Dave Love <fx@gnu.org>
12123
12124 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12125 and fix C types.
12126
121272008-02-01 Kenichi Handa <handa@m17n.org>
12128
12129 * xdisp.c (SKIP_GLYPHS): New macro.
12130 (set_cursor_from_row): Pay attention to string display properties.
12131
12132 * category.c (copy_category_entry): Fix for the case that RANGE
12133 is an integer.
12134
12135 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12136
12137 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12138
121392008-02-01 Kenichi Handa <handa@m17n.org>
12140
12141 * charset.c (Fcharset_id_internal): New function.
12142 (syms_of_charset): Defsubr it.
12143
12144 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12145 with the last arg charset_list acquired from coding.
12146 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12147 the attribute coding_attr_ccl_valids.
12148
12149 * coding.h (enum define_coding_ccl_arg_index): Set the first
12150 member coding_arg_ccl_decoder to coding_arg_max.
12151
12152 * ccl.h (ccl_driver): Adjust prototype.
12153
12154 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12155 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12156 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12157 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12158 last arg Qnil.
12159
121602008-02-01 Kenichi Handa <handa@m17n.org>
12161
12162 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12163 call encode_char.
12164
12165 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12166
121672008-02-01 Dave Love <fx@gnu.org>
12168
12169 * composite.c (syms_of_composite): Make composition_hash_table weak.
12170
121712008-02-01 Kenichi Handa <handa@m17n.org>
12172
12173 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12174 (font_name_registry): Don't extern them.
12175 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12176
12177 * fontset.h (Qfontset): Don't extern it.
12178 (new_fontset_from_font_name): Extern it.
12179
12180 * fontset.c: Give 8 extra slots to fontset objects.
12181 (Qfontset_info): New variable.
12182 (syms_of_fontset): Defsym it.
12183 (FONTSET_FALLBACK): New macro.
12184 (fontset_face): Try also the default fontset.
12185 (make_fontset): Realize a fallback fontset from the default fontset.
12186 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12187 using split_font_name_into_vector and build_font_name_from_vector.
12188 (Fset_fontset_font): Access the elements of font_spec by enum
12189 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12190 name by using split_font_name_into_vector.
12191 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12192 generate a proper font name from the fontset name. Update
12193 Vfontset_alias_alist.
12194 (n_auto_fontsets): New variable.
12195 (new_fontset_from_font_name): New function.
12196 (Ffont_info): Store the information about fonts generated from the
12197 default fontset in the first extra slot of the returned char-table.
12198
12199 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12200 (font_name_registry): Delete function.
12201 (split_font_name_into_vector): New function.
12202 (build_font_name_from_vector): New function.
12203 (font_list): The argument REGISTRY is now a list of registry names.
12204 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12205 specifies an explicit font name, return the name as is. Make a
12206 list of registy names.
12207
12208 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12209 of x_new_fontset.
12210 (Fx_create_frame): Don't call x_new_fontset here. Just use
12211 x_list_fonts to check the existence of fonts.
12212
12213 * xterm.h (x_new_fontset): Adjust prototype.
12214
12215 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12216 string. Use new_fontset_from_font_name to create a fontset from a
12217 font name.
12218
122192008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * syntax.c (Vfind_word_boundary_function_table): New name for
12222 Vnext_word_boundary_function_table.
12223 (find-word-boundary-function-table): New name for
12224 next-word-boundary-function-table.
12225
122262008-02-01 Dave Love <fx@gnu.org>
12227
12228 * Makefile.in: Fix some dependencies.
12229
12230 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12231 set it to nil before returning.
12232
12233 * composite.c (update_compositions): Fix type error.
12234
12235 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12236
122372008-02-01 Kenichi Handa <handa@m17n.org>
12238
12239 * xterm.c (x_new_font): Optimize for the case that the font is
12240 already set for the frame.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * chartab.c (char_table_ascii): Check if the char table contents
12245 is sub-char-table or not.
12246 (char_table_set, char_table_set_range): Fix argument to
12247 char_table_ascii.
12248
12249 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12250 (detect_coding_utf_8, detect_coding_utf_16)
12251 (detect_coding_emacs_mule, detect_coding_iso_2022)
12252 (detect_coding_sjis, detect_coding_big5)
12253 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12254 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12255 sequence is valid in this coding system. Change callers.
12256 (MAX_ANNOTATION_LENGTH): New macro.
12257 (ADD_ANNOTATION_DATA): New macro.
12258 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12259 ADD_ANNOTATION_DATA. Change the format of annotation data.
12260 (ADD_CHARSET_DATA): New macro.
12261 (emacs_mule_char): New argument ID. Change callers.
12262 (decode_coding_emacs_mule, decode_coding_iso_2022)
12263 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12264 Produce charset annotation data in coding->charbuf.
12265 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12266 to charset annotation data in coding->charbuf.
12267 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12268 coding->common_flags if the coding system is iso-2022 based and
12269 uses designation.
12270 (produce_composition): Adjust for the new annotation data format.
12271 (produce_charset): New function.
12272 (produce_annotation): Handle charset annotation.
12273 (handle_composition_annotation, handle_charset_annotation): New
12274 functions.
12275 (consume_chars): Handle charset annotation. Utilize the above two
12276 functions.
12277 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12278 buffer, get the deleted text as a string and set
12279 coding->src_object to that string.
12280 (detect_coding, detect_coding_system): Use the new struct
12281 coding_detection_info.
12282
12283 * coding.h (struct coding_detection_info): New structure.
12284 (struct coding_system): Adjust prototype of the member `detector'.
12285 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12286
122872008-02-01 Kenichi Handa <handa@m17n.org>
12288
12289 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12290
122912008-02-01 Dave Love <fx@gnu.org>
12292
12293 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12294 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12295 to new local and nullify apropos_accumulate before returning.
12296 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12297
122982008-02-01 Kenichi Handa <handa@m17n.org>
12299
12300 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12301 correctly.
e3eea1fc 12302
aac0c6e3
MR
123032008-02-01 Dave Love <fx@gnu.org>
12304
12305 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12306
123072008-02-01 Kenichi Handa <handa@m17n.org>
12308
12309 The following changes are to make character composition happen
12310 automatically on displaying.
12311
12312 * Makefile.in (lisp, shortlisp): Add composite.elc.
12313
12314 * composite.h (Qauto_composed, Vauto_composition_function)
12315 (Qauto_composition_function): Extern them.
12316
12317 * composite.c (Vcomposition_function_table)
12318 (Qcomposition_function_table): Delete variables.
12319 (Qauto_composed, Vauto_composition_function)
12320 (Qauto_composition_function): New variables.
12321 (run_composition_function): Don't call
12322 compose-chars-after-function.
12323 (update_compositions): Clear `auto-composed' text property.
12324 (compose_chars_in_text): Delete this function.
12325 (syms_of_composite): Staticpro Qauto_composed and
12326 Qauto_composition_function. Declare Vauto_composition_function as
12327 a Lisp variable.
12328
12329 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12330
12331 * xdisp.c (it_props): Add an entry for Qauto_composed.
12332 (handle_auto_composed_prop): New function.
12333
12334 * xselect.c (selection_data_to_lisp_data): Don't call
12335 compose_chars_in_text.
12336
123372008-02-01 Dave Love <fx@gnu.org>
12338
12339 * keyboard.c (read_char): Modify checking around use of
12340 Vkeyboard_translate_table.
12341
12342 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12343 and fix C types.
12344
123452008-02-01 Kenichi Handa <handa@m17n.org>
12346
12347 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12348 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12349 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12350 the case that the last byte is '\r' correctly.
12351 (decode_coding): Flush out the unprocessed data correctly.
12352 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12353
123542008-02-01 Dave Love <fx@gnu.org>
12355
12356 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12357 Add XK_ISO... case.
12358 (xaw_scroll_callback): Revert last change.
12359
123602008-02-01 Kenichi Handa <handa@m17n.org>
12361
12362 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12363
123642008-02-01 Kenichi Handa <handa@m17n.org>
12365
12366 * xfaces.c (Vface_resizing_fonts): New variable.
12367 (struct font_name): New member `resizing_ratio'.
12368 (font_resizing_ratio): New function.
12369 (split_font_name): Set font->resizing_ratio.
12370 (better_font_p): Pay attention to font->resizing_ratio.
12371 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12372 RESX, and RESY fields.
12373 (try_alternative_families): Try scalable fonts if
12374 Vscalable_fonts_allowed is not Qt.
12375 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12376
123772008-02-01 Dave Love <fx@gnu.org>
12378
12379 * xterm.c (xaw_scroll_callback): Cast correctly.
12380
123812008-02-01 Dave Love <fx@gnu.org>
12382
12383 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12384 (lispy_kana_keys): Comment out.
12385 (make_lispy_event) [XK_kana_A]: Comment out.
12386
12387 * xterm.c (xaw_scroll_callback): Cast call_data.
12388 (XTread_socket): Deal with ASCII keysyms.
12389 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12390
123912008-02-01 Dave Love <fx@gnu.org>
12392
12393 * xterm.c (Vx_keysym_table): New.
12394 (syms_of_xterm): Initialize it.
12395 (XTread_socket): Use it.
12396 From head: Eliminate incorrect optimization that tried to avoid
12397 decoding the output of X*LookupString.
12398 (x_get_font_repertory): Delete charset declaration.
12399
124002008-02-01 Kenichi Handa <handa@m17n.org>
12401
12402 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12403 return 0.
12404 (Fdefine_coding_system_internal): Setup
12405 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12406
124072008-02-01 Dave Love <fx@gnu.org>
12408
12409 * coding.c (Fcheck_coding_system): Doc fix.
12410
12411 * editfns.c (Finsert_byte): Return a proper value.
12412
124132008-02-01 Kenichi Handa <handa@m17n.org>
12414
12415 * coding.c (decode_coding): Fix args to translate_chars. Pay
12416 attention to Vstandard_translation_table_for_decode.
12417 (encode_coding): Fix args to translate_chars. Pay attention to
12418 Vstandard_translation_table_for_encode.
12419
12420 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12421 SINGLE_BYTE_CHAR_P.
12422
12423 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12424 not by SINGLE_BYTE_CHAR_P.
12425
12426 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12427 SINGLE_BYTE_CHAR_P.
12428
12429 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12430 SINGLE_BYTE_CHAR_P.
12431
12432 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12433 by SINGLE_BYTE_CHAR_P.
12434
12435 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12436 SINGLE_BYTE_CHAR_P.
12437
124382008-02-01 Dave Love <fx@gnu.org>
12439
12440 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12441
124422008-02-01 Dave Love <fx@gnu.org>
12443
12444 * fns.c (Flanginfo): Fix typo.
12445
12446 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12447
124482008-02-01 Kenichi Handa <handa@m17n.org>
12449
12450 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12451 (detect_coding_emacs_mule, detect_coding_iso_2022)
12452 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12453 incomplete byte sequence. Don't update *mask when correctly detected.
12454 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12455 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12456 (detect_coding, detect_coding_system): Adjust for the changes above.
12457
124582008-02-01 Kenichi Handa <handa@m17n.org>
12459
12460 * character.c (char_string): Rename from
12461 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12462 (string_char): Rename from string_char.
12463
12464 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12465 if C is greater than MAX_3_BYTE_CHAR.
12466 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12467 string_char instead of string_char_with_unification.
12468
124692008-02-01 Dave Love <fx@gnu.org>
12470
12471 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12472
124732008-02-01 Kenichi Handa <handa@m17n.org>
12474
12475 * keymap.c (push_key_description): Pay attention to force_multibyte.
12476
12477 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12478
124792008-02-01 Dave Love <fx@gnu.org>
12480
12481 * charset.c (define_charset_internal): Rename `supprementary'.
12482
12483 * Makefile.in (lisp, shortlisp): Remove latin-N.
12484
124852008-02-01 Dave Love <fx@gnu.org>
12486
12487 * xfns.c (x_window, x_window): Use use_xim.
12488
12489 * xterm.c (use_xim): Initialize.
12490 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12491 (x_term_init): Maybe set use_xim.
12492
12493 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12494
124952008-02-01 Kenichi Handa <handa@m17n.org>
12496
12497 * search.c (search_buffer): Fix case-fold-search of multibyte
12498 characters.
12499 (boyer_moore): Rename the last argument to char_high_bits.
12500
125012008-02-01 Kenichi Handa <handa@m17n.org>
12502
12503 * xdisp.c (display_string): Fix for the case of zero width glyph.
12504
12505 * xfns.c (x_set_font): Change the error message of the case that
12506 x_new_fontset returns Qt.
12507
12508 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12509 (Finternal_set_lisp_face_attribute): Use signal_error for the
12510 error of invalid fontset.
12511
12512 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12513 fontset, return Qt.
12514
125152008-02-01 Dave Love <fx@gnu.org>
12516
12517 * unexelf.c (unexec): Make .got handling not SGI-specific.
12518
12519 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12520
12521 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12522
12523 * keyboard.c (read_key_sequence): Fix type error.
12524
12525 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12526 type error.
12527
12528 * fontset.c (fontset_add): Return Lisp_Object.
12529
125302008-02-01 Dave Love <fx@gnu.org>
12531
12532 * charset.h (charset_ordered_list_tick): Declare extern.
12533
125342008-02-01 Kenichi Handa <handa@m17n.org>
12535
12536 The following changes (and some of 2008-02-01 changes of mine) are
12537 for handling syntax, category, and case conversion for unibyte
12538 characters by converting them to multibyte on the fly. With these
12539 changes, we don't have to setup syntax and case tables for unibyte
12540 characters in each language environment.
12541
12542 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12543 multibyte if necessary.
12544
12545 * bytecode.c (Fbyte_code): Likewise.
12546
12547 * character.h (LEADING_CODE_LATIN_1_MIN)
12548 (LEADING_CODE_LATIN_1_MAX): New macros.
12549 (unibyte_to_multibyte_table): Extern it.
12550 (unibyte_char_to_multibyte): New macro.
12551 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12552 (CHAR_LEADING_CODE): New macro.
12553 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12554
12555 * character.c (unibyte_to_multibyte_table): New variable.
12556 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12557 (multibyte_char_to_unibyte): If C is an eight-bit character,
12558 convert it to the corresponding byte value.
12559
12560 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12561 not 1, signals an error. Update the elements of
12562 unibyte_to_multibyte_table.
12563 (init_charset_once): Initialize unibyte_to_multibyte_table.
12564 (syms_of_charset): Define the charset `iso-8859-1'.
12565
12566 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12567 as is without converting it to unibyte. In a unibyte buffer,
12568 convert C to multibyte before checking the syntax.
12569
12570 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12571
12572 * minibuf.c (Fminibuffer_complete_word): Use the macro
12573 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12574
12575 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12576
12577 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12578 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12579 that is zero, convert an eight-bit char to multibyte.
12580 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12581 non-emacs case.
12582 (PATFETCH): Convert an eight-bit char to multibyte.
12583 (HANDLE_UNIBYTE_RANGE): New macro.
12584 (regex_compile): Setup the compiled pattern for multibyte chars
12585 even if the given regex string is unibyte. Use PATFETCH_RAW
12586 instead of PATFETCH in many places. To handle `charset'
12587 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12588 only for ASCII chars.
12589 (analyse_first) <exactn>: Simplify because the compiled pattern
12590 is multibyte.
12591 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12592 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12593 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12594 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12595 multibyte always 1.
12596 (re_search_2): In emacs, set the locale variable multibyte to 1,
12597 otherwise to 0. New local variable target_multibyte. Check it
12598 to decide the multibyteness of STR1 and STR2. If
12599 target_multibyte is zero, convert unibyte chars to multibyte
12600 before translating and checking fastmap.
12601 (TARGET_CHAR_AND_LENGTH): New macro.
12602 (re_match_2_internal): In emacs, set the locale variable multibyte
12603 to 1, otherwise to 0. New local variable target_multibyte. Check
12604 it to decide the multibyteness of STR1 and STR2. Use
12605 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12606 <charset, charset_not>: If multibyte is nonzero, check fastmap
12607 only for ASCII chars. Call bcmp_translate with
12608 target_multibyte, not with multibyte.
12609 <begline>: Declare the local variable C as `unsigned'.
12610 (bcmp_translate): Change the last arg name to target_multibyte.
12611
12612 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12613 the regexp pattern and the matching target. Set cp->buf.multibyte
12614 to the multibyteness of the regexp pattern. Set
12615 cp->but.target_multibyte to the multibyteness of the matching target.
12616 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12617 FETCH_STRING_CHAR_ADVANCE.
12618 (Freplace_match): Convert unibyte chars to multibyte.
12619
12620 * syntax.c (char_quoted, back_comment, scan_words)
12621 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12622 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12623 unibyte chars to multibyte.
12624 (skip_chars): Delete the arg syntaxp, and move the code for
12625 handling syntaxes to skip_syntaxes. Change callers.
12626 Fix the case that the multibyteness of STRING and the current
12627 buffer doesn't match.
12628 (skip_syntaxes): New function.
12629 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12630 SINGLE_BYTE_CHAR_P.
12631
126322008-02-01 Kenichi Handa <handa@m17n.org>
12633
12634 * xfaces.c (QCfontset): New variable.
12635 (LFACE_FONTSET): New macro.
12636 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12637 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12638 (Finternal_set_lisp_face_attribute)
12639 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12640 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12641 check also LFACE_FONTSET_INDEX.
12642 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12643 attrs[LFACE_FONT_INDEX].
12644 (syms_of_xfaces): Intern and staticpro QCfontset.
12645
12646 * dispextern.h (enum lface_attribute_index): New member
12647 LFACE_FONTSET_INDEX.
12648
12649 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12650
126512008-02-01 Kenichi Handa <handa@m17n.org>
12652
12653 * coding.c (coding_set_destination): Fix coding->destination for
12654 the case converting a region.
12655 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12656 (encode_coding_object): Fix coding->dst_pos and
12657 coding->dst_pos_byte for the case converting a region.
12658
12659 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12660
12661 * character.h (BYTE8_STRING): New macro.
12662
12663 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12664
126652008-02-01 Kenichi Handa <handa@m17n.org>
12666
12667 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12668 characters by octal form.
12669
12670 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12671
12672 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12673 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12674 _fetch_multibyte_char_len.
12675 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12676
12677 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12678
12679 * casefiddle.c (casify_object): Simplify. Handle the case that
12680 the case conversion change the byte length.
12681 (casify_region): Likewise.
12682
12683 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12684
12685 * character.c (_fetch_multibyte_char_len): Delete this variable.
12686 (syms_of_character): Setup Vprintable_chars.
12687
12688 * editfns.c (Fchar_equal): Fix for the unibyte case.
12689 (Finsert_byte): New function.
12690 (syms_of_editfns): Defsubr it.
12691
12692 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12693 of direct code 0x3ffff.
12694
12695 * search.c (Freplace_match): Fix for the unibyte case.
12696
126972008-02-01 Kenichi Handa <handa@m17n.org>
12698
12699 * lread.c (safe_to_load_p): Fix the logic.
12700
12701 * syntax.c (scan_words): Don't treat characters belonging to
12702 different scripts as constituting a word.
12703
12704 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12705
12706 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12707
12708 * emacs.c (main): In the case of --unibyte, instead of aborting on
12709 finding non-empty buffer, make it unibyte.
12710
127112008-02-01 Kenichi Handa <handa@m17n.org>
12712
12713 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12714 to create a fontset.
12715
127162008-02-01 Dave Love <fx@gnu.org>
12717
12718 * character.c (Funibyte_char_to_multibyte): Doc fix.
12719
12720 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12721
127222008-02-01 Kenichi Handa <handa@m17n.org>
12723
12724 * fontset.c (fontset_add): Make the type `int'.
12725 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12726
12727 * character.c (unibyte_char_to_multibyte)
12728 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12729 charset_unibyte, not charset_primary.
12730
12731 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12732
12733 * charset.c (charset_unibyte): Rename from charset_primary.
12734 (Funibyte_charset): Rename from Fprimary_charset.
12735 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12736 (syms_of_charset): Adjust for the above changes.
12737
12738 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12739 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12740 it->multibyte_p is zero.
12741
12742 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12743 Delete extern.
12744
127452008-02-01 Kenichi Handa <handa@m17n.org>
12746
12747 * coding.c (Fdefine_coding_system_internal): Fix category setting
12748 for a coding system of type iso-2022.
12749
127502008-02-01 Kenichi Handa <handa@m17n.org>
12751
12752 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12753
127542008-02-01 Kenichi Handa <handa@m17n.org>
12755
12756 * syntax.c (Vnext_word_boundary_function_table): New variable.
12757 (next-word-boundary-function-table): Declare it as a Lisp variable
12758 in syms_of_syntax.
12759 (scan_words): Call functions in Vnext_word_boundary_function_table
12760 if any.
12761
12762 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12763
12764 * fontset.c (fs_load_font): If fontp->charset is not negative,
12765 return fontp without setting its members.
12766
127672008-02-01 Dave Love <fx@gnu.org>
12768
12769 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12770
12771 * m/sparc.h (HAVE_ALLOCA): Delete.
12772
12773 * s/irix6-5.h: Don't include strings.h.
12774 (bcopy, bzero, bcmp): Don't undef.
12775
12776 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12777
12778 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12779 (TIOCSIGSEND): Don't test IRIX6.
12780 (bcopy, bzero, bcmp): Define conditionally.
12781
127822008-02-01 Kenichi Handa <handa@m17n.org>
12783
12784 * buffer.c (Qas, Qmake, Qto): New variables.
12785 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12786 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12787
12788 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12789 we are inserting a process output into a multibyte buffer.
12790
12791 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12792 multibyte_char_to_unibyte.
12793
12794 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12795 by the primary charset, make it eight-bit char.
12796 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12797
12798 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12799 (charset_8_bit__control, charset_8_bit_graphic)
12800 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12801 (define_charset_internal): New function.
12802 (syms_of_charset): Call define_charset_internal for pre-defined
12803 charsets.
12804
12805 * charset.h (charset_8_bit): Extern it.
12806
12807 * coding.c (make_conversion_work_buffer): Adjust for the change
12808 of Fset_buffer_multibyte.
12809 (encode_coding_raw_text): Increment p0 in the loop.
12810
12811 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12812
12813 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12814 for the change of Fset_buffer_multibyte.
12815
12816 * fns.c (Fstring_to_multibyte): New function.
12817 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12818
128192008-02-01 Dave Love <fx@gnu.org>
12820
12821 * xfns.c (x_put_x_image): Declare args.
12822
12823 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12824 (try_font_list): Declare an arg.
12825
12826 * xdisp.c (message2_nolog, set_message): Declare an arg.
12827
12828 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12829
12830 * syntax.c (scan_sexps_forward): Declare an arg.
12831
12832 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12833 Declare an arg.
12834
12835 * lisp.h (Fnew_fontset): Declare.
12836
12837 * keymap.c (push_key_description): Call CHARACTERP correctly.
12838
12839 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12840 (face_for_char): Delete unused vars.
12841 (Fset_fontset_font): Doc fix. Delete unused vars.
12842
12843 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12844
12845 * composite.c (update_compositions): Declare arg.
12846
12847 * cm.c (calccost, cmgoto): Declare args.
12848
12849 * charset.c: Remove `emacs' conditional. Doc fixes.
12850 (map_char_table_for_charset): Declare.
12851
12852 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12853
12854 * ccl.c: Remove `emacs' conditional.
12855
128562008-02-01 Kenichi Handa <handa@m17n.org>
12857
12858 The following changes are to allow specifying multiple font
12859 patterns for a character range (specified by script or charset).
12860
12861 * Makefile.in (abbrev.o): Depend on syntax.h.
12862 (xfaces.o): Depend on charset.h.
12863
12864 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12865 SINGLE_BYTE_CHAR_P.
12866
12867 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12868
12869 * character.h (Vchar_script_table): Extern it.
12870
12871 * character.c (Vscript_alist): Delete.
12872 (Vchar_script_table, Qchar_script_table): New variable.
12873 (syms_of_character): Declare Vchar_script_table as a lisp variable
12874 and initialize it.
12875
12876 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12877 have property char-table-extra-slots, make no extra slot.
12878
12879 * dispextern.h (struct face): Delete member `charset'.
12880 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12881 SINGLE_BYTE_CHAR_P.
12882 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12883 Add prototypes.
12884 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12885 (generate_ascii_font_name): Rename from generate_ascii_font.
12886
12887 * fontset.h (get_font_repertory_func): New prototype.
12888 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12889 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12890
12891 * fontset.c (Qprepend, Qappend): New variables.
12892 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12893 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12894 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12895 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12896 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12897 (load_font_get_repertory): New functions.
12898 (fontset_set): Delete.
12899 (fontset_face): New arg FACE. Return face ID, not face.
12900 Complete re-write to handle new fontset structure. Change caller.
12901 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12902 (face_for_char): Don't call lookup_face.
12903 (make_fontset_for_ascii_face): New arg FACE.
12904 (fs_load_font): New arg CHARSET_ID. Don't check
12905 Vfont_encoding_alist here.
12906 (find_font_encoding): New function.
12907 (list_fontsets): Use STRINGP, not ! NILP.
12908 (accumulate_script_ranges): New function.
12909 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12910 re-written to handle new fontset structure.
12911 (Ffontset_font): Return a copy of element.
12912 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12913 docstring of font-encoding-alist.
12914
12915 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12916 (Fset_fotset_font): Fix arguments to 5.
12917
12918 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12919
12920 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12921 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12922 (highlight_trailing_whitespace): Adjust for the change of
12923 lookup_named_face.
12924
12925 * xfaces.c: Include charset.h.
12926 (load_face_font): Delete argument C. Change caller.
12927 (generate_ascii_font_name): Rename from generate_ascii_font.
12928 (font_name_registry): New function.
12929 (cache_face): Store ascii faces before non-ascii faces in buckets.
12930 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
12931 Lookup only ascii faces.
12932 (lookup_non_ascii_face): New function.
12933 (lookup_named_face): Delete argument C. Change caller.
12934 (lookup_derived_face): Delete argument C. Change caller.
12935 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
12936 a string, just call font_list with it.
12937 (choose_face_font): Delete arguments FACE and C. New arg
12938 FONT_SPEC. Change caller.
12939 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
12940 Change caller.
12941 (realize_non_ascii_face): New function.
12942 (realize_x_face): Call load_face_font here.
12943 (realize_tty_face): Delete argument C. Change caller.
12944 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
12945 get a face ID.
12946 (dump_realized_face): Don't print charset of FACE.
12947
12948 * xfns.c (x_set_font): Always call x_new_fontset and
12949 store_frame_parameter.
12950 (Fx_create_frame): Call x_new_fontset, not x_new_font.
12951 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
12952
12953 * xterm.h (x_get_font_repertory): Extern it.
12954
12955 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12956 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12957 it->multibyte_p is zero.
12958 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12959 (x_new_fontset): If FONTSETNAME doesn't match any existing
12960 fontsets, create a new one.
12961 (x_get_font_repertory): New function.
12962
129632008-02-01 Kenichi Handa <handa@m17n.org>
12964
12965 * coding.c (Ffind_coding_systems_region_internal): Detect an
12966 ASCII only string correctly.
12967
12968 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
12969 version is 0.
12970
129712008-02-01 Kenichi Handa <handa@m17n.org>
12972
12973 * lread.c: Include "coding.h".
12974 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
12975 (load_each_byte, unread_char): New variables.
12976 (readchar_backlog): Delete.
12977 (readchar): Return a character unless load_each_byte is nonzero.
12978 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
12979 cons. If unread_char is not -1, simply return it.
12980 (unreadchar): Handle the case that readcharfun is
12981 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
12982 (read_multibyte): Delete.
12983 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
12984 (read_emacs_mule_char): New functions.
12985 (Fload): Even if the file doesn't have the extension ".elc", if
12986 safe_to_load_p returns a positive version number, assume that the
12987 file contains bytecompiled code. If the version is less than 22,
12988 load the file while decoding multibyte sequences by emacs-mule.
12989 (readevalloop): Don't use readchar_backlog.
12990 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
12991 (Fread_from_string): Pay attention to the case that STREAM is a cons.
12992 (read_escape): Delete the arg BYTEREP.
12993 (read1): Set load_each_byte to 1 temporarily while handling
12994 #@NUMBER. Don't call read_multibyte.
12995 (read_vector): Call Fread with a cons. If readcharfun is
12996 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
12997 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
12998 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
12999 and Qload_force_doc_strings.
13000
130012008-02-01 Kenichi Handa <handa@m17n.org>
13002
13003 * xdisp.c (face_before_or_after_it_pos): Call
13004 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13005
130062008-02-01 Kenichi Handa <handa@m17n.org>
13007
13008 * character.h (TRAILING_CODE_P): New macro.
13009 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13010 (string_char_with_unification): Fix prototype.
13011 (Vscript_alist): Extern it.
13012
13013 * character.c (Vscript_alist): New variable.
13014 (string_char_with_unification, str_as_unibyte)
13015 (string_escape_byte8): Add `const' to local variables.
13016 (syms_of_character): Declare script-alist as a Lisp variable.
13017
13018 * charset.h (Vcharset_ordered_list): Extern it.
13019 (charset_ordered_list_tick): Extern it.
13020 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13021 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13022 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13023 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13024 (Funify_charset): Adjust for the change of Funify_charset.
13025
13026 * charset.c (charset_ordered_list_tick): New variable.
13027 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13028 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13029 deunify intead of unify a charset.
13030 (string_xstring_p): Add `const' to local variables.
13031 (find_charsets_in_text): Add `const' to arguments and local variables.
13032 (encode_char): Adjust for the change of Funify_charset. Fix
13033 detecting of invalid code.
13034 (Fset_charset_priority): Increment charset_ordered_list_tick.
13035 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13036 and TO_CODE.
13037
13038 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13039 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13040 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13041 (decode_coding_ccl, consume_chars)
13042 (Ffind_coding_systems_region_internal)
13043 (Fcheck_coding_systems_region): Add `const' to local variables.
13044
13045 * print.c (print_object): Use octal form for printing the
13046 contents of a bool vector.
13047
130482008-02-01 Dave Love <fx@gnu.org>
13049
13050 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13051 <version == 20>: Refuse to load.
13052
130532008-02-01 Dave Love <fx@gnu.org>
13054
13055 * fns.c: Move coding.h.
13056 (Qcodeset, Qdays, Qmonths): New.
13057 (concat): Use CHARACTERP instead of INTEGERP.
13058 (Flocale_codeset): Delete.
13059 (Flanginfo): New function.
13060 (syms_of_fns): Change accordingly.
13061
13062 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13063
130642008-02-01 Dave Love <fx@gnu.org>
13065
13066 * casetab.c (init_casetab_once, init_casetab_once): Fix
13067 CHAR_TABLE_SET call.
13068
13069 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13070
13071 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13072
13073 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13074 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13075 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13076
13077 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13078
13079 * coding.c (ENCODE_DESIGNATION, decode_eol)
13080 (make_conversion_work_buffer, code_conversion_restore)
13081 (Fdefine_coding_system_internal): Convert Lisp types.
13082 (code_conversion_restore): Use EQ, not ==.
13083 (Fencode_coding_string): Fix code_convert_string call.
13084
13085 * coding.h (code_convert_region): Fix prototype.
13086
13087 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13088
13089 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13090 (Ffontset_info): Convert Lisp types.
13091
13092 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13093
13094 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13095
13096 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13097
13098 * chartab.c: Include "...h", not <...h> in some cases.
13099
13100 * callproc.c (Fcall_process): Remove unused variables.
13101
131022008-02-01 Dave Love <fx@gnu.org>
13103
13104 * coding.c (Fset_coding_system_priority): Allow null arg list.
13105
131062008-02-01 Dave Love <fx@gnu.org>
13107
13108 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13109 (Fself_insert_and_exit): Use CHARACTERP.
13110
13111 * callproc.c (Fcall_process): Remove unused vars.
13112
13113 * xterm.c (XTread_socket): Add extra dead keysyms.
13114
13115 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13116
13117 * dispextern.h: Remove prototypes for redraw_frame,
13118 redraw_garbaged_frames.
13119
13120 * cmds.c (Fself_insert_command): Use CHARACTERP.
13121
13122 * chartab.c (make_sub_char_table): Remove unused var.
13123 (Fset_char_table_default, Fmap_char_table): Doc fix.
13124
13125 * keymap.c (access_keymap): Remove generic char code.
13126 (push_key_description): Use CHARACTERP.
13127
131282008-02-01 Dave Love <fx@gnu.org>
13129
13130 * charset.c: Doc fixes.
13131 (Funify_charset): Extra checking.
13132
131332008-02-01 Dave Love <fx@gnu.org>
13134
13135 * lread.c: Remove some unused variables.
13136 (safe_to_load_p): If safe, return the magic number version byte.
13137 (Fload): Maybe use load-with-code-conversion.
13138
131392008-02-01 Kenichi Handa <handa@m17n.org>
13140
13141 * category.c (Fmodify_category_entry): Don't modify the contents
13142 of category_set for characters out of the range. Avoid
13143 unnecessary modification.
13144
13145 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13146 Vchar_unify_table. The default value of the table is now nil.
13147
13148 * character.c (syms_of_character): Setup Vchar_width_table for
13149 eight-bit-control and raw-byte chars.
13150
13151 * charset.h (enum define_charset_arg_index): Delete
13152 charset_arg_parents and add charset_arg_subset and
13153 charset_arg_superset.
13154 (enum charset_attr_index): Delete charset_parents and add
13155 charset_subset and charset_superset.
13156 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13157 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13158 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13159 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13160 (CHARSET_SUPERSET): New macros.
13161 (charset_work): Extern it.
13162 (ENCODE_CHAR): Use charset_work.
13163 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13164 (map_charset_chars): Extern it.
13165
13166 * charset.c (load_charset_map): Set the default value of encoder
13167 and deunifier char-tables to nil.
13168 (map_charset_chars): Change argument. Change callers. Use
13169 map_char_table_for_charset instead of map_char_table.
13170 (Fmap_charset_chars): New optional args from_code and to_code.
13171 (Fdefine_charset_internal): Adjust for the change of
13172 `define-charset' (:parents -> :subset or :superset).
13173 (charset_work): New variable.
13174 (encode_char, syms_of_charset): Adjust for the change of
13175 Fdefine_charset_internal.
13176 (Ffind_charset_string): Setup the vector `charsets' correctly.
13177
13178 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13179 the previous change.
13180 (char_table_ref_and_range): Adjust for the above change.
13181 (map_sub_char_table_for_charset): New function.
13182 (map_char_table_for_charset): New function.
13183
13184 * keymap.c (describe_vector): Handle a char-table directly here.
13185 (describe_char_table): Delete.
13186
13187 * lisp.h (map_charset_chars): Delete.
13188
131892008-02-01 Dave Love <fx@gnu.org>
13190
13191 * fns.c (count_combining): Comment out (unused).
13192 (Flocale_codeset): New.
13193 (syms_of_fns): Defsubr it.
13194
13195 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13196 (size_t): Remove.
13197
131982008-02-01 Dave Love <fx@gnu.org>
13199
13200 * Makefile.in (chartab.o): Depend on charset.h.
13201
132022008-02-01 Kenichi Handa <handa@m17n.org>
13203
13204 * character.c (syms_of_character): Set the default value of
13205 Vprintable_chars to Qnil.
13206
132072008-02-01 Dave Love <fx@gnu.org>
13208
13209 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13210
132112008-02-01 Kenichi Handa <handa@m17n.org>
13212
13213 * charset.c (load_charset_map): Handle the case that from < to
13214 correctly.
13215
13216 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13217 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13218 Pay attention to raw-8-bit chars.
13219
132202008-02-01 Kenichi Handa <handa@m17n.org>
13221
13222 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13223 It is not bytecompiled now.
13224
13225 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13226 (charset_jisx0208): New variables.
13227 (Fdefine_charset_internal): Setup them if appropriate.
13228 (init_charset_once): Initialize them to -1.
13229
13230 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13231 (charset_jisx0208): Extern them.
13232
13233 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13234 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13235 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13236 (setup_iso_safe_charsets): Fix arguments to Fassq.
13237 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13238 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13239 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13240 (encode_coding_iso_2022): Change the 1st arg to
13241 ENCODE_ISO_CHARACTER to a variable.
13242
132432008-02-01 Kenichi Handa <handa@m17n.org>
13244
13245 * charset.h (enum define_charset_arg_index): New enums
13246 charset_arg_min_code and charset_arg_max_code.
13247 (struct charset): New member char_index_offset.
13248
13249 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13250 Take charset->char_index_offset into account.
13251 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13252 args[charset_arg_max_code]. Setup charset.char_index_offset.
13253 (syms_of_charset): Fix args to Fdefine_charset_internal.
13254
132552008-02-01 Dave Love <fx@gnu.org>
13256
13257 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13258
132592008-02-01 Dave Love <fx@gnu.org>
13260
13261 * coding.c: Doc fixes.
13262 (Fcoding_system_aliases): Fix return value.
13263 (Qmac): Remove (duplicated) definition.
13264
132652008-02-01 Dave Love <fx@gnu.org>
13266
13267 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13268 functions.
13269
13270 * character.c (Fstring): Doc fix.
13271
13272 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13273
13274 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13275 ids.
13276 (font-encoding-alist): Doc fix.
13277
132782008-02-01 Dave Love <fx@gnu.org>
13279
13280 * term.c (costs_set): Declare static, non-initialized for pcc.
13281 (encode_terminal_code): Remove unused var.
13282
13283 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13284 for K&R.
13285
13286 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13287
13288 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13289 (suffixes): Move out of make_subsidiaries for K&R.
13290
13291 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13292
13293 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13294
132952008-02-01 Dave Love <fx@gnu.org>
13296
13297 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13298
13299 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13300
133012008-02-01 Yong Lu <lyongu@asia-infonet.com>
13302
13303 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13304
13305 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13306
133072008-02-01 Kenichi Handa <handa@m17n.org>
13308
13309 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13310 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13311
133122008-02-01 Kenichi Handa <handa@m17n.org>
13313
13314 * coding.c (decode_coding_charset): Adjust for the change of
13315 Fdefine_coding_system_internal.
13316 (Fdefine_coding_system_internal): For a coding system of
13317 `charset' type, store a list of charset IDs in
13318 `charset_attr_charset_valids' element of coding attributes.
13319
133202008-02-01 Kenichi Handa <handa@m17n.org>
13321
13322 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13323 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13324 caller. Handle 2-byte and 3-byte charsets correctly.
13325 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13326 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13327 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13328 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13329 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13330 sequence.
13331 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13332 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13333 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13334 and alt&rule composition.
13335 (decode_coding_iso_2022): Handle composition correctly.
13336 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13337
13338 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13339 re-defining a charset. If the charset has :emacs-mule-id, setup
13340 emacs_mule_bytes.
13341 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13342
133432008-02-01 Kenichi Handa <handa@m17n.org>
13344
13345 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13346 (encode_coding_big5, encode_coding_charset): If coding requires safe
13347 encoding, produce a character specified by
13348 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13349
133502008-02-01 Dave Love <fx@gnu.org>
13351
13352 * xterm.c (XSetIMValues): Declare.
13353
13354 * process.c: Conditionally include sys/wait.h, pty.h.
13355
13356 * print.c (print_object): Fix print format for 64-bit systems.
13357
13358 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13359
13360 * buffer.c (emacs_strerror): Declare.
13361
13362 * fontset.c (Fclear_face_cache): Declare.
13363 (accumulate_font_info): Comment-out (unused).
13364 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13365 variables.
13366
13367 * character.h (string_escape_byte8): Declare.
13368
13369 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13370 unused vars.
13371 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13372 (Fmap_charset_chars): Doc fix.
13373
13374 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13375 (Fset_coding_system_priority, Fset_coding_system_priority)
13376 (Fdefine_coding_system_internal): Doc fix.
13377
133782008-02-01 Dave Love <fx@gnu.org>
13379
13380 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13381
133822008-02-01 Kenichi Handa <handa@m17n.org>
13383
13384 * character.c (string_escape_byte8): Make multibyte string with
13385 correct size.
13386
13387 * charset.c (Fmake_char): Delete unnecessary code.
13388
133892008-02-01 Kenichi Handa <handa@m17n.org>
13390
13391 * xfns.c (x_encode_text): Allocate coding.destination here, and
13392 call encode_coding_object with dst_object Qnil.
13393
13394 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13395 multibyte form correctly.
13396
13397 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13398 against Vfont_encoding_alist.
13399
13400 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13401 handling of charset list.
13402 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13403 (decode_coding_object): Move point to coding->dst_pos before
13404 calling post-read-conversion function.
13405 (encode_coding_object): Give correct arguments to
13406 pre-write-conversion. Ignore the return value of
13407 pre-write-conversion function. Pay attention to the case that
13408 pre-write-conversion changes the current buffer. If dst_object is
13409 Qt, even if coding->src_bytes is zero, allocate at least one byte
13410 to coding->destination.
13411
13412 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13413
13414 * charset.c (Fmake_char): Make it more backward compatible.
13415 (Fmap_charset_chars): Fix docstring.
13416
134172008-02-01 Dave Love <fx@gnu.org>
13418
13419 * coding.c: Doc fixes.
13420 (Fdefine_coding_system_alias): Use names, not symbols, in
13421 coding-system-alist.
13422
134232008-02-01 Kenichi Handa <handa@m17n.org>
13424
13425 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13426 of calling free_realized_face.
13427
134282008-02-01 Yong Lu <lyongu@asia-infonet.com>
13429
13430 * charset.c (read_hex): Don't treat SPC as a comment starter.
13431 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13432 (Fdecode_char): Fix typo.
13433
134342008-02-01 Kenichi Handa <handa@m17n.org>
13435
13436 * charset.h (struct charset): New member `code_space_mask'.
13437
13438 * coding.c (coding_set_source): Delete the local variable beg_byte.
13439 (encode_coding_charset, Fdefine_coding_system_internal):
13440 Delete the local variable charset.
13441 (Fdefine_coding_system_internal): Setup
13442 attrs[coding_attr_charset_valids] correctly.
13443
13444 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13445 member to check if CODE is valid or not.
13446 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13447 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13448 is within the range of charset->min_code and carset->max_code.
13449
134502008-02-01 Dave Love <fx@gnu.org>
13451
13452 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13453
13454 * dispextern.h (generate_ascii_font): Fix return type.
13455
13456 * xfaces.c (generate_ascii_font): Fix arg declaration.
13457
13458 * coding.c (coding_inherit_eol_type)
13459 (Fset_terminal_coding_system_internal)
13460 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13461
134622008-02-01 Kenichi Handa <handa@m17n.org>
13463
13464 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13465 multiple charsets correctly.
13466
134672008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * search.c (boyer_moore): Fix handling of multibyte character
13470 translation.
13471
13472 * xdisp.c (display_mode_element): When the variable `elt' is
13473 changed, update `this' and `lisp_string'.
13474
134752008-02-01 Kenichi Handa <handa@m17n.org>
13476
13477 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13478
13479 * callproc.c (Fcall_process): Be sure to give the current buffer
13480 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13481
13482 * charset.c (struct charset_map_entries): New struct.
13483 (load_charset_map): Rename from parse_charset_map. New args
13484 entries and n_entries. Change caller.
13485 (load_charset_map_from_file): Rename from load_charset_map.
13486 Change caller. New arg control_flag. Call load_charset_map at
13487 the tail.
13488 (load_charset_map_from_vector): New function.
13489 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13490 (encode_char): If the charset is compact, change a character index
13491 to a code point.
13492
13493 * coding.c (coding_alloc_by_making_gap): Check the case that the
13494 source and destination are the same correctly.
13495 (decode_coding_raw_text): Set coding->consumed_char and
13496 coding->consumed to 0.
13497 (produce_chars): If coding->chars_at_source is nonzero, update
13498 coding->consumed_char and coding->consumed before calling
13499 alloc_destination.
13500 (Fdefine_coding_system_alias): Register ALIAS in
13501 Vcoding_system_alist.
13502 (syms_of_coding): Define `no-conversion' coding system at the tail.
13503
13504 * fileio.c (Finsert_file_contents): Set coding_system instead of
13505 val. If the current buffer is multibyte, always call
13506 decode_coding_gap.
13507
13508 * xfaces.c (try_font_list): Give higher priority to fontset's
13509 family than face's family.
13510
135112008-02-01 Kenichi Handa <handa@m17n.org>
13512
13513 * callproc.c (Fcall_process): Be sure to give the current buffer
13514 to decode_coding_c_string.
13515
13516 * xfaces.c (try_font_list): Give a family specified in a fontset
13517 higher priority than a family specified in a face.
13518
135192008-02-01 Kenichi Handa <handa@m17n.org>
13520
13521 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13522 Fix arguments to insert_from_buffer.
13523
13524 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13525
135262008-02-01 Kenichi Handa <handa@m17n.org>
13527
13528 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13529 (decode_coding_gap): Set coding->dst_multibyte correctly.
13530
135312008-02-01 Kenichi Handa <handa@m17n.org>
13532
13533 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13534 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13535 (encode_coding_utf_16): Substitute coding->default_char for
13536 non-Unicode characters.
13537 (decode_coding): Don't call record_insert here.
13538 (setup_coding_system): Initialize `surrogate' of
13539 coding->spec.utf_16 to 0.
13540 (EMIT_ONE_BYTE): Fix for multibyte case.
13541
13542 * insdel.c (insert_from_gap): Call record_insert.
13543
135442008-02-01 Kenichi Handa <handa@m17n.org>
13545
13546 * casefiddle.c (casify_region): Fix multibyte case.
13547
13548 * character.c (c_string_width): Add return type `int'.
13549 (char_string_with_unification): Delete arg ADVANCED.
13550
13551 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13552 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13553 (CHAR_STRING_ADVANCE): Make it do-while statement.
13554
13555 * chartab.c (sub_char_table_set_range): Optimize for the case
13556 DEPTH == 3. Add workaround code for a GCC optimization bug.
13557
13558 * charset.c (parse_charset_map): Remove an unused variable.
13559
13560 * coding.c: Delete unused variables.
13561
13562 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13563 earlier. If inserted is zero and the coding system doesn't
13564 require flushing, don't call decode_coding_gap.
13565
13566 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13567
135682008-02-01 Kenichi Handa <handa@m17n.org>
13569
13570 The following changes are for using Unicode as an internal
13571 character model, and use UTF-8 format for buffer/string
13572 representation.
13573
13574 * .gdbinit (xchartable): Adjust for the change of char table structure.
13575 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13576
13577 * Makefile.in (obj): Add character.o and chartab.o.
13578 (lisp, shortlisp): Remove utf-8.elc.
13579 (*.o): For many files, change dependency on charset.h to
13580 character.h, and add dependency on character.h.
13581 (character.o, chartab.o): New targets.
13582
13583 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13584 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13585 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13586 of "charset.h".
13587
13588 * dired.c, filelock.c: Include "character.h".
13589
13590 * alloc.c: Include "character.h" instead of "charset.h".
13591 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13592 (syms_of_alloc): Remove defsubr for Smake_char_table.
13593
13594 * buffer.c: Include "character.h" instead of "charset.h", don't
13595 include "coding.h".
13596 (Fset_buffer_multibyte): Adjust for UTF-8.
13597
13598 * buffer.h: EXFUN Fbuffer_live_p.
13599
13600 * callproc.c: Include "character.h" instead of "charset.h".
13601 (Fcall_process): Big change for the new code-conversion APIs.
13602
13603 * casetab.c: Include "character.h" instead of "charset.h".
13604 (set_canon, set_identity, shuffle): Adjust for the new
13605 map_char_table spec.
13606 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13607 accessing the char table structure.
13608
13609 * chartab.c: New file that implements char table.
13610
13611 * category.c: Include "character.h".
13612 (copy_category_entry): New function.
13613 (copy_category_table): Call map_char_table and copy_category_entry.
13614 (Fmake_category_table): Initialize all top-level slots.
13615 (char_category_set): New function.
13616 (modify_lower_category_set): Delete.
13617 (Fmodify_category_entry): Call char_table_ref_and_range.
13618
13619 * category.h (CATEGORY_SET): Just call char_category_set.
13620
13621 * ccl.c: Include "character.h".
13622 (Qccl, Qcclp): New variables.
13623 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13624 it's less than 256.
13625 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13626 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13627 and DST type.
13628 (ccl_driver): Change types of argument, adjust code accordingly.
13629 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13630 ccl_driver.
13631 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13632
13633 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13634 New members src_multibyte, dst_multibyte, consumed, and produced.
13635 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13636 (CODING_SPEC_CCL_PROGRAM): New macro.
13637 (ccl_driver): Update prototype.
13638 (Qccl, Qcclp, Fccl_program_p): Extern them.
13639 (CHECK_CCL_PROGRAM): New macro.
13640
13641 * character.c, character.h, chartab.c: New files.
13642
13643 * charset.c: Mostly re-written. Move character and multibyte sequence
13644 handling codes to character.c.
13645
13646 * charset.h: Mostly re-written. Move character and multibyte sequence
13647 handling codes to character.h.
13648
13649 * coding.c, coding.h: Mostly re-written.
13650
13651 * composite.c: Include "character.h" instead of "charset.h".
13652 (CHAR_WIDTH): Move to character.h.
13653 (HASH_KEY, HASH_VALUE): Delete.
13654
13655 * composite.h (enum composition_method): Change order of enumeration
13656 symbols.
13657
13658 * data.c: Include "character.h" instead of "charset.h".
13659 (Faref): Call CHAR_TABLE_REF for a char table.
13660 (Faset): Call CHAR_TABLE_SET for a char table.
13661
13662 * dispextern.h (free_realized_face, check_face_attribytes)
13663 (generate_ascii_font): Extern them.
13664 (free_realized_multibyte_face): Delete extern.
13665
13666 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13667 table structure.
13668
13669 * editfns.c: Include "character.h" instead of "charset.h".
13670 (Fchar_to_string): Always call CHAR_STRING.
13671
13672 * emacs.c (main): Call init_charset_once, init_charset,
13673 syms_of_chartab, and syms_of_character.
13674
13675 * fileio.c: Include "character.h" instead of "charset.h".
13676 (Finsert_file_contents): Big change for the new code-conversion API.
13677 (choose_write_coding_system, Fwrite_region): Likewise.
13678 (build_annotations_2): Delete.
13679 (e_write): Big change for the new code-conversion API.
13680
13681 * fns.c: Include "character.h" instead of "charset.h".
13682 (copy_sub_char_table): Move to chartab.c.
13683 (Fcopy_sequence): Call copy_char_table for a char table.
13684 (concat): Delete codes calling count_multibyte.
13685 (string_char_to_byte, string_byte_to_char): Adjust for the new
13686 multibyte form.
13687 (internal_equal): Adjust for the change of char table structure.
13688 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13689 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13690 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13691 (char_table_translate, optimize_sub_char_table)
13692 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13693 chartab.c.
13694 (char_table_ref_and_index): Delete.
13695 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13696 (Fmd5): Call preferred_coding_system instead of accessing
13697 Vcoding_category_list. Adjust for the new code-conversion API.
13698 (syms_of_fns): Move defsubr for char table related functions to
13699 chartab.c.
13700
13701 * fontset.c: Mostly re-written.
13702
13703 * fontset.h (struct font_info): Change type of the member encoding_type.
13704 (enum FONT_SPEC_INDEX): New enum.
13705 (fontset_font_pattern, fs_load_font): Update prototype.
13706 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13707
13708 * indent.c: Include "character.h" instead of "charset.h".
13709 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13710
13711 * insdel.c: Include "character.h" instead of "charset.h".
13712 (copy_text): Don't refer to Vnonascii_translation_table.
13713 (insert_from_gap): New function.
13714
13715 * keyboard.c: Include "character.h" instead of "charset.h".
13716 (command_loop_1): Never call direct_output_forward_char before
13717 a non-ASCII character.
13718 (read_char): If Vkeyboard_translate_table is a char table, always
13719 translate a character.
13720
13721 * keymap.c: Include "character.h".
13722 (store_in_keymap): Handle the case that IDX is a cons.
13723 (Fdefine_key): Handle the case that KEY is a cons and the car part
13724 is also a cons (range).
13725 (push_key_description): Adjust for the new character code.
13726 (describe_vector): Call describe_char_table for a char table.
13727 (describe_char_table): New function.
13728
13729 * keymap.h (describe_char_table): Extern it.
13730
13731 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13732 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13733 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13734 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13735 Delete.
13736 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13737 structure.
13738 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13739 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13740 (CHARTAB_SIZE_BITS_3): New macros.
13741 (chartab_size): Extern it.
13742 (struct Lisp_Char_Table): Re-design.
13743 (struct Lisp_Sub_Char_Table): New structure.
13744 (HASH_KEY, HASH_VALUE): Move from fns.c.
13745 (CHARACTERBITS): Define as 22.
13746 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13747 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13748 (GC_SUB_CHAR_TABLE_P): New macro.
13749 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13750 (code_convert_string_norecord): Deleted extern.
13751 (init_character_once, syms_of_character, init_charset)
13752 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13753
13754 * lread.c: Include "character.h".
13755 (read_multibyte): New arg NBYTES.
13756 (read_escape): Change the meaning of returned *BYTEREP.
13757 (to_multibyte): Delete.
13758 (read1): Adjust the handling of char table and string.
13759
13760 * print.c: Include "character.h" instead of "charset.h".
13761 (print_string): Convert 8-bit raw bytes to octal form by
13762 string_escape_byte8.
13763 (print_object): Adjust for the new multibyte form. Print 8-bit
13764 raw bytes always in octal form. Handle sub char table correctly.
13765
13766 * process.c: Include "character.h" instead of "charset.h".
13767 (read_process_output, send_process): Adjust for the new
13768 code-conversion API.
13769
13770 * puresize.h (BASE_PURESIZE): Increase.
13771
13772 * regex.c: Include "character.h" instead of "charset.h".
13773 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13774 (regex_compile): Accept a range whose starting and ending
13775 character have different leading bytes.
13776 (analyse_first): Adjust for the above change.
13777
13778 * search.c: Include "character.h" instead of "charset.h".
13779 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13780 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13781
13782 * syntax.c: Include "character.h" instead of "charset.h".
13783 (syntax_parent_lookup): Delete.
13784 (Fmodify_syntax_entry): Accept a cons as CHAR.
13785 (skip_chars): Adjust for the new multibyte form.
13786 (init_syntax_once): Call char_table_set_range instead of directly
13787 accessing the structure of a char table.
13788
13789 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13790 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13791 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13792 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13793
13794 * term.c: Include "buffer.h" and "character.h".
13795 (encode_terminal_code, write_glyphs): Adjust for the new
13796 code-conversion API.
13797 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13798
13799 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13800
13801 * xdisp.c: Include "character.h".
13802 (get_next_display_element): Adjust for the new multibyte form.
13803 (disp_char_vector): Adjust for the new char table structure.
13804 (decode_mode_spec_coding): Adjust for the new structure of
13805 coding system.
13806 (decode_mode_spec): Adjust for the new code-conversion API.
13807
13808 * xfaces.c: Include "character.h" instead of "charset.h".
13809 (load_face_font): Adjust for the change of choose_face_font and
13810 FS_LOAD_FONT.
13811 (generate_ascii_font): New function.
13812 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13813 (set_font_frame_param): Adjust for the change of choose_face_font.
13814 (free_realized_face): Make it public.
13815 (free_realized_faces_for_fontset): Rename from
13816 free_realized_multibyte_face. Free also faces realized for ASCII.
13817 (choose_face_font): Change arguments. Adjust for the change of
13818 fontset_font_pattern and FS_LOAD_FONT.
13819
13820 * xfns.c: Include "character.h".
13821 (x_encode_text): Adjust for the new code-conversion API.
13822
13823 * xselect.c: Don't include "charset.h".
13824 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13825
13826 * xterm.c: Include "character.h".
13827 (x_encode_char): New argument CHARSET. Change caller.
13828 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13829 Call ENCODE_CHAR instead of SPLIT_CHAR.
13830 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13831 CHAR_WIDTH instead of CHARSET_WIDTH.
13832 (XTread_socket): Adjust for the new code-conversion API.
13833 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13834 (x_load_font): Adjust for the change of struct font.
13835
138362008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13837
13838 * xfaces.c (face_at_buffer_position): Remove unused vars.
13839
138402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13841
13842 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13843 Fix overflow checking.
13844
138452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13846
13847 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13848 Cancel previous change.
13849
138502008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13851
13852 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13853 ccl->eight_bit_control. Fix check for buffer overflow.
13854 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13855 (ccl_driver): Initialize extra_bytes to 0.
13856
138572008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13858
13859 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13860 return it ORed with ctrl_modifier.
13861
138622008-01-29 Miles Bader <miles@gnu.org>
13863
13864 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13865
138662008-01-28 Jason Rumney <jasonr@gnu.org>
13867
13868 * w32.c (stat): Don't double check for networked drive.
13869
138702008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13871
13872 * window.c (run_window_configuration_change_hook): New function.
13873 Code extracted from set_window_buffer. Set the selected frame.
13874 (set_window_buffer): Use it.
13875 * window.h (run_window_configuration_change_hook): Declare.
13876 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13877
13878 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13879
138802008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13881
13882 * Makefile.in: Remove references to unused macros.
13883
138842008-01-26 Eli Zaretskii <eliz@gnu.org>
13885
13886 * w32.c (g_b_init_get_sid_sub_authority)
13887 (g_b_init_get_sid_sub_authority_count): New static variables.
13888 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13889 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13890 (init_user_info): Use them to retrieve uid and gid.
13891 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13892 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13893 st_uid and st_gid of the file.
13894
138952008-01-26 Jason Rumney <jasonr@gnu.org>
13896
13897 * w32.c (logon_network_drive): New function.
13898 (stat): Use it.
13899
139002008-01-26 Chong Yidong <cyd@stupidchicken.com>
13901
13902 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13903 invisible text covered with an ellipsis.
13904
139052008-01-25 Richard Stallman <rms@gnu.org>
13906
13907 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13908 jump back to beginning. Move some other initializations after that.
13909 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13910 New variables.
13911 (syms_of_xdisp): Init them.
13912
13913 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13914
13915 * buffer.c (reset_buffer_local_variables):
13916 Implement `permanent-local-hook'.
13917 (Qpermanent_local_hook): New variable.
13918 (syms_of_buffer): Init and staticpro it.
13919
139202008-01-25 Michael Albinus <michael.albinus@gmx.de>
13921
13922 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13923
139242008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13925
13926 * fns.c (Fclrhash): Return TABLE.
13927
139282008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13929
13930 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
13931 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
13932 is set even without positional changes.
13933 (x_scroll_bar_clear): Set bar->redraw_needed_p.
13934
13935 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
13936
139372008-01-23 Jason Rumney <jasonr@gnu.org>
13938
13939 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
13940
13941 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
13942 the unicode range available in MULE by locale-coding-system.
13943 Improve dbcs lead byte detection. Set event timestamp and modifiers
13944 earlier.
13945
139462008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13947
13948 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
13949 [MAC_OSX] (init_mac_osx_environment): Initialize it.
13950 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
13951 when used on child processes.
13952
139532008-01-21 Michael Albinus <michael.albinus@gmx.de>
13954
13955 * dbusbind.c (Fdbus_method_return_internal): Rename from
13956 Fdbus_method_return.
13957 (Fdbus_unregister_object): Move to dbus.el.
13958 (Fdbus_call_method, Fdbus_method_return_internal)
13959 (Fdbus_send_signal): Improve debug messages.
13960
139612008-01-20 Martin Rudalics <rudalics@gmx.at>
13962
13963 * undo.c (undo_inhibit_record_point): New variable.
13964 (syms_of_undo): Initialize it.
13965 (record_point): Don't record point when undo_inhibit_record_point
13966 is set.
13967
139682008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
13969
13970 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
13971
13972 * xdisp.c (Qauto_hscroll_mode): New var.
13973 (syms_of_xdisp): Initialize it.
13974 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
13975 window's buffer.
13976 (hscroll_windows): Don't check automatic_hscrolling_p here.
13977
13978 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
13979 vscroll if we're setting window-buffer to the value it already has.
13980
139812008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
13982
13983 * m/intel386.h: Remove references to XENIX.
13984
139852008-01-17 Andreas Schwab <schwab@suse.de>
13986
13987 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
13988 instead of HAVE_X86_64_LIB64_DIR.
13989 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
13990
139912008-01-17 Glenn Morris <rgm@gnu.org>
13992
13993 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
13994 to HAVE_X86_64_LIB64_DIR.
13995
139962008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
13997
13998 * s/irix3-3.h:
13999 * s/irix4-0.h:
14000 * s/386-ix.h:
14001 * s/domain.h:
14002 * s/hpux9-x11r4.h:
14003 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14004
14005 * sysdep.c: Remove code containing references to symbols defined
14006 by unsupported systems.
14007
140082008-01-16 Glenn Morris <rgm@gnu.org>
14009
14010 * coding.c (select-safe-coding-system-function): Doc fix.
14011
140122008-01-15 Glenn Morris <rgm@gnu.org>
14013
14014 * config.in: Revert 2008-01-13 change: this is a generated file.
14015
140162008-01-13 Tom Tromey <tromey@redhat.com>
14017
14018 * lisp.h: Fix typo.
14019
140202008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14021
14022 * m/sequent-ptx.h:
14023 * m/sequent.h:
14024 * s/ptx.h:
14025 * s/ptx4-2.h:
14026 * s/ptx4.h: Remove files for systems no longer supported.
14027
14028 * callproc.c (Fcall_process): Fix previous change.
14029
140302008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14031
14032 * unexsunos4.c: Remove file, system not supported anymore.
14033
14034 * m/mips.h:
14035 * m/intel386.h:
14036 * callproc.c:
14037 * config.in:
14038 * ecrt0.c:
14039 * emacs.c:
14040 * fileio.c:
14041 * frame.c:
14042 * getpagesize.h:
14043 * keyboard.c:
14044 * lread.c:
14045 * process.c:
14046 * puresize.h:
14047 * sysdep.c:
14048 * systty.h:
14049 * syswait.h:
14050 * unexec.c:
14051 * xdisp.c:
14052 * alloc.c: Remove code containing references to symbols defined by
14053 unsupported systems.
14054
140552008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14056
14057 * coding.c (detect_coding_mask): Fix previous change.
14058
140592008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14060
14061 * coding.c (detect_coding_iso2022): New arg
14062 latin_extra_code_state. Allow Latin extra codes only
14063 when *latin_extra_code_state is nonzero.
14064 (detect_coding_mask): If there is a NULL byte, detect the encoding
14065 as UTF-16 or binary. If Latin extra codes exist, detect the
14066 encoding as ISO-2022 only when there's no other proper encoding is
14067 found.
14068
140692008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14070
14071 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14072 #ifdef MAC_OS.
14073
140742008-01-08 Richard Stallman <rms@gnu.org>
14075
14076 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14077
140782008-01-06 Nick Roberts <nickrob@snap.net.nz>
14079
14080 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14081 menu bar in parentheses.
14082
140832008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14084
14085 * m/7300.h:
14086 * m/acorn.h:
14087 * m/alliant-2800.h:
14088 * m/alliant.h:
14089 * m/alliant1.h:
14090 * m/alliant4.h:
14091 * m/altos.h:
14092 * m/amdahl.h:
14093 * m/apollo.h:
14094 * m/att3b.h:
14095 * m/aviion-intel.h:
14096 * m/aviion.h:
14097 * m/celerity.h:
14098 * m/clipper.h:
14099 * m/cnvrgnt.h:
14100 * m/convex.h:
14101 * m/cydra5.h:
14102 * m/delta88k.h:
14103 * m/dpx2.h:
14104 * m/dual.h:
14105 * m/elxsi.h:
14106 * m/f301.h:
14107 * m/gould-np1.h:
14108 * m/gould.h:
14109 * m/i860.h:
14110 * m/ibmps2-aix.h:
14111 * m/ibmrt-aix.h:
14112 * m/ibmrt.h:
14113 * m/irist.h:
14114 * m/is386.h:
14115 * m/isi-ov.h:
14116 * m/mega68.h:
14117 * m/mg1.h:
14118 * m/news-r6.h:
14119 * m/news-risc.h:
14120 * m/news.h:
14121 * m/nh3000.h:
14122 * m/nh4000.h:
14123 * m/ns16000.h:
14124 * m/ns32000.h:
14125 * m/nu.h:
14126 * m/orion.h:
14127 * m/orion105.h:
14128 * m/paragon.h:
14129 * m/pfa50.h:
14130 * m/plexus.h:
14131 * m/pyramid.h:
14132 * m/pyrmips.h:
14133 * m/sh3el.h:
14134 * m/sps7.h:
14135 * m/sr2k.h:
14136 * m/stride.h:
14137 * m/sun1.h:
14138 * m/sun2.h:
14139 * m/sun3-68881.h:
14140 * m/sun3-fpa.h:
14141 * m/sun3-soft.h:
14142 * m/sun3.h:
14143 * m/sun386.h:
14144 * m/symmetry.h:
14145 * m/tad68k.h:
14146 * m/tahoe.h:
14147 * m/targon31.h:
14148 * m/tek4300.h:
14149 * m/tekxd88.h:
14150 * m/tower32.h:
14151 * m/tower32v3.h:
14152 * m/ustation.h:
14153 * m/wicat.h:
14154 * m/xps100.h:
14155 * s/cxux.h:
14156 * s/cxux7.h:
14157 * s/dgux.h:
14158 * s/dgux4.h:
14159 * s/dgux5-4-3.h:
14160 * s/dgux5-4r2.h:
14161 * s/esix.h:
14162 * s/esix5r4.h:
14163 * s/hiuxmpp.h:
14164 * s/hiuxwe2.h:
14165 * s/iris3-5.h:
14166 * s/iris3-6.h:
14167 * s/isc2-2.h:
14168 * s/isc3-0.h:
14169 * s/isc4-0.h:
14170 * s/isc4-1.h:
14171 * s/newsos5.h:
14172 * s/newsos6.h:
14173 * s/osf1.h:
14174 * s/osf5-0.h:
14175 * s/riscix1-1.h:
14176 * s/riscix12.h:
14177 * s/sco4.h:
14178 * s/sco5.h:
14179 * s/sunos4-0.h:
14180 * s/sunos4-1.h:
14181 * s/sunos413.h:
14182 * s/sunos4shr.h:
14183 * s/umax.h:
14184 * s/unipl5-2.h:
14185 * s/xenix.h:
14186 * cxux-crt0.s:
14187 * unexapollo.c:
14188 * unexconvex.c:
14189 * unexenix.c:
14190 * unexsni.c: Remove files for systems no longer supported.
14191
14192 * m/intel386.h: Remove references to unsupported systems.
14193
14194 * w32.c (get_emacs_configuration): Remove reference to i860.
14195
14196 * sysdep.c: Remove dead code.
14197
141982008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14199
14200 * s/rtu.h:
14201 * m/masscomp.h: Remove files. Platform is obsolete.
14202
142032008-01-04 Michael Albinus <michael.albinus@gmx.de>
14204
14205 * dbusbind.c (Fdbus_method_return): New function.
14206 (xd_read_message): Add the serial number to the event.
14207 (Fdbus_register_method): Activate the function.
14208
142092008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14210
14211 * keyboard.c (read_key_sequence): Fix typo.
14212
142132008-01-03 Michael Albinus <michael.albinus@gmx.de>
14214
14215 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14216 (xd_signature, xd_append_arg): Handle element type detection for
14217 empty arrays.
14218 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14219 SDATA () calls; this must be solved more general.
14220 (Fdbus_register_signal): Use SBYTES instead of strlen.
14221
142222008-01-03 Magnus Henoch <magnus@zemdatav>
14223
14224 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14225 unsigned int for byte values (necessary for big-endian platform).
14226 (Fdbus_call_method): Handle the case of no returned arguments.
14227
142282007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14229
14230 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14231
142322007-12-31 Magnus Henoch <mange@freemail.hu>
14233
14234 * dbusbind.c (xd_signature): Signature of variant is just "v".
14235
142362007-12-30 Michael Albinus <michael.albinus@gmx.de>
14237
14238 * dbusbind.c: Fix several errors and compiler warnings.
14239 Reported by Tom Tromey <tromey@redhat.com>.
14240 (XD_ERROR, XD_DEBUG_MESSAGE)
14241 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14242 (xd_append_arg): Part for basic D-Bus types rewritten.
14243 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14244 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14245 appropriate.
14246 (xd_read_message): Return Qnil. Don't signal an error; it is not
14247 useful during event reading.
14248 (Fdbus_register_signal): Signal an error if the check for
14249 FUNCTIONP fails.
14250 (Fdbus_register_method): New function. The implementation is not
14251 complete, the call of the function signals an error therefore.
14252 (Fdbus_unregister_object): New function, renamed from
14253 Fdbus_unregister_signal. The initial check signals an error, if
14254 the object is not well formed.
14255
142562007-12-30 Richard Stallman <rms@gnu.org>
14257
14258 * textprop.c (get_char_property_and_overlay):
14259 Signal error if POSITION is out of range in a buffer.
14260
142612007-12-29 Martin Rudalics <rudalics@gmx.at>
14262
14263 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14264 because the original parameters are in pure storage now.
14265
142662007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14267
14268 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14269
142702007-12-22 Eli Zaretskii <eliz@gnu.org>
14271
14272 * callint.c (syms_of_callint) <command-history>: Add reference to
14273 history-length in the doc string.
14274
142752007-12-17 Jason Rumney <jasonr@gnu.org>
14276
14277 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14278 before passing as wParam.
14279
142802007-12-22 Michael Albinus <michael.albinus@gmx.de>
14281
14282 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14283 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14284 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14285 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14286 as number.
14287 (Fdbus_call_method): Fix docstring.
14288
142892007-12-21 Michael Albinus <michael.albinus@gmx.de>
14290
14291 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14292 New macros.
14293 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14294 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14295 Simplify.
14296 (xd_signature): New function.
14297 (xd_append_arg): Compute also signatures. Major rewrite.
14298 (xd_retrieve_arg): Make debug messages friendly.
14299 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14300 Check for signatures of arguments.
14301
143022007-12-19 Michael Albinus <michael.albinus@gmx.de>
14303
14304 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14305 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14306 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14307 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14308 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14309 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14310 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14311 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14312 (xd_retrieve_value): Remove. Functionality included in ...
14313 (xd_append_arg): New function.
14314 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14315
143162007-12-16 Michael Albinus <michael.albinus@gmx.de>
14317
14318 * dbusbind.c (top): Include <stdio.h>.
14319 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14320 dbus_message_new_method_call and dbus_message_new_signal.
14321 (Fdbus_register_signal): Rename unique_name to uname.
14322 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14323 non-existing unique name. Fix typos in matching rule. Return an
14324 object which is useful in Fdbus_unregister_signal.
14325 (Fdbus_unregister_signal): Reimplementation, in order to remove
14326 only the corresponding entry.
14327 (Vdbus_registered_functions_table): Change the order of entries.
14328 Apply these changes in xd_read_message and Fdbus_register_signal.
14329
143302007-12-16 Andreas Schwab <schwab@suse.de>
14331
14332 * fileio.c (Finsert_file_contents): Fix overflow check to not
14333 depend on undefined integer overflow.
14334
143352007-12-14 Jason Rumney <jasonr@gnu.org>
14336
14337 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14338 for characters above 127.
14339
143402007-12-13 Jason Rumney <jasonr@gnu.org>
14341
14342 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14343 before dereferencing array.
14344 (lookup_vk_code): Remove zero comparison.
14345
143462007-12-14 Michael Albinus <michael.albinus@gmx.de>
14347
14348 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14349 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14350 Use `unsigned int' instead of `uint'.
14351 (xd_read_message, Fdbus_register_signal): Split expressions into
14352 multiple lines before operators "&&" and "||", according to the
14353 GNU Coding Standards.
14354
143552007-12-14 Eli Zaretskii <eliz@gnu.org>
14356
14357 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14358
143592007-12-12 Juri Linkov <juri@jurta.org>
14360
14361 * buffer.c (Frename_buffer): In interactive spec replace
14362 `read-buffer' with `read-string' that uses `buffer-name-history'
14363 as history, and the current buffer's name as default.
14364
143652007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14366
14367 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14368 manipulating the backtrace manually.
14369 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14370 (struct backtrace, backtrace_list): Remove.
14371 (command_loop_1): Remove dead var `no_direct'.
14372
14373 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14374 preserve non-built-in buffer-local variables.
14375 (Fkill_all_local_variables): Don't re-create&re-set permanent
14376 buffer-local variables.
14377
143782007-12-09 Juri Linkov <juri@jurta.org>
14379
14380 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14381 Lisp code that uses `read-buffer' with current buffer as default.
14382
143832007-12-08 Michael Albinus <michael.albinus@gmx.de>
14384
14385 * dbusbind.c (xd_read_message): Generate an event for every
14386 registered handler. There might be several handlers registered
14387 for the same signal.
14388 (Fdbus_register_signal): Don't overwrite a registration for the
14389 same signal. Add a new registration if handlers are different.
14390 (Vdbus_registered_functions_table): Rework doc string.
14391
143922007-12-07 Michael Albinus <michael.albinus@gmx.de>
14393
14394 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14395 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14396 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14397 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14398 Unify argument lists.
14399 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14400 arguments and hash table keys. Use unique name for service.
14401 (Fdbus_unregister_signal): Remove checks.
14402 (Vdbus_registered_functions_table): Fix doc string.
14403
144042007-12-05 Magnus Henoch <mange@freemail.hu>
14405
14406 * process.c (make_process): Initialize pty_flag to 0.
14407
144082007-12-05 Jason Rumney <jasonr@gnu.org>
14409
14410 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14411 specified XBMs.
14412
144132007-12-05 Richard Stallman <rms@gnu.org>
14414
14415 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14416
144172007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14418
14419 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14420 New variable.
14421 (mac_try_close_socket) [MAC_OSX]: New function.
14422 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14423 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14424
14425 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14426 Use mac_try_close_socket.
14427
144282007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14429
14430 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14431 reloc_base.
14432 (copy_dysymtab): Compute relocation base here.
14433 (rebase_reloc_address) [__ppc64__]: New function.
14434 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14435 changed.
14436
144372007-12-05 Jason Rumney <jasonr@gnu.org>
14438
14439 * w32proc.c (sys_spawnve): Quote args with wildcards.
14440
144412007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14442
14443 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14444 __objc_* sections.
14445 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14446
144472007-12-05 Michael Albinus <michael.albinus@gmx.de>
14448
14449 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14450 Move check for Vdbus_registered_functions_table to
14451 xd_read_queued_messages.
14452 (xd_read_queued_messages): Protect xd_read_message calls by
14453 internal_condition_case_1.
14454
144552007-12-04 Michael Albinus <michael.albinus@gmx.de>
14456
14457 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14458 Qdbus_system_bus and Qdbus_session_bus, respectively.
14459 (Vdbus_intern_symbols): Remove.
14460 (Vdbus_registered_functions_table): New hash table.
14461 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14462 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14463 Rewrite in order to manage registered functions by hash table
14464 Vdbus_registered_functions_table.
14465
144662007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14467
14468 * xterm.c: Update URL to Window Manager Specification in comment.
14469
144702007-12-02 Michael Albinus <michael.albinus@gmx.de>
14471
14472 * config.in (HAVE_DBUS): Add.
14473
14474 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14475 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14476 (obj): Add $(DBUS_OBJ).
14477 (LIBES): Add $(DBUS_LIBS).
14478 (dbusbind.o): New target.
14479
14480 * dbusbind.c: New file.
14481
14482 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14483
14484 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14485 (Qdbus_event): New Lisp symbol.
14486 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14487 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14488 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14489
14490 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14491
144922007-12-01 Richard Stallman <rms@gnu.org>
14493
14494 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14495
144962007-11-30 Jason Rumney <jasonr@gnu.org>
14497
14498 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14499 (w32con_reset_terminal_modes): Clear screen buffer.
14500 (w32_face_attributes): Don't use color indexes that are out of range.
14501 Only reverse the default colors.
14502
14503 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14504 WINDOWSNT.
14505
14506 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14507
145082007-11-29 Jason Rumney <jasonr@gnu.org>
14509
14510 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14511 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14512 if the terminal colors are initialized.
14513 (unspecified_fg, unspecified_bg): Remove unused declarations.
14514
145152007-11-29 Andreas Schwab <schwab@suse.de>
14516
14517 * keyboard.c (apply_modifiers): Fix typo.
14518
145192007-11-29 Richard Stallman <rms@gnu.org>
14520
14521 * keymap.c (Fcurrent_local_map): Doc fix.
14522
145232007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14524
14525 * s/gnu-kfreebsd.h: New file.
14526
145272007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14528
14529 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14530 Don't cast redundantly.
14531
14532 * keyboard.c (KEY_TO_CHAR): New macro.
14533 (parse_modifiers, apply_modifiers): Accept integer arguments.
14534 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14535 for chars and symbol keys.
14536 After doing such remapping, apply function-key-map again.
14537
145382007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14539
14540 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14541 compiled anymore.
14542
145432007-11-26 Andreas Schwab <schwab@suse.de>
14544
14545 * process.c (list_processes_1): Fix indentation level of the
14546 command column.
14547
145482007-11-23 Andreas Schwab <schwab@suse.de>
14549
14550 * editfns.c (Fformat): Handle %c specially since it requires the
14551 argument to be of type int.
14552
145532007-11-23 Markus Triska <markus.triska@gmx.at>
14554
14555 * emacs.c (main): Call init_editfns before init_process, since
14556 init_process sets Vprocess_connection_type depending on OS release.
14557
145582007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14559
14560 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14561 (find_symbol_value): Use do_symval_forwarding.
14562
14563 * data.c (set_internal): Set the value in the `cons-cell' (for
14564 Buffer_Local_values) not only for frame-local variables.
14565
145662007-11-22 Andreas Schwab <schwab@suse.de>
14567
14568 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14569 values to sprintf.
14570 * keymap.c (Fsingle_key_description): Likewise.
14571 * print.c (print_object): Likewise.
14572
145732007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14574
14575 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14576 file for image is nil.
14577
145782007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14579
14580 * term.c: Include stdarg.h.
14581 (fatal): Implement using varargs.
14582 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14583
145842007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14585
14586 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14587 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14588 Update call to buffer_slot_type_mismatch.
14589 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14590 (buffer_slot_type_mismatch): Update.
14591 * buffer.c (buffer_local_types): Remove.
14592 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14593 (defvar_per_buffer): Set the type in the buffer_objfwd.
14594
145952007-11-21 Jason Rumney <jasonr@gnu.org>
14596
14597 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14598 CreateFileMapping returns NULL on failure.
14599
146002007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14601
14602 * search.c (Fset_match_data): Remove the `evaporate' feature.
14603 (unwind_set_match_data): Don't use the `evaporate' feature.
14604
146052007-11-21 Jason Rumney <jasonr@gnu.org>
14606
14607 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14608
14609 * w32console.c (w32con_write_glyphs): Remove unused variables.
14610
146112007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14612
14613 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14614
14615 * s/darwin.h (MULTI_KBOARD): Remove.
14616
14617 * macfns.c (x_create_tip_frame, Fx_create_frame)
14618 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14619
146202007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14621
14622 * buffer.c (Fbuffer_local_value): Remove redundant test.
14623 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14624 than in `current-buffer' to match the comment.
14625 Do the swap using swap_in_global_binding.
14626
14627 * data.c (store_symval_forwarding, set_internal):
14628 * eval.c (specbind): Remove dead code.
14629
14630 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14631 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14632 Since we do not want to see internal Lisp_*fwd objects here.
14633
146342007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14635
14636 * sysdep.c (init_system_name): Use getaddrinfo if available.
14637
14638 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14639 (x_scroll_bar_note_movement): start, end, with, height in struct
14640 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14641
146422007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14643
14644 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14645
146462007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14647
14648 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14649 This undoes Richard's change of 14-Oct-2002.
14650
14651 * alloc.c (allocate_other_vector):
14652 * lisp.h (allocate_other_vector): Remove.
14653
14654 * window.c (struct save_window_data): Move non-lisp data to the end
14655 and make it `int' rather than Lisp_Object.
14656 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14657 Done wrap/unwrap integer values.
14658 (Fset_window_configuration, compare_window_configurations):
14659 Update use of fields to their new types.
14660
14661 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14662 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14663 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14664 (SET_SCROLL_BAR_X_WINDOW): Remove.
14665 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14666 Access the new x_window field directly.
14667 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14668 Don't wrap/unwrap integers into Lisp_Objects.
14669 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14670 (x_scroll_bar_report_motion):
14671 Don't wrap/unwrap integers into Lisp_Objects.
14672 (x_term_init): Use SDATA.
14673 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14674 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14675 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14676 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14677 * xfns.c (x_set_background_color):
14678 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14679 Access the new x_window field directly.
14680
14681 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14682 (allocate_pseudovector): Make non-static.
14683
14684 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14685 (allocate_pseudovector): Declare.
14686 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14687
146882007-11-15 Andreas Schwab <schwab@suse.de>
14689
14690 * editfns.c (Fformat): Correctly format EMACS_INT values.
14691 Also take precision into account when formatting an integer.
14692
14693 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14694
146952007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14696
14697 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14698 (syms_of_keyboard): Defsubr it.
14699
14700 * data.c (swap_in_global_binding): Fix longstanding bug where
14701 store_symval_forwarding was not called with the right second argument,
14702 thus causing objfwd-ing from being dropped.
14703
147042007-11-14 Juanma Barranquero <lekktu@gmail.com>
14705
14706 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14707 (Fx_display_pixel_height, Fx_display_planes)
14708 (Fx_display_color_cells, Fx_server_max_request_size)
14709 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14710 (Fx_display_visual_class, Fx_display_save_under):
14711 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14712 (Fx_display_pixel_height, Fx_display_planes)
14713 (Fx_display_color_cells, Fx_server_max_request_size)
14714 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14715 (Fx_display_mm_height, Fx_display_mm_width)
14716 (Fx_display_backing_store, Fx_display_visual_class)
14717 (Fw32_select_font, Fx_display_save_under):
14718 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14719 (Fx_display_pixel_height, Fx_display_planes)
14720 (Fx_display_color_cells, Fx_server_max_request_size)
14721 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14722 (Fx_display_save_under): Fix typos in docstrings.
14723
147242007-11-14 Juanma Barranquero <lekktu@gmail.com>
14725
14726 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14727 corresponding to deleted entries; they are an implementation detail.
14728 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14729 Remove variables.
14730 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14731 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14732 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14733 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14734 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14735 (Fw32_define_rgb_color, Fw32_load_color_file)
14736 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14737 Fix typos in docstrings.
14738 (Fx_server_version): Reflow docstring.
14739 (Fw32_shell_execute): Doc fixes.
14740
147412007-11-13 Juanma Barranquero <lekktu@gmail.com>
14742
14743 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14744 if w32_parse_hot_key returned nil.
14745
147462007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14747
14748 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14749
147502007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14751
aac0c6e3
MR
14752 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14753
14754 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14755
14756 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14757 Remove W32_SCROLL_BAR_CLICK_EVENT.
14758
14759 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14760 Add MULTIMEDIA_KEY_EVENT.
14761
14762 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14763 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14764 (make_lispy_event) [WINDOWSNT]: Use it to translate
14765 MULTIMEDIA_KEY_EVENT.
14766
14767 * w32term.h (WM_APPCOMMAND): Define if not already.
14768 (GET_APPCOMMAND_LPARAM): Likewise.
14769
14770 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14771 WM_APPCOMMAND.
14772
14773 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14774 (syms_of_w32fns): Export and initialize it.
14775 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14776
147772007-11-09 Chong Yidong <cyd@stupidchicken.com>
14778
14779 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14780 twice.
14781
14782 * xdisp.c (handle_face_prop): Fix last change.
14783
147842007-11-09 Richard Stallman <rms@gnu.org>
14785
14786 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14787 not just for after-strings and before-strings.
14788 Call face_for_overlay_string and pass the overlay to it.
14789 (handle_display_prop): Determine whether property came from an overlay.
14790 Pass OVERLAY arg to handle_single_display_spec.
14791 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14792 (load_overlay_strings): Fill in it->string_overlays.
14793 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14794
14795 * xfaces.c (face_for_overlay_string): Function renamed from
14796 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14797
14798 * dispextern.h (struct it): New elt string_overlays.
14799 New elt from_overlay, also in stack.
14800 Rearrange a few elements.
14801 (face_for_overlay_string): Decl renamed from
14802 face_at_buffer_position_no_overlays, and add argument.
14803
148042007-11-09 Richard Stallman <rms@gnu.org>
14805
14806 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14807 to get the base face for an overlay string.
14808
14809 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14810
14811 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14812
14813 * xdisp.c (handle_stop): Move some code out of loop.
14814
148152007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14816
14817 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14818 Fix conversion from Lisp object to ATSUFontID.
14819
148202007-11-09 Jason Rumney <jasonr@gnu.org>
14821
14822 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14823
148242007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14825
14826 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14827 Don't assume regions are aligned to page boundary.
14828 (print_load_command_name): Add LC_UUID if defined.
14829
148302007-11-09 Richard Stallman <rms@gnu.org>
14831
14832 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14833
148342007-11-07 Jason Rumney <jasonr@gnu.org>
14835
14836 * s/windows95.h: Remove.
14837
148382007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14839
14840 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14841 abort with a message on unhandled store_type values.
14842
148432007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14844
14845 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14846 Remove HAVE_X11R5 and HAVE_X11R4.
14847
148482007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14849
14850 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14851
148522007-11-01 Johan Bockgård <bojohan@gnu.org>
14853
14854 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14855 Don't set s->stippled_p here, since it has already been set by
14856 x_set_glyph_string_gc from x_draw_glyph_string.
14857
148582007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14859
14860 * sunfns.c: Remove file.
14861
14862 * m/sun386.h:
14863 * m/sun2.h:
14864 * m/sparc.h: Remove Sun windows code.
14865
148662007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14867
14868 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14869 (init_keyboard): Set current_kboard's window-system to nil.
14870 (tty_read_avail_input): Typo.
14871 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14872
148732007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14874
14875 * s/usg5-4.h:
14876 * s/usg5-3.h:
14877 * s/ptx.h:
14878 * m/is386.h:
14879 * m/ibmps2-aix.h:
14880 * Makefile.in: Remove all mentions of X10.
14881
14882 * dispnew.c (syms_of_display): Don't mention version 10.
14883
148842007-10-28 Juanma Barranquero <lekktu@gmail.com>
14885
14886 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14887 ($(BLD)/abbrev.$(O)): Remove.
14888
148892007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14890
14891 Rewrite abbrev.c in Elisp.
14892 * image.c (Qcount): Don't declare as extern.
14893 (syms_of_image): Initialize and staticpro `Qcount'.
14894 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14895 * emacs.c (main): Don't call syms_of_abbrev.
14896 * Makefile.in (obj): Remove abbrev.o.
14897 (abbrev.o): Remove.
14898 * abbrev.c: Remove.
14899
149002007-10-26 Martin Rudalics <rudalics@gmx.at>
14901
14902 * window.c (window_min_size_2): Don't count header-line.
14903
149042007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14905
14906 * frame.h (struct frame): Move all bit fields after the first bit
14907 field to take advantage of the available space. Group all the
14908 chars together to reduce wasted space due to padding.
14909
149102007-10-26 Juanma Barranquero <lekktu@gmail.com>
14911
14912 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14913
14914 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14915 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14916 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14917 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14918 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14919 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14920 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14921 (last_marked, mark_object_loop_halt): Make static.
14922
14923 * frame.c (syms_of_frame) <delete-frame-functions>:
14924 Fix typo in docstring.
14925
149262007-10-25 Juanma Barranquero <lekktu@gmail.com>
14927
14928 * w32.c (init_environment): Fix tiny memory leak.
14929 (w32_get_resource): Remove unused variable `ok'.
14930
149312007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
14932
14933 Make `window-system' into a keyboard-local variable (rather than
14934 frame-local as done originally by multi-tty).
14935
14936 * keyboard.h (struct kboard): Add Vwindow_system.
14937 * keyboard.c (init_kboard): Set a default for Vwindow_system.
14938 (mark_kboards): Mark Vwindow_system.
14939
14940 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
14941 (init_display): Don't set the obsolete `window-system' frame-param.
14942
14943 * xterm.c (x_term_init):
14944 * w32term.c (w32_create_terminal):
14945 * term.c (init_tty): Set Vwindow_system.
14946 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
14947 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
14948
14949 * xfns.c (Fx_create_frame, x_create_tip_frame):
14950 * w32fns.c (Fx_create_frame, x_create_tip_frame):
14951 * macfns.c (Fx_create_frame):
14952 Don't set the obsolete `window-system' frame-param.
14953
14954 * frame.h (Qwindow_system): Remove.
14955 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
14956 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
14957
149582007-10-24 Richard Stallman <rms@gnu.org>
14959
14960 * frame.c (x_figure_window_size): For fullscreen case,
14961 set USPosition | PPosition without clobbering rest of window_prompting.
14962
14963 * keyboard.c (Fcurrent_idle_time): Doc fix.
14964
14965 * print.c (Fwith_output_to_temp_buffer): Doc fix.
14966
149672007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
14968
14969 * process.c (unwind_request_sigio): Only define if __ultrix__.
14970
14971 * callproc.c (child_setup): Remove spurious *.
14972
14973 * lisp.h (Fget_text_property): Declare.
14974 (have_menus_p): Declare it here rather than in sys-dep header files.
14975 * macterm.h (have_menus_p):
14976 * msdos.h (have_menus_p):
14977 * xterm.h (have_menus_p): Remove.
14978
14979 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
14980 (Fmake_variable_frame_local): Just check the variable's const-ness
14981 rather than checking nil or t.
14982
149832007-10-22 Jason Rumney <jasonr@gnu.org>
14984
14985 * w32fns.c: Include math.h.
14986 (w32_abort): Declaration moved to nt/config.nt.
14987
14988 * s/ms-w32.h (HAVE_STDLIB_H): Define.
14989 (abort): Redefinition moved to nt/config.nt.
14990
14991 * m/windowsnt.h: Remove.
14992
149932007-10-22 Juanma Barranquero <lekktu@gmail.com>
14994
14995 * emacs.c (Fdump_emacs): Fix typo in message.
14996 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
14997 <installation-directory>: Reflow docstring.
14998
149992007-10-22 Juri Linkov <juri@jurta.org>
15000
15001 * minibuf.c: Allow minibuffer default to be a list of default values.
15002 With empty input use the first element of this list as returned default.
15003 (string_to_object)
15004 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15005 (read_minibuf): If defalt is cons, set histstring to its car.
15006 (Fread_string): If default_value is cons, set val to its car.
15007 (Fread_buffer): If def is cons, use its car.
15008 (Fcompleting_read): If defalt is cons, set val to its car.
15009
150102007-10-21 Michael Albinus <michael.albinus@gmx.de>
15011
15012 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15013
150142007-10-20 Juanma Barranquero <lekktu@gmail.com>
15015
15016 * doc.c (Fdocumentation): Check for advice in all cases.
15017
150182007-10-19 Chong Yidong <cyd@stupidchicken.com>
15019
15020 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15021
150222007-10-19 Richard Stallman <rms@gnu.org>
15023
15024 * doc.c (Fdocumentation): Check for and handle an advised function.
15025
150262007-10-19 Juanma Barranquero <lekktu@gmail.com>
15027
15028 * process.c (Fset_process_filter): Doc fix.
15029
150302007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15031
15032 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15033 which caused key-translation-map to applied repeatedly (thus breaking
15034 double-mode).
15035
150362007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15037
15038 * xselect.c (x_own_selection, x_handle_selection_clear)
15039 (x_clear_frame_selections):
15040 * w32menu.c (list_of_panes, list_of_items):
15041 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15042 * textprop.c (validate_plist, interval_has_all_properties)
15043 (interval_has_some_properties, interval_has_some_properties_list)
15044 (add_properties, text_property_list):
15045 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15046 * minibuf.c (Fassoc_string):
15047 * macselect.c (x_own_selection, x_clear_frame_selections)
15048 (Fx_disown_selection_internal):
15049 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15050 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15051
150522007-10-17 Chong Yidong <cyd@stupidchicken.com>
15053
15054 * process.c: Link to libs for calling res_init() if available.
15055 (Fmake_network_process): Call res_init() before getaddrinfo or
15056 gethostbyname, if possible.
15057
150582007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15059
15060 * lread.c (read1): Set pvectype for char_tables.
15061
15062 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15063 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15064 Add type checks.
15065 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15066
15067 * alloc.c (free_misc): Use XMISCTYPE.
15068 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15069
150702007-10-17 Glenn Morris <rgm@gnu.org>
15071
15072 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15073 (syms_of_minibuf): Add Qcompletion_ignore_case.
15074 * dired.c (Qcompletion_ignore_case): Change to external.
15075 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15076 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15077 (Fread_file_name): Use it rather than intern'ing.
15078
15079 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15080 (Fread_coding_system): Ignore case of user input.
15081
150822007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15083
15084 * xdisp.c (handle_display_prop): Ignore display specs after
15085 replacing one when string text is being replaced.
15086 (handle_single_display_spec): Pretend as if characters with display
15087 property haven't been consumed only when buffer text is being replaced.
15088
150892007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15090
15091 * xfns.c (Fx_create_frame, Fx_display_list):
15092 * window.c (window_fixed_size_p, enlarge_window)
15093 (shrink_window_lowest_first):
15094 * macterm.c (init_font_name_table):
15095 * macfns.c (Fx_create_frame, Fx_display_list):
15096 * lread.c (close_load_descs):
15097 * keyboard.c (read_char_x_menu_prompt):
15098 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15099 * coding.c (code_convert_region_unwind): Test the type of an object
15100 rather than just !NILP before extracting data from it.
15101
15102 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15103
15104 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15105 (XMISCANY): New macro.
15106 (XMISCTYPE): Use it.
15107 (struct Lisp_Misc_Any): New type.
15108 (union Lisp_Misc): Use it.
15109 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15110 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15111 (find_symbol_value, set_internal, default_value, Fset_default)
15112 (Fmake_variable_buffer_local, Fmake_local_variable)
15113 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15114 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15115 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15116 * alloc.c (allocate_buffer): Set the size and tag.
15117 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15118 Use XMISCANY.
15119 (die): Follow the GNU convention for error messages.
15120 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15121 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15122 tag any more.
15123 (set_buffer_internal_1):
15124 * frame.c (store_frame_param):
15125 * eval.c (specbind):
15126 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15127
15128 * doc.c (Fsnarf_documentation): Simplify.
15129
151302007-10-14 Juanma Barranquero <lekktu@gmail.com>
15131
15132 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15133 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15134
151352007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15136
15137 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15138
151392007-10-14 Juanma Barranquero <lekktu@gmail.com>
15140
15141 * eval.c (do_autoload): Don't save autoloads.
15142
15143 * data.c (Ffset): Save autoload of the function being set.
15144
151452007-10-07 John Paul Wallington <jpw@pobox.com>
15146
15147 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15148 parameter before setting up faces.
15149
151502007-10-13 Eli Zaretskii <eliz@gnu.org>
15151
15152 * ccl.c (Fregister_code_conversion_map):
15153 * keyboard.c (append_tool_bar_item): Reformat last change.
15154
15155 * lisp.h (eabs): Rename from `abs'. All callers changed.
15156
151572007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15158
15159 * buffer.c (add_overlay_mod_hooklist):
15160 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15161 * fontset.c (make_fontset):
15162 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15163 (append_tool_bar_item):
15164 * macmenu.c (grow_menu_items):
15165 * w32menu.c (grow_menu_items):
15166 * xmenu.c (grow_menu_items): Use larger_vector.
15167
151682007-10-13 Eli Zaretskii <eliz@gnu.org>
15169
15170 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15171 selected frame'' on MSDOS).
15172
151732007-10-12 Martin Rudalics <rudalics@gmx.at>
15174
15175 * frame.c (Qexplicit_name): New variable.
15176 (x_report_frame_params): Report it in parameter alist.
15177 (syms_of_frame): Intern and staticpro it.
15178
151792007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15180
15181 * macfns.c (x_create_tip_frame): Set terminal for frame.
15182
151832007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15184
15185 * frame.c (Qenvironment): Remove.
15186 (syms_of_frame) <Qenvironment>: Don't initialize.
15187 (Fdelete_frame): Don't treat the `environment' param specially.
15188 * frame.h (Qenvironment): Don't declare.
15189 * callproc.c (set_initial_environment): Don't set unused frame param.
15190
15191 * frame.c (Fframe_with_environment): Remove.
15192 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15193
15194 * lisp.h (Fframe_with_environment): Don't declare.
15195
151962007-10-10 Juanma Barranquero <lekktu@gmail.com>
15197
15198 * indent.c (indent_tabs_mode, last_known_column)
15199 (last_known_column_modified): Make static.
15200 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15201
152022007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15203
15204 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15205
152062007-10-09 Jason Rumney <jasonr@gnu.org>
15207
15208 * w32term.c (x_set_window_size): Disable code that attempts to tell
15209 Lisp code about a size change before it actually happens.
15210
152112007-10-09 Richard Stallman <rms@gnu.org>
15212
15213 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15214 return HANDLED_RETURN.
15215
152162007-10-08 Martin Rudalics <rudalics@gmx.at>
15217
15218 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15219 when there's an unread command event.
15220
15221 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15222 window autoselection act appropriately when leaving selected frame.
15223 (syms_of_frame): Initialize focus_follows_mouse.
15224 * frame.h (focus_follows_mouse): Extern it.
15225 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15226 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15227 * msdos.c (dos_rawgetc): Likewise.
15228 * w32term.c (w32_read_socket): Likewise.
15229 * xterm.c (handle_one_xevent): Likewise.
15230 * xdisp.c (syms_of_xdisp): In doc-string of
15231 mouse-autoselect-window mention focus-follows-mouse.
15232
152332007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15234
15235 * macterm.c (mac_load_query_font): Fix missing return value.
15236 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15237 Add BLOCK_INPUT.
15238
152392007-10-08 Richard Stallman <rms@gnu.org>
15240
15241 * xdisp.c (get_window_cursor_type): Implement documented behavior
15242 for cursor-in-non-selected-windows = t.
15243
152442007-10-08 Jason Rumney <jasonr@gnu.org>
15245
15246 * w32.c (w32_get_resource): Always close registry keys.
15247
152482007-10-08 Jason Rumney <jasonr@gnu.org>
15249
15250 * makefile.w32-in (LIBS): Add COMCTL32.
15251
15252 * w32fns.c (globals_of_w32fns): Init common controls.
15253
152542007-10-08 Richard Stallman <rms@gnu.org>
15255
15256 * image.c (our_memory_buffer): Rename from omfib_buffer.
15257
152582007-10-08 Richard Stallman <rms@gnu.org>
15259
15260 * buffer.c (Foverlays_at): Doc fix.
15261
152622007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15263
15264 * fns.c (Fplist_put): Preserve uneven tail data.
15265
152662007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15267
15268 * termhooks.h (enum event_kind): Remove trailing comma.
15269
15270 * frame.h (enum): Remove trailing comma.
15271
152722007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15273
15274 * w32proc.c (delete_child): Don't terminate threads of zombies.
15275
152762007-10-08 Martin Rudalics <rudalics@gmx.at>
15277
15278 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15279
15280 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15281 last-repeatable-command.
15282 (init_kboard): Initialize Vlast_repeatable_command.
15283 (command_loop_1): Set it to real_this_command unless that was
15284 bound to an input event.
15285 (mark_kboards): Mark it.
15286
152872007-10-08 Richard Stallman <rms@gnu.org>
15288
15289 * eval.c (condition-case): Doc fix.
15290
152912007-10-08 Masatake YAMATO <jet@gyve.org>
15292
15293 * xfaces.c (tty_supports_face_attributes_p): Fix code
15294 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15295 was copied and not edited.
15296
152972007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15298
15299 Add new `input-decode-map' keymap and use it for terminal
15300 escape sequences.
15301 * keyboard.h (struct kboard): Add Vinput_decode_map.
15302 Remove Vlocal_key_translation_map.
15303 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15304 (init_kboard): Init input-decode-map.
15305 Replace local-key-translation-map back with key-translation-map.
15306 (syms_of_keyboard): Declare input-decode-map.
15307 Remove local-key-translation-map. Update docstrings.
15308 (mark_kboards): Mark Vinput_decode_map.
15309 Don't mark Vlocal_key_translation_map.
15310 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15311 Replace local-key-translation-map back with key-translation-map.
15312 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15313 Bind in input-decode-map rather than function-key-map.
15314
15315 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15316 This was made redundant by the previous introduction of XSETPVECTYPE.
15317
153182007-10-09 Richard Stallman <rms@gnu.org>
15319
15320 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15321
153222007-09-29 Richard Stallman <rms@gnu.org>
15323
15324 * eval.c (internal_condition_case_2, internal_condition_case_1)
15325 (internal_condition_case): Reenable abort if x_catching_errors ()
15326 to see if that really happens and why.
15327
153282007-10-06 Andreas Schwab <schwab@suse.de>
15329
15330 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15331
153322007-10-04 Juanma Barranquero <lekktu@gmail.com>
15333
15334 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15335
153362007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15337
15338 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15339
153402007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15341
15342 * window.h (struct window):
15343 * window.c (struct save_window_data, struct saved_window):
15344 * termhooks.h (struct terminal):
15345 * process.h (struct Lisp_Process):
15346 * frame.h (struct frame):
15347 * buffer.h (struct buffer):
15348 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15349 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15350 The size field of (pseudo)vectors is now unsigned.
15351 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15352
15353 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15354 Turn `count' into an integer.
15355
15356 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15357 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15358 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15359 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15360 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15361
15362 * alloc.c (allocate_pseudovector): New fun.
15363 (ALLOCATE_PSEUDOVECTOR): New macro.
15364 (allocate_window, allocate_terminal, allocate_frame)
15365 (allocate_process): Use it.
15366 (mark_vectorlike): New function.
15367 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15368 (mark_terminals): Use it.
15369 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15370 (Fmake_byte_code): Use XSETPVECTYPE.
15371
15372 * frame.c (Fframe_parameters): Minor simplification.
15373
15374 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15375
15376 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15377
15378 * buffer.c (Fget_buffer_create, init_buffer_once):
15379 * lread.c (defsubr):
15380 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15381
15382 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15383 defined differently in the m/*.h files.
15384 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15385 (XSETPVECTYPE): New macro.
15386 (XSETPSEUDOVECTOR): Use it.
15387
15388 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15389 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15390
15391 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15392 * lread.c (defvar_per_buffer):
15393 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15394
15395 * window.c (candidate_window_p): Only consider as visible frames that
15396 are on the same terminal.
15397
15398 * m/ibms390x.h (MARKBIT): Remove unused macro.
15399
154002007-10-01 Juanma Barranquero <lekktu@gmail.com>
15401
15402 * lread.c (Fload): Fix typo in docstring.
15403
154042007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15405
15406 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15407 of a non-zero value can't yield zero.
15408
154092007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15410
15411 * term.c (term_clear_mouse_face, term_mouse_highlight)
15412 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15413
15414 * print.c (safe_debug_print): Use XHASH.
15415
15416 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15417 Lisp elements such as tags.
15418 (XHASH): New macro.
15419 (EQ): Use it.
15420 (SREF, SSET, STRING_COPYIN): Use SDATA.
15421 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15422
15423 * alloc.c (mark_terminal): Remove left-over declaration.
15424 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15425 (allocate_vectorlike): Remove type argument. Adjust callers.
15426 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15427 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15428
15429 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15430 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15431 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15432 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15433 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15434 Use them.
15435
15436 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15437 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15438 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15439
154402007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15441
15442 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15443 loaded by default.
15444
154452007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15446
15447 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15448 on this tty.
15449 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15450
15451 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15452 Update all users.
15453 (handle_one_term_event): Use Gpm_DrawPointer.
15454 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15455 Signal errors instead of returning nil. Always return nil.
15456 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15457 Make it a noop if gpm-mouse was not activated.
15458 (syms_of_term): Update names.
15459
154602007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15461
15462 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15463 (init_sys_modes): Check that gpm_tty is the current tty.
15464
15465 * alloc.c (allocate_terminal): Set the vector size to only count the
15466 lisp fields. Initialize those to nil.
15467 (mark_object): Don't treat terminals specially.
15468 (mark_terminal): Remove.
15469 (mark_terminals): Use mark_object instead.
15470
15471 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15472 the GC to the beginning.
15473
15474 * indent.h:
15475 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15476
15477 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15478
154792007-09-25 Jason Rumney <jasonr@gnu.org>
15480
15481 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15482
15483 * w32console.c (create_w32cons_output): Remove.
15484
15485 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15486
15487 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15488 (reset_sys_modes): Use reset_terminal_modes_hook.
15489
154902007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15491
15492 * eval.c (do_autoload): Don't output any message.
15493
154942007-09-24 Juri Linkov <juri@jurta.org>
15495
15496 * emacs.c (standard_args): Change priority of "--no-splash"
15497 from 40 to 3. Add "--no-desktop" with the same priority.
15498
154992007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15500
15501 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15502 and optimize the case where they are all 1.
15503
155042007-09-23 Johannes Weiner <hannes@saeurebad.de>
15505
15506 * lisp.h (abs): Define if not defined.
15507 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15508 Don't define `abs', since it's defined in lisp.h.
15509
155102007-09-22 Eli Zaretskii <eliz@gnu.org>
15511
15512 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15513 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15514 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15515 (init_tty): Use DEV_TTY instead of "/dev/tty".
15516 [WINDOWSNT]: No need to protect from NAME arg being null.
15517
155182007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15519
15520 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15521 up the tty state.
15522
155232007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15524
15525 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15526 (gpm_tty): Change its type.
15527 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15528 (gpm_tty): Change its type and initialize it.
15529 (Fterm_open_connection): Check the frame is indeed a tty.
15530 Use the new gpm_tty.
15531 (Fterm_close_connection): Use the new gpm_tty.
15532 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15533 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15534
155352007-09-21 Juanma Barranquero <lekktu@gmail.com>
15536
15537 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15538 underline_color, to draw strike-through.
15539
155402007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15541
15542 * lisp.h (allocate_terminal): Declare.
15543
15544 * window.c (candidate_window_p): Consider frames that are being placed
15545 by the user as somewhere between visible and iconified.
15546 (window_loop): Prefer windows on the current frame.
15547 (Fselect_window): Move the use of select-frame to the beginning so we
15548 can just delegate all the work (it'll call us back anyway).
15549
15550 * frame.c (Qdisplay_environment_variable):
15551 * frame.h (Qdisplay_environment_variable): Delete.
15552
15553 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15554 of the first arg, since that value may be a union.
15555
15556 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15557 parameter rather than Qdisplay_environment_variable. If all else
15558 fails, look for DISPLAY in initial-environment.
15559
155602007-09-21 Glenn Morris <rgm@gnu.org>
15561
15562 * Makefile.in (emacstool): Remove target.
15563 (lisp, shortlisp): Remove termdev.elc.
15564
155652007-09-21 Markus Triska <markus.triska@gmx.at>
15566
15567 * xterm.c (x_delete_display): Compile session management conditionally.
15568
155692007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15570
15571 * callproc.c (getenv_internal_1): New function.
15572 (getenv_internal): Use it.
15573 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15574
15575 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15576 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15577 (Fset_terminal_parameter): Work with dead terminals as well.
15578 (Fmodify_terminal_parameters): Remove.
15579
15580 * terminal.c (get_terminal): Handle terminals.
15581 Make sure the terminal returned is live.
15582 (create_terminal): Use allocate_terminal.
15583 (mark_terminals): Move to alloc.c.
15584 (delete_terminal): Use terminal->name as liveness status.
15585 NULL out fields after freeing their contents.
15586 Don't deallocate the object.
15587 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15588 rather than an int.
15589 (Fterminal_live_p): Accept non-integer arguments.
15590 (Fterminal_list): Return terminal objects rather than an ints.
15591
15592 * alloc.c (enum mem_type): New member for `terminal' objects.
15593 (allocate_terminal): New function.
15594 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15595 Handle terminals.
15596 (mark_terminal): New fun.
15597 (mark_terminals): Move from terminal.c.
15598
15599 * term.c (get_tty_terminal): Don't treat output_initial specially.
15600 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15601 (delete_tty): Use terminal->name as liveness status.
15602
15603 * termhooks.h (struct terminal): Make it into a pseudovector.
15604 Remove `deleted' replaced by checking `name's nullness.
15605
15606 * print.c (print_object): Handle terminals.
15607
15608 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15609 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15610
15611 * frame.c (make_terminal_frame):
15612 * keyboard.c (tty_read_avail_input):
15613 * w32term.c (x_delete_terminal):
15614 * xfns.c (Fx_create_frame, x_create_tip_frame):
15615 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15616
156172007-09-20 Glenn Morris <rgm@gnu.org>
15618
15619 * process.c (Fmake_network_process): Doc fix.
15620
156212007-09-19 Jason Rumney <jasonr@gnu.org>
15622
15623 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15624
156252007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15626
15627 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15628 Fix a C warning regarding variable constness.
15629
15630 * xterm.c (handle_one_xevent): Fix a C warning.
15631
156322007-09-18 Jason Rumney <jasonr@gnu.org>
15633
15634 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15635
156362007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15637
15638 * gtkutil.c (gdpy_def): New variable.
15639 (xg_initialize): Initialize gdpy_def.
15640 (xg_display_close): If no other display exists, set gdpy_def to a
15641 new connection.
15642
156432007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15644
15645 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15646 when we have no file name for the icon.
15647 (xg_tool_bar_expose_callback): Remove.
15648 (xg_create_tool_bar): Don't connect expose signal to
15649 xg_tool_bar_expose_callback.
15650 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15651
156522007-09-16 Andreas Schwab <schwab@suse.de>
15653
15654 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15655 values instead of zapping them.
15656
156572007-09-14 Glenn Morris <rgm@gnu.org>
15658
15659 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15660 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15661 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15662 scope and rename to omfib_buffer for clarity.
15663 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15664
156652007-09-14 Kenichi Handa <handa@m17n.org>
15666
15667 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15668
156692007-09-13 Jason Rumney <jasonr@gnu.org>
15670
15671 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15672
15673 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15674
15675 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15676 (mac_term_init): Call here instead, passing rif.
15677
156782007-09-13 Glenn Morris <rgm@gnu.org>
15679
15680 * s/hpux.h: No longer define `static' as nothing.
15681
156822007-09-13 Johan Bockgård <bojohan@gnu.org>
15683
15684 * callint.c (Fcall_interactively): Remove unused var `fun'.
15685
156862007-09-12 Romain Francoise <romain@orebokech.com>
15687
15688 * window.c (prefer_window_split_horizontally, display_buffer):
15689 Revert 2007-09-08 change.
15690
156912007-09-12 Glenn Morris <rgm@gnu.org>
15692
15693 * alloca.c: Remove file.
15694 * Makefile.in (alloca): Do not undef.
15695 (allocaobj, alloca.o): Remove.
15696 (otherobj): Remove allocaobj.
15697 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15698 * regex.c (C_ALLOCA): Remove all references and code that was only
15699 used when this was defined.
15700 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15701 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15702 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15703
15704 * Makefile.in (SOURCES, unlock, relock): Delete.
15705
15706 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15707 (menu_grab_callback): All uses changed.
15708
15709 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15710 (x_reply_selection_request): All uses changed.
15711
157122007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15713
15714 * lread.c (load_warn_old_style_backquotes): Change message to look
15715 better when it appears in the middle of byte-compiler messages.
15716
157172007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15718
15719 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15720
15721 * xterm.c (x_create_terminal): Add comment.
15722
15723 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15724
157252007-09-10 Richard Stallman <rms@gnu.org>
15726
15727 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15728
157292007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15730
15731 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15732 (DEFUN): Document `intspec', use it instead of `prompt'.
15733
15734 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15735
15736 * data.c (Finteractive_form): If the interactive specification starts
15737 with a `(', use it as a Lisp form.
15738
15739 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15740 name and file modes.
15741
15742 * callint.c (Fcall_interactively): Comment fixes.
15743
157442007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15745
15746 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15747 and compiled functions.
15748
157492007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15750
15751 * window.c (prefer_window_split_horizontally): New variable.
15752 (display_buffer): Consider splitting window horizontally depending
15753 on prefer_window_split_horizontally.
15754
157552007-09-08 Eli Zaretskii <eliz@gnu.org>
15756
15757 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15758
157592007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15760
15761 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15762
15763 * frame.c (x_set_frame_parameters): Check number is positive before
15764 using XFASTINT.
15765
15766 * window.c (freeze_window_start): Don't presume selected_window holds
15767 a window object.
15768 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15769
157702007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15771
15772 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15773
157742007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15775
15776 * window.c (Vsplit_window_preferred_function): New var.
15777 (Fdisplay_buffer): Use it.
15778 (syms_of_window): Export, and initialize it.
15779
157802007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15781
15782 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15783
157842007-09-06 Glenn Morris <rgm@gnu.org>
15785
15786 * gtkutil.c (menu_grab_callback) <cnt>:
15787 * xselect.c (x_reply_selection_request) <cnt>: Move static
15788 variable to file scope.
15789
157902007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15791
15792 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15793 consistent values of selected_frame and selected_window.
15794
157952007-09-04 Jason Rumney <jasonr@gnu.org>
15796
15797 * w32console.c (initialize_w32_display): Zero unused hooks.
15798
157992007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15800
15801 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15802 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15803
158042007-09-04 Jason Rumney <jasonr@gnu.org>
15805
15806 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15807 in w32console.c. Set up input. Remove XXX comments that have been
15808 confirmed as correct.
15809
15810 * s/ms-w32.h (MULTI_KBOARD): Define.
15811
15812 * w32console.c (one_and_only_w32cons): Remove.
15813 (initialize_w32_display): Take terminal argument.
15814
15815 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15816 initialize_w32_display.
15817 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15818
15819 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15820
15821 * keyboard.c (discard_mouse_events): Discard it.
15822 (make_lispy_event): Translate it to a lisp event.
15823 (lispy_wheel_names): Add wheel-left and right events.
15824 (syms_of_keyboard): Enlarge wheel_syms.
15825
15826 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15827 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15828
15829 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15830
15831 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15832 from WM_MOUSEHWHEEL.
15833 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15834
15835 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15836 terminal.
15837
15838 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15839 keyboard for the terminal.
15840
158412007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15842
15843 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15844 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15845 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15846 and resume-tty-function to resume-tty-hook.
15847 (Fsuspend_tty, Fresume_tty): Use new names.
15848
158492007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15850
15851 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15852 if it starts with "n:".
15853
158542007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15855
15856 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15857
158582007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15859
15860 * frame.h:
15861 * frame.c (Qterm_environment_variable): Remove.
15862 (syms_of_frame): Don't init and staticpro it.
15863
15864 * callproc.c (getenv_internal): Remove special case for $TERM.
15865
15866 * callproc.c (Vinitial_environment): New variable.
15867 (set_initial_environment): Initialize it.
15868 (syms_of_callproc): Declare it.
15869 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15870 TERM under which a process runs is never related to the TERM in which
15871 Emacs is running.
15872
158732007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15874
15875 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15876 * s/darwin.h: ... do it here.
15877
158782007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15879
15880 * lisp.h (set_initial_environment): Rename from set_global_environment.
15881
15882 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15883 removed by mistake on the multi-tty branch.
15884
15885 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15886 (Fmodify_frame_parameters): Return a value.
15887
15888 * image.c (png_load): Comment-out var only used in commented-out code.
15889
15890 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15891 before passing it to mark_object.
15892
15893 * xfaces.c (internal_resolve_face_name): Return a value.
15894 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15895
15896 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15897 (x_icon): Comment-out var only used in commented-out code.
15898
158992007-08-29 Romain Francoise <romain@orebokech.com>
15900
15901 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15902 QUIT hasn't been provided.
15903
159042007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15905
15906 * callproc.c (child_setup, getenv_internal): Use the
15907 display-environment-variable and term-environment-variable frame params.
15908 (set_initial_environment): Initialise Vprocess_environment.
15909
15910 * config.in: Disable multi-keyboard support on a mac.
15911
15912 * frame.c (Qterm_environment_variable)
15913 (Qdisplay_environment_variable): New variables.
15914 (syms_of_frame): Intern and staticpro them.
15915 (Fmake_terminal_frame): Disable output method test.
15916
15917 * frame.h: Declare them here.
15918
15919 * macfns.c (x_set_mouse_color): Get rif from the frame.
15920 (x_set_tool_bar_lines): Don't use updating_frame.
15921 (mac_window): Add 2 new parameters for consistency with other systems.
15922 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15923 frame parameters following what is done in X11 and w32. Don't use
15924 FRAME_MAC_DISPLAY_INFO.
15925 (Fx_open_connection, start_hourglass): Remove window-system check.
15926 (x_create_tip_frame): Get the keyboard from the terminal.
15927
15928 * macmenu.c: Reorder includes.
15929 (Fx_popup_menu): Use terminal specific mouse_position_hook.
15930
15931 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
15932 terminal parameter.
15933 (x_clear_frame): Add a frame parameter.
15934 (note_mouse_movement): Get rif from the frame.
15935 (mac_term_init): Initialize the terminal.
15936 (mac_initialize): Make static and move terminal initialization ...
15937 (mac_create_terminal): ... to this new function.
15938
15939 * macterm.h (struct mac_display_info): Add terminal.
15940 (mac_initialize): Delete declaration.
15941
15942 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
15943
15944 * sysdep.c: Comment out text after #endif.
15945
15946 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
15947 is defined. Better initialize ttys in windows. Use terminal
15948 specific mouse_position_hook.
15949
15950 * termhooks.h (union display_info): Add mac_display_info.
15951
15952 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
15953 Set the default minibuffer frame, window_system and the rest of the
15954 frame parameters following what is done in X11.
15955
15956 * w32term.c (w32_initialize): Make static.
15957
15958 * xselect.c (x_handle_selection_clear): Only access
15959 terminal->kboard when MULTI_KBOARD is defined.
15960
15961 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
15962 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
15963
159642007-08-29 Jason Rumney <jasonr@gnu.org>
15965
15966 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
15967 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
15968
15969 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
15970 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
15971
15972 * keyboard.c (restore_kboard_configuration): Only define when
15973 MULTI_KBOARD defined.
15974
15975 * makefile.w32-in: Update dependancies from Makefile.in.
15976 (OBJ1): Add terminal.$(O)
15977
15978 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
15979 Don't define function body.
15980 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
15981
15982 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
15983
15984 * w32.c (request_sigio, unrequest_sigio): Remove.
15985
15986 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
15987 (w32con_clear_frame, w32con_clear_end_of_line)
15988 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
15989 (w32con_delete_glyphs, w32con_set_terminal_window)
15990 (scroll_line, w32_sys_ring_bell): Add frame arg.
15991 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
15992 Add terminal arg.
15993 (PICK_FRAME): Remove.
15994 (w32con_write_glyphs): Use frame specific terminal coding.
15995 (one_and_only_w32cons): New global variable.
15996 (initialize_w32_display): Use it for storing hooks.
15997 (create_w32cons_output): New function.
15998
15999 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16000 arg a frame.
16001
16002 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16003 Set window_system.
16004 (x_set_tool_bar_lines): Don't use updating_frame.
16005 (Fx_create_frame): Set terminal and ref count.
16006 (Fx_open_connection): Remove window-system check.
16007
16008 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16009
16010 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16011 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16012 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16013 Add frame arg.
16014 (x_delete_terminal, w32_create_terminal): New functions.
16015 (w32_term_init): Create a terminal.
16016 (w32_initialize): Move terminal specific initialization to
16017 w32_create_terminal.
16018
16019 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16020 (w32_clear_rect, w32_clear_area): Use background from frame.
16021 (w32_display_info): Add terminal.
16022 (w32_sys_ring_bell, x_delete_display): Declare here.
16023
16024 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16025
16026 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16027
160282007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16029
16030 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16031 Fix get_named_tty calls for the controlling tty.
16032
160332007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16034
16035 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16036
160372007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16038
16039 * term.c (tty_insert_glyphs): Add missing first parameter.
16040
160412007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16042
16043 * buffer.c (Fbuffer_list, Fbury_buffer):
16044 Take frame->buried_buffer_list into account.
16045
16046 * cm.c (current_tty): New variable, for cmputc().
16047 (cmputc): Use it.
16048 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16049 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16050 (cmgoto): Add tty parameter. Pass it on to calccost().
16051 Use emacs_tputs() instead of tputs().
16052
16053 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16054 tputs().
16055 (current_tty): New variable, for cmputc().
16056 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16057
16058 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16059 (internal_condition_case, internal_condition_case_1)
16060 (internal_condition_case_2): Don't abort when x_catching_errors.
16061
16062 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16063 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16064 prevent crashes caused by bogus longjmps in read_char.
16065
16066 * keymap.h (Fset_keymap_parent): Add EXFUN.
16067
16068 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16069 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16070 Remove redundant definition.
16071
16072 * macfns.c (x_set_mouse_color, x_make_gc):
16073 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16074
16075 * w32term.c (x_free_frame_resources):
16076 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16077 (w32_initialize): Use the accessor macros for terminal characteristics.
16078
16079 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16080 Use the accessor macros for terminal characteristics.
16081 * msdos.c (internal_terminal_init): Use the accessor macros for
16082 terminal characteristics.
16083 (ScreenVisualBell, internal_terminal_init):
16084 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16085
16086 * termopts.h (no_redraw_on_reenter): Declare.
16087
16088 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16089 (mark_terminals, mark_ttys): Declare.
16090 (Fgarbage_collect): Call them.
16091 (mark_object): Mark buried_buffer_list.
16092
16093 * prefix-args.c: Include stdlib.h for exit.
16094
16095 * syssignal.h: Add comment.
16096
16097 * indent.c: Include stdio.h.
16098
16099 * window.h (Vinitial_window_system): Declare.
16100 (Vwindow_system): Delete declaration.
16101
16102 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16103
16104 * image.c (lookup_image): Don't initialize `c' until the xasserts
16105 have been run.
16106
16107 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16108 FRAME_FOREGROUND_PIXEL.
16109
16110 * print.c (print_preprocess): Don't lose print_depth levels while
16111 iterating.
16112
16113 * widget.c (update_from_various_frame_slots):
16114 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16115
16116 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16117 frames.
16118 (window_internal_height): Remove bogus make_number call.
16119 (init_window_once): Call make_terminal_frame with two zero parameters.
16120
16121 * fileio.c (Fread_file_name): Update comment.
16122
16123 * callint.c (Fcall_interactively):
16124 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16125 Make sure it is correctly unwound.
16126
16127 * xsmfns.c (x_session_close): New function.
16128
16129 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16130 Delete declarations.
16131
16132 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16133 (x_output): Remove background_pixel and foreground_pixel fields.
16134 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16135 (x_delete_device, x_session_close): Declare.
16136
16137 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16138 (read_filtered_event): Call `read_char' with a local
16139 `wrong_kboard_jmpbuf'.
16140
16141 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16142 Don't call single_kboard_state. Use FRAME_RIF.
16143
16144 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16145 systems.
16146
16147 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16148 (Fframe_with_environment, Fset_input_meta_mode)
16149 (Fset_quit_char): EXFUN.
16150 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16151 (init_sys_modes, reset_sys_modes): Update prototypes.
16152 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16153
16154 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16155 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16156 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16157 Delete declarations.
16158 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16159 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16160 New declarations.
16161
16162 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16163 already does that during init_display(). Call syms_of_keymap
16164 before syms_of_keyboard. Call `syms_of_terminal'.
16165 Call set_initial_environment, not set_process_environment.
16166 (shut_down_emacs): Call reset_all_sys_modes() instead of
16167 reset_sys_modes().
16168
16169 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16170 (internal_resolve_face_name, resolve_face_name_error): New functions.
16171 (resolve_face_name): Protect against loops and errors thrown by Fget.
16172 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16173 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16174
16175 * scroll.c: Replace CURTTY() with local variables throughout the
16176 file (where applicable).
16177 (calculate_scrolling, calculate_direct_scrolling)
16178 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16179 characteristics.
16180
16181 * keymap.c (Vfunction_key_map): Remove.
16182 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16183 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16184 (Vkey_translation_map): Remove.
16185 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16186 (Fdescribe_buffer_bindings)
16187 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16188 Update for terminal-local key-translation-map.
16189
16190 * Makefile.in (callproc.o): Update dependencies.
16191 (lisp, shortlisp): Add termdev.elc.
16192 (obj): Add terminal.o.
16193 (terminal.o): Add dependencies.
16194 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16195 (data.o, fns.o): Add termhooks.h dependency.
16196 (SOME_MACHINE_LISP): Add dnd.elc.
16197 (minibuf.o): Fix typo.
16198 Update dependencies.
16199
16200 * data.c (do_symval_forwarding, store_symval_forwarding)
16201 (find_symbol_value): Use the selected frame's keyboard, not
16202 current_kboard.
16203
16204 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16205 Vwindow_system.
16206
16207 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16208 Fmenu_bar_open.
16209 (syms_of_xmenu): Update defsubr.
16210 (mouse_position_for_popup, Fx_popup_menu)
16211 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16212 (set_frame_menubar, free_frame_menubar)
b97439ce 16213 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16214 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16215 an X frame.
16216
16217 * xselect.c (x_own_selection): Abort if not an X frame.
16218 (some_frame_on_display): Check if it is an X frame.
16219 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16220
16221 * coding.c: Include frame.h and termhooks.h.
16222 (terminal_coding, keyboard_coding): Delete.
16223 (Fset_terminal_coding_system_internal)
16224 (Fset_keyboard_coding_system_internal)
16225 (Fkeyboard_coding_system)
16226 (Fterminal_coding_system): Add a terminal parameter.
16227 Get terminal_coding from the terminal.
16228 (init_coding_once): Don't call setup_coding_system here.
16229
16230 * dispextern.h (set_scroll_region, turn_off_insert)
16231 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16232 (tty_clear_end_of_line, tty_setup_colors)
16233 (delete_tty, updating_frame)
16234 (produce_special_glyphs, produce_glyphs, write_glyphs)
16235 (insert_glyphs): Remove.
16236 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16237 (tty_turn_off_highlight, get_tty_size): Add declaration.
16238 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16239
16240 * frame.h (enum output_method): Add output_initial.
16241 (struct x_output): Delete.
16242 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16243 Access foreground_pixel and background_pixel directly from the frame.
16244 (tty_display): Delete.
16245 (struct frame): Add buried_buffer_list, foreground_pixel,
16246 background_pixel and terminal. Delete kboard.
16247 (union output_data): Add tty.
16248 (FRAME_KBOARD): Get the kboard from the terminal.
16249 (FRAME_INITIAL_P): New macro.
16250 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16251 (Qterm_environment_variable, Qdisplay_environment_variable)
16252 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16253 New declarations.
16254
16255 * termchar.h (tty_output, tty_display_info): New structures.
16256 (tty_list): Declare.
16257 (FRAME_TTY, CURTTY): New macros.
16258 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16259 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16260 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16261 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16262
16263 * callproc.c: Include frame.h and termhooks.h, for terminal
16264 parameters.
16265 (add_env): New function.
16266 (child_setup): Use it.
16267 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16268 (getenv_internal): Fix get_terminal_param call.
16269 (Fgetenv_internal, egetenv): Update doc.
16270 (syms_of_callproc): Initialize Vprocess_environment to nil.
16271 Register and initialize them. Remove obsolete defvars. Update doc
16272 strings.
16273 (child_setup): Handle Vlocal_environment_variables.
16274 (getenv_internal): Add terminal parameter.
16275 Handle Vlocal_environment_variables.
16276 (Fgetenv_internal): Add terminal parameter.
16277 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16278 environment in a frame (not terminal) parameter. Update doc strings.
16279 (set_initial_environment): Rename from set_global_environment.
16280 Store Emacs environment in initial frame parameter.
16281
16282 * xdisp.c (redisplay_internal): Update references to
16283 `previous_terminal_frame'.
16284 (display_mode_line, Fformat_mode_line): Replace calls to
16285 `push_frame_kboard' with `push_kboard'.
16286 (get_glyph_string_clip_rects): Add extra parentheses and
16287 braces to prevent compiler warnings.
16288 (calc_pixel_width_or_height): Add xassert to check that the
16289 frame is alive. Don't call `lookup_image' on a termcap frame.
16290 (message2_nolog, message3_nolog, redisplay_internal)
16291 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16292 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16293 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16294 (Fx_display_pixel_width, Fx_display_pixel_height)
16295 (Fx_display_planes, Fx_display_color_cells)
16296 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16297 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16298 (Fx_display_backing_store, Fx_display_visual_class)
16299 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16300 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16301
16302 * xfns.c (x_set_foreground_color x_set_background_color)
16303 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16304 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16305 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16306 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16307 terminal that is being deleted.
16308 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16309 frame parameter, and make sure it overrides any user-supplied setting.
16310 (Fx_close_connection, Fx_synchronize): Unify argument names with
16311 the rest of the DEFUNs.
16312
16313 * dispnew.c (Fsend_string_to_terminal): Update call to
16314 `get_tty_terminal'.
16315 (Fredraw_frame, Fsend_string_to_terminal)
16316 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16317 FRAME_TERMCAP_P and FRAME_TTY.
16318 (window_change_signal): Don't believe width/height values that are
16319 impossibly small.
16320 (Vinitial_window_system): Rename from Vwindow_system.
16321 (termscript, Wcm, rif): Delete.
16322
16323 * termhooks.h (struct terminal): New struct containing the
16324 previously global text display hooks and new members NAME,
16325 DELETED and PARAM_ALIST.
16326 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16327 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16328 (FRAME_RIF): New macros.
16329 (get_terminal_param, get_device): New declarations.
16330 (termscript): Delete declaration.
16331
16332 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16333 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16334 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16335 FRAME_FOREGROUND_PIXEL.
16336 (x_fully_uncatch_errors): Disable definition.
16337 (x_scroll_bar_expose): Fix reference to foreground pixel.
16338 (XTread_socket): Disable loop on all X displays.
16339 (x_delete_terminal): Don't set terminal->deleted and let
16340 delete_terminal delete the frames on the terminal.
16341 (x_delete_display): Doc update to reflect changes in
16342 delete_terminal.
16343 (x_display_info) <terminal>: Move member earlier in the struct.
16344 (deleting_tty): Remove old variable.
16345 (Fsuspend_tty): Call clear_tty_hooks.
16346 (Fresume_tty, init_tty): Call set_tty_hooks.
16347 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16348 errors on X frames.
16349 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16350 (handle_one_xevent): Initialize `f' to NULL.
16351 (x_delete_terminal, x_create_terminal): New functions.
16352 (XTset_terminal_modes, XTreset_terminal_modes)
16353 (XTread_socket, x_connection_closed, x_term_init)
16354 (x_term_init, x_delete_display): Add terminal parameter.
16355 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16356 X connections.
16357
16358 * frame.c: Include termchar.h.
16359 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16360 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16361 (Qdisplay_environment_variable): New vars.
16362 (Fframep): Deal with output_initial.
16363 (Fframe-live-p): Doc fix.
16364 (Fwindow-system): New function.
16365 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16366 (make_terminal_frame): Don't create frames on a terminal that is
16367 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16368 (store_frame_param): Check for found_for_frame before calling XFRAME.
16369 (Fmake_terminal_frame): Handle NULL tty names correctly.
16370 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16371 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16372 frames to refer to a deleted frame in their 'environment parameter.
16373 (Fframe_with_environment): New function.
16374 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16375 (get_future_frame_param): New function.
16376 (Fmake_terminal_frame): Use it.
16377 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16378
16379 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16380 * sysdep.c (reset_sys_modes): Update for renames.
16381
16382 * keyboard.c (tty_read_avail_input): New function.
16383 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16384 (syms_of_keyboard): Defsubr them.
16385 (Fset_input_meta_mode, Fset_quit_char): New functions.
16386 (Fset_input_mode): Split to above functions.
16387 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16388 parameter. Use it in call to `read_char'.
16389 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16390 Set wrong_kboard_jmpbuf correctly in recursive calls.
16391 Use current_kboard to access Vkeyboard_translate_table.
16392 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16393 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16394 Update longjmp invocations. Remember the original current_kboard,
16395 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16396 changes it. Comment out unnecessary calls to
16397 `record_single_kboard_state' and `any_kboard_state'.
16398 Update recursive calls.
16399 (wrong_kboard_jmpbuf): Remove global variable.
16400 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16401 Handle deleted interrupted_kboards correctly; that is a legal
16402 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16403 and read_char calls. Abort if interrupted_kboard died in read_char.
16404 (any_kboard_state, single_kboard_state)
16405 (push_frame_kboard): Remove function.
16406 (pop_kboard): Switch out of single_kboard mode if the kboard has
16407 been deleted. Remove unused variable. Help debugging by not
16408 changing current_kboard unnecessarily. Set current_kboard to the
16409 kboard of the selected frame when the stored kboard object has
16410 been deleted before pop_kboard.
16411 (temporarily_switch_to_single_kboard): Change first parameter to a
16412 frame pointer. Throw an error when caller wants to change kboards
16413 while in single_kboard mode. Don't push_kboard if we weren't in
16414 single kboard state. Don't pop_kboard if we popped into any
16415 kboard state.
16416 (restore_kboard_configuration): Abort if pop_kboard changed the
16417 kboard in single_kboard mode. Call pop_kboard only after setting
16418 up single_kboard mode.
16419 (Frecursive_edit): Switch to single_kboard mode only in nested
16420 command loops.
16421 (cmd_error, command_loop, command_loop_1, timer_check):
16422 Comment out unnecessary call to `any_kboard_state' and
16423 `record_single_kboard_state'.
16424 (delete_kboard): Exit single_kboard mode if we have just deleted
16425 that kboard. Use FRAME_KBOARD.
16426 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16427 `fatal_error_signal'.
16428 (record_single_kboard_state): Don't push_kboard if we weren't in
16429 single kboard state. Don't pop_kboard if we popped into any
16430 kboard state.
16431 (push_frame_kboard): Rename to push_kboard.
16432 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16433 (read_avail_input): Read input from all terminals.
16434 (mark_kboards): Also mark Vkeyboard_translate_table.
16435 (kbd_buffer_store_event_hold): Simplify condition.
16436 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16437 (Vkeyboard_translate_table): Move to struct kboard.
16438 (init_kboard): Initialize Vkeyboard_translate_table.
16439 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16440 Vkeyboard_translate_table. Update doc strings. Update docs of
16441 local-function-key-map and function-key-map.
16442
16443 * terminal.c: New file.
16444
16445 * term.c: Include errno.h.
16446 (Vring_bell_function, device_list, initial_device)
16447 (next_device_id, ring_bell, update_begin, update_end)
16448 (set_terminal_window, cursor_to, raw_cursor_to)
16449 (clear_to_end, clear_frame, clear_end_of_line)
16450 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16451 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16452 (syms_of_term): Move their initialization to terminal.c.
16453 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16454 (Ftty_display_color_cells)
16455 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16456 (clear_tty_hooks, set_tty_hooks)
16457 (init_tty, maybe_fatal): New functions.
16458 (Ftty_type): Return nil if terminal is not on a tty instead of
16459 throwing an error. Doc update.
16460 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16461 Doc update. Initialize new subrs and variables.
16462 (delete_tty): Use terminal->deleted.
16463 (tty_set_terminal_modes): Rename from set_terminal_modes.
16464 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16465 (set_scroll_region): Rename to `tty_set_scroll_region'.
16466 (turn_on_insert): Rename to `tty_turn_on_insert'.
16467 (turn_off_insert): Rename to `tty_turn_off_insert'.
16468 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16469 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16470 (toggle_highligh): Rename to `tty_toggle_highlight'.
16471 (background_highlight): Rename to `tty_background_highlight'.
16472 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16473 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16474 (tty_set_scroll_region, tty_background_highlight)
16475 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16476 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16477 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16478 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16479 Add static modifier.
16480 (tty_reset_terminal_modes, tty_set_terminal_window)
16481 (tty_set_scroll_region, tty_background_highlight)
16482 (tty_highlight_if_desired, tty_cursor_to)
16483 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16484 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16485 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16486 renames.
16487
164882007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16489
16490 * keyboard.c: Qrtl is new.
16491 (parse_tool_bar_item): Handle :rtl keyword.
16492 (syms_of_keyboard): Intern :rtl keyword.
16493
16494 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16495
16496 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16497 so no Lisp code is executed.
16498 (file_for_image, find_rtl_image): New functions.
16499 (xg_get_image_for_pixmap): Use file_for_image.
16500 (update_frame_tool_bar): If direction is RTL, use RTL image if
16501 defined. Use Gtk stock images if defined.
16502
165032007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16504
16505 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16506 for nonexistent or zero-width glyph in composition glyph.
16507
165082007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16509
16510 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16511
16512 * xdisp.c (Finvisible_p): New function.
16513 (syms_of_xdisp): defsubr it.
16514
165152007-08-24 Juanma Barranquero <lekktu@gmail.com>
16516
16517 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16518 Doc fixes.
16519
165202007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16521
16522 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16523
165242007-08-24 Martin Rudalics <rudalics@gmx.at>
16525
16526 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16527 whether decoding has modified buffer contents.
16528
165292007-08-24 Jason Rumney <jasonr@gnu.org>
16530
16531 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16532 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16533 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16534 (init_svg_functions) [HAVE_NTGUI]: New function.
16535 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16536 (svg_load_image): Use them.
16537 (svg_load_image) [HAVE_NTGUI]: Implement background.
16538
165392007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16540
16541 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16542 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16543 (LIBX): Remove @RSVG_LIBS@.
16544 (LIBES): Add $(RSVG_LIBS).
16545
16546 * image.c (svg_load_image): Blend with specified background if exists.
16547 Use IMAGE_BACKGROUND. Add Mac OS Support.
16548
16549 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16550 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16551 Remove macros.
16552 [MAC_OSX] (socket_callback): Do nothing.
16553 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16554 ReceiveNextEvent.
16555 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16556 socket_callback.
16557 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16558
165592007-08-22 Glenn Morris <rgm@gnu.org>
16560
16561 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16562
165632007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16564
16565 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16566
16567 * image.c: Add support for SVG images. Some additional comments
16568 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16569 (svg_image_p): New function to test for SVG image.
16570 (svg_load): New function to load SVG image.
16571 (svg_load_image): New function, helper for svg_load.
16572 (Qsvg): New Lisp_object.
16573 (svg_keyword_index): New enum.
16574 (svg_format): New static `image_keyword' struct.
16575 (svg_type): New static `image_type' struct.
16576 (librsvg/rsvg.h): Include it.
16577
165782007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16579
16580 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16581
165822007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16583
16584 * lread.c (Qold_style_backquotes): New var.
16585 (syms_of_lread): Init and staticpro it.
16586 (load_warn_old_style_backquotes): New fun.
16587 (Fload): Use them to warn about old style backquotes.
16588 (end_of_file_error, Fload): Remove unused vars.
16589
16590 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16591
16592 * lread.c (Vold_style_backquotes): New var.
16593 (syms_of_lread): Init and export it to Elisp.
16594 (read1): Set it when we find an old-style (back)quote.
16595
165962007-08-22 Jason Rumney <jasonr@gnu.org>
16597
16598 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16599
166002007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16601
16602 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16603
166042007-08-19 Richard Stallman <rms@gnu.org>
16605
16606 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16607
166082007-08-19 Andreas Schwab <schwab@suse.de>
16609
16610 * alloc.c (pure): Round PURESIZE up.
16611
166122007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16613
16614 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16615 active frame.
16616
166172007-08-16 Richard Stallman <rms@gnu.org>
16618
16619 * eval.c (Fcommandp): Add parens to clarify.
16620
16621 * minibuf.c (Fall_completions): Use enum for type of table.
16622
16623 * emacs.c (USAGE2): Improve text.
16624
166252007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16626
16627 * term.c (tty_default_color_capabilities): Declare static
16628 variables in file scope, to avoid HPUX compiler problem.
16629
166302007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16631
16632 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16633 to gtk_toolbar_insert.
16634
166352007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16636
16637 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16638
16639 * insdel.c (reset_var_on_error): New fun.
16640 (signal_before_change, signal_after_change):
16641 Use it to reset (after|before)-change-functions to nil in case of error.
16642 Bind inhibit-modification-hooks to t.
16643 Don't bind (after|before)-change-functions to nil while they run.
16644
166452007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16646
16647 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16648 filling pixmap with stippled background.
16649
166502007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16651
16652 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16653 Don't use invisible frame as parent window for repositioning.
16654
166552007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16656
16657 * print.c (new_backquote_output): Rename from old_backquote_output.
16658 (print): Inverse its logic (according to its name) so as to match the
16659 behavior of new_backquote_flag in lread.c.
16660
166612007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16662
16663 * gmalloc.c (posix_memalign): New function.
16664
16665 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16666 ActivateControl/DeactivateControl here.
16667 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16668 frame-notice-user-settings is non-nil.
16669 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16670 for kEventParamFMFontStyle.
16671 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16672 mac_pass_command_to_system and mac_pass_control_to_system here.
16673 (XTread_socket): Call ActivateControl/DeactivateControl here.
16674 (XTread_socket) [TARGET_API_MAC_CARBON]:
16675 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16676 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16677 for window repositioning.
16678
166792007-08-08 Glenn Morris <rgm@gnu.org>
16680
16681 * Replace `iff' in doc-strings and comments.
16682
166832007-08-07 Chong Yidong <cyd@stupidchicken.com>
16684
16685 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16686
166872007-08-07 Martin Rudalics <rudalics@gmx.at>
16688
16689 * fileio.c (Finsert_file_contents): Run format-decode and
16690 after_insert_file_functions on entire buffer when REPLACE is
16691 non-nil and inhibit modification_hooks and point_motion_hooks.
16692 For consistency, run after_insert_file_functions iff something
16693 got inserted. Move signal_after_change and update_compositions
16694 after code running after_insert_file_functions. Make sure that
16695 undo_list doesn't record intermediate steps of the decoding process.
16696
166972007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16698
16699 * emacs.c (main)
16700 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16701 Call malloc_enable_thread on interactive startup.
16702
16703 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16704 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16705 [USE_PTHREAD]: Conditionalize with it.
16706 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16707 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16708 New functions.
16709
167102007-08-06 Chong Yidong <cyd@stupidchicken.com>
16711
16712 * xdisp.c (redisplay_window): When restoring original buffer
16713 position, make sure it is still valid.
16714
16715 * image.c (png_load): Ignore png-supplied background color.
16716
167172007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16718
16719 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16720 Use kCFAbsoluteTimeIntervalSince1970.
16721
16722 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16723 New variable.
16724 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16725 event loop should be quit.
16726 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16727 Quit dialog event loop if quit_dialog_event_loop is set.
16728
16729 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16730 (Selection): New typedef. Use instead of ScrapRef.
16731 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16732 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16733 (mac_clear_selection): Rename from clear_scrap.
16734 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16735 scrap_has_target_type. All uses changed.
16736 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16737 (mac_selection_has_target_p): New functions.
16738 (mac_put_selection_value): Rename from put_scrap_string.
16739 (mac_get_selection_value): Rename from get_scrap_string.
16740 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16741 (put_scrap_private_timestamp, scrap_has_target_type)
16742 (get_scrap_private_timestamp): Remove functions.
16743 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16744 (x_own_selection, x_get_local_selection):
16745 Use mac_valid_selection_value_p.
16746 (x_own_selection): Don't use put_scrap_private_timestamp.
16747 Record OWNERSHIP-INFO into Vselection_alist instead.
16748 (x_get_local_selection): Don't check type if request is local.
16749 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16750 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16751
167522007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16753
16754 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16755 add comment explaining why.
16756
167572007-08-03 Richard Stallman <rms@gnu.org>
16758
16759 * fileio.c (Fvisited_file_modtime): Use make_time.
16760
167612007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16762
16763 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16764 build.
16765
167662007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16767
16768 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16769
167702007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16771
16772 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16773
167742007-07-30 Richard Stallman <rms@gnu.org>
16775
16776 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16777
167782007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16779
16780 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16781
167822007-07-28 Nick Roberts <nickrob@snap.net.nz>
16783
16784 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16785 remote default-directory.
16786
16787 * buffer.c (mode-line-format): Update doc string.
16788
167892007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16790
16791 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16792 scroll bar gap.
16793 (x_scroll_bar_create): Set bar->fringe_extended_p.
16794 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16795 on frame edge. Check fringe background extension. Don't clear
16796 extended fringe background area.
16797
16798 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16799 (w32_fill_area): Enclose multiple statements with do ... while (0).
16800
16801 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16802 Extend fringe background to scroll bar gap.
16803 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16804 Set bar->fringe_extended_p.
16805 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16806 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16807 background extension. Don't clear extended fringe background area.
16808
16809 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16810 New member fringe_extended_p.
16811
168122007-07-25 Glenn Morris <rgm@gnu.org>
16813
16814 * Relicense all FSF files to GPLv3 or later.
16815
16816 * COPYING: Switch to GPLv3.
16817
168182007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16819
16820 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16821
16822 * data.c (Finteractive_form): Check for the presence of an
16823 `interactive-form' symbol property more thoroughly.
16824
16825 * data.c (Finteractive_form): Use an `interactive-form' property if
16826 present, analogous to the function-documentation property.
16827
168282007-07-24 Jason Rumney <jasonr@gnu.org>
16829
16830 * w32fns.c (x_real_positions): Get real position from OS instead of
16831 calculating it.
16832
168332007-07-23 Jason Rumney <jasonr@gnu.org>
16834
16835 * filelock.c (current_lock_owner): Allow for @ sign in username.
16836
168372007-07-22 Nick Roberts <nickrob@snap.net.nz>
16838
16839 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16840 remote default-directory.
16841
16842 * buffer.c (mode-line-format): Describe above case in doc string.
16843
168442007-07-20 Eli Zaretskii <eliz@gnu.org>
16845
16846 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16847 Define if not defined.
16848
168492007-07-18 Jason Rumney <jasonr@gnu.org>
16850
16851 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16852
168532007-07-18 Richard Stallman <rms@gnu.org>
16854
16855 * data.c (Fsetq_default): Doc fix.
16856
16857 * eval.c (Fsetq): Doc fix.
16858
168592007-07-18 Juanma Barranquero <lekktu@gmail.com>
16860
16861 * coding.c (Ffind_operation_coding_system):
16862 * eval.c (For, Fand): Doc fixes.
16863 Reported by Johan Bockgård.
16864
168652007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16866
16867 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16868
16869 * xterm.h: Declare x_ewmh_activate_frame.
16870
16871 * xterm.c (x_ewmh_activate_frame): New function.
16872 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16873
168742007-07-17 Martin Rudalics <rudalics@gmx.at>
16875
16876 * window.c (Fdisplay_buffer): If largest or LRU window is the
16877 only window, split it even if it is not eligible for splitting.
16878 This restores the original behavior broken by the 2007-07-15
16879 change.
16880
168812007-07-17 Glenn Morris <rgm@gnu.org>
16882
16883 * abbrev.c (abbrev_check_chars): New function.
16884 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16885 Call abbrev_check_chars to check abbrev characters are word
16886 constituents. Doc fix.
16887
168882007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16889
16890 * process.c (Fstart_process, Fmake_network_process)
16891 (read_process_output): Fix up last changes.
16892
168932007-07-16 Eli Zaretskii <eliz@gnu.org>
16894
16895 * makefile.w32-in (clean): Don't delete *~.
16896
168972007-07-16 Andreas Schwab <schwab@suse.de>
16898
16899 * window.c (Fdisplay_buffer): Use NILP.
16900 (Fset_window_scroll_bars): Likewise.
16901
169022007-07-15 Martin Rudalics <rudalics@gmx.at>
16903
16904 * window.c (window_min_size_2): New function.
16905 (window_min_size_1, size_window, Fdisplay_buffer)
16906 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16907 windows without mode- or header-lines when window-min-height is
16908 too small.
16909 (size_window): Reset nodelete_p after testing it, following an
16910 earlier note by Kim F. Storm.
16911 (display_buffer): Do not set split_height_threshold to twice the
16912 value of window_min_height to avoid changing the value of a
16913 customizable variable. Rather explicitly check whether the
16914 height of the window that shall be splitted is at least as large
16915 as split_height_threshold.
16916 (Fwindow_full_width_p): New defun.
16917 (syms_of_window): Defsubr it.
16918
16919 * window.h: Add EXFUN for Fwindow_full_width_p.
16920
169212007-07-14 Jason Rumney <jasonr@gnu.org>
16922
16923 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16924
169252007-07-14 Richard Stallman <rms@gnu.org>
16926
16927 * eval.c (maybe_call_debugger): New function.
16928 (find_handler_clause): Use maybe_call_debugger.
16929 Call it when the handler says `debug'.
16930 Eliminate DEBUGGER_VALUE_PTR.
16931 (Fsignal): Eliminate debugger_value.
16932 (Qdebug): New variable.
16933 (syms_of_eval): Initialize it.
16934
169352007-07-14 Juanma Barranquero <lekktu@gmail.com>
16936
16937 * eval.c (Fprogn):
16938 * keyboard.c (Ftrack_mouse):
16939 * print.c (Fwith_output_to_temp_buffer):
16940 * window.c (Fsave_window_excursion): Doc fix.
16941
169422007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
16943
16944 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
16945
169462007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
16947
16948 * process.h (struct Lisp_Process): Turn slots infd, outfd,
16949 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
16950 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
16951 read_output_delay, and read_output_skip from Lisp_Objects to ints.
16952 Remove unused encoding_carryover.
16953 * process.c: Adjust all functions accordingly.
16954
169552007-07-12 Richard Stallman <rms@gnu.org>
16956
16957 * term.c: Include unistd.h only if HAVE_UNISTD_H.
16958
169592007-07-11 Jason Rumney <jasonr@gnu.org>
16960
16961 * makefile.w32-in (LIBS): Include OLE32.
16962
16963 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
16964 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
16965
169662007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
16967
16968 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
16969 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
16970 from a Lisp_Object into a bare pointer.
16971 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
16972 Adjust the code correspondingly.
16973
16974 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
16975
16976 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
16977 (term_show_mouse_face): Remove unused var `j'.
16978 (handle_one_term_event): Remove unused vars `i' and `j'.
16979 Don't cast return value of ttyname since it's not necessary.
16980
169812007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
16982
16983 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
16984 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
16985
16986 * fns.c (map_char_table): Use an array of int for `indices' rather than
16987 an array of Lisp_Objects (which are only ever integers anyway).
16988 (Fmap_char_table): Update caller.
16989 * lisp.h: Update prototype.
16990 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
16991 * fontset.c (Ffontset_info):
16992 * casetab.c (set_case_table): Update callers.
16993
16994 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
16995
16996 * keymap.c (struct accessible_keymaps_data)
16997 (struct where_is_internal_data): New structures.
16998 (accessible_keymaps_1, where_is_internal_1): Use them to change
16999 interface to adhere to the one used by map_keymap.
17000 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17001 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17002
17003 * keymap.h (map_keymap_function_t): More informative prototype.
17004
170052007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17006
17007 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17008 (looking_at_1): Don't change search_regs and last_thing_searched
17009 if `inhibit-changing-match-data' is non-nil.
17010 (string_match_1, search_buffer, set_search_regs): Likewise.
17011 (syms_of_search): Add Lisp level definition for
17012 `inhibit-changing-match-data' and set it to nil.
17013 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17014 start and end of the match, instead of using values in search_regs.
17015
170162007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17017
17018 * minibuf.c (Fcompleting_read): New value `confirm-only'
17019 for `require-match'.
17020
170212007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17022
17023 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17024 part of the 2007-06-27 change to syms_of_fileio.
17025
170262007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17027
17028 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17029 Check WINDOWP before using XWINDOW. Consolidate return statements.
17030
170312007-06-27 Richard Stallman <rms@gnu.org>
17032
17033 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17034
170352007-06-27 Juanma Barranquero <lekktu@gmail.com>
17036
17037 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17038
170392007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17040
17041 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17042 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17043 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17044 (_free_internal, memalign): Use them.
17045 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17046 Initialize to PTHREAD_MUTEX_INITIALIZER.
17047 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17048 (morecore_nolock): Rename from morecore. All uses changed.
17049 Use only nolock versions of internal allocation functions.
17050 (_malloc_internal_nolock, _realloc_internal_nolock)
17051 (_free_internal_nolock): New functions created from
17052 _malloc_internal, _realloc_internal, and _free_internal.
17053 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17054 Copy hook value to automatic variable before its use.
17055 (memalign): Copy hook value to automatic variable before its use.
17056
170572007-06-26 Kenichi Handa <handa@m17n.org>
17058
17059 * coding.c (Ffind_operation_coding_system): Docstring improved.
17060 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17061
170622007-06-25 David Kastrup <dak@gnu.org>
17063
17064 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17065 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17066 cater for additional parameter.
17067
17068 * keymap.h: Adjust number of parameters to `current-active-maps'.
17069
17070 * doc.c (Fsubstitute_command_keys): Adjust call of
17071 `current-active-maps'.
17072
170732007-06-25 David Kastrup <dak@gnu.org>
17074
17075 * callint.c (Fcall_interactively): Make the parsing of interactive
17076 specs somewhat more readable.
17077
170782007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17079
17080 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17081 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17082 if extended background has already been filled.
17083
170842007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17085
17086 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17087 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17088
17089 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17090 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17091 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17092 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17093 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17094 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17095 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17096 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17097 Run timers during dialog popup.
17098 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17099
171002007-06-21 Jason Rumney <jasonr@gnu.org>
17101
17102 * image.c (convert_mono_to_color_image): Swap fore and background.
17103
171042007-06-20 Jason Rumney <jasonr@gnu.org>
17105
17106 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17107 (w32_free_bdf_font): Unmap memory not handle.
17108
171092007-06-20 Sam Steingold <sds@gnu.org>
17110
17111 * gmalloc.c (__morecore): Fix the declaration to comply with the
17112 definition.
17113
171142007-06-20 Juanma Barranquero <lekktu@gmail.com>
17115
17116 * w32term.c (w32_delete_display): Remove leftover declaration.
17117 (w32_define_cursor, w32_initialize): Make static.
17118
17119 * w32.c (_wsa_errlist): Fix typo in error message.
17120 (init_environment): Ignore any environment variable from the
17121 registry having a null value.
17122
171232007-06-20 Glenn Morris <rgm@gnu.org>
17124
17125 * Makefile.in (LIBGIF): Default to -lgif.
17126
171272007-06-17 Jason Rumney <jasonr@gnu.org>
17128
17129 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17130 unicode strings.
17131
171322007-06-16 Juanma Barranquero <lekktu@gmail.com>
17133
17134 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17135 Fix typo in docstring.
17136
171372007-06-16 Eli Zaretskii <eliz@gnu.org>
17138
17139 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17140 and their keybindings.
17141
171422007-06-15 Chong Yidong <cyd@stupidchicken.com>
17143
17144 * composite.c (update_compositions): Fix last fix.
17145
171462007-06-14 Jason Rumney <jasonr@gnu.org>
17147
17148 * w32.c (get_process_times_fn): New function pointer.
17149 (globals_of_w32): Intialize it if present in kernel32.dll.
17150 (w32_get_internal_run_time): New function.
17151
17152 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17153
171542007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17155
17156 * composite.c (update_compositions): Check the validness of
17157 compositions.
17158
171592007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17160
17161 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17162 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17163
17164 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17165 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17166
17167 * macgui.h (USE_MAC_TOOLBAR): New define.
17168
17169 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17170 Return immediately unless popup is activated.
17171
17172 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17173 background to scroll bar gap.
17174 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17175 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17176 scroll bars on frame edge. Check fringe background extension.
17177 Don't clear extended fringe background area.
17178 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17179 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17180 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17181 [USE_MAC_TOOLBAR]: New macros.
17182 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17183 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17184 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17185 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17186 [USE_MAC_TOOLBAR]: New functions.
17187 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17188 manually if previous repositioning has failed.
17189 (mac_handle_keyboard_event): Use precomputed event kind.
17190 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17191 as tool bar item click. Handle mouse movement over tool bar items.
17192
17193 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17194 toolbar_win_gravity.
17195 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17196 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17197 Add externs.
17198
17199 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17200 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17201
172022007-06-14 Chong Yidong <cyd@stupidchicken.com>
17203
17204 * image.c (search_image_cache): Remove unused variable.
17205
172062007-06-13 Chong Yidong <cyd@stupidchicken.com>
17207
17208 * xfns.c, xmenu.c: Link to xaw3d if available.
17209
172102007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17211
17212 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17213 frame_foreground and frame_background.
17214
17215 * image.c (lookup_image): Save frame foreground and background colors.
17216 (search_image_cache): Check if saved and current frame colors match.
17217
172182007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17219
17220 * regex.c (regex_compile): Remove the `regnum' counter.
17221 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17222
172232007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17224
17225 * term.c: Include intervals.h to declare Fget_text_property.
17226
172272007-06-10 Jason Rumney <jasonr@gnu.org>
17228
17229 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17230
172312007-06-08 Juanma Barranquero <lekktu@gmail.com>
17232
17233 * callint.c (Fcall_interactively):
17234 * editfns.c (Fdelete_and_extract_region):
17235 * fileio.c (Fread_file_name):
17236 * fns.c (Fmapconcat):
17237 * keyboard.c (cmd_error_internal):
17238 * keymap.c (Fkey_description):
17239 * lread.c (openp):
17240 * minibuf.c (read_minibuf):
17241 * search.c (wordify):
17242 * sunfns.c (sel_read):
17243 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17244 * xfns.c (x_default_scroll_bar_color_parameter):
17245 * xmenu.c (menu_help_callback):
17246 * xselect.c (Fx_get_atom_name):
17247 * xterm.c (x_term_init): Use empty_unibyte_string.
17248
172492007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17250
17251 * alloc.c (init_strings): Initialize canonical empty strings.
17252 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17253 canonical empty string when the requested size is 0.
17254
17255 * emacs.c (empty_unibyte_string): Rename from empty_string.
17256 (empty_multibyte_string): New canonical empty string.
17257 (syms_of_emacs): Don't initialize empty_string.
17258
17259 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17260 string, if appropriate.
17261 (empty_unibyte_string, empty_multibyte_string): New externs.
17262 (empty_string): Remove extern.
17263
17264 * lread.c (syms_of_lread): Use empty_unibyte_string.
17265
172662007-06-07 Jason Rumney <jasonr@gnu.org>
17267
17268 * s/ms-w32.h: Don't define HAVE_TZNAME.
17269
17270 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17271
172722007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17273
17274 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17275
17276 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17277 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17278
17279 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17280 Don't call next handler.
17281 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17282 Remove argument. Install handler to application.
17283 (set_frame_menubar): Don't change deep_p.
17284 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17285 FRAME_OUTER_TO_INNER_DIFF_Y.
17286 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17287 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17288 [HAVE_DIALOGS]: New macros.
17289 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17290 Use them.
17291 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17292
17293 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17294 init_service_handler. All callers changed. Return OSStatus value.
17295
17296 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17297 All callers changed so as not to call SetPortWindowPort.
17298 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17299 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17300 mac_draw_string_common.
17301 (mac_draw_image_string_qd): Likewise.
17302 (mac_draw_string_common): Use them. Add INLINE.
17303 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17304 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17305 GetGlobalMouse.
17306 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17307 and FRAME_OUTER_TO_INNER_DIFF_Y.
17308 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17309 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17310 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17311 repositioning window to mac_handle_window_event.
17312 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17313 saving window location to mac_handle_window_event
17314 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17315 (install_menu_target_item_handler): Remove argument in extern.
17316 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17317 Also accept command events.
17318 (do_keystroke): New function created from XTread_socket.
17319 (init_command_handler): Remove functions.
17320 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17321 and save window location by kEventWindowShowing and kEventWindowHiding
17322 handlers here. Don't call next handler for window state change and
17323 focus events.
17324 (mac_handle_application_event, mac_handle_keyboard_event)
17325 [TARGET_API_MAC_CARBON]: New functions.
17326 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17327 kEventWindowShowing and kEventWindowHiding events. Move installation
17328 of mouse, font, text input and menu target item handlers to
17329 install_application_handler.
17330 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17331 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17332 New function.
17333 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17334 Register it.
17335 (XTread_socket) [TARGET_API_MAC_CARBON]:
17336 Consolidate SendEventToEventTarget calls.
17337 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17338 Move application activation handler to mac_handle_application_event.
17339 Move keyboard handler to mac_handle_keyboard_event.
17340 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17341 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17342 init_command_handler. Call install_application_handler.
17343
17344 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17345 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17346
173472007-06-07 Glenn Morris <rgm@gnu.org>
17348
17349 * emacs.c (main): Use `emacs-copyright' in --version output.
17350
173512007-06-06 Chong Yidong <cyd@stupidchicken.com>
17352
17353 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17354
173552007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17356
17357 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17358
17359 * macgui.h: Replace WindowPtr with WindowRef.
17360
17361 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17362 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17363 Replace ControlHandle with ControlRef.
17364 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17365
17366 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17367 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17368 Replace ControlHandle with ControlRef.
17369 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17370 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17371
17372 * macterm.h (struct scroll_bar): Rename member control_handle_low
17373 and control_handle_high to control_ref_low and control_ref_high.
17374 All uses changed.
17375 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17376 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17377 respectively. All uses changed.
17378 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17379 (install_window_handler, remove_window_handler): Replace WindowPtr
17380 with WindowRef in externs.
17381
173822007-06-05 Juanma Barranquero <lekktu@gmail.com>
17383
17384 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17385
173862007-06-03 Nick Roberts <nickrob@snap.net.nz>
17387
17388 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17389
17390 * frame.c (Fmouse_position, Fmouse_pixel_position):
17391 Condition on HAVE_GPM too.
17392
17393 * term.c (term_mouse_highlight): Remove unused variables.
17394 (Fterm_open_connection): Set gpm_zerobased to 1.
17395 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17396 Use zero based co-ordinates.
17397 (handle_one_term_event): Report a drag as mouse movement too.
17398
17399 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17400
174012007-06-03 Chong Yidong <cyd@stupidchicken.com>
17402
17403 * image.c (search_image_cache): New function. Require background
17404 color match if background color is unspecified in the image spec.
17405 (uncache_image, lookup_image): Use it.
17406
174072007-06-01 Juanma Barranquero <lekktu@gmail.com>
17408
17409 * window.c (Fshrink_window): Reflow docstring.
17410
174112007-06-02 Chong Yidong <cyd@stupidchicken.com>
17412
17413 * Version 22.1 released.
17414
174152007-06-01 Richard Stallman <rms@gnu.org>
17416
17417 * xfns.c (x_encode_text): Add GCPRO.
17418
174192007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17420
17421 * xfns.c (x_set_name_internal): Save encoded name before
17422 x_encode_text in case string data is relocated.
17423
174242007-05-31 Richard Stallman <rms@gnu.org>
17425
17426 * buffer.c (syms_of_buffer): Doc fix.
17427
174282007-05-30 Nick Roberts <nickrob@snap.net.nz>
17429
17430 * sysdep.c (init_sys_modes): Add rather than replace with
17431 O_NONBLOCK.
17432
17433 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17434 term_mouse_moveto.
17435
17436 * termhooks.h (term_mouse_moveto): New extern.
17437
17438 * term.c (mouse_face_window): Rename...
17439 (Qmouse_face_window): ...to this.
17440 (term_show_mouse_face, term_clear_mouse_face)
17441 (term_mouse_highlight): Use Qmouse_face_window.
17442 (term_mouse_moveto): New function.
17443 (term_mouse_position): Make it work.
17444 (syms_of_term): Uncomment assignment to mouse_position_hook.
17445 Staticpro Qmouse_face_window.
17446
174472007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17448
17449 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17450 around current_column call.
17451
174522007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17453
17454 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17455 * xdisp.c (next_element_from_buffer):
17456 * window.c (delete_window):
17457 * term.c (term_mouse_highlight):
17458 * msdos.c (getdefdir):
17459 * macterm.c (mac_create_bitmap_from_bitmap_data)
17460 (init_font_name_table):
17461 * fns.c (Fsxhash):
17462 * data.c (Fmake_local_variable):
17463 * ccl.c (ccl_driver): Likewise.
17464
174652007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17466
17467 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17468 Call mac_wakeup_from_rne on window size change.
17469
174702007-05-25 Chong Yidong <cyd@stupidchicken.com>
17471
17472 * image.c (uncache_image): Fix typo.
17473
174742007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17475
17476 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17477
174782007-05-22 Richard Stallman <rms@gnu.org>
17479
17480 * xterm.c (x_connection_closed): Remove NO_RETURN.
17481
174822007-05-22 Martin Rudalics <rudalics@gmx.at>
17483
17484 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17485
174862007-05-21 Chong Yidong <cyd@stupidchicken.com>
17487
17488 * image.c (uncache_image): New function.
17489 (Fimage_refresh): New function.
17490
174912007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17492
17493 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17494
174952007-05-20 Nick Roberts <nickrob@snap.net.nz>
17496
17497 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17498 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17499
175002007-05-20 Nick Roberts <nickrob@snap.net.nz>
17501
17502 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17503 conditional on [HAVE_GPM_H].
17504
175052007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17506
17507 * syntax.c (skip_chars): Update syntax-table only after we checked that
17508 the new location is valid.
17509
175102007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17511
17512 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17513 mac_get_window_bounds.
17514
175152007-05-20 Nick Roberts <nickrob@snap.net.nz>
17516
17517 * Makefile.in (LIBGPM): Allow it to be set from configure.
17518 If set then link Emacs with it.
17519
17520 * config.in: Regenerate.
17521
17522 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17523 New externs.
17524
17525 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17526 Include gpm.h.
17527 (handle_one_term_event, term_gpm): New externs.
17528
17529 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17530 and allow it to be interrupted by SIGIO.
17531
17532 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17533 (wait_reading_process_output): Wait on gpm_fd too.
17534 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17535 (add_gpm_wait_descriptor_called_flag): New variable.
17536 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17537
17538 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17539 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17540 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17541 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17542 (make_lispy_event): Add case GPM_CLICK_EVENT.
17543 (read_avail_input): Handle mouse input.
17544
17545 * term.c (write_glyphs_with_face): New function.
17546 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17547 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17548 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17549 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17550 (last_mouse_x, last_mouse_y): New variables.
17551 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17552 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17553 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17554 (Fterm_close_connection): New functions.
17555 (term_init): Initialise mouse_face_window.
17556
175572007-05-19 Chong Yidong <cyd@stupidchicken.com>
17558
17559 * xdisp.c (redisplay_window): If first window line is a
17560 continuation line, recompute the new window start instead of
17561 recentering.
17562
175632007-05-18 Glenn Morris <rgm@gnu.org>
17564
17565 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17566 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17567
175682007-05-17 Glenn Morris <rgm@gnu.org>
17569
17570 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17571
175722007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17573
17574 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17575 dead key repeat and up events.
17576
175772007-05-14 Chong Yidong <cyd@stupidchicken.com>
17578
17579 * image.c (pbm_load): Check image size for monochrome pbm.
17580
175812007-05-13 Chong Yidong <cyd@stupidchicken.com>
17582
17583 * xterm.c (XTread_socket): Revert last change.
17584
175852007-05-12 Chong Yidong <cyd@stupidchicken.com>
17586
17587 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17588
17589 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17590
175912007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17592
17593 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17594 mixup (YAILOM).
17595
175962007-05-07 Andreas Schwab <schwab@suse.de>
17597
17598 * keymap.c (Flookup_key): Fix typo in last change.
17599
176002007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17601
17602 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17603 mapping for unibyte strings.
17604
176052007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17606
17607 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17608 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17609
176102007-04-29 Richard Stallman <rms@gnu.org>
17611
17612 * insdel.c (replace_range): For undo, record insertion first.
17613
176142007-04-29 Andreas Schwab <schwab@suse.de>
17615
17616 * lisp.h (VECSIZE): Use OFFSETOF.
17617
176182007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17619
17620 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17621 disabled lines.
17622
176232007-04-28 Richard Stallman <rms@gnu.org>
17624
17625 * lread.c (read_escape): In a string, \s is always space.
17626
176272007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17628
17629 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17630
17631 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17632 submenu for menu bar items.
17633
17634See ChangeLog.10 for earlier changes.
17635
17636;; Local Variables:
17637;; coding: utf-8
17638;; add-log-time-zone-rule: t
17639;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
17640;; End:
17641
76b6f707 17642 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17643
17644 This file is part of GNU Emacs.
17645
17646 GNU Emacs is free software: you can redistribute it and/or modify
17647 it under the terms of the GNU General Public License as published by
17648 the Free Software Foundation, either version 3 of the License, or
17649 (at your option) any later version.
17650
17651 GNU Emacs is distributed in the hope that it will be useful,
17652 but WITHOUT ANY WARRANTY; without even the implied warranty of
17653 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17654 GNU General Public License for more details.
17655
17656 You should have received a copy of the GNU General Public License
17657 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17658
17659;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40