(fontset_find_font): If a font found without
[bpt/emacs.git] / src / ChangeLog
CommitLineData
be1bce46 12009-03-04 Nikolaj Schumacher <me@nschum.de> (tiny change)
2f462d73 2
be1bce46 3 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 4
10ea2b82
JR
52009-03-04 Jason Rumney <jasonr@gnu.org>
6
2c93b248 7 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 8 characters that have already been read. (Bug#2569)
2c93b248 9
10ea2b82
JR
10 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
11 Log an error message if check_image_size failed.
12 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 13 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 14
71a0c011
EZ
152009-03-02 Eli Zaretskii <eliz@gnu.org>
16
17 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
18 when decoding process output.
19
2f63bba8
RS
202009-03-01 Richard M Stallman <rms@gnu.org>
21
22 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
23
24 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
25
0a9564cb
EZ
262009-02-28 Eli Zaretskii <eliz@gnu.org>
27
28 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
29 (decode_coding_emacs_mule, decode_coding_iso_2022)
30 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
31 (decode_coding_raw_text, decode_coding_charset)
32 (setup_coding_system, decode_eol, decode_coding, consume_chars):
33 Honor inhibit-eol-conversion. (Bug #2186)
34
449148b3
JR
352009-02-28 Jason Rumney <jasonr@gnu.org>
36
37 * coding.c (detect_coding_charset): If not checking latin extra,
38 fail on characters between 0x80 and 0xA0. (Bug#2354)
39
a4aee864
EZ
402009-02-28 Eli Zaretskii <eliz@gnu.org>
41
42 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 43 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 44
d88bee5a
GM
452009-02-27 Glenn Morris <rgm@gnu.org>
46
47 * callint.c (Finteractive): Doc fix.
48
a808f22d
KH
492009-02-27 Kenichi Handa <handa@m17n.org>
50
51 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
52
caf8d60c
CY
532009-02-27 Chong Yidong <cyd@stupidchicken.com>
54
55 * font.c (font_style_to_value): Set value for unknown symbols to
56 100 instead of 255.
b61137ea
CY
57 (weight_table, slant_table, width_table): Treat "unspecified" as
58 the default value.
caf8d60c 59
1a0de25c
JB
602009-02-26 Juanma Barranquero <lekktu@gmail.com>
61
62 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
63
8fc45744
JB
642009-02-25 Juanma Barranquero <lekktu@gmail.com>
65
107bd7d1
JB
66 * lread.c (Fload): Stop checking Vloads_in_progress and signal
67 error as soon as a recursive load is detected.
8fc45744 68
f097e223
AR
692009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
70
71 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
72 before caching.
73
8810a12f
KH
742009-02-24 Kenichi Handa <handa@m17n.org>
75
76 * fontset.c (fontset_find_font): Fix the condition for checking
77 unavailable font.
78
2c7d1565
GM
792009-02-24 Glenn Morris <rgm@gnu.org>
80
81 * xfaces.c (Finternal_set_font_selection_order): Remove leading
82 whitespace that confuses documentation.
83
a20878b6
MB
842009-02-23 Miles Bader <miles@gnu.org>
85
86 * process.c (Flist_system_processes, Fprocess_attributes)
87 (syms_of_process): Rename `system-process-attributes' to
88 `process-attributes'.
89
b3b58c01
AS
902009-02-22 Andreas Schwab <schwab@linux-m68k.org>
91
1b3b981b
AS
92 * coding.h (struct coding_system): Make safe_charsets a pointer to
93 unsigned char.
94 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
95 being 255.
96 (SAFE_CHARSET_P): Likewise.
97 (setup_iso_safe_charsets): Properly setup safe_charsets.
98 (Fdefine_coding_system_internal): Likewise.
99 (setup_coding_system): Likewise. Remove unneeded casts.
100 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
101 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
102 unneeded casts.
103
b3b58c01
AS
104 * insdel.c (del_range_2): Don't modify gap contents when called
105 from decode_coding_object. (Bug#1809)
106
0b6f228c
CY
1072009-02-21 Chong Yidong <cyd@stupidchicken.com>
108
109 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
110 Qfont_object.
111 (Ftype_of): Recognize font objects.
112
113 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
114
115 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
116 moved to data.c.
117
52f8870b
AR
1182009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
119
120 * nsterm.m (x_make_frame_invisible): Unset async_visible,
121 async_iconified. Based on a patch by Christian Lynbech
122 <christian.lynbech@tieto.com>.
123 (EmacsView-windowDidMiniaturize:): Unset async_visible.
124
7087d5e9
GM
1252009-02-20 Glenn Morris <rgm@gnu.org>
126
127 * syntax.c (Fskip_chars_forward): Fix doc typo.
128
41d2ceef
CY
1292009-02-20 Chong Yidong <cyd@stupidchicken.com>
130
131 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
132
1a3b7ca6
CY
1332009-02-19 Chong Yidong <cyd@stupidchicken.com>
134
135 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
136
73cce38d
KH
1372009-02-19 Kenichi Handa <handa@m17n.org>
138
139 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 140 Don't overflow coding->carryover. (Bug#2370)
73cce38d 141
a51092ee
DN
1422009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
143
144 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
145
c423ecca
KH
1462009-02-18 Kenichi Handa <handa@m17n.org>
147
148 * font.c (font_check_otf_features): Fix handling of `nil' element.
149 (Ffont_spec): Describe :lang and :otf in the docstring.
150
4c1958f4
AS
1512009-02-16 Andreas Schwab <schwab@suse.de>
152
153 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
154 string.
155
5704f39a
KH
1562009-02-16 Kenichi Handa <handa@m17n.org>
157
158 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 159 (Bug#1723)
5704f39a 160
8f0085aa
CY
1612009-02-14 Chong Yidong <cyd@stupidchicken.com>
162
a057d86a 163 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
164
165 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
166 (handle_line_prefix): Suppress wrapping of wrap prefixes.
167
aff01dd9
EZ
1682009-02-14 Eli Zaretskii <eliz@gnu.org>
169
170 * msdos.c (MAX_SCREEN_BUF): New macro.
171 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
172 Encode the entire run of glyphs sharing the same face, instead of
173 doing that one glyph at a time (fixes a bug with displaying
174 double-size characters).
175
ba301db3
AR
1762009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
177
178 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
179
180 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
181 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 182 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
183
184 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 185 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 186
51d861de
SM
1872009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
188
189 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
190 invisible areas.
191
7fed8996
JR
1922009-02-12 Jason Rumney <jasonr@gnu.org>
193
631ea4fb
JR
194 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
195 (add_font_entity_to_list): Call check_face_name even when family
196 is unspecified.
197
cb4a3e42
JR
198 * w32term.c (x_display_pixel_height, x_display_pixel_width):
199 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 200 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 201
7fed8996 202 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 203 raster fonts. (Bug#2219)
7fed8996 204
895416e3
KH
2052009-02-12 Kenichi Handa <handa@m17n.org>
206
207 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
208 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
209 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 210 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
211 (find_automatic_composition): While looking forward and backward,
212 check static composition. Fix where to stop looking forward.
213 (composition_adjust_point): Fix checking of static composition.
214 (Fcomposition_get_gstring): Pay attention to
1dacf998 215 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
216
217 * lisp.h (fast_looking_at): Extern it.
218
219 * search.c (fast_looking_at): New function.
220
51d861de 221 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
222 <struct glyph>.u.cmp.to.
223 (append_composite_glyph): Likewise.
224
51d861de 225 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
226 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
227 composition.
51d861de 228 (append_composite_glyph): Adjust for the change of
895416e3
KH
229 <strcut glyph>.u.cmp.to.
230
8510724d
JB
2312009-02-11 Juanma Barranquero <lekktu@gmail.com>
232
233 * casetab.c (init_casetab_once):
234 * coding.c (ALLOC_CONVERSION_WORK_AREA):
235 * font.c (font_update_lface):
236 * fontset.c (Fnew_fontset):
237 * ftfont.c (ftfont_drive_otf):
238 * xfont.c (xfont_open):
239 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
240
294fa707
SM
2412009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
242
243 * fileio.c (Fwrite_region): !NILP -> CONSP.
244
b5bfebec
AS
2452009-02-10 Andreas Schwab <schwab@suse.de>
246
247 * process.c (send_process): Properly relocate pointer into data
adab88bd 248 when using encoded data. (Bug#2272)
b5bfebec 249
cb84a2be
KH
2502009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
251
252 * coding.c (detect_coding_charset): Fix previous change.
253
89e09428
JR
2542009-02-08 Jason Rumney <jasonr@gnu.org>
255
256 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 257 disappeared while hourglass was displayed. (Bug #2193)
89e09428 258
4470a277
AS
2592009-02-07 Andreas Schwab <schwab@suse.de>
260
261 * unexelf.c (unexec): Fix error message.
262
3175b12a
AR
2632009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
264
265 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 266 when modal window is active. (Bug #2152)
3175b12a
AR
267 (applicationShouldTerminate:): Remove now-unneeded while loop
268 around NSRunAlertPanel.
269
270 * nsmenu.m (popupSession): New file-global variable.
271 (pop_down_menu): End the popupSession before closing dialog.
272 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
273 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
274 don't query NSApp for events (just sleep instead).
275
8434d0b8
EZ
2762009-02-07 Eli Zaretskii <eliz@gnu.org>
277
51d861de
SM
278 * coding.c (syms_of_coding) <translation-table-for-input>:
279 Modify doc string to discourage use for character code unification.
8434d0b8 280
aa82edfd
CY
2812009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
282
283 * atimer.c (run_timers): Update pending_atimers.
284
2d283c7c
CY
2852009-02-06 Chong Yidong <cyd@stupidchicken.com>
286
eb306cab
CY
287 * image.c (svg_load_image): Fix last change.
288
2d283c7c
CY
289 * xfns.c (Fx_create_frame): Signal an error if no font is
290 found (Bug#2147).
291
4d8e170e
JB
2922009-02-05 Juanma Barranquero <lekktu@gmail.com>
293
294 * character.c (syms_of_character) <script-representative-chars>:
295 Fix typo in docstring.
296
c96169a0
AR
2972009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
298
299 * nsmenu.m (pop_down_menu): New function.
300 (ns_popup_dialog): Call it on unwind.
301 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
302 call timer_check() (Bug#2154).
303 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
304 handling_signal is set.
305 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
306
307 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
308
309 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
310
311 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
312
51d861de
SM
313 * keyboard.c (poll_for_input_1, handle_async_input):
314 Set handling_signal under HAVE_NS.
c96169a0 315
aacd8ba1
GM
3162009-02-04 Glenn Morris <rgm@gnu.org>
317
318 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
319
4cb75c4b
KH
3202009-02-04 Kenichi Handa <handa@m17n.org>
321
322 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
323
324 * charset.c (Fchar_charset): New optional arg restriction.
325
326 * coding.h (coding_system_charset_list): Extern it.
327
328 * coding.c (coding_system_charset_list): New function.
329
330 * composite.c: Include coding.h and termhooks.h.
331 (composition_gstring_p): Fix for the terminal case.
332 (composition_gstring_width): Likewise.
333 (fill_gstring_body): Likewise.
334 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
335 the frame.
336 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
337 is within a composition.
867d4bb3 338 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
339
340 * term.c (encode_terminal_code): Fix handling of composition.
341 (produce_composite_glyph): For static composition, get pixel_width
342 from struct composition.
343
826ba17e
AS
3442009-02-02 Andreas Schwab <schwab@suse.de>
345
346 * unexelf.c (unexec): Handle unaligned bss offset.
347
8ad093db
AR
3482009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
349
350 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
351 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 352
8ad093db
AR
353 * keyboard.c (handle_interrupt): Don't call
354 quit_throw_to_read_char() under NS.
d0a76a6e 355
8ad093db
AR
356 * blockinput.h: Remove NS-specific code.
357
4d18a7a2
DN
3582009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
359
db878925
DN
360 * dispnew.c (window_change_signal): Don't try to get the size of a
361 suspended tty frame.
362 * term.c (Fresume_tty): Resize if the size has changed while the
363 tty was suspended.
364
4d18a7a2
DN
365 * alloc.c (mark_stack): Properly conditionalize previous change.
366
8984df7c
JB
3672009-01-30 Juanma Barranquero <lekktu@gmail.com>
368
369 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
370 * w32term.c (w32_read_socket) [SYNC_INPUT]:
371 Remove; this code is not used on Windows.
372
75f4f1ac
EZ
3732009-01-30 Eli Zaretskii <eliz@gnu.org>
374
375 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
376 EOLs that also has stray ^M characters.
377
07a1e794
JB
3782009-01-30 Juanma Barranquero <lekktu@gmail.com>
379
380 * atimer.c (run_timers, alarm_signal_handler):
381 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
382 * w32inevt.c (w32_console_read_socket):
383 * w32term.c (w32_read_socket):
384 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
385
a8b11cc9
CY
3862009-01-30 Chong Yidong <cyd@stupidchicken.com>
387
388 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
389 Initialize it as a relative filename pattern.
390 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
391 (Fcall_process_region): Simplify temp file creation using
392 temporary-file-directory.
393
c279587b
EZ
3942009-01-29 Eli Zaretskii <eliz@gnu.org>
395
396 * msdos.c: Rename pending_signals to msdos_pending_signals.
397 (sig_suspender, sigprocmask): Adjust.
398
a8fe3242
CY
3992009-01-29 Chong Yidong <cyd@stupidchicken.com>
400
401 * keyboard.c (pending_signals): New var.
402 (poll_for_input, input_available_signal, init_keyboard): Set it.
403 (process_pending_signals): New function.
404
405 * lisp.h (QUIT): Check pending_signals instead of
406 interrupt_input_pending. Use process_pending_signals.
407
51d861de 408 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 409
51d861de 410 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
411
412 * sysdep.c (emacs_write): Use process_pending_signals.
413
414 * xterm.c (XTread_socket): Update pending_signals.
415
416 * w32term.c (w32_read_socket): Update pending_signals.
417
418 * w32inevt.c (w32_console_read_socket): Update pending_signals.
419
6570a1c4
KH
4202009-01-29 Kenichi Handa <handa@m17n.org>
421
422 * xftfont.c (xftfont_has_char): New function.
423 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
424
d72a4afa
AR
4252009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
426
427 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
428 under GNUstep.
429 (ns_query_color): New declaration.
430
431 * nsterm.m (ns_confirm_quit): New variable.
432 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
433 (EmacsApp-applicationShouldTerminate:): Use it.
434 (EmacsPrefsController): Let user set it.
435 (ns_query_color): New function.
436 (ns_defined_color): Use it.
437 (ns_initialize): Drop.
438 (ns_term_init): Add two lines from ns_initialize(), and set
439 input_interrupt_mode to nil.
440
441 * image.c (svg_load_image): Don't right-shift background RGB when
442 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
443
9fe78804
KH
4442009-01-28 Kenichi Handa <handa@m17n.org>
445
446 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
447 (fontset_get_font_group): Remember that no font-group is specified
448 for C.
9fe78804 449
fa57de36
CY
4502009-01-27 Chong Yidong <cyd@stupidchicken.com>
451
930600e9
CY
452 * fns.c (concat): Check for string overflow (bug#1787).
453
fa57de36
CY
454 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
455 Quadruple undo limits (bug#1501).
456
7179ce7b
KH
4572009-01-27 Kenichi Handa <handa@m17n.org>
458
459 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
460 directly use GT_Get_Char_index.
461
462 * xftfont.c (struct xftfont_info): New member `index'.
463
464 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 465 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 466
5be8fcc0
CY
4672009-01-26 Kenichi Handa <handa@m17n.org>
468
469 * fontset.c (fontset_find_font): Fix handling of non-cons return
470 value of fontset_get_font_group.
471 (fontset_font): Revert last change.
472
19ae3e61
JR
4732009-01-26 Jason Rumney <jasonr@gnu.org>
474
475 * w32font.c (w32font_list_internal): Return quickly if registry is
476 unknown. Simplify final return.
477 (add_font_entity_to_list): Break complex logic down into more
478 manageable chunks. Move unknown registry check to
479 w32font_list_internal.
480
8612b71a
AR
4812009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
482
483 Changes to remove Feval calls from GUI under NS.
484
d8038940
JB
485 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
486 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
487 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
488
489 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
490 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
491 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
492 instead of NON_ASCII_KEYSTROKE_EVENT.
493 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
494 (EmacsApp-applicationShouldTerminate:): Query user.
495 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
496 instead of Feval.
497
498 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
499
500 * keyboard.c (kbd_buffer_get_event): Check for it.
501 (keys_of_keyboard): Define lispy keys for
502 ns-put/unput-working-text.
503
504 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
505 versions.
506 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
507
6288ae55
CY
5082009-01-25 Chong Yidong <cyd@stupidchicken.com>
509
510 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 511 setting current_buffer directly. (Bug#2044)
6288ae55 512
289e7f8f
CY
5132009-01-24 Chong Yidong <cyd@stupidchicken.com>
514
5ce87308 515 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 516 any work. (Bug#1952, bug#1990).
5ce87308 517
64cc3cf6 518 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 519
b3243e6f
AR
5202009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
521
522 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
523 (ns_no_defaults): New declaration.
524 (main): Use it.
e0d2e69a 525
d900b2af 526 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 527
d900b2af 528 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 529
d900b2af
AR
530 * nsterm.m (ns_no_defaults): New variable.
531 (ns_initialize): Don't read defaults when ns_no_defaults.
532 (EmacsView-readSelectionFromPasteboard:)
533 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 534 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
535 (ns_dumpglyphs_stretch): New function.
536 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 537 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 538
e0d2e69a
AR
539 * nsimage.m (setPixmapData:): Set to ignore image DPI.
540
3ac71f5d
CY
5412009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
542
543 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
544 call for Sparc64.
545
3fe53a83
AR
5462009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
547
548 * nsfns.m:
549 * nsgui.h:
550 * nsmenu.m:
551 * nsselect.m:
552 * nsterm.h:
553 * nsterm.m: Remove '23' comments that indicated code added during
554 update from emacs-20 -> emacs-23.
555
10f87c6f 5562009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
557
558 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 559 ns_alternate_modifier. (Bug#1217)
a3b53a85 560
c7cef62d
AR
561 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
562 Display all shortcuts, including those w/o super modifier.
563
575fb8bd
AR
564 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
565
918b848b
CY
5662009-01-22 Chong Yidong <cyd@stupidchicken.com>
567
568 * fileio.c (Vwrite_region_post_annotation_function)
569 (Vwrite_region_annotation_buffers): New vars.
570 (build_annotations_unwind): Just reset
571 Vwrite_region_annotation_buffers.
572 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
573 Call write-region-post-annotation-function.
574 (build_annotations): Add to Vwrite_region_annotation_buffers if
575 buffer changes.
576
a39e2539
AR
5772009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
578
579 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
580 Tiger.
51d861de
SM
581 * nsfns.m (ns_do_applescript):
582 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 583
35ed44db
AR
5842009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
585
586 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
587
cbe0b5bf
AR
5882009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
589
590 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 591
6049d3a0
AR
592 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
593
594 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
595 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
596 handle Ctrl-tab. (Bug#1841)
597 (ns_get_color): Use unsigned long long for scanned hex string value.
598 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 599 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 600 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 601 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 602 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 603 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 604 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 605
d3810c21 606 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 607 DPI. (Bug#1316)
d3810c21
AR
608 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
609 values in onTiger section.
4c7077c3 610
e301e634
CY
6112009-01-19 Chong Yidong <cyd@stupidchicken.com>
612
7f82490b
CY
613 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
614 Check return value of font_spec_from_name.
64cc3cf6 615 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
616
617 * font.c (font_spec_from_name): Return Qnil if font name could not
618 be parsed.
619 (font_parse_name): Treat a `?' character as part of an XLFD.
620
e301e634
CY
621 * fns.c (Fsubstring): Doc fix.
622
1c0db158
KH
6232009-01-19 Kenichi Handa <handa@m17n.org>
624
51d861de 625 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
626 (ftfont_list): Likewise.
627
acf20901
JB
6282009-01-18 Juanma Barranquero <lekktu@gmail.com>
629
fff4e459
JB
630 * dbusbind.c (Fdbus_register_signal):
631 * process.c (conv_sockaddr_to_lisp):
632 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
633
acf20901
JB
634 * callproc.c (Fgetenv_internal): Doc fix.
635
e7abcdfb
CY
6362009-01-16 Chong Yidong <cyd@stupidchicken.com>
637
638 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
639 it is not even used.
640
b60861e6
GM
6412009-01-16 Glenn Morris <rgm@gnu.org>
642
643 * font.c (Ffont_variation_glyphs): Silence compiler.
644
8db52afe
JB
6452009-01-15 Juanma Barranquero <lekktu@gmail.com>
646
647 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
648 Reported by David Robinow <drobinow@gmail.com>.
649
4cddb209
KH
6502009-01-15 Kenichi Handa <handa@m17n.org>
651
51d861de 652 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 653
f247f67b
JR
6542009-01-14 Jason Rumney <jasonr@gnu.org>
655
656 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 657 never a fontset. (Bug#1562)
f247f67b 658
f56a4450
KH
6592009-01-14 Kenichi Handa <handa@m17n.org>
660
661 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 662 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 663
4e99855e
CY
6642009-01-13 Chong Yidong <cyd@stupidchicken.com>
665
666 * font.c (font_clear_prop): If clearing the family, clear the font
667 width index too.
668
fff4e459 669 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 670
24f01470
JB
6712009-01-12 Juanma Barranquero <lekktu@gmail.com>
672
673 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
674 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
675 functions, use sizeof.
676
a41240a3
MR
6772009-01-12 Martin Rudalics <rudalics@gmx.at>
678
679 * keyboard.c (read_char): Fix case where last_nonmenu_event
680 returned a bad value with submenus. (Bug#447)
681
944636b8
CY
6822009-01-12 Chong Yidong <cyd@stupidchicken.com>
683
684 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
685 family, clear the font width index too.
686
0dad7c6f
JR
6872009-01-11 Jason Rumney <jasonr@gnu.org>
688
689 * keyboard.c (cmd_error_internal): Exit when errors occur before
690 frame creation and not in daemon mode. (Bug#1836)
691
7c2363af
CY
6922009-01-10 Chong Yidong <cyd@stupidchicken.com>
693
694 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
695 of a display vector, backtrack.
696 (try_window_reusing_current_matrix): Check glyph type before
697 referencing charpos member.
698
97b1b294
EZ
6992009-01-10 Eli Zaretskii <eliz@gnu.org>
700
701 Fix Bug #876:
702
703 * coding.c (inhibit_null_byte_detection): New variable.
704 (detect_coding, detect_coding_system): Don't pay attention to null
705 bytes if inhibit_null_byte_detection is non-zero.
51d861de 706 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
707 <inhibit-iso-escape-detection>: Doc fix.
708
4624b6e3
JR
7092009-01-09 Jason Rumney <jasonr@gnu.org>
710
711 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 712 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
713 Only report Unicode Plane 2 fonts as unicode-sip.
714
323b840c
CY
7152009-01-09 Chong Yidong <cyd@stupidchicken.com>
716
51d861de
SM
717 * xfaces.c (Fx_font_family_list): Delete function.
718 Move compatibility version to faces.el.
323b840c 719
51d861de 720 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 721
eba7400d
MR
7222009-01-09 Martin Rudalics <rudalics@gmx.at>
723
724 * frame.c (x_set_frame_parameters): Remember requested value for
725 fullscreen before it's reset by the parameter handler.
726
4b09796d
GM
7272009-01-09 Glenn Morris <rgm@gnu.org>
728
729 * keyboard.c (last_command_char): For clarity, rename to...
730 (last_command-event): ... and update all users.
731 (last_input_char): For clarity, rename to...
732 (last_input_event): ... and update all users.
733 (last-command-char, last-input-char): Move to subr.el as aliases.
734 * cmds.c, commands.h: Update for last_command_char rename.
735
14ccea62
CY
7362009-01-08 Chong Yidong <cyd@stupidchicken.com>
737
51d861de 738 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 739
5f004711
JR
7402009-01-08 Jason Rumney <jasonr@gnu.org>
741
742 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
743 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
744 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
745 Don't declare.
fff4e459 746 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
747 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
748
b71f6f73
KH
7492009-01-07 Kenichi Handa <handa@m17n.org>
750
50b06221 751 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 752 remember the coding system used for decoding in
50b06221
KH
753 coding_system (Bug#1039).
754
b71f6f73 755 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 756 breaking the loop. (Bug#870)
b71f6f73
KH
757 (decode_coding_utf_16, decode_coding_emacs_mule)
758 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
759 (decode_coding_charset): Likewise.
760
56f668f7
MR
7612009-01-05 Martin Rudalics <rudalics@gmx.at>
762
763 * frame.c (x_set_frame_parameters): Make sure height (width) get
764 applied when fullwidth (fullheight) is set. (Bug#1522)
765
5da9424d
JB
7662009-01-04 Juanma Barranquero <lekktu@gmail.com>
767
768 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
769 (utc_base): Declare as ULONGLONG, not long double.
770 (convert_time_raw): Delete.
771 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
772 (initialize_utc_base): New function.
773 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
774 (convert_from_time_t): Use initialize_utc_base; compute result with
775 64-bit arithmetic.
776 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
777
c4605e09
EZ
7782009-01-03 Eli Zaretskii <eliz@gnu.org>
779
9acef61c 780 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
781 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
782 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
783 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
784 [!subprocesses]: Define.
785 (syms_of_process) [!subprocesses]: Intern and staticpro them.
786 (Flist_system_processes, Fsystem_process_attributes)
787 [!subprocesses]: Call list_system_processes and
788 system_process_attributes instead of returning Qnil.
789
9acef61c
JB
790 * dosfns.c (system_process_attributes, list_system_processes):
791 New functions.
c4605e09
EZ
792
793 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
794
795 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
796 Don't use the default (no-op) implementation.
797
8b7d0a16
JR
7982009-01-03 Jason Rumney <jasonr@gnu.org>
799
a6d46bc1
JR
800 * keyboard.c (parse_modifiers_uncached): Wheel events are
801 clicks (bug#687).
802
8b7d0a16
JR
803 * w32term.c (x_query_colors, x_query_color): New functions.
804
805 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
806 (svg_load_image): Cast returned pointers from dynamically loaded
807 functions. Eliminate W32 specific code.
808
bfe11752
DN
8092009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
810
89e2438a
DN
811 * nsfns.m (x_set_foreground_color, x_set_background_color)
812 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
813 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
814 x_ prefix instead of ns_. Update references.
815 (syms_of_nsfns): Add a FIXME comment.
816
817 * nsterm.m (x_set_cursor_type): New prototype.
818 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
819
bfe11752
DN
820 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
821 for Solaris instead of incorrectly providing Qutime and Qcutime.
822
031da700
EZ
8232009-01-02 Eli Zaretskii <eliz@gnu.org>
824
825 * w32.c (process_times): Compute sum of utime and stime.
826 (system_process_attributes): Add Qtime to the alist.
827
828 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
829 and add them to the alist.
830
831 * process.c (top level) <Qtime, Qctime>: New variables.
832 (syms_of_process): staticpro them.
833 (Fsystem_process_attributes): Add their documentation to the doc
834 string.
835
836 * process.h: Declare Qtime and Qctime.
837
df23bf08
JR
8382009-01-02 Jason Rumney <jasonr@gnu.org>
839
9acef61c 840 * image.c (Qgobject): New symbol.
df23bf08
JR
841 (syms_of_image): Initialize it.
842 (init_svg_functions): Load some functions from gobject library.
843
5bbdf7aa
DN
8442009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
845
846 * frame.c (make_terminal_frame): Remove redundant code and useless
847 block.
848
63136da6
AS
8492009-01-01 Andreas Schwab <schwab@suse.de>
850
851 * process.c (conv_sockaddr_to_lisp): Add workaround for
852 getsockname bug on BSD.
853
9ef69046
CY
8542009-01-01 Chong Yidong <cyd@stupidchicken.com>
855
d6fafbe0
CY
856 * xfns.c (x_create_tip_frame): Set border width of the X window.
857
51d861de 858 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 859
f9c34147
JR
8602009-01-01 Jason Rumney <jasonr@gnu.org>
861
9acef61c 862 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
863 Don't block input, as per earlier xterm.c changes.
864
f5497e45
AR
8652008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
866
867 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
868 (ns_appkit_version_int): New function.
869 (x-server-version): Use ns_appkit_version_int and follow 21+
870 convention of returning 3 integers.
871
c19cab20
KH
8722008-12-30 Kenichi Handa <handa@m17n.org>
873
874 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
875 (CHAR_SURROGATE_PAIR_P): New macro.
876
877 * font.h (struct font_driver): New member get_variation_glyphs.
878
9acef61c 879 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
880 (Ffont_variation_glyphs): New function.
881 (syms_of_font): Defsubr it.
882
883 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
884 ftfont_variation_glyphs.
885 (setup_otf_gstring): New function.
886 (ftfont_drive_otf): Use it.
887 (ftfont_shape_by_flt): Handle variation selector.
888 (ftfont_variation_glyphs): New function.
889
28cd591f
MR
8902008-12-30 Martin Rudalics <rudalics@gmx.at>
891
892 * frame.c (Vemacs_iconified): Remove.
893
7f714baf
JR
8942008-12-30 Jason Rumney <jasonr@gnu.org>
895
896 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 897 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 898
9d2d22ab
CY
8992008-12-30 Chong Yidong <cyd@stupidchicken.com>
900
901 * indent.c (Fvertical_motion): Don't advance iterator if we have
902 reseated to the desired position.
903
904 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
905 checking for pos match.
906
545312c2
KH
9072008-12-30 Kenichi Handa <handa@m17n.org>
908
1ede3eb6
KH
909 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
910 just get the low 8-bit of the code.
911
545312c2
KH
912 * font.c (font_intern_prop): Validate str as multibyte.
913
bd7bbf29
DN
9142008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
915
31e0750e
DN
916 * dispextern.h (struct face): Move lface and hash from the middle
917 of bitfields.
918
bd7bbf29
DN
919 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
920
b5672e7c
DN
9212008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
922
923 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
924 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
925 instead of intervals.h.
926
d704470f
AS
9272008-12-26 Andreas Schwab <schwab@suse.de>
928
929 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
930 cons.
931
54b33868
MR
9322008-12-26 Martin Rudalics <rudalics@gmx.at>
933
934 * textprop.c (Qminibuffer_prompt): New variable.
935 (syms_of_textprop): Initialize it.
936 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
937 in minibuffer-prompt face. (Bug#1662)
938
40b615d6
JR
9392008-12-25 Jason Rumney <jasonr@gnu.org>
940
941 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
942
baae5c2d
JR
9432008-12-24 Jason Rumney <jasonr@gnu.org>
944
945 * ralloc.c (r_alloc_reset_variable): New function.
946
947 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 948 record of what points where. (Bug#716)
baae5c2d 949
a9051c88
DN
9502008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
951
952 * minibuf.c (read_minibuf): Follow the non-interactive case when
953 running as a daemon, before detaching.
954
8b146312
AS
9552008-12-22 Andreas Schwab <schwab@suse.de>
956
957 * buffer.c (init_buffer): Use realloc instead of xrealloc.
958 * gtkutil.c (free_widget_value): Use xfree instead of free.
959
56f2de10
MR
9602008-12-22 Martin Rudalics <rudalics@gmx.at>
961
962 * frame.c (delete_frame): New function derived from
963 Fdelete_frame to handle Qnoelisp value for FORCE argument.
964 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
965 (Fdelete_frame): Call delete_frame. Remove line from doc-string
966 saying that FORCE non-nil doesn't run `delete-frame-functions'.
967 * frame.h: Extern delete_frame.
968 * window.c (window_loop):
969 * terminal.c (delete_terminal):
970 * xterm.c (x_connection_closed):
971 * xfns.c (Fx_hide_tip):
9acef61c 972 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 973
1fc200d6
JR
9742008-12-21 Jason Rumney <jasonr@gnu.org>
975
976 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
977 when character maps to .notdef character.
978
5e252df2
SM
9792008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
980
981 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
982
99b72cc4
JR
9832008-12-20 Jason Rumney <jasonr@gnu.org>
984
985 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 986 a graphical frame on Windows. (Bug#1325)
99b72cc4 987
acc49a52
JD
9882008-12-20 Jan Djärv <jan.h.d@swipnet.se>
989
990 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
991
6ea15123
CY
9922008-12-20 Chong Yidong <cyd@stupidchicken.com>
993
994 * minibuf.c (Fread_buffer): Doc fix.
995
b2dab6c8
JR
9962008-12-20 Jason Rumney <jasonr@gnu.org>
997
54ea0c87 998 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 999 server name in UNC paths. (Bug#719)
54ea0c87 1000
b2dab6c8 1001 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 1002 charbuf. (Bug#1035)
b2dab6c8 1003
6d1921be
DN
10042008-12-19 Daniel Engeler <engeler@gmail.com>
1005
1006 * sysdep.c (serial_configure): Fix typo.
1007
53934c98
DN
10082008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1009
1010 * sysdep.c: Include alloca.h.
f4f634e8
DN
1011 (system_process_attributes): Add implementation for Solaris.
1012
1013 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 1014
06e111a6
DN
10152008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1016
1017 Reorganize implementation of Flist_system_processes and
1018 Fsystem_process_attributes. No functional changes.
1019 * process.c: Don't #include pwd.h, grp.h and limits.h.
1020 (Flist_system_processes): Just call list_system_processes.
1021 (Fsystem_process_attributes): Just call system_process_attributes.
1022 (procfs_list_system_processes, time_from_jiffies)
1023 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
1024 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
1025
1026 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
1027 (list_system_processes): Rename from
1028 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
1029 Provide a do nothing implementation.
1030 (system_process_attributes): Rename from
1031 procfs_list_system_processes.
1032 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 1033 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
1034
1035 * w32.c (list_system_processes): Rename from
1036 w32_list_system_processes.
1037 (system_process_attributes): Rename from
1038 w32_system_process_attributes.
1039
1040 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
1041
1042 * process.h (w32_list_system_processes)
1043 (w32_system_process_attributes): Remove.
1044 (list_system_processes, system_process_attributes): New
1045 prototypes.
1046
6a705b23
KH
10472008-12-19 Kenichi Handa <handa@m17n.org>
1048
1049 * xfont.c (xfont_decode_coding_xlfd): New function.
1050 (xfont_encode_coding_xlfd): New function.
1051 (xfont_list_pattern): Decode XLFD by iso-8859-1.
1052 (xfont_list): Decode and encode XLFD by iso-8859-1.
1053 (xfont_match): Likewise.
1054 (xfont_list_family): Likewise.
1055 (xfont_open): Likewise.
1056
d66c0241 1057 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
1058 names are utf-8.
1059
d66c0241 1060 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
1061 names are utf-8.
1062
5a130941
JD
10632008-12-18 Jan Djärv <jan.h.d@swipnet.se>
1064
1065 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
1066 changed.
bfd20325
JD
1067 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
1068 clicked on a detached tool bar button.
5a130941 1069
fd95644b
DN
10702008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
1071
1072 * emacs.c (main): Print and error and exit when no data is read
1073 from the pipe.
1074
e6eee6ae
JR
10752008-12-17 Jason Rumney <jasonr@gnu.org>
1076
1077 * w32font.c (w32font_has_char): Always return -1.
1078
a35dd56b
KH
10792008-12-16 Kenichi Handa <handa@m17n.org>
1080
1081 * font.c (font_open_entity): Fix previous change.
1082
0e3635c2
DN
10832008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1084
1085 * process.c: Include <limits.h>.
1086
d4835507 10872008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1088
1089 * font.c (font_update_drivers): Fix mistake in reconstructing the
1090 driver list.
1091
10922008-12-16 Chong Yidong <cyd@stupidchicken.com>
1093
1094 * font.c (font_clear_cache): Fix format of font cache data.
1095
e2cbc401
CY
10962008-12-15 Chong Yidong <cyd@stupidchicken.com>
1097
1098 * xftfont.c (xftfont_open): Free Xft font pattern if
1099 XftFontOpenPattern fails.
1100
1101 * xterm.c (x_free_frame_resources): Remove extraneous call to
1102 free_frame_faces.
1103
b131d535
CY
11042008-12-13 Chong Yidong <cyd@stupidchicken.com>
1105
1106 * xterm.c (x_delete_display): Move xim_close_dpy call to
1107 x_delete_terminal.
1108 (x_delete_terminal): Call xim_close_dpy.
1109
e6df5336
JR
11102008-12-13 Jason Rumney <jasonr@gnu.org>
1111
1112 * w32font.c (intern_font_name): New function.
1113 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1114 (w32font_open_internal, Fx_select_font): Decode font name.
1115 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1116
1117 * w32font.h (intern_font_name): Declare new function.
1118
1119 * w32uniscribe.c (add_opentype_font_name_to_list):
1120 Use intern_font_name.
1121
20d68145
CY
11222008-12-13 Chong Yidong <cyd@stupidchicken.com>
1123
9f2554de
CY
1124 * frame.c (Fdelete_frame): Call free_font_driver_list.
1125
3d9bec9a
CY
1126 * font.c (free_font_driver_list): Implement missing function.
1127
20d68145
CY
1128 * w32term.c (w32_term_init): Don't initialize the image cache
1129 here; it will be done in init_frame_faces.
1130
1131 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1132 (struct x_display_info): Remove unused member null_pixel. New
1133 member xim_callback_data.
1134
1135 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1136 (xim_initialize): Save pointer to callback function data.
1137 (xim_close_dpy): Free callback function data. Call XCloseIM,
1138 reverting 2008-11-04 change by David Smith.
1139 (x_term_init): Don't initialize the image cache here; it will be
1140 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1141 (x_delete_display): Free x_dnd_atoms member.
1142
96f9306b
KH
11432008-12-13 Kenichi Handa <handa@m17n.org>
1144
6dec9044
JB
1145 * font.c (font_rescale_ratio): Moved from xfaces.c.
1146 Argument type changed. Handle a font-spec too.
96f9306b 1147 (font_score): Check Vface_font_rescale_alist.
6dec9044 1148 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1149
1150 * xfaces.c (font_rescale_ratio): Moved to font.c.
1151
8d5b4964
CY
11522008-12-13 Chong Yidong <cyd@stupidchicken.com>
1153
1154 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1155
e6df5336
JR
11562008-12-12 Jason Rumney <jasonr@gnu.org>
1157
1158 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1159 Vwindow_system_version to the real w32 major version.
1160
97c6058a
DN
11612008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1162
1163 * term.c (init_tty): Move setting the terminal name before the
1164 potential user: maybe_fatal.
1165
ec4e88d7
CY
11662008-12-11 Chong Yidong <cyd@stupidchicken.com>
1167
d4835507
JB
1168 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1169 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1170
b4233ec9
JR
11712008-12-11 Jason Rumney <jasonr@gnu.org>
1172
8ec71e23 1173 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1174 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1175
b4233ec9 1176 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1177 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1178
011a0143
JB
11792008-12-11 Juanma Barranquero <lekktu@gmail.com>
1180
1181 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1182
3c309f34
JB
11832008-12-11 Juanma Barranquero <lekktu@gmail.com>
1184
1185 * process.c (Fsystem_process_attributes, syms_of_process):
1186 Fix typo in name of Ssystem_process_attributes.
1187 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1188
fedc6ab5
JB
11892008-12-11 Juanma Barranquero <lekktu@gmail.com>
1190
1191 * syntax.c (Fmodify_syntax_entry): Doc fix.
1192
ba3de0e8
JB
11932008-12-10 Juanma Barranquero <lekktu@gmail.com>
1194
1195 * font.c (Ffont_spec): Move usage to end of docstring.
1196
174f1c74
JR
11972008-12-10 Jason Rumney <jasonr@gnu.org>
1198
1199 * w32font.c (Qcham): New symbol.
1200 (font_supported_scripts): Add cham, and comments for other new
1201 scripts in bitfield from OpenType spec.
9d32f818
JR
1202 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1203 contain characters beyond the bmp.
174f1c74 1204
7b649478
KH
12052008-12-10 Kenichi Handa <handa@m17n.org>
1206
1207 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1208 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1209 Qunicode_sip.
1210
2133e2d1
JB
12112008-12-10 Juanma Barranquero <lekktu@gmail.com>
1212
1213 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1214 (Fcoding_system_put): Use QCdefault_char.
1215 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1216
9af886ee
CY
12172008-12-09 Chong Yidong <cyd@stupidchicken.com>
1218
74d819eb
CY
1219 * xftfont.c (syms_of_xftfont): Fix typo.
1220
4ccfa1c0 1221 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1222
7c19d3ae
DN
12232008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1224
1225 * emacs.c (main): Close daemon_pipe on exec.
1226
567826bb
CY
12272008-12-08 Chong Yidong <cyd@stupidchicken.com>
1228
1229 * termchar.h (struct tty): New members termcap_term_buffer and
1230 termcap_strings_buffer.
1231
1232 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1233 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1234 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1235 All callers changed.
1236 (init_tty): Store termcap data and string buffers in new struct
1237 tty members termcap_term_buffer and termcap_strings_buffer.
1238 (delete_tty): Free them.
4ccfa1c0 1239 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1240
aa96c42b
SZ
12412008-12-07 Seiji Zenitani <zenitani@mac.com>
1242
1243 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1244 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1245
b7e1d896
CY
12462008-12-06 Chong Yidong <cyd@stupidchicken.com>
1247
1248 * coding.c (make_conversion_work_buffer): Disable buffer
1249 modification hooks in the work buffer.
1250
b5ec91a5
EZ
12512008-12-05 Eli Zaretskii <eliz@gnu.org>
1252
1253 * process.c (procfs_system_process_attributes): If `nread' has a
1254 negative value, assign zero to it.
1255
a5d2a52b
CY
12562008-12-05 Chong Yidong <cyd@stupidchicken.com>
1257
68c5540b 1258 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1259
7bf1bb21
KH
12602008-12-05 Kenichi Handa <handa@m17n.org>
1261
1262 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1263 second character is a combining character.
1264
2fdc7d00
EZ
12652008-12-05 Eli Zaretskii <eliz@gnu.org>
1266
1267 * process.c (procfs_system_process_attributes): Don't use cmd,
1268 cmdsize, and q without initializing them first.
1269
bf6bfba8
JR
12702008-12-04 Jason Rumney <jasonr@gnu.org>
1271
1272 * w32font.c (w32font_draw): Initialize orig_clip before getting
1273 it, and delete it when finished.
1274
a3b1a468
DN
12752008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1276
1277 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1278 case when running as a daemon before detaching.
1279
8b8be8eb
JB
12802008-12-03 Juanma Barranquero <lekktu@gmail.com>
1281
805f2638 1282 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1283
b1bde622
KH
12842008-12-03 Kenichi Handa <handa@m17n.org>
1285
e500c47d
KH
1286 * font.c (font_at): Set `multibyte' at first.
1287
ca516334
KH
1288 * coding.c (decode_coding_charset): Check type of an element of
1289 vector VALIDS.
7bf1bb21 1290 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1291
4ccfa1c0 1292 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1293 (font_for_char): Likewise.
1294
1e5ecd37
CY
12952008-12-03 Chong Yidong <cyd@stupidchicken.com>
1296
d5b01609 1297 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1298 (font_update_lface): Handle fonts with corrupted size specs,
1299 i.e. non-int and non-float.
d5b01609 1300
11e3a6e4 1301 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1302 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1303 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1304
ab06788b
CY
1305 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1306
1e5ecd37 1307 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1308 underline_minimum_offset for underline position.
1e5ecd37 1309
63c125ab
DN
13102008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1311
1312 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1313
1314 * character.c (c_string_width): Specify the type for LEN.
1315
3a8406e1
KH
13162008-12-03 Kenichi Handa <handa@m17n.org>
1317
4ccfa1c0 1318 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1319 (decode_coding_utf_8): Likewise.
4ccfa1c0 1320 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1321 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1322
651df7d9
CY
13232008-12-02 Chong Yidong <cyd@stupidchicken.com>
1324
1325 * keyboard.c (make_lispy_position): Only use PT if the selected
1326 window is current.
1327
1f625c6c
AS
13282008-12-02 Andreas Schwab <schwab@suse.de>
1329
f7741ce9
AS
1330 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1331
1f625c6c
AS
1332 * doprnt.c (doprnt1): Fix size of charbuf.
1333
92bc2678
CY
13342008-12-02 Chong Yidong <cyd@stupidchicken.com>
1335
1336 * keyboard.c (timer_check): Revert last change.
1337
93b9e8cc
JB
13382008-12-02 Juanma Barranquero <lekktu@gmail.com>
1339
1340 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1341
fd7a37d5
JB
13422008-12-01 Juanma Barranquero <lekktu@gmail.com>
1343
1344 * makefile.w32-in: Update dependencies.
1345 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1346
c115043b
AS
13472008-12-01 Andreas Schwab <schwab@suse.de>
1348
1349 * font.c (register_font_driver): Use xmalloc.
1350 (font_put_frame_data): Likewise.
1351
f5668d2a
CY
13522008-12-01 Chong Yidong <cyd@stupidchicken.com>
1353
860d96be
CY
1354 * xfaces.c (realize_x_face): Make abort condition clearer.
1355
f5668d2a
CY
1356 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1357
379c17e7
CY
13582008-11-30 Chong Yidong <cyd@stupidchicken.com>
1359
1360 * keyboard.c (timer_check): After a timer runs, ensure that the
1361 selected window's buffer is current.
1362
35f36d65
JB
13632008-11-30 Juanma Barranquero <lekktu@gmail.com>
1364
f952c61c
JB
1365 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1366 It was accidentally restored by the Unicode merge.
1367
35f36d65
JB
1368 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1369
b23077df
JB
13702008-11-29 Juanma Barranquero <lekktu@gmail.com>
1371
1372 * w32proc.c: Include "coding.h".
1373 (Fw32_short_file_name): Encode filename passed to Windows API.
1374 (Fw32_long_file_name): Encode filename passed to Windows API and
1375 decode back the result. (Bug#1433)
1376
b8ebe9dd
KH
13772008-11-29 Kenichi Handa <handa@m17n.org>
1378
8cc53f96
KH
1379 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1380 not before accessing it.
1381
b8ebe9dd
KH
1382 * charset.c (Fdefine_charset_internal): After calculating
1383 min_char, max_char, and fastmap, copy the charset structure again.
1384 (encode_char): Fix the previous change.
1385
59bc82c0
SZ
13862008-11-28 Seiji Zenitani <zenitani@mac.com>
1387
1388 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1389
1390 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1391
1392 * nsterm.m (x_set_frame_alpha): New function.
1393
32247e3d
EZ
13942008-11-27 Eli Zaretskii <eliz@gnu.org>
1395
1396 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1397
b003e5ff
JB
13982008-11-27 Juanma Barranquero <lekktu@gmail.com>
1399
1400 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1401 pointer to check_face_name.
1402
708550f5
KH
14032008-11-27 Kenichi Handa <handa@m17n.org>
1404
1405 * category.h (SET_CATEGORY_SET): Call set_category_set.
1406 (set_category_set): Extern it.
1407
1408 * category.c (hash_get_category_set): New function.
1409 (Fmodify_category_entry): Adjusted for the change of
1410 char_table_ref_and_range. Call hash_get_category_set to get a
1411 category set to store in the table.
1412
1413 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1414 Funify_charset.
1415
2ae37cf0 1416 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1417 (DECODE_CHAR): Check if the decoder vector is ready.
1418 (ENCODE_CHAR): Check if the encoder char-table is ready.
1419 (maybe_unify_char): Extern it.
1420
1421 * charset.c (Vchar_unified_charset_table): Delete it.
1422 (inhibit_load_charset_map): New variable.
1423 (temp_charset_work): New variable.
1424 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1425 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1426 New macros.
1427 (load_charset_map): Meaning of control_flag changed. If
1428 inhibit_load_charset_map is nonzero, setup a table in
1429 temp_charset_work.
1430 (load_charset): New argument control_flag.
1431 (map_charset_for_dump): New function.
1432 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1433 map_charset_for_dump.
1434 (Fdefine_charset_internal): If the charset method is MAP, load
1435 mapping tables by calling load_charset.
1436 (Funify_charset): Don't load a mapping table but directly set
1437 Vchar_unify_table.
1438 (maybe_unify_char): New function.
1439 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1440 Handle the case of inhibit_load_charset_map being nonzero.
1441 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1442 Handle the case of inhibit_load_charset_map being nonzero.
1443 (Fclear_charset_maps): Just free temp_charset_work.
1444 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1445 variable.
1446
1447 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1448 change of char_table_ref_and_range.
1449 (char_table_ref_and_range): Change the meaning of argument FROM
1450 and TO. Now the caller must provide initial values for *FROM
1451 and *TO.
1452
1453 * fontset.c (fontset_add): Adjusted for the change of
1454 char_table_ref_and_range.
1455 (fontset_get_font_group): Likewise.
1456 (Ffontset_info): Likewise.
1457
1458 * keymap.c (describe_vector): Adjusted for the change of
1459 char_table_ref_and_range. For char-table, put boundary between
1460 non-ASCII and 8-bit characters.
1461
1462 * print.c (print_object): For bool-vector, delete unnecessary
1463 check of ASCII_BYTE_P.
1464
9196133b
JR
14652008-11-26 Jason Rumney <jasonr@gnu.org>
1466
1467 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1468 leading in font height. (Bug#879)
9196133b 1469
9f688acf
GM
14702008-11-26 Glenn Morris <rgm@gnu.org>
1471
1472 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1473 redefinition with ifdef. (Bug#1383)
1474
90d19aff
AR
14752008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1476
1477 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1478
4ccfa1c0 14792008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1480
1481 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1482 New EmacsView methods.
1483 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1484 Fixes bug #1048,1357,1414.
1485
14862008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1487
1488 Fix bug #1362.
1489 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1490 is not an indexed color.
1491 * nsterm.m (free_indexed_color): Add argument checking.
1492 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1493
e7d5ecb3
CY
14942008-11-24 Chong Yidong <cyd@stupidchicken.com>
1495
1496 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1497 Document confirm-after-completion value for
1498 minibuffer-completion-confirm.
1499
c285743c
JR
15002008-11-24 Jason Rumney <jasonr@gnu.org>
1501
1502 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1503 warning.
1504
b0857706
JR
15052008-11-23 Jason Rumney <jasonr@gnu.org>
1506
1507 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1508 restored before returning.
1509
1510 * w32font.c (check_face_name): New function.
1511 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1512 fonts. (Bug#642)
b0857706 1513
ee50ff07
MR
15142008-11-22 Martin Rudalics <rudalics@gmx.at>
1515
1516 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1517 confirm-nonexistent-file-or-buffer in doc-string.
1518
b8ff72fa
SM
15192008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1520
1521 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1522 Fix copy/paste typo. Add checks.
1523
cee53ed4
KH
15242008-11-21 Kenichi Handa <handa@m17n.org>
1525
1526 * coding.c (detect_coding_iso_2022): Reject invalid composition
1527 sequence.
1528 (DECODE_COMPOSITION_START): If the current source is the last
1529 block, and the current composition doesn't end, regard this
1530 sequence as invalid.
1531 (decode_coding_iso_2022): Handle invalid composition sequence.
1532
f6ef1e65
MR
15332008-11-20 Martin Rudalics <rudalics@gmx.at>
1534
1535 * window.c (coordinates_in_window): Don't return
1536 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1537 line when the window is not the rightmost one. (Bug#1372)
1538
e08b1705
MR
15392008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1540
1541 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1542
ad98e89f
EZ
15432008-11-15 Eli Zaretskii <eliz@gnu.org>
1544
1545 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1546 and bright_bg if noninteractive is non-zero.
1547
fb098a4b
CY
15482008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1549
1550 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1551 x_draw_glyph_string_background.
1552
1553 * w32term.c (x_draw_glyph_string): Likewise.
1554
ce952b6e
CY
15552008-11-15 Chong Yidong <cyd@stupidchicken.com>
1556
1557 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1558 the next glyph string once past the overhang width.
1559
1560 * nsterm.m (ns_draw_glyph_string): Likewise.
1561
1562 * w32term.c (x_draw_glyph_string): Likewise.
1563
26ea7079
CY
15642008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1565
1566 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1567 double file close.
1568
1c33c906
MR
15692008-11-14 Martin Rudalics <rudalics@gmx.at>
1570
1571 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1572 dedicated status of window before attempting to display another
1573 buffer in it.
1574
8fc29035
JB
15752008-11-14 Juanma Barranquero <lekktu@gmail.com>
1576
1577 * msdos.c (Fmsdos_long_file_names):
1578 (syms_of_msdos) <dos-unsupported-char-glyph>:
1579 * dosfns.c (Fint86): Fix typos in docstrings.
1580
55fb4286
EZ
15812008-11-14 Eli Zaretskii <eliz@gnu.org>
1582
1583 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1584
3fda0315
KY
15852008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1586
1587 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1588
7e849c17
CY
15892008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1590
1591 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1592
1593 * frame.h: Negative alpha means "don't touch".
1594
1595 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1596
1597 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1598
b9fd67bd
DN
15992008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1600
1601 * hftctl.c:
1602 * chpdef.h:
1603 * acldef.h: Remove files used only for systems no longer supported.
1604
1605 * Makefile.in: Fix .o alphabetical ordering.
1606 (hftctl.o): Remove dependency, file removed.
1607 (keymap.o, print.o): Depend on charset.h.
1608
d5998e03
KH
16092008-11-10 Kenichi Handa <handa@m17n.org>
1610
2ae37cf0 1611 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1612
be70e183
CY
16132008-11-08 Chong Yidong <cyd@stupidchicken.com>
1614
1615 * dired.c (file_name_completion): If completion_ignore_case is
1616 enabled, ignore case when checking completion-regexp-list.
1617
7cf94eac
EZ
16182008-11-08 Eli Zaretskii <eliz@gnu.org>
1619
1620 * vm-limit.c (get_lim_data): Fix last change.
1621
ee107a89
KH
16222008-11-08 Kenichi Handa <handa@m17n.org>
1623
1624 * character.c (Fget_byte): New function.
1625 (syms_of_character): Defsubr Fget_byte.
1626
5fd15622
CY
16272008-11-07 Chong Yidong <cyd@stupidchicken.com>
1628
1629 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1630 cursor position is valid after scrolling.
1631
13d62fad
JB
16322008-11-06 Juanma Barranquero <lekktu@gmail.com>
1633
1634 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1635
a1dd2936
GM
16362008-11-06 Glenn Morris <rgm@gnu.org>
1637
1638 * xterm.c (handle_one_xevent): Don't let popup menus cause
1639 mouse-autoselect-window related window switching. (Bug#1261)
1640
860cd236
CY
16412008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1642
1643 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1644
653a3150
AS
16452008-11-04 Andreas Schwab <schwab@suse.de>
1646
1647 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1648
870f5cac
CY
16492008-11-03 Chong Yidong <cyd@stupidchicken.com>
1650
1651 * xfns.c (Fx_wm_set_size_hint): New function.
1652
1e02f3cb
MR
16532008-11-03 Martin Rudalics <rudalics@gmx.at>
1654
1655 * textprop.c (Fprevious_single_char_property_change): Return 0
1656 when there's no change in a string. (Bug#1301)
1657
e630dfc6
MR
16582008-11-02 Martin Rudalics <rudalics@gmx.at>
1659
1660 * frame.c (do_switch_frame): New argument NORECORD passed to
1661 Fselect_window.
1662 (Fselect_frame): New argument NORECORD passed to
1663 do_switch_frame.
1664 (Fset_frame_selected_window): New argument NORECORD passed to
1665 Fselect_frame.
1666 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1667 in call of do_switch_frame.
1668 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1669 Handle NORECORD argument in call of Fselect_frame.
1670 * lisp.h (do_switch_frame, Fselect_frame)
1671 (Fset_frame_selected_window): Adjust declarations.
1672 * window.c (select_frame_norecord): New function.
1673 (run_window_configuration_change_hook): Use it and call
1674 Fselect_frame with NORECORD set.
1675 (Fselect_window): Pass NORECORD to Fselect_frame.
1676 (Fset_window_configuration): Handle NORECORD argument in call of
1677 do_switch_frame.
1678 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1679 Fset_frame_selected_window.
1680 * keyboard.c (command_loop_1): Handle NORECORD in call of
1681 Fselect_frame (currently ifdefd).
1682
9020b223
GM
16832008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1684
1685 * emacs.c (USAGE2): Untabify.
1686
793ffee8
SM
16872008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1688
1689 * composite.c (fill_gstring_header): Fix copy/paste typo.
1690
ab6d1131
MR
16912008-10-31 Martin Rudalics <rudalics@gmx.at>
1692
1693 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1694 (Fother_window): Rename argument and rewrite doc-string.
1695 (select_window_norecord): Fix return value. (Bug#1276)
1696
601a9cf1
JB
16972008-10-30 Juanma Barranquero <lekktu@gmail.com>
1698
1699 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1700 new frames overriding foreground for tooltips. Based on similar patch
1701 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1702
813b0652
CY
17032008-10-29 Chong Yidong <cyd@stupidchicken.com>
1704
1705 * emacs.c (Fdaemon_initialized): Initialize nfd.
1706
4414f58f
MR
17072008-10-29 Martin Rudalics <rudalics@gmx.at>
1708
1709 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1710 (Fwindow_text_height): Clarify doc-strings.
1711 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1712 doc-string of window-scroll-functions.
1713
ecdcaa09
RS
17142008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1715
1716 * category.c (syms_of_category): Fix typo in docstring.
1717
23fe745a
JB
17182008-10-28 Juanma Barranquero <lekktu@gmail.com>
1719
1720 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1721 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1722 Fix typos in docstrings.
1723
ff808935
DN
17242008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1725
1726 * emacs.c (daemon_pipe): Make non-static.
1727 (IS_DAEMON): Move definition ...
1728 * lisp.h (IS_DAEMON): ... here.
1729 (daemon_pipe): Declare.
1730 (is_daemon): Remove.
1731 * dispnew.c (init_display): Use IS_DAEMON.
1732
fc012771
SM
17332008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1734
1735 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1736 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1737
1738 * emacs.c (is_daemon): Remove.
1739 (main): Don't set is_daemon.
1740 (IS_DAEMON): New macro.
1741 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1742 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1743 parent exits.
1744 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1745
d8bdbe6f
CY
17462008-10-27 Chong Yidong <cyd@stupidchicken.com>
1747
d1a072bf
CY
1748 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1749 over-sized glyph, draw it with the default glyph width.
1750
e2e325aa
CY
1751 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1752 glyph, draw it with the default glyph width.
1753
1754 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1755 glyph, draw it with the default glyph width.
1756
d8bdbe6f
CY
1757 * xdisp.c (try_scrolling): When computing the distance from the
1758 scroll margin to PT, try moving some distance past the window
1759 bottom before giving up.
1760
7bfac547
MR
17612008-10-27 Martin Rudalics <rudalics@gmx.at>
1762
1763 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1764 (Fset_window_buffer): Explain in doc-string that a window can be
1765 "strongly" dedicated to its buffer.
1766
4ff029f6
DN
17672008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1768
1769 * emacs.c (daemon_name): New variable.
1770 (main): Deal with --daemon=SERVER_NAME.
1771 (Fdaemonp): Return a name if one was passed to --daemon.
1772
5790ef40
DN
17732008-10-26 Romain Francoise <romain@orebokech.com>
1774
f9bd0df9 1775 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1776 (main): Create a pipe before forking, make the parent exit only after
1777 the child has closed its end of the pipe. Move closing the
1778 descriptors ...
1779 (Fdaemon_initialized): ... here. New function.
1780
f5385255
SM
17812008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1782
4d632321
SM
1783 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1784 the previous unoptimized table.
1785
f5385255
SM
1786 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1787 the distinction between non-nil and non-t value of `dedicated'.
1788
6c56a0f3
CY
17892008-10-25 Chong Yidong <cyd@stupidchicken.com>
1790
1791 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1792 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1793
fec89261
MR
17942008-10-25 Martin Rudalics <rudalics@gmx.at>
1795
1796 * window.c (Fget_buffer_window, Fdelete_windows_on)
1797 (Freplace_buffer_in_windows): Make buffer argument optional and
1798 rename to buffer_or_name.
1799
34fcddd0
CY
18002008-10-24 Chong Yidong <cyd@stupidchicken.com>
1801
f5385255
SM
1802 * xdisp.c (handle_single_display_spec, handle_display_prop):
1803 Undo 2005-05-16 change.
34fcddd0
CY
1804 (handle_stop): Pop iterator if it's loaded with an empty string.
1805 (get_overlay_strings_1): Don't save iterator if it's loaded with
1806 an empty string (bug#1201).
1807
064766f2
KH
18082008-10-24 Kenichi Handa <handa@m17n.org>
1809
1810 * ftfont.c (ftfont_otf_features): Fix previous change.
1811 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1812 calling ftfont_otf_features.
1813
f9bd0df9 18142008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1815
1816 * font.c (font_match_p): Fix for the case that a vector of
1817 characters is in script-representative-chars.
1818
1dae9197
MA
18192008-10-24 Michael Albinus <michael.albinus@gmx.de>
1820
1821 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1822 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1823 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1824 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1825 macro. (Bug#1186).
1826
f9bd0df9 18272008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1828
1829 * s/sol2-10.h: New file.
1830
878a4584
JB
18312008-10-23 Juanma Barranquero <lekktu@gmail.com>
1832
1833 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1834 poor beast has survived 9+ years and the jump from xterm.c!).
1835
cd265ca6
MR
18362008-10-23 Martin Rudalics <rudalics@gmx.at>
1837
1838 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1839 Reword doc-string.
f5385255 1840 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1841
472a4dc9
JB
18422008-10-23 Juanma Barranquero <lekktu@gmail.com>
1843
1844 * character.c (syms_of_character) <script-representative-chars>:
1845 <unicode-category-table>: Doc fixes.
1846
159bd5a2
NF
18472008-10-23 Noah Friedman <friedman@splode.com>
1848
1849 * coding.c (make_conversion_work_buffer): Check that
1850 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1851 Fget_buffer_create.
1852
49f9c344
KH
18532008-10-23 Kenichi Handa <handa@m17n.org>
1854
1855 * font.c (font_add_log): Check the values of extra properties.
1856
12bb3111
MR
18572008-10-22 Martin Rudalics <rudalics@gmx.at>
1858
1859 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1860 Reword doc-string.
1861 (Fset_window_parameter): Use NILP.
1862 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1863 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1864
bbeb4e99
JB
18652008-10-22 Juanma Barranquero <lekktu@gmail.com>
1866
1867 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1868
18692008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1870
1871 * nsfns.m (ns_appkit_version): New function.
1872 (x-server-version): Use it.
1873 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1874 (x-server-vendor): Don't check_ns().
1875
1876 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1877
a9b555d3
JB
18782008-10-22 Juanma Barranquero <lekktu@gmail.com>
1879
1880 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1881 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1882
4626499f
KH
18832008-10-22 Kenichi Handa <handa@m17n.org>
1884
e3681952
KH
1885 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1886 scripts.
1887
4626499f
KH
1888 * category.c (word_boundary_p): Check scripts instead of charset.
1889 Handle nil value in word-separating-categories and
1890 word-combining-categories.
1891 (syms_of_category): Fix docstrings of word-separating-categories
1892 and word-combining-categories.
1893
1560f91a
EZ
18942008-10-21 Eli Zaretskii <eliz@gnu.org>
1895
1896 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1897 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1898
f4668441
MR
18992008-10-21 Martin Rudalics <rudalics@gmx.at>
1900
1901 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1902 Rename arg "buffer" to "buffer_or_name".
1903 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1904 it optional.
1905 (no_switch_window): Remove since the return value is not used.
a9b555d3 1906 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1907 Consider window as dedicated when Fwindow_dedicated_p returns a
1908 non-nil value.
1909 * lisp.h: Remove prototype for no_switch_window.
1910
fd75ddb2
JD
19112008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1912
1913 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1914 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1915
07295713
KH
19162008-10-21 Kenichi Handa <handa@m17n.org>
1917
1918 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1919 check Vlatin_extra_code_table.
1920
712adc82
EZ
19212008-10-20 Eli Zaretskii <eliz@gnu.org>
1922
1923 * fileio.c (Fset_file_modes): Doc fix.
1924
f549eb0b
MA
19252008-10-19 Michael Albinus <michael.albinus@gmx.de>
1926
1927 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1928 in arrays.
1929
aac0c6e3
MR
19302008-10-19 Martin Rudalics <rudalics@gmx.at>
1931
1932 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1933 Mention kill-buffer in doc-string.
1934 (Fset_window_buffer): Reinsert tem check removed in last commit.
1935 (Fenlarge_window, Fshrink_window): Have argument names and
1936 doc-string follow Elisp manual more closely.
1937
19382008-10-18 Eli Zaretskii <eliz@gnu.org>
1939
1940 * fileio.c (Fset_file_modes): Doc fix.
1941
19422008-10-18 Martin Rudalics <rudalics@gmx.at>
1943
1944 * window.c (Fwindow_width, Fset_window_start)
1945 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1946 (Fdelete_windows_on, Freplace_buffer_in_windows):
1947 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1948 (Fwindow_dedicated_p): Make window argument optional.
1949 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1950 (Fset_window_buffer): Respect any non-nil dedicated value for
1951 window. Rename "buffer" argument to "buffer_or_name".
1952
19532008-10-18 Ulrich Mueller <ulm@gentoo.org>
1954
1955 * m/sh3.h: New file, machine description for SuperH.
1956
19572008-10-17 Martin Rudalics <rudalics@gmx.at>
1958
1959 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1960
19612008-10-17 Kenichi Handa <handa@m17n.org>
1962
1963 * ftfont.c (ftfont_otf_features): Fix indexing
1964 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1965
19662008-10-16 Magnus Henoch <mange@freemail.hu>
1967
1968 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1969 (Fdbus_call_method_asynchronously): Ditto.
1970 This change makes C-h f display the argument list.
1971
19722008-10-16 Chong Yidong <cyd@stupidchicken.com>
1973
1974 * fileio.c (Fexpand_file_name): Doc fix.
1975
1976 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1977 of :foreground and :background equivalent to unspecified (20.x
1978 compatibility).
1979
19802008-10-15 Eli Zaretskii <eliz@gnu.org>
1981
1982 * buffer.c (syms_of_buffer): Doc fix.
1983
19842008-10-14 Kenichi Handa <handa@m17n.org>
1985
1986 * font.c (font_clear_prop): When clearing font width, clear the
1987 average width field too.
1988
19892008-10-12 Andreas Schwab <schwab@suse.de>
1990
1991 * ftfont.c (ftfont_shape_by_flt): Make static.
1992 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1993
1994 * font.c: Don't include <m17n-flt.h>.
1995
19962008-10-10 Eli Zaretskii <eliz@gnu.org>
1997
1998 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1999
20002008-10-09 Eli Zaretskii <eliz@gnu.org>
2001
2002 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
2003 away code.
2004
20052008-10-09 Chong Yidong <cyd@stupidchicken.com>
2006
2007 * dispnew.c (update_text_area): Avoid looping due to large glyph
2008 overhangs (bug#1070).
2009
20102008-10-09 Kenichi Handa <handa@m17n.org>
2011
2012 * fontset.c (face_for_char): If face->fontset is negative, just
2013 return ascii_face.
2014
f5385255
SM
2015 * font.c (font_delete_unmatched): Fix previous change.
2016 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
2017
20182008-10-09 Martin Rudalics <rudalics@gmx.at>
2019
2020 * frame.c (Fraise_frame): On text-only terminals select frame in
2021 order to make it visible. (Bug#1061)
2022
20232008-10-08 Chong Yidong <cyd@stupidchicken.com>
2024
2025 * fontset.c (fontset_find_font): Check frame validity.
2026
20272008-10-07 Chong Yidong <cyd@stupidchicken.com>
2028
a9b555d3 2029 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
2030 (xg_display_close): Allow Emacs to close all displays (bug#985).
2031
20322008-10-06 Andreas Schwab <schwab@suse.de>
2033
f5385255 2034 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
2035
20362008-10-06 Chong Yidong <cyd@stupidchicken.com>
2037
f5385255 2038 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 2039
a9b555d3 2040 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
2041
2042 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
2043 during initialization.
2044
20452008-10-04 Eli Zaretskii <eliz@gnu.org>
2046
2047 * xdisp.c (redisplay_internal): If frame switched, redisplay the
2048 whole thing on MSDOS frames as well as on a TTY.
2049
2050 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
2051 well as for TTY.
2052 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
2053 well as on a TTY.
2054
2055 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
2056 as well as for TTY.
2057
2058 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
2059
2060 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
2061 MSDOS frames as well.
2062
20632008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2064
2065 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
2066 correct arguments.
2067 * menu.c (find_and_return_menu_selection) Add cast.
2068
20692008-10-03 Glenn Morris <rgm@gnu.org>
2070
2071 * emacs.c (USAGE1): Add --daemon.
2072
20732008-10-02 Eli Zaretskii <eliz@gnu.org>
2074
2075 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2076 100, so it's in percents as advertised.
2077
20782008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2079
2080 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2081 (ns_output.current_cursor, ns_output.desired_cursor)
2082 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2083 (FRAME_NEW_CURSOR_COLOR): Remove.
2084
2085 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2086 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2087 enumeration (HOLLOW_BOX_CURSOR, etc.).
2088
2089 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2090 (draw_window_cursor): Simplify code.
f5385255
SM
2091 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2092 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2093 updates manually.
a9b555d3
JB
2094 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2095 Use core Emacs cursor types.
aac0c6e3 2096
b8ff72fa 2097 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2098
20992008-10-02 Martin Rudalics <rudalics@gmx.at>
2100
2101 * process.c (Faccept_process_output): Fix doc-string.
2102
21032008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2104
2105 * gmalloc.c (__sbrk): Also define for uClibc.
2106
2107 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2108 for uClibc.
2109
21102008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2111
2112 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2113 styles.
2114 (nsfont_open): Reenable the cache.
2115
21162008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2117
2118 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2119 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2120
21212008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2122
2123 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2124 a suspended terminal.
2125
21262008-09-30 Michael Albinus <michael.albinus@gmx.de>
2127
2128 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2129
21302008-09-30 Eli Zaretskii <eliz@gnu.org>
2131
2132 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2133
21342008-09-30 Chong Yidong <cyd@stupidchicken.com>
2135
2136 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2137 in a continued line coincides with a line beginning.
2138
21392008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2140
2141 * nsfont.m (nsfont_trait_distance): Fix bug.
2142 (nsfont_list): Return a list rather than a vector (syncs with Handa
2143 changes of 2008-05-14).
2144 (nsfont_open): Improve logging.
2145
21462008-09-29 Andreas Schwab <schwab@suse.de>
2147
2148 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2149
21502008-09-28 Martin Rudalics <rudalics@gmx.at>
2151
2152 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2153 name as char-resolve-modifiers.
2154 Reported by: Markus Triska <markus.triska@gmx.at>
2155
21562008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2157
2158 * dispnew.c (init_display): Return earlier when running as a daemon.
2159
21602008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2161
2162 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2163
21642008-09-27 Eli Zaretskii <eliz@gnu.org>
2165
2166 * composite.c (Fcomposition_get_gstring)
2167 (Fcompose_region_internal, Fcompose_string_internal)
2168 (Ffind_composition_internal): Doc fix.
2169 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2170 (syms_of_composite) <auto-composition-function>: Doc fix.
2171 (syms_of_composite) <composition-function-table>: Doc fix.
2172
21732008-09-25 Chong Yidong <cyd@stupidchicken.com>
2174
2175 * search.c (wordify): New argument for lax word-ends.
2176 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2177
21782008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2179
2180 * lisp.h (is_daemon): Declare.
2181 * dispnew.c (init_display): Do not try to initialize the terminal
2182 when running as a daemon.
2183
21842008-09-22 Chong Yidong <cyd@stupidchicken.com>
2185
2186 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2187 x_display_pixel_height.
2188
21892008-09-22 Martin Rudalics <rudalics@gmx.at>
2190
2191 * undo.c (record_point): Don't call Fundo_boundary for first
2192 change. (Bug#731)
2193
21942008-09-22 Juanma Barranquero <lekktu@gmail.com>
2195
2196 * emacs.c (Fdaemonp): Doc fix.
2197
21982008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2199
2200 * emacs.c (main): Place #ifdef in the proper place.
2201
22022008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2203
2204 * emacs.c (standard_args): Add --daemon.
2205 (main): Disconnect from the terminal when --daemon is passed.
2206 (is_daemon): New variable.
2207 (Fdaemonp): New function.
2208 (syms_of_emacs): Defsubr it.
2209
22102008-09-20 Chong Yidong <cyd@stupidchicken.com>
2211
2212 * xdisp.c (get_next_display_element): Handle string display
2213 correctly when checking for the end of a box run.
2214
22152008-09-20 Glenn Morris <rgm@gnu.org>
2216
2217 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2218 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2219 (Frename_file): Avoid copying to trash if a rename involves
2220 a delete. (Bug#964).
2221
22222008-09-20 Eli Zaretskii <eliz@gnu.org>
2223
2224 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2225 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2226 frames as well as termcap frames.
2227 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2228 get_named_tty.
2229
22302008-09-19 Eli Zaretskii <eliz@gnu.org>
2231
2232 * process.c (procfs_system_process_attributes): Fix cmdline in
2233 case /proc/PID/cmdline is empty.
2234
2235 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2236 x_display_pixel_height.
2237
22382008-09-19 Juanma Barranquero <lekktu@gmail.com>
2239
2240 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2241
2242 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2243 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2244
22452008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2246
2247 * dispextern.h (struct it): Move line_wrap away from the middle of
2248 bitfields. Move voffset in struct iterator_stack_entry after the
2249 bitfields. Move tab_width near after another short.
2250
22512008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2252
2253 * frame.h (struct frame): Move alpha from the middle of bitfields.
2254
2255 * window.h (struct window): Move frozen_window_start_p after the
2256 rest of the bitfields to reduce padding.
2257
22582008-09-18 Chong Yidong <cyd@stupidchicken.com>
2259
2260 * xterm.h (x_display_info): Remove `height' and `width' members.
2261
2262 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2263
2264 * w32term.h (w32_display_info): Remove `height', `width',
2265 `height_in', and `width_in' members.
2266
b8ff72fa
SM
2267 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2268 New functions.
aac0c6e3
MR
2269 (x_calc_absolute_position): Use them.
2270 (x_term_init): Omit removed `height' and `width' members.
2271
b8ff72fa
SM
2272 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2273 New functions.
aac0c6e3
MR
2274 (w32_read_socket, x_calc_absolute_position): Use them.
2275 (w32_initialize_display_info, w32_term_init): Omit removed members
2276 of w32_display_info.
2277
b8ff72fa
SM
2278 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2279 New functions.
2280 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2281
b8ff72fa
SM
2282 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2283 New functions.
aac0c6e3
MR
2284 (x_calc_absolute_position): Use them.
2285 (x_term_init): Omit removed `height' and `width' members.
2286
2287 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2288 (compute_tip_xy):
2289 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2290 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2291 x_display_pixel_width.
2292
22932008-09-18 Kenichi Handa <handa@m17n.org>
2294
2295 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2296 (composition_compute_stop_pos): Fix handling of static composition.
2297 (Fcomposition_get_gstring): Check FROM and TO at first.
2298
22992008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2300
2301 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2302 mixup (YAILOM).
2303
23042008-09-17 Chong Yidong <cyd@stupidchicken.com>
2305
2306 * indent.c (Fvertical_motion): Use position reported by iterator
2307 instead of PT for determining screen motion (bug#943).
2308
23092008-09-17 Romain Francoise <romain@orebokech.com>
2310
2311 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2312
23132008-09-17 Kenichi Handa <handa@m17n.org>
2314
2315 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2316
2317 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2318 if necessary.
2319
23202008-09-16 Kenichi Handa <handa@m17n.org>
2321
2322 * coding.c (make_conversion_work_buffer): Avoid calling
2323 Fget_buffer_create if it is not necessary.
2324
23252008-09-15 Martin Rudalics <rudalics@gmx.at>
2326
2327 * window.c (Fselect_window): Don't update window_select_count and
2328 use_time when norecord is not nil.
2329
23302008-09-14 Kenichi Handa <handa@m17n.org>
2331
2332 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2333 specpdl_ptr.
2334
23352008-09-12 Kenichi Handa <handa@m17n.org>
2336
2337 * indent.c (scan_for_column): Don't handle automatic composition
2338 if the current buffer is not associated with a window.
2339
2340 * composite.c (composition_reseat_it): If the current buffer is
2341 not associated with a window, ignore the automatic composition.
2342 (find_automatic_composition): Likewise.
2343
23442008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2345
2346 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2347 (Fgpm_mouse_stop): Use it.
2348 * termhooks.h (close_gpm): Declare.
2349 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2350 connection if Gpm_GetEvent fails.
2351
2352 * window.c (set_window_buffer): Always preserve current-buffer.
2353
23542008-09-12 Glenn Morris <rgm@gnu.org>
2355
2356 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2357
23582008-09-11 Glenn Morris <rgm@gnu.org>
2359
2360 * charset.c (charset-map-path): Doc fix.
2361
23622008-09-10 Kenichi Handa <handa@m17n.org>
2363
2364 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2365
2366 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2367 compose a grapheme cluster with the preceding base glyph.
2368
2369 * composite.c (composition_compute_stop_pos): Fix previous change.
2370 Reset cmp_it->id to -1 at first.
2371
23722008-09-10 Glenn Morris <rgm@gnu.org>
2373
2374 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2375
23762008-09-09 Chong Yidong <cyd@stupidchicken.com>
2377
2378 * keyboard.c (read_key_sequence): Reapply translation maps when
2379 switching keyboards.
2380
23812008-09-09 Kenichi Handa <handa@m17n.org>
2382
2383 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2384 characters.
2385
2386 * composite.c (FORWARD_CHAR): Fix calculation
2387 of (POSITION).pos_byte.
2388 (composition_compute_stop_pos): Limit the search of composition to
2389 at most 500 characters ahead. If we reach the limit or find a
2390 newline, set cmp_it->ch to -2 and return 0.
2391 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2392
23932008-09-08 Kenichi Handa <handa@m17n.org>
2394
2395 * indent.c (Fvertical_motion): Be sure to set
2396 it_overshoot_expected if it.cmp_it.id is non-negative.
2397
23982008-09-07 Andreas Schwab <schwab@suse.de>
2399
2400 * callproc.c (Fcall_process): Don't hold references to string data
2401 across garbage collection. Move initialisation of new_argv down
2402 to avoid compiler bug.
2403
24042008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2405
2406 * process.c (Fsystem_process_attributes): Doc fix.
2407
24082008-09-07 Chong Yidong <cyd@stupidchicken.com>
2409
2410 * callproc.c (Fcall_process): Canonicalize current directory name.
2411
2412 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2413 iterator advances to the next line if the current line ends in a
2414 continued tab.
2415
24162008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2417
2418 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2419 member to point to cmp_from.
2420
2421 * xdisp.c: Doc fix for references to gidx data member.
2422
24232008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2424
2425 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2426
24272008-09-07 Kenichi Handa <handa@m17n.org>
2428
2429 * composite.c (FORWARD_CHAR): Check STOP after
2430 incrementing (POSITION).pos.
2431
24322008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2433
2434 * process.c (Fsystem_process_attributes): Doc fix.
2435
24362008-09-06 Chong Yidong <cyd@stupidchicken.com>
2437
2438 * keyboard.c (Ftop_level): Doc fix.
2439
24402008-09-06 Eli Zaretskii <eliz@gnu.org>
2441
2442 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2443 minibuffer, don't let lower part of menu invade the echo area.
2444
2445 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2446 "char *q" to access menu text and advance through it. Revert the
2447 change that displayed ">" instead of ASCII character 0x10.
2448
24492008-09-05 Eli Zaretskii <eliz@gnu.org>
2450
2451 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2452 toggle boxes and radio buttons on MS-DOS as well.
2453
24542008-09-05 Kenichi Handa <handa@m17n.org>
2455
2456 * composite.c (autocmp_chars): Check lookback count.
2457 (composition_compute_stop_pos): Set cmp_it->lookback.
2458 (composition_reseat_it): Check lookback count.
2459 (struct position_record): New struct.
2460 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2461 (find_automatic_composition): New function.
2462 (composition_adjust_point): Use find_automatic_composition.
2463
2464 * dispextern.h (struct composition_it): New member lookback.
2465
24662008-09-02 Chong Yidong <cyd@stupidchicken.com>
2467
2468 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2469 if moving by a single line.
2470
24712008-09-02 Andreas Schwab <schwab@suse.de>
2472
2473 * xterm.c (x_delete_display): Fix merge error.
2474
2475 * fileio.c (Fexpand_file_name): Remove unused variables.
2476
24772008-09-02 Eli Zaretskii <eliz@gnu.org>
2478
2479 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2480 storage on all platforms, not just on DOS_NT.
2481
24822008-09-02 Jason Rumney <jasonr@gnu.org>
2483
b8ff72fa
SM
2484 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2485 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2486
24872008-09-01 Chong Yidong <cyd@stupidchicken.com>
2488
2489 * xfaces.c (Finternal_set_alternative_font_family_alist)
2490 (Finternal_set_alternative_font_registry_alist): Properly copy
2491 entire alist structure.
2492
24932008-09-01 Kenichi Handa <handa@m17n.org>
2494
d66c0241 2495 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2496 representative chars of the script is a vector.
d66c0241
JB
2497 (ftfont_list): Handle the case where the representative chars of
2498 the script is a vector.
aac0c6e3
MR
2499
2500 * character.c (syms_of_character): Docstring of
2501 script-representative-chars fixed.
2502
25032008-08-31 Eli Zaretskii <eliz@gnu.org>
2504
2505 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2506 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2507 the menu. Allocate larger buffer for `text', to account for
2508 possible ^C characters.
2509
25102008-08-31 Martin Rudalics <rudalics@gmx.at>
2511
2512 * xdisp.c (prepare_menu_bars): Don't call
2513 Vwindow_size_change_functions with arg Qt.
2514
25152008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2516
2517 * font.h (font_range):
2518 * fileio.c (report_file_error):
2519 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2520
25212008-08-30 Glenn Morris <rgm@gnu.org>
2522
2523 * data.c (Fmake_variable_frame_local): Doc fix.
2524
2525 * frame.c (Fmodify_frame_parameters): Doc fix.
2526
25272008-08-30 Eli Zaretskii <eliz@gnu.org>
2528
2529 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2530 needed by GetTokenInformation.
2531 (w32_system_process_attributes): Check return values of all system
2532 APIs.
2533
2534 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2535 only when the state changes.
2536 (IT_update_begin, IT_update_end): Add termscript trace.
2537
2538 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2539 clipboard is unavailable. Set dst to NULL if it doesn't point to
2540 malloc'ed data.
2541 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2542 passing random values to xfree.
2543
2544 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2545 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2546
25472008-08-29 Jason Rumney <jasonr@gnu.org>
2548
2549 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2550
25512008-08-29 Eli Zaretskii <eliz@gnu.org>
2552
2553 * composite.c (fill_gstring_body): Avoid compiler warnings.
2554
2555 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2556 LGLYPH_SET_CODE to avoid compiler warnings.
2557
2ae37cf0 2558 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2559
2560 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2561
2562 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2563 LGLYPH_SET_CODE.
2564
25652008-08-29 Kenichi Handa <handa@m17n.org>
2566
2567 * fileio.c (report_file_error): Don't downcase the first character
2568 of errstring if it is still unibyte.
2569
25702008-08-29 Kenichi Handa <handa@m17n.org>
2571
2572 These changes are to re-implement the automatic composition so
2573 that it doesn't use text properties.
2574
2575 * Makefile.in (ftfont.o): Depend on composite.h.
2576 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2577
2578 * character.h (Vunicode_category_table): Extern it.
2579
2580 * character.c (Vunicode_category_table): New variable.
2581 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2582
2583 * chartab.c (optimize_sub_char_table): Perform more greedy
2584 optimization.
2585
b8ff72fa
SM
2586 * composite.h (enum composition_method):
2587 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2588 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2589 (Vcomposition_function_table): Extern it.
2590 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2591 (composition_gstring_put_cache, composition_gstring_from_id)
2592 (composition_gstring_p, composition_gstring_width)
2593 (composition_compute_stop_pos, composition_reseat_it)
2594 (composition_update_it, composition_adjust_point): Extern them.
2595 (Fcomposition_get_gstring): EXFUN it.
2596
d66c0241 2597 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2598 (Vcomposition_function_table)
2599 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2600 (gstring_hash_table, gstring_work, gstring_work_headers):
2601 New variables.
aac0c6e3
MR
2602 (gstring_lookup_cache, composition_gstring_put_cache)
2603 (composition_gstring_from_id, composition_gstring_p)
2604 (composition_gstring_width, fill_gstring_header)
2605 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2606 (composition_reseat_it, composition_update_it)
b8ff72fa 2607 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2608 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2609 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2610 Defsubr compostion_get_gstring.
2611
2612 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2613 cmp_id.
2614 (struct glyph_string): Delete the member gidx. New members
2615 cmp_id, cmp_from, and cmp_to.
2616 (enum it_method): Delete GET_FROM_COMPOSITION.
2617 (struct composition_it): New struct.
2618 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2619 Delete c, len, cmp_id, cmp_len in u.comp.
2620
2621 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2622 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2623 (enum lglyph_indices): Likewise.
b8ff72fa 2624 (font_range): Adjust extern.
aac0c6e3
MR
2625 (font_fill_lglyph_metrics): Extern it.
2626
2627 * font.c (QCf): New variable.
2628 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2629 (font_prepare_composition): Delete this function.
2630 (font_range): Type and arguments changed.
2631 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2632 (font_fill_lglyph_metrics): New function.
b8ff72fa 2633 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2634 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2635 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2636 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2637
2638 * fontset.h (font_for_char): Extern it.
2639
2640 * fontset.c (font_for_char): New function.
2641
2642 * ftfont.c: Include composite.h.
2643 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2644 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2645
2646 * indent.c: Include composite.h and dispextern.h.
2647 (check_composition): Delete this function.
2648 (scan_for_column): Handle composition by
2649 composition_compute_stop_pos, composition_reseat_it, and
2650 composition_update_it.
2651 (compute_motion): Likewise.
2652 (Fvertical_motion): Fix checking of composition.
2653
2654 * keyboard.c (adjust_point_for_property): Check composition by
2655 composition_adjust_point.
2656
b8ff72fa 2657 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2658 struct glyph_string.
2659
b8ff72fa
SM
2660 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2661 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2662 struct glyph.
2663 (produce_composite_glyph): Likewise.
2664
b8ff72fa
SM
2665 * w32term.c (x_draw_composite_glyph_string_foreground):
2666 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2667 (x_draw_glyph_string): Likewise.
2668
2669 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2670 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2671
2672 * xdisp.c: Include font.h.
2673 (it_props): Delete the entry for Qauto_composed.
2674 (init_iterator): Initialize it->cmp_it.id to -1.
2675 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2676 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2677 (handle_auto_composed_prop): Delete it.
2678 (handle_composition_prop): Handle only static composition.
2679 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2680 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2681 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2682 (pop_it): Likewise.
2683 (get_next_element): Delete next_element_from_composition.
2684 (CHAR_COMPOSED_P): New macro.
2685 (get_next_display_element): For automatic composition, get a face
2686 from the font in the glyph-string.
2687 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2688 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2689 (next_element_from_string): Check if the character at the current
2690 position is composed by CHAR_COMPOSED_P.
2691 (next_element_from_buffer): Likewise.
d66c0241
JB
2692 (next_element_from_composition): Adjust for the change of struct it.
2693 Update it->cmp_it.
b8ff72fa
SM
2694 (dump_glyph): Adjust for the change of struct glyph.
2695 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2696 it and struct glyph. Don't handle automatic composition here.
2697 (fill_gstring_glyph_string): New function.
2698 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2699 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2700 (BUILD_GSTRING_GLYPH_STRING): New macro.
2701 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2702 automatic composition.
b8ff72fa 2703 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2704 struct glyph.
b8ff72fa 2705 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2706
b8ff72fa 2707 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2708 the change of struct glyph_string.
2709 (x_draw_glyph_string): Likewise.
2710
27112008-08-29 Glenn Morris <rgm@gnu.org>
2712
2713 * buffer.c (word-wrap): Doc fix.
2714 * xdisp.c (truncate-partial-width-windows): Doc fix.
2715 Increase default to 50.
2716
27172008-08-29 Chong Yidong <cyd@stupidchicken.com>
2718
2719 * xdisp.c (update_tool_bar_unwind): New function.
2720 (update_tool_bar): Temporarily set selected frame before building
2721 tool-bar items.
2722
27232008-08-28 Michael Albinus <michael.albinus@gmx.de>
2724
2725 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2726 snprintf, respectively.
2727 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2728
27292008-08-28 Chong Yidong <cyd@stupidchicken.com>
2730
2731 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2732 LDFLAGS to GNUstep CC invocation.
2733
27342008-08-27 Chong Yidong <cyd@stupidchicken.com>
2735
2736 * indent.c (Fvertical_motion): Revert last change. Handle the
2737 general case where we are moving forward, and PT spans multiple
2738 screen lines.
2739
2740 * eval.c (find_handler_clause): Temporarily increase
2741 max-lisp-eval-depth while printing the backtrace buffer, to
2742 guarantee that help-mode code can run.
2743
27442008-08-27 Eli Zaretskii <eliz@gnu.org>
2745
2746 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2747 colors under -rv.
2748 (IT_set_frame_parameters): Don't swap foreground and background
2749 colors if `(reverse . t)' is present in the frame properties.
2750 (internal_terminal_init): Call init_frame_faces only for the
2751 initial frame.
2752
27532008-08-27 Andreas Schwab <schwab@suse.de>
2754
2755 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2756
27572008-08-27 Andreas Schwab <schwab@suse.de>
2758
2759 * search.c (search_buffer): Set char_base to zero only at the end.
2760
27612008-08-27 Kenichi Handa <handa@m17n.org>
2762
b8ff72fa 2763 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2764
27652008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2766
2767 * xterm.c (x_term_init): Temporarily hide the partially
2768 initialized terminal while calling vendor-specific-keysyms.
2769
27702008-08-26 Eli Zaretskii <eliz@gnu.org>
2771
2772 * msdos.c (internal_terminal_init): Most initializations done only
2773 once, especially initial_screen_colors[] and termscript open.
2774
27752008-08-26 Chong Yidong <cyd@stupidchicken.com>
2776
2777 * eval.c (Fcondition_case): Doc fix.
2778
2779 * widgetprv.h (EmacsFramePart): Change font member to the new font
2780 struct.
2781
2782 * widget.c: Include character.h and font.h for XSETFONT.
2783 (setup_frame_gcs): Compute X font id from font struct, just once.
2784
27852008-08-26 Eli Zaretskii <eliz@gnu.org>
2786
2787 * term.c (get_named_tty): Fix last change.
2788
27892008-08-26 Chong Yidong <cyd@stupidchicken.com>
2790
2791 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2792 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2793
27942008-08-25 Eli Zaretskii <eliz@gnu.org>
2795
2796 * frame.c (do_switch_frame): Mark previously displayed frame as
2797 obscured for FRAME_MSDOS_P frames as well.
2798
27992008-08-24 Eli Zaretskii <eliz@gnu.org>
2800
2801 * frame.c (make_terminal_frame): Initialize f->terminal,
2802 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2803 Set the top frame to newly created frame.
2804 (Fmake_terminal_frame): Reuse the_only_display_info.
2805
2806 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2807 estimating available memory.
2808
b97439ce 28092008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2810
2811 * nsterm.m (ns_draw_window_cursor): Don't call
2812 NSDisableScreenUpdates and NSEnableScreenUpdates on
2813 non-NS_IMPL_COCOA systems.
2814
28152008-08-23 Andreas Schwab <schwab@suse.de>
2816
2817 * process.c (procfs_system_process_attributes): Fix use of
2818 uninitialized variables.
2819
28202008-08-23 Eli Zaretskii <eliz@gnu.org>
2821
2822 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2823
2824 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2825 calling tty-set-up-initial-frame-faces.
2826
b8ff72fa
SM
2827 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2828 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2829
2830 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2831 addition to output_termcap.
2832
2833 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2834
2835 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2836 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2837 highlight.
2838
2839 * process.c [!subprocesses]: Define QCname.
2840 (syms_of_process): Intern and staticpro it.
2841
2842 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2843 Adjust for changes in encoding/decoding routines.
2844 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2845 encode_coding and decode_coding.
2846
b8ff72fa 2847 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2848
2849 * dosfns.c: Include frame.h before termhooks.h.
2850 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2851 variable termscript.
2852
2853 * s/msdos.h (USER_FULL_NAME): Define.
2854 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2855
2856 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2857 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2858 pw->pw_gecos.
2859
2860 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2861 SELECTED_FRAME as additional (1st) argument.
2862 (tty_read_avail_input): Handle output_msdos_raw in
2863 addition to output_termcap.
2864
2865 * msdos.c: Include frame.h before termhooks.h.
2866 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2867 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2868 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2869 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2870 (IT_set_terminal_modes, IT_reset_terminal_modes)
2871 (IT_set_frame_parameters): Use tty->termscript instead of a global
2872 variable termscript.
2873 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2874 global variable terminal_coding. Don't refer to
2875 Vnonascii_translation_table.
2876 (internal_terminal_init): Set Vwindow_system in current_kboard.
2877 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2878 Announce date and time of session start, if termscript is open.
2879 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2880 term.c:init_tty). Open termscript only of not already open.
2881 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2882 here instead of dos_ttraw. Don't initialize display if this is an
2883 initial tty. Don't set FRAME_FONT.
2884 (Vwindow_system_version): Bump to 23.
2885 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2886 is available, set up mouse_position_hook.
2887 (dos_ttraw, IT_set_terminal_modes): If called with initial
2888 terminal, do nothing.
2889 (IT_set_frame_parameters): Handle the Qtty_type frame
2890 parameter by calling internal_terminal_init.
2891 (dos_set_window_size, show_mouse_face)
2892 (clear_mouse_face, IT_note_mode_line_highlight)
2893 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2894 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2895 (initialize_msdos_display): New function.
2896 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2897 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2898 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2899 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2900 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2901 (request_sigio, unrequest_sigio): Don't define, now defined on
2902 sysdep.c.
2903 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2904
2905 * term.c [MSDOS]: Include msdos.h.
2906 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2907 conditional to DOS_NT. Allow only one call to this function in a
2908 session. Don't allocate a new struct tty_display_info; instead,
2909 reuse the_only_display_info. Call get_tty_size to get screen
2910 dimensions. Call init_baud_rate to set bad_rate.
2911 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2912 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2913 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2914 (get_tty_terminal, get_named_tty, Ftty_type)
2915 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2916 output_termcap.
b8ff72fa
SM
2917 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2918 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2919 only when subprocesses are supported.
aac0c6e3
MR
2920
2921 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2922 f->output_data.x.
2923 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2924 terminal devices.
2925
5582fbc7 2926 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2927 x_output.
2928 (FRAME_FONT): Use output_data.tty.
2929 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2930 (struct x_display_info): Rename from display_info. Update all users in
2931 msdos.c.
aac0c6e3 2932 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2933 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2934 (dos_ttraw): Update prototype.
2935
2936 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2937 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2938
29392008-08-23 Jason Rumney <jasonr@gnu.org>
2940
2941 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2942 (fn_TIFFSetDirectory): New library function used.
2943 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2944 (tiff_load): Use :index to select among multiple images. Set count
2945 property when multiple images exist.
2946 (gif_format): Use :index, not :image.
2947
29482008-08-23 Chong Yidong <cyd@stupidchicken.com>
2949
2950 * xdisp.c (try_scrolling): Check INT_MAX instead of
2951 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2952 to obtain INT_MAX.
2953
29542008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2955
2956 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2957
29582008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2959
2960 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2961 GNUstep library location.
2962
29632008-08-21 Chong Yidong <cyd@stupidchicken.com>
2964
2965 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2966 before using it.
2967
2968 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2969
29702008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2971
2972 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2973 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2974 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2975 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2976 (EmacsApp-cursor_blink_handler): Remove declaration.
2977 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2978 match 01 Feb 2008 changes in xterm.c.
2979 (ns_read_socket): Add cast to avoid warning.
2980 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2981 GNUstep.
2982
29832008-08-20 Chong Yidong <cyd@stupidchicken.com>
2984
2985 * xselect.c (x_get_foreign_selection): Return nil if desired
2986 selection could not be obtained, instead of signalling an error.
2987
29882008-08-20 David Reitter <david.reitter@gmail.com>
2989
2990 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2991 * nsterm.m: Remove ns-specific code for cursor blinking.
2992 (ns_draw_window_cursor): Clear cursor properly rather than
2993 redrawing the area. Respect width of bar cursors.
2994 These changes enable the use of generic blink-cursor-mode and
2995 generic cursor types in NS and support smooth cursor movements (do
2996 not blink off after command).
2997 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2998 Nextstep, too.
2999
30002008-08-19 Kenichi Handa <handa@m17n.org>
3001
3002 * font.c (Vfont_log_deferred): New variable.
3003 (font_add_log): Check Vfont_log_deferred.
3004 (font_deferred_log): New function.
3005
3006 * font.h (font_deferred_log): Extern it.
3007
3008 * fontset.c (reorder_font_vector): Use encoding charset of fonts
3009 for sorting.
3010 (face_for_char): Use deferred log.
3011
30122008-08-18 Kenichi Handa <handa@m17n.org>
3013
3014 * fontset.c (face_for_char): Add font log.
3015
3016 * font.c (font_add_log): Add the font properties :script, :lang,
3017 and :otf in the log.
3018
30192008-08-17 Chong Yidong <cyd@stupidchicken.com>
3020
3021 * xdisp.c: Remove dead code.
3022 (handle_invisible_prop, next_overlay_string): Defer call to
3023 setup_for_ellipsis.
3024 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
3025
30262008-08-15 Chong Yidong <cyd@stupidchicken.com>
3027
3028 * xfaces.c (lookup_derived_face): Properly handle possible zero
3029 return value of get_lface_attributes.
3030 (merge_faces): Don't tell lookup_derived_face to signal an error
3031 if face is not found.
3032
3033 * dired.c (Fdirectory_files): Doc fix.
3034
3035 * process.c (make_process): Initialize kill_without_query struct
3036 member.
3037
30382008-08-15 Eli Zaretskii <eliz@gnu.org>
3039
3040 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
3041 Alternative calculation of totphys for Visual Studio 6.
3042
3043 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
3044
3045 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
3046 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
3047 All users changed.
3048 (stat): Only root directory passed to GetDriveType. Allow RAM
3049 disk as well as local fixed disk when w32-get-true-file-attributes
3050 is set to `local'.
3051 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
3052 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
3053 (w32_cached_id, w32_add_to_cache): New functions.
3054 (get_name_and_id): Look account names in the cache before calling
3055 lookup_account_sid.
3056 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
3057 New initialization flags.
3058 (globals_of_w32): Initialize them to zero.
3059 (w32_system_process_attributes): Use w32_cached_id and
3060 w32_add_to_cache.
3061
30622008-08-14 Lawrence Mitchell <wence@gmx.li>
3063
3064 * lread.c (Fread_char, Fread_char_exclusive): If no character
3065 event is read before timeout is reached, return nil, rather than
3066 converting to a number.
3067
30682008-08-14 Chong Yidong <cyd@stupidchicken.com>
3069
3070 * fns.c (use_dialog_box): Doc fix.
3071
3072 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3073 on OS X.
3074
30752008-08-13 Chong Yidong <cyd@stupidchicken.com>
3076
3077 * frame.c (Qns_parse_geometry): New var.
3078 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3079
30802008-08-11 Chong Yidong <cyd@stupidchicken.com>
3081
3082 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3083 space character in calculating tabs.
3084
30852008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3086
3087 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3088
30892008-08-10 Glenn Morris <rgm@gnu.org>
3090
3091 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3092 silence gcc "limited range of data type" warnings in some
3093 make_fixnum_or_float calls.
3094
30952008-08-09 Eli Zaretskii <eliz@gnu.org>
3096
3097 * w32.c (w32_system_process_attributes): If the process does not
3098 exist, return nil.
3099
3100 * w32.c: Include thelp32.h, psapi.h and coding.h.
3101 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3102 declarations.
3103 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3104 (Process32Next_Proc): New typedefs.
3105 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3106 (g_b_init_process32_next, g_b_init_open_thread_token)
3107 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3108 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3109 (g_b_init_get_process_working_set_size)
3110 (g_b_init_global_memory_status_ex): New static variables.
3111 (globals_of_w32): Initialize them.
3112 (create_toolhelp32_snapshot, process32_first, process32_next)
3113 (open_thread_token, impersonate_self, revert_to_self)
3114 (get_process_memory_info, get_process_working_set_size)
3115 (global_memory_status, global_memory_status_ex): New wrapper
3116 functions.
3117 (w32_list_system_processes, w32_system_process_attributes)
3118 (enable_privilege, restore_privilege, ltime, process_times):
3119 New functions.
3120 (convert_time_raw): New function.
3121 (convert_time): Remove conversion of FILETIME into time in 100
3122 nsec units, call convert_time_raw instead.
3123
3124 * process.h (w32_list_system_processes, w32_system_process_attributes):
3125 Add prototypes.
3126 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3127 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3128 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3129 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3130
3131 * process.c (Fsystem_process_attributes): Doc fix.
3132
31332008-08-08 Chong Yidong <cyd@stupidchicken.com>
3134
3135 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3136 a continued multi-char glyph; if so, advance to the actual glyph.
3137
31382008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3139
3140 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3141
3142 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3143 (.m.o): Use it.
3144 * config.in: Regenerate.
3145
31462008-08-07 Chong Yidong <cyd@stupidchicken.com>
3147
3148 * xdisp.c (redisplay_window): Revert last change.
3149 (try_window): Check bottom scroll margin too.
3150
31512008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3152
3153 * config.in: Regenerate.
3154
3155 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3156 -list-load-path-shadows'.
3157 (nsgui.h): Reduce number of things depending on it.
3158
31592008-08-06 Chong Yidong <cyd@stupidchicken.com>
3160
3161 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3162 instead of window-end which does the wrong thing at eob.
3163 (try_cursor_movement): Minor optimization.
3164 (redisplay_window): If scroll margin is defined, don't assume
3165 window doesn't need scrolling.
3166
31672008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3168
3169 * config.in: Regenerate.
3170
3171 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3172 (mostlyclean): Don't delete *.d under NS.
3173
3174 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3175
31762008-08-06 Kenichi Handa <handa@m17n.org>
3177
3178 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3179
31802008-08-06 Andreas Schwab <schwab@suse.de>
3181
3182 * config.in: Regenerate.
3183
31842008-08-05 Chong Yidong <cyd@stupidchicken.com>
3185
3186 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3187 forcing a window start.
3188
3189 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3190 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3191
31922008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3193
3194 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3195 argument.
3196
31972008-08-05 Juanma Barranquero <lekktu@gmail.com>
3198
3199 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3200 <scroll-down-aggressively, before-change-functions>:
3201 <after-change-functions>: Reflow docstrings.
3202
32032008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3204 Ken Raeburn <raeburn@gnu.org>
3205
3206 Dock menu customization, based on a patch by Ken Raeburn, plus some
3207 other fixes.
3208 * nsmenu.m (dockMenu): New variable.
3209 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3210
3211 * nsterm.h (dockMenu): Declare.
3212
3213 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3214 (ns_term_init): Initialize dockMenu.
3215 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3216 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3217 left.
3218
3219 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3220
32212008-08-04 Chong Yidong <cyd@stupidchicken.com>
3222
3223 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3224
3225 * config.in: Regenerate.
3226
32272008-08-04 Seiji Zenitani <zenitani@mac.com>
3228
3229 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3230
32312008-08-04 Chong Yidong <cyd@stupidchicken.com>
3232
3233 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3234
32352008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3236
3237 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3238
3239 * keyboard.h: Comment an #endif.
3240
3241 * lisp.h (have_menus_p): Adjust comment.
3242
3243 * menu.c (find_and_return_menu_selection): Fix comparison with
3244 client_data.
3245
3246 * nsmenu.m (popup_activated_flag): New variable.
3247 (popup_activated): New function.
3248 (menu-or-popup-active-p): New exported lisp definition.
3249 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3250 when popup done.
3251 (ns_popup_dialog): Set popup_activated_flag.
3252
3253 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3254 version for GNUstep (handled by conditional typedef in nsterm.m).
3255 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3256 in rgb.txt).
3257
3258 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3259
3260 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3261
3262 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3263
3264 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3265 shortcircuit if popup_activated like GTK and X toolkit.
3266
3267 * m/inter386.h: Change DARWIN to DARWIN_OS.
3268
3269 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3270 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3271 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3272 comment on NO_SOCK_SIGIO.
3273
32742008-08-03 Chong Yidong <cyd@stupidchicken.com>
3275
3276 * nsterm.m (windowDidResize): Remove stopModal call.
3277
32782008-08-03 Andreas Schwab <schwab@suse.de>
3279
3280 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3281 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3282
32832008-08-02 Chong Yidong <cyd@stupidchicken.com>
3284
3285 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3286 Don't use uninitialized pointer variable when using getrlimit.
3287
32882008-08-02 Jason Rumney <jasonr@gnu.org>
3289
3290 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3291
32922008-08-02 Eli Zaretskii <eliz@gnu.org>
3293
3294 * alloc.c (NSTATICS): Bump to 0x640.
3295
3296 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3297
3298 * lisp.h: Add prototype for directory_files_internal.
3299
3300 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3301 New functions.
3302 (syms_of_process): Defsubr them. Add initializations for various
3303 Q* symbols used in procfs_system_process_attributes.
3304 (procfs_list_system_processes, procfs_system_process_attributes)
3305 [HAVE_PROCFS]: New functions.
3306 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3307 (procfs_get_total_memory): New functions.
3308
33092008-08-01 Juanma Barranquero <lekktu@gmail.com>
3310
3311 * xfaces.c (Fx_load_color_file): Fix previous change;
3312 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3313
33142008-08-01 Michael Albinus <michael.albinus@gmx.de>
3315
3316 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3317
33182008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3319
3320 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3321
33222008-08-01 Chong Yidong <cyd@stupidchicken.com>
3323
3324 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3325
3326 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3327 define NSApplicationDelegateReplySuccess.
3328 (EmacsView -converstationIdentifier): Use long instead of
3329 NSInteger for GNUstep, since it doesn't have NSInteger.
3330
3331 * xmenu.c: Revert last change.
3332
3333 * keyboard.h: Fix last change.
3334
33352008-08-01 Juanma Barranquero <lekktu@gmail.com>
3336
3337 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3338 on Windows.
3339
33402008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3341
3342 Warning clearing and clean-up in NS port.
3343 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3344 Add prototypes.
3345 * nsgui.h (FACE_DEFAULT): Remove, unused.
3346 (XGCValues): Change colors to unsigned long.
3347 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3348 nsterm.m.
3349 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3350 (ns_list_fonts): Remove, unused.
3351 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3352 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3353 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3354 (nsfont_draw): Compare face colors to 0, not nil.
3355 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3356 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3357 (-addSubmenuWithTitle:): Use NSMenuItem class.
3358 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3359 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3360 (ns_clip_to_row): Make gc arg a BOOL.
3361 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3362 ns_clip_to_row() call.
3363 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3364 used). Cast FRAME_FONT assignments.
3365 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3366 (ns_string_to_lispmod): Change arg to const char.
3367 (ns_term_init): Use NSMenuItem class.
3368 (EmacsApp -openFile:): Move to different section of file.
3369 (EmacsApp -application:openFiles:): Don't return a value, call
3370 -replyToOpenOrPrint:.
3371 (EmacsView -keyDown:): Fix up cast.
3372 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3373 (EmacsView -menuDown:): Cast tag in call to
3374 find_and_call_menu_selection().
3375 (ns_list_fonts): Remove, unused.
3376 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3377 (ns_fontname_to_xlfd): Make static.
3378 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3379 Remove prototypes (now in keyboard.h).
3380 (next_menubar_widget_id): Remove, unused.
3381 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3382 Remove prototypes (now in keyboard.h).
3383 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3384
33852008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3386
3387 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3388 (floatfns.o): Depend on syssignal.h.
3389 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3390
3391 * systty.h: Fix previous change that removed BSD_TERMIOS.
3392 Add comments to #ifdefs.
3393
33942008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3395
3396 * w32fns.c (w32-load-color-file): Remove.
3397 (x-open-connection): Use renamed Fx_load_color_file.
3398 * xfaces.c (x-load-color-file): Add.
3399 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3400 Emacs.clr.
3401 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3402
34032008-07-31 Michael Albinus <michael.albinus@gmx.de>
3404
3405 * dbusbind.c (Fdbus_call_method_asynchronously)
3406 (Fdbus_method_error_internal): New defuns.
3407 (xd_read_message): Handle also reply messages.
3408 (Vdbus_registered_functions_table): Extend docstring.
3409
34102008-07-31 Juanma Barranquero <lekktu@gmail.com>
3411
3412 * keyboard.c (gobble_input): Fix previous change.
3413
34142008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3415
3416 * bitmaps/README:
3417 * xfns.c:
3418 * termcap.c:
3419 * term.c:
3420 * syswait.h:
3421 * systty.h:
3422 * systime.h:
3423 * syssignal.h:
3424 * sysdep.c:
3425 * process.h:
3426 * process.c:
3427 * print.c:
3428 * ndir.h:
3429 * lread.c:
3430 * keyboard.c:
3431 * getpagesize.h:
3432 * floatfns.c:
3433 * fileio.c:
3434 * emacs.c:
3435 * doc.c:
3436 * dispnew.c:
3437 * dired.c:
3438 * data.c:
3439 * callproc.c:
3440 * buffer.c:
3441 * README:
3442 * Makefile.in:
3443 * s/template.h:
3444 * s/msdos.h:
3445 * m/vax.h: Remove VMS support.
3446 * s/vms.h:
3447 * vlimit.h:
3448 * uaf.h:
3449 * temacs.opt:
3450 * param.h:
3451 * ioctl.h: Remove file.
3452
34532008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3454
3455 * s/ms-w32.h (MULTI_KBOARD): Remove.
3456 * xterm.c:
3457 * xselect.c:
3458 * xfns.c:
3459 * window.c:
3460 * w32term.c:
3461 * w32fns.c:
3462 * terminal.c:
3463 * termhooks.h:
3464 * term.c:
3465 * sysdep.c:
3466 * keyboard.h:
3467 * keyboard.c:
3468 * frame.h:
3469 * frame.c:
3470 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3471 * config.in: Regenerate.
3472
34732008-07-30 Jason Rumney <jasonr@gnu.org>
3474
3475 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3476
3477 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3478 (w32font_open_internal): Get unicode version of textmetrics.
3479 Don't enable or disable glyph indices here.
3480 (w32font_open): Disable use of glyph indices.
3481
3482 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3483
34842008-07-30 Chong Yidong <cyd@stupidchicken.com>
3485
3486 * minibuf.c (Vread_buffer_function): Doc fix.
3487
34882008-07-30 John Paul Wallington <jpw@pobox.com>
3489
3490 * minibuf.c (read_buffer_completion_ignore_case): New var.
3491 (Fread_buffer): Use it.
3492
34932008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3494
3495 * systty.h (sensemode): Remove empty #if. Remove reference to
3496 BSD_TERMIOS, unused.
3497
3498 * sysdep.c: Remove reference to DGUX.
3499 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3500
3501 * config.in: Regenerate.
3502
35032008-07-30 Jason Rumney <jasonr@gnu.org>
3504
3505 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3506
35072008-07-29 Jason Rumney <jasonr@gnu.org>
3508
3509 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3510 is populated.
3511 (uniscribe_encode_char): Always use uniscribe.
3512 Avoid using context if cache is populated.
3513
35142008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3515
3516 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3517 open menu.
3518
3519 * gtkutil.c (menu_nav_ended): Remove.
3520 (create_menus): Remove signal connect for menu_nav_ended.
3521
35222008-07-28 Chong Yidong <cyd@stupidchicken.com>
3523
3524 * xdisp.c (redisplay_window): Check return value of
3525 compute_window_start_on_continuation_line before forcing a window
3526 start.
3527
35282008-07-28 Jason Rumney <jasonr@gnu.org>
3529
3530 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3531
3532 * w32term.c (w32_enable_unicode_output, cleartype_active):
3533 Remove obsolete display options.
3534 (x_draw_glyph_string_background): Don't use old cleartype_active
3535 workaround.
3536 (w32_initialize): Remove cleartype_active initialization.
3537 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3538
35392008-07-28 Andreas Schwab <schwab@suse.de>
3540
3541 * lisp.h (init_weak_hash_tables, syms_of_font)
3542 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3543 (remove_hash_entry): Don't declare.
3544 * eval.c (maybe_call_debugger): Make static and move before use.
3545 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3546 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3547 * xterm.h (x_set_frame_alpha): Declare.
3548
35492008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3550
3551 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3552 (create_menus): Connect selection-done to menu_nav_ended.
3553
35542008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3555
3556 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3557 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3558 parameter with read of 'alpha' one.
3559 (Qns_frame_parameter): Remove.
5582fbc7 3560 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3561 (next-selection-coding-system, Vselection_coding_system)
3562 (Vnext_selection_coding_system): Drop.
3563
35642008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3565
3566 * nsfns.m (do-applescript, do_applescript): Rename to
3567 ns-do-applescript, ns_do_applescript, and move within file.
3568
35692008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3570
3571 Remove support for Mac Carbon.
3572 * mactoolbox.c:
3573 * macterm.h:
3574 * macterm.c:
3575 * macselect.c:
3576 * macmenu.c:
3577 * macgui.h:
3578 * macfns.c:
3579 * mac.c: Remove file.
3580 * s/darwin.h:
3581 * m/intel386.h:
3582 * xfaces.c:
3583 * xdisp.c:
3584 * window.c:
3585 * tparam.c:
3586 * termhooks.h:
3587 * termcap.c:
3588 * term.c:
3589 * syssignal.h:
3590 * sysselect.h:
3591 * sysdep.c:
3592 * process.c:
3593 * lread.c:
3594 * lisp.h:
3595 * keyboard.c:
3596 * image.c:
3597 * fringe.c:
3598 * frame.h:
3599 * frame.c:
3600 * fontset.c:
3601 * font.h:
3602 * font.c:
3603 * fns.c:
3604 * fileio.c:
3605 * emacs.c:
3606 * dispnew.c:
3607 * dispextern.h:
3608 * config.in:
3609 * atimer.c:
2ae37cf0 3610 * Makefile.in: Remove code for Carbon.
aac0c6e3 3611
f0131492 36122008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3613
3614 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3615
36162008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3617
3618 * macterm.h (kCGBitmapByteOrder32Host): New define for
3619 non-universal SDKs.
3620
3621 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3622 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3623
3624 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3625 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3626
36272008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3628
3629 * w32inevt.c: Include dispextern.h.
3630
36312008-07-26 Andreas Schwab <schwab@suse.de>
3632
3633 * print.c (print_object): Fix off-by-one in last change.
3634
36352008-07-25 Juanma Barranquero <lekktu@gmail.com>
3636
3637 * term.c (syms_of_term): Don't initialize default_orig_pair,
3638 default_set_foreground and default_set_background on Windows.
3639
36402008-07-25 Jason Rumney <jasonr@gnu.org>
3641
3642 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3643 ScriptItemize. Clean up return value checking. Remove unused
3644 variables.
3645 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3646 shaping engine.
3647
3648 * w32font.c (w32font_has_char): Handle the case where we can't
3649 determine the script for a character.
3650
36512008-07-25 Chong Yidong <cyd@stupidchicken.com>
3652
3653 * term.c (syms_of_term): Initialize default_orig_pair,
3654 default_set_foreground, and default_set_background.
3655
3656 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3657 clash (bug#86).
3658 (getloadavg): Callers changed.
3659
3660 * image.c (svg_load_image): Fix last change.
3661 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3662 image size is valid. Use g_object_unref instead of deprecated
3663 rsvg_handle_free to free rsvg handle.
3664 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3665
36662008-07-25 Jason Rumney <jasonr@gnu.org>
3667
3668 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3669 surrogates before looking up glyph index.
3670 (w32font_text_extents): Encode as surrogates if falling back to
3671 functions that need UTF-16 wide chars.
3672
3673 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3674 BMP as surrogates before looking up glyph index.
3675
36762008-07-25 Chong Yidong <cyd@stupidchicken.com>
3677
3678 * image.c (svg_load_image): Check for failure in return value of
3679 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3680
36812008-07-25 Jason Rumney <jasonr@gnu.org>
3682
3683 * w32font.c (Fx_select_font): Reverse sense of second arg.
3684
36852008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3686
3687 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3688 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3689
3690 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3691 (PURESIZE): Use it.
3692
36932008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3694
3695 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3696 * m/alpha.h (TEXT_END):
3697 * m/ibmrs6000.h (TEXT_END):
3698 * m/macppc.h (TEXT_END):
3699 * s/darwin.h (TEXT_END):
3700 * s/msdos.h (TEXT_END): Remove, unused.
3701 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3702 * s/cygwin.h: Remove comment.
3703
3704 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3705 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3706 * m/intel386.h (DOT_GLOBAL_START):
3707 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3708 (USG): Remove, file not used on USG platforms.
3709
3710 * Makefile.in (HAVE_X11): Remove empty #else.
3711
37122008-07-24 Andreas Schwab <schwab@suse.de>
3713
3714 * fileio.c (Finsert_file_contents): Properly adjust undo list
3715 after format conversion.
3716
37172008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3718
3719 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3720 (menu_nav_ended): Remove.
3721 (create_menus): Remove signal connect for menu_nav_ended.
3722 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3723 create_menus.
3724 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3725
37262008-07-23 Jason Rumney <jasonr@gnu.org>
3727
3728 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3729 with opened font.
3730 (w32font_open): Set font type to gdi.
3731
3732 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3733
37342008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3735
3736 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3737 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3738 defines it.
3739 * unexec.c (ADDR_CORRECT): Define unconditionally.
3740
3741 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3742
3743 * unexec.c: Remove code depending on !COFF and USG, the file is
3744 not used for such systems.
3745
3746 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3747 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3748 (LD_SWITCH_SYSTEM_1): Remove, update users.
3749
3750 * s/darwin.h (DATA_END):
3751 * m/intel386.h (DATA_END):
3752 * m/ibmrs6000.h (DATA_END):
3753 * m/alpha.h (DATA_END): Remove, unused.
3754
3755 * config.in: Regenerate.
3756 * s/ms-w32.h (subprocesses): Define unconditionally.
3757 * s/template.h (subprocesses): Update comment.
3758 * s/vms.h (subprocesses):
3759 * s/usg5-4.h (subprocesses):
3760 * s/hpux10-20.h (subprocesses):
3761 * s/gnu-linux.h (subprocesses):
3762 * s/cygwin.h (subprocesses):
3763 * s/bsd-common.h (subprocesses):
3764 * s/aix4-2.h (subprocesses):
3765 * s/darwin.h (subprocesses): Do not define, defined by default now.
3766
3767 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3768 Remove all references.
3769 (temacs): Add GNUstep specific ld flags.
3770
3771 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3772 similarly to what X does.
3773
37742008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3775
3776 * nsfns.m (x-list-fonts): Remove.
3777 (syms_of_nsfns): Drop the x-list-fonts declaration.
3778 * nsterm.m: Get rid of remaining "//" comments.
3779
37802008-07-22 Chong Yidong <cyd@stupidchicken.com>
3781
3782 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3783
3784 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3785 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3786 (Fns_own_selection_internal, Fx_disown_selection_internal)
3787 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3788
3789 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3790 ... */' style of docstrings. Doc fixes.
3791
37922008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3793
3794 * terminfo.c (UP, BC, PC): Undo previous change.
3795
3796 * nsfns.m: Rename ns prefixed functions/variables to the
3797 corresponding x versions. Update references.
3798
37992008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3800
3801 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3802
38032008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3804
3805 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3806 Remove forwarding functions.
3807 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3808 non-static.
3809 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3810 non-static.
3811 (ns_frame_parm_handlers): Use the new names.
3812 (syms_of_nsfns): Move to the end of file.
3813
3814 * nsterm.m (syms_of_nsterm): Move to the end of file.
3815
3816 * dispnew.c (init_display): Remove code for X10.
3817
38182008-07-22 Jason Rumney <jasonr@gnu.org>
3819
3820 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3821 bare drive.
3822
38232008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3824
3825 * nsterm.m (syms_of_nsterm): Remove debugging println.
3826
38272008-07-22 David Reitter <david.reitter@gmail.com>
3828
3829 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3830 Carbon implementation of the same functionality: execute arbitrary
3831 AppleScript code.
3832
38332008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3834
3835 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3836 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3837 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3838 (Fx_display_mm_height, Fx_display_mm_width)
3839 (Fx_display_backing_store, Fx_display_visual_class)
3840 (Fx_display_save_under, Fx_open_connection)
3841 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3842 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3843 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3844 (Fx_display_pixel_width, Fx_display_pixel_height)
3845 (Fx_display_usable_bounds, Fx_display_planes)
3846 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3847 ... */' style of docstrings.
3848
38492008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3850
3851 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3852 on this platform.
3853 (mips):
3854 * m/iris4d.h (mips): Do not define.
3855 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3856
3857 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3858
3859 * image.c:
3860 * nsfns.m:
3861 * nsselect.m:
3862 * nsterm.h:
3863 * nsterm.m: Rename ns prefixed functions/variables to the
3864 corresponding x versions. Update references.
3865
3866 * m/ibms390x.h (NO_REMAP): Do not undefine.
3867
3868 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3869
38702008-07-21 Chong Yidong <cyd@stupidchicken.com>
3871
3872 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3873 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3874 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3875 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3876 (Fns_display_mm_height, Fns_display_mm_width)
3877 (Fns_display_backing_store, Fns_display_visual_class)
3878 (Fns_display_save_under, Fns_open_connection)
3879 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3880 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3881 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3882 (Fns_display_pixel_width, Fns_display_pixel_height)
3883 (Fns_display_usable_bounds, Fx_display_planes)
3884 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3885
38862008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3887
3888 * print.c (print_object): Check print_depth before searching for
3889 circularities.
3890
38912008-07-21 Michael Albinus <michael.albinus@gmx.de>
3892
3893 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3894 only sprintf.
3895
38962008-07-21 Kenichi Handa <handa@m17n.org>
3897
3898 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3899
39002008-07-20 Andreas Schwab <schwab@suse.de>
3901
3902 * syntax.c (find_start_pos, find_start_value)
3903 (find_start_value_byte, find_start_begv, find_defun_start)
3904 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3905
39062008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3907
3908 * s/sol2-3.h: Insert contents of s/sol2.h.
3909 (LD_SWITCH_SYSTEM): Remove redundant definition.
3910 * s/sol2.h: Remove, unused.
3911
39122008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3913
3914 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3915
39162008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3917
3918 * Makefile.in (ns_appdir): Fix typo in find command.
3919
39202008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3921
3922 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3923
3924 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3925 added not supported anymore.
3926
3927 * s/usg5-4-2.h (LIBS_SYSTEM):
3928 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3929
3930 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3931 * s/lynxos.h (GETPGRP_NO_ARG):
3932 * s/hpux10-20.h (NO_SIOCTL_H):
3933 * s/gnu.h (GETPGRP_NO_ARG):
3934 * s/gnu-linux.h (NO_SIOCTL_H):
3935 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3936 * s/cygwin.h (GETPGRP_NO_ARG):
3937 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3938 (C_DEBUG_SWITCH): Remove duplicate definition.
3939
3940 * m/ibms390.h: Remove boilerplate comments.
3941
3942 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3943
3944 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3945 (wait_reading_process_output): Remove code for SunOS, platform not
3946 supported anymore. Use SOLARIS2 instead of sun.
3947
39482008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3949
3950 * font.c (font_open_by_name): Under NS, default lface height to zero.
3951 (font_open_for_lface): Under NS, set size based on frame fontsize.
3952 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3953 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3954
39552008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3956
3957 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3958 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3959 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3960 YES/NO.
3961 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3962 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3963 * Makefile.in (clean): Clear out build destination dir.
3964
39652008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3966
3967 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3968 xterm, xselect.
3969 * lisp.h: Remove declaration of hash_remove.
3970 * nsgui.h: Remove redefinitions of hash_remove.
3971 * fns.c (hash_remove): Rename to hash_remove_from_table.
3972
39732008-07-19 Seiji Zenitani <zenitani@mac.com>
3974
3975 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3976 strdup() the family UTF8String before modifying it.
3977
39782008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3979
3980 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3981 NS_FACE_BACKGROUND with 0 instead of nil.
3982 * nsfont.m (nsfont_draw): Same.
3983
39842008-07-19 Chong Yidong <cyd@stupidchicken.com>
3985
3986 * nsfns.m (ns_set_background_color): Fix crash.
3987
39882008-07-18 Chong Yidong <cyd@stupidchicken.com>
3989
3990 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3991
39922008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3993
3994 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3995
39962008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3997
3998 * gtkutil.c: Include <config.h> instead of "config.h".
3999
4000 * lisp.h (Foverlay_buffer): Add EXFUN.
4001
4002 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
4003 child process to complete child_setup. Undo 2005-09-21 change.
4004
4005 * s/darwin.h: Mention setsid after vfork.
4006
40072008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4008
4009 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
4010 Depend on macgui.h.
4011
4012 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
4013 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
4014
4015 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
4016 and f19.
4017 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
4018
4019 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
4020 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
4021 Remove enumerators.
4022
4023 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
4024 Check if FACE_FROM_ID returns NULL.
4025
40262008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
4027
4028 * w32inevt.c (change_frame_size): Remove extern declaration.
4029 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
4030 change_frame_size.
4031
40322008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4033
4034 * getloadavg.c: Revert last change (2008-07-15).
4035
40362008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4037
4038 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
4039 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
4040 from configure.
4041
40422008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
4043
4044 * s/sol2.h:
4045 * s/sol2-4.h: Reorganize conditionals.
4046
4047 * ecrt0.c: Remove code depending on m68000, not used anymore.
4048
4049 * fns.c (hash_remove): Make static.
4050 * lisp.h (hash_remove): Don't prototype.
4051
4052 * m/ibmrs6000.h:
4053 * m/ibms390x.h:
4054 * m/macppc.h: Remove boilerplate comments.
4055
4056 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
4057 Solaris, which does not need them.
4058
4059 * m/vax.h: Remove comments about unsupported systems.
4060
4061 * s/darwin.h: Reorganize ifdefs.
4062
40632008-07-17 Andreas Schwab <schwab@suse.de>
4064
4065 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
4066
40672008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
4068
4069 Use SDATA. Follow coding convention of placing operators at
4070 beginning of next line rather than end of previous line, and placing
4071 spaces around infix operators.
4072
4073 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4074 in case it was defined already.
4075 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4076 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4077 ns_default.
4078 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4079 Lisp_Objects.
4080 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4081 (ns_defined_color, ns_color_to_lisp): Declare.
4082 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4083 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4084 it's accepted even with USE_LISP_UNION_TYPE.
4085 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4086 (update_frame_tool_bar): Remove apparently obsolete tests for
4087 non-integerness of f->tool_bar_lines.
4088 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4089 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4090 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4091 (nsfont_open): Don't confuse NULL for Qnil.
4092 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4093 * menu.h (find_and_call_menu_selection):
4094 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4095 (find_and_return_menu_selection): Always return something.
4096 * frame.h: Include dispextern.h for Display_Info.
4097 (display_x_get_resource): Declare.
4098
40992008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4100
4101 * syntax.c: Remove stdio.h include accidentally introduced in
4102 Emacs.app commit.
4103 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4104 NS_IMPL_COCOA.
4105 * keyboard.c (handle_async_input, input_available_signal): Remove
4106 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4107
41082008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4109
4110 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4111 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4112 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4113 Use SDATA.
4114
4115 * keymap.c: Remove all NS-specific code.
4116 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4117 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4118 where_is_preferred_modifier, return a different value depending on how
4119 preferred is the binding.
4120 (where_is_internal): Adjust accordingly.
4121 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4122 Adjust to new preferred_sequence_p.
4123 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4124 * keyboard.c (parse_solitary_modifier): Not static any more.
4125 * keyboard.h (parse_solitary_modifier): Declare.
4126
41272008-07-16 Andreas Schwab <schwab@suse.de>
4128
4129 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4130 of easymenu.
4131
41322008-07-16 Chong Yidong <cyd@stupidchicken.com>
4133
4134 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4135 that we don't move off the line.
4136
41372008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4138
4139 * keyboard.c (Qsuper): Remove.
4140 (parse_menu_item): Don't call where_is_internal specially for NS.
4141
41422008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4143
4144 * s/gnu-linux.h: Remove boilerplate comments.
4145
4146 * m/alpha.h (__ELF__): Consolidate conditions.
4147
4148 * m/m68k.h (linux): Use GNU_LINUX instead.
4149 Remove boilerplate comments.
4150
4151 * m/intel386.h: Undo refactoring from previous change.
4152 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4153 too, remove dead code.
4154 (linux): Use GNU_LINUX instead.
4155
41562008-07-16 Jason Rumney <jasonr@gnu.org>
4157
4158 * w32gui.h: Repeat 26 June changes lost by last change.
4159
41602008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4161
4162 * systty.h: Remove code for Aix on 386, unsupported platform.
4163
4164 * s/ms-w32.h: Remove boilerplate comments.
4165 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4166
4167 * s/gnu-linux.h (TERM): Remove support.
4168 (HAVE_SYSVIPC): Remove, unused.
4169 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4170 for this system.
4171
4172 * process.c: Remove support for IRIS, unused.
4173 Remove support for TERM, not relevant anymore.
4174
4175 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4176 used with the definition.
4177
4178 * s/aix4-2.h (static): Do not undef.
4179
4180 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4181 only used on Aix.
4182 (HAVE_SYSVIPC): Remove, unused.
4183
4184 * m/hp800.h (CANNOT_DUMP): Do not undef.
4185
4186 * m/alpha.h: Fix comment.
4187
4188 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4189 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4190 used by this configuration.
4191 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4192 * unexec.c: Remove code depending on HPUX and
4193 USG_SHARED_LIBRARIES, not used with this file. Remove code
4194 depending on IRIS, unused. Remove if 0-ed code.
4195
4196 * s/template.h: Remove comments about static.
4197
4198 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4199 Remove if 0-ed code.
4200 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4201 were the same as the default.
4202 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4203 Remove boilerplate comments.
4204 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4205 (HAVE_SYSVIPC): Remove, unused.
4206 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4207
4208 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4209 Remove boilerplate comments.
4210 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4211 Remove boilerplate comments.
4212 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4213 Remove boilerplate comments.
4214 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4215
4216 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4217 USG systems which do not use DATA_SEG_BITS.
4218 Refactor code. Remove boilerplate comments.
4219
4220 * m/ibms390.h:
4221 * m/m68k.h:
4222 * s/bsd-common.h:
4223 * s/cygwin.h:
4224 * s/darwin.h:
4225 * s/freebsd.h:
4226 * s/gnu.h:
4227 * s/msdos.h: Remove boilerplate comments.
4228
4229 * m/iris4d.h: Remove boilerplate comments and code for systems that
4230 do not use this file.
4231 (IRIS_4D): Remove, unused.
4232
4233 * m/mips.h: Remove boilerplate comments and code for systems that
4234 do not use this file.
4235 (SIGN_EXTEND_CHAR):
4236 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4237 * unexmips.c: Remove file, unused.
4238
4239 * editfns.c (Fuser_full_name): Replace the only use of
4240 USER_FULL_NAME with its value.
4241 * config.in: Regenerate.
4242
42432008-07-16 David Reitter <david.reitter@gmail.com>
4244
4245 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4246 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4247
42482008-07-16 Glenn Morris <rgm@gnu.org>
4249
4250 * emacs.c (system-type): Doc fix.
4251
42522008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4253
4254 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4255 If the cache doesn't work, let's fix it, rather than work around it.
4256
42572008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4258
4259 * Makefile.in: Correct additions for nsfont.o in last commit.
4260 * nsfont.m: New file (forgot last commit).
4261
42622008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4263
4264 * callproc.c (set_initial_environment): Initialize
4265 Vprocess_environment under CANNOT_DUMP (fixes crash when
4266 batch-compiling for bootstrap).
4267
42682008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4269 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4270
4271 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4272 fix crash due to different init order.
4273
42742008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4275
4276 Changes and additions for NeXTstep windowing system (Cocoa and
4277 GNUstep) support.
4278
4279 * Makefile.in:
4280 * config.in: Support defines and build commands for NS port.
4281 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4282 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4283 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4284 windowing.
4285 (struct face): Add synth_ital field.
4286 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4287 (init_display): Initialize Vinitial_window_system to "ns" when so
4288 compiled.
4289 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4290 (display_arg): Use under NS.
4291 (main): Under NS, allocate autorelease pool and handle command line
4292 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4293 (standard_args): Add NS-specific args.
4294 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4295 * font.c (DEFAULT_ENCODING): New variable.
4296 (font_find_for_lface): Use it.
4297 (syms_of_font): Load syms_of_nsfont under NS.
4298 * font.h: Declare nsfont_driver when compiled under NS.
4299 * fontset.c: When compiling under NS, include nsterm.h.
4300 (fontset_from_font): Autoconstruct fontset under NS.
4301 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4302 symbol, document and use it.
4303 (do_switch_frame): When for_deletion under Cocoa, add
4304 Fraise_frame(Qnil).
4305 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4306 (x_get_arg): Allow "yes" and "no" as boolean values.
4307 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4308 Qright under Cocoa.
4309 (focus-follows-mouse): Default to 0 under NS.
4310 * frame.h (enum output_method): Add output_ns.
4311 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4312 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4313 (FRAME_WINDOW_P): NS-specific definition.
4314 * fringe.c (max_used_fringe_bitmap): Make public.
4315 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4316 (getloadavg): Use NeXT code under descendant OS's.
4317 * image.c (includes and header section, x_create_bitmap_from_data)
4318 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4319 (image_background_transparent, x_clear_image_1)
4320 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4321 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4322 (x_to_xcolors, x_from_xcolors, x_disable_image)
4323 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4324 other GUIs, including XPM support using code originally written for
4325 Carbon GUI.
4326 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4327 using NS API.
4328 (image_ascent): Use font metrics macros instead of direct struct field
4329 access.
4330 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4331 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4332 Also, handle NS as GTK for menu bar purposes.
4333 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4334 toolkit where they differ.
4335 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4336 use cachelist, still needed under NS.
4337 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4338 (struct widget_value): Define it here for menu.c.
4339 * keymap.c (includes): Include modifier internals.
4340 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4341 NS.
4342 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4343 support for preferring sequences using certain modifiers, specified by
4344 the FIRSTONLY argument.
4345 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4346 under NS GNUstep implementation.
4347 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4348 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4349 * menu.c: Include nsterm.h under NS.
4350 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4351 (free_menubar_widget_tree_value, update_submenu_strings)
4352 (find_and_call_menu_selection): Treat NS as X and NT.
4353 (find_and_return_menu_selection): New function, used for popup menus.
4354 * nsgui.h:
4355 * nsterm.h:
4356 * nsfns.m:
4357 * nsimage.m:
4358 * nsmenu.m:
4359 * nsselect.m:
4360 * nsterm.m: New files.
4361 * process.c (wait_reading_process_output): Under NS, call ns_select()
4362 instead of plain select().
4363 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4364 beginning of buffer.
4365 * sysselect.h (init_process): Rename when compiling under Cocoa to
4366 avoid name conflict.
4367 * termhooks.h (display_info): Add ns_display_info to union.
4368 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4369 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4370 COCOA environment.
4371 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4372 unexec() signature. (Note, this will dump, but the resulting file
4373 crashes; unexosx is used instead; keeping around for reference and
4374 possible aid in getting dump working under GNUstep.)
4375 * w32gui.h (button_type, widget_value): Remove definitions (now in
4376 keyboard.h).
4377 * window.c: Include nsterm.h when compiling under NS.
4378 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4379 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4380 other GUI windowing systems.
4381 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4382 GTK.
4383 (x_consider_frame_title): Under NS, set icon type and frame
4384 modified-state indicator; use ns_set_name_as_filename() when using
4385 formatted title.
4386 (update_window_cursor): Make public when compiling under NS.
4387 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4388 (hourglass_atimer, Vhourglass_delay
4389 * xfaces.c (header section, init_frame_faces, clear_font_table)
4390 (defined_color, unload_color, x_face_list_fonts)
4391 (prepare_face_for_display): Add NS support parallel to other GUIs.
4392 Emulate GCs like other non-X GUIs.
4393 (split_font_name): Don't lowercase font name under NS.
4394 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4395 under NS.
4396 * s/darwin.h: Add support for compilation under NS.
4397
43982008-07-15 Jason Rumney <jasonr@gnu.org>
4399
4400 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4401 (w32_show_hourglass): Rename from show_hourglass.
4402 (w32_hide_hourglass): Rename from hide_hourglass.
4403 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4404 (Vhourglass_delay): Declare extern.
4405 (hourglass_started): Remove.
4406
4407 * xdisp.c (Vhourglass_delay): Remove static.
4408 (hourglass_started, start_hourglass, cancel_hourglass):
4409 Don't include these versions on WINDOWSNT.
4410
44112008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4412
4413 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4414 variables (formerly in xfns.c).
4415 (show_hourglass, hide_hourglass): New prototypes (same).
4416 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4417 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4418 in xfns.c).
4419 (syms_of_xdisp): Declare/initialize display-hourglass,
4420 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4421 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4422 formerly in xfns.c.
4423 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4424 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4425 (start_hourglass, cancel_hourglass): Remove.
4426 (show_hourglass, hide_hourglass): Remove prototypes and static
4427 modifiers.
4428 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4429 hourglass_atimer, hourglass_shown_p declaration/initialization.
4430 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4431 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4432 (start_hourglass, cancel_hourglass): Remove.
4433 (show_hourglass, hide_hourglass): Remove prototypes and static
4434 modifiers.
4435 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4436 hourglass_atimer, hourglass_shown_p declaration/initialization.
4437 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4438 (DEFAULT_HOURGLASS_DELAY): Remove.
4439 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4440 hourglass_shown_p declaration/initialization.
4441
44422008-07-14 Jason Rumney <jasonr@gnu.org>
4443
4444 * w32fns.c (w32_get_arg): Remove wrapper function.
4445 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4446 directly.
4447 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4448
44492008-07-14 Kenichi Handa <handa@m17n.org>
4450
4451 * xfont.c (xfont_open): Add workaround for X's bug.
4452
44532008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4454
4455 * fontset.c: Include <stdio.h> unconditionally.
4456
44572008-07-13 Michael Albinus <michael.albinus@gmx.de>
4458
4459 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4460 for filtering.
4461
44622008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4463
4464 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4465
4466 * m/macppc.h:
4467 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4468
4469 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4470 (SPECIAL_EMACS_INT):
4471 * m/ia64.h (SPECIAL_EMACS_INT):
4472 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4473 * s/gnu.h (NLIST_STRUCT):
4474 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4475 * s/gnu-linux.h (LINUX):
4476 * s/msdos.h (HAVE_FACES):
4477 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4478
4479 * systty.h:
4480 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4481 anymore.
4482
44832008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4484
4485 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4486 always defined as int.
4487
4488 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4489 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4490 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4491 * s/freebsd.h (HAVE_WAIT_HEADER):
4492 * s/bsd-common.h (HAVE_UNION_WAIT):
4493 * s/aix4-2.h (HAVE_WAIT_HEADER):
4494 * m/mips.h (HAVE_UNION_WAIT):
4495 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4496 (COFF, static): Do not define, they are undefined later in the file.
4497
4498 * process.c (update_status): Don't use a union.
4499 (status_convert):
4500 (sigchld_handler): Use int instead of WAITTYPE.
4501
45022008-07-12 Chong Yidong <cyd@stupidchicken.com>
4503
4504 * indent.c (Fvertical_motion): Restore hscroll before moving to
4505 goal column.
4506
45072008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4508
4509 * lisp.h: Remove left over code.
4510
45112008-07-11 Andreas Schwab <schwab@suse.de>
4512
4513 * lisp.h: Fix logic in last change.
4514
4515 * menu.h: New file.
4516 * menu.c: Include it.
4517 * xmenu.c: Likewise.
4518 * Makefile.in: Update dependencies.
4519
45202008-07-11 Kenichi Handa <handa@m17n.org>
4521
4522 * fontset.c (fontset_from_font): Cancel the previous change.
4523
45242008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4525
4526 * lisp.h:
4527 * w32heap.c:
4528 * emacs.c:
4529 * alloc.c: Replace all references of NO_UNION_TYPE with
4530 USE_LISP_UNION_TYPE.
4531
4532 * m/xtensa.h (NO_UNION_TYPE):
4533 * m/vax.h (NO_UNION_TYPE):
4534 * m/template.h (NO_UNION_TYPE):
4535 * m/sparc.h (NO_UNION_TYPE):
4536 * m/mips.h (NO_UNION_TYPE):
4537 * m/macppc.h (NO_UNION_TYPE):
4538 * m/m68k.h (NO_UNION_TYPE):
4539 * m/iris4d.h (NO_UNION_TYPE):
4540 * m/intel386.h (NO_UNION_TYPE):
4541 * m/ibms390x.h (NO_UNION_TYPE):
4542 * m/ibms390.h (NO_UNION_TYPE):
4543 * m/ibmrs6000.h (NO_UNION_TYPE):
4544 * m/ia64.h (NO_UNION_TYPE):
4545 * m/hp800.h (NO_UNION_TYPE):
4546 * m/arm.h (NO_UNION_TYPE):
4547 * m/amdx86-64.h (NO_UNION_TYPE):
4548 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4549 defining it the same.
4550
45512008-07-10 Chong Yidong <cyd@stupidchicken.com>
4552
4553 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4554
45552008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4556
4557 * fileio.c:
4558 * sysdep.c
4559 * systty.h:
4560 * m/ibmrs6000.h:
4561 * m/iris4d.h:
4562 * s/aix4-2.h:
4563 * s/freebsd.h:
4564 * s/gnu-linux.h:
4565 * s/hpux10-20.h:
4566 * s/hpux11.h:
4567 * s/netbsd.h:
4568 * s/sol2-3.h:
4569 * s/sol2-4.h:
4570 * s/sol2.h:
4571 * s/usg5-4.h:
4572 * s/vms.h: Remove references to unused variables.
4573
45742008-07-10 Andreas Schwab <schwab@suse.de>
4575
4576 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4577 pattern before matching the generic family.
4578
45792008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4580
4581 * unexec.c:
4582 * s/vms.h:
4583 * s/usg5-4-2.h:
4584 * s/sol2-5.h:
4585 * s/freebsd.h:
4586 * s/darwin.h: Remove dead code.
4587
4588 * m/template.h:
4589 * m/sparc.h:
4590 * m/mips.h:
4591 * m/m68k.h:
4592 * m/iris4d.h:
4593 * m/intel386.h:
4594 * m/ibms390x.h:
4595 * m/ibms390.h:
4596 * m/ia64.h:
4597 * m/hp800.h:
4598 * m/arm.h:
4599 * m/amdx86-64.h: Remove dead code and references to unused
4600 and compiler defined symbols.
4601
4602 * unexmips.c:
4603 * unexelf.c: Remove references to desupported systems.
4604
4605 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4606
4607 * m/powermac.h: Remove boilerplate comments.
4608 (NO_REMAP): Remove unused definition.
4609
4610 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4611 define them.
4612
46132008-07-10 Kenichi Handa <handa@m17n.org>
4614
4615 * xfont.c (xfont_open): Log the reason of failure.
4616
46172008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4618
4619 * fontset.c (fontset_get_font_group):
4620 * font.c (font_check_otf): Specify argument types.
4621
46222008-07-09 Kenichi Handa <handa@m17n.org>
4623
4624 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4625 non-ASCII char is found.
4626
4627 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4628 (reorder_font_vector): Change the arg preferred_family to font.
4629 Prefer the spec matching with font.
4630 (fontset_get_font_group): New function.
4631 (fontset_find_font): Change the format of an element of a realized
4632 fontset. Use fontset_get_font_group.
4633 (fontset_font): Try the current fontset, the default fontset, the
4634 fallbacks of the current fontset, and the fallbacks of the default
4635 fontset in this order.
4636 (face_for_char): Delete the shortcut to use the current font.
4637 (fontset_from_font): Don't set fonts for Latin in the fontset.
4638
4639 * font.h (font_make_object, font_match_p): Adjust prototypes.
4640
4641 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4642
4643 * font.c (font_make_object): New arg entity and pixelsize.
4644 (font_check_otf_features, font_check_otf): New functions.
4645 (font_match_p): Check :lang, :script, and :otf properties.
4646
4647 * xfont.c (xfont_open): Adjust it for the change of
4648 font_make_object.
4649 (xfont_text_extents): Fix initial setting of metrics.
4650
4651 * ftfont.c (struct ftfont_info): New member index, delete member
4652 fc_charset_idx. Make the member order compatible with struct
4653 xftfont_info.
4654 (fc_charset_table): Change charset names to registry names.
4655 (ftfont_pattern_entity): Delete the args registry and
4656 fc_charset_idx. Change the value of :font-entity property
4657 to (FONTNAME . INDEX). Always set :registry property to
4658 `iso10646-1'.
4659 (struct ftfont_cache_data): New struct.
4660 (ftfont_lookup_cache): New arg for_face.
4661 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4662 (ftfont_driver): Set the member otf_capability.
4663 (ftfont_get_charset): Adjust it for the change of
4664 fc_charset_table.
4665 (OTF_TAG_SYM): New macro.
4666 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4667 for the change of fc_charset_table.
4668 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4669 ftfont_pattern_entity. Add FC_INDEX to objset.
4670 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4671 and ftfont_pattern_entity.
4672 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4673 font_make_object, struct ftfont_info.
4674 (ftfont_has_char): Use ftfont_get_fc_charset.
4675 (ftfont_otf_features, ftfont_otf_capability): New functions.
4676 (ftfont_shape): Use ftfont_get_otf.
4677 (ftfont_text_extents): Fix initial setting of metrics.
4678
4679 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4680 member order compatible with struct ftfont_info.
4681 (xftfont_open): Add FC_CHARSET to the pattern. Set
4682 xftfont_info->ft_size. Don't unlock the face. Check BDF
4683 properties if appropriate.
4684 (xftfont_close): Unlock the face.
4685 (xftfont_anchor_point, xftfont_shape): Deleted.
4686 (syms_of_xftfont): Don't set members anchor_point and shape of
4687 xftfont_driver.
4688
4689 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4690 font_make_object.
4691
4692 * w32font.c (w32font_open): Adjust it for the change of
4693 font_make_object.
4694 (w32font_open_internal): Don't set properties of font_object here.
4695
46962008-07-08 Chong Yidong <cyd@stupidchicken.com>
4697
4698 * macfns.c (x_create_tip_frame):
4699 * w32fns.c (x_create_tip_frame):
4700 * xfns.c (x_create_tip_frame): Pass parameter argument to
4701 face-set-after-frame-default.
4702
4703 * xfaces.c (Finternal_merge_in_global_face): Save merged
4704 attributes for the default face back into the face vector.
4705
47062008-07-08 Andreas Schwab <schwab@suse.de>
4707
4708 * fontset.h: Declare fontset_from_font. Don't declare
4709 new_fontset_from_font and fontset_from_font_name.
4710 * xterm.c: Include "fontset.h".
4711 * Makefile.in (xterm.o): Update dependencies.
4712
47132008-07-08 Glenn Morris <rgm@gnu.org>
4714
4715 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4716 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4717
47182008-07-07 Chong Yidong <cyd@stupidchicken.com>
4719
4720 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4721 (x_set_frame_parameters): Don't bind it.
4722
47232008-07-07 Juanma Barranquero <lekktu@gmail.com>
4724
4725 * w32fns.c (map_w32_filename): Declare extern.
4726
47272008-07-07 Jason Rumney <jasonr@gnu.org>
4728
4729 * w32term.c (WS_EX_LAYERED): Define if not already.
4730
47312008-07-06 Chong Yidong <cyd@stupidchicken.com>
4732
4733 * xfaces.c (set_font_frame_param): Don't try to set the font
4734 parameter if it is still unspecified in the lface.
4735
47362008-07-05 Chong Yidong <cyd@stupidchicken.com>
4737
4738 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4739 face if it didn't already exist.
4740
4741 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4742
47432008-07-05 Andreas Schwab <schwab@suse.de>
4744
4745 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4746
47472008-07-05 Chong Yidong <cyd@stupidchicken.com>
4748
4749 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4750 word-wrapping.
4751 (IT_DISPLAYING_WHITESPACE): New macro.
4752 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4753 when word-wrapping. Simplify word-wrapping logic. Use correct
4754 pixel positions when saving copies of the iterator.
4755 (display_line): Use proper wrap point if the last character on a
4756 line was preceded by whitespace.
4757
47582008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4759
4760 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4761
47622008-07-04 Kenichi Handa <handa@m17n.org>
4763
4764 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4765
4766 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4767
47682008-07-02 Jason Rumney <jasonr@gnu.org>
4769
4770 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4771 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4772
4773 * xdisp.c (next_element_from_display_vector): Move assignment out
4774 of if statement.
4775
47762008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4777
4778 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4779
4780 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4781 (syms_of_fileio): Initialize and export them.
4782 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4783
4784 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4785 (Fsystem_move_file_to_trash): New function.
4786 (syms_of_w32fns): Export it to lisp.
4787
47882008-07-01 Jason Rumney <jasonr@gnu.org>
4789
4790 * w32font.c (w32font_text_extents): Don't count overhang as part
4791 of width.
4792
47932008-06-30 Miles Bader <miles@gnu.org>
4794
4795 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4796 Add `avoid_cursor_p' field.
4797
4798 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4799 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4800 (append_glyph, append_composite_glyph, produce_image_glyph)
4801 (append_stretch_glyph): Initialize avoid_cursor_p.
4802 (get_it_property): Rename from `get_line_height_property'.
4803 (x_produce_glyphs): Use get_it_property.
4804 (handle_line_prefix, push_display_prop): New functions.
4805 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4806 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4807 New variables.
4808 (syms_of_xdisp): Initialize them.
4809
48102008-06-30 Kenichi Handa <handa@m17n.org>
4811
4812 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4813 XftDefaultSubstitute (they are called in XftFontMatch).
4814 (xftfont_open): Fix args to ftfont_font_format.
4815
4816 * ftfont.c (fc_charset_table): New member lang.
4817 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4818 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4819 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4820 (ftfont_open): Fix args to ftfont_font_format.
4821 (ftfont_font_format): New arg filename.
4822
48232008-06-30 Chong Yidong <cyd@stupidchicken.com>
4824
4825 * xfaces.c (Finternal_merge_in_global_face): If default face was
4826 modified, realize it again. Update the font face attribute.
4827
48282008-06-29 Jason Rumney <jasonr@gnu.org>
4829
4830 * w32term.c (x_set_frame_alpha): Fix logic.
4831
48322008-06-29 Kenichi Handa <handa@m17n.org>
4833
4834 * fontset.c (Finternal_char_font): Return font-object instead of
4835 font-name.
4836
4837 * composite.c (get_composition_id): Fix the width calculation for TAB.
4838
48392008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4840
4841 * indent.c (Fvertical_motion): Properly handle float column arg.
4842
48432008-06-28 Jason Rumney <jasonr@gnu.org>
4844
4845 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4846 (pfnSetLayeredWindowAttributes): New function pointer.
4847 (w32_initialize): Initialize it when supported.
4848 (x_set_frame_alpha): New function.
4849
4850 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4851 (w32_frame_parm_handlers): Set alpha handler.
4852
4853 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4854
48552008-06-27 Jason Rumney <jasonr@gnu.org>
4856
4857 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4858 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4859 (w32_to_x_charset, x_to_w32_charset)
4860 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4861 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4862 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4863 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4864 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4865 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4866 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4867 (Qw32_charset_unicode): Remove.
4868 (syms_of_w32fns): Update for above changes.
4869
4870 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4871 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4872 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4873 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4874 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4875 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4876 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4877 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4878 (syms_of_w32font): Update for above changes.
4879
48802008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4881
4882 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4883 removed #if.
4884 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4885
48862008-06-26 Juanma Barranquero <lekktu@gmail.com>
4887 Eli Zaretskii <eliz@gnu.org>
4888
4889 * makefile.w32-in (LOCAL_FLAGS):
4890 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4891
4892 * sysdep.c (_spawnlp, _getpid):
4893 Declare with explicit _cdecl instead of _CRTAPI1.
4894
4895 * editfns.c (Fget_internal_run_time):
4896 Check for WINDOWSNT with #ifdef, not #if.
4897
48982008-06-26 Jason Rumney <jasonr@gnu.org>
4899
4900 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4901
4902 * w32term.c (x_draw_glyph_string_foreground)
4903 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4904 Use FONT_HANDLE macro.
4905 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4906
4907 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4908 (uniscribe_encode_char): Use FONT_HANDLE macro.
4909
4910 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4911 (w32font_text_extents): Use precast w32_font.
4912 (w32font_close): Free cached metrics.
4913 (w32font_open_internal): Allocate space for name on stack.
4914
49152008-06-26 Chong Yidong <cyd@stupidchicken.com>
4916
4917 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4918
49192008-06-26 Jason Rumney <jasonr@gnu.org>
4920
4921 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4922 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4923
49242008-06-26 Juanma Barranquero <lekktu@gmail.com>
4925
4926 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4927
49282008-06-26 Jason Rumney <jasonr@gnu.org>
4929
4930 * w32bdf.c, w32bdf.h: Remove obsolete files.
4931
4932 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4933
4934 * w32gui.h: Don't include w32bdf.h.
4935 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4936 Remove obsolete font support.
4937
4938 * w32font.h (struct w32font_info): Remove compat_w32_font.
4939 Add hfont member.
4940 (FONT_COMPAT): Remove obsolete macro.
4941
4942 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4943 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4944 (w32font_open_internal): Remove compat code. Set new hfont member.
4945 (Fx_select_font): Use new hfont member.
4946
4947 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4948 (uniscribe_encode_char): Use new hfont member.
4949
4950 * w32term.c (x_draw_glyph_string_foreground)
4951 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4952 (x_draw_glyph_string): Use metrics in w32font_info.
4953
49542008-06-26 Kenichi Handa <handa@m17n.org>
4955
4956 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4957
49582008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4959
4960 * unexnext.c:
4961 * m/ews4800.h:
4962 * m/hp9000s300.h:
4963 * m/ibm370aix.h:
4964 * m/mips-siemens.h:
4965 * m/ncr386.h:
4966 * m/next.h:
4967 * m/pmax.h:
4968 * m/powerpcle.h:
4969 * m/tandem-s2.h:
4970 * s/386bsd.h:
4971 * s/bsd386.h:
4972 * s/bsd4-1.h:
4973 * s/bsd4-2.h:
4974 * s/bsdos2-1.h:
4975 * s/bsdos2.h:
4976 * s/bsdos3.h:
4977 * s/bsdos4.h:
4978 * s/nextstep.h:
4979 * s/ultrix4-3.h:
4980 * s/usg5-0.h:
4981 * s/usg5-2-2.h:
4982 * s/usg5-2.h:
4983 * s/usg5-4-3.h:
4984 * s/ux4800.h:
4985 * s/uxpds.h:
4986 * s/uxpv.h: Remove support for obsolete systems.
4987 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4988 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4989 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4990 Remove, insert contents in s/aix4-2.h.
4991 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4992 * s/bsd4-3.h: Rename to ...
4993 * s/bsd-common.h: ... this.
4994 * data.c:
4995 * doc.c:
4996 * ecrt0.c:
4997 * emacs.c:
4998 * fileio.c:
4999 * floatfns.c:
5000 * keyboard.c:
5001 * mem-limits.h:
5002 * print.c:
5003 * process.c:
5004 * sysdep.c:
5005 * syssignal.h:
5006 * systty.h:
5007 * syswait.h:
5008 * term.c:
5009 * unexec.c:
5010 * unexelf.c:
5011 * unexhp9k800.c:
5012 * m/hp800.h:
5013 * m/ibmrs6000.h:
5014 * m/mips.h:
5015 * m/vax.h:
5016 * s/darwin.h:
5017 * s/freebsd.h:
5018 * s/gnu.h:
5019 * s/ms-w32.h:
5020 * s/msdos.h:
5021 * s/netbsd.h:
5022 * s/template.h: Remove references to obsolete variables.
5023
5024 * Makefile.in: Add dependencies for all unexec files.
5025 (admindir): Remove unused variable.
5026 (UNEXEC_SRC): Remove references.
5027
50282008-06-25 Chong Yidong <cyd@stupidchicken.com>
5029
5030 * xfns.c (x_default_font_parameter): If Xft is available, first
5031 try Monospace-12 for the default font.
5032
50332008-06-25 Jason Rumney <jasonr@gnu.org>
5034
5035 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
5036
50372008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
5038
5039 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
5040
5041 * buffer.c (syms_of_buffer): Remove default-word-wrap.
5042
50432008-06-25 Juanma Barranquero <lekktu@gmail.com>
5044
5045 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
5046 <scroll-conservatively>: Fix typo in docstring.
5047
5048 * xselect.c (Fx_send_client_event): Doc fix.
5049
50502008-06-25 Kenichi Handa <handa@m17n.org>
5051
5052 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
5053
5054 * font.c (font_parse_fcname): Remove unused variables.
5055 (font_sort_entites): Delete the arg SPEC. Caller changed.
5056 Fix for the case of ! best_only.
5057 (font_delete_unmatched): Check DPI and AVGWIDTH too.
5058
5059 * lisp.h (Fstring_to_unibyte): EXFUN it.
5060
5061 * character.h (str_to_unibyte): Extern it.
5062
5063 * character.c (str_to_unibyte): New function.
5064
5065 * fns.c (Fstring_to_unibyte): New function.
5066 (syms_of_fns): Defsubr it.
5067
50682008-06-24 Kenichi Handa <handa@m17n.org>
5069
5070 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
5071 DPI too.
5072 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5073
50742008-06-24 Andreas Schwab <schwab@suse.de>
5075
5076 * Makefile.in (${lispsource}loaddefs.el): Rename from
5077 ../lisp/loaddefs.el.
5078 (bootstrap-clean): Do what distclean does but don't remove
5079 Makefile.
5080 (distclean): Depend on bootstrap-clean and remove Makefile.
5081
50822008-06-24 Chong Yidong <cyd@stupidchicken.com>
5083
5084 * buffer.h (struct buffer): New member word_wrap.
5085
5086 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5087 word-wrap.
5088 (init_buffer_once): Initialize them.
5089
5090 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5091 line_wrap enum possessing three possible values.
5092
5093 * termopts.h: Replace truncate_partial_width_windows with
5094 Vtruncate_partial_width_windows.
5095
5096 * dispnew.c (direct_output_for_insert): Avoid direct output when
5097 inserting a space with word wrap on.
5098
5099 * indent.c (compute_motion): Obey integer values of
5100 truncate-partial-width-windows.
5101
5102 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5103 replacing truncate_partial_width_windows.
5104 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5105 truncate only if the window width is below that integer.
5106 (start_display, resize_mini_window, produce_stretch_glyph)
5107 (display_string, move_it_in_display_line_to): Use line_wrap.
5108 (back_to_previous_visible_line_start, reseat_1): Reset
5109 string_from_display_prop_p.
5110 (display_line): Extend default face to end of line when wrapping.
5111
51122008-06-24 Kim F. Storm <storm@cua.dk>
5113
5114 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5115 to wrap continued lines at word boundaries.
5116
51172008-06-24 Jason Rumney <jasonr@gnu.org>
5118
5119 * font.c (Ffont_face_attributes): Multiply pixel size before point
5120 conversion to avoid multiplying rounding error.
5121
51222008-06-23 Jason Rumney <jasonr@gnu.org>
5123
5124 * w32term.c (x_draw_glyph_string_background)
5125 (x_draw_glyph_string): Remove old bdf font code.
5126
5127 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5128
51292008-06-22 Kenichi Handa <handa@m17n.org>
5130
5131 * font.c (font_find_for_lface): Try the adstyle specified in
5132 the property of LFACE_FONT of LFACE (if any).
5133
51342008-06-21 Seiji Zenitani <zenitani@mac.com>
5135 Ryo Yoshitake <ryo@shiftmode.net>
5136
5137 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5138
51392008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5140
5141 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5142 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5143 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5144 (witness-emacs): Remove.
5145 (lisp, shortlisp): Move loaddefs.el earlier.
5146 (mostlyclean): Forget about witness-emacs.
5147
51482008-06-22 Glenn Morris <rgm@gnu.org>
5149
5150 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5151 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5152
51532008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5154
5155 * Makefile.in (PRECOMP): Remove.
5156 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5157 (witness-emacs): Run `compile-first'.
5158 (.el.elc): Use the new compile-onefile target.
5159
51602008-06-21 Kenichi Handa <handa@m17n.org>
5161
5162 * xftfont.c (xftfont_open): Handle QCembolden only when
5163 FC_EMBOLDEN is defined.
5164
51652008-06-21 Andreas Schwab <schwab@suse.de>
5166
5167 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5168 (.el.elc): Likewise.
5169
51702008-06-21 Miles Bader <miles@gnu.org>
5171
5172 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5173 build dir, not the lisp source dir.
5174
51752008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5176
5177 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5178 (bootstrapclean): Remove.
5179 (.el.elc): New rule.
5180 (PRECOMP): New var.
5181 (../lisp/subdirs.el): Remove.
5182 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5183 (witness-emacs): New target.
5184 (mostlyclean): Remove witness-emacs as well.
5185 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5186 Add witness-emacs dependency.
5187
51882008-06-20 Chong Yidong <cyd@stupidchicken.com>
5189
5190 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5191 defined by the font.
5192
51932008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5194
5195 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5196 (bootstrap-clean): New target that keeps TAGS around.
5197 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5198 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5199
52002008-06-20 Jason Rumney <jasonr@gnu.org>
5201
5202 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5203 Remove obsolete font code.
5204
5205 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5206 to determine language support.
5207
52082008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5209
5210 * sysdep.c (cfsetspeed): New fun extracted from the code.
5211 (cfmakeraw): Move before first use.
5212
52132008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5214
5215 * sysdep.c (cfmakeraw): Provide fallback implementation.
5216 (serial_configure): Provide fallback implementation of cfsetspeed.
5217
52182008-06-20 Kenichi Handa <handa@m17n.org>
5219
5220 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5221 the pattern.
5222
5223 * fontset.c (fontset_from_font): Copy font_spec before changing
5224 the elements.
5225
5226 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5227
52282008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5229
5230 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5231 for explicit `font' parameters.
5232
5233 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5234
52352008-06-19 Kenichi Handa <handa@m17n.org>
5236
5237 * frame.c: Include <ctype.h>.
5238 (x_set_font_backend): Allow spacing characters in the X resource
5239 for FontBackend.
5240
52412008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5242
5243 * w32fns.c, xfns.c (Qfont_param): New var.
5244 (syms_of_w32fns): Initialize it.
5245 (x_default_font_parameter): Record explicit `font' into
5246 `font-parameter'.
5247
52482008-06-18 Kenichi Handa <handa@m17n.org>
5249
5250 * font.c (font_parse_xlfd): Fix previous change.
5251 (font_parse_fcname): Don't use :fc-unknown-spec.
5252 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5253 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5254 (font_add_log): Prepend the driver name to the resulting fonts.
5255
5256 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5257 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5258 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5259
5260 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5261 (QCembolden): New variables.
5262 (syms_of_xftfont): DEFSYM them.
5263 (xftfont_open): Call XftFontMatch. Don't trust the result of
5264 XftTextExtents8 if the pixel_size is less than 5.
5265
52662008-06-18 Andreas Schwab <schwab@suse.de>
5267
5268 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5269 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5270
52712008-06-18 Jason Rumney <jasonr@gnu.org>
5272
5273 * w32font.c (w32font_list, w32font_match): Add logging.
5274
5275 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5276
52772008-06-17 Chong Yidong <cyd@stupidchicken.com>
5278
5279 * font.c (font_parse_fcname): Store divider characters for
5280 unknown-spec list. For known key symbols, intern using correct
5281 symbol name.
5282
52832008-06-17 Kenichi Handa <handa@m17n.org>
5284
5285 * xfaces.c (realize_default_face): If the frame is not on window
5286 system, set the fontset of face to nil.
5287
52882008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5289
5290 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5291
52922008-06-16 Juanma Barranquero <lekktu@gmail.com>
5293
5294 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5295 (build_font_name_from_vector): Delete externs.
5296
5297 * xfaces.c (struct font_name): Don't declare.
5298
52992008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5300
5301 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5302
53032008-06-16 Chong Yidong <cyd@stupidchicken.com>
5304
5305 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5306
53072008-06-16 Juanma Barranquero <lekktu@gmail.com>
5308
5309 * font.c (Ffont_spec): Fix usage in docstring.
5310 (Ffont_face_attributes): Doc fix.
5311
53122008-06-16 Andreas Schwab <schwab@suse.de>
5313
5314 * font.c (Ffont_face_attributes): Fix definition.
5315
53162008-06-16 Jason Rumney <jasonr@gnu.org>
5317
5318 * font.h (font_style_symbolic_from_value): Remove.
5319
5320 * font.c (font_style_symbolic_from_value): Remove.
5321 (font_style_symbolic): Revert to pre 2008-06-13 version.
5322
5323 * w32font.c (w32_to_fc_weight): New function.
5324 (w32font_full_name, logfont_to_fcname): Use it.
5325
53262008-06-16 Kenichi Handa <handa@m17n.org>
5327
5328 * font.c (font_check_object): Delete it.
5329 (font_clear_cache): Check if a font-object is alive.
5330 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5331 font-object to nil.
5332 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5333 (font_at): Don't call font_check_object.
5334 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5335
53362008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5337
5338 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5339
53402008-06-16 Chong Yidong <cyd@stupidchicken.com>
5341
5342 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5343
53442008-06-15 Chong Yidong <cyd@stupidchicken.com>
5345
5346 * font.c (font_parse_fcname): Only one decimal point.
5347 (font_unparse_fcname): Handle data in family and foundry indices
5348 as symbols, not strings.
5349 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5350
5351 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5352
5353 * font.h (font_unparse_gtkname): Add prototype.
5354
53552008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5356
5357 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5358
53592008-06-15 Andreas Schwab <schwab@suse.de>
5360
5361 * font.c (font_update_drivers): Fix crash when no drivers match.
5362
53632008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5364
5365 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5366 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5367
53682008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5369
5370 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5371
53722008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5373
5374 * process.c (Fserial_process_configure, Fprocess_send_eof):
5375 Use EQ to compare Lisp_Objects.
5376
53772008-06-13 Jason Rumney <jasonr@gnu.org>
5378
5379 * w32fns.c (Fw32_select_font): Remove old font API function.
5380
5381 * w32font.c (logfont_to_fcname): New function.
5382 (Fx_select_font): New font dialog function compatible with
5383 GTK/fontconfig version.
5384
5385 * font.c (font_style_symbolic_from_value): New function.
5386 (font_style_symbolic): Use it.
5387
5388 * font.h (font_style_symbolic_from_value): Declare new function.
5389
53902008-06-13 Juanma Barranquero <lekktu@gmail.com>
5391
5392 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5393 <font-width-table>: Fix typos in docstrings.
5394
53952008-06-13 Daniel Engeler <engeler@gmail.com>
5396
5397 These changes add serial port access.
5398 * process.c: Add HAVE_SERIAL.
5399 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5400 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5401 (list_processes_1, select_wrapper, Fstop_process)
5402 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5403 (status_notify): Modify to handle serial processes.
5404 [HAVE_SERIAL] (Fserial_process_configure)
5405 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5406 New functions.
5407 * process.h (struct Lisp_Process): Add `type'.
5408 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5409 New functions.
5410 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5411 serial ports.
5412 (serial_open, serial_configure) New functions.
5413 * w32.h: Add FILE_SERIAL.
5414 (struct _child_process): Add ovl_read, ovl_write.
5415
54162008-06-13 Kenichi Handa <handa@m17n.org>
5417
5418 * dispextern.h (enum lface_attribute_index): New member
5419 LFACE_FOUNDRY_INDEX.
5420
5421 * font.c (font_score): Delete arg alternate_families. Check only
5422 weight, slant, width, and size. Ignore the difference of alias
5423 style symbols.
5424 (font_sort_entites): Adjust for the above change. Reflect the
5425 order of font-driver to scores.
5426 (font_list_entities): Don't check alternate_familes here.
5427 (font_clear_prop): Handle foundry.
5428 (font_update_lface): Don't parse "foundry-family" form here.
5429 Handle FONT_FOUNDRY_INDEX.
5430 (font_find_for_lface): Likewise. Handle alternate families here.
5431 If registry is nil, try iso8859-1 and ascii-0.
5432 (font_open_for_lface): Pay attention to size in ENTITY.
5433 (font_open_by_name): Simplify by calling font_load_for_lface.
5434 (free_font_driver_list): Delete it.
5435 (font_update_drivers): Preserve the order of backends.
5436 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5437 of font_score and font_sort_entites.
5438 (font_update_sort_order): Likewise.
5439
5440 * xfaces.c (LFACE_FOUNDRY): New macro.
5441 (check_lface_attrs): Check foundry.
5442 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5443 (merge_face_vectors): Check foundry.
5444 (merge_face_ref): Likewise.
5445 (Finternal_set_lisp_face_attribute): Likewise.
5446 (x_update_menu_appearance): Likewise.
5447 (Finternal_get_lisp_face_attribute): Likewise.
5448 (lface_hash): Likewise.
5449 (lface_same_font_attributes_p): Likewise.
5450 (x_supports_face_attributes_p): Likewise.
5451 (tty_supports_face_attributes_p): Likewise.
5452 (Finternal_set_alternative_font_family_alist): Intern strings.
5453 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5454 (realize_default_face): Set LFACE_FOUNDRY (lface).
5455
5456 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5457 font-driver at first.
5458
5459 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5460
54612008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5462
5463 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5464
54652008-06-12 Jim Meyering <meyering@redhat.com>
5466
5467 Make unexec_free handle NULL the same way free does.
5468 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5469
54702008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5471
5472 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5473 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5474 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5475 (WEAK_ALIAS): Simplify.
5476 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5477 when searching a unibyte buffer.
5478
54792008-06-12 Chong Yidong <cyd@stupidchicken.com>
5480
5481 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5482
54832008-06-12 Juanma Barranquero <lekktu@gmail.com>
5484
5485 * w32font.c: Include ctype.h.
5486
54872008-06-11 Jason Rumney <jasonr@gnu.org>
5488
5489 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5490 misreported as space.
5491 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5492 as aliases for registry iso10646-1.
5493
54942008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5495
5496 * buffer.c (clone_per_buffer_values): Skip `name'.
5497
54982008-06-11 Chong Yidong <cyd@stupidchicken.com>
5499
5500 * font.c (font_parse_fcname): Fix last change; accept decimal
5501 points in font size.
5502
55032008-06-10 Jason Rumney <jasonr@gnu.org>
5504
5505 * w32uniscribe.c (add_opentype_font_name_to_list):
5506 Skip non unicode fonts.
5507
55082008-06-10 Chong Yidong <cyd@stupidchicken.com>
5509
5510 * xfns.c (Fx_font_dialog): New function.
5511
5512 * gtkutil.c (xg_dialog_response_cb): Rename from
5513 xg_file_response_callback.
5514 (pop_down_dialog): Rename from pop_down_file_dialog.
5515 (xg_get_file_name): Callers changed.
5516 (xg_get_font_name): New function.
5517
5518 * gtkutil.h (xg_get_font_name): Insert prototype.
5519
55202008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5521
5522 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5523 x_underline_minimum_display_offset.
5524 (syms_of_xdisp): Declare it here rather than in xterm.c.
5525 * dispextern.h (underline_minimum_offset): Declare it.
5526 * w32term.c (x_draw_glyph_string): Use it.
5527 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5528 (syms_of_xterm): Don't declare it any more.
5529 (x_draw_glyph_string): Adjust to the new name.
5530
55312008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5532
5533 * xterm.c (x_underline_minimum_display_offset): New var.
5534 (x_draw_glyph_string): Use it.
5535 (syms_of_xterm): Declare it.
5536
55372008-06-10 Chong Yidong <cyd@stupidchicken.com>
5538
5539 * font.c (font_parse_fcname): Accept GTK-style font names too.
5540
55412008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5542
5543 * dired.c (file_name_completion): Don't return t if the match is exact
5544 but with different capitalization.
5545 * minibuf.c (Ftry_completion): Simplify.
5546
5547 * window.c (Vwindow_point_insertion_type): New var.
5548 (set_window_buffer): Use it.
5549 (syms_of_window): Init and export it to Lisp.
5550
55512008-06-10 Kenichi Handa <handa@m17n.org>
5552
5553 * font.h (font_intern_prop): Prototype adjusted.
5554
5555 * font.c (font_intern_prop): New arg force_symbol.
5556 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5557 Adjust for the change of font_intern_prop.
5558
5559 * ftfont.c (ftfont_pattern_entity):
5560 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5561 (w32_registry):
5562 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5563 the change of font_intern_prop.
5564
55652008-06-09 Juanma Barranquero <lekktu@gmail.com>
5566
5567 * w32menu.c (digest_single_submenu): Declare extern.
5568
55692008-06-09 Jason Rumney <jasonr@gnu.org>
5570
5571 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5572
5573 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5574 (parse_single_submenu): Remove.
5575 (digest_single_submenu): Remove.
5576 (syms_of_w32menu): Don't initialise variables that have moved
5577 to menu.c.
5578 (set_frame_menubar): Sync with version in xmenu.c.
5579 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5580
5581 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5582 Make static again.
5583
55842008-06-09 Jason Rumney <jasonr@gnu.org>
5585
5586 Changes to w32 files related to the move of common menu code
5587 to menu.c on 2008-06-08 by Chong Yidong.
5588
5589 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5590 defs to w32gui.h.
5591 (single_keymap_panes, push_menu_item, push_menu_pane):
5592 Make globally visible.
5593
5594 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5595 (local_free, malloc_widget_value, free_widget_value)
5596 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5597 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5598 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5599 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5600 (menu_items, menu_items_allocated, menu_items_used)
5601 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5602 (init_menu_items, finish_menu_items, discard_menu_items)
5603 (grow_menu_items, push_submenu_start, push_submenu_end)
5604 (push_left_right_boundary, push_menu_pane, push_menu_item)
5605 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5606 (free_menubar_widget_tree_value, parse_single_submenu)
5607 (update_submenu_strings): Remove functions.
5608 (xmalloc_widget_value): Remove and declare extern.
5609
5610 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5611 (OBJ1): Build it.
5612
5613 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5614 (local_heap, local_alloc, local_free, malloc_widget_value)
5615 (free_widget_value): Define here.
5616
56172008-06-09 Kenichi Handa <handa@m17n.org>
5618
5619 * font.h (Qascii_0): Extern it.
5620
5621 * font.c (Qascii_0): New variable.
5622 (syms_of_font): DEFSYM it.
5623 (font_open_by_name): If the registry "iso8859-1" fails, try also
5624 "ascii-0".
5625
5626 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5627
56282008-06-08 Kenichi Handa <handa@m17n.org>
5629
5630 * .gdbinit (xfont): New command.
5631
56322008-06-08 Andreas Schwab <schwab@suse.de>
5633
5634 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5635 * Makefile.in (menu.o): Update dependencies.
5636
5637 * Makefile.in (obj): Always add menu.o.
5638 * emacs.c (main): Always call syms_of_menu.
5639 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5640
56412008-06-08 Chong Yidong <cyd@stupidchicken.com>
5642
5643 * Makefile.in: Compile menu.c.
5644
5645 * lisp.h: Declare syms_of_menu.
5646
5647 * emacs.c (main): Call syms_of_menu.
5648
5649 * keyboard.h: Relocate platform-independent menu definitions from
5650 xmenu.c.
5651
5652 * menu.c: New file. Relocate platform-independent menu
5653 definitions from xmenu.c. Suggested by Adrian Robert.
5654
5655 * xmenu.c: Remove platform-independent menu definitions.
5656 (menu_items menu_items_inuse, menu_items_allocated)
5657 (menu_items_used, menu_items_n_panes)
5658 (menu_items_submenu_depth): Move to keyboard.h.
5659 (init_menu_items, finish_menu_items, unuse_menu_items)
5660 (discard_menu_items, restore_menu_items, save_menu_items)
5661 (grow_menu_items, push_submenu_start, push_submenu_end)
5662 (push_left_right_boundary, push_menu_pane, push_menu_item)
5663 (keymap_panes, single_keymap_panes, single_menu_item)
5664 (list_of_panes, list_of_items, find_and_call_menu_selection)
5665 (xmalloc_widget_value, free_menubar_widget_value_tree)
5666 (parse_single_submenu, digest_single_submenu)
5667 (update_submenu_strings): Move to menu.c.
5668
56692008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5670
5671 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5672
56732008-06-06 Miles Bader <miles@gnu.org>
5674
5675 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5676 face, not frame default.
5677
56782008-06-05 Martin Rudalics <rudalics@gmx.at>
5679
5680 * window.c (pop_up_windows, pop_up_frames)
5681 (display_buffer_reuse_frames, Vpop_up_frame_function)
5682 (Vdisplay_buffer_function, Veven_window_heights)
5683 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5684 (Vspecial_display_function, Vsame_window_buffer_names)
5685 (Vsame_window_regexps, split_height_threshold)
5686 (Vsplit_window_preferred_function): Move those vars to window.el.
5687 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5688 (Fdisplay_buffer): Move those functions to window.el.
5689 (syms_of_window): Remove corresponding declarations.
5690 (display_buffer): New function.
5691 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5692 * dispnew.c (Flast_nonminibuf_frame): New function.
5693 * buffer.c (Fpop_to_buffer): Move to window.el.
5694
56952008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5696
5697 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5698
56992008-06-05 Kenichi Handa <handa@m17n.org>
5700
5701 * coding.c (detect_coding): Fix previous change.
5702 (detect_coding_system): Likewise.
5703
57042008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5705
5706 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5707
5708 * keymap.c (Vminibuffer_local_filename_must_match_map):
5709 Rename from Vminibuffer_local_must_match_filename_map.
5710 (syms_of_keymap):
5711 * minibuf.c (Fcompleting_read): Adjust accordingly.
5712 * commands.h: Rename declaration as well.
5713
57142008-06-05 Kenichi Handa <handa@m17n.org>
5715
5716 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5717 family name.
5718 (Ffont_put): Likewise.
5719
5720 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5721 current font-spec.
5722
5723 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5724 is unspecified.
5725
5726 * xfaces.c (realize_x_face): If the font-related face attributes
5727 are the same as those of default face, realize a new fontset from
5728 default->fontset.
5729 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5730
57312008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5732
5733 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5734 (move_it_in_display_line): New wrapper.
5735
5736 * window.c (window_scroll_pixel_based_preserve_x)
5737 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5738 (window_scroll_pixel_based, window_scroll_line_based):
5739 Use them to preserve column positions.
5740 (syms_of_window): Initialize them.
5741
5742 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5743 (HPOS . VPOS) pair.
5744
5745 * dispextern.h (move_it_in_display_line): Declare.
5746
57472008-06-05 Juanma Barranquero <lekktu@gmail.com>
5748
5749 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5750 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5751 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5752
57532008-06-04 Juanma Barranquero <lekktu@gmail.com>
5754
5755 * window.c (Fset_window_parameter): Doc fix.
5756 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5757
57582008-06-04 Joakim Verona <joakim@verona.se>
5759
5760 * window.h (struct window): Add new member window_parameters.
5761
5762 * window.c (Fwindow_parameters, Fwindow_parameter)
5763 (Fset_window_parameter): New defuns.
5764 (syms_of_window): Defsubr the new defuns.
5765 (make_window): Initialize window_parameters to nil.
5766
57672008-06-04 John Paul Wallington <jpw@pobox.com>
5768
5769 * eval.c (Fdefmacro): Doc fix.
5770
57712008-06-04 Kenichi Handa <handa@m17n.org>
5772
5773 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5774 Be sure to call setup_coding_system when we find a proper coding system.
5775 (detect_coding_system): Fix handling of coding->head_ascii.
5776
57772008-06-03 Andreas Schwab <schwab@suse.de>
5778
5779 * font.c (font_prop_validate_spacing): Fix last change.
5780
57812008-06-03 Kenichi Handa <handa@m17n.org>
5782
5783 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5784 (font_parse_fcname): Fix handling of unknown key.
5785
5786 * xfont.c (xfont_list): Try an alias.
5787
5788 * charset.c (char_charset): Return NULL if the arg charset_list is
5789 specified and C doesn't belong to any of them.
5790
57912008-06-02 Chip Coldwell <coldwell@redhat.com>
5792
5793 * font.c (font_pixel_size): Don't take cdr of an integer.
5794
57952008-06-02 Jim Meyering <meyering@redhat.com>
5796
5797 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5798 * alloc.c (xfree): Return right away for a NULL arg.
5799 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5800 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5801 * mac.c (create_apple_event_from_event_ref): Likewise.
5802 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5803 Likewise.
5804 * doprnt.c (doprnt1): Likewise.
5805 * frame.c (frame): Likewise.
5806 * keyboard.c (wipe_kboard): Likewise.
5807 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5808 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5809 * term.c (tty_default_color_capabilities, maybe_fatal)
5810 (delete_tty): Likewise.
5811 * w16select.c (string): Likewise.
5812 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5813 * w32bdf.c (w32_free_bdf_font): Likewise.
5814 * w32fns.c (w32_unload_font): Likewise.
5815 * w32font.c (w32font_close): Likewise.
5816 * window.c (size_window): Likewise.
5817 * xselect.c (receive_incremental_selection): Likewise.
5818 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5819 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5820 * w32.c (stat): Likewise.
5821
5822 Remove useless if-before-free tests.
5823 * editfns.c (Fset_time_zone_rule): Likewise.
5824 * lread.c (nosuffix): Likewise.
5825 * ralloc.c (get_bloc): Likewise.
5826 * regex.c (reg_free): Likewise.
5827 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5828 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5829 * xsmfns.c (smc_save_yourself_CB): Likewise.
5830
58312008-06-02 Kenichi Handa <handa@m17n.org>
5832
5833 * font.c (font_find_for_lface): Handle float font size.
5834 (font_open_for_lface): Likewise.
5835
5836 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5837 comparing the properties.
5838
58392008-06-01 Jason Rumney <jasonr@gnu.org>
5840
5841 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5842 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5843 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5844 Don't add empty script list.
5845 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5846
58472008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5848
5849 * Makefile.in (dot, dotdot): Remove, update users.
5850 ".." has been used elsewhere in the file for a long time.
5851 (LIBXT_STATIC): Remove conditional based on unused variable.
5852
58532008-06-01 Miles Bader <miles@gnu.org>
5854
5855 * xfaces.c (Vface_remapping_alist): New variable.
5856 (syms_of_xfaces): Initialize it.
5857 (enum named_merge_point_kind): New type.
5858 (struct named_merge_point): Add `named_merge_point_kind' field.
5859 (push_named_merge_point): Make cycle detection respect different
5860 named-merge-point kinds.
5861 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5862 Remove face-name alias resolution.
5863 (lface_from_face_name): New definition using
5864 `lface_from_face_name_no_resolve'.
5865 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5866 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5867 (get_lface_attributes): New definition that layers face-remapping on
5868 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5869 (lookup_basic_face): New function.
5870 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5871 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5872 `get_lface_attributes'.
5873 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5874 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5875 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5876
5877 * xdisp.c (init_iterator): Pass base_face_id through
5878 `lookup_basic_face' when we actually use it as a face-id.
5879 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5880 DEFAULT_FACE_ID.
5881
5882 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5883 lookup the initial face-id.
5884
5885 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5886
58872008-06-01 Juanma Barranquero <lekktu@gmail.com>
5888
5889 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5890 (Fremove_text_properties): Fix typos in docstrings.
5891
58922008-05-31 Kenichi Handa <handa@m17n.org>
5893
5894 * font.c (font_list_entities): Fix the car part of data to be
5895 stored in the cache.
5896
5897 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5898
58992008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5900
5901 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5902 Add a `test' argument so another predicate than `equal' can be used.
5903 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5904 (map_char_table): Remove unused vars `c' and `i'.
5905 * lisp.h (Foptimize_char_table): Adjust declaration.
5906 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5907
59082008-05-30 Kenichi Handa <handa@m17n.org>
5909
5910 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5911 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5912 defined.
5913
59142008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5915
5916 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5917 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5918 frame-local settings for the same variable.
5919
59202008-05-30 Kenichi Handa <handa@m17n.org>
5921
5922 * fontset.c (Ffont_info): Move to font.c.
5923 (syms_of_fontset): Delete defsubr of Sfont_info.
5924
5925 * font.c (font_style_to_value, font_score): Delete casting of the
5926 args to xstcasecmp.
5927 (register_font_driver): Increment num_font_drivers only when
5928 registering the driver globally.
5929 (Ffont_info): Move from fontset.c. Handle a font object too.
5930 (syms_of_font): Defsubr Sfont_info.
5931
59322008-05-29 Kenichi Handa <handa@m17n.org>
5933
5934 * coding.h (enum define_coding_utf8_arg_index): New enum.
5935 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5936 coding_attr_utf_bom.
5937 (enum utf_bom_type): Rename from utf_16_bom_type.
5938 (struct utf_16_spec): Adjust for the above change.
5939 (struct coding_system): Add utf_8_bom in `spec' union.
5940
5941 * coding.c (CODING_UTF_8_BOM): New macro.
5942 (enum coding_category): Delete coding_category_utf_8, add
5943 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5944 coding_category_utf_8_sig.
5945 (CATEGORY_MASK_UTF_8): Delete it.
5946 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5947 (CATEGORY_MASK_UTF_8_SIG): New macros.
5948 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5949 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5950 CATEGORY_MASK_UTF_8_SIG.
5951 (CATEGORY_MASK_UTF_8): New macro.
5952 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5953 (detect_coding_utf_8): Check BOM.
5954 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5955 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5956 (encode_coding_utf_16): Likewise.
5957 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5958 (detect_coding, detect_coding_system): Handle utf-8-auto.
5959 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5960 (syms_of_coding): Fix setting up of Vcoding_category_table.
5961
59622008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5963
5964 * process.c (Faccept_process_output): If `millisec' is non-nil,
5965 `seconds' default to 0.
5966 (wait_reading_process_output): Also return non-nil if we read output
5967 from a non-running process.
5968
59692008-05-29 Jason Rumney <jasonr@gnu.org>
5970
5971 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5972 `raster' specified.
5973 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5974 in the uniscribe backend, but disallow any font that has no
5975 unicode subrange support.
5976
59772008-05-29 Juanma Barranquero <lekktu@gmail.com>
5978
5979 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5980 Fix typos in docstrings.
5981
59822008-05-29 Kenichi Handa <handa@m17n.org>
5983
5984 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5985 (Fx_family_fonts): Set frame correctly.
5986
59872008-05-28 Jason Rumney <jasonr@gnu.org>
5988
5989 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5990
59912008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5992
5993 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5994 calling build_annotations.
5995
59962008-05-28 Juanma Barranquero <lekktu@gmail.com>
5997
5998 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5999 (Fencode_coding_string):
6000 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
6001 <latin-extra-code-table>: Fix typos in docstrings.
6002 (syms_of_coding) <coding-system-alist>: Doc fix.
6003 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
6004
60052008-05-28 Kenichi Handa <handa@m17n.org>
6006
6007 * fontset.c (Ffont_info): Don't call font_close_object.
6008
6009 * font.c (font_parse_family_registry): Use Ffont_put to validate
6010 foundry and family.
6011 (font_delete_unmatched): Don't check spacing.
6012 (font_list_entities): Add spacing to the spec to list fonts.
6013
6014 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
6015 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
6016
6017 * coding.c (encode_coding_raw_text): Fix previous change.
6018 (encode_coding_object): When the dst_object is a buffer and is
6019 different from src_object, move gap to PT.
6020
60212008-05-27 Chong Yidong <cyd@stupidchicken.com>
6022
6023 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
6024
60252008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6026
6027 * coding.c (encode_coding_raw_text): Set coding->produced_char for
6028 all branches. Compute it differently.
6029
6030 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
6031
60322008-05-27 Juanma Barranquero <lekktu@gmail.com>
6033
6034 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
6035 into "else if () ... else ...".
6036
60372008-05-27 Jason Rumney <jasonr@gnu.org>
6038
6039 * w32font.c (w32font_open_internal): Determine if glyph indices
6040 are likely to work here.
6041
60422008-05-27 Chong Yidong <cyd@stupidchicken.com>
6043
6044 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
6045 draw overlap glyphs with appropriate highlighting.
6046
60472008-05-27 Kenichi Handa <handa@m17n.org>
6048
6049 * xfont.c (xfont_open): Fix calculation of font->average_width.
6050
60512008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6052
6053 * casefiddle.c (casify_object): Try to guess better whether the
6054 argument is a byte or a char.
6055
60562008-05-26 Andreas Schwab <schwab@suse.de>
6057
6058 * xselect.c (x_reply_selection_request): Properly handle format == 32.
6059 Always send multiples of format size.
6060
6061 * xterm.c (x_set_frame_alpha): Fix type mismatch.
6062
60632008-05-26 Jason Rumney <jasonr@gnu.org>
6064
6065 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
6066 (compute_metrics): Don't set failure if we just cleared the cache.
6067 (w32_weight_table): Remove unused variable.
6068 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
6069 backwards compatibility.
6070
60712008-05-25 Kenichi Handa <handa@m17n.org>
6072
6073 * w32term.c (x_draw_glyph_string):
6074 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6075
6076 * xfaces.c: Delete unused function prototypes.
6077 (xstrlwr, font_frame): Delete them.
6078 (clear_face_cache): Delete unused variable.
6079
6080 * xftfont.c (xftfont_open): Delete unused variable.
6081 If underline_thickness is not 1, adjust underline_position.
6082
6083 * ftxfont.c (ftxfont_open): Delete unused variable.
6084
6085 * fontset.c (face_for_char): Optimize for the case of no charset
6086 property.
6087
6088 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6089 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6090 (otf_open, font_otf_capability, generate_otf_features)
6091 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6092 Comment out by surrounding "#if 0" and "#endif" for the moment.
6093 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6094 (syms_of_font): Codes for accessing above commented out.
6095
60962008-05-24 Eli Zaretskii <eliz@gnu.org>
6097
6098 * w32proc.c: Include dispextern.h.
6099
6100 * w32.c: Include dispextern.h.
6101
61022008-05-23 Juanma Barranquero <lekktu@gmail.com>
6103
6104 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6105 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6106 Fix typos in docstrings.
6107
61082008-05-23 Jason Rumney <jasonr@gnu.org>
6109
6110 * xsmfns.c: Remove includes that are already included by config.h.
6111
61122008-05-23 Kenichi Handa <handa@m17n.org>
6113
6114 * charset.c (Qemacs, charset_emacs): New variables.
6115 (char_charset): Fix for non-Unicode characters.
6116 (syms_of_charset): Define charset_emacs.
6117
6118 * w32term.c (x_draw_glyph_string): Be sure to update
6119 s->underline_thickness and s->underline_position. Be sure to draw
6120 underline within the current line area.
6121
6122 * xterm.c (x_draw_glyph_string): Be sure to update
6123 s->underline_thickness and s->underline_position. Be sure to draw
6124 underline within the current line area.
6125
6126 * fontset.c: Delete unused variables and add casting for char *
6127 throughout the file.
6128 (fontset_font): Try the fallback fonts of the current fontset
6129 before consulting the default fontset.
6130
6131 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6132
6133 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6134
61352008-05-22 Jason Rumney <jasonr@gnu.org>
6136
6137 * font.c: Don't include strings.h.
6138
6139 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6140
6141 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6142 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6143 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6144 to call xstrcasecmp.
6145
6146 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6147
6148 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6149
6150 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6151
6152 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6153
61542008-05-22 Kenichi Handa <handa@m17n.org>
6155
6156 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6157
6158 * font.c (font_prop_validate_style): Adjust for the format
6159 change of font_style_table.
6160
6161 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6162 two args.
6163
6164 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6165 two args.
6166
61672008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6168
6169 * minibuf.c (keys_of_minibuf): Delete.
6170 * lisp.h (keys_of_minibuf): Delete.
6171 * emacs.c (main): Don't call keys_of_minibuf.
6172
61732008-05-22 Kenichi Handa <handa@m17n.org>
6174
6175 * ftfont.c (ftfont_resolve_generic_family): Rename from
6176 ftfont_list_generic_family. Return a single family for each
6177 generic family.
6178 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6179 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6180 Call font_add_log.
6181 (ftfont_match): Call font_add_log.
6182
6183 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6184 (FONT_DEBUG): Define it.
6185 (font_add_log): Extern it.
6186 (font_assert): Rename from xassert.
6187
6188 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6189 (xfont_list_family): Call font_add_log.
6190 (xfont_match): Likewise.
6191 (memq_no_quit): Delete.
6192
6193 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6194 call of Ffont_xlfd_name.
6195
6196 * xfaces.c (struct table_entry, slant_table, weight_table)
6197 (swidth_table): Move to font.c.
6198
6199 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6200 xassert are changed to font_assert. Delete many unused variables.
6201 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6202 New variables.
6203 (struct table_entry): Move from xfaces.c and modified.
6204 (weight_table, slant_table, width_table): Move from xfaces.c and
6205 contents adjusted for the change of struct table_entry.
6206 (font_style_to_value, font_style_symbolic): Adjust for the
6207 format change of font_style_table.
6208 (font_parse_family_registry): Don't overwrite existing foundry and
6209 family of font_spec.
6210 (font_score): Fix calculation of diff for sizes.
6211 (font_sort_entites): Call font_add_log.
6212 (font_delete_unmatched): Return a newly created list.
6213 (font_list_entities): Fix previous change. Call font_add_log.
6214 (font_matching_entity, font_open_entity, font_close_entity):
6215 Call font_add_log.
6216 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6217 (Finternal_set_font_style_table): Delete.
6218 (BUILD_STYLE_TABLE): New macro.
6219 (build_style_table): New function.
6220 (Vfont_log, font_log_env_checked): New variables.
6221 (font_add_log): New function.
6222 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6223 Declare Lisp variables "font-weight-table", "font-slant-table",
6224 "font-width-table", and "font-log". Initialize font_style_table.
6225
62262008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6227
6228 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6229
62302008-05-21 Seiji Zenitani <zenitani@mac.com>
6231 Ryo Yoshitake <ryo@shiftmode.net>
6232
6233 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6234 (Vframe_alpha_lower_limit): New variable.
6235 (x_set_alpha): New function.
6236
6237 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6238
6239 * xfns.c (x-create-frame, Qalpha):
6240 Initialize the frame parameter `alpha'.
6241 * xterm.c (OPAQUE, OPACITY): New.
6242 (x_set_frame_alpha): New function.
6243 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6244
6245 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6246 * w32fns.c (w32_frame_parm_handlers): Likewise.
6247
62482008-05-20 Jason Rumney <jasonr@gnu.org>
6249
6250 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6251 truetype fonts to opentype list.
6252
62532008-05-20 Juanma Barranquero <lekktu@gmail.com>
6254
6255 * fontset.c (Ffontset_info): Doc fix.
6256 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6257 <ignore-relative-composition>: Fix typos in docstrings.
6258
6259 * font.c (syms-of-font) <font-encoding-alist>:
6260 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6261 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6262 (Ffont_otf_alternates): Doc fixes.
6263
62642008-05-20 Kenichi Handa <handa@m17n.org>
6265
6266 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6267 font.h through out the file.
6268 (FONT_DRIVERS): Rename from FONTOBJ.
6269 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6270 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6271
6272 * emacs.c (main): Call syms_of_font unconditionally.
6273
6274 * font.h (find_font_encoding): Extern it.
6275
6276 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6277 fontset.c.
6278 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6279 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6280 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6281 only when HAVE_WINDOW_SYSTEM is defined.
6282 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6283 when HAVE_WINDOW_SYSTEM is defined.
6284
6285 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6286 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6287
6288 * xfaces.c: Include font.h unconditionally.
6289 (merge_face_ref, merge_face_vectors)
6290 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6291
62922008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6293
6294 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6295 indirect_variable.
6296 * eval.c (lisp_indirect_variable): New fun.
6297 (Fuser_variable_p): Use it.
6298
62992008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6300
6301 * lisp.h (indirect_variable):
6302 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6303 Use Lisp_Symbol pointers rather than Lisp_Object.
6304 Adjust callers.
6305 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6306 To this end, change calling-convention.
6307
6308 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6309 if some non-hidden buffers are selected by string&pred.
6310
63112008-05-19 Chong Yidong <cyd@stupidchicken.com>
6312
6313 * process.c (wait_reading_process_output): Always check status
6314 when in batch mode.
6315
63162008-05-19 Kenichi Handa <handa@m17n.org>
6317
6318 * font.c (font_list_entities): Fix handling of cache.
6319 (font_matching_entity): Likewise.
6320
6321 * ftfont.c (cs_iso8859_1): Delete.
6322 (ft_face_cache): New variable.
6323 (struct ftfont_info): New member fc_charset_idx.
6324 (ftfont_build_basic_charsets): Delete.
6325 (fc_charset_table): New variable.
6326 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6327 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6328 Callers changed.
6329 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6330 (ftfont_spec_pattern): New argument fc_charset_idx.
6331 Check registry more rigidly. Change callers.
6332 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6333 change of :font-entity property of the font.
6334
6335 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6336 property of the font.
6337
63382008-05-18 Juanma Barranquero <lekktu@gmail.com>
6339
6340 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6341 (Funencodable_char_position, Fcheck_coding_systems_region)
6342 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6343 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6344 (Ffind_operation_coding_system, Fset_coding_system_priority)
6345 (Fcoding_system_eol_type): Doc fixes.
6346
63472008-05-17 Glenn Morris <rgm@gnu.org>
6348
6349 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6350
63512008-05-16 Eli Zaretskii <eliz@gnu.org>
6352
6353 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6354 and st_gid.
6355
6356 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6357 HAVE_WINDOW_SYSTEM is not defined.
6358
6359 * xfaces.c (merge_face_ref, merge_face_vectors)
6360 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6361 HAVE_WINDOW_SYSTEM is defined.
6362 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6363
63642008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6365
6366 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6367
63682008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6369
6370 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6371
63722008-05-15 Kenichi Handa <handa@m17n.org>
6373
6374 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6375 preference.
6376
63772008-05-15 Glenn Morris <rgm@gnu.org>
6378
6379 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6380
63812008-05-15 Chong Yidong <cyd@stupidchicken.com>
6382
6383 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6384 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6385
6386 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6387
63882008-05-15 Kenichi Handa <handa@m17n.org>
6389
6390 * ftfont.c (ftfont_list): Downcase family name to check generic
6391 families.
6392
6393 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6394 font-spec for QCfont value.
6395
6396 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6397 buffer. Check the return value of it.
6398
63992008-05-14 Jason Rumney <jasonr@gnu.org>
6400
6401 * w32term.c (w32_get_glyph_overhangs): Remove.
6402 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6403
64042008-05-14 Kenichi Handa <handa@m17n.org>
6405
6406 * font.c (font_prop_validate): Make nil a valid value.
6407 (font_clear_cache): Check if the cached vector of entities is nil
6408 or not.
6409
64102008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6411
6412 * emacs.c (main_thread): Conditionalize on
6413 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6414 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6415
6416 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6417 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6418 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6419
64202008-05-14 Kenichi Handa <handa@m17n.org>
6421
6422 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6423 has no corresponding coding system.
6424
64252008-05-14 Jason Rumney <jasonr@gnu.org>
6426
6427 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6428
6429 * w32font.h (w32font_open_internal): Update declaration.
6430
6431 * w32font.c (w32font_open_internal): Change last argument from
6432 w32font_info struct to font object. Fill in font object from
6433 font_entity. Get Outline metrics if possible. Use them to
6434 calculate underline position and thickness. Use xlfd name as name
6435 property. Don't set codepage.
6436 (w32font_open): Pass font_object to w32font_open_internal. Don't
6437 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6438 (w32font_draw): Use s->font.
6439 (clear_cached_metrics): Don't clear non-existent blocks.
6440
6441 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6442 font was not found.
6443 (x_draw_glyph_string): Use underline position and thickness from font.
6444
6445 * w32uniscribe.c (uniscribe_open): Pass font_object to
6446 w32font_open_internal.
6447
64482008-05-14 Kenichi Handa <handa@m17n.org>
6449
6450 These changes are to delete all legacy font-handling codes, and
6451 make Emacs use only font-backends.
6452
6453 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6454 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6455
6456 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6457
6458 * charset.h (Vcharset_non_preferred_head)
6459 (Vcurrent_iso639_language): Extern them.
6460
6461 * charset.c (Vcharset_non_preferred_head): New variable.
6462 (Vcurrent_iso639_language): New variable.
6463 (syms_of_charset): Declare it as a Lisp variable.
6464 (char_charset): Don't check non preferred charsets. As a last
6465 resort, return charset_unicode.
6466 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6467
6468 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6469 conditionals. Don't check enable_font_backend. Delete all codes
6470 used only when USE_FONT_BACKEND is not defined.
6471
6472 * dispextern.h (struct glyph_string): Change type of `font' to
6473 `struct font *'.
6474 (struct glyph_string): New member underline_position and
6475 underline_thickness.
6476 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6477 (struct face): Change type of `font' to `struct font *'. Remove
6478 members `font_name', `font_info_id'.
6479 (per_char_metric, encode_char): Delete externs.
6480 (calc_pixel_width_or_height): Adjust the prototype.
6481
6482 * emacs.c (enable_font_backend): Delete extern.
6483 (main): Don't set enable_font_backend. Don't check the command
6484 line argument "-disable-font-backend".
6485
6486 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6487 (enum font_property_index): New members FONT_DPI_INDEX,
6488 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6489 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6490 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6491 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6492 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6493 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6494 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6495 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6496 (struct font_spec, struct font_entity): New structs.
6497 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6498 (struct font): Many members from old "struct font_info" moved to
6499 here. Members font and entity deleted.
6500 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6501 the new font-related objects.
6502 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6503 (CHECK_FONT_GET_OBJECT): Likewise.
6504 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6505 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6506 (struct font_driver): New members case_sensitive anc check. Type
6507 of the member list and open changed.
6508 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6509 (font_symbolic_width, font_find_object, font_get_spec)
6510 (font_set_lface_from_name): Delete extern.
6511 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6512
6513 * font.c: Include <strings.h>.
6514 (enable_font_backend): Delete it.
6515 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6516 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6517 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6518 (null_string): Delete it.
6519 (null_vector): Make it static.
6520 (font_family_alist): Delete it.
6521 (Qnormal): Extern it.
6522 (QCextra, QClanguage): Delete it.
6523 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6524 (font_make_spec, font_make_entity, font_make_object)
6525 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6526 the string. Callers changed.
6527 (font_pixel_size): Adjusted for the format change of font-related
6528 objects.
6529 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6530 (font_style_to_value, font_style_symbolic): New function.
6531 (build_font_family_alist): Delete it.
6532 (font_registry_charsets): Use Fassoc_string instead of
6533 assq_no_quit.
6534 (font_prop_validate_symbol): Don't return null_string.
6535 (font_prop_validate_style): Adjusted for the change of
6536 style-related values in a font vector.
6537 (font_property_table): Delete entries for QClanguage and
6538 QCantialias, add entries for QCavgwidth.
6539 (get_font_prop_index): Delete the 2nd argument FROM.
6540 (font_prop_validate): Arguments changed.
6541 (font_put_extra): Adjusted for the change of font-related objects.
6542 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6543 (font_parse_fcname, font_unparse_fcname)
6544 (font_prepare_composition): Likewise.
6545 (font_parse_family_registry): Renamed from font_merge_old_spec.
6546 (otf_open): Delete the 1st arg entity.
6547 (font_otf_capability): Adjusted for the above change.
6548 (font_score): New arg alternate_families. Adjusted for the change
6549 of font-related objects.
6550 (font_sort_entites): New arg best_only.
6551 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6552 Delete them.
6553 (font_match_p): Check alternate families.
6554 (font_find_object): Delete it.
6555 (font_check_object): New function.
6556 (font_clear_cache): Adjusted for the change of font-related objects.
6557 (font_delete_unmatched): New arg.
6558 (font_list_entities): Call font_driver->list with a spec that
6559 doesn't specify style-related properties.
6560 (font_matching_entity): Arguments changed. Caller changed.
6561 (font_open_entity): Adjusted for the change of font-related objects.
6562 (font_close_object, font_has_char, font_encode_char)
6563 (font_get_name, font_get_spec): Likewise.
6564 (font_spec_from_name, font_clear_prop, font_update_lface):
6565 New functions.
6566 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6567 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6568 (font_at): Adjusted for the change of font-related objects.
6569 (font_range): New function.
6570 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6571 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6572 (Fcopy_font_spec, Fmerge_font_spec): New function.
6573 (Ffont_family_list): Renamed from list-families.
6574 (Finternal_set_font_style_table): Arguments changed.
6575 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6576 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6577 change of font-related objects.
6578 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6579
6580 * fontset.h (struct font_info): Delete it. Most members go to
6581 struct font.
6582 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6583 (enum FONT_SPEC_INDEX): Delete it.
6584 (font_info, list_fonts_func, load_font_func, query_font_func)
6585 (set_frame_fontset_func, find_ccl_program_func)
6586 (get_font_repertory_func, new_fontset_from_font_name): Delete
6587 externs.
6588 (fontset_from_font_name): Extern it.
6589 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6590 (FONT_INFO_FROM_FACE): Deleted.
6591 (face_for_font): Adjust prototype.
6592
6593 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6594 conditionals. Don't check enable_font_backend. Delete all codes
6595 used only when USE_FONT_BACKEND is not defined.
6596 (get_font_info_func, list_font_func, load_font_func)
6597 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6598 (get_font_repertory_func): Delete them.
6599 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6600 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6601 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6602 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6603 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6604 (fontset_compare_rfontdef): New function.
6605 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6606 rfont-defs by qsort. Adjusted for the change of font-group vector.
6607 (load_font_get_repertory): Deleted.
6608 (fontset_find_font): Use new macros to ref/set elements of
6609 font-def and rfont-def.
6610 (fontset_font): Fix the timing of remembering that no font for C.
6611 (free_face_fontset): Do nothing if the face has no fontset.
6612 (face_suitable_for_char_p): Use new macros to ref/set elements of
6613 rfont-def.
6614 (face_for_char): Likewise. Call face_for_char with font_object.
6615 (fs_load_font): Delete. Delete #pragma surrounding it.
6616 (fs_query_fontset): Use strcasecmp instead of strcmp.
6617 (generate_ascii_font_name): Adjusted for the format change of
6618 font-spec.
6619 (Fset_fontset_font): Likewise. Use new macros to set elements of
6620 font-def.
6621 (Fnew_fontset): Use font_unparse_xlfd to generate
6622 FONTSET_ASCII (fontset).
6623 (new_fontset_from_font_name): Deleted.
6624 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6625 a fontset is already created for the font. FIx updating of
6626 Vfontset_alias_alist.
6627 (fontset_ascii_font): Deleted.
6628 (Ffont_info): Adjusted for the format change of font-spec.
6629 (Finternal_char_font): Likewise.
6630 (Ffontset_info): Likewise.
6631 (syms_of_fontset): Don't check load_font_func.
6632
6633 * fns.c (internal_equal): Handle PREV_FONT.
6634
6635 * frame.h: Delete USE_FONT_BACKEND conditional.
6636
6637 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6638 conditionals. Don't check enable_font_backend. Delete all codes
6639 used only when USE_FONT_BACKEND is not defined.
6640 (x_set_font): Call x_new_font, not x_new_fontset2.
6641 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6642 already set for the frame.
6643
6644 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6645 a font-entity by font_make_entity. Use font_intern_prop instead
6646 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6647 font property. If a font is scalable, set avgwidth property to 0.
6648 Set font-entity property by font_put_extra.
6649 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6650 (ffont_driver): Adjusted for the change of struct font_driver.
6651 (ftfont_spec_pattern): New function.
6652 (ftfont_list): Return a list, not vector.
6653 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6654 (ftfont_list_family): Don't downcase names.
6655 (ftfont_free_entity): Deleted.
6656 (ftfont_open): Return a font-object. Adjusted for the change of
6657 struct font. Get underline_thickness and underline_position from
6658 font property. Don't update dpyinfo->smallest_font_height and
6659 dpyinfo->smallest_char_width.
6660 (ftfont_close): Don't free `struct font'.
6661 (ftfont_has_char): Adjusted for the format change of font-entity.
6662 (ftfont_encode_char, ftfont_text_extents): Likewise.
6663
6664 * ftxfont.c (ftxfont_list): Return a list, not vector.
6665 (ftxfont_open): Return a font-object. Adjusted for the change of
6666 struct font. Get underline_thickness and underline_position from
6667 font property. Don't update dpyinfo->smallest_font_height and
6668 dpyinfo->smallest_char_width.
6669 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6670 (ftxfont_draw): Adjusted for the change of struct font.
6671
6672 * image.c (image_ascent): Don't include "charset.h". Include
6673 "character.h" and "font.h".
6674
6675 * lisp.h (enum pvec_type): New member PREV_FONT.
6676 (Fassoc_string): EXFUN it.
6677
6678 * print.c: Include font.h.
6679 (print_object): Handle font-related objects.
6680
6681 * xdisp.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 (handle_auto_composed_prop): Do nothing if it->f is not on a
6685 window system. Check how many following characters can be
6686 displayed by the same font.
6687 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6688 'struct font *'.
6689 (get_char_face_and_encoding): Assign the whole encoding task to
6690 the `encode-char' method of a font driver.
6691 (fill_composite_glyph_string): Adjusted for the change of `struct
6692 face' and `struct glyph_string'.
6693 (fill_glyph_string): Likewise.
6694 (get_per_char_metric): Arguments changed.
6695 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6696 and `struct glyph_string'.
6697 (produce_stretch_glyph, calc_line_height_property)
6698 (x_produce_glyphs): Likewise.
6699
6700 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6701 conditionals. Don't check enable_font_backend. Delete all codes
6702 used only when USE_FONT_BACKEND is not defined. Use
6703 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6704 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6705 (Qp): Extern them.
6706 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6707 Deleted.
6708 (struct font_name): Deleted.
6709 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6710 (compare_fonts_by_sort_order): New function.
6711 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6712 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6713 Deleted.
6714 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6715 compare_fonts_by_sort_order.
6716 (Fx_font_family_list): Call Ffont_family_list.
6717 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6718 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6719 (face_symbolic_slant, face_symbolic_swidth)
6720 (split_font_name_into_vector, build_font_name_from_vector)
6721 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6722 (font_rescale_ratio, split_font_name, build_font_name)
6723 (free_font_names, sort_fonts, x_face_list_fonts)
6724 (face_font_available_p, sorted_font_list, cmp_font_names)
6725 (font_list_1, concat_font_list, font_list, remove_duplicates):
6726 Deleted.
6727 (Fx_list_fonts): Use Ffont_list.
6728 (LFACE_AVGWIDTH): Deleted.
6729 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6730 by FONTP.
6731 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6732 (set_lface_from_font_name): Delete it.
6733 (set_lface_from_font): Renamed from
6734 set_lface_from_font_and_fontset. Caller changed. Don't set
6735 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6736 for face.
6737 (merge_face_vectors): Copy font-spec if necessary.
6738 Clear properties of the font-spec if necessary.
6739 (merge_face_ref): Clear properties of the font-spec if necessary.
6740 (Finternal_set_lisp_face_attribute): Likewise.
6741 (set_font_frame_param): Use font_load_for_lface to load a
6742 font-object, and call Fmodify_frame_parameters with it.
6743 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6744 font name by Ffont_xlfd_name.
6745 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6746 QCslant, and QCwidth.
6747 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6748 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6749 Compare fonts by EQ.
6750 (lookup_non_ascii_face): Deleted.
6751 (face_for_font): The 2nd argument changed.
6752 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6753 Check atomic font properties by case insensitive.
6754 (realize_non_ascii_face): Set face->overstrike correctly.
6755 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6756 (dump_realized_face): Get font name from
6757 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6758
6759 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6760 conditionals. Don't check enable_font_backend. Delete all codes
6761 used only when USE_FONT_BACKEND is not defined.
6762 (xic_create_xfontset): Original code deleted and renamed from
6763 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6764 (x_make_gc): Don't set GCFont in GCs.
6765 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6766 opened by "fixed".
6767 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6768 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6769 get_font_repertory_func.
6770
6771 * xfont.c: Include <stdlib.h> and "ccl.h".
6772 (struct xfont_info): New structure.
6773 (xfont_query_font): Deleted.
6774 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6775 moved from xterm.c.
6776 (xfont_driver): Adjusted for the change of struct font_driver.
6777 (compare_font_names): New function.
6778 (xfont_list_pattern): Sort font names case insensitively. Make
6779 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6780 (xfont_list): Return a list, not vector.
6781 (xfont_match): If the font doesn't have QCname property, generate
6782 a name from the other font properties.
6783 (xfont_open): Return a font-object. Adjusted for the change of
6784 struct font. Get underline_thickness and underline_position from
6785 font property. Don't update dpyinfo->smallest_font_height and
6786 dpyinfo->smallest_char_width.
6787 (xfont_close): Don't free struct font.
6788 (xfont_prepare_face): Adjusted for the change of struct font.
6789 (xfont_done_face): Deleted.
6790 (xfont_has_char): Adjusted for the change of struct font.
6791 (xfont_encode_char, xfont_draw): Likewise.
6792 (xfont_check): New function.
6793
6794 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6795 callback function.
6796 (xftfont_match): Adjusted for the format change of font-entity.
6797 (xftfont_open): Adjusted for the format change of font-entity and
6798 font-object. Adjusted for the change of struct font. Return a
6799 font-object. Don't update dpyinfo->smallest_font_height and
6800 dpyinfo->smallest_char_width.
6801 (xftfont_close): Block input while calling XftFontClose.
6802 (xftfont_prepare_face): Don't block input while calling
6803 xftfont_get_colors. Adjusted for the change of struct font.
6804 (xftfont_shape): Return value of error case fixed.
6805
6806 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6807
6808 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6809 conditionals.
6810 (FONT_WIDTH): Return (f)->max_width.
6811 (struct x_display_info): Delete member `font'.
6812 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6813 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6814 (struct x_output): Change type of `font' to `struct font *'.
6815
6816 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6817 conditionals. Don't check enable_font_backend. Delete all codes
6818 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6819 (x_per_char_metric, x_encode_char): Deleted.
6820 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6821 (x_compute_glyph_string_overhangs): Adjusted for the change of
6822 `struct face'.
6823 (x_draw_glyph_string_foreground)
6824 (x_draw_composite_glyph_string_foreground): Likewise.
6825 (x_draw_glyph_string): Likewise. Use font->underline_position and
6826 font->underline_thickness.
6827 (x_new_font): Renamed from x_new_fontset2.
6828 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6829 (x_check_font): Call `check' method of a font driver.
6830 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6831 (x_query_font, x_get_font_repertory): Deleted.
6832 (x_find_ccl_program): Renamed and moved to xfont.c.
6833 (x_redisplay_interface): Adjusted for the change of `struct
6834 redisplay_interface'.
6835
6836 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6837 conditionals. Don't check enable_font_backend. Delete all codes
6838 used only when USE_FONT_BACKEND is not defined. Surround non-used
6839 code by "#ifdef OLD_FONT" and "endif".
6840 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6841
6842 * w32font.h (struct w32font_info): New member.
6843 (FONT_COMPAT): New macro.
6844 (w32font_open_internal): Prototype adjusted.
6845
6846 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6847 OLD_FONT" and "endif".
6848
6849 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6850 conditionals. Don't check enable_font_backend. Delete all codes
6851 used only when USE_FONT_BACKEND is not defined.
6852 (w32font_open): Return a font-object. Make a font-object by
6853 font_make_object. Adjusted for the change of struct w32font_info.
6854 (w32font_close): Don't free struct font. Adjusted for the change
6855 of struct w32font_info.
6856 (w32font_encode_char, w32font_text_extents, w32font_draw):
6857 Adjusted for the change of struct w32font_info.
6858 (w32font_draw): Likewise.
6859 (w32font_list_internal): Return a list, not vector.
6860 (w32font_open_internal): Change the 4th arg to font-object.
6861 Adjusted for the change of struct w32font_info and font-object format.
6862 (add_font_name_to_list): Don't downcase names.
6863 (w32_enumfont_pattern_entity): Make a font-entity by
6864 font_make_entity. Adjusted for the format change of font-entity.
6865 Use FONT_SET_STYLE to set a style-related font property. If a
6866 font is scalable, set avgwidth property to 0. Set font-entity
6867 property by font_put_extra.
6868 (font_matches_spec): Adjusted for the format change of font-entity.
6869 (w32_weight_table, w32_decode_weight): New variables.
6870 (w32_encode_weight): New function.
6871 (fill_in_logfont): Adjusted for the format change of font-spec.
6872 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6873 weight value.
6874 (w32font_driver): Adjusted for the change of struct font_driver.
6875
6876 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6877 conditionals. Don't check enable_font_backend. Surround non-used
6878 code by "#ifdef OLD_FONT" and "endif".
6879 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6880 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6881
6882 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6883 conditionals. Don't check enable_font_backend. Delete all codes
6884 used only when USE_FONT_BACKEND is not defined. Surround non-used
6885 code by "#ifdef OLD_FONT" and "endif".
6886
6887 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6888 (uniscribe_open): Return value changed to font-object.
6889 Adjusted for the format change of font-object.
6890 (uniscribe_otf_capability): Adjusted for the change of struct font.
6891 (add_opentype_font_name_to_list): Don't downcase names.
6892 (uniscribe_font_driver): Adjusted for the change of struct
6893 font_driver.
6894
68952008-05-13 Chong Yidong <cyd@stupidchicken.com>
6896
6897 * dispnew.c (update_frame_1): Check if tty output is still valid
6898 before flushing it.
6899
69002008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6901
6902 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6903 to Gtk+ menus.
6904
69052008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6906
6907 * dired.c (file_name_completion): Tweak the code so as to always do it
6908 in a single pass. Tighten the scope of some variables.
6909
6910 * dired.c (Qdefault_directory): New var.
6911 (file_name_completion): Use it instead of Fexpand_file_name.
6912 (syms_of_dired): Initialize it.
6913
69142008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6915
6916 * fileio.c (double_dollars): Remove dead code.
6917
69182008-05-10 Eli Zaretskii <eliz@gnu.org>
6919
6920 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6921 Mention w32-get-true-file-attributes in doc string.
6922
6923 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6924
69252008-05-09 Glenn Morris <rgm@gnu.org>
6926
6927 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6928 2008-04-23.
6929
69302008-05-09 Eli Zaretskii <eliz@gnu.org>
6931
6932 Support for reporting owner and group of each file on MS-Windows:
6933 * dired.c (stat_uname, stat_gname): New functions, with special
6934 implementation for w32.
6935 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6936
6937 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6938 (dflt_group_name): New static variable.
6939 (dflt_group): Rename from the_group.
6940 (init_user_info): Init dflt_group fields. Get user's group name
6941 from LookupAccountSid.
6942 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6943 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6944 New initialization states.
6945 (globals_of_w32): Initialize them to zero. Initialize the default
6946 group name to "None".
6947 (GetFileSecurity_Name): New global var, the name of the function
6948 to call for GetFileSecurity.
6949 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6950 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6951 (get_file_security, get_security_descriptor_owner)
6952 (get_security_descriptor_group, is_valid_sid)
6953 (get_file_security_desc, get_rid, get_name_and_id)
6954 (get_file_owner_and_group): New functions.
6955 (stat): Use get_file_security_desc and get_file_owner_and_group to
6956 report the owner and primary group of each file. Don't ignore the
6957 high 32 bits of file's size, now that st_size is 64-bit wide.
6958 Fix test when to get true file attributes.
6959 (init_user_info): Use get_rid instead of equivalent inline code.
6960 (fstat): Don't ignore the high 32 bits of file's size.
6961
69622008-05-09 Chong Yidong <cyd@stupidchicken.com>
6963
6964 * image.c (png_load): Use correct bit-depth for setting background
6965 color.
6966
69672008-05-08 Eli Zaretskii <eliz@gnu.org>
6968
6969 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6970 epa-hook.elc.
6971
69722008-05-08 Juanma Barranquero <lekktu@gmail.com>
6973
6974 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6975
69762008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6977
6978 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6979 because the original parameters are in pure storage now.
6980 (mac_window): Remove unused params. Update callers.
6981
69822008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6983
6984 * lread.c (substitute_object_recurse): Use lower-level primitives.
6985 Don't signal errors when traversing sub-char-tables.
6986 Don't loop over all the possible characters when traversing char-tables.
6987
6988 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6989 just like we do in print.c.
6990
69912008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6992
6993 * minibuf.c (Ftry_completion): Remove code left over from when we used
6994 scmp instead of Fcompare_strings.
6995
69962008-05-04 Juanma Barranquero <lekktu@gmail.com>
6997
6998 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6999
70002008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7001
7002 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
7003 Create bitmap context in native byte order.
7004
7005 * macterm.c (XDrawLine)
7006 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
7007 context in native byte order.
7008
70092008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7010
7011 * config.in: Regenerate.
7012
7013 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
7014 New definitions for Image I/O support.
7015 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
7016 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
7017 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7018 (mac_data_provider_release_data, image_load_image_io)
7019 [USE_MAC_IMAGE_IO]: New functions.
7020 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
7021 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
7022 (init_image_func_pointer) [MAC_OSX]: Remove function.
7023 (image_load_quartz2d) [MAC_OSX]: Check availability of
7024 CGImageCreateWithPNGDataProvider at compile time.
7025 Use lowercase `false' for boolean constant.
7026 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
7027 Use image_load_image_io.
7028 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
7029 Don't check MyCGImageCreateWithPNGDataProvider.
7030 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
7031 Don't call init_image_func_pointer.
7032
7033 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
7034
7035 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
7036 Make variable non-static.
7037 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
7038 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7039
7040 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
7041 (RED_FROM_ULONG): Mask off higher bits.
7042 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
7043
7044 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
7045 Include AvailabilityMacros.h.
7046 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
7047 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
7048
70492008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
7050
7051 * chartab.c (Fset_char_table_range): If range is t, really set all
7052 chars to that value.
7053
70542008-05-03 Eli Zaretskii <eliz@gnu.org>
7055
7056 * dired.c (Ffile_attributes): Don't allow the device number become
7057 negative.
7058
70592008-05-02 Daiki Ueno <ueno@unixuser.org>
7060
7061 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
7062
70632008-05-02 Juri Linkov <juri@jurta.org>
7064
7065 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
7066 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
7067 DEFAULT argument as a list of default values in docstrings.
7068
70692008-05-01 Chong Yidong <cyd@stupidchicken.com>
7070
7071 * puresize.h (BASE_PURESIZE): Increase to 1210000.
7072
70732008-05-01 Martin Rudalics <rudalics@gmx.at>
7074
7075 * dispnew.c (change_frame_size_1): Preserve small windows when
7076 shrinking frames by calling set_window_height|width with third
7077 arg 2.
7078
7079 * window.h (struct window): Replace field too_small_ok by field
7080 resize_proportionally.
7081
7082 * window.c (make_window): Initialize resize_proportionally.
7083 (enlarge_window): Temporarily set resize_proportionally to make
7084 sure that shrink_windows does scale the window proportionally.
7085 (shrink_windows): When window has resize_proportionally set try
7086 to shrink it proportionally by stealing from other windows.
7087 (struct saved_window, Fset_window_configuration)
7088 (compare_window_configurations): Handle resize_proportionally.
7089 (WINDOW_TOTAL_SIZE): New macro.
7090 (window_min_size, shrink_windows, size_window): Use it.
7091 (check_min_window_sizes): Remove. Invalid values of
7092 window-min-height|width are handled by window_min_size_2 now.
7093 (size_window, Fsplit_window, enlarge_window)
7094 (adjust_window_trailing_edge, grow_mini_window): Don't call
7095 check_min_window_sizes.
7096 (window_min_size_2, window_min_size_1, window_min_size):
7097 New argument safe_p for retrieving "safe" minimum sizes.
7098 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7099 (adjust_window_trailing_edge, grow_mini_window):
7100 Adjust arguments of window_min_size... functions.
7101 (shrink_windows): Argument min_size removed. New argument
7102 safe_p allows shrinking windows to their safe minimum sizes.
7103 Calculate minimum size and decide whether a window shall be
7104 deleted for each window individually.
7105 (size_window): When nodelete_p equals 2, tell shrink_windows to
7106 delete windows only if their new minimum size is no more safe.
7107 (shrink_window_lowest_first): Call window_min_size_1 to make
7108 sure to preserve modeline of bottom-most window when resizing
7109 the minibuffer.
7110 (Fset_window_configuration, Fcurrent_window_configuration)
7111 (compare_window_configurations): Do not handle
7112 window-min-height|width any more.
7113 (syms_of_window): Clarify window-min-height|width doc-strings.
7114
71152008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7116
7117 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7118 some more. Copy some of the code from Ftry_completions.
7119 Remove special case code that dates back to initial revision when the
7120 slash was only added when necessary and that can't trigger nowadays.
7121
71222008-04-27 Kenichi Handa <handa@m17n.org>
7123
7124 * font.c (font_prop_validate): Signal `error' instead of `font'.
7125
71262008-04-29 Jason Rumney <jasonr@gnu.org>
7127
7128 * w32fns.c (Fw32_battery_status): New defun.
7129 (syms_of_w32fns): Defsubr it.
7130
71312008-04-28 Andreas Schwab <schwab@suse.de>
7132
7133 * dired.c (file_name_completion): Fix another mixing of encoded
7134 and decoded names.
7135
71362008-04-28 Juanma Barranquero <lekktu@gmail.com>
7137
7138 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7139
71402008-04-27 Juanma Barranquero <lekktu@gmail.com>
7141
7142 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7143
71442008-04-27 Andreas Schwab <schwab@suse.de>
7145
7146 * dired.c (file_name_completion): Fix inappropriate mixing of
7147 encoded and decoded names.
7148
7149 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7150
7151 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7152
71532008-04-26 Eli Zaretskii <eliz@gnu.org>
7154
7155 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7156 2008-03-31, it's not needed anymore with `struct stat' definition
7157 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7158 for the same reasons.
7159
71602008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7161
7162 * m/sparc.h: Additional redefinitions for GNU/Linux.
7163
71642008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7165
7166 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7167 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7168 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7169 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7170 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7171 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7172 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7173 Likewise.
7174
7175 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7176 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7177 (mac_ax_number_of_characters): Add externs.
7178 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7179 [USE_MAC_TSM]: Likewise.
7180 (mac_handle_text_input_event) [MAC_OSX]:
7181 Handle kEventTextInputOffsetToPos for no active input area case.
7182 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7183 (mac_handle_document_access_event)
7184 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7185 (install_application_handler) [MAC_OSX]: Register handlers for
7186 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7187 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7188 Register mac_handle_document_access_event.
7189
7190 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7191 Make functions non-static.
7192
71932008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7194
7195 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7196 (read_file_name_completion_ignore_case, insert_default_directory)
7197 (Qdefault_directory): Move to minibuffer.el.
7198 (Fread_file_name): Call the new `read-file-name' instead.
7199
72002008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7201
7202 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7203 Make function non-static.
7204 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7205 Remove function.
7206 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7207 Move to mactoolbox.c.
7208 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7209
7210 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7211 (mac_rect_make): New macro.
7212
7213 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7214 instead of float.
7215 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7216 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7217 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7218 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7219 CGRectMake.
7220 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7221 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7222 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7223 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7224 instead of WindowRef in argument type.
7225 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7226 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7227 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7228 instead of DISPLAY. All uses changed.
7229 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7230 (x_calc_absolute_position): Simplify so as not to use
7231 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7232
7233 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7234 instead of WindowRef in argument type.
7235 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7236 [TARGET_API_MAC_CARBON]: Remove externs.
7237 (create_apple_event, mac_event_parameters_to_lisp)
7238 [TARGET_API_MAC_CARBON]: Add externs.
7239
7240 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7241 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7242 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7243 is clicked.
7244 (x_activate_menubar): Remove extern for saved_menu_event_location.
7245 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7246 Move from mac.c.
7247
72482008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7249
7250 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7251 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7252
72532008-04-23 Jason Rumney <jasonr@gnu.org>
7254
7255 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7256 attributes only for local files.
7257
7258 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7259 default to Qlocal.
7260
72612008-04-22 Juri Linkov <juri@jurta.org>
7262
7263 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7264 read-buffer-to-switch instead of using the letter "B".
7265
72662008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7267
7268 * fileio.c (Qdefault_directory): New variable.
7269 (Fread_file_name): Use it to pass `dir' to the completion functions.
7270
72712008-04-20 Chong Yidong <cyd@stupidchicken.com>
7272
7273 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7274
72752008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7276
7277 * keyboard.c (Vpre_help_message): Remove.
7278 (show_help_echo): Remove default C code.
7279
7280 * dired.c (directory_files_internal, file_name_completion):
7281 Only call ENCODE_FILE if the string is indeed decoded.
7282
72832008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7284
7285 * Makefile.in (TOOLKIT_DEFINES): Remove.
7286 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7287
72882008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7289
7290 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7291 (mactoolbox.o): New target.
7292
7293 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7294 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7295
7296 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7297 Use mac_set_frame_window_background instead of XSetWindowBackground.
7298 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7299 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7300 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7301 instead of SetWindowTitleWithCFString.
7302 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7303 Move function to mactoolbox.c.
7304 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7305 Use mac_set_window_modified instead of SetWindowModified.
7306 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7307 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7308 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7309 FrontNonFloatingWindow. Use mac_activate_window instead of
7310 ActivateWindow. Use mac_active_non_floating_window instead of
7311 ActiveNonFloatingWindow.
7312 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7313 Use mac_show_hourglass and mac_hide_hourglass.
7314 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7315 instead of GetGlobalMouse.
7316 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7317 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7318 Use mac_bring_window_to_front instead of BringToFront.
7319 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7320 mactoolbox.c.
7321 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7322 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7323 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7324 mactoolbox.c.
7325
7326 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7327 (XtPointer): Move typedef from macmenu.c.
7328 (enum button_type): Move enum from macmenu.c.
7329 (widget_value): Move typedef from macmenu.c.
7330 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7331 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7332 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7333 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7334 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7335 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7336 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7337 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7338 (Selection): Move typedef from macselect.c.
7339 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7340 macterm.c.
7341 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7342 (mac_is_window_collapsed, mac_bring_window_to_front)
7343 (mac_send_window_behind, mac_hide_window, mac_show_window)
7344 (mac_collapse_window, mac_front_non_floating_window)
7345 (mac_active_non_floating_window, mac_activate_window)
7346 (mac_move_window_structure, mac_move_window, mac_size_window)
7347 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7348
7349 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7350 (enum mac_menu_kind): Move enum to mactoolbox.c.
7351 (min_menu_id): Move variable to mactoolbox.c.
7352 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7353 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7354 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7355 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7356 [TARGET_API_MAC_CARBON]: Likewise.
7357 (XtPointer): Move typedef to macgui.h.
7358 (enum button_type): Move enum to macgui.h.
7359 (widget_value): Move typedef to macgui.h.
7360 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7361 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7362 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7363 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7364 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7365 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7366 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7367 (popup_activated_flag): Make variable non-static.
7368 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7369 (add_menu_item, fill_menu, dispose_menus):
7370 Move functions to mactoolbox.c.
7371 (restore_show_help_function, menu_target_item_handler)
7372 (install_menu_target_item_handler, mac_handle_dialog_event)
7373 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7374 [TARGET_API_MAC_CARBON]: Likewise.
7375 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7376 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7377 (find_and_call_menu_selection, name_is_separator): Make function
7378 non-static.
7379 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7380 to mactoolbox.c.
7381 (set_frame_menubar): Don't call install_menu_quit_handler.
7382 (menu_item_selection): New variable.
7383 (mac_menu_show): Use create_and_show_popup_menu.
7384 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7385 selection but set variable menu_item_selection. All uses changed.
7386 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7387 Call install_menu_quit_handler. Move to mactoolbox.c.
7388
7389 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7390 (Selection): Move typedef to macgui.h.
7391 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7392 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7393 Make variables non-static.
7394 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7395 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7396 Make functions non-static.
7397 (Vmac_service_selection) [MAC_OSX]: Likewise.
7398 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7399 (mac_valid_selection_target_p, mac_clear_selection)
7400 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7401 (mac_put_selection_value, mac_selection_has_target_p)
7402 (mac_get_selection_value, mac_get_selection_target_list)
7403 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7404 Move functions to mactoolbox.c.
7405 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7406 Likewise.
7407 (copy_scrap_flavor_data, mac_handle_service_event)
7408 (install_service_handler) [MAC_OSX]: Likewise.
7409 (syms_of_macselect) <Vmac_dnd_known_types>:
7410 Use mac_dnd_default_known_types.
7411
7412 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7413 Move to mactoolbox.c.
7414 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7415 (Fx_selection_owner_p): Add EXFUN.
7416 (install_window_handler, remove_window_handler, XSetWindowBackground):
7417 Remove externs.
7418 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7419 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7420 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7421 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7422 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7423 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7424 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7425 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7426 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7427 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7428 (mac_valid_selection_target_p, mac_clear_selection)
7429 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7430 (mac_put_selection_value, mac_selection_has_target_p)
7431 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7432 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7433 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7434 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7435 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7436 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7437 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7438 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7439 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7440
7441 * mactoolbox.c: New file.
7442
74432008-04-18 Jason Rumney <jasonr@gnu.org>
7444
7445 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7446
74472008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7448
7449 * character.c (Fmultibyte_char_to_unibyte):
7450 Return latin1 chars unchanged.
7451
7452 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7453 relocated if it points to `name'.
7454
74552008-04-17 Kenichi Handa <handa@m17n.org>
7456
7457 * data.c (Faset): Allow setting a multibyte character in an
7458 ASCII-only unibyte string.
7459
7460 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7461
74622008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7463
7464 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7465 done in config.h.
7466
74672008-04-16 Juanma Barranquero <lekktu@gmail.com>
7468
7469 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7470 (Fchar_direction): Add usage in the docstring.
7471
74722008-04-15 Chong Yidong <cyd@stupidchicken.com>
7473
7474 * keyboard.c (read_key_sequence): Remove always-true checks.
7475
74762008-04-14 Jason Rumney <jasonr@gnu.org>
7477
7478 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7479 compatibility struct, for better underline positioning.
7480
74812008-04-13 David Hansen <david.hansen@gmx.net>
7482
7483 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7484 string.
7485
74862008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7487
7488 * m/hp800.h (XUINT, XSET): Remove.
7489
74902008-04-12 Juanma Barranquero <lekktu@gmail.com>
7491
7492 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7493 previous change.
7494
74952008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7496
7497 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7498 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7499
75002008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7501
7502 * keymap.h (map_keymap_canonical): Declare.
7503 * xmenu.c (single_keymap_panes): Use it.
7504
75052008-04-11 Glenn Morris <rgm@gnu.org>
7506
7507 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7508 set the target's value to that of the alias.
7509
75102008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7511
7512 * term.c (set_tty_color_mode): Left over typo.
7513
75142008-04-10 Michael Albinus <michael.albinus@gmx.de>
7515
7516 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7517 only after check for file name handler functions. Signal, when
7518 native functionality is not supported.
7519 (syms_of_fileio): Declare it unconditionally.
7520
75212008-04-10 Jason Rumney <jasonr@gnu.org>
7522
7523 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7524 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7525
7526 * w32.c (logon_network_drive): Also logon to remote drives that
7527 are mapped to drive letters.
7528
75292008-04-10 Glenn Morris <rgm@gnu.org>
7530
7531 * xdisp.c (truncate-partial-width-windows): Doc fix.
7532
75332008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7534
7535 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7536 Move functions to minibuffer.el.
7537 (syms_of_fileio): Don't declare them.
7538
75392008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7540
7541 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7542 (syms_of_minibuf): Remove its initialization.
7543
7544 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7545
75462008-04-09 Juanma Barranquero <lekktu@gmail.com>
7547
7548 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7549
75502008-04-09 Jason Rumney <jasonr@gnu.org>
7551
7552 * makefile.w32-in (distclean): Delete makefile too.
7553 (maintainer-clean): New target.
7554
7555 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7556
7557 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7558 for new font backend and composite cases.
7559
75602008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7561
7562 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7563 Most of the code moved to run_timers.
7564 (do_pending_atimers): Call run_timers.
7565 (run_timers): New function.
7566
7567 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7568 run atimers.
7569
7570 * process.c (wait_reading_process_output): The same as above.
7571
75722008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7573
7574 * minibuf.c (last_exact_completion): Remove variable.
7575 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7576 (complete_and_exit_1, complete_and_exit_2)
7577 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7578 (Fdisplay_completion_list, display_completion_list_1)
7579 (Fminibuffer_completion_help, Fself_insert_and_exit)
7580 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7581 minibuffer.el.
7582 (syms_of_minibuf): Remove corresponding initializations.
7583
7584 * keyboard.c (Qdeactivate_mark): New var.
7585 (command_loop_1): Use it to call `deactivate-mark'.
7586 (syms_of_keyboard): Initialize it.
7587
7588 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7589 to another frame.
7590 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7591 Don't call set_tty_color_mode.
7592 (store_frame_param): Reset previous_frame rather than call
7593 set_tty_color_mode.
7594 * term.c (set_tty_color_mode): Rewrite.
7595 * dispextern.h (set_tty_color_mode): New type.
7596 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7597
75982008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7599
7600 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7601 for generic chars, which do not exist any more in emacs-unicode.
7602
76032008-04-08 Michael Albinus <michael.albinus@gmx.de>
7604
7605 * coding.c (detect_coding_emacs_mule)
7606 (Ffind_operation_coding_system): Fix typo.
7607
76082008-04-08 Jason Rumney <jasonr@gnu.org>
7609
7610 * w32uniscribe.c (SNAME): Extract only symbol name.
7611
7612 * w32font.h (struct w32_metric_cache): New struct.
7613 (w32font_info): Use it.
7614 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7615 (CACHE_BLOCKSIZE): New constants.
7616
7617 * w32font.c (Qja, Qko, Qzh): New symbols.
7618 (syms_of_w32font): Initialise them.
7619 (font_matches_spec): Use them to filter by language.
7620 (recompute_cached_metrics): Remove function.
7621 (compute_metrics, clear_cached_metrics): New functions.
7622 (w32font_encode_char): Use them to manage metric cache.
7623 (w32font_text_extents): Cache metrics for all glyphs on demand.
7624 Delay converting glyph indices to WORD until needed.
7625 (w32font_open_internal): Initialize metric cache to empty.
7626 (registry_to_w32_charset): Charset should always be a symbol.
7627 (fill_in_logfont, list_all_matching_fonts): Family should
7628 always be a symbol.
7629
76302008-04-06 Jason Rumney <jasonr@gnu.org>
7631
7632 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7633 Give up if glyph indices not supported. Use uniscribe obtained
7634 ABC widths for individual metrics. Map glyph clusters back to
7635 characters using fClusterStart flag. Return number of glyphs
7636 produced, not chars processed.
7637 (uniscribe_shape): Map char at FROM to current glyph.
7638
76392008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7640
7641 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7642 Use SetMenuItemHierarchicalMenu.
7643
76442008-04-05 Jason Rumney <jasonr@gnu.org>
7645
7646 * image.c (pbm_load): Allow color values up to 65535.
7647 Throw an error if max_color_idx is outside the supported range.
7648 Report an error when image size is invalid.
7649 Read two bytes at a time when raw images have max_color_idx above 255.
7650
76512008-04-05 Eli Zaretskii <eliz@gnu.org>
7652
7653 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7654 cFileName a file name that includes `?' characters, use the 8+3
7655 alias in cAlternateFileName instead.
7656
76572008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7658
7659 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7660 append "CCL: Quitted" when the CCL program is quitted.
7661 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7662
7663 * ccl.h (struct ccl_program): New member quit_silently.
7664
76652008-04-05 Chong Yidong <cyd@stupidchicken.com>
7666
7667 * search.c (compile_pattern_1): Treat non-nil and non-string of
7668 search-spaces-regexp as nil.
7669
7670 * minibuf.c (Fassoc_string): Tweak docstring.
7671
76722008-04-05 Eli Zaretskii <eliz@gnu.org>
7673
7674 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7675 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7676 2008-03-14 to force inode be positive.
7677
7678 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7679 _S_* ones, since we now use our own sys/stat.h.
7680 (stat, fstat): Don't mangle the inode number.
7681 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7682
76832008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7684
7685 * frame.h (struct frame): Give one more bit to `visible' since we use
7686 values larger than 1 to indicate obscured frames on ttys.
7687
7688 * keymap.c (Qkeymap_canonicalize): New var.
7689 (Fmap_keymap_internal): New fun.
7690 (describe_map): Use keymap-canonicalize.
7691
7692 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7693 (Fundo_boundary): Set them.
7694 (syms_of_undo): Initialize them.
7695 (record_point): Use them instead of last_point_position*.
7696 (last_undo_buffer): Change type.
7697
76982008-04-04 Jason Rumney <jasonr@gnu.org>
7699
7700 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7701 (recompute_cached_metrics): Don't set ascent and descent per char.
7702
7703 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7704 (uniscribe_check_otf): Add GC protection before consing.
7705 Rearrange loop for counting features.
7706
77072008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7708
7709 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7710 buffer with byte-size of source buffer.
7711
77122008-04-03 Chong Yidong <cyd@stupidchicken.com>
7713
7714 * callint.c (Fcall_interactively): Handle temporary region even
7715 when shift-select-mode is off.
7716
77172008-04-03 Jason Rumney <jasonr@gnu.org>
7718
7719 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7720
77212008-04-03 Kenichi Handa <handa@m17n.org>
7722
7723 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7724 (CATEGORY_MASK_UTF_16): Likewise.
7725 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7726 binary file.
7727 (detect_coding): Add null-byte detection for a binary file.
7728 (detect_coding_system): Likewise.
7729
77302008-04-03 Jason Rumney <jasonr@gnu.org>
7731
7732 * w32uniscribe.c: New file.
7733
7734 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7735
7736 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7737
7738 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7739 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7740 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7741 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7742 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7743 (Qphonetic): New symbols.
7744 (syms_of_w32font): Initialize them.
7745 (font_supported_scripts): Use them.
7746 (w32font_list_family): List all charsets.
7747 (w32font_text_extents, recompute_cached_metrics): Fix metric
7748 calculations.
7749 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7750 Give opentype fonts their own format.
7751 (font_matches_spec): New arguments backend and logfont.
7752 Handle :otf spec for uniscribe backend.
7753 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7754 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7755
7756 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7757 font backend.
7758 (globals_of_w32fns): Initialize uniscribe font backend.
7759
7760 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7761 dependencies.
7762 (w32uniscribe.$(O)): New file to build.
7763 (FONT_OBJ): Include w32uniscribe.$(O).
7764 (LIBS): Add uniscribe libraries.
7765
7766 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7767
77682008-04-02 Chong Yidong <cyd@stupidchicken.com>
7769
7770 * callint.c (Vshift_select_mode): New var.
7771 (Finteractive): Document new ^ spec.
7772 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7773 is present.
7774
7775 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7776 (command_loop_1): Avoid running the direct display versions of
7777 forward-char and backward-char if shift-selection may occur.
7778 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7779 shift-translation takes place.
7780
7781 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7782 avoid clobbering by define-minor-mode.
7783
7784 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7785 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7786
7787 * syntax.c (Fforward_word): Add ^ interactive spec.
7788
7789 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7790 (Fscroll_right): Add ^ interactive spec.
7791
77922008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7793
7794 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7795
7796 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7797
7798 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7799
78002008-03-31 Juri Linkov <juri@jurta.org>
7801
7802 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7803
78042008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7805
7806 * gtkutil.c (xg_set_geometry): Fix indentation.
7807 (xg_resize_outer_widget): Remove.
7808 (x_wm_size_hint_off): Fix indentation.
7809 (xg_frame_set_char_size): Call flush_and_sync after
7810 gtk_window_resize.
7811 (x_wm_set_size_hint): Pass NULL as geometry window to
7812 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7813 Add menu bar and tool bar height to base height.
7814 (xg_update_frame_menubar, free_frame_menubar)
7815 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7816 (update_frame_tool_bar, free_frame_tool_bar):
7817 Change xg_resize_outer_widget to xg_frame_set_char_size.
7818
78192008-03-30 Michael Albinus <michael.albinus@gmx.de>
7820
7821 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7822 (Fdbus_call_method): New parameter TIMEOUT.
7823 (dbus-send-signal): Optimize UNGCPRO call.
7824
78252008-03-29 Juri Linkov <juri@jurta.org>
7826
7827 * window.c (Fdisplay_buffer): Move call to
7828 Vsplit_window_preferred_function out of conditions that check
7829 if window is eligible for vertical splitting.
7830 When Vsplit_window_preferred_function is non-nil, call it and use
7831 its non-nil return value as window. Otherwise, continue doing
7832 vertical splitting using Fsplit_window with arg horflag=nil.
7833 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7834 default value from `split-window' to nil.
7835
78362008-03-29 Juri Linkov <juri@jurta.org>
7837
7838 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7839 for interactive code letters 'b' and 'B'.
7840
78412008-03-29 Eli Zaretskii <eliz@gnu.org>
7842
7843 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7844 multibyte string.
7845
78462008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7847
7848 * keyboard.c (pending_funcalls): New var.
7849 (timer_check): Run it.
7850 (syms_of_keyboard): Initialize it.
7851 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7852 (Vdelete_terminal_functions): New vars.
7853 (syms_of_terminal): Initialize them.
7854 (Fdelete_terminal): Run delete-terminal-functions.
7855 * xdisp.c (safe_eval): Rewrite.
7856 (safe_call2): New fun.
7857 * frame.c (Qdelete_frame_functions): New var.
7858 (syms_of_frame): Initialize it.
7859 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7860 * lisp.h (safe_call2, pending_funcalls): Declare.
7861
78622008-03-28 Andreas Schwab <schwab@suse.de>
7863
7864 * indent.c (Fmove_to_column): Move declaration before statements.
7865
78662008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7867
7868 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7869 (struct frame): Use bit fields for boolean vars.
7870
7871 * process.c (server_accept_connection): Simplify naming.
7872 (emacs_get_tty_pgrp): Use SDATA.
7873
7874 * coding.c (decode_coding_object): Fix last change.
7875
78762008-03-27 Jason Rumney <jasonr@gnu.org>
7877
7878 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7879
78802008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7881
7882 * charset.c (Fdefine_charset_internal): Change the way of
7883 registering charsets in Vcharset_order_list.
7884 (syms_of_charset): Make the charset `eight-bit' supplementary.
7885
78862008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7887
7888 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7889 operations, to avoid having the difference between pointers
7890 overflow.
7891
78922008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7893
7894 * indent.c (check_display_width): New fun.
7895 (scan_for_column): Use it.
7896
7897 * data.c (syms_of_data): Mark most-positive-fixnum and
7898 most-negative-fixnum as constants.
7899
7900 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7901
7902 * indent.c (scan_for_column): Extract from current_column_1.
7903 Merge with the same code from Fmove_to_column.
7904 (current_column_1, Fmove_to_column): Use it.
7905
79062008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7907
7908 * keymap.c (map_keymap_internal): New fun.
7909 (map_keymap): Use it.
7910 (Fmap_keymap_internal): New fun.
7911 (Fmap_keymap): Remove left-out test from before make_save_value.
7912
7913 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7914
7915 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7916 Use XCAR/XCDR.
7917
7918 * process.h (struct Lisp_Process): Remove filter_multibyte.
7919 * process.c (QCfilter_multibyte): Remove.
7920 (setup_process_coding_systems): Don't use filter_multibyte.
7921 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7922 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7923 (Fset_process_filter_multibyte): Change the coding-system to
7924 approximate the previous behavior.
7925 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7926 coding-system.
7927
7928 * coding.c (decode_coding_object): When not decoding into a buffer,
7929 obey the coding system's preference of (uni|multi)byte.
7930
79312008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7932
7933 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7934 every char is changed and has a different byte-length.
7935 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7936 Fix int -> EMACS_INT.
7937
79382008-03-23 David Hansen <david.hansen@gmx.net>
7939
7940 * dbusbind.c (xd_read_message): Remove extra copying of message
7941 strings. Check for NULL `interface' or `member'.
7942
79432008-03-22 Eli Zaretskii <eliz@gnu.org>
7944
7945 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7946 cFileName a file name that includes `?' characters, use the 8+3
7947 alias in cAlternateFileName instead.
7948
79492008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7950
7951 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7952
79532008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7954
7955 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7956 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7957 work on current_buffer only instead (that was already the case
7958 for some of the code anyway).
7959 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7960 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7961 (SET_PT, SET_PT_BOTH): Adjust.
7962 * intervals.h (set_point, temp_set_point, set_point_both)
7963 (temp_set_point_both): Remove redundant declarations.
7964
79652008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7966
7967 * fileio.c (Finsert_file_contents):
7968 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7969 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7970 when buffer != current_buffer anyway.
7971
79722008-03-20 Andreas Schwab <schwab@suse.de>
7973
7974 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7975 as default.
7976
79772008-03-19 Jason Rumney <jasonr@gnu.org>
7978
7979 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7980 (syms_of_w32fns): Initialize them.
7981 (HOURGLASS_ID): New constant.
7982 (x_window_to_frame): Don't check hourglass_window.
7983 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7984 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7985 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7986 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7987 Only change the cursor if hourglass is not active.
7988 (Fx_create_frame): Initialize frame's current_cursor.
7989 (hourglass_atimer): Remove.
7990 (hourglass_started): New function.
7991 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7992 (show_hourglass): Adapt to w32, changing argument to frame.
7993
7994 * w32term.h (struct w32_output): Remove hourglass_window.
7995 Add current_cursor.
7996
7997 * eval.c (call_debugger, Fsignal):
7998 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7999 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
8000 (Fexecute_extended_command, cancel_hourglass_unwind):
8001 * minibuf.c (read_minibuf):
8002 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
8003
80042008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
8005
8006 * window.c (run_funs): New fun.
8007 (run_window_configuration_change_hook): Use it to run the buffer-local
8008 and the global part of the hook.
8009
8010 * xdisp.c (format_mode_line_unwind_data): Add window argument.
8011 (unwind_format_mode_line): Restore selected window.
8012 (x_consider_frame_title, Fformat_mode_line): Set selected window.
8013
80142008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
8015
8016 * editfns.c (Fchar_equal): Check they are valid characters.
8017
8018 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
8019
80202008-03-17 Andreas Schwab <schwab@suse.de>
8021
8022 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
8023 against a charset.
8024
8025 * lisp.h (Fbuffer_list): Declare.
8026
80272008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 8028
aac0c6e3
MR
8029 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
8030 handlebox_widget is != 0.
8031
80322008-03-16 Juri Linkov <juri@jurta.org>
8033
8034 * callint.c (Fcall_interactively): For interactive code letters
8035 'b' and 'B' put the buffer list into the list of default "future"
8036 values of the minibuffer.
8037
80382008-03-16 Andreas Schwab <schwab@suse.de>
8039
8040 * keyboard.c (read_key_sequence): Fix downcasing of letters with
8041 modifiers.
8042
8043 * regex.c (re_match_2_internal): Correct matching of a charset
8044 against latin-1 characters.
8045
80462008-03-16 Kenichi Handa <handa@m17n.org>
8047
8048 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
8049 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
8050 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
8051 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
8052 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
8053 CHAR_STRING_ADVANCE.
8054 (produce_chars): Fix for the case that the source and the
8055 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
8056 instead of CHAR_STRING_ADVANCE.
8057 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
8058 STRING_CHAR_ADVANCE.
8059
80602008-03-15 Andreas Schwab <schwab@suse.de>
8061
8062 * regex.c (re_match_2_internal): Correct matching of eight bit
8063 characters in unibyte strings.
8064
80652008-03-15 Martin Rudalics <rudalics@gmx.at>
8066
8067 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
8068 at end of range when it coincides with the end of the buffer.
8069
80702008-03-14 Eli Zaretskii <eliz@gnu.org>
8071
8072 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8073
8074 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8075
80762008-03-14 Jason Rumney <jasonr@gnu.org>
8077
8078 * editfns.c (initial_tz): New variable.
8079 (syms_of_editfns): Initialize it.
8080 (Fset_time_zone_rule): Set it when first called.
8081 Use it when TZSTRING is nil.
8082
8083 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8084 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8085 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8086 (globals_of_w32fns): Initialize them.
8087 (compute_tip_xy): Use them to position tooltips.
8088
80892008-03-14 Glenn Morris <rgm@gnu.org>
8090
8091 * emacs.c (main): Revert previous change.
8092 (standard_args): Revert -internal-script back to -scriptload,
8093 and remove the long-option form.
8094
80952008-03-13 Glenn Morris <rgm@gnu.org>
8096
8097 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8098 Remove option -enable-font-backend.
8099
81002008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8101
8102 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8103
81042008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8105
8106 * xterm.c (x_connection_closed): For GTK: If this is the last
8107 terminal just exit without closing the display.
8108
81092008-03-11 Jason Rumney <jasonr@gnu.org>
8110
8111 * w32font.c (w32font_full_name): Use floor to round.
8112
f0131492 81132008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8114
8115 * sound.c (alsa_configure): Declare vol at beginning of block.
8116
8117 * fontset.c (Ffontset_info): Remove extra semicolon.
8118
81192008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8120
8121 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8122 size of resulting string.
8123
81242008-03-10 Jason Rumney <jasonr@gnu.org>
8125
8126 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8127
81282008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8129
8130 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8131 Don't pretend as if characters with display property haven't been
8132 consumed for string-replacing-string case.
8133
81342008-03-08 Kim F. Storm <storm@cua.dk>
8135
8136 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8137 (get_next_display_element, next_element_from_string)
8138 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8139
81402008-03-08 Andreas Schwab <schwab@suse.de>
8141
8142 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8143
81442008-03-06 Jason Rumney <jasonr@gnu.org>
8145
8146 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8147 when charset not specified. Only translate ANSI to unicode when
8148 font_type is truetype.
8149 (w32font_coverage_ok): New function.
8150 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8151
81522008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8153
8154 * lread.c (Fread_char): Resolve modifiers.
8155 (Fread_char_exclusive): Likewise.
8156
8157 * character.c (char_resolve_modifier_mask): New function.
8158 (char_string): Use char_resolve_modifier_mask.
8159 (Fchar_resolve_modifiers): New function.
8160 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8161 function.
8162
81632008-03-04 Jason Rumney <jasonr@gnu.org>
8164
8165 * makefile.w32-in: Always include w32font.c in the build.
8166 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8167
81682008-03-04 Andreas Schwab <schwab@suse.de>
8169
8170 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8171 (versionclean): Likewise.
8172
81732008-03-04 Juanma Barranquero <lekktu@gmail.com>
8174
8175 * .cvsignore: Add oo.
8176
81772008-03-03 Andreas Schwab <schwab@suse.de>
8178
8179 * coding.c (decode_coding_object): Inhibit gap shrinking while
8180 decoding in place.
8181
81822008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8183
8184 * w32term.c: Remove unused include "gnu.h".
8185 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8186
8187 * gnu.h: Rename to ...
8188 * emacs-icon.h: ... this.
8189 * xterm.c: Use emacs-icon.h instead of gnu.h.
8190 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8191
81922008-03-03 Juanma Barranquero <lekktu@gmail.com>
8193
8194 * w32font.c: Include math.h.
8195
81962008-03-03 Jason Rumney <jasonr@gnu.org>
8197
8198 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8199 Compute options separately.
8200 (w32font_open_internal): Set glyph_idx before caching metrics.
8201
8202 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8203 Define if system headers don't.
8204 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8205 (w32font_encode_char): Don't declare here.
8206
8207 * w32font.c (Quniscribe, QCformat): New symbols.
8208 (syms_of_w32font): Define them.
8209 (w32font_has_char): Indicate uncertainty.
8210 (w32font_encode_char): Encode as glyph point. Make static.
8211 (recompute_cached_metrics): New function.
8212 (w32font_open_internal): Use it. Set font to use glyph points
8213 initially. Set format based on type of font.
8214 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8215 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8216 on it. Set format based on information available here.
8217 (add_font_entity_to_list): Identify backend based on opentype_only.
8218
82192008-03-02 Andreas Schwab <schwab@suse.de>
8220
8221 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8222
8223 * coding.c (decode_coding_big5, produce_chars):
8224 Fix typos in last change.
8225
82262008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8227
8228 * gnu.h: New icon.
8229
82302008-03-02 Kenichi Handa <handa@m17n.org>
8231
8232 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8233 `dos', don't decode '\r' if that is the last in the source.
8234 (decode_coding_utf_16, decode_coding_emacs_mule)
8235 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8236 (decode_coding_raw_text, decode_coding_charset): Likewise.
8237 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8238
82392008-03-01 Jason Rumney <jasonr@gnu.org>
8240
8241 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8242
82432008-03-01 Kim F. Storm <storm@cua.dk>
8244
8245 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8246
82472008-03-01 Jason Rumney <jasonr@gnu.org>
8248
8249 * w32font.c (w32font_full_name): New function.
8250 (w32font_open_internal): Use it.
8251
82522008-03-01 Kim F. Storm <storm@cua.dk>
8253
8254 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8255
82562008-03-01 Jason Rumney <jasonr@gnu.org>
8257
8258 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8259
82602008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8261
8262 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8263 xg_frame_resized when the event is for the edit widget.
8264
8265 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8266
8267 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8268 set_char_size.
8269 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8270 operations on widgets here. Just set frame size if needed.
8271 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8272 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8273 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8274 the whole frame.
8275 (xg_create_tool_bar): Move attachment of the tool bar to
8276 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8277 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8278
82792008-03-01 Jason Rumney <jasonr@gnu.org>
8280
8281 * w32fns.c (w32_msg_pump): Disable debug code.
8282
82832008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8284
8285 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8286
82872008-02-29 Chong Yidong <cyd@stupidchicken.com>
8288
8289 * xdisp.c (next_overlay_string): Don't set
8290 overlay_strings_at_end_processed_p if we're currently reading from
8291 a display string.
8292
82932008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8294
8295 * xdisp.c (get_overlay_strings_1): Fix typo.
8296
82972008-02-29 Chong Yidong <cyd@stupidchicken.com>
8298
8299 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8300
83012008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8302
8303 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8304
8305 * xdisp.c (display_mode_element): Cancel the previous change.
8306 (decode_mode_spec): Likewise.
8307 (handle_auto_composed_prop): Don't make composition if it->string
8308 is a string.
8309
83102008-02-27 Kim F. Storm <storm@cua.dk>
8311
8312 * lisp.h (GLYPH): Change type from int to struct with separate char
8313 and face_id members.
8314 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8315 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8316 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8317 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8318 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8319 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8320 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8321 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8322 handle new Lisp glyph code encoding, either an integer or a cons.
8323
8324 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8325 (GLYPH_ALIAS): Delete.
8326 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8327 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8328 (GLYPH_FROM_CHAR): Replace macro by ...
8329 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8330
8331 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8332 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8333 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8334 (GLYPH_INVALID_P): New macro.
8335 (spec_glyph_lookup_face): Update prototype.
8336
8337 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8338 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8339 new glyph code encoding.
8340 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8341 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8342
8343 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8344 Adapt to new glyph type and new glyph code encoding.
8345
8346 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8347
8348 * indent.c (current_column, current_column_1, Fmove_to_column)
8349 (compute_motion): Adapt to new glyph code encoding.
8350
8351 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8352
83532008-02-27 Chong Yidong <cyd@stupidchicken.com>
8354
8355 * process.c (wait_reading_process_output): Check for window
8356 changes caused by timers.
8357 Suggested by Johan Bockgård.
8358
83592008-02-27 Glenn Morris <rgm@gnu.org>
8360
8361 * emacs.c (USAGE1): Add `--disable-font-backend'.
8362
83632008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8364
8365 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8366 is made to the buffer.
8367
83682008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8369
8370 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8371 (face_at_string_position):
8372 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8373 (face_at_string_position):
8374 * xdisp.c (display_string, next_overlay_change):
8375 * buffer.h (overlays_at):
8376 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8377 Update callers.
8378
83792008-02-26 Chong Yidong <cyd@stupidchicken.com>
8380
8381 * editfns.c (Fformat): Doc fix.
8382
83832008-02-26 Juanma Barranquero <lekktu@gmail.com>
8384
8385 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8386 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8387 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8388
83892008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8390
8391 * buffer.c (Fbuffer_swap_text): New function.
8392 (syms_of_buffer): Defsubr it.
8393
83942008-02-25 Chong Yidong <cyd@stupidchicken.com>
8395
8396 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8397
83982008-02-25 Jason Rumney <jasonr@gnu.org>
8399
8400 * w32font.c (w32font_draw): Draw one character at a time when padding.
8401
84022008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8403
8404 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8405 Handle a nil arg. Use run_window_configuration_change_hook.
8406 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8407 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8408 Use run_window_configuration_change_hook.
8409
84102008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8411
8412 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8413 1-pixel width.
8414
84152008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8416
8417 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8418 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8419 if the glyph in the font is zero pixel with.
8420
8421 * dispextern.h (struct glyph_string): New member padding_p.
8422
8423 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8424
8425 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8426
8427 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8428
8429 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8430
8431 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8432
84332008-02-25 Jason Rumney <jasonr@gnu.org>
8434
8435 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8436
84372008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8438
8439 Allow fine-grained image-cache flushing.
8440 * dispextern.h (struct image): Add `dependencies' field.
8441 (clear_image_caches): Change arg to Lisp_Object.
8442 * image.c (make_image): Initialize `dependencies' field.
8443 (clear_image_cache): Change arg to allow fine-grained flushing.
8444 Perform the flush even if image-cache-eviction-delay is nil.
8445 (clear_image_caches): Change arg to Lisp_Object.
8446 (Fclear_image_cache): Expand meaning of the argument.
8447 (mark_image): Mark `dependencies' field.
8448 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8449 (lface_hash): Use XHASH rather than XFASTINT.
8450 (face_at_buffer_position): Fix int -> EMACS_INT position.
8451 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8452 (select_frame_for_redisplay): Remove code duplication.
8453 (redisplay_internal): Adapt arg to call to clear_image_caches.
8454
84552008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8456
8457 * s/vms4-0.h:
8458 * s/vms4-2.h:
8459 * s/vms4-4.h:
8460 * s/vms5-5.h: Remove, unused.
8461
8462 * s/irix5-2.h:
8463 * s/irix6-0.h:
8464 * s/riscos5.h:
8465 * s/mach-bsd4-3.h:
8466 * m/mips4.h: Remove files for obsolete systems.
8467
8468 * Makefile.in:
8469 * filelock.c:
8470 * unexmips.c:
8471 * m/hp9000s300.h:
8472 * m/iris4d.h:
8473 * s/aix3-1.h:
8474 * s/hpux.h:
8475 * s/msdos.h:
8476 * s/usg5-0.h:
8477 * s/usg5-2-2.h:
8478 * s/usg5-2.h:
8479 * s/usg5-3.h: Remove references to obsolete variables.
8480
8481 * s/irix5-0.h: Remove, move all the contents ...
8482 * s/irix6-5.h: ... here. Simplify.
8483 * config.in: Regenerate.
8484
84852008-02-24 Jason Rumney <jasonr@gnu.org>
8486
8487 * w32term.c (x_draw_glyph_string_background): Clear the background
8488 manually when cleartype is in use.
8489 (x_draw_glyph_string_foreground): Draw text transparently when
8490 cleartype is in use.
8491
8492 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8493 a font into it unless we have to.
8494
84952008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8496
8497 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8498 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8499
aac0c6e3
MR
85002008-02-18 Jason Rumney <jasonr@gnu.org>
8501
8502 * w32fns.c (Fw32_shell_execute): Encode parameters.
8503
85042008-02-09 Eli Zaretskii <eliz@gnu.org>
8505
8506 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8507
85082008-02-05 Juanma Barranquero <lekktu@gmail.com>
8509
8510 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8511
85122008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8513
8514 * xterm.c (x_set_offset): Don't change the gravity if
8515 CHANGE_GRAVITY is -1.
8516
85172008-02-23 Chong Yidong <cyd@stupidchicken.com>
8518
8519 * fileio.c (auto_save_error_occurred): New var.
8520 (auto_save_error): Set it.
8521 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8522 error occurred.
8523
85242008-02-23 Eli Zaretskii <eliz@gnu.org>
8525
8526 * w32.c (globals_of_w32): Add initializations for
8527 g_b_init_get_sid_sub_authority and
8528 g_b_init_get_sid_sub_authority_count.
8529
85302008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8531
8532 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8533 (font_parse_xlfd): Use them for sanity check.
8534 (Finternal_set_font_style_table): Make sure the table is bijective.
8535
8536 Consolidate the image_cache to the terminal struct.
8537 * termhooks.h (P_): Remove redundant def.
8538 (struct terminal): New field `image_cache'.
8539 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8540 of FRAME_X_IMAGE_CACHE.
8541 * xterm.h (struct x_display_info): Remove image_cache field.
8542 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8543 * w32term.h (struct w32_display_info): Remove image_cache field.
8544 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8545 * macterm.h (struct mac_display_info): Remove image_cache field.
8546 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8547 * xterm.c (x_term_init):
8548 * w32term.c (w32_term_init):
8549 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8550 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8551 Remove declarations.
8552 (clear_image_caches, mark_image_cache): New declarations.
8553 * xfaces.c (clear_face_cache):
8554 * xdisp.c (redisplay_internal): Use clear_image_caches.
8555 * image.c (clear_image_cache): Don't check that a frame is on
8556 a window-system before checking if it shares the same cache.
8557 (clear_image_caches): New function.
8558 (Fclear_image_cache): Use it.
8559 (mark_image): Move from allo.c.
8560 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8561 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8562 (mark_object): Don't call mark_image_cache for frames.
8563 (mark_terminals): Call mark_image_cache.
8564
8565 * lisp.h (Fdelete_terminal): Declare.
8566
8567 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8568 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8569 wrong_type_argument.
8570
85712008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8572
8573 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8574 malayalam.el, and tamil.el. Add sinhala.el.
8575
85762008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8577
8578 * xterm.c (x_connection_closed): Consolidate identical tests.
8579 (x_delete_terminal): Don't crash if called via x_connection_closed.
8580
85812008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8582
8583 * xdisp.c (decode_mode_spec): New arg string.
8584 (display_mode_element): Adjust for the above change.
8585
85862008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8587
8588 * callint.c (Fcall_interactively): Use AREF.
8589
85902008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8591
8592 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8593
85942008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8595
8596 * xfns.c (Fx_show_tip): Set string to " " if empty.
8597
85982008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8599
8600 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8601 with Qt.
8602
86032008-02-17 Kenichi Handa <handa@m17n.org>
8604
8605 * ftfont.c (ftfont_shape): Return Lispy number.
8606
8607 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8608 for GCs.
8609 (Finternal_set_font_selection_order): Call font_update_sort_order
8610 only when enable_font_backend is set.
8611 (realize_x_face): Set face->font_info to that of default face only
8612 when enable_font_backend is set.
8613
8614 * xdisp.c (handle_composition_prop): Set it->c to the fist
8615 character of the composed region.
8616 (fill_composite_glyph_string): Set base_face->font_info to
8617 s->font_info. Get a face for ascii from base_face->ascii_face.
8618 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8619 with a face already decided.
8620 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8621 non-negative.
8622 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8623 call font_prepare_composition unconditionally.
8624
8625 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8626
8627 * xterm.h (struct x_display_info): New member font.
8628
8629 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8630 (x_set_mouse_face_gc, x_new_font): Likewise.
8631 (x_term_init): Setup display_info->font.
8632 (x_delete_terminal): Free display_info->font.
8633
8634 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8635
8636 * ftxfont.c (ftxfont_default_fid): Delete it.
8637 (ftxfont_open): Set xfont->fid to 0.
8638 (ftxfont_end_for_frame): Clear data specific to the frame and the
8639 font-driver.
8640
8641 * xftfont.c (xftfont_default_fid): Delete it.
8642 (xftfont_open): Set xfont->fid to 0.
8643
8644 * fontset.c (FONTSET_OBJLIST): New macro.
8645 (fontset_find_font): Update font-object list of the fontset.
8646 (free_realized_fontset): New function.
8647 (free_face_fontset): Call free_realized_fontset.
8648 (Ffont_info): Call font_close_object only when enable_font_backend
8649 is set.
8650
8651 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8652 [HAVE_NTGUI]: Include w32term.h.
8653 [MAC_OS]: Include macterm.ch.
8654 (font_otf_ValueRecord): Use make_number.
8655 (font_finish_cache): Fix handling of reference count.
8656 (font_clear_cache): Update num_fonts.
8657 (font_open_entity): Update smallest_char_width and
8658 smallest_font_height of the frame.
8659 (font_close_object): Update num_fonts.
8660 (Fclear_font_cache): Fix finding the target cache data.
8661
86622008-02-16 Glenn Morris <rgm@gnu.org>
8663
8664 * fontset.c (Finternal_char_font): Fix compilation warning.
8665
86662008-02-16 Eli Zaretskii <eliz@gnu.org>
8667
8668 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8669 instead of char arrays. Enlarge the size of array passed to
8670 get_token_information.
8671
8672 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8673 warnings.
8674
86752008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8676
8677 * .gdbinit: Don't set `args', it breaks gdb --args.
8678
86792008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8680
8681 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8682 within a narrowed buffer.
8683
86842008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8685
8686 * coding.c (decode_coding_object, encode_coding_object):
8687 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8688
86892008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8690
8691 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8692 hardcoding 1.
8693 (detect_coding_system):
8694 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8695 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8696 * insdel.c (insert_from_gap):
8697 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8698 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8699 (string_to_multibyte):
8700 * character.c (chars_in_text, multibyte_chars_in_text):
8701 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8702
8703 * character.h (FETCH_STRING_CHAR_ADVANCE)
8704 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8705 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8706 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8707
8708 * casefiddle.c (casify_region): Only call after-change and composition
8709 functions on the part of the region that was changed.
8710
8711 * keyboard.c (read_avail_input):
8712 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8713
87142008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8715
8716 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8717 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8718
87192008-02-11 Juanma Barranquero <lekktu@gmail.com>
8720
8721 * w32menu.c (push_submenu_start, push_submenu_end)
8722 (push_left_right_boundary, push_menu_pane, push_menu_item):
8723 * keyboard.c (read_key_sequence): Don't pass args with side effects
8724 to AREF, it fails when compiling with -DENABLE_CHECKING.
8725
87262008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8727
8728 * Makefile.in (${lispsource}international/charprop.el):
8729 Delete this target.
8730
8731 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8732 emacs-unicode-2.
8733
87342008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8735
8736 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8737
87382008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8739
8740 * frame.c (Qnoelisp): New symbol.
8741 (syms_of_frame): Initialize it.
8742 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8743 harmless Elisp code, from a strong `force' from x_connection_closed.
8744 * frame.h (Qnoelisp): Declare.
8745 * xterm.c (x_connection_closed): Pass `noelisp'.
8746
8747 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8748 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8749 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8750 rather than `int' for the type of `type'.
8751
87522008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8753
8754 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8755
8756 * Makefile.in (GNUC): Remove support for gcc-1.x.
8757
87582008-02-10 Richard Stallman <rms@gnu.org>
8759
8760 * lisp.h (ASET): Use AREF, not ASLOT.
8761
87622008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8763
8764 * lisp.h (ASET): Check bounds.
8765
87662008-02-10 Glenn Morris <rgm@gnu.org>
8767
8768 * buffer.c (mode-name): Doc fix.
8769
87702008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8771
8772 * Makefile.in:
8773 * emacs.c:
8774 * gmalloc.c:
8775 * keyboard.c:
8776 * lisp.h:
8777 * m/ibm370aix.h:
8778 * process.c:
8779 * regex.c:
8780 * s/hpux.h:
8781 * sysdep.c:
8782 * sysselect.h:
8783 * systty.h:
8784 * unexec.c:
8785 * w32term.c:
8786 * xsmfns.c:
8787 * xterm.c: Remove code that deals with obsolete variables.
8788
8789 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8790
8791 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8792 nothing else needs it anymore.
8793
87942008-02-09 Eli Zaretskii <eliz@gnu.org>
8795
8796 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8797 instead of unibyte_char_to_multibyte.
8798
87992008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8800
8801 * s/gnu-linux.h: Remove commented out code.
8802
8803 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8804
8805 * Makefile.in: Update what RMS says about using autoconf.
8806 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8807 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8808 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8809 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8810
88112008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8812
8813 * keymap.c (Fkey_description): Move side effect outside of macro call.
8814
8815 * xfaces.c (Finternal_make_lisp_face):
8816 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8817
8818 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8819 (syms_of_fontset): Use ASET.
8820
8821 * fns.c (concat): Move side effect outside of macro call.
8822 (hash_clear): Use ASET.
8823
88242008-02-08 Richard Stallman <rms@gnu.org>
8825
8826 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8827 If FORCE, and frame has a surrogate minibuffer for another frame,
8828 delete the other frame first.
8829
88302008-02-07 Timo Savola <timo.savola@iki.fi>
8831
8832 * xterm.c (x_detect_focus_change): Handle embed client message.
8833 (handle_one_xevent): Ditto.
8834 (handle_one_xevent): If embedded and we get a button press/release,
8835 request focus.
8836 (xembed_set_info, xembed_send_message): New functions.
8837 (x_make_frame_visible): Call xembed_set_info if embedded.
8838 (x_make_frame_invisible): Call xembed_set_info if embedded.
8839 (x_term_init): Initialize Xatom_XEMBED.
8840 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8841 (x_iconify_frame): Ditto.
8842
8843 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8844 (enum xembed_info, enum xembed_message, enum xembed_focus)
8845 (enum xembed_modifier, enum xembed_accelerator): New.
8846 (xembed_set_info, xembed_send_message): Declare.
8847 (FRAME_X_EMBEDDED_P): New.
8848
8849 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8850 gtk_plug_new.
8851
8852 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8853 window ID of a frame.
8854 (x_window): Reparent frame if embedded.
8855 (Fx_create_frame): Don't set border width if embedded.
8856
8857 * emacs.c (USAGE3): Add --parent-id.
8858 (standard_args): Ditto.
8859
88602008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8861
8862 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8863
88642008-02-07 Jim Meyering <meyering@redhat.com>
8865
8866 Use "do...while (0)", not "if (1)...else" in macro definitions.
8867 The latter provokes a warning from gcc about the empty else, when
8868 followed by ";". Also, without that trailing semicolon, it would
8869 silently swallow up any following statement.
8870 * syntax.h (SETUP_SYNTAX_TABLE)
8871 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8872 * buffer.h (DECODE_POSITION): Likewise.
8873 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8874 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8875 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8876 (FETCH_CHAR_ADVANCE): Likewise.
8877 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8878
88792008-02-07 Jim Meyering <meyering@redhat.com>
8880
8881 * lread.c [lint]: Don't include <sys/inode.h>.
8882
88832008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8884
8885 * xselect.c (x_handle_dnd_message):
8886 * xmenu.c (digest_single_submenu, xmenu_show):
8887 * xdisp.c (with_echo_area_buffer_unwind_data)
8888 (format_mode_line_unwind_data, unwind_format_mode_line)
8889 (display_menu_bar):
8890 * eval.c (Ffetch_bytecode):
8891 * doc.c (store_function_docstring):
8892 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8893 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8894 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8895
88962008-02-07 Kenichi Handa <handa@m17n.org>
8897
8898 * ftxfont.c (ftxfont_open): Don't set
8899 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8900
8901 * ftfont.c (ftfont_open): Fix previous change.
8902
89032008-02-06 Jason Rumney <jasonr@gnu.org>
8904
8905 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8906 Use cached metrics for ASCII characters.
8907 (w32font_open_internal): Don't set font's owning_frame.
8908 Cache metrics for ASCII characters.
8909
8910 * w32font.h (struct w32font_info): Add ascii_metrics.
8911 Remove owning_frame.
8912
89132008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8914
8915 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8916 to negative value.
8917
8918 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8919
8920 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8921
8922 * charset.c (syms_of_charset): Set QCtest and Qeq.
8923
89242008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8925
8926 * process.c (Fstart_process):
8927 * callproc.c (Fcall_process): Handle the case where
8928 Funhandled_file_name_directory returns nil.
8929
8930 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8931 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8932 * font.c (check_gstring): Use them and AREF to access the vector before
8933 we know it's really a gstring.
8934 (Ffont_shape_text): Fix typo.
8935 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8936
8937 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8938 Declare.
8939
8940 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8941
89422008-02-05 Jason Rumney <jasonr@gnu.org>
8943
8944 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8945 Set smallest_font_height and smallest_char_width in display info.
8946
89472008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8948
8949 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8950
89512008-02-05 Miles Bader <miles@gnu.org>
8952
8953 * xfaces.c (get_lface_attributes, merge_named_face)
8954 (lookup_named_face, lookup_derived_face, realize_named_face):
8955 Revert 2008-02-01 change by cyd@stupidchicken.com.
8956
89572008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8958
8959 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8960 fallback fonts.
8961 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8962
89632008-02-04 Jason Rumney <jasonr@gnu.org>
8964
8965 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8966 set full_name.
8967 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8968
89692008-02-03 Jason Rumney <jasonr@gnu.org>
8970
8971 * makefile.w32-in (OBJ1): Include font.o here.
8972 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8973
89742008-02-02 Jason Rumney <jasonr@gnu.org>
8975
8976 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8977
89782008-02-01 Jason Rumney <jasonr@gnu.org>
8979
8980 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8981
8982 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8983
89842008-02-01 Andreas Schwab <schwab@suse.de>
8985
8986 * Makefile.in (shortlisp, lisp): Update for rename of
8987 ../lisp/language/myanmar.el.
8988
89892008-02-01 Chong Yidong <cyd@stupidchicken.com>
8990
8991 * xfaces.c (get_lface_attributes): Delete function.
8992 (merge_named_face, lookup_named_face, lookup_derived_face)
8993 (realize_named_face): Call lface_from_face_name directly, and use
8994 the fact that merge_face_vectors does not alter its FROM argument.
8995
89962008-02-01 Jason Rumney <jasonr@gnu.org>
8997
8998 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8999 input in the default locale. Handle non-Unicode multibyte input.
9000
90012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9002
9003 * fontset.c (reorder_font_vector): Exclude nil elements from the
9004 font group. Don't try multiple fonts.
9005 (fontset_font): Adjust for the above change.
9006 (Finternal_char_font): Return nil if the found font doesn't
9007 contain the character ch.
9008
9009 * Makefile.in (lisp, shortlisp): Add cham.el.
9010
90112008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9012
9013 * font.h (FONTP): Make it return 1 also for a font-object.
9014
9015 * .gdbinit (xfontset): New function.
9016
9017 * font.c (font_find_for_lface): Check if the character C is
9018 supported or not only for the first font.
9019
9020 * fontset.c (reorder_font_vector): Fix typo.
9021 (fontset_find_font): Don't add a font-spec specifying a script.
9022 Use 0 (not Qt) for the indication of empty font-group. Change the
9023 format of RFONT-DEF. Return Qt if no font in the font-group
9024 support the character.
9025 (fontset_font): Adjust for the above change. If no font was
9026 found the character, remember that.
9027 (face_for_char): Adjust for the change of RFONT-DEF.
9028 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
9029 no font for the target.
9030 (Finternal_char_font): Adjust for the change of RFONT-DEF.
9031
90322008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9033
9034 * font.c (font_load_for_face): Handle the case that the font in
9035 face->lface is a string.
9036
90372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9038
9039 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
9040
90412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9042
9043 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
9044 Fix previous change. If the frame is not on a window system,
9045 signal an error.
9046
90472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9048
9049 * coding.c (decode_coding_object, encode_coding_object): Adjust
9050 marker positions after conversion.
9051
9052 * lisp.h (struct Lisp_Marker): New member need_adjustment.
9053
90542008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9055
9056 * font.c (font_find_for_lface): Fix the handling of the return
9057 value of font_has_char.
9058 (Ffont_shape_text): Fix previous change.
9059
9060 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
9061 (fontset_ref_and_range): Delete it.
9062 (fontset_find_font): Call char_table_ref_and_range instead of
9063 FONTSET_REF_AND_RANGE.
9064 (make_fontset): Don't setup font groups of Latin here.
9065 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
9066 (new_fontset_from_font): Make the specified font the default for
9067 all Latin characters.
9068
90692008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9070
9071 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
9072 is on a window system before accessing the fontset of the frame.
9073
90742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9075
9076 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9077
9078 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9079 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9080
9081 * font.c (Ffont_shape_text): If the font driver doesn't have a
9082 shaper function, make zero-width glyphs to have at least one-pixel
9083 width. Fix setting of `to' field of glyphs.
9084
90852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9086
9087 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9088 glyphs.
9089
9090 * font.h (struct font_driver): Improve docstring of member `shape'.
9091
90922008-02-01 Kenichi Handa <handa@m17n.org>
9093
9094 * composite.c (syms_of_composite): Fix docstring of
9095 auto-composition-function.
9096
9097 * font.h (LGLYPH_SIZE): New macro.
9098
9099 * font.c (Ffont_fill_gstring): Stop filling when a character not
9100 supported by the font is found.
9101 (Ffont_shape_text): When a shape callback function returns nil,
9102 try at most two more times with larger gstring.
9103 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9104
9105 * xdisp.c (handle_auto_composed_prop): Change the argument to
9106 auto-composition-function.
9107
9108 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9109 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9110 Lispy glyph and store it in the lgstring.
9111
9112 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9113
9114 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9115
91162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9117
9118 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9119
9120 * fontset.c (Vfont_encoding_charset_alist): New variable.
9121 (syms_of_fontset): DEFVAR it.
9122 (reorder_font_vector, fontset_find_font): Optimize for the case of
9123 no need of reordering.
9124 (face_for_char): Map the charset property by
9125 Vfont_encoding_charset_alist.
9126
91272008-02-01 Jason Rumney <jasonr@gnu.org>
9128
9129 * w32font.c (logfonts_match): Don't check adstyle here.
9130 (font_matches_spec): Check here against physical font instead.
9131 (add_font_entity_to_list): Avoid some substitutions.
9132
9133 * font.c (font_parse_fcname): Default weight and slant to normal.
9134 (font_score): Prefer normal fonts if weight or slant unspecified.
9135 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9136 match freetype scores.
9137
91382008-02-01 Jason Rumney <jasonr@gnu.org>
9139
9140 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9141 font, as it may have been deleted.
9142 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9143 most common hyphenless variation.
9144 (logfonts_match): Check generic family.
9145 (font_matches_spec): Don't check generic family here.
9146 (fill_in_logfont): Set generic family based on adstyle.
9147
9148 * w32font.h (w32font_get_cache): Update declaration.
9149
91502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9151
9152 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9153
9154 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9155 If none of the new drivers are available, call font_update_drivers
9156 with the old drivers.
9157
9158 * w32font.c (w32font_get_cache): Adjust the argument type.
9159
9160 * xfont.c (xfont_get_cache): Adjust the argument type.
9161
9162 * font.h (struct font_driver): Change argument type of get_cache.
9163
9164 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9165
9166 * font.c (Ffont_get): Fix arguments to Fassoc.
9167 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9168 (font_clear_cache): New function.
9169 (font_list_entities, font_matching_entity): Use font_get_cache.
9170 (font_update_drivers): Call font_clear_cache when finishing a driver.
9171
9172 * fontset.c (fontset_find_font): Fix previous change.
9173
91742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9175
9176 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9177 dpyinfo->font_table.
9178 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9179 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9180
9181 * font.c (font_at): Handle the case that the arg C is negative.
9182 Handle the unibyte case.
9183 (Ffont_at): Call font_at with the arg C -1.
9184
9185 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9186 the position here, and call font_at with the arg C -1.
9187 Don't check the range of the existing composition at the point.
9188
91892008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9190
9191 * fontset.c (fontset_add): New args charset_id and family.
9192 Change caller.
9193 (load_font_get_repertory, fontset_find_font): Assume that
9194 font_spec is always a font-spec object.
9195 (Fset_fontset_font): Always store a font-spec object in a fontset.
9196
9197 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9198 instead of get_property_and_range.
9199
92002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9201
9202 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9203 (xftfont_open): Don't keep locking face.
9204 (xftfont_close): Don't unlock face.
9205 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9206
9207 * fontset.c (fontset_find_font): Don't prefer a font of
9208 supplementary charset.
9209
92102008-02-01 Kenichi Handa <handa@m17n.org>
9211
9212 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9213 script, langsys_tag to langsys, new member script.
9214 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9215 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9216 listing to the script specified in that property. Fix arg to
9217 OTF_check_features.
9218
92192008-02-01 Jason Rumney <jasonr@gnu.org>
9220
9221 * w32font.h: New file.
9222
9223 * w32font.c: Include it.
9224 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9225 (w32font_open): Set owning_frame.
9226 (w32font_text_extents): Use owning_frame.
9227 (struct font_callback_data): Add opentype_only field.
9228 (add_font_entity_to_list): Use it to filter fonts.
9229 Don't check against full name.
9230 (w32font_list_internal): New function.
9231 (w32font_list): Use it.
9232 (w32font_match_internal): New function.
9233 (w32font_match): Use it.
9234 (w32font_open_internal): New function.
9235 (w32font_open): Use it.
9236 (w32font_get_cache, w32font_close, w32font_has_char)
9237 (w32font_encode_char, w32font_text_extents, w32font_draw):
9238 Make non-static.
9239
9240 * makefile.w32-in (w32font.o): Depend on w32font.h.
9241
92422008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9243
9244 * charset.c (Fdefine_charset_internal): Record a supplementary
9245 charset at the tail of Vcharset_order_list.
9246
9247 * font.c (Ffont_shape_text): Fix the return value.
9248
9249 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9250
9251 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9252
92532008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9254
9255 * ftfont.c (struct OpenTypeSpec): New struct.
9256 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9257 (ftfont_get_open_type_spec): New function.
9258 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9259
9260 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9261
92622008-02-01 Jason Rumney <jasonr@gnu.org>
9263
9264 * w32font.c (add_font_entity_to_list): Compare only the beginning
9265 of full name.
9266
92672008-02-01 Kenichi Handa <handa@m17n.org>
9268
9269 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9270 Never return HANDLED_RECOMPUTE_PROPS.
9271
92722008-02-01 Kenichi Handa <handa@m17n.org>
9273
9274 * font.c (font_gstring_produce): Delete it.
9275
9276 * composite.h (COMPOSITION_METHOD):
9277 Handle COMPOSITION_WITH_GLYPH_STRING.
9278
92792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9280
9281 * xfont.c (Qx): Delete.
9282 (syms_of_xfont): Don't initialize Qx.
9283
9284 * composite.h (enum composition_method):
9285 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9286
92872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9288
9289 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9290 (choose_face_font): Accept new form of font-spec.
9291
9292 * frame.h (font_driver_list): Declare it unconditionally.
9293 (struct frame): Define members font_driver_list and font_data_list
9294 unconditionally.
9295
9296 * fontset.c: Include "font.h" unconditionally.
9297 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9298 (Fset_fontset_font): Accept a font-spec object.
9299
9300 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9301 PIXEL_SIZE part a wild card.
9302
9303 * dispextern.h (struct glyph_string): Define members clip and
9304 num_clips unconditionally.
9305 (struct face): Define members font_info and extra unconditionally.
9306
9307 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9308 ftfont_info only when HAVE_LIBOTF is defined.
9309
93102008-02-01 Andreas Schwab <schwab@suse.de>
9311
9312 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9313 and end.
9314
93152008-02-01 Jason Rumney <jasonr@gnu.org>
9316
9317 * w32font.c (w32font_driver): Add new fields.
9318
93192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9320
9321 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9322 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9323 (LIBES): Add @M17N_FLT_CFLAGS@.
9324
9325 * composite.c (compose_text): Don't treat the new style
9326 composition specially.
9327
9328 * emacs.c (main): Call syms_of_font unconditionally.
9329
9330 * font.h (FONT_ENTITY_NOT_LOADABLE)
9331 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9332 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9333 (struct font_driver): New member shape.
9334 (font_registry_charsets): Extern it.
9335 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9336 (font_otf_capability, font_drive_otf): Delete their externs.
9337
9338 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9339 (font_charset_alist, font_registry_charsets): Move from xfont.c
9340 and rename.
9341 (font_prop_validate_otf): New function.
9342 (font_property_table): Register it for QCotf.
9343 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9344 (font_drive_otf): Delete.
9345 (font_prepare_composition): New arg F. Adjust for the change of
9346 lispy gstring.
9347 (font_find_for_lface): New arg C.
9348 (font_load_for_face): Adjust for the change of font_find_for_lface.
9349 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9350 lispy gstring.
9351 (Ffont_shape_text): New function.
9352 (Fopen_font): If the font size is not given, use 12-pixel.
9353 (Ffont_at): New arg STRING.
9354 (syms_of_font): Initalize font_charset_alist.
9355 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9356 conditionally.
9357
9358 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9359 fonts of the same font-spec. Change the format of RFONT-DEF.
9360 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9361 Adjust for the change of RFONT-DEF.
9362 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9363
9364 * ftfont.h: New file.
9365
9366 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9367 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9368 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9369 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9370 font_otf_capability and font_drive_otf, set ftfont_shape.
9371 (ftfont_list): Adjust for the change of :otf property value.
9372 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9373 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9374 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9375 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9376 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9377 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9378
9379 * w32term.c (x_draw_composite_glyph_string_foreground):
9380 Adjust for the change of lispy gstring.
9381
9382 * xdisp.c (handle_composition_prop): Adjust for the change of
9383 lispy gstring. Call a function for auto-composition with the
9384 third arg it->window.
9385 (fill_composite_glyph_string): Adjust for the change of lispy string.
9386 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9387
9388 * xfaces.c (set_font_frame_param): Adjust for the change of
9389 font_find_for_lface.
9390
9391 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9392 (xfont_registry_charsets): Likewise. Change caller.
9393 (syms_of_xfont): Don't handle x_font_charset_alist.
9394
9395 * xftfont.c: Include "ftfont.h".
9396 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9397 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9398 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9399 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9400 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9401 Set xftfont_driver.shape to xftfont_shape.
9402
9403 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9404 the change of lispy gstring.
9405
94062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9407
9408 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9409
94102008-02-01 Jason Rumney <jasonr@gnu.org>
9411
9412 * w32font.c (w32font_draw): Fill background manually.
9413
94142008-02-01 Jason Rumney <jasonr@gnu.org>
9415
9416 * font.c (Qfontp): Remove unused symbol.
9417 (QCantialias): New symbol.
9418 (syms_of_font): Define it.
9419 (font_property_table): Set a validator for QCantialias.
9420
9421 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9422 Define if not already.
9423 (QCfamily): Share with xfaces.c.
9424 (Qstandard, Qsubpixel, Qnatural): New symbols.
9425 (syms_of_w32font): Define them. Don't define QCfamily here.
9426 (w32_antialias_type, lispy_antialias_type): New functions.
9427 (w32_enumfont_pattern_entity): New arg requested_font.
9428 Set antialias parameter if non-default was requested.
9429 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9430
94312008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9432
9433 * lread.c (read1): Undo the previous change.
9434
94352008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9436
9437 * frame.c (Fdelete_frame): Call font_update_drivers only when
9438 USE_FONT_BACKEND is defined.
9439
94402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9441
9442 * font.h (struct font_bitmap): New member bits_per_pixel.
9443 (struct font_driver): New members start_for_frame and end_for_frame.
9444 (struct font_data_list): New struct.
9445 (font_put_frame_data, font_get_frame_data): Extern them.
9446
9447 * frame.h (struct frame): New member font_data_list.
9448
9449 * font.c (font_update_drivers): Call driver->start_for_frame and
9450 driver->end_for_frame at proper timings.
9451 (font_put_frame_data, font_get_frame_data): New functions.
9452 (Ffont_spec): Add usage in the docstring.
9453
9454 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9455 (Fdelete_frame): Call font_update_drivers.
9456
9457 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9458 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9459 (xftfont_get_xft_draw): New function.
9460 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9461 (xftfont_end_for_frame): New function.
9462 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9463
9464 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9465 Change argument. Cache GCs in the per-frame data.
9466 (struct ftxfont_frame_data): New struct.
9467 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9468 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9469 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9470 (ftxfont_end_for_frame): New function.
9471 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9472
9473 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9474
94752008-02-01 Kenichi Handa <handa@m17n.org>
9476
9477 * xselect.c (Vselection_coding_system)
9478 (Vnext_selection_coding_system): Delete them.
9479 (syms_of_xselect): Don't declare selection-coding-system and
9480 next-selection-coding-system. They are declared in select.el.
9481
94822008-02-01 Jason Rumney <jasonr@gnu.org>
9483
9484 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9485
9486 * w32fns.c: Include imm.h.
9487 (get_composition_string_fn, get_ime_context_fn): New optional
9488 system functions.
9489 (globals_of_w32fns): Load them from imm32.dll.
9490 (ignore_ime_char): New flag.
9491 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9492 WM_IME_ENDCOMPOSITION messages.
9493
9494 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9495 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9496
94972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9498
9499 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9500 (READCHAR_REPORT_MULTIBYTE): New macro.
9501 (readchar): New 2nd arg MULTIBYTE.
9502 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9503 Make symbol's name multibyte according to the multibyteness of the
9504 source.
9505
95062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9507
9508 * xfaces.c (face_for_overlay_string): Call lookup_face with
9509 correct arguments (fix of synching with the trunk).
9510
95112008-02-01 Kenichi Handa <handa@m17n.org>
9512
9513 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9514 (font_prop_validate_non_neg, font_prop_validate_spacing):
9515 Delete argument prop_index.
9516 (font_property_table): Change arguments to validater. Change Callers.
9517 (font_lispy_object): Delete.
9518 (font_at): Use font_find_object instead fo font_lispy_object.
9519
95202008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9521
9522 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9523 and file names.
9524
95252008-02-01 Jason Rumney <jasonr@gnu.org>
9526
9527 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9528 (font_matches_spec): Remove debug output.
9529 (add_font_entity_to_list): Avoid using substituted fonts.
9530
95312008-02-01 Jason Rumney <jasonr@gnu.org>
9532
9533 * doc.c (Fsnarf_documentation):
9534 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9535
95362008-02-01 Miles Bader <miles@gnu.org>
9537
9538 * dispextern.h (struct glyph_row): Only define "clip" field if
9539 HAVE_WINDOW_SYSTEM is defined.
9540
95412008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9542
9543 Fix up multi-tty merge.
9544
9545 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9546 and indentation.
9547
9548 * xfaces.c (free_realized_face, clear_face_gcs):
9549 Include font_done_for_face in the input_blocked section, just in case.
9550
9551 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9552 (get_char_face_and_encoding): Undo last change and remove the *other*
9553 duplicate definition (i.e. keep the one that's better scoped and that
9554 includes code for the font-backend).
9555
9556 * terminal.c (create_terminal): Default keyboard_coding to
9557 `no-conversion' and terminal_coding to `undecided'.
9558
9559 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9560
9561 * fontset.c (free_realized_fontsets): Check that the table entry does
9562 contain a fontset before trying to compare it to `base'.
9563
9564 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9565 syms_of_charset, and syms_of_coding earlier because init_window_once
9566 now needs Vcoding_system_hash_table to be setup.
9567
9568 * coding.h (default_buffer_file_coding): Remove.
9569
9570 * coding.c (default_buffer_file_coding): Remove.
9571 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9572 than ->symbol, and use the terminal-local coding system.
9573 (syms_of_coding): Don't setup the coding-systems that are not
9574 terminal-local.
9575 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9576
9577 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9578 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9579
9580 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9581 in chartab.c and were re-added here by mistake.
9582 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9583
9584 * doc.c (Fsnarf_documentation):
9585 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9586 src to etc.
9587
9588 * ChangeLog.10: Add mistakenly removed entry.
9589
95902008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9591
9592 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9593
95942008-02-01 Miles Bader <miles@gnu.org>
9595
9596 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9597 Add extra args to FACE_FOR_CHAR.
9598
95992008-02-01 Kenichi Handa <handa@m17n.org>
9600
9601 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9602 in sequence.
9603
9604 * chartab.c (map_sub_char_table, map_char_table): If the range
9605 contains just one character, call the function with that character
9606 even if the depth is not 3.
9607
96082008-02-01 Jason Rumney <jasonr@gnu.org>
9609
9610 * w32font.c (w32font_text_extents): Calculate metrics for the
9611 whole string.
9612
96132008-02-01 Jason Rumney <jasonr@gnu.org>
9614
9615 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9616
96172008-02-01 Jason Rumney <jasonr@gnu.org>
9618
9619 * w32term.c (x_set_glyph_string_clipping): Use
9620 get_glyph_string_clip_rects.
9621 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9622 Adjust for the change of struct glyph_string.
9623
9624 * w32font.c (w32font_draw): Do clipping here.
9625
96262008-02-01 Kenichi Handa <handa@m17n.org>
9627
9628 * xftfont.c (xftfont_draw): Adjust for the change of struct
9629 glyph_string.
9630
9631 * xterm.c (x_set_glyph_string_clipping): Use
9632 get_glyph_string_clip_rects.
9633 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9634 Adjust for the change of struct glyph_string.
9635
9636 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9637 the resulting clip(s}.
9638 (expose_overlaps): Add arg r. Change callers. Set it to
9639 row->clip temporarily.
9640 (expose_window): Redraw rows overlapping the exposed area.
9641
9642 * dispextern.h (struct glyph_row): New member clip.
9643 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9644 clip_height, new member clip, and num_clips.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * data.c (Fchar_or_string_p): Fix docstring.
9649
96502008-02-01 Kenichi Handa <handa@m17n.org>
9651
9652 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9653 create a temporary XftDraw object.
9654
96552008-02-01 Kenichi Handa <handa@m17n.org>
9656
9657 * font.c (Ffontp): Fix docstring.
9658
9659 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9660 strong evidence of ISO-2022.
9661
96622008-02-01 Kenichi Handa <handa@m17n.org>
9663
9664 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9665 SYNTAX_ENTRY_FOLLOW_PARENT.
9666
96672008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9668
9669 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9670 its type.
9671 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9672 Update to the new type of weak_hash_tables and next_weak.
9673
9674 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9675 a plain C pointer to Lisp_Hash_Table.
9676
9677 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9678 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9679 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9680 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9681 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9682 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9683 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9684 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9685 (GC_EQ): Remove since they've been identical to their non-GC_
9686 alter-egos ever since the markbit was eradicated.
9687
9688 * alloc.c:
9689 * buffer.c:
9690 * buffer.h:
9691 * data.c:
9692 * fileio.c:
9693 * filelock.c:
9694 * fns.c:
9695 * frame.h:
9696 * lisp.h:
9697 * macterm.c:
9698 * print.c:
9699 * process.c:
9700 * w32fns.c:
9701 * w32menu.c:
9702 * w32term.c:
9703 * xfns.c:
9704 * xmenu.c:
9705 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9706
97072008-02-01 Kenichi Handa <handa@m17n.org>
9708
9709 * chartab.c (map_sub_char_table): Make it work for the top-level
9710 char-table. Fix handling of parent char-table.
9711 (map_char_table): Adjust for the above change.
9712
97132008-02-01 Jason Rumney <jasonr@gnu.org>
9714
9715 * w32font.c (Qgdi): Rename from Qw32.
9716
97172008-02-01 Jason Rumney <jasonr@gnu.org>
9718
9719 * w32bdf.c (get_quoted_string): Make function static.
9720
97212008-02-01 Kenichi Handa <handa@m17n.org>
9722
9723 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9724 bigger ascent and descent than those of the font, use them as
9725 font's ascent and descent.
9726
97272008-02-01 Kenichi Handa <handa@m17n.org>
9728
9729 * Makefile.in (${lispsource}international/charprop.el): Move this
9730 target within "#ifdef HAVE_UNIDATA" and "#endif".
9731
97322008-02-01 Kenichi Handa <handa@m17n.org>
9733
9734 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9735 (shortlisp): Add ../lisp/language/tai-viet.el.
9736
97372008-02-01 Ulrich Mueller <ulm@gentoo.org>
9738
9739 * Makefile.in (${lispsource}international/charprop.el): Depend on
9740 temacs${EXEEXT}.
9741
97422008-02-01 Jason Rumney <jasonr@gnu.org>
9743
9744 * w32font.c (w32font_close): Delete the GDI font object.
9745
9746 * w32menu.c: Include character.h.
9747
9748 * w32proc.c: Likewise.
9749
9750 * w32select.c: Likewise.
9751
9752 * makefile.w32-in (w32proc.o): Depend on character.h.
9753
97542008-02-01 Jason Rumney <jasonr@gnu.org>
9755
9756 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9757
9758 * w32menu.c (syms_of_w32menu): Likewise.
9759
9760 * w32proc.c (syms_of_ntproc): Likewise.
9761
9762 * w32select.c (syms_of_w32select): Likewise.
9763
9764 * w32term.c (syms_of_w32term): Likewise.
9765
97662008-02-01 Jason Rumney <jasonr@gnu.org>
9767
9768 * w32font.c (w32font_draw): Delete brush after using it.
9769
97702008-02-01 Jason Rumney <jasonr@gnu.org>
9771
9772 * w32font.c (w32font_open): Don't set font_idx.
9773 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9774 to font settings.
9775 (w32font_draw): Fill background explicitly.
9776
97772008-02-01 Jason Rumney <jasonr@gnu.org>
9778
9779 * w32term.c (w32_initialize): Don't call w32font_initialize.
9780
9781 * w32font.c (w32font_info): Remove subranges.
9782 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9783 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9784 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9785 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9786 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9787 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9788 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9789 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9790 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9791 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9792 New symbols.
9793 (font_callback_data): New struct.
9794 (w32font_list, w32font_match): Use it.
9795 (w32font_open): Don't populate subranges.
9796 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9797 (w32font_encode_char): Always return unicode code-point as-is.
9798 (w32font_text_extents): Supply a transformation matrix to
9799 GetGlyphOutline. Never look up by glyph index. Avoid looping
9800 twice. Use unicode version of GetTexExtentPoint32 instead of
9801 glyph index version.
9802 (set_fonts_frame): Remove.
9803 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9804 set frame parameter. Use backward compatible fake foundries.
9805 Save generic family in extra slot under QCfamily. Make width slot
9806 constant. Save QCspacing value. Save list of scripts instead of
9807 binary subranges.
9808 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9809 (add_font_entity_to_list): Use font_callback_data struct. Filter
9810 unwanted fonts.
9811 (add_one_font_entity_to_list): Use font_callback_data struct.
9812 (w32_registry): Default to iso10646_1.
9813 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9814 string font registries. Don't fill in font name if it is a generic
9815 family name, fill family instead. Use spacing, family and script
9816 extra info to fill pitch, family and charset fields.
9817 (list_all_matching_fonts): Use font_callback_data struct.
9818 (unicode_range_for_char): Remove.
9819 (font_supported_scripts): New function.
9820 (w32font_initialize): Remove.
9821 (syms_of_w32font): Update which symbols are defined.
9822
98232008-02-01 Jason Rumney <jasonr@gnu.org>
9824
9825 * font.c (font_pixel_size): Reverse assq_no_quit args.
9826
9827 * w32term.h (FONT_WIDTH): Report max width, not average.
9828 (FONT_MAX_WIDTH): Remove.
9829 (FONT_AVG_WIDTH): New macro.
9830
9831 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9832 redefinition of FONT_WIDTH.
9833
9834 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9835 (w32_cache_char_metrics): Use FONT_WIDTH.
9836
9837 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9838
98392008-02-01 Jason Rumney <jasonr@gnu.org>
9840
9841 * w32font.c (w32font_open): Make lfHeight negative.
9842
9843 * w32fns.c (x_default_font_parameter): Use new style font name.
9844 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9845
98462008-02-01 Jason Rumney <jasonr@gnu.org>
9847
9848 * w32font.c (QCsubranges): New symbol.
9849 (w32font_open, w32font_has_char): Get subranges from subproperty
9850 of extra.
9851 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9852 (syms_of_w32font): Define :subranges symbol.
9853
9854 * font.c (font_put_extra): Expose externally.
9855
9856 * font.h (font_put_extra): Move declaration from font.c.
9857
9858 * font.c (Ffont_get): Use font driver to determine otf capability.
9859 (adjust_anchor): Check if driver defines anchor_point before using.
9860
9861 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9862 (w32font_draw): Use options.
9863 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9864 Fix detection of truetype fonts.
9865 (registry_to_w32_charset): Handle charsets other than iso8859-1
9866 expressed as lisp symbols.
9867 (w32_registry): Express charset as lisp symbol.
9868 (fill_in_logfont): Reverse pixel and point height logic.
9869 Don't set width here. Set quality to default.
9870
9871 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9872 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9873
9874 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9875 Remove redundant loop and allocation.
9876
9877 * makefile.w32-in (font.o, w32font.o): New objects.
9878 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9879 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9880
9881 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9882 STORE_XCHARB a valid l-value.
9883
9884 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9885 calculations for non-Truetype fonts.
9886 (x_draw_glyph_string): Sync with xterm.c.
9887 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9888 Remove redundant code.
9889 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9890
9891 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9892 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9893
9894 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9895 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9896
9897 * w32font.c: New file for w32 font backend.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * term.c: Don't include "buffer.h" twice.
9902
99032008-02-01 Kenichi Handa <handa@m17n.org>
9904
9905 * character.c (Funibyte_string): New function.
9906 (syms_of_character): Defsubr it.
9907
99082008-02-01 Jason Rumney <jasonr@gnu.org>
9909
9910 * w32term.c [USE_FONT_BACKEND]:
9911 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9912 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9913 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9914 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9915 (x_free_frame_resources): Sync with xterm.c.
9916
99172008-02-01 Andreas Schwab <schwab@suse.de>
9918
9919 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9920 char-table size.
9921
99222008-02-01 Kenichi Handa <handa@m17n.org>
9923
9924 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9925
99262008-02-01 Kenichi Handa <handa@m17n.org>
9927
9928 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9929 font_otf_gpos, add font_drive_otf.
9930
9931 * fontset.c (fontset_find_font): Pay attention to font size
9932 specified for a font.
9933 (reorder_font_vector): Check contents of font_def.
9934
9935 * font.c (struct otf_list): Delete it.
9936 (otf_list): Make it a lisp variable.
9937 (otf_open): Use lispy otf_list.
9938 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9939 (check_otf_features): New function.
9940 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9941 New functions.
9942 (font_drive_otf): New function merging font_otf_gsub and
9943 font_otf_gpos.
9944 (font_open_for_lface): New arg spec. Change argument order.
9945 (font_load_for_face): Adjust for the change of font_open_for_lface.
9946 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9947 Ffont_otf_gpos.
9948 (syms_of_font): Staticpro otf_list. Delete defsubr of
9949 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9950
9951 * xfaces.c (set_font_frame_param): Adjust for the change of
9952 font_open_for_lface.
9953
9954 * font.h (font_open_for_lface): Adjust prototype.
9955 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9956 member otf_drive.
9957 (font_otf_gsub, font_otf_gpos): Delete externs.
9958 (font_drive_otf): Extern it.
9959
99602008-02-01 Kenichi Handa <handa@m17n.org>
9961
9962 * font.c (font_at): If the window W is not on a window system,
9963 return Qnil.
9964
9965 * coding.c (produce_chars, encode_coding): Don't call
9966 insert_from_gap if no characters to produce.
9967
99682008-02-01 Kenichi Handa <handa@m17n.org>
9969
9970 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9971 Fclear_face_cache.
9972
9973 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9974
99752008-02-01 Miles Bader <miles@gnu.org>
9976
9977 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9978 Parse "--disable-font-backend" option.
9979 (standard_args): Add "--disable-font-backend" option.
9980
99812008-02-01 Kenichi Handa <handa@m17n.org>
9982
9983 * fontset.c (fontset_find_font): New function.
9984 (fontset_font): Use fontset_find_font.
9985 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9986 Register the specified font for all Latin characters.
9987 (new_fontset_from_font): Register the specified font for all Latin
9988 characters.
9989 (dump_fontset): For a realized fontset, include the base fontset
9990 name in the returned vector.
9991
99922008-02-01 Kenichi Handa <handa@m17n.org>
9993
9994 * character.h (CHAR_STRING): Cast C to unsigned on calling
9995 char_string.
9996
9997 * character.c (char_string): Type of arg C changed to unsigned.
9998 Signal an error if C is an invalid character code.
9999
10000 * editfns.c (general_insert_function, Fchar_to_string):
10001 Use CHARACTERP, not INTEGERP.
10002
100032008-02-01 Kenichi Handa <handa@m17n.org>
10004
10005 * character.h (MIN_MULTIBYTE_LEADING_CODE)
10006 (MAX_MULTIBYTE_LEADING_CODE): New macros.
10007
10008 * regex.c (analyse_first): Fix for multibyte characters in "case
10009 charset:" and "case categoryspec:".
10010
100112008-02-01 Andreas Schwab <schwab@suse.de>
10012
10013 * Makefile.in (LIBES): Move standard libraries to the end.
10014
100152008-02-01 Kenichi Handa <handa@m17n.org>
10016
10017 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
10018 nonzero, don't shrink the buffer nextb.
10019
10020 * buffer.h (struct buffer_text): New member inhibit_shrinking.
10021
10022 * coding.c (coding_alloc_by_making_gap): New arg offset.
10023 (alloc_destination): Call coding_alloc_by_making_gap with the arg
10024 offset.
10025 (decode_coding_iso_2022): Update coding->safe_charsets.
10026 (decode_coding_gap): Temporarily set
10027 current_buffer->text->inhibit_shrinking to 1.
10028
100292008-02-01 Kenichi Handa <handa@m17n.org>
10030
10031 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
10032 indexing into elements of s->cmp and s->char2b.
10033
100342008-02-01 Juanma Barranquero <lekktu@gmail.com>
10035
10036 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
10037
100382008-02-01 Kenichi Handa <handa@m17n.org>
10039
10040 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
10041 target_multibyte instead of multibyte.
10042 (re_match_2_internal): Call bcmp_translate with target_multibyte.
10043 (bcmp_translate): Change the argument name from multibyte to
10044 target_multibyte.
10045
100462008-02-01 Kenichi Handa <handa@m17n.org>
10047
10048 These changes are to compile a regexp into a pattern that can be
10049 used both for multibyte and unibyte targets.
10050
10051 * Makefile.in (search.o): Depend on charset.h.
10052
10053 * character.c (multibyte_char_to_unibyte_safe): New function.
10054
10055 * search.c: Include "charset.h".
10056 (compile_pattern_1): Delete argument multibyte. Don't set
10057 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
10058 (compile_pattern): Don't compare cp->buf.target_multibyte.
10059 Compare cp->buf.charset_unibyte.
10060 (compile_pattern): Set cp->buf.target_multibyte.
10061
10062 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
10063
10064 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
10065
10066 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
10067 multibyte. Change callers.
10068 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
10069 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
10070 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
10071 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
10072 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10073 (regex_compile): Make the compiled pattern usable both for
10074 multibyte and unibyte targets.
10075 (analyse_first): Make the fastmap usable both for multibyte and
10076 unibyte targets.
10077 (TRANSLATE_VIA_MULTIBYTE): Delete.
10078 (re_match_2_internal): Pay attention to the case that the
10079 multibyteness of bufp and target may be different.
10080
100812008-02-01 Kenichi Handa <handa@m17n.org>
10082
10083 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10084 empty box occupy at least one column width.
10085
100862008-02-01 Miles Bader <miles@gnu.org>
10087
10088 * Makefile.in: Remove redundant HAVE_XFT clause.
10089
100902008-02-01 Kenichi Handa <handa@m17n.org>
10091
10092 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10093
100942008-02-01 Kenichi Handa <handa@m17n.org>
10095
10096 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10097 being nil.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * search.c (simple_search): Fix previous change.
10110
101112008-02-01 Kenichi Handa <handa@m17n.org>
10112
10113 * xftfont.c (ftfont_font_format): Extern declaration.
10114
10115 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10116
10117 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10118 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10119
10120 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10121 (ftfont_font_format): Fix previous change.
10122
10123 * font.h (Ffont_xlfd_name): EXFUN it.
10124
10125 * font.c (font_parse_xlfd): Fix the array size of `f'.
10126 (register_font_driver): Use EQ to compare driver->type.
10127
10128 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10129 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10130 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10131
101322008-02-01 Kenichi Handa <handa@m17n.org>
10133
10134 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10135 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10136
101372008-02-01 Kenichi Handa <handa@m17n.org>
10138
10139 * xfont.c (xfont_open): Set font->format.
10140
10141 * xftfont.c (xftfont_open): Set font->format.
10142
10143 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10144 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10145 (ftfont_open): Set font->format.
10146 (ftfont_font_format): New function.
10147
10148 * font.h (struct font): New member format.
10149
10150 * font.c (Qopentype): New variable.
10151 (syms_of_font): Defsym it.
10152 (Fquery_font): Change the format of the last element of the return
10153 value.
10154
101552008-02-01 Kenichi Handa <handa@m17n.org>
10156
10157 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10158 last resort.
10159
101602008-02-01 Kenichi Handa <handa@m17n.org>
10161
10162 * coding.c (detect_coding_charset): Fix detection of multi-byte
10163 charset.
10164
101652008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10166
10167 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10168
101692008-02-01 Kenichi Handa <handa@m17n.org>
10170
10171 * xdisp.c (get_next_display_element): Set it->face_id for the
10172 first component of a composition.
10173 (x_produce_glyphs): Check if the font is changed or not for composition.
10174
101752008-02-01 Kenichi Handa <handa@m17n.org>
10176
10177 * fontset.c (Qlatin): New variable.
10178 (syms_of_fontset): Define it as a lisp symbol.
10179 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10180
101812008-02-01 Kenichi Handa <handa@m17n.org>
10182
10183 * font.c (font_unparse_fcname): Pay attention to the case that
10184 some of font property is a null string.
10185
101862008-02-01 Kenichi Handa <handa@m17n.org>
10187
10188 * term.c: Include "composite.h".
10189 (encode_terminal_code): Output all components of composition.
10190 Check the size of encode_terminal_src.
10191 (produce_glyphs): For composition, call produce_composite_glyph.
10192 (append_composite_glyph, produce_composite_glyph): New functions.
10193
10194 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10195 is not found, get font_info from the current ascii face.
10196
101972008-02-01 Kenichi Handa <handa@m17n.org>
10198
10199 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10200 buffer-file-name to Qnil before calling insert_from_buffer.
10201
10202 * font.c (font_unparse_fcname): Pay attention to the case that
10203 foundry is a null string.
10204
102052008-02-01 Kenichi Handa <handa@m17n.org>
10206
10207 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10208
10209 * font.c (Qunicode_sip): New variable.
10210 (syms_of_font): Declare it as a Lisp symbol.
10211
10212 * font.h (Qunicode_sip): Extern it.
10213
102142008-02-01 Kenichi Handa <handa@m17n.org>
10215
10216 * composite.c (get_composition_id): Pay attention to TAB component.
10217
10218 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10219 TAB. Adjust for the change of s->char2b which always points to
10220 the first element of allocated memory.
10221
10222 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10223
10224 * xdisp.c (handle_composition_prop): Set it->c to the first
10225 non-TAB component.
10226 (fill_composite_glyph_string): Change argument.
10227 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10228 (x_produce_glyphs): Fix handling of left/right padding.
10229
102302008-02-01 Kenichi Handa <handa@m17n.org>
10231
10232 * coding.c (detect_coding_system): Fix for handling off
10233 inhibit_iso_escape_detection. Fix for the case that no coding
10234 system is defined for a specific coding category.
10235
102362008-02-01 Kenichi Handa <handa@m17n.org>
10237
10238 * font.c (font_matching_entity): Delete unused local var.
10239
10240 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10241 opening a font.
10242
10243 * fileio.c (Finsert_file_contents): On recovering a file, assume
10244 Unix-like eol.
10245 (choose_write_coding_system): On auto-saving a file, force
10246 Unix-like eol.
10247
10248 * coding.c (setup_coding_system): Fix setting of
10249 coding->common_flags based on eol_type.
10250 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10251 inherit from it.
10252
102532008-02-01 Kenichi Handa <handa@m17n.org>
10254
10255 * alloc.c (NSTATICS): Increas to 0x600.
10256
102572008-02-01 Kenichi Handa <handa@m17n.org>
10258
10259 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10260 (ftfont_list): Don't check :name property.
10261 (ftfont_match): New function.
10262 (ftfont_pattern_entity): If the pattern doesn't contain
10263 FC_SPACING, don't assume FC_MONO.
10264
10265 * font.h (struct font_driver): New member `match'.
10266 (font_update_drivers): Adjust prototype.
10267
10268 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10269 property of FONT.
10270 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10271 them unconditionally.
10272 (font_matching_entity): New function.
10273 (font_open_by_name): Try font_matching_entity if exact match is
10274 not found.
10275 (font_update_drivers): Delete the arg FONT. Return a list of
10276 actually used backends. Don't free faces, font caches here.
10277 Don't store data in frame parameters. Don't call x_set_font.
10278 (Ffont_spec): Store :name property as is.
10279 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10280 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10281 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10282 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10283 Call font->driver->otf_gsub instead of font_otf_gsub.
10284
10285 * frame.c (x_set_font_backend): Do more works that were done in
10286 font_update_drivers before.
10287
10288 * xfont.c (xfont_match): New function.
10289 (xfont_driver): Set xfont_driver.match to xfont_match.
10290 (xfont_draw): Set font in GC if necessary.
10291
10292 * ftxfont.c (ftxfont_match): New function.
10293 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10294
10295 * xftfont.c (xftfont_match): New function.
10296 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10297
102982008-02-01 Kenichi Handa <handa@m17n.org>
10299
10300 * font.h (struct font): New member scalable.
10301 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10302 (font_otf_gsub): Adjust prototype.
10303
10304 * font.c (font_otf_capability): Fix handling of the default langsys.
10305 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10306 Check the contents of SPEC.
10307 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10308 (check_gstring): New function.
10309 (REPLACEMENT_CHARACTER): New macro.
10310 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10311 glyph codes of GSTRING.
10312 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10313 (font_prepare_composition): Set cmp->glyph_len.
10314 (font_open_entity): Set font->scalable.
10315 (Ffont_get): Handle :otf property.
10316 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10317 functions.
10318 (Fquery_font): Use font->font.full_name.
10319 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10320 Sfont_otf_alternates.
10321
10322 * ftfont.c (ftfont_open): Set font->font.full_name and
10323 font->font.name properly. Fix calculation of font->font.height
10324 and font->min_width.
10325
10326 * ftxfont.c (ftxfont_create_gcs): New function.
10327 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10328 (ftxfont_draw_backgrond): Fix filling region.
10329 (ftxfont_default_fid): New function.
10330 (ftxfont_open): Set xfont->fid to the return value of
10331 ftxfont_default_fid.
10332 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10333 (ftxfont_done_face): Free only GCs that are created by
10334 ftxfont_create_gcs.
10335 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10336
10337 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10338 Clip to src->width, etc (not src->clip_XXX).
10339
10340 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10341 FontBackend frame parameter.
10342
103432008-02-01 Kenichi Handa <handa@m17n.org>
10344
10345 * font.h (struct font_driver_list): New member `on'.
10346 (Fclear_font_cache): EXFUN it.
10347 (font_update_drivers): Extern it.
10348
10349 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10350 (font_list_entities): Check driver_list->on.
10351 (register_font_driver): Initalize `on' member to 0.
10352 (font_update_drivers): New function.
10353 (Fclear_font_cache): Check driver_list->on.
10354
10355 * frame.h (Qfont_backend): Extern it.
10356 (x_set_font_backend): Extern it.
10357
10358 * frame.c (Qfont_backend): New variable.
10359 (frame_parms): New element for font-backend.
10360 (x_set_font_backend): New function.
10361
10362 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10363 FontBackend frame parameter.
10364 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10365 x_set_font_backend.
10366
10367 * xfont.c (xfont_list): Don't try listing by :name property if the
10368 name is not for XLFD.
10369
103702008-02-01 Kenichi Handa <handa@m17n.org>
10371
10372 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10373 (LGLYPH_SET_TO): New macros.
10374 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10375 element of G is vector or not.
10376 (font_at): Extern it.
10377
10378 * font.c: Include window.h.
10379 (font_lispy_object): New function.
10380 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10381 end of valid glyph.
10382 (font_close_object): Fix getting (struct font *).
10383 (font_at): New function.
10384 (Ffont_get): If FONT is a font-object, get entity from it.
10385 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10386 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10387 range check.
10388 (Ffont_at): New function.
10389 (syms_of_font): Defsubr Sfont_at.
10390
10391 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10392 before the entry for Qcomposition.
10393 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10394 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10395 the font in gstring.
10396 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10397 LGLYPH_FORM (g) to detect the end of valid glyph.
10398 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10399 we are composing with gstring.
10400
10401 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10402 Check if adjustment is vector or not.
10403
10404 * Makefile.in (font.o): Make it depends on window.h.
10405
104062008-02-01 Kenichi Handa <handa@m17n.org>
10407
10408 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10409 adjustment is vector or not.
10410
104112008-02-01 Miles Bader <miles@gnu.org>
10412
10413 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10414
104152008-02-01 Kenichi Handa <handa@m17n.org>
10416
10417 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10418 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10419 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10420
10421 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10422 (DEVICE_DELTA): Fix typo.
10423 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10424 LGLYPH format.
10425
10426 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10427 the change of LGLYPH format.
10428
104292008-02-01 Kenichi Handa <handa@m17n.org>
10430
10431 * ftfont.c (ftfont_list): Fix typo.
10432 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10433
104342008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10435
10436 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10437
10438 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10439 xftface_info is non-NULL.
10440
104412008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10442
10443 * ftfont.c (ftfont_list): Move misplaced #endif.
10444
104452008-02-01 Kenichi Handa <handa@m17n.org>
10446
10447 * ftfont.c (ftfont_list): Pay attention to the case that
10448 FC_CAPABILITY is not defined.
10449
104502008-02-01 Kenichi Handa <handa@m17n.org>
10451
10452 * xftfont.c (xftfont_open): Set charset related members to -1.
10453
10454 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10455 QCname.
10456 (ftfont_open): Set charset related members to -1.
10457
10458 * fontset.c (Votf_script_alist): New variable.
10459 (syms_of_fontset): Initialize it.
10460 (fontset_font): Delete unused variable.
10461
10462 * fontset.h (Votf_script_alist): Extern it.
10463
10464 * font.c (font_find_for_lface): Optimize code.
10465
10466 * font.h (font_close_object, font_merge_old_spec): Extern them.
10467
104682008-02-01 Kenichi Handa <handa@m17n.org>
10469
10470 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10471 (syms_of_font): Initialize them.
10472 (font_pixel_size): Allow float value in dpi.
10473 (font_prop_validate_type): Delete.
10474 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10475 Change caller.
10476 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10477 (font_prop_validate_extra): Delete.
10478 (font_prop_validate_spacing): New function.
10479 (font_property_table): Add elements for all known properties.
10480 (get_font_prop_index): Rename from check_font_prop_name. New
10481 argument FROM. Change caller.
10482 (font_prop_validate): Validate all known properties.
10483 (font_put_extra): Delete argument force. Change caller.
10484 (font_expand_wildcards): Make it static. Fix the way of shrinking
10485 the possible range.
10486 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10487 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10488 Change caller.
10489 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10490 (font_parse_fcname): Delete argument merge. Fix parsing of point
10491 size. Don't validate properties values here. Change caller.
10492 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10493 (font_open_by_name): Delete unused variable.
10494 (Ffont_spec): Likewise. Validate property values.
10495 (Ffont_match_p): New function.
10496
10497 * font.h (QCscalable): Extern it.
10498 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10499
10500 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10501
10502 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10503 (xfont_list_pattern): New function.
10504 (xfont_list): Use xfont_list_pattern.
10505
105062008-02-01 Kenichi Handa <handa@m17n.org>
10507
10508 * font.h (Flist_fonts): EXFUN it.
10509
105102008-02-01 Jason Rumney <jasonr@gnu.org>
10511
10512 * w32term.c (w32_initialize): Add back smoothing_type and
10513 smoothing_enabled definitions.
10514
105152008-02-01 Kenichi Handa <handa@m17n.org>
10516
10517 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10518 s->face->font on determining underline position.
10519
105202008-02-01 Kenichi Handa <handa@m17n.org>
10521
10522 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10523 (font_has_char): Accept font-object too.
10524 (font_find_for_lface): Try at first with a size specified in face.
10525
105262008-02-01 Kenichi Handa <handa@m17n.org>
10527
10528 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10529 font_open_by_name.
10530
105312008-02-01 Kenichi Handa <handa@m17n.org>
10532
10533 * font.h (QCspacing, QCdpi): Extern them.
10534 (enum font_spacing): New enum.
10535 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10536
10537 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10538 (QCspacing, QCdpi): New variables.
10539 (syms_of_font): Initialize them.
10540 (font_pixel_size): New function.
10541 (font_put_extra): New function.
10542 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10543 in FONT_EXTRA.
10544 (font_parse_fcname): Handle enumerated values (e.g. bold).
10545 Fix handling font size. Add QCname property that contains only
10546 unknown properties.
10547 (font_score): Change argument. Change caller. Pay attention to
10548 FONT_PIXEL_SIZE_QUANTUM.
10549 (font_sort_entites, font_list_entities, font_find_for_lface)
10550 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10551 (Ffont_spec): Add QCname property that contains only unknown properties.
10552
10553 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10554 include weight in listing pattern, instead check weight of each
10555 listed font. Don't include scalable in pattern. Pay attention to
10556 FONT_PIXEL_SIZE_QUANTUM.
10557
105582008-02-01 Kenichi Handa <handa@m17n.org>
10559
10560 * font.c (font_parse_fcname): Fix parsing of point-size.
10561 (font_unparse_fcname): Produce symbolic names for style properties.
10562 (font_list_entities): Handle float size correctly.
10563 (font_open_by_name): Prefer `normal' property values if the name
10564 doesn't specify them.
10565
10566 * fontset.c (Finternal_char_font): Use font_get_name, not
10567 Ffont_xlfd_name.
10568
10569 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10570 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10571 pattern. Don't force scalable.
10572
10573 * xftfont.c (xftfont_open): For generating a name, start from
10574 96-byte buffer.
10575
105762008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10577
10578 * frame.h (x_new_fontset2): Fix prototype.
10579
105802008-02-01 Kenichi Handa <handa@m17n.org>
10581
10582 * font.h (struct font_driver): Delete member parse_name.
10583 (font_match_p, font_get_spec, font_parse_fcname)
10584 (font_unparse_fcname): Extern them.
10585 (font_get_name): Adjust prototype.
10586
10587 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10588 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10589 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10590 unnecessary checks for weight, slant, and swidth.
10591 (font_parse_fcname): New function.
10592 (font_unparse_fcname): New function.
10593 (font_parse_name): New function.
10594 (font_match_p): New function.
10595 (font_get_name): Change return value to Lisp string.
10596 (font_get_spec): New function.
10597 (Qunspecified, Qignore_defface): Don't extern them.
10598 (font_find_for_lface): Assume that LFACE is fully specified.
10599 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10600 object, use it for FACE.
10601 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10602 driver->parse_name.
10603 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10604
10605 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10606 prototype.
10607
10608 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10609 argument F. Don't call Fnew_fontset. Instead, directly call
10610 make_fontset.
10611
10612 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10613
10614 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10615 of x_new_fontset2.
10616
10617 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10618 (Qsans__serif): New variables.
10619 (ftfont_generic_family_list): New variable.
10620 (syms_of_ftfont): Initialize the above variables.
10621 (ftfont_pattern_entity): Delete argument NAME.
10622 (ftfont_list_generic_family): New function.
10623 (ftfont_parse_name): Delete this function.
10624 (ftfont_list): Try generic family only when FcFontList found no font.
10625 (ftfont_list_family): Fix args to FcObjectSetBuild.
10626
10627 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10628 object in attrs[LFACE_FONT_INDEX].
10629 (set_lface_from_font_name): Cancel all changes for font-backend.
10630 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10631 function.
10632 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10633 font object in QCfont attribute.
10634 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10635 (realize_default_face) [USE_FONT_BACKEND]: Call
10636 set_lface_from_font_and_fontset.
10637
10638 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10639 "fixed", and signal error here if no suitable font was found.
10640
10641 * xfont.c (xfont_parse_name): Delete this function.
10642
10643 * xftfont.c (xftfont_open): Change coding style of error
10644 handling. Generate fontconfig's fontname pattern.
10645
10646 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10647 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10648
10649 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10650 Both args FONTSET and FONT_OBJECT must be existing ones.
10651
106522008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10653
10654 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10655
106562008-02-01 Kenichi Handa <handa@m17n.org>
10657
10658 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10659
10660 * font.h (struct font): Fix typo.
10661
10662 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10663 XLFD_XXX_INDEX.
10664 (enum xlfd_field_mask): New enum.
10665 (intern_font_field): Changed argument. Change caller. If digits
10666 are followed by non-digits, return a symbol.
10667 (font_expand_wildcards): New function.
10668 (font_parse_xlfd): Fix wildcard handling.
10669 (Ffont_spec): If :name is specified, reflect the info in the other
10670 properties.
10671
10672 * ftfont.c (ftfont_pattern_entity): Fix typo.
10673 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10674 locale.
10675
106762008-02-01 Kenichi Handa <handa@m17n.org>
10677
10678 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10679
10680 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10681 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10682 registry doesn't specify encoding part.
10683 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10684 (font_open_by_name): At first try parsing the name.
10685 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10686 as Lisp symbols.
10687
10688 * fontset.c (reorder_font_vector): Pay attention to the case that
10689 the 3rd element of font_def is nil.
10690 (fontset_font): For the default fontset, append one more fontset
10691 elements for a script-based font specification. Don't add script
10692 attribute on finding a font.
10693 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10694 font name.
10695 (fontset_ascii_font): If a font can't be opened, return nil.
10696
10697 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10698 (ftfont_pattern_entity): New function.
10699 (ftfont_get_cache): Assume that freetype_font_cache is already
10700 initialized.
10701 (ftfont_list): Handle the case that a file is specified in font
10702 name. Use ftfont_pattern_entity to generate entities.
10703 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10704 (syms_of_ftfont): Initialize freetype_font_cache.
10705
10706 * xftfont.c (xftfont_open): Make the font name fontconfig's
10707 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10708 (xftfont_close): Free font->font.name if not NULL.
10709
10710 * xfont.c (xfont_list): If script is specified for a font, return
10711 null_vector.
10712 (xfont_list_family): Declare argument type.
10713
10714 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10715 name, set LFACE_FONT (lface) to nil.
10716
10717 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10718 return Qnil.
10719
107202008-02-01 Kenichi Handa <handa@m17n.org>
10721
10722 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10723 (standard_args): Add "-enable-font-backend".
10724
107252008-02-01 Kenichi Handa <handa@m17n.org>
10726
10727 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10728 (struct xftdraw_list, xftdraw_list): Delete them.
10729 (register_xftdraw, check_xftdraw): Delete them.
10730 (xftfont_prepare_face): Don't call register_xftdraw.
10731 (xftfont_done_face): Don't call check_xftdraw.
10732 (xftfont_draw): Get background color only when with_background is
10733 nonzero.
10734
10735 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10736
107372008-02-01 Kenichi Handa <handa@m17n.org>
10738
10739 These changes are for the new font handling codes.
10740
10741 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10742 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10743 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10744 (FONTSRC, FONTOBJ): New variables.
10745 (obj): Add $(FONTOBJ).
10746 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10747 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10748 @LIBOTF_LIBS@.
10749 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10750 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10751
10752 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10753
10754 * character.h (Vscript_representative_chars): Extern it.
10755
10756 * character.c (Vscript_representative_chars): New variable.
10757 (syms_of_character): Declare it as a Lisp variable.
10758
10759 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10760 enable_font_backend is nonzero, accept the composition method
10761 COMPOSITION_WITH_GLYPH_STRING.
10762
10763 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10764 enumeration COMPOSITION_WITH_GLYPH_STRING.
10765
10766 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10767 members clip_x, clip_y, clip_width, and clip_height.
10768 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10769
10770 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10771 --enable-font-backend. Call syms_of_font.
10772
10773 * fns.c (assoc_no_quit): New function.
10774
10775 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10776 (face_for_font, new_fontset_from_font)
10777 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10778
10779 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10780 (fontset_font, fontset_ascii, face_for_char)
10781 (make_fontset_for_ascii_face, Ffont_info)
10782 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10783 is nonzero, use font-backend mechanism.
10784 (find_font_encoding): Make it non-static.
10785 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10786 New functions.
10787
10788 * frame.h (struct frame): New members resx and resy.
10789 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10790 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10791
10792 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10793 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10794
10795 * lisp.h (assoc_no_quit): Extern it.
10796
10797 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10798 Through out the file, use FONT_INFO_FROM_FACE instead of
10799 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10800 rif->per_char_metric.
10801 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10802 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10803 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10804 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10805 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10806 nonzero, use font-backend mechanism.
10807 (get_per_char_metric): New function.
10808
10809 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10810 (set_lface_from_font_name)
10811 (set_font_frame_param, free_realized_face)
10812 (prepare_face_for_display, clear_face_gcs)
10813 (Finternal_set_font_selection_order, realize_x_face)
10814 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10815 font-backend mechanism.
10816 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10817 (load_face_font) [USE_FONT_BACKEND]: Abort.
10818 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10819 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10820
10821 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10822 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10823 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10824 nonzero, register all available font drivers. Call
10825 x_default_font_parameter for deciding a font.
10826 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10827
10828 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10829 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10830 (x_set_glyph_string_clipping_exactly)
10831 (x_compute_glyph_string_overhangs)
10832 (x_draw_glyph_string_foreground)
10833 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10834 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10835 enable_font_backend is nonzero, use font-backend mechanism.
10836 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10837
108382008-02-01 Kenichi Handa <handa@m17n.org>
10839
10840 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10841 system_eol_type.
10842 (syms_of_coding): Initialize system_eol_type.
10843
10844 * process.c (Fset_process_coding_system): Inherit system's eol
10845 format if necessary.
10846
108472008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10848
10849 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10850
108512008-02-01 Kenichi Handa <handa@m17n.org>
10852
10853 * coding.c (decode_eol): Pay attention to buffer relocation in
10854 del_range_2.
10855 (decode_coding): Call decode_eol before restoring undo_list.
10856
108572008-02-01 Kenichi Handa <handa@m17n.org>
10858
10859 * charset.c (Fdefine_charset_internal): Fix setting of
10860 emacs_mule_bytes.
10861
108622008-02-01 Kenichi Handa <handa@m17n.org>
10863
10864 * keyboard.c (read_char): Check if C is a character or not before
10865 looking up Vkeyboard_translate_table.
10866
108672008-02-01 Kenichi Handa <handa@m17n.org>
10868
10869 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10870 condition to terminate the loop.
10871
108722008-02-01 Kenichi Handa <handa@m17n.org>
10873
10874 * coding.c (produce_composition): Compare charbuf[i] instead of
10875 args[i] against 0.
10876 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10877
108782008-02-01 Kenichi Handa <handa@m17n.org>
10879
10880 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10881 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10882 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10883 detect_coding.
10884 (emacs_mule_char): Handle old style (Emacs 20) component character
10885 of a composition.
10886 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10887 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10888 composition rule.
10889 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10890
108912008-02-01 Kenichi Handa <handa@m17n.org>
10892
10893 * coding.c (encode_coding_ccl): Allocate destination dynamically
10894 when necessary.
10895
108962008-02-01 Kenichi Handa <handa@m17n.org>
10897
10898 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10899 the loop. When quitted, show a proper error message.
10900
109012008-02-01 Kenichi Handa <handa@m17n.org>
10902
10903 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10904 src->clip_head and src->clip_tail temporarily instead of src->hl.
10905
10906 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10907 character sequence.
10908 (Fccl_execute_on_string): Use ASET, not XSET.
10909
109102008-02-01 Kenichi Handa <handa@m17n.org>
10911
10912 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10913
109142008-02-01 Kenichi Handa <handa@m17n.org>
10915
10916 * coding.c (decode_coding): Fix the condition of terminating the
10917 decoding loop.
10918
109192008-02-01 Kenichi Handa <handa@m17n.org>
10920
10921 * data.c (Faset): On setting a character bigger than 255 in a
10922 unibyte string, signal an error instead of make the string multibyte.
10923
109242008-02-01 Kenichi Handa <handa@m17n.org>
10925
10926 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10927 made by a mapping table.
10928
109292008-02-01 Kenichi Handa <handa@m17n.org>
10930
10931 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10932 not.
10933 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10934 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10935
10936 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10937 s->face is NULL or not.
10938
109392008-02-01 Kenichi Handa <handa@m17n.org>
10940
10941 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10942 (x_draw_glyph_string): Fix drawing of right_overhang and
10943 left_overhang around/on cursor.
10944
10945 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10946
109472008-02-01 Kenichi Handa <handa@m17n.org>
10948
10949 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10950
109512008-02-01 Kenichi Handa <handa@m17n.org>
10952
10953 * coding.c (Fdefine_coding_system_internal)
10954 (Fdefine_coding_system_alias): Avoid a duplicated element in
10955 Vcoding_system_alist.
10956
109572008-02-01 Kenichi Handa <handa@m17n.org>
10958
10959 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10960
10961 * coding.c (Qcoding_system_define_form): New variable.
10962 (syms_of_coding): Intern and staticpro it.
10963 (Fcoding_system_p): Check Qcoding_system_define_form.
10964 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10965
10966 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10967 Fcoding_system_p.
10968 (CHECK_CODING_SYSTEM): If ID is not available, call
10969 Fcheck_coding_system.
10970 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10971 Try also Fcheck_coding_system.
10972
109732008-02-01 Kenichi Handa <handa@m17n.org>
10974
10975 * coding.c (code_conversion_restore): GCPRO arg.
10976
109772008-02-01 Kenichi Handa <handa@m17n.org>
10978
10979 * character.c (lisp_string_width): Check multibyteness of STRING.
10980
109812008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10982
10983 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10984 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10985 (decode_mac_font_name): Use decode_coding_c_string instead of
10986 decode_coding.
10987 (x_load_font): Initialize fontp->fontset to -1. Set
10988 fontp->encoding_type.
10989
109902008-02-01 Kenichi Handa <handa@m17n.org>
10991
10992 * search.c (search_buffer): Give up BM search on case-fold-search
10993 if one of a target character has a case-equivalence of different
10994 byte length even if that target charcter is an ASCII.
10995 (simple_search): Fix calculation of byte length of matched text.
10996 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10997
109982008-02-01 Kenichi Handa <handa@m17n.org>
10999
11000 * coding.c (decode_coding): Fix handling of invalid bytes.
11001
110022008-02-01 Kenichi Handa <handa@m17n.org>
11003
11004 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
11005 Unicode characters.
11006
110072008-02-01 Kenichi Handa <handa@m17n.org>
11008
11009 * coding.c (encode_coding_object): If a pre-write-conversion
11010 function makes a new buffer, kill it.
11011
110122008-02-01 Kenichi Handa <handa@m17n.org>
11013
11014 * coding.c (QCascii_compatible_p): New variable.
11015 (syms_of_coding): Initialize it.
11016 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
11017 calling string_char.
11018 (record_conversion_result): Add `default:' case.
11019 (coding_charset_list): Delete unused variable `coding_type'.
11020 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
11021 property in the plist of the coding system.
11022 (Fcoding_system_put): Check QCascii_compatible_p.
11023
110242008-02-01 Miles Bader <miles@gnu.org>
11025
11026 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
11027 removed calculation of frame `f', as it's now used.
11028
110292008-02-01 Kenichi Handa <handa@m17n.org>
11030
11031 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
11032 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
11033 (UNIDATA): New variable.
11034 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
11035 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
11036 $(RUN_TEMACS) unconditionally.
11037
110382008-02-01 Kenichi Handa <handa@m17n.org>
11039
11040 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
11041 (admindir): New variable.
11042 ($(lispsource)international/charprop.el): New target.
11043
110442008-02-01 Miles Bader <miles@gnu.org>
11045
11046 * character.c (chars-in-region): Remove obsolete function.
11047 (syms_of_character): Remove its initialization.
11048
110492008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
11050
11051 * w32select.c (validate_coding_system)
11052 (setup_windows_coding_system): New functions.
11053 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
11054 setup_windows_coding_system.
11055 (setup_config, Fw32_get_clipboard_data): Use
11056 validate_coding_system.
11057 (Fx_selection_exists): Move call to setup_config to a place
11058 where signals are allowed.
11059
11060 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
11061 (Fcheck_coding_system): Add declarations.
11062
110632008-02-01 Kenichi Handa <handa@m17n.org>
11064
11065 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
11066
110672008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11068
11069 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
11070 string as the second argument for x_new_fontset.
11071
110722008-02-01 Kenichi Handa <handa@m17n.org>
11073
11074 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11075 (encode_coding_object): Use safe_call instead of call2.
11076
110772008-02-01 Kenichi Handa <handa@m17n.org>
11078
11079 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11080
11081 * Makefile.in (lisp): Include charprop.el.
11082
110832008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11084
11085 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11086 Not sure if it's unnecessary.
11087
110882008-02-01 Steven Tamm <steventamm@mac.com>
11089
11090 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11091 some possibly unnecessary fontset checking code that crashed
11092 when creating a new frame.
11093
110942008-02-01 Kenichi Handa <handa@m17n.org>
11095
11096 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11097 lookup_face.
11098
11099 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11100
11101 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11102
111032008-02-01 Kenichi Handa <handa@m17n.org>
11104
11105 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11106 (coding_charset_list): New function.
11107
11108 * coding.h (coding_charset_list): Extern it.
11109
111102008-02-01 Kenichi Handa <handa@m17n.org>
11111
11112 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11113 concatenation of family and registry.
11114
111152008-02-01 Kenichi Handa <handa@m17n.org>
11116
11117 * character.h (BYTE8_STRING): Fix typo.
11118
11119 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11120 string to multibyte (sync to HEAD).
11121
11122 * casefiddle.c (casify_region): Handle changes in byte-length
11123 using replace_range_2 (sync to HEAD).
11124
111252008-02-01 Andreas Schwab <schwab@suse.de>
11126
11127 * chartab.c (map_char_table): GCPRO table and arg.
11128
111292008-02-01 Kenichi Handa <handa@m17n.org>
11130
11131 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11132 already at limit.
11133
111342008-02-01 Kenichi Handa <handa@m17n.org>
11135
11136 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11137 instead of fast_c_string_match_ignore_case.
11138 (find_font_encoding): Change argument to Lisp_Object. Use
11139 fast_string_match_ignore_case instead of
11140 fast_c_string_match_ignore_case. Change caller.
11141
111422008-02-01 Kenichi Handa <handa@m17n.org>
11143
11144 * xdisp.c (get_next_display_element): In unibyte case, decide to
11145 display in octal form by checking a character by
11146 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11147
11148 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11149
11150 * character.c (unibyte_has_multibyte_table): New variable.
11151
11152 * character.h (unibyte_has_multibyte_table): Extern it.
11153 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11154
111552008-02-01 Kenichi Handa <handa@m17n.org>
11156
11157 * coding.c (encode_coding_iso_2022): Fix handling of charset
11158 annotation.
11159
111602008-02-01 Kenichi Handa <handa@m17n.org>
11161
11162 * coding.c (setup_coding_system): If coding_system is nil, use
11163 Qundecided.
11164 (Fterminal_coding_system): Return nil if terminal coding system is
11165 `undecided'.
11166 (syms_of_coding): Define coding-system `undecided' here. Setup
11167 terminal_coding as `undecided'.
11168
111692008-02-01 Kenichi Handa <handa@m17n.org>
11170
11171 * xdisp.c (message_dolog, set_message_1): Call
11172 unibyte_char_to_multibyte with arg type int.
11173
11174 * lread.c (read1): Fix reading of a char-table.
11175
11176 * print.c (print_object): Include sub char-table in circularities
11177 detection.
11178
111792008-02-01 Kenichi Handa <handa@m17n.org>
11180
11181 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11182 Append the found sequences in car of ARGS instead of prepending.
11183
111842008-02-01 Kenichi Handa <handa@m17n.org>
11185
11186 * fileio.c (report_file_error): Make a unibyte string from
11187 strerror (errorno).
11188 (Fsubstitute_in_file_name): Fix the arg to
11189 unibyte_char_to_multibyte. It is evaluated twice.
11190
111912008-02-01 Kenichi Handa <handa@m17n.org>
11192
11193 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11194
111952008-02-01 Kenichi Handa <handa@m17n.org>
11196
11197 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11198 BOM is not found.
11199 (detect_coding, detect_coding_system): Optimization for ISO-2022
11200 when no 8-bit data is found.
11201
112022008-02-01 Jason Rumney <jasonr@gnu.org>
11203
11204 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11205
112062008-02-01 Kenichi Handa <handa@m17n.org>
11207
11208 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11209 CHARS.
11210
112112008-02-01 Steven Tamm <steventamm@mac.com>
11212
11213 * macterm.c (mac_encode_char): Add charset argument and update
11214 to use encoding_type.
11215 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11216 switch to pure fontset.
11217 (decode_mac_font_name): Temporarily remove decoding.
11218 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11219 (x_load_font): Temporarily remove encoding.
11220
112212008-02-01 Kenichi Handa <handa@m17n.org>
11222
11223 * xfaces.c (Fface_font): If frame is not on a window system,
11224 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11225 refer to face->font.
11226 (split_font_name_into_vector, build_font_name_from_vector)
11227 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11228 when HAVE_WINDOW_SYSTEM is defined.
11229
112302008-02-01 Kenichi Handa <handa@m17n.org>
11231
11232 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11233 (x_produce_glyphs): Fix setting of members of cmp in case
11234 cmp->glyph_len is zero.
11235
11236 * fontset.c (Fset_fontset_font): Fix docstring.
11237 (Ffontset_info): Make it backward compatible. New arg ALL.
11238
112392008-02-01 Kim F. Storm <storm@cua.dk>
11240
11241 * process.c (read_process_output): Grow decoding_buf when needed;
11242 this could cause a crash in allocate_string and compact_small_strings.
11243
112442008-02-01 Kenichi Handa <handa@m17n.org>
11245
11246 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11247
112482008-02-01 Kenichi Handa <handa@m17n.org>
11249
11250 * coding.c (setup_coding_system): Set coding->common_flags
11251 correctly for raw-text.
11252 (consume_chars): On encoding unibyte text by raw-text, don't check
11253 multibyte form.
11254 (encode_coding): On encoding by raw-text, never use translation tables.
11255
11256 * fileio.c (e_write): Short cut for the case of no encoding.
11257
112582008-02-01 Kenichi Handa <handa@m17n.org>
11259
11260 * coding.c (detect_coding, detect_coding_system): Delete unused
11261 variables.
11262
112632008-02-01 Kenichi Handa <handa@m17n.org>
11264
11265 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11266 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11267
112682008-02-01 Kenichi Handa <handa@m17n.org>
11269
11270 * coding.c (Ffind_coding_systems_region_internal): Include
11271 raw-text and no-conversion in the result.
11272
112732008-02-01 Kenichi Handa <handa@m17n.org>
11274
11275 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11276 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11277 FONT_DEF.
11278 (font_def_arg, add_arg, from_arg, to_arg): New args.
11279 (set_fontset_font): Change argument.
11280 (Fset_fontset_font): Fix for the case that TARGET is a script
11281 name and charset name.
11282 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11283
112842008-02-01 Kenichi Handa <handa@m17n.org>
11285
11286 * fontset.c (fontset_font): Rename from fontset_face. Change return
11287 value.
11288 (face_suitable_for_char_p, face_for_char): Adjust for the change
11289 of fontset_font.
11290 (make_fontset_for_ascii_face): Fix setting of the fontset element
11291 for ASCII.
11292 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11293 to get a font name.
11294 (Ffontset_info): Adjust for the change of fontset_font.
11295
11296 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11297
11298 * character.h (LEADING_CODE_LATIN_1_MIN)
11299 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11300
113012008-02-01 Kenichi Handa <handa@m17n.org>
11302
11303 * editfns.c (check_translation): New function.
11304 (Ftranslate_region_internal): Handle M:N mapping.
11305
113062008-02-01 Kenichi Handa <handa@m17n.org>
11307
11308 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11309
113102008-02-01 Kenichi Handa <handa@m17n.org>
11311
11312 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11313 goto invalid_code.
11314 (decode_coding_iso_2022): Fix handling of invalid designation.
11315
11316 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11317 after calling code_conversion_save.
11318
113192008-02-01 Kenichi Handa <handa@m17n.org>
11320
11321 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11322
11323 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11324
11325 * fontset.c: Include "intervals.h".
11326 (fontset_face): Fix comparing of Lisp_Objects.
11327 (free_face_fontset, new_fontset_from_font_name): Fix
11328 Lisp_Object/int mixup.
11329
11330 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11331
11332 * coding.c: Add many prototypes for static functions.
11333 (get_translation_table): Allow max_lookup to be NULL.
11334 (decode_coding, Ffind_coding_systems_region_internal)
11335 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11336 get_translation_table with max_lookup NULL.
11337
113382008-02-01 Kenichi Handa <handa@m17n.org>
11339
11340 * coding.c (get_translation_table): Declare it as Lisp_Object.
11341 (LOOKUP_TRANSLATION_TABLE): New macro.
11342 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11343 instead of CHAR_TABLE_REF.
11344
113452008-02-01 Kenichi Handa <handa@m17n.org>
11346
11347 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11348 annotation data format.
11349 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11350 Change arguments FROM and TO to single argument NCHARS. Change caller.
11351 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11352 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11353 (decode_coding_ccl, decode_coding_charset): Pay attention to
11354 coding->charbuf_used.
11355 (get_translation): New function.
11356 (produce_chars): New arguments translation_table and last_block.
11357 Translate characters here. Return number of carryover chars.
11358 Change caller.
11359 (produce_composition): New argument pos. Change caller.
11360 Adjust for the change of annotation data format.
11361 (produce_charset, produce_annotation): Likewise.
11362 (decode_coding, encode_coding): Don't call translate_chars.
11363 (consume_chars): New arg translation_table. Change caller.
11364 (translate_chars): Delete.
11365 (syms_of_coding): Make translation-table's number of extra slots 2.
11366
113672008-02-01 Kenichi Handa <handa@m17n.org>
11368
11369 * search.c (simple_search): Fix setting this_pos_byte in backward
11370 search.
11371
11372 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11373 byte sequence.
11374 (detect_coding_ccl): Fix setting of the variable valids.
11375
113762008-02-01 Kenichi Handa <handa@m17n.org>
11377
11378 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11379
11380 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11381
11382 * editfns.c (Ftranslate_region_internal): Rename from
11383 Ftranslate_region. Accept a char-table in TABLE.
11384 (syms_of_editfns): Defsubr Stranslate_region_internal.
11385
11386 * xfaces.c (set_lface_from_font_name): If a font is specified for
11387 a frame, generate a fontset from the font.
11388 (build_scalable_font_name): If the scalable font is requested for
11389 a specific size, don't change that size.
11390 (try_font_list): Try a scalable font also in the case that a
11391 pattern string is specified.
11392
113932008-02-01 Kenichi Handa <handa@m17n.org>
11394
11395 * xfaces.c (Fface_font): New optional arg CHARACTER.
11396
113972008-02-01 Kenichi Handa <handa@m17n.org>
11398
11399 * charset.h (CHARSET_OFFSET): New macro.
11400
114012008-02-01 Kenichi Handa <handa@m17n.org>
11402
11403 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11404
11405 * fontset.c (fontset_face): Handle the case that repertory is a
11406 char-table.
11407 (find_font_encoding): Return nil for unknown encoding.
11408 (Fset_fontset_font): Ignore a font of unknown encoding.
11409
114102008-02-01 Kenichi Handa <handa@m17n.org>
11411
11412 * keymap.c (describe_vector): Handle default value of a char table.
11413
11414 * fontset.c (fontset_face): Handle fallback fonts correctly.
11415 (Ffontset_info): Return infomation about fallback fonts.
11416
114172008-02-01 Kenichi Handa <handa@m17n.org>
11418
11419 * fontset.c (FONTSET_DEFAULT): New macro.
11420 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11421 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11422 the case that it is nil.
11423 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11424 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11425
11426 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11427 subset or superset.
11428
114292008-02-01 Kenichi Handa <handa@m17n.org>
11430
11431 * emacs.c (main): Call init_charset after syms_of_XXX.
11432
11433 * charset.c (Vcharset_map_directory): Delete.
11434 (Vcharset_map_path): New variable.
11435 (load_charset_map_from_file): Use Vcharset_map_path instead.
11436 (init_charset): Initialize Vcharset_map_path.
11437 (syms_of_charset): Delete declaration of "charset-map-directory",
11438 add declaration of "charset-map-path".
11439
114402008-02-01 Kenichi Handa <handa@m17n.org>
11441
11442 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11443 ASCII only string.
11444
11445 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11446
11447 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11448 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11449
114502008-02-01 Kenichi Handa <handa@m17n.org>
11451
11452 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11453
11454 * coding.c (QCmnemonic, QCdefalut_char)
11455 (QCdecode_translation_table, QCencode_translation_table)
11456 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11457 (get_translation_table): Return a list of translation tables if
11458 necessary.
11459 (decode_coding): Call get_translation_table with ENCODEP 0.
11460 (char_encodable_p): If translation_table is non-nil, always call
11461 translate_char.
11462 (Fdefine_coding_system_internal): Accept list of translation
11463 tables as :encode-translation-table and :decode-translation-table.
11464 (Fcoding_system_put): New function.
11465 (syms_of_coding): Declare new symbols. Defsubr
11466 Scoding_system_put.
11467 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11468 typically JISX0212.
11469
11470 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11471 when the charset is superset type.
11472
11473 * character.c (translate_char): Accept list of translation tables.
11474
114752008-02-01 Kenichi Handa <handa@m17n.org>
11476
11477 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11478 (CODING_ATTR_TRANS_TBL): New macro.
11479
11480 * coding.c (get_translation_table): New function.
11481 (translate_chars): Fix the bug of skipping annotation data.
11482 (decode_coding, encode_coding): Utilize get_translation_table.
11483 (char_encodable_p, Funencodable_char_position): Translate char if
11484 necessary.
11485 (Ffind_coding_systems_region_internal)
11486 (Fcheck_coding_systems_region): Setup translation table for encode
11487 in a coding system attribute vector in advance.
11488 (Fdefine_coding_system_internal): Allow a symbol as translation
11489 table. For shift-jis type coding system, allow 4th charset.
11490
114912008-02-01 Kenichi Handa <handa@m17n.org>
11492
11493 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11494
11495 * xdisp.c (get_next_display_element): Pass -1 as POS to
11496 FACE_FOR_CHAR if displaying a C-string.
11497
114982008-02-01 Kenichi Handa <handa@m17n.org>
11499
11500 * composite.c (get_composition_id): Handle xoff and yoff in a
11501 composition rule.
11502
11503 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11504 (struct composition): New member lbearing and rbearing.
11505
11506 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11507 (x_get_glyph_overhangs): Handle a composition glyph.
11508 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11509
11510 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11511 composition glyph.
11512
115132008-02-01 Kenichi Handa <handa@m17n.org>
11514
11515 * print.c: Include charset.h.
11516 (Vprint_charset_text_property): New variable.
11517 (Qdefault): Extern it.
11518 (PRINT_STRING_NON_CHARSET_FOUND)
11519 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11520 (print_check_string_result): New variable.
11521 (print_check_string_charset_prop): New function.
11522 (print_prune_charset_plist): New variable.
11523 (print_prune_string_charset): New function.
11524 (print_object): Call print_prune_string_charset if
11525 Vprint_charset_text_property is not t.
11526 (print_interval): Print nothing if interval->plist is nil.
11527 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11528 variable. Init and staticpro print_prune_charset_plist.
11529
115302008-02-01 Kenichi Handa <handa@m17n.org>
11531
11532 * fontset.c (new_fontset_from_font_name): Use the specified font
11533 for all characters in the new fontset.
11534
11535 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11536 OBJECT args.
11537
11538 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11539 OBJECT args for composition too.
11540
11541 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11542 OBJECT args.
11543
115442008-02-01 Kenichi Handa <handa@m17n.org>
11545
11546 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11547
11548 * fontset.c (reorder_font_vector): Adjust for the change of
11549 FONT_DEF format.
11550 (fontset_face): New arg id. Change caller.
11551 (face_for_char): New args pos and object.
11552 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11553 (fs_query_fontset): Check NAME by Fassoc too.
11554 (Fset_fontset_font): Allow non-XLFD font name.
11555 (Ffontset_info): Adjust for the change of FONT_DEF format.
11556
11557 * fontset.h (face_for_char): Adjust prototype.
11558
11559 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11560 (append_space, extend_face_to_end_of_line)
11561 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11562 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11563
11564 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11565 POS and OBJECT args.
11566
11567 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11568 POS and OBJECT args.
11569
115702008-02-01 Jason Rumney <jasonr@gnu.org>
11571
11572 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11573 of GlobalAlloc'ed memory.
11574
115752008-02-01 Kenichi Handa <handa@m17n.org>
11576
11577 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11578
11579 * charset.h (charset_table_used): Delete extern.
11580
11581 * charset.c (charset_table_used): Make it static.
11582 (map_charset_chars): Fix args to c_function with.
11583
11584 * chartab.c (map_sub_char_table_for_charset): Fix args to
11585 c_function with.
11586
11587 * coding.h (enum coding_result_code): Delete
11588 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11589
11590 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11591 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11592 (Vlast_code_conversion_error): New variables.
11593 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11594 (ONE_MORE_BYTE): Record error if any instead of signaling an
11595 error. If non-ASCII multibyte char is found, return the negative
11596 value of the code. All callers changed to check it.
11597 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11598 (record_conversion_result): New function. Change all codes setting
11599 coding->result to call this function.
11600 (detect_coding_utf_8, decode_coding_utf_8)
11601 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11602 Don't use the local variable incomplete.
11603 (emacs_mule_char): Change the second arg to `const'.
11604 (decode_coding): Fix of flushing out unprocessed data.
11605 (make_conversion_work_buffer): Fix making of a work buffer.
11606 (decode_coding_object): Return coding->dst_object.
11607
11608 * fontset.c (set_fontset_font): Fix args.
11609
11610 * lisp.h (CHARACTERBITS): Define as 22.
11611
11612 * process.c (send_process): Be sure to set coding->src_multibyte.
11613
11614 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11615
116162008-02-01 Kenichi Handa <handa@m17n.org>
11617
11618 * xdisp.c (handle_auto_composed_prop): Give limit to
11619 Fnext_single_char_property_change.
11620
116212008-02-01 Kenichi Handa <handa@m17n.org>
11622
11623 * composite.c (syms_of_composite): Don't make the composition hash
11624 table weak.
11625
11626 * fontset.c (Fset_fontset_font): Fix docstring.
11627
11628 * lisp.h (detect_coding_system): Adjust prototype.
11629
11630 * fileio.c (kill_workbuf_unwind): Delete this function.
11631 (Finsert_file_contents): Adjust the call of detect_coding_system.
11632 Get conversion_buffer by code_conversion_save. Use the macro
11633 CODING_MAY_REQUIRE_DECODING. After decoding, update
11634 coding_system.
11635
11636 * coding.h (make_conversion_work_buffer): Delete extern.
11637 (code_conversion_save): Extern it.
11638
11639 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11640 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11641 (decode_coding_utf_8): Don't do eol converion.
11642 (detect_coding_utf_16): Check coding->src_chars, not
11643 coding->src_bytes. Add heuristics for those that have no signature.
11644 (decode_coding_emacs_mule, decode_coding_iso_2022)
11645 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11646 Don't do eol converion.
11647 (adjust_coding_eol_type): Return a new coding system.
11648 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11649 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11650 each change.
11651 (decode_coding): Pay attention to undo_list. Do eol conversion for
11652 all types of coding-systems (if necessary).
11653 (Vcode_conversion_work_buf_list): Delete it.
11654 (Vcode_conversion_reused_workbuf): Rename from
11655 Vcode_conversion_reused_work_buf.
11656 (Vcode_conversion_workbuf_name): New variable.
11657 (reused_workbuf_in_use): New variable.
11658 (make_conversion_work_buffer): Delete the arg DEPTH.
11659 (code_conversion_restore): Change argument to cons.
11660 (code_conversion_save): Delete the argument BUFFER. Change callers.
11661 (detect_coding_system): New argument src_chars. Change callers.
11662 Fix for utf-16 detection.
11663 (init_coding_once): Don't use ISO_carriage_return.
11664 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11665 reused_workbuf_in_use.
11666
116672008-02-01 Kenichi Handa <handa@m17n.org>
11668
11669 * keymap.c (store_in_keymap): Pay attention to the case that idx
11670 is a cons specifying a character range.
11671
116722008-02-01 Kenichi Handa <handa@m17n.org>
11673
11674 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11675 HANDLED_RECOMPUTE_PROPS.
11676
11677 * coding.c (Fdefine_coding_system_internal): Fix checking of
11678 ascii compatibility.
11679
116802008-02-01 Kenichi Handa <handa@m17n.org>
11681
11682 * charset.c (find_charsets_in_text): Delete unused locale variable.
11683 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11684
11685 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11686 Resync charset_list to Vemacs_mule_charset_list.
11687
11688 * keymap.c (store_in_keymap): Pay attention to the case that idx
11689 is a cons specifying a character range.
11690
116912008-02-01 Kenichi Handa <handa@m17n.org>
11692
11693 * composite.c (update_compositions): Bind inhibit-read-only, etc
11694 to t before calling remove-list-of-text-properties.
11695
11696 * print.c (print_object): Always print ASCII chars as is.
11697
116982008-02-01 Kenichi Handa <handa@m17n.org>
11699
11700 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11701
11702 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11703 is a char table.
11704
117052008-02-01 Kenichi Handa <handa@m17n.org>
11706
11707 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11708
117092008-02-01 Kenichi Handa <handa@m17n.org>
11710
11711 * xfaces.c (set_lface_from_font_name): Fix for the case that
11712 FONTNAME is not fontset name.
11713
117142008-02-01 Kenichi Handa <handa@m17n.org>
11715
11716 * fns.c (base64_encode_1): Fix previous change.
11717
117182008-02-01 Kenichi Handa <handa@m17n.org>
11719
11720 * fontset.c (set_fontset_font): New function.
11721 (Fset_fontset_font): If a font is specified for a charset, use
11722 map_charset_chars to store the font spec in a fontset.
11723
117242008-02-01 Kenichi Handa <handa@m17n.org>
11725
11726 * fontset.c (fontset_face): Create a fallback fontset on demand.
11727 (make_fontset): Don't create a fallback fontset here.
11728 (free_face_fontset): Free a fallback fontset (if any) too.
11729 (n_auto_fontsets): Delete this variable.
11730 (auto_fontset_alist): New variable.
11731 (new_fontset_from_font_name): Check auto_fontset_alist.
11732 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11733 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11734 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11735 Defsubr Sfontset_list_all.
11736
117372008-02-01 Kenichi Handa <handa@m17n.org>
11738
11739 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11744
117452008-02-01 Kenichi Handa <handa@m17n.org>
11746
11747 * editfns.c (Fgoto_char): Fix docstring.
11748
117492008-02-01 Kenichi Handa <handa@m17n.org>
11750
11751 * insdel.c (insert_from_gap): Adjust intervals correctly.
11752
117532008-02-01 Jason Rumney <jasonr@gnu.org>
11754
11755 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11756 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11757 (w32_initialize): Try to load it.
11758 (x_get_font_repertory): Use it if available.
11759 (w32_encode_char): Add shortcut for unicode output.
11760
11761 * w32fns.c (w32_load_system_font): Default charset to -1.
11762 (x_to_w32_charset): Match all fonts for unicode.
11763 (w32_to_x_charset): New parameter matching. Don't return partial
11764 or wildcard charsets.
11765 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11766 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11767 (w32_to_x_font): Match charset to real charset.
11768 (enum_font_cb2): Always list unicode versions.
11769
11770 * makefile.w32-in (temacs): Increase EMHEAP.
11771
117722008-02-01 Jason Rumney <jasonr@gnu.org>
11773
11774 * w32term.c (w32_encode_char): New charset parameter.
11775 font_info.encoding becomes encoding_type.
11776 (x_get_font_repertory): New function. Warning: stub only!
11777 (x_new_font): Return quickly if font already set.
11778 (x_new_fontset): fontsetname parameter is Lisp_Object.
11779 Use new fs_query_fontset. Try new_fontset_from_font_name.
11780 Use fontset_name for return value.
11781
11782 * w32term.h: Declare x_get_font_repertory.
11783
11784 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11785 place of find_charset_in_text. Use encode_coding_object in place
11786 of encode_coding.
11787 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11788 decode_coding.
11789
11790 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11791 of x_new_fontset.
11792 (w32_load_system_font): Initialize charset as unicode.
11793 font_info.encoding becomes encoding_type.
11794 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11795 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11796 (syms_of_w32fns): Set get_font_repertory_func.
11797
11798 * w32console.c: Include character.h. Use terminal_encode_buffer
11799 from term.c.
11800 (write_glyphs): Use new version of encode_terminal_code. Use
11801 encode_coding_object in place of encode_coding.
11802
11803 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11804 encoding becomes encoding_type.
11805
11806 * term.c (terminal_encode_buffer): Make externally visible.
11807
11808 * makefile.w32-in: Add character.h dependancies.
11809 (character.o, chartab.o): New targets.
11810
118112008-02-01 Kenichi Handa <handa@m17n.org>
11812
11813 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11814 CODING_ID_EOL_TYPE.
11815
118162008-02-01 Andreas Schwab <schwab@suse.de>
11817
11818 * coding.c (produce_chars): Revert last change.
11819
118202008-02-01 Kenichi Handa <handa@m17n.org>
11821
11822 * charset.h (charset_unicode): Extern it.
11823
11824 * charset.c (string_xstring_p): Check by (C >= 0x100).
11825 (find_charsets_in_text): Change format of the arc CHARSETS. New
11826 arg MULTIBYTE.
11827 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11828 change of find_charsets_in_text.
11829 (Fsplit_char): Fix doc. Never return unknown.
11830
11831 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11832
11833 * coding.c (Fdefine_coding_system_alias): Update
11834 Vcoding_system_list.
11835
11836 * fontset.c (load_font_get_repertory): Pay attention to the case
11837 that ENCODING of a font is specified by a char-table.
11838
11839 * xterm.c (x_get_font_repertory): Handle the case that the
11840 encoding of font is other than Unicode.
11841
118422008-02-01 Kenichi Handa <handa@m17n.org>
11843
11844 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11845 if a character is encodable by the terminal coding system. If
11846 not, produces proper number of `?'s. Update
11847 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11848 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11849
118502008-02-01 Kenichi Handa <handa@m17n.org>
11851
11852 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11853 variables.
11854 (encode_terminal_code): Change argument. Encode multiple
11855 characters at once. Store the result of encoding in
11856 terminal_encode_buffer.
11857 (write_glyphs, insert_glyphs): Adjust for the change of
11858 encode_terminal_code.
11859 (term_init): Initialize terminal_encode_buffer and
11860 terminal_encode_buf_size.
11861
11862 * coding.c (consume_chars): If coding->src_object is nil, don't
11863 check annotation.
11864
118652008-02-01 Kenichi Handa <handa@m17n.org>
11866
11867 * character.c (char_string): Use ASCII_CHAR_P instead of
11868 SINGLE_BYTE_CHAR_P.
11869
118702008-02-01 Kenichi Handa <handa@m17n.org>
11871
11872 * xdisp.c (handle_auto_composed_prop): Check if the last
11873 characters of auto-composed region is newly composed with the
11874 following characters.
11875 (handle_composition_prop): Fix checking of point being inside
11876 composition.
11877
118782008-02-01 Kenichi Handa <handa@m17n.org>
11879
11880 * fns.c (concat): Don't change multibyteness of the result by
11881 concatenating an 8-bit character.
11882
11883 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11884 multibyteness of the result when newelt is an 8-bit character.
11885
118862008-02-01 Dave Love <fx@gnu.org>
11887
11888 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11889 EMACS_INT.
11890
11891 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11892
11893 * xfaces.c (face_numeric_value): Declare dim size_t.
11894 (Finternal_lisp_face_equal_p): Remove unused f.
11895
11896 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11897 (MATRIX_ROW): Remove unused vars.
11898 (draw_glyphs, x_insert_glyphs, fast_find_position)
11899 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11900 byte/char counts.
11901
11902 * regex.c (regex_compile): Remove unused var.
11903
11904 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11905
11906 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11907 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11908
11909 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11910
11911 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11912
11913 * fileio.c (Fwrite_region): Remove unused var.
11914
11915 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11916 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11917
11918 * composite.c (Fremove_list_of_text_properties): Declare.
11919
11920 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11921 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11922 (coding_inherit_eol_type): Remove unused attrs.
11923 (detect_coding): Cast arg of detect_eol.
11924
11925 * charset.c (syms_of_charset): Remove unused var p.
11926 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11927 byte/char counts.
11928
11929 * casetab.c (set_case_table): Remove unused var.
11930
11931 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11932 unused vars.
11933
119342008-02-01 Dave Love <fx@gnu.org>
11935
11936 * xterm.c (x_bitmap_mask): Declare.
11937
119382008-02-01 Dave Love <fx@gnu.org>
11939
11940 * xterm.c (x_term_init): Fix type error.
11941
11942 * lisp.h: Add Funibyte_char_to_multibyte.
11943
11944 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11945 (Fset_coding_system_priority): Doc fix.
11946
11947 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11948
11949 * indent.c (check_composition): Make start and end EMACS_INT.
11950
11951 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11952
11953 * xdisp.c (handle_composition_prop, check_point_in_composition):
11954 Make buffer positions EMACS_INT.
11955
11956 * composite.c (find_composition, run_composition_function)
11957 (update_compositions, Ffind_composition_internal): Make buffer
11958 positions EMACS_INT.
11959
11960 * composite.h (find_composition, update_compositions): Make
11961 position args EMACS_INT.
11962
11963 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11964
11965 * intervals.c (get_property_and_range):
11966 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11967
11968 * unexalpha.c: Don't include varargs.h.
11969
119702008-02-01 Dave Love <fx@gnu.org>
11971
11972 * coding.h (ENCODE_UTF_8): New.
11973
11974 * Makefile.in (gtkutil.o): Depend on coding.h.
11975
11976 * coding.c (Fset_coding_system_priority): Doc fix.
11977
119782008-02-01 Kenichi Handa <handa@m17n.org>
11979
11980 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11981 the case of auto saving.
11982
119832008-02-01 Andreas Schwab <schwab@suse.de>
11984
11985 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11986 `range' from GC.
11987
119882008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11991
119922008-02-01 Kenichi Handa <handa@m17n.org>
11993
11994 * fileio.c (choose_write_coding_system): Return a decided coding system.
11995 (Fwrite_region): Set Vlast_coding_system_used to the return value
11996 of choose_write_coding_system.
11997
119982008-02-01 Kenichi Handa <handa@m17n.org>
11999
12000 * charset.c (Fset_charset_priority): Pay attention to duplicated
12001 arguments.
12002
12003 * coding.c (QCcategory): New variable.
12004 (syms_of_coding): Defsym it. Set all elements of
12005 Vcoding_category_table and their symbol values.
12006 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
12007 coding-category-XXX, and coding-category-list.
12008 (Fdefine_coding_system_internal): Add category in the plist.
12009
120102008-02-01 Kenichi Handa <handa@m17n.org>
12011
12012 * callproc.c (Fcall_process): Handle carryover correctly.
12013
12014 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
12015 (raw_text_coding_system): Check NILP (coding_system).
12016 (coding_inherit_eol_type): Check NILP (coding_system) and
12017 NILP (parent).
12018 (consume_chars): Fix for the case of raw-text.
12019
12020 * process.c (read_process_output): Handle carryover correctly.
12021
120222008-02-01 Dave Love <fx@gnu.org>
12023
12024 * regex.c (re_search_2): Fix last change.
12025
120262008-02-01 Kenichi Handa <handa@m17n.org>
12027
12028 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
12029 target_multibyte. Even in a unibyte case, return a converted
12030 multibyte char.
12031 (GET_CHAR_AFTER): New macro.
12032 (PATFETCH): Translate via multibyte char.
12033 (HANDLE_UNIBYTE_RANGE): Delete this macro.
12034 (SETUP_MULTIBYTE_RANGE): New macro.
12035 (regex_compile): Setup compiled code so that its multibyteness
12036 matches that of a target. Fix the handling of "[X-YZ]" using
12037 SETUP_MULTIBYTE_RANGE.
12038 (analyse_first) <charset>: For filling fastmap for all multibyte
12039 characters, don't check by BASE_LEADING_CODE_P.
12040 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
12041 the same as RE_MULTIBYTE_P (bufp) now.
12042 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
12043 (TARGET_CHAR_AND_LENGTH): Delete this macro.
12044 (TRANSLATE_VIA_MULTIBYTE): New macro.
12045 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
12046 It is the same as RE_MULTIBYTE_P (bufp) now.
12047 <exactn>: Translate via multibyte.
12048 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
12049 translate it.
12050 <charset, charset_not>: Fetch a character by
12051 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
12052 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
12053 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
12054 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
12055 by GET_CHAR_AFTER.
12056 (bcmp_translate): Likewise.
12057
12058 * search.c (compile_pattern): Check the member target_multibyte,
12059 not the member multibyte of buf.
12060
12061 * lread.c (read1): While reading a string, set force_singlebyte
12062 and force_multibyte correctly.
12063
12064 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
12065 up of unibyte_to_multibyte_table.
12066
120672008-02-01 Kenichi Handa <handa@m17n.org>
12068
12069 * coding.c (setup_coding_system): If coding has
12070 post-read-conversion or pre-write-conversion, set
12071 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
12072 respectively.
12073 (decode_coding_gap): Run post-read-conversion if any.
12074
12075 * fileio.c (Finsert_file_contents): Even if we read into a
12076 unibyte buffer, check if we must decode the result or not.
12077
120782008-02-01 Kenichi Handa <handa@m17n.org>
12079
12080 * coding.c (make_conversion_work_buffer): Change the work buffer
12081 name to the same one as that of Emacs 21.
12082
120832008-02-01 Kenichi Handa <handa@m17n.org>
12084
12085 * coding.h (make_conversion_work_buffer): Adjust prototype.
12086 (code_conversion_restore): Don't extern it.
12087
12088 * coding.c (detected_mask): Delete unused variable.
12089 (decode_coding_iso_2022): Pay attention to the byte sequence of
12090 CTEXT extended segment, and retain those bytes as is.
12091 (decode_coding_ccl): Delete unused variable `valids'.
12092 (setup_coding_system): Delete unused variable `category'.
12093 (consume_chars): Delete unused variable `category'. Make it work
12094 for non-multibyte case.
12095 (make_conversion_work_buffer): Change argument.
12096 (saved_coding): Delete unused variable.
12097 (code_conversion_restore): Don't check saved_coding->destination.
12098 (code_conversion_save): New function.
12099 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12100 instead of record_unwind_protect.
12101 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12102 (detect_coding_system): Delete unused variable `mask'.
12103 (Fdefine_coding_system_internal): Delete unused variable id.
12104
12105 * fileio.c (kill_workbuf_unwind): New function.
12106 (Finsert_file_contents): On replacing, call
12107 make_conversion_work_buffer with correct args, and call
12108 record_unwind_protect with the first arg kill_workbuf_unwind.
12109
12110 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12111
121122008-02-01 Kenichi Handa <handa@m17n.org>
12113
12114 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12115 (fontset_add): Fix for the case that TO is less than TO1.
12116 (Ffontset_info): Don't use fallback fontset on checking the
12117 default fontset.
12118 (dump_fontset): New function for debugging.
12119
12120 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12121 coding_type is Qcharset.
12122
121232008-02-01 Kenichi Handa <handa@m17n.org>
12124
12125 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12126 (map_char_table): Don't inherit the value from the parent on
12127 initializing VAL. Adjust for the above change.
12128
121292008-02-01 Kenichi Handa <handa@m17n.org>
12130
12131 * coding.c (Qsignature, Qendian): Delete these variables.
12132 (syms_of_coding): Don't initialize them.
12133 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12134 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12135 detect_info->found.
12136 (decode_coding_utf_16): Don't detect BOM here.
12137 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12138 is NOT utf_16_without_bom.
12139 (setup_coding_system): For a coding system of type utf-16, check
12140 if the attribute :endian is Qbig or not (not nil or not), and set
12141 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12142 (detect_coding): If coding type is utf-16 and BOM detection is
12143 required, detect it.
12144 (Fdefine_coding_system_internal): For a coding system of type
12145 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12146
121472008-02-01 Kenichi Handa <handa@m17n.org>
12148
12149 * coding.c (coding_set_source): Fix for the case that the current
12150 buffer is different from coding->src_object.
12151 (decode_coding_object): Don't use the conversion work buffer if
12152 DST_OBJECT is a buffer.
12153
121542008-02-01 Dave Love <fx@gnu.org>
12155
12156 * lread.c (read_emacs_mule_char) [len==2]: Index
12157 emacs_mule_charset correctly.
12158
121592008-02-01 Dave Love <fx@gnu.org>
12160
12161 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12162 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12163 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12164 treated specially.)
12165 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12166 (detected_mask): Remove Big5 bits.
12167
121682008-02-01 Kenichi Handa <handa@m17n.org>
12169
12170 The following changes are to make the font rescaling facility
12171 compatible with Emacs 21.
12172
12173 * xfaces.c (Vface_font_rescale_alist): Rename from
12174 Vface_resizing_fonts.
12175 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12176 (font_rescale_ratio): Rename from font_resizing_ratio.
12177 (split_font_name): Set font->rescale_ratio.
12178 (better_font_p): Pay attention to font->rescale_ratio.
12179 (build_scalable_font_name): Likewise. Change RESX, and RESY
12180 fields.
12181 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12182
121832008-02-01 Kenichi Handa <handa@m17n.org>
12184
12185 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12186 (Qutf_16_le): Remove these variables.
12187 (syms_of_coding): Don't DEFSYM them.
12188 (decode_coding_utf_16): Fix handling of BOM.
12189 (encode_coding_utf_16): Fix handling of BOM.
12190
121912008-02-01 Kenichi Handa <handa@m17n.org>
12192
12193 * fileio.c (Finsert_file_contents): On replacing, before decoding
12194 the file into the work buffer, set point of the work buffer to the end.
12195
121962008-02-01 Dave Love <fx@gnu.org>
12197
12198 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12199
122002008-02-01 Dave Love <fx@gnu.org>
12201
12202 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12203 and fix C types.
12204
122052008-02-01 Kenichi Handa <handa@m17n.org>
12206
12207 * xdisp.c (SKIP_GLYPHS): New macro.
12208 (set_cursor_from_row): Pay attention to string display properties.
12209
12210 * category.c (copy_category_entry): Fix for the case that RANGE
12211 is an integer.
12212
12213 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12214
12215 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12216
122172008-02-01 Kenichi Handa <handa@m17n.org>
12218
12219 * charset.c (Fcharset_id_internal): New function.
12220 (syms_of_charset): Defsubr it.
12221
12222 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12223 with the last arg charset_list acquired from coding.
12224 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12225 the attribute coding_attr_ccl_valids.
12226
12227 * coding.h (enum define_coding_ccl_arg_index): Set the first
12228 member coding_arg_ccl_decoder to coding_arg_max.
12229
12230 * ccl.h (ccl_driver): Adjust prototype.
12231
12232 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12233 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12234 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12235 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12236 last arg Qnil.
12237
122382008-02-01 Kenichi Handa <handa@m17n.org>
12239
12240 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12241 call encode_char.
12242
12243 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12244
122452008-02-01 Dave Love <fx@gnu.org>
12246
12247 * composite.c (syms_of_composite): Make composition_hash_table weak.
12248
122492008-02-01 Kenichi Handa <handa@m17n.org>
12250
12251 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12252 (font_name_registry): Don't extern them.
12253 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12254
12255 * fontset.h (Qfontset): Don't extern it.
12256 (new_fontset_from_font_name): Extern it.
12257
12258 * fontset.c: Give 8 extra slots to fontset objects.
12259 (Qfontset_info): New variable.
12260 (syms_of_fontset): Defsym it.
12261 (FONTSET_FALLBACK): New macro.
12262 (fontset_face): Try also the default fontset.
12263 (make_fontset): Realize a fallback fontset from the default fontset.
12264 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12265 using split_font_name_into_vector and build_font_name_from_vector.
12266 (Fset_fontset_font): Access the elements of font_spec by enum
12267 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12268 name by using split_font_name_into_vector.
12269 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12270 generate a proper font name from the fontset name. Update
12271 Vfontset_alias_alist.
12272 (n_auto_fontsets): New variable.
12273 (new_fontset_from_font_name): New function.
12274 (Ffont_info): Store the information about fonts generated from the
12275 default fontset in the first extra slot of the returned char-table.
12276
12277 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12278 (font_name_registry): Delete function.
12279 (split_font_name_into_vector): New function.
12280 (build_font_name_from_vector): New function.
12281 (font_list): The argument REGISTRY is now a list of registry names.
12282 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12283 specifies an explicit font name, return the name as is. Make a
12284 list of registy names.
12285
12286 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12287 of x_new_fontset.
12288 (Fx_create_frame): Don't call x_new_fontset here. Just use
12289 x_list_fonts to check the existence of fonts.
12290
12291 * xterm.h (x_new_fontset): Adjust prototype.
12292
12293 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12294 string. Use new_fontset_from_font_name to create a fontset from a
12295 font name.
12296
122972008-02-01 Kenichi Handa <handa@m17n.org>
12298
12299 * syntax.c (Vfind_word_boundary_function_table): New name for
12300 Vnext_word_boundary_function_table.
12301 (find-word-boundary-function-table): New name for
12302 next-word-boundary-function-table.
12303
123042008-02-01 Dave Love <fx@gnu.org>
12305
12306 * Makefile.in: Fix some dependencies.
12307
12308 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12309 set it to nil before returning.
12310
12311 * composite.c (update_compositions): Fix type error.
12312
12313 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12314
123152008-02-01 Kenichi Handa <handa@m17n.org>
12316
12317 * xterm.c (x_new_font): Optimize for the case that the font is
12318 already set for the frame.
12319
123202008-02-01 Kenichi Handa <handa@m17n.org>
12321
12322 * chartab.c (char_table_ascii): Check if the char table contents
12323 is sub-char-table or not.
12324 (char_table_set, char_table_set_range): Fix argument to
12325 char_table_ascii.
12326
12327 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12328 (detect_coding_utf_8, detect_coding_utf_16)
12329 (detect_coding_emacs_mule, detect_coding_iso_2022)
12330 (detect_coding_sjis, detect_coding_big5)
12331 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12332 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12333 sequence is valid in this coding system. Change callers.
12334 (MAX_ANNOTATION_LENGTH): New macro.
12335 (ADD_ANNOTATION_DATA): New macro.
12336 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12337 ADD_ANNOTATION_DATA. Change the format of annotation data.
12338 (ADD_CHARSET_DATA): New macro.
12339 (emacs_mule_char): New argument ID. Change callers.
12340 (decode_coding_emacs_mule, decode_coding_iso_2022)
12341 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12342 Produce charset annotation data in coding->charbuf.
12343 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12344 to charset annotation data in coding->charbuf.
12345 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12346 coding->common_flags if the coding system is iso-2022 based and
12347 uses designation.
12348 (produce_composition): Adjust for the new annotation data format.
12349 (produce_charset): New function.
12350 (produce_annotation): Handle charset annotation.
12351 (handle_composition_annotation, handle_charset_annotation): New
12352 functions.
12353 (consume_chars): Handle charset annotation. Utilize the above two
12354 functions.
12355 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12356 buffer, get the deleted text as a string and set
12357 coding->src_object to that string.
12358 (detect_coding, detect_coding_system): Use the new struct
12359 coding_detection_info.
12360
12361 * coding.h (struct coding_detection_info): New structure.
12362 (struct coding_system): Adjust prototype of the member `detector'.
12363 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12364
123652008-02-01 Kenichi Handa <handa@m17n.org>
12366
12367 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12368
123692008-02-01 Dave Love <fx@gnu.org>
12370
12371 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12372 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12373 to new local and nullify apropos_accumulate before returning.
12374 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12375
123762008-02-01 Kenichi Handa <handa@m17n.org>
12377
12378 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12379 correctly.
e3eea1fc 12380
aac0c6e3
MR
123812008-02-01 Dave Love <fx@gnu.org>
12382
12383 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12384
123852008-02-01 Kenichi Handa <handa@m17n.org>
12386
12387 The following changes are to make character composition happen
12388 automatically on displaying.
12389
12390 * Makefile.in (lisp, shortlisp): Add composite.elc.
12391
12392 * composite.h (Qauto_composed, Vauto_composition_function)
12393 (Qauto_composition_function): Extern them.
12394
12395 * composite.c (Vcomposition_function_table)
12396 (Qcomposition_function_table): Delete variables.
12397 (Qauto_composed, Vauto_composition_function)
12398 (Qauto_composition_function): New variables.
12399 (run_composition_function): Don't call
12400 compose-chars-after-function.
12401 (update_compositions): Clear `auto-composed' text property.
12402 (compose_chars_in_text): Delete this function.
12403 (syms_of_composite): Staticpro Qauto_composed and
12404 Qauto_composition_function. Declare Vauto_composition_function as
12405 a Lisp variable.
12406
12407 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12408
12409 * xdisp.c (it_props): Add an entry for Qauto_composed.
12410 (handle_auto_composed_prop): New function.
12411
12412 * xselect.c (selection_data_to_lisp_data): Don't call
12413 compose_chars_in_text.
12414
124152008-02-01 Dave Love <fx@gnu.org>
12416
12417 * keyboard.c (read_char): Modify checking around use of
12418 Vkeyboard_translate_table.
12419
12420 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12421 and fix C types.
12422
124232008-02-01 Kenichi Handa <handa@m17n.org>
12424
12425 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12426 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12427 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12428 the case that the last byte is '\r' correctly.
12429 (decode_coding): Flush out the unprocessed data correctly.
12430 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12431
124322008-02-01 Dave Love <fx@gnu.org>
12433
12434 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12435 Add XK_ISO... case.
12436 (xaw_scroll_callback): Revert last change.
12437
124382008-02-01 Kenichi Handa <handa@m17n.org>
12439
12440 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12441
124422008-02-01 Kenichi Handa <handa@m17n.org>
12443
12444 * xfaces.c (Vface_resizing_fonts): New variable.
12445 (struct font_name): New member `resizing_ratio'.
12446 (font_resizing_ratio): New function.
12447 (split_font_name): Set font->resizing_ratio.
12448 (better_font_p): Pay attention to font->resizing_ratio.
12449 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12450 RESX, and RESY fields.
12451 (try_alternative_families): Try scalable fonts if
12452 Vscalable_fonts_allowed is not Qt.
12453 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12454
124552008-02-01 Dave Love <fx@gnu.org>
12456
12457 * xterm.c (xaw_scroll_callback): Cast correctly.
12458
124592008-02-01 Dave Love <fx@gnu.org>
12460
12461 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12462 (lispy_kana_keys): Comment out.
12463 (make_lispy_event) [XK_kana_A]: Comment out.
12464
12465 * xterm.c (xaw_scroll_callback): Cast call_data.
12466 (XTread_socket): Deal with ASCII keysyms.
12467 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12468
124692008-02-01 Dave Love <fx@gnu.org>
12470
12471 * xterm.c (Vx_keysym_table): New.
12472 (syms_of_xterm): Initialize it.
12473 (XTread_socket): Use it.
12474 From head: Eliminate incorrect optimization that tried to avoid
12475 decoding the output of X*LookupString.
12476 (x_get_font_repertory): Delete charset declaration.
12477
124782008-02-01 Kenichi Handa <handa@m17n.org>
12479
12480 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12481 return 0.
12482 (Fdefine_coding_system_internal): Setup
12483 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12484
124852008-02-01 Dave Love <fx@gnu.org>
12486
12487 * coding.c (Fcheck_coding_system): Doc fix.
12488
12489 * editfns.c (Finsert_byte): Return a proper value.
12490
124912008-02-01 Kenichi Handa <handa@m17n.org>
12492
12493 * coding.c (decode_coding): Fix args to translate_chars. Pay
12494 attention to Vstandard_translation_table_for_decode.
12495 (encode_coding): Fix args to translate_chars. Pay attention to
12496 Vstandard_translation_table_for_encode.
12497
12498 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12499 SINGLE_BYTE_CHAR_P.
12500
12501 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12502 not by SINGLE_BYTE_CHAR_P.
12503
12504 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12505 SINGLE_BYTE_CHAR_P.
12506
12507 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12508 SINGLE_BYTE_CHAR_P.
12509
12510 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12511 by SINGLE_BYTE_CHAR_P.
12512
12513 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12514 SINGLE_BYTE_CHAR_P.
12515
125162008-02-01 Dave Love <fx@gnu.org>
12517
12518 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12519
125202008-02-01 Dave Love <fx@gnu.org>
12521
12522 * fns.c (Flanginfo): Fix typo.
12523
12524 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12525
125262008-02-01 Kenichi Handa <handa@m17n.org>
12527
12528 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12529 (detect_coding_emacs_mule, detect_coding_iso_2022)
12530 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12531 incomplete byte sequence. Don't update *mask when correctly detected.
12532 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12533 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12534 (detect_coding, detect_coding_system): Adjust for the changes above.
12535
125362008-02-01 Kenichi Handa <handa@m17n.org>
12537
12538 * character.c (char_string): Rename from
12539 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12540 (string_char): Rename from string_char.
12541
12542 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12543 if C is greater than MAX_3_BYTE_CHAR.
12544 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12545 string_char instead of string_char_with_unification.
12546
125472008-02-01 Dave Love <fx@gnu.org>
12548
12549 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12550
125512008-02-01 Kenichi Handa <handa@m17n.org>
12552
12553 * keymap.c (push_key_description): Pay attention to force_multibyte.
12554
12555 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12556
125572008-02-01 Dave Love <fx@gnu.org>
12558
12559 * charset.c (define_charset_internal): Rename `supprementary'.
12560
12561 * Makefile.in (lisp, shortlisp): Remove latin-N.
12562
125632008-02-01 Dave Love <fx@gnu.org>
12564
12565 * xfns.c (x_window, x_window): Use use_xim.
12566
12567 * xterm.c (use_xim): Initialize.
12568 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12569 (x_term_init): Maybe set use_xim.
12570
12571 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12572
125732008-02-01 Kenichi Handa <handa@m17n.org>
12574
12575 * search.c (search_buffer): Fix case-fold-search of multibyte
12576 characters.
12577 (boyer_moore): Rename the last argument to char_high_bits.
12578
125792008-02-01 Kenichi Handa <handa@m17n.org>
12580
12581 * xdisp.c (display_string): Fix for the case of zero width glyph.
12582
12583 * xfns.c (x_set_font): Change the error message of the case that
12584 x_new_fontset returns Qt.
12585
12586 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12587 (Finternal_set_lisp_face_attribute): Use signal_error for the
12588 error of invalid fontset.
12589
12590 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12591 fontset, return Qt.
12592
125932008-02-01 Dave Love <fx@gnu.org>
12594
12595 * unexelf.c (unexec): Make .got handling not SGI-specific.
12596
12597 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12598
12599 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12600
12601 * keyboard.c (read_key_sequence): Fix type error.
12602
12603 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12604 type error.
12605
12606 * fontset.c (fontset_add): Return Lisp_Object.
12607
126082008-02-01 Dave Love <fx@gnu.org>
12609
12610 * charset.h (charset_ordered_list_tick): Declare extern.
12611
126122008-02-01 Kenichi Handa <handa@m17n.org>
12613
12614 The following changes (and some of 2008-02-01 changes of mine) are
12615 for handling syntax, category, and case conversion for unibyte
12616 characters by converting them to multibyte on the fly. With these
12617 changes, we don't have to setup syntax and case tables for unibyte
12618 characters in each language environment.
12619
12620 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12621 multibyte if necessary.
12622
12623 * bytecode.c (Fbyte_code): Likewise.
12624
12625 * character.h (LEADING_CODE_LATIN_1_MIN)
12626 (LEADING_CODE_LATIN_1_MAX): New macros.
12627 (unibyte_to_multibyte_table): Extern it.
12628 (unibyte_char_to_multibyte): New macro.
12629 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12630 (CHAR_LEADING_CODE): New macro.
12631 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12632
12633 * character.c (unibyte_to_multibyte_table): New variable.
12634 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12635 (multibyte_char_to_unibyte): If C is an eight-bit character,
12636 convert it to the corresponding byte value.
12637
12638 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12639 not 1, signals an error. Update the elements of
12640 unibyte_to_multibyte_table.
12641 (init_charset_once): Initialize unibyte_to_multibyte_table.
12642 (syms_of_charset): Define the charset `iso-8859-1'.
12643
12644 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12645 as is without converting it to unibyte. In a unibyte buffer,
12646 convert C to multibyte before checking the syntax.
12647
12648 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12649
12650 * minibuf.c (Fminibuffer_complete_word): Use the macro
12651 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12652
12653 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12654
12655 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12656 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12657 that is zero, convert an eight-bit char to multibyte.
12658 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12659 non-emacs case.
12660 (PATFETCH): Convert an eight-bit char to multibyte.
12661 (HANDLE_UNIBYTE_RANGE): New macro.
12662 (regex_compile): Setup the compiled pattern for multibyte chars
12663 even if the given regex string is unibyte. Use PATFETCH_RAW
12664 instead of PATFETCH in many places. To handle `charset'
12665 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12666 only for ASCII chars.
12667 (analyse_first) <exactn>: Simplify because the compiled pattern
12668 is multibyte.
12669 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12670 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12671 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12672 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12673 multibyte always 1.
12674 (re_search_2): In emacs, set the locale variable multibyte to 1,
12675 otherwise to 0. New local variable target_multibyte. Check it
12676 to decide the multibyteness of STR1 and STR2. If
12677 target_multibyte is zero, convert unibyte chars to multibyte
12678 before translating and checking fastmap.
12679 (TARGET_CHAR_AND_LENGTH): New macro.
12680 (re_match_2_internal): In emacs, set the locale variable multibyte
12681 to 1, otherwise to 0. New local variable target_multibyte. Check
12682 it to decide the multibyteness of STR1 and STR2. Use
12683 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12684 <charset, charset_not>: If multibyte is nonzero, check fastmap
12685 only for ASCII chars. Call bcmp_translate with
12686 target_multibyte, not with multibyte.
12687 <begline>: Declare the local variable C as `unsigned'.
12688 (bcmp_translate): Change the last arg name to target_multibyte.
12689
12690 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12691 the regexp pattern and the matching target. Set cp->buf.multibyte
12692 to the multibyteness of the regexp pattern. Set
12693 cp->but.target_multibyte to the multibyteness of the matching target.
12694 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12695 FETCH_STRING_CHAR_ADVANCE.
12696 (Freplace_match): Convert unibyte chars to multibyte.
12697
12698 * syntax.c (char_quoted, back_comment, scan_words)
12699 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12700 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12701 unibyte chars to multibyte.
12702 (skip_chars): Delete the arg syntaxp, and move the code for
12703 handling syntaxes to skip_syntaxes. Change callers.
12704 Fix the case that the multibyteness of STRING and the current
12705 buffer doesn't match.
12706 (skip_syntaxes): New function.
12707 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12708 SINGLE_BYTE_CHAR_P.
12709
127102008-02-01 Kenichi Handa <handa@m17n.org>
12711
12712 * xfaces.c (QCfontset): New variable.
12713 (LFACE_FONTSET): New macro.
12714 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12715 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12716 (Finternal_set_lisp_face_attribute)
12717 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12718 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12719 check also LFACE_FONTSET_INDEX.
12720 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12721 attrs[LFACE_FONT_INDEX].
12722 (syms_of_xfaces): Intern and staticpro QCfontset.
12723
12724 * dispextern.h (enum lface_attribute_index): New member
12725 LFACE_FONTSET_INDEX.
12726
12727 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12728
127292008-02-01 Kenichi Handa <handa@m17n.org>
12730
12731 * coding.c (coding_set_destination): Fix coding->destination for
12732 the case converting a region.
12733 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12734 (encode_coding_object): Fix coding->dst_pos and
12735 coding->dst_pos_byte for the case converting a region.
12736
12737 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12738
12739 * character.h (BYTE8_STRING): New macro.
12740
12741 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12742
127432008-02-01 Kenichi Handa <handa@m17n.org>
12744
12745 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12746 characters by octal form.
12747
12748 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12749
12750 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12751 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12752 _fetch_multibyte_char_len.
12753 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12754
12755 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12756
12757 * casefiddle.c (casify_object): Simplify. Handle the case that
12758 the case conversion change the byte length.
12759 (casify_region): Likewise.
12760
12761 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12762
12763 * character.c (_fetch_multibyte_char_len): Delete this variable.
12764 (syms_of_character): Setup Vprintable_chars.
12765
12766 * editfns.c (Fchar_equal): Fix for the unibyte case.
12767 (Finsert_byte): New function.
12768 (syms_of_editfns): Defsubr it.
12769
12770 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12771 of direct code 0x3ffff.
12772
12773 * search.c (Freplace_match): Fix for the unibyte case.
12774
127752008-02-01 Kenichi Handa <handa@m17n.org>
12776
12777 * lread.c (safe_to_load_p): Fix the logic.
12778
12779 * syntax.c (scan_words): Don't treat characters belonging to
12780 different scripts as constituting a word.
12781
12782 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12783
12784 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12785
12786 * emacs.c (main): In the case of --unibyte, instead of aborting on
12787 finding non-empty buffer, make it unibyte.
12788
127892008-02-01 Kenichi Handa <handa@m17n.org>
12790
12791 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12792 to create a fontset.
12793
127942008-02-01 Dave Love <fx@gnu.org>
12795
12796 * character.c (Funibyte_char_to_multibyte): Doc fix.
12797
12798 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12799
128002008-02-01 Kenichi Handa <handa@m17n.org>
12801
12802 * fontset.c (fontset_add): Make the type `int'.
12803 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12804
12805 * character.c (unibyte_char_to_multibyte)
12806 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12807 charset_unibyte, not charset_primary.
12808
12809 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12810
12811 * charset.c (charset_unibyte): Rename from charset_primary.
12812 (Funibyte_charset): Rename from Fprimary_charset.
12813 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12814 (syms_of_charset): Adjust for the above changes.
12815
12816 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12817 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12818 it->multibyte_p is zero.
12819
12820 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12821 Delete extern.
12822
128232008-02-01 Kenichi Handa <handa@m17n.org>
12824
12825 * coding.c (Fdefine_coding_system_internal): Fix category setting
12826 for a coding system of type iso-2022.
12827
128282008-02-01 Kenichi Handa <handa@m17n.org>
12829
12830 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12831
128322008-02-01 Kenichi Handa <handa@m17n.org>
12833
12834 * syntax.c (Vnext_word_boundary_function_table): New variable.
12835 (next-word-boundary-function-table): Declare it as a Lisp variable
12836 in syms_of_syntax.
12837 (scan_words): Call functions in Vnext_word_boundary_function_table
12838 if any.
12839
12840 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12841
12842 * fontset.c (fs_load_font): If fontp->charset is not negative,
12843 return fontp without setting its members.
12844
128452008-02-01 Dave Love <fx@gnu.org>
12846
12847 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12848
12849 * m/sparc.h (HAVE_ALLOCA): Delete.
12850
12851 * s/irix6-5.h: Don't include strings.h.
12852 (bcopy, bzero, bcmp): Don't undef.
12853
12854 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12855
12856 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12857 (TIOCSIGSEND): Don't test IRIX6.
12858 (bcopy, bzero, bcmp): Define conditionally.
12859
128602008-02-01 Kenichi Handa <handa@m17n.org>
12861
12862 * buffer.c (Qas, Qmake, Qto): New variables.
12863 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12864 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12865
12866 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12867 we are inserting a process output into a multibyte buffer.
12868
12869 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12870 multibyte_char_to_unibyte.
12871
12872 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12873 by the primary charset, make it eight-bit char.
12874 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12875
12876 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12877 (charset_8_bit__control, charset_8_bit_graphic)
12878 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12879 (define_charset_internal): New function.
12880 (syms_of_charset): Call define_charset_internal for pre-defined
12881 charsets.
12882
12883 * charset.h (charset_8_bit): Extern it.
12884
12885 * coding.c (make_conversion_work_buffer): Adjust for the change
12886 of Fset_buffer_multibyte.
12887 (encode_coding_raw_text): Increment p0 in the loop.
12888
12889 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12890
12891 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12892 for the change of Fset_buffer_multibyte.
12893
12894 * fns.c (Fstring_to_multibyte): New function.
12895 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12896
128972008-02-01 Dave Love <fx@gnu.org>
12898
12899 * xfns.c (x_put_x_image): Declare args.
12900
12901 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12902 (try_font_list): Declare an arg.
12903
12904 * xdisp.c (message2_nolog, set_message): Declare an arg.
12905
12906 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12907
12908 * syntax.c (scan_sexps_forward): Declare an arg.
12909
12910 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12911 Declare an arg.
12912
12913 * lisp.h (Fnew_fontset): Declare.
12914
12915 * keymap.c (push_key_description): Call CHARACTERP correctly.
12916
12917 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12918 (face_for_char): Delete unused vars.
12919 (Fset_fontset_font): Doc fix. Delete unused vars.
12920
12921 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12922
12923 * composite.c (update_compositions): Declare arg.
12924
12925 * cm.c (calccost, cmgoto): Declare args.
12926
12927 * charset.c: Remove `emacs' conditional. Doc fixes.
12928 (map_char_table_for_charset): Declare.
12929
12930 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12931
12932 * ccl.c: Remove `emacs' conditional.
12933
129342008-02-01 Kenichi Handa <handa@m17n.org>
12935
12936 The following changes are to allow specifying multiple font
12937 patterns for a character range (specified by script or charset).
12938
12939 * Makefile.in (abbrev.o): Depend on syntax.h.
12940 (xfaces.o): Depend on charset.h.
12941
12942 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12943 SINGLE_BYTE_CHAR_P.
12944
12945 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12946
12947 * character.h (Vchar_script_table): Extern it.
12948
12949 * character.c (Vscript_alist): Delete.
12950 (Vchar_script_table, Qchar_script_table): New variable.
12951 (syms_of_character): Declare Vchar_script_table as a lisp variable
12952 and initialize it.
12953
12954 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12955 have property char-table-extra-slots, make no extra slot.
12956
12957 * dispextern.h (struct face): Delete member `charset'.
12958 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12959 SINGLE_BYTE_CHAR_P.
12960 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12961 Add prototypes.
12962 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12963 (generate_ascii_font_name): Rename from generate_ascii_font.
12964
12965 * fontset.h (get_font_repertory_func): New prototype.
12966 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12967 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12968
12969 * fontset.c (Qprepend, Qappend): New variables.
12970 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12971 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12972 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12973 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12974 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12975 (load_font_get_repertory): New functions.
12976 (fontset_set): Delete.
12977 (fontset_face): New arg FACE. Return face ID, not face.
12978 Complete re-write to handle new fontset structure. Change caller.
12979 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12980 (face_for_char): Don't call lookup_face.
12981 (make_fontset_for_ascii_face): New arg FACE.
12982 (fs_load_font): New arg CHARSET_ID. Don't check
12983 Vfont_encoding_alist here.
12984 (find_font_encoding): New function.
12985 (list_fontsets): Use STRINGP, not ! NILP.
12986 (accumulate_script_ranges): New function.
12987 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12988 re-written to handle new fontset structure.
12989 (Ffontset_font): Return a copy of element.
12990 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12991 docstring of font-encoding-alist.
12992
12993 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12994 (Fset_fotset_font): Fix arguments to 5.
12995
12996 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12997
12998 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12999 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13000 (highlight_trailing_whitespace): Adjust for the change of
13001 lookup_named_face.
13002
13003 * xfaces.c: Include charset.h.
13004 (load_face_font): Delete argument C. Change caller.
13005 (generate_ascii_font_name): Rename from generate_ascii_font.
13006 (font_name_registry): New function.
13007 (cache_face): Store ascii faces before non-ascii faces in buckets.
13008 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
13009 Lookup only ascii faces.
13010 (lookup_non_ascii_face): New function.
13011 (lookup_named_face): Delete argument C. Change caller.
13012 (lookup_derived_face): Delete argument C. Change caller.
13013 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
13014 a string, just call font_list with it.
13015 (choose_face_font): Delete arguments FACE and C. New arg
13016 FONT_SPEC. Change caller.
13017 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
13018 Change caller.
13019 (realize_non_ascii_face): New function.
13020 (realize_x_face): Call load_face_font here.
13021 (realize_tty_face): Delete argument C. Change caller.
13022 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
13023 get a face ID.
13024 (dump_realized_face): Don't print charset of FACE.
13025
13026 * xfns.c (x_set_font): Always call x_new_fontset and
13027 store_frame_parameter.
13028 (Fx_create_frame): Call x_new_fontset, not x_new_font.
13029 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
13030
13031 * xterm.h (x_get_font_repertory): Extern it.
13032
13033 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13034 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13035 it->multibyte_p is zero.
13036 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13037 (x_new_fontset): If FONTSETNAME doesn't match any existing
13038 fontsets, create a new one.
13039 (x_get_font_repertory): New function.
13040
130412008-02-01 Kenichi Handa <handa@m17n.org>
13042
13043 * coding.c (Ffind_coding_systems_region_internal): Detect an
13044 ASCII only string correctly.
13045
13046 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
13047 version is 0.
13048
130492008-02-01 Kenichi Handa <handa@m17n.org>
13050
13051 * lread.c: Include "coding.h".
13052 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
13053 (load_each_byte, unread_char): New variables.
13054 (readchar_backlog): Delete.
13055 (readchar): Return a character unless load_each_byte is nonzero.
13056 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
13057 cons. If unread_char is not -1, simply return it.
13058 (unreadchar): Handle the case that readcharfun is
13059 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
13060 (read_multibyte): Delete.
13061 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
13062 (read_emacs_mule_char): New functions.
13063 (Fload): Even if the file doesn't have the extension ".elc", if
13064 safe_to_load_p returns a positive version number, assume that the
13065 file contains bytecompiled code. If the version is less than 22,
13066 load the file while decoding multibyte sequences by emacs-mule.
13067 (readevalloop): Don't use readchar_backlog.
13068 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
13069 (Fread_from_string): Pay attention to the case that STREAM is a cons.
13070 (read_escape): Delete the arg BYTEREP.
13071 (read1): Set load_each_byte to 1 temporarily while handling
13072 #@NUMBER. Don't call read_multibyte.
13073 (read_vector): Call Fread with a cons. If readcharfun is
13074 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13075 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13076 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13077 and Qload_force_doc_strings.
13078
130792008-02-01 Kenichi Handa <handa@m17n.org>
13080
13081 * xdisp.c (face_before_or_after_it_pos): Call
13082 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13083
130842008-02-01 Kenichi Handa <handa@m17n.org>
13085
13086 * character.h (TRAILING_CODE_P): New macro.
13087 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13088 (string_char_with_unification): Fix prototype.
13089 (Vscript_alist): Extern it.
13090
13091 * character.c (Vscript_alist): New variable.
13092 (string_char_with_unification, str_as_unibyte)
13093 (string_escape_byte8): Add `const' to local variables.
13094 (syms_of_character): Declare script-alist as a Lisp variable.
13095
13096 * charset.h (Vcharset_ordered_list): Extern it.
13097 (charset_ordered_list_tick): Extern it.
13098 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13099 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13100 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13101 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13102 (Funify_charset): Adjust for the change of Funify_charset.
13103
13104 * charset.c (charset_ordered_list_tick): New variable.
13105 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13106 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13107 deunify intead of unify a charset.
13108 (string_xstring_p): Add `const' to local variables.
13109 (find_charsets_in_text): Add `const' to arguments and local variables.
13110 (encode_char): Adjust for the change of Funify_charset. Fix
13111 detecting of invalid code.
13112 (Fset_charset_priority): Increment charset_ordered_list_tick.
13113 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13114 and TO_CODE.
13115
13116 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13117 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13118 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13119 (decode_coding_ccl, consume_chars)
13120 (Ffind_coding_systems_region_internal)
13121 (Fcheck_coding_systems_region): Add `const' to local variables.
13122
13123 * print.c (print_object): Use octal form for printing the
13124 contents of a bool vector.
13125
131262008-02-01 Dave Love <fx@gnu.org>
13127
13128 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13129 <version == 20>: Refuse to load.
13130
131312008-02-01 Dave Love <fx@gnu.org>
13132
13133 * fns.c: Move coding.h.
13134 (Qcodeset, Qdays, Qmonths): New.
13135 (concat): Use CHARACTERP instead of INTEGERP.
13136 (Flocale_codeset): Delete.
13137 (Flanginfo): New function.
13138 (syms_of_fns): Change accordingly.
13139
13140 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13141
131422008-02-01 Dave Love <fx@gnu.org>
13143
13144 * casetab.c (init_casetab_once, init_casetab_once): Fix
13145 CHAR_TABLE_SET call.
13146
13147 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13148
13149 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13150
13151 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13152 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13153 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13154
13155 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13156
13157 * coding.c (ENCODE_DESIGNATION, decode_eol)
13158 (make_conversion_work_buffer, code_conversion_restore)
13159 (Fdefine_coding_system_internal): Convert Lisp types.
13160 (code_conversion_restore): Use EQ, not ==.
13161 (Fencode_coding_string): Fix code_convert_string call.
13162
13163 * coding.h (code_convert_region): Fix prototype.
13164
13165 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13166
13167 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13168 (Ffontset_info): Convert Lisp types.
13169
13170 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13171
13172 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13173
13174 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13175
13176 * chartab.c: Include "...h", not <...h> in some cases.
13177
13178 * callproc.c (Fcall_process): Remove unused variables.
13179
131802008-02-01 Dave Love <fx@gnu.org>
13181
13182 * coding.c (Fset_coding_system_priority): Allow null arg list.
13183
131842008-02-01 Dave Love <fx@gnu.org>
13185
13186 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13187 (Fself_insert_and_exit): Use CHARACTERP.
13188
13189 * callproc.c (Fcall_process): Remove unused vars.
13190
13191 * xterm.c (XTread_socket): Add extra dead keysyms.
13192
13193 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13194
13195 * dispextern.h: Remove prototypes for redraw_frame,
13196 redraw_garbaged_frames.
13197
13198 * cmds.c (Fself_insert_command): Use CHARACTERP.
13199
13200 * chartab.c (make_sub_char_table): Remove unused var.
13201 (Fset_char_table_default, Fmap_char_table): Doc fix.
13202
13203 * keymap.c (access_keymap): Remove generic char code.
13204 (push_key_description): Use CHARACTERP.
13205
132062008-02-01 Dave Love <fx@gnu.org>
13207
13208 * charset.c: Doc fixes.
13209 (Funify_charset): Extra checking.
13210
132112008-02-01 Dave Love <fx@gnu.org>
13212
13213 * lread.c: Remove some unused variables.
13214 (safe_to_load_p): If safe, return the magic number version byte.
13215 (Fload): Maybe use load-with-code-conversion.
13216
132172008-02-01 Kenichi Handa <handa@m17n.org>
13218
13219 * category.c (Fmodify_category_entry): Don't modify the contents
13220 of category_set for characters out of the range. Avoid
13221 unnecessary modification.
13222
13223 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13224 Vchar_unify_table. The default value of the table is now nil.
13225
13226 * character.c (syms_of_character): Setup Vchar_width_table for
13227 eight-bit-control and raw-byte chars.
13228
13229 * charset.h (enum define_charset_arg_index): Delete
13230 charset_arg_parents and add charset_arg_subset and
13231 charset_arg_superset.
13232 (enum charset_attr_index): Delete charset_parents and add
13233 charset_subset and charset_superset.
13234 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13235 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13236 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13237 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13238 (CHARSET_SUPERSET): New macros.
13239 (charset_work): Extern it.
13240 (ENCODE_CHAR): Use charset_work.
13241 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13242 (map_charset_chars): Extern it.
13243
13244 * charset.c (load_charset_map): Set the default value of encoder
13245 and deunifier char-tables to nil.
13246 (map_charset_chars): Change argument. Change callers. Use
13247 map_char_table_for_charset instead of map_char_table.
13248 (Fmap_charset_chars): New optional args from_code and to_code.
13249 (Fdefine_charset_internal): Adjust for the change of
13250 `define-charset' (:parents -> :subset or :superset).
13251 (charset_work): New variable.
13252 (encode_char, syms_of_charset): Adjust for the change of
13253 Fdefine_charset_internal.
13254 (Ffind_charset_string): Setup the vector `charsets' correctly.
13255
13256 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13257 the previous change.
13258 (char_table_ref_and_range): Adjust for the above change.
13259 (map_sub_char_table_for_charset): New function.
13260 (map_char_table_for_charset): New function.
13261
13262 * keymap.c (describe_vector): Handle a char-table directly here.
13263 (describe_char_table): Delete.
13264
13265 * lisp.h (map_charset_chars): Delete.
13266
132672008-02-01 Dave Love <fx@gnu.org>
13268
13269 * fns.c (count_combining): Comment out (unused).
13270 (Flocale_codeset): New.
13271 (syms_of_fns): Defsubr it.
13272
13273 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13274 (size_t): Remove.
13275
132762008-02-01 Dave Love <fx@gnu.org>
13277
13278 * Makefile.in (chartab.o): Depend on charset.h.
13279
132802008-02-01 Kenichi Handa <handa@m17n.org>
13281
13282 * character.c (syms_of_character): Set the default value of
13283 Vprintable_chars to Qnil.
13284
132852008-02-01 Dave Love <fx@gnu.org>
13286
13287 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13288
132892008-02-01 Kenichi Handa <handa@m17n.org>
13290
13291 * charset.c (load_charset_map): Handle the case that from < to
13292 correctly.
13293
13294 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13295 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13296 Pay attention to raw-8-bit chars.
13297
132982008-02-01 Kenichi Handa <handa@m17n.org>
13299
13300 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13301 It is not bytecompiled now.
13302
13303 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13304 (charset_jisx0208): New variables.
13305 (Fdefine_charset_internal): Setup them if appropriate.
13306 (init_charset_once): Initialize them to -1.
13307
13308 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13309 (charset_jisx0208): Extern them.
13310
13311 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13312 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13313 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13314 (setup_iso_safe_charsets): Fix arguments to Fassq.
13315 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13316 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13317 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13318 (encode_coding_iso_2022): Change the 1st arg to
13319 ENCODE_ISO_CHARACTER to a variable.
13320
133212008-02-01 Kenichi Handa <handa@m17n.org>
13322
13323 * charset.h (enum define_charset_arg_index): New enums
13324 charset_arg_min_code and charset_arg_max_code.
13325 (struct charset): New member char_index_offset.
13326
13327 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13328 Take charset->char_index_offset into account.
13329 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13330 args[charset_arg_max_code]. Setup charset.char_index_offset.
13331 (syms_of_charset): Fix args to Fdefine_charset_internal.
13332
133332008-02-01 Dave Love <fx@gnu.org>
13334
13335 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13336
133372008-02-01 Dave Love <fx@gnu.org>
13338
13339 * coding.c: Doc fixes.
13340 (Fcoding_system_aliases): Fix return value.
13341 (Qmac): Remove (duplicated) definition.
13342
133432008-02-01 Dave Love <fx@gnu.org>
13344
13345 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13346 functions.
13347
13348 * character.c (Fstring): Doc fix.
13349
13350 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13351
13352 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13353 ids.
13354 (font-encoding-alist): Doc fix.
13355
133562008-02-01 Dave Love <fx@gnu.org>
13357
13358 * term.c (costs_set): Declare static, non-initialized for pcc.
13359 (encode_terminal_code): Remove unused var.
13360
13361 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13362 for K&R.
13363
13364 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13365
13366 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13367 (suffixes): Move out of make_subsidiaries for K&R.
13368
13369 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13370
13371 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13372
133732008-02-01 Dave Love <fx@gnu.org>
13374
13375 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13376
13377 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13378
133792008-02-01 Yong Lu <lyongu@asia-infonet.com>
13380
13381 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13382
13383 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13384
133852008-02-01 Kenichi Handa <handa@m17n.org>
13386
13387 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13388 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13389
133902008-02-01 Kenichi Handa <handa@m17n.org>
13391
13392 * coding.c (decode_coding_charset): Adjust for the change of
13393 Fdefine_coding_system_internal.
13394 (Fdefine_coding_system_internal): For a coding system of
13395 `charset' type, store a list of charset IDs in
13396 `charset_attr_charset_valids' element of coding attributes.
13397
133982008-02-01 Kenichi Handa <handa@m17n.org>
13399
13400 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13401 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13402 caller. Handle 2-byte and 3-byte charsets correctly.
13403 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13404 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13405 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13406 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13407 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13408 sequence.
13409 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13410 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13411 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13412 and alt&rule composition.
13413 (decode_coding_iso_2022): Handle composition correctly.
13414 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13415
13416 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13417 re-defining a charset. If the charset has :emacs-mule-id, setup
13418 emacs_mule_bytes.
13419 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13420
134212008-02-01 Kenichi Handa <handa@m17n.org>
13422
13423 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13424 (encode_coding_big5, encode_coding_charset): If coding requires safe
13425 encoding, produce a character specified by
13426 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13427
134282008-02-01 Dave Love <fx@gnu.org>
13429
13430 * xterm.c (XSetIMValues): Declare.
13431
13432 * process.c: Conditionally include sys/wait.h, pty.h.
13433
13434 * print.c (print_object): Fix print format for 64-bit systems.
13435
13436 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13437
13438 * buffer.c (emacs_strerror): Declare.
13439
13440 * fontset.c (Fclear_face_cache): Declare.
13441 (accumulate_font_info): Comment-out (unused).
13442 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13443 variables.
13444
13445 * character.h (string_escape_byte8): Declare.
13446
13447 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13448 unused vars.
13449 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13450 (Fmap_charset_chars): Doc fix.
13451
13452 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13453 (Fset_coding_system_priority, Fset_coding_system_priority)
13454 (Fdefine_coding_system_internal): Doc fix.
13455
134562008-02-01 Dave Love <fx@gnu.org>
13457
13458 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13459
134602008-02-01 Kenichi Handa <handa@m17n.org>
13461
13462 * character.c (string_escape_byte8): Make multibyte string with
13463 correct size.
13464
13465 * charset.c (Fmake_char): Delete unnecessary code.
13466
134672008-02-01 Kenichi Handa <handa@m17n.org>
13468
13469 * xfns.c (x_encode_text): Allocate coding.destination here, and
13470 call encode_coding_object with dst_object Qnil.
13471
13472 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13473 multibyte form correctly.
13474
13475 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13476 against Vfont_encoding_alist.
13477
13478 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13479 handling of charset list.
13480 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13481 (decode_coding_object): Move point to coding->dst_pos before
13482 calling post-read-conversion function.
13483 (encode_coding_object): Give correct arguments to
13484 pre-write-conversion. Ignore the return value of
13485 pre-write-conversion function. Pay attention to the case that
13486 pre-write-conversion changes the current buffer. If dst_object is
13487 Qt, even if coding->src_bytes is zero, allocate at least one byte
13488 to coding->destination.
13489
13490 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13491
13492 * charset.c (Fmake_char): Make it more backward compatible.
13493 (Fmap_charset_chars): Fix docstring.
13494
134952008-02-01 Dave Love <fx@gnu.org>
13496
13497 * coding.c: Doc fixes.
13498 (Fdefine_coding_system_alias): Use names, not symbols, in
13499 coding-system-alist.
13500
135012008-02-01 Kenichi Handa <handa@m17n.org>
13502
13503 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13504 of calling free_realized_face.
13505
135062008-02-01 Yong Lu <lyongu@asia-infonet.com>
13507
13508 * charset.c (read_hex): Don't treat SPC as a comment starter.
13509 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13510 (Fdecode_char): Fix typo.
13511
135122008-02-01 Kenichi Handa <handa@m17n.org>
13513
13514 * charset.h (struct charset): New member `code_space_mask'.
13515
13516 * coding.c (coding_set_source): Delete the local variable beg_byte.
13517 (encode_coding_charset, Fdefine_coding_system_internal):
13518 Delete the local variable charset.
13519 (Fdefine_coding_system_internal): Setup
13520 attrs[coding_attr_charset_valids] correctly.
13521
13522 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13523 member to check if CODE is valid or not.
13524 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13525 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13526 is within the range of charset->min_code and carset->max_code.
13527
135282008-02-01 Dave Love <fx@gnu.org>
13529
13530 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13531
13532 * dispextern.h (generate_ascii_font): Fix return type.
13533
13534 * xfaces.c (generate_ascii_font): Fix arg declaration.
13535
13536 * coding.c (coding_inherit_eol_type)
13537 (Fset_terminal_coding_system_internal)
13538 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13539
135402008-02-01 Kenichi Handa <handa@m17n.org>
13541
13542 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13543 multiple charsets correctly.
13544
135452008-02-01 Kenichi Handa <handa@m17n.org>
13546
13547 * search.c (boyer_moore): Fix handling of multibyte character
13548 translation.
13549
13550 * xdisp.c (display_mode_element): When the variable `elt' is
13551 changed, update `this' and `lisp_string'.
13552
135532008-02-01 Kenichi Handa <handa@m17n.org>
13554
13555 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13556
13557 * callproc.c (Fcall_process): Be sure to give the current buffer
13558 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13559
13560 * charset.c (struct charset_map_entries): New struct.
13561 (load_charset_map): Rename from parse_charset_map. New args
13562 entries and n_entries. Change caller.
13563 (load_charset_map_from_file): Rename from load_charset_map.
13564 Change caller. New arg control_flag. Call load_charset_map at
13565 the tail.
13566 (load_charset_map_from_vector): New function.
13567 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13568 (encode_char): If the charset is compact, change a character index
13569 to a code point.
13570
13571 * coding.c (coding_alloc_by_making_gap): Check the case that the
13572 source and destination are the same correctly.
13573 (decode_coding_raw_text): Set coding->consumed_char and
13574 coding->consumed to 0.
13575 (produce_chars): If coding->chars_at_source is nonzero, update
13576 coding->consumed_char and coding->consumed before calling
13577 alloc_destination.
13578 (Fdefine_coding_system_alias): Register ALIAS in
13579 Vcoding_system_alist.
13580 (syms_of_coding): Define `no-conversion' coding system at the tail.
13581
13582 * fileio.c (Finsert_file_contents): Set coding_system instead of
13583 val. If the current buffer is multibyte, always call
13584 decode_coding_gap.
13585
13586 * xfaces.c (try_font_list): Give higher priority to fontset's
13587 family than face's family.
13588
135892008-02-01 Kenichi Handa <handa@m17n.org>
13590
13591 * callproc.c (Fcall_process): Be sure to give the current buffer
13592 to decode_coding_c_string.
13593
13594 * xfaces.c (try_font_list): Give a family specified in a fontset
13595 higher priority than a family specified in a face.
13596
135972008-02-01 Kenichi Handa <handa@m17n.org>
13598
13599 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13600 Fix arguments to insert_from_buffer.
13601
13602 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13603
136042008-02-01 Kenichi Handa <handa@m17n.org>
13605
13606 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13607 (decode_coding_gap): Set coding->dst_multibyte correctly.
13608
136092008-02-01 Kenichi Handa <handa@m17n.org>
13610
13611 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13612 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13613 (encode_coding_utf_16): Substitute coding->default_char for
13614 non-Unicode characters.
13615 (decode_coding): Don't call record_insert here.
13616 (setup_coding_system): Initialize `surrogate' of
13617 coding->spec.utf_16 to 0.
13618 (EMIT_ONE_BYTE): Fix for multibyte case.
13619
13620 * insdel.c (insert_from_gap): Call record_insert.
13621
136222008-02-01 Kenichi Handa <handa@m17n.org>
13623
13624 * casefiddle.c (casify_region): Fix multibyte case.
13625
13626 * character.c (c_string_width): Add return type `int'.
13627 (char_string_with_unification): Delete arg ADVANCED.
13628
13629 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13630 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13631 (CHAR_STRING_ADVANCE): Make it do-while statement.
13632
13633 * chartab.c (sub_char_table_set_range): Optimize for the case
13634 DEPTH == 3. Add workaround code for a GCC optimization bug.
13635
13636 * charset.c (parse_charset_map): Remove an unused variable.
13637
13638 * coding.c: Delete unused variables.
13639
13640 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13641 earlier. If inserted is zero and the coding system doesn't
13642 require flushing, don't call decode_coding_gap.
13643
13644 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13645
136462008-02-01 Kenichi Handa <handa@m17n.org>
13647
13648 The following changes are for using Unicode as an internal
13649 character model, and use UTF-8 format for buffer/string
13650 representation.
13651
13652 * .gdbinit (xchartable): Adjust for the change of char table structure.
13653 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13654
13655 * Makefile.in (obj): Add character.o and chartab.o.
13656 (lisp, shortlisp): Remove utf-8.elc.
13657 (*.o): For many files, change dependency on charset.h to
13658 character.h, and add dependency on character.h.
13659 (character.o, chartab.o): New targets.
13660
13661 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13662 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13663 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13664 of "charset.h".
13665
13666 * dired.c, filelock.c: Include "character.h".
13667
13668 * alloc.c: Include "character.h" instead of "charset.h".
13669 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13670 (syms_of_alloc): Remove defsubr for Smake_char_table.
13671
13672 * buffer.c: Include "character.h" instead of "charset.h", don't
13673 include "coding.h".
13674 (Fset_buffer_multibyte): Adjust for UTF-8.
13675
13676 * buffer.h: EXFUN Fbuffer_live_p.
13677
13678 * callproc.c: Include "character.h" instead of "charset.h".
13679 (Fcall_process): Big change for the new code-conversion APIs.
13680
13681 * casetab.c: Include "character.h" instead of "charset.h".
13682 (set_canon, set_identity, shuffle): Adjust for the new
13683 map_char_table spec.
13684 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13685 accessing the char table structure.
13686
13687 * chartab.c: New file that implements char table.
13688
13689 * category.c: Include "character.h".
13690 (copy_category_entry): New function.
13691 (copy_category_table): Call map_char_table and copy_category_entry.
13692 (Fmake_category_table): Initialize all top-level slots.
13693 (char_category_set): New function.
13694 (modify_lower_category_set): Delete.
13695 (Fmodify_category_entry): Call char_table_ref_and_range.
13696
13697 * category.h (CATEGORY_SET): Just call char_category_set.
13698
13699 * ccl.c: Include "character.h".
13700 (Qccl, Qcclp): New variables.
13701 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13702 it's less than 256.
13703 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13704 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13705 and DST type.
13706 (ccl_driver): Change types of argument, adjust code accordingly.
13707 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13708 ccl_driver.
13709 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13710
13711 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13712 New members src_multibyte, dst_multibyte, consumed, and produced.
13713 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13714 (CODING_SPEC_CCL_PROGRAM): New macro.
13715 (ccl_driver): Update prototype.
13716 (Qccl, Qcclp, Fccl_program_p): Extern them.
13717 (CHECK_CCL_PROGRAM): New macro.
13718
13719 * character.c, character.h, chartab.c: New files.
13720
13721 * charset.c: Mostly re-written. Move character and multibyte sequence
13722 handling codes to character.c.
13723
13724 * charset.h: Mostly re-written. Move character and multibyte sequence
13725 handling codes to character.h.
13726
13727 * coding.c, coding.h: Mostly re-written.
13728
13729 * composite.c: Include "character.h" instead of "charset.h".
13730 (CHAR_WIDTH): Move to character.h.
13731 (HASH_KEY, HASH_VALUE): Delete.
13732
13733 * composite.h (enum composition_method): Change order of enumeration
13734 symbols.
13735
13736 * data.c: Include "character.h" instead of "charset.h".
13737 (Faref): Call CHAR_TABLE_REF for a char table.
13738 (Faset): Call CHAR_TABLE_SET for a char table.
13739
13740 * dispextern.h (free_realized_face, check_face_attribytes)
13741 (generate_ascii_font): Extern them.
13742 (free_realized_multibyte_face): Delete extern.
13743
13744 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13745 table structure.
13746
13747 * editfns.c: Include "character.h" instead of "charset.h".
13748 (Fchar_to_string): Always call CHAR_STRING.
13749
13750 * emacs.c (main): Call init_charset_once, init_charset,
13751 syms_of_chartab, and syms_of_character.
13752
13753 * fileio.c: Include "character.h" instead of "charset.h".
13754 (Finsert_file_contents): Big change for the new code-conversion API.
13755 (choose_write_coding_system, Fwrite_region): Likewise.
13756 (build_annotations_2): Delete.
13757 (e_write): Big change for the new code-conversion API.
13758
13759 * fns.c: Include "character.h" instead of "charset.h".
13760 (copy_sub_char_table): Move to chartab.c.
13761 (Fcopy_sequence): Call copy_char_table for a char table.
13762 (concat): Delete codes calling count_multibyte.
13763 (string_char_to_byte, string_byte_to_char): Adjust for the new
13764 multibyte form.
13765 (internal_equal): Adjust for the change of char table structure.
13766 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13767 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13768 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13769 (char_table_translate, optimize_sub_char_table)
13770 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13771 chartab.c.
13772 (char_table_ref_and_index): Delete.
13773 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13774 (Fmd5): Call preferred_coding_system instead of accessing
13775 Vcoding_category_list. Adjust for the new code-conversion API.
13776 (syms_of_fns): Move defsubr for char table related functions to
13777 chartab.c.
13778
13779 * fontset.c: Mostly re-written.
13780
13781 * fontset.h (struct font_info): Change type of the member encoding_type.
13782 (enum FONT_SPEC_INDEX): New enum.
13783 (fontset_font_pattern, fs_load_font): Update prototype.
13784 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13785
13786 * indent.c: Include "character.h" instead of "charset.h".
13787 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13788
13789 * insdel.c: Include "character.h" instead of "charset.h".
13790 (copy_text): Don't refer to Vnonascii_translation_table.
13791 (insert_from_gap): New function.
13792
13793 * keyboard.c: Include "character.h" instead of "charset.h".
13794 (command_loop_1): Never call direct_output_forward_char before
13795 a non-ASCII character.
13796 (read_char): If Vkeyboard_translate_table is a char table, always
13797 translate a character.
13798
13799 * keymap.c: Include "character.h".
13800 (store_in_keymap): Handle the case that IDX is a cons.
13801 (Fdefine_key): Handle the case that KEY is a cons and the car part
13802 is also a cons (range).
13803 (push_key_description): Adjust for the new character code.
13804 (describe_vector): Call describe_char_table for a char table.
13805 (describe_char_table): New function.
13806
13807 * keymap.h (describe_char_table): Extern it.
13808
13809 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13810 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13811 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13812 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13813 Delete.
13814 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13815 structure.
13816 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13817 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13818 (CHARTAB_SIZE_BITS_3): New macros.
13819 (chartab_size): Extern it.
13820 (struct Lisp_Char_Table): Re-design.
13821 (struct Lisp_Sub_Char_Table): New structure.
13822 (HASH_KEY, HASH_VALUE): Move from fns.c.
13823 (CHARACTERBITS): Define as 22.
13824 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13825 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13826 (GC_SUB_CHAR_TABLE_P): New macro.
13827 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13828 (code_convert_string_norecord): Deleted extern.
13829 (init_character_once, syms_of_character, init_charset)
13830 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13831
13832 * lread.c: Include "character.h".
13833 (read_multibyte): New arg NBYTES.
13834 (read_escape): Change the meaning of returned *BYTEREP.
13835 (to_multibyte): Delete.
13836 (read1): Adjust the handling of char table and string.
13837
13838 * print.c: Include "character.h" instead of "charset.h".
13839 (print_string): Convert 8-bit raw bytes to octal form by
13840 string_escape_byte8.
13841 (print_object): Adjust for the new multibyte form. Print 8-bit
13842 raw bytes always in octal form. Handle sub char table correctly.
13843
13844 * process.c: Include "character.h" instead of "charset.h".
13845 (read_process_output, send_process): Adjust for the new
13846 code-conversion API.
13847
13848 * puresize.h (BASE_PURESIZE): Increase.
13849
13850 * regex.c: Include "character.h" instead of "charset.h".
13851 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13852 (regex_compile): Accept a range whose starting and ending
13853 character have different leading bytes.
13854 (analyse_first): Adjust for the above change.
13855
13856 * search.c: Include "character.h" instead of "charset.h".
13857 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13858 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13859
13860 * syntax.c: Include "character.h" instead of "charset.h".
13861 (syntax_parent_lookup): Delete.
13862 (Fmodify_syntax_entry): Accept a cons as CHAR.
13863 (skip_chars): Adjust for the new multibyte form.
13864 (init_syntax_once): Call char_table_set_range instead of directly
13865 accessing the structure of a char table.
13866
13867 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13868 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13869 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13870 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13871
13872 * term.c: Include "buffer.h" and "character.h".
13873 (encode_terminal_code, write_glyphs): Adjust for the new
13874 code-conversion API.
13875 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13876
13877 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13878
13879 * xdisp.c: Include "character.h".
13880 (get_next_display_element): Adjust for the new multibyte form.
13881 (disp_char_vector): Adjust for the new char table structure.
13882 (decode_mode_spec_coding): Adjust for the new structure of
13883 coding system.
13884 (decode_mode_spec): Adjust for the new code-conversion API.
13885
13886 * xfaces.c: Include "character.h" instead of "charset.h".
13887 (load_face_font): Adjust for the change of choose_face_font and
13888 FS_LOAD_FONT.
13889 (generate_ascii_font): New function.
13890 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13891 (set_font_frame_param): Adjust for the change of choose_face_font.
13892 (free_realized_face): Make it public.
13893 (free_realized_faces_for_fontset): Rename from
13894 free_realized_multibyte_face. Free also faces realized for ASCII.
13895 (choose_face_font): Change arguments. Adjust for the change of
13896 fontset_font_pattern and FS_LOAD_FONT.
13897
13898 * xfns.c: Include "character.h".
13899 (x_encode_text): Adjust for the new code-conversion API.
13900
13901 * xselect.c: Don't include "charset.h".
13902 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13903
13904 * xterm.c: Include "character.h".
13905 (x_encode_char): New argument CHARSET. Change caller.
13906 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13907 Call ENCODE_CHAR instead of SPLIT_CHAR.
13908 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13909 CHAR_WIDTH instead of CHARSET_WIDTH.
13910 (XTread_socket): Adjust for the new code-conversion API.
13911 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13912 (x_load_font): Adjust for the change of struct font.
13913
139142008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13915
13916 * xfaces.c (face_at_buffer_position): Remove unused vars.
13917
139182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13919
13920 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13921 Fix overflow checking.
13922
139232008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13924
13925 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13926 Cancel previous change.
13927
139282008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13929
13930 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13931 ccl->eight_bit_control. Fix check for buffer overflow.
13932 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13933 (ccl_driver): Initialize extra_bytes to 0.
13934
139352008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13936
13937 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13938 return it ORed with ctrl_modifier.
13939
139402008-01-29 Miles Bader <miles@gnu.org>
13941
13942 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13943
139442008-01-28 Jason Rumney <jasonr@gnu.org>
13945
13946 * w32.c (stat): Don't double check for networked drive.
13947
139482008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13949
13950 * window.c (run_window_configuration_change_hook): New function.
13951 Code extracted from set_window_buffer. Set the selected frame.
13952 (set_window_buffer): Use it.
13953 * window.h (run_window_configuration_change_hook): Declare.
13954 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13955
13956 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13957
139582008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13959
13960 * Makefile.in: Remove references to unused macros.
13961
139622008-01-26 Eli Zaretskii <eliz@gnu.org>
13963
13964 * w32.c (g_b_init_get_sid_sub_authority)
13965 (g_b_init_get_sid_sub_authority_count): New static variables.
13966 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13967 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13968 (init_user_info): Use them to retrieve uid and gid.
13969 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13970 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13971 st_uid and st_gid of the file.
13972
139732008-01-26 Jason Rumney <jasonr@gnu.org>
13974
13975 * w32.c (logon_network_drive): New function.
13976 (stat): Use it.
13977
139782008-01-26 Chong Yidong <cyd@stupidchicken.com>
13979
13980 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13981 invisible text covered with an ellipsis.
13982
139832008-01-25 Richard Stallman <rms@gnu.org>
13984
13985 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13986 jump back to beginning. Move some other initializations after that.
13987 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13988 New variables.
13989 (syms_of_xdisp): Init them.
13990
13991 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13992
13993 * buffer.c (reset_buffer_local_variables):
13994 Implement `permanent-local-hook'.
13995 (Qpermanent_local_hook): New variable.
13996 (syms_of_buffer): Init and staticpro it.
13997
139982008-01-25 Michael Albinus <michael.albinus@gmx.de>
13999
14000 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
14001
140022008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
14003
14004 * fns.c (Fclrhash): Return TABLE.
14005
140062008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14007
14008 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
14009 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
14010 is set even without positional changes.
14011 (x_scroll_bar_clear): Set bar->redraw_needed_p.
14012
14013 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
14014
140152008-01-23 Jason Rumney <jasonr@gnu.org>
14016
14017 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
14018
14019 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
14020 the unicode range available in MULE by locale-coding-system.
14021 Improve dbcs lead byte detection. Set event timestamp and modifiers
14022 earlier.
14023
140242008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14025
14026 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
14027 [MAC_OSX] (init_mac_osx_environment): Initialize it.
14028 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
14029 when used on child processes.
14030
140312008-01-21 Michael Albinus <michael.albinus@gmx.de>
14032
14033 * dbusbind.c (Fdbus_method_return_internal): Rename from
14034 Fdbus_method_return.
14035 (Fdbus_unregister_object): Move to dbus.el.
14036 (Fdbus_call_method, Fdbus_method_return_internal)
14037 (Fdbus_send_signal): Improve debug messages.
14038
140392008-01-20 Martin Rudalics <rudalics@gmx.at>
14040
14041 * undo.c (undo_inhibit_record_point): New variable.
14042 (syms_of_undo): Initialize it.
14043 (record_point): Don't record point when undo_inhibit_record_point
14044 is set.
14045
140462008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
14047
14048 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
14049
14050 * xdisp.c (Qauto_hscroll_mode): New var.
14051 (syms_of_xdisp): Initialize it.
14052 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
14053 window's buffer.
14054 (hscroll_windows): Don't check automatic_hscrolling_p here.
14055
14056 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
14057 vscroll if we're setting window-buffer to the value it already has.
14058
140592008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
14060
14061 * m/intel386.h: Remove references to XENIX.
14062
140632008-01-17 Andreas Schwab <schwab@suse.de>
14064
14065 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
14066 instead of HAVE_X86_64_LIB64_DIR.
14067 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
14068
140692008-01-17 Glenn Morris <rgm@gnu.org>
14070
14071 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
14072 to HAVE_X86_64_LIB64_DIR.
14073
140742008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14075
14076 * s/irix3-3.h:
14077 * s/irix4-0.h:
14078 * s/386-ix.h:
14079 * s/domain.h:
14080 * s/hpux9-x11r4.h:
14081 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14082
14083 * sysdep.c: Remove code containing references to symbols defined
14084 by unsupported systems.
14085
140862008-01-16 Glenn Morris <rgm@gnu.org>
14087
14088 * coding.c (select-safe-coding-system-function): Doc fix.
14089
140902008-01-15 Glenn Morris <rgm@gnu.org>
14091
14092 * config.in: Revert 2008-01-13 change: this is a generated file.
14093
140942008-01-13 Tom Tromey <tromey@redhat.com>
14095
14096 * lisp.h: Fix typo.
14097
140982008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14099
14100 * m/sequent-ptx.h:
14101 * m/sequent.h:
14102 * s/ptx.h:
14103 * s/ptx4-2.h:
14104 * s/ptx4.h: Remove files for systems no longer supported.
14105
14106 * callproc.c (Fcall_process): Fix previous change.
14107
141082008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14109
14110 * unexsunos4.c: Remove file, system not supported anymore.
14111
14112 * m/mips.h:
14113 * m/intel386.h:
14114 * callproc.c:
14115 * config.in:
14116 * ecrt0.c:
14117 * emacs.c:
14118 * fileio.c:
14119 * frame.c:
14120 * getpagesize.h:
14121 * keyboard.c:
14122 * lread.c:
14123 * process.c:
14124 * puresize.h:
14125 * sysdep.c:
14126 * systty.h:
14127 * syswait.h:
14128 * unexec.c:
14129 * xdisp.c:
14130 * alloc.c: Remove code containing references to symbols defined by
14131 unsupported systems.
14132
141332008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14134
14135 * coding.c (detect_coding_mask): Fix previous change.
14136
141372008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14138
14139 * coding.c (detect_coding_iso2022): New arg
14140 latin_extra_code_state. Allow Latin extra codes only
14141 when *latin_extra_code_state is nonzero.
14142 (detect_coding_mask): If there is a NULL byte, detect the encoding
14143 as UTF-16 or binary. If Latin extra codes exist, detect the
14144 encoding as ISO-2022 only when there's no other proper encoding is
14145 found.
14146
141472008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14148
14149 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14150 #ifdef MAC_OS.
14151
141522008-01-08 Richard Stallman <rms@gnu.org>
14153
14154 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14155
141562008-01-06 Nick Roberts <nickrob@snap.net.nz>
14157
14158 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14159 menu bar in parentheses.
14160
141612008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14162
14163 * m/7300.h:
14164 * m/acorn.h:
14165 * m/alliant-2800.h:
14166 * m/alliant.h:
14167 * m/alliant1.h:
14168 * m/alliant4.h:
14169 * m/altos.h:
14170 * m/amdahl.h:
14171 * m/apollo.h:
14172 * m/att3b.h:
14173 * m/aviion-intel.h:
14174 * m/aviion.h:
14175 * m/celerity.h:
14176 * m/clipper.h:
14177 * m/cnvrgnt.h:
14178 * m/convex.h:
14179 * m/cydra5.h:
14180 * m/delta88k.h:
14181 * m/dpx2.h:
14182 * m/dual.h:
14183 * m/elxsi.h:
14184 * m/f301.h:
14185 * m/gould-np1.h:
14186 * m/gould.h:
14187 * m/i860.h:
14188 * m/ibmps2-aix.h:
14189 * m/ibmrt-aix.h:
14190 * m/ibmrt.h:
14191 * m/irist.h:
14192 * m/is386.h:
14193 * m/isi-ov.h:
14194 * m/mega68.h:
14195 * m/mg1.h:
14196 * m/news-r6.h:
14197 * m/news-risc.h:
14198 * m/news.h:
14199 * m/nh3000.h:
14200 * m/nh4000.h:
14201 * m/ns16000.h:
14202 * m/ns32000.h:
14203 * m/nu.h:
14204 * m/orion.h:
14205 * m/orion105.h:
14206 * m/paragon.h:
14207 * m/pfa50.h:
14208 * m/plexus.h:
14209 * m/pyramid.h:
14210 * m/pyrmips.h:
14211 * m/sh3el.h:
14212 * m/sps7.h:
14213 * m/sr2k.h:
14214 * m/stride.h:
14215 * m/sun1.h:
14216 * m/sun2.h:
14217 * m/sun3-68881.h:
14218 * m/sun3-fpa.h:
14219 * m/sun3-soft.h:
14220 * m/sun3.h:
14221 * m/sun386.h:
14222 * m/symmetry.h:
14223 * m/tad68k.h:
14224 * m/tahoe.h:
14225 * m/targon31.h:
14226 * m/tek4300.h:
14227 * m/tekxd88.h:
14228 * m/tower32.h:
14229 * m/tower32v3.h:
14230 * m/ustation.h:
14231 * m/wicat.h:
14232 * m/xps100.h:
14233 * s/cxux.h:
14234 * s/cxux7.h:
14235 * s/dgux.h:
14236 * s/dgux4.h:
14237 * s/dgux5-4-3.h:
14238 * s/dgux5-4r2.h:
14239 * s/esix.h:
14240 * s/esix5r4.h:
14241 * s/hiuxmpp.h:
14242 * s/hiuxwe2.h:
14243 * s/iris3-5.h:
14244 * s/iris3-6.h:
14245 * s/isc2-2.h:
14246 * s/isc3-0.h:
14247 * s/isc4-0.h:
14248 * s/isc4-1.h:
14249 * s/newsos5.h:
14250 * s/newsos6.h:
14251 * s/osf1.h:
14252 * s/osf5-0.h:
14253 * s/riscix1-1.h:
14254 * s/riscix12.h:
14255 * s/sco4.h:
14256 * s/sco5.h:
14257 * s/sunos4-0.h:
14258 * s/sunos4-1.h:
14259 * s/sunos413.h:
14260 * s/sunos4shr.h:
14261 * s/umax.h:
14262 * s/unipl5-2.h:
14263 * s/xenix.h:
14264 * cxux-crt0.s:
14265 * unexapollo.c:
14266 * unexconvex.c:
14267 * unexenix.c:
14268 * unexsni.c: Remove files for systems no longer supported.
14269
14270 * m/intel386.h: Remove references to unsupported systems.
14271
14272 * w32.c (get_emacs_configuration): Remove reference to i860.
14273
14274 * sysdep.c: Remove dead code.
14275
142762008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14277
14278 * s/rtu.h:
14279 * m/masscomp.h: Remove files. Platform is obsolete.
14280
142812008-01-04 Michael Albinus <michael.albinus@gmx.de>
14282
14283 * dbusbind.c (Fdbus_method_return): New function.
14284 (xd_read_message): Add the serial number to the event.
14285 (Fdbus_register_method): Activate the function.
14286
142872008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14288
14289 * keyboard.c (read_key_sequence): Fix typo.
14290
142912008-01-03 Michael Albinus <michael.albinus@gmx.de>
14292
14293 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14294 (xd_signature, xd_append_arg): Handle element type detection for
14295 empty arrays.
14296 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14297 SDATA () calls; this must be solved more general.
14298 (Fdbus_register_signal): Use SBYTES instead of strlen.
14299
143002008-01-03 Magnus Henoch <magnus@zemdatav>
14301
14302 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14303 unsigned int for byte values (necessary for big-endian platform).
14304 (Fdbus_call_method): Handle the case of no returned arguments.
14305
143062007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14307
14308 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14309
143102007-12-31 Magnus Henoch <mange@freemail.hu>
14311
14312 * dbusbind.c (xd_signature): Signature of variant is just "v".
14313
143142007-12-30 Michael Albinus <michael.albinus@gmx.de>
14315
14316 * dbusbind.c: Fix several errors and compiler warnings.
14317 Reported by Tom Tromey <tromey@redhat.com>.
14318 (XD_ERROR, XD_DEBUG_MESSAGE)
14319 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14320 (xd_append_arg): Part for basic D-Bus types rewritten.
14321 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14322 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14323 appropriate.
14324 (xd_read_message): Return Qnil. Don't signal an error; it is not
14325 useful during event reading.
14326 (Fdbus_register_signal): Signal an error if the check for
14327 FUNCTIONP fails.
14328 (Fdbus_register_method): New function. The implementation is not
14329 complete, the call of the function signals an error therefore.
14330 (Fdbus_unregister_object): New function, renamed from
14331 Fdbus_unregister_signal. The initial check signals an error, if
14332 the object is not well formed.
14333
143342007-12-30 Richard Stallman <rms@gnu.org>
14335
14336 * textprop.c (get_char_property_and_overlay):
14337 Signal error if POSITION is out of range in a buffer.
14338
143392007-12-29 Martin Rudalics <rudalics@gmx.at>
14340
14341 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14342 because the original parameters are in pure storage now.
14343
143442007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14345
14346 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14347
143482007-12-22 Eli Zaretskii <eliz@gnu.org>
14349
14350 * callint.c (syms_of_callint) <command-history>: Add reference to
14351 history-length in the doc string.
14352
143532007-12-17 Jason Rumney <jasonr@gnu.org>
14354
14355 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14356 before passing as wParam.
14357
143582007-12-22 Michael Albinus <michael.albinus@gmx.de>
14359
14360 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14361 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14362 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14363 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14364 as number.
14365 (Fdbus_call_method): Fix docstring.
14366
143672007-12-21 Michael Albinus <michael.albinus@gmx.de>
14368
14369 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14370 New macros.
14371 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14372 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14373 Simplify.
14374 (xd_signature): New function.
14375 (xd_append_arg): Compute also signatures. Major rewrite.
14376 (xd_retrieve_arg): Make debug messages friendly.
14377 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14378 Check for signatures of arguments.
14379
143802007-12-19 Michael Albinus <michael.albinus@gmx.de>
14381
14382 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14383 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14384 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14385 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14386 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14387 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14388 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14389 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14390 (xd_retrieve_value): Remove. Functionality included in ...
14391 (xd_append_arg): New function.
14392 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14393
143942007-12-16 Michael Albinus <michael.albinus@gmx.de>
14395
14396 * dbusbind.c (top): Include <stdio.h>.
14397 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14398 dbus_message_new_method_call and dbus_message_new_signal.
14399 (Fdbus_register_signal): Rename unique_name to uname.
14400 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14401 non-existing unique name. Fix typos in matching rule. Return an
14402 object which is useful in Fdbus_unregister_signal.
14403 (Fdbus_unregister_signal): Reimplementation, in order to remove
14404 only the corresponding entry.
14405 (Vdbus_registered_functions_table): Change the order of entries.
14406 Apply these changes in xd_read_message and Fdbus_register_signal.
14407
144082007-12-16 Andreas Schwab <schwab@suse.de>
14409
14410 * fileio.c (Finsert_file_contents): Fix overflow check to not
14411 depend on undefined integer overflow.
14412
144132007-12-14 Jason Rumney <jasonr@gnu.org>
14414
14415 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14416 for characters above 127.
14417
144182007-12-13 Jason Rumney <jasonr@gnu.org>
14419
14420 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14421 before dereferencing array.
14422 (lookup_vk_code): Remove zero comparison.
14423
144242007-12-14 Michael Albinus <michael.albinus@gmx.de>
14425
14426 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14427 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14428 Use `unsigned int' instead of `uint'.
14429 (xd_read_message, Fdbus_register_signal): Split expressions into
14430 multiple lines before operators "&&" and "||", according to the
14431 GNU Coding Standards.
14432
144332007-12-14 Eli Zaretskii <eliz@gnu.org>
14434
14435 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14436
144372007-12-12 Juri Linkov <juri@jurta.org>
14438
14439 * buffer.c (Frename_buffer): In interactive spec replace
14440 `read-buffer' with `read-string' that uses `buffer-name-history'
14441 as history, and the current buffer's name as default.
14442
144432007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14444
14445 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14446 manipulating the backtrace manually.
14447 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14448 (struct backtrace, backtrace_list): Remove.
14449 (command_loop_1): Remove dead var `no_direct'.
14450
14451 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14452 preserve non-built-in buffer-local variables.
14453 (Fkill_all_local_variables): Don't re-create&re-set permanent
14454 buffer-local variables.
14455
144562007-12-09 Juri Linkov <juri@jurta.org>
14457
14458 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14459 Lisp code that uses `read-buffer' with current buffer as default.
14460
144612007-12-08 Michael Albinus <michael.albinus@gmx.de>
14462
14463 * dbusbind.c (xd_read_message): Generate an event for every
14464 registered handler. There might be several handlers registered
14465 for the same signal.
14466 (Fdbus_register_signal): Don't overwrite a registration for the
14467 same signal. Add a new registration if handlers are different.
14468 (Vdbus_registered_functions_table): Rework doc string.
14469
144702007-12-07 Michael Albinus <michael.albinus@gmx.de>
14471
14472 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14473 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14474 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14475 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14476 Unify argument lists.
14477 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14478 arguments and hash table keys. Use unique name for service.
14479 (Fdbus_unregister_signal): Remove checks.
14480 (Vdbus_registered_functions_table): Fix doc string.
14481
144822007-12-05 Magnus Henoch <mange@freemail.hu>
14483
14484 * process.c (make_process): Initialize pty_flag to 0.
14485
144862007-12-05 Jason Rumney <jasonr@gnu.org>
14487
14488 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14489 specified XBMs.
14490
144912007-12-05 Richard Stallman <rms@gnu.org>
14492
14493 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14494
144952007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14496
14497 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14498 New variable.
14499 (mac_try_close_socket) [MAC_OSX]: New function.
14500 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14501 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14502
14503 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14504 Use mac_try_close_socket.
14505
145062007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14507
14508 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14509 reloc_base.
14510 (copy_dysymtab): Compute relocation base here.
14511 (rebase_reloc_address) [__ppc64__]: New function.
14512 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14513 changed.
14514
145152007-12-05 Jason Rumney <jasonr@gnu.org>
14516
14517 * w32proc.c (sys_spawnve): Quote args with wildcards.
14518
145192007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14520
14521 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14522 __objc_* sections.
14523 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14524
145252007-12-05 Michael Albinus <michael.albinus@gmx.de>
14526
14527 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14528 Move check for Vdbus_registered_functions_table to
14529 xd_read_queued_messages.
14530 (xd_read_queued_messages): Protect xd_read_message calls by
14531 internal_condition_case_1.
14532
145332007-12-04 Michael Albinus <michael.albinus@gmx.de>
14534
14535 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14536 Qdbus_system_bus and Qdbus_session_bus, respectively.
14537 (Vdbus_intern_symbols): Remove.
14538 (Vdbus_registered_functions_table): New hash table.
14539 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14540 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14541 Rewrite in order to manage registered functions by hash table
14542 Vdbus_registered_functions_table.
14543
145442007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14545
14546 * xterm.c: Update URL to Window Manager Specification in comment.
14547
145482007-12-02 Michael Albinus <michael.albinus@gmx.de>
14549
14550 * config.in (HAVE_DBUS): Add.
14551
14552 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14553 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14554 (obj): Add $(DBUS_OBJ).
14555 (LIBES): Add $(DBUS_LIBS).
14556 (dbusbind.o): New target.
14557
14558 * dbusbind.c: New file.
14559
14560 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14561
14562 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14563 (Qdbus_event): New Lisp symbol.
14564 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14565 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14566 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14567
14568 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14569
145702007-12-01 Richard Stallman <rms@gnu.org>
14571
14572 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14573
145742007-11-30 Jason Rumney <jasonr@gnu.org>
14575
14576 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14577 (w32con_reset_terminal_modes): Clear screen buffer.
14578 (w32_face_attributes): Don't use color indexes that are out of range.
14579 Only reverse the default colors.
14580
14581 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14582 WINDOWSNT.
14583
14584 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14585
145862007-11-29 Jason Rumney <jasonr@gnu.org>
14587
14588 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14589 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14590 if the terminal colors are initialized.
14591 (unspecified_fg, unspecified_bg): Remove unused declarations.
14592
145932007-11-29 Andreas Schwab <schwab@suse.de>
14594
14595 * keyboard.c (apply_modifiers): Fix typo.
14596
145972007-11-29 Richard Stallman <rms@gnu.org>
14598
14599 * keymap.c (Fcurrent_local_map): Doc fix.
14600
146012007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14602
14603 * s/gnu-kfreebsd.h: New file.
14604
146052007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14606
14607 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14608 Don't cast redundantly.
14609
14610 * keyboard.c (KEY_TO_CHAR): New macro.
14611 (parse_modifiers, apply_modifiers): Accept integer arguments.
14612 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14613 for chars and symbol keys.
14614 After doing such remapping, apply function-key-map again.
14615
146162007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14617
14618 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14619 compiled anymore.
14620
146212007-11-26 Andreas Schwab <schwab@suse.de>
14622
14623 * process.c (list_processes_1): Fix indentation level of the
14624 command column.
14625
146262007-11-23 Andreas Schwab <schwab@suse.de>
14627
14628 * editfns.c (Fformat): Handle %c specially since it requires the
14629 argument to be of type int.
14630
146312007-11-23 Markus Triska <markus.triska@gmx.at>
14632
14633 * emacs.c (main): Call init_editfns before init_process, since
14634 init_process sets Vprocess_connection_type depending on OS release.
14635
146362007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14637
14638 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14639 (find_symbol_value): Use do_symval_forwarding.
14640
14641 * data.c (set_internal): Set the value in the `cons-cell' (for
14642 Buffer_Local_values) not only for frame-local variables.
14643
146442007-11-22 Andreas Schwab <schwab@suse.de>
14645
14646 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14647 values to sprintf.
14648 * keymap.c (Fsingle_key_description): Likewise.
14649 * print.c (print_object): Likewise.
14650
146512007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14652
14653 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14654 file for image is nil.
14655
146562007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14657
14658 * term.c: Include stdarg.h.
14659 (fatal): Implement using varargs.
14660 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14661
146622007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14663
14664 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14665 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14666 Update call to buffer_slot_type_mismatch.
14667 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14668 (buffer_slot_type_mismatch): Update.
14669 * buffer.c (buffer_local_types): Remove.
14670 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14671 (defvar_per_buffer): Set the type in the buffer_objfwd.
14672
146732007-11-21 Jason Rumney <jasonr@gnu.org>
14674
14675 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14676 CreateFileMapping returns NULL on failure.
14677
146782007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14679
14680 * search.c (Fset_match_data): Remove the `evaporate' feature.
14681 (unwind_set_match_data): Don't use the `evaporate' feature.
14682
146832007-11-21 Jason Rumney <jasonr@gnu.org>
14684
14685 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14686
14687 * w32console.c (w32con_write_glyphs): Remove unused variables.
14688
146892007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14690
14691 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14692
14693 * s/darwin.h (MULTI_KBOARD): Remove.
14694
14695 * macfns.c (x_create_tip_frame, Fx_create_frame)
14696 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14697
146982007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14699
14700 * buffer.c (Fbuffer_local_value): Remove redundant test.
14701 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14702 than in `current-buffer' to match the comment.
14703 Do the swap using swap_in_global_binding.
14704
14705 * data.c (store_symval_forwarding, set_internal):
14706 * eval.c (specbind): Remove dead code.
14707
14708 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14709 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14710 Since we do not want to see internal Lisp_*fwd objects here.
14711
147122007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14713
14714 * sysdep.c (init_system_name): Use getaddrinfo if available.
14715
14716 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14717 (x_scroll_bar_note_movement): start, end, with, height in struct
14718 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14719
147202007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14721
14722 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14723
147242007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14725
14726 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14727 This undoes Richard's change of 14-Oct-2002.
14728
14729 * alloc.c (allocate_other_vector):
14730 * lisp.h (allocate_other_vector): Remove.
14731
14732 * window.c (struct save_window_data): Move non-lisp data to the end
14733 and make it `int' rather than Lisp_Object.
14734 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14735 Done wrap/unwrap integer values.
14736 (Fset_window_configuration, compare_window_configurations):
14737 Update use of fields to their new types.
14738
14739 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14740 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14741 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14742 (SET_SCROLL_BAR_X_WINDOW): Remove.
14743 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14744 Access the new x_window field directly.
14745 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14746 Don't wrap/unwrap integers into Lisp_Objects.
14747 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14748 (x_scroll_bar_report_motion):
14749 Don't wrap/unwrap integers into Lisp_Objects.
14750 (x_term_init): Use SDATA.
14751 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14752 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14753 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14754 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14755 * xfns.c (x_set_background_color):
14756 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14757 Access the new x_window field directly.
14758
14759 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14760 (allocate_pseudovector): Make non-static.
14761
14762 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14763 (allocate_pseudovector): Declare.
14764 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14765
147662007-11-15 Andreas Schwab <schwab@suse.de>
14767
14768 * editfns.c (Fformat): Correctly format EMACS_INT values.
14769 Also take precision into account when formatting an integer.
14770
14771 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14772
147732007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14774
14775 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14776 (syms_of_keyboard): Defsubr it.
14777
14778 * data.c (swap_in_global_binding): Fix longstanding bug where
14779 store_symval_forwarding was not called with the right second argument,
14780 thus causing objfwd-ing from being dropped.
14781
147822007-11-14 Juanma Barranquero <lekktu@gmail.com>
14783
14784 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14785 (Fx_display_pixel_height, Fx_display_planes)
14786 (Fx_display_color_cells, Fx_server_max_request_size)
14787 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14788 (Fx_display_visual_class, Fx_display_save_under):
14789 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14790 (Fx_display_pixel_height, Fx_display_planes)
14791 (Fx_display_color_cells, Fx_server_max_request_size)
14792 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14793 (Fx_display_mm_height, Fx_display_mm_width)
14794 (Fx_display_backing_store, Fx_display_visual_class)
14795 (Fw32_select_font, Fx_display_save_under):
14796 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14797 (Fx_display_pixel_height, Fx_display_planes)
14798 (Fx_display_color_cells, Fx_server_max_request_size)
14799 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14800 (Fx_display_save_under): Fix typos in docstrings.
14801
148022007-11-14 Juanma Barranquero <lekktu@gmail.com>
14803
14804 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14805 corresponding to deleted entries; they are an implementation detail.
14806 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14807 Remove variables.
14808 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14809 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14810 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14811 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14812 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14813 (Fw32_define_rgb_color, Fw32_load_color_file)
14814 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14815 Fix typos in docstrings.
14816 (Fx_server_version): Reflow docstring.
14817 (Fw32_shell_execute): Doc fixes.
14818
148192007-11-13 Juanma Barranquero <lekktu@gmail.com>
14820
14821 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14822 if w32_parse_hot_key returned nil.
14823
148242007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14825
14826 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14827
148282007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14829
aac0c6e3
MR
14830 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14831
14832 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14833
14834 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14835 Remove W32_SCROLL_BAR_CLICK_EVENT.
14836
14837 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14838 Add MULTIMEDIA_KEY_EVENT.
14839
14840 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14841 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14842 (make_lispy_event) [WINDOWSNT]: Use it to translate
14843 MULTIMEDIA_KEY_EVENT.
14844
14845 * w32term.h (WM_APPCOMMAND): Define if not already.
14846 (GET_APPCOMMAND_LPARAM): Likewise.
14847
14848 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14849 WM_APPCOMMAND.
14850
14851 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14852 (syms_of_w32fns): Export and initialize it.
14853 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14854
148552007-11-09 Chong Yidong <cyd@stupidchicken.com>
14856
14857 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14858 twice.
14859
14860 * xdisp.c (handle_face_prop): Fix last change.
14861
148622007-11-09 Richard Stallman <rms@gnu.org>
14863
14864 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14865 not just for after-strings and before-strings.
14866 Call face_for_overlay_string and pass the overlay to it.
14867 (handle_display_prop): Determine whether property came from an overlay.
14868 Pass OVERLAY arg to handle_single_display_spec.
14869 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14870 (load_overlay_strings): Fill in it->string_overlays.
14871 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14872
14873 * xfaces.c (face_for_overlay_string): Function renamed from
14874 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14875
14876 * dispextern.h (struct it): New elt string_overlays.
14877 New elt from_overlay, also in stack.
14878 Rearrange a few elements.
14879 (face_for_overlay_string): Decl renamed from
14880 face_at_buffer_position_no_overlays, and add argument.
14881
148822007-11-09 Richard Stallman <rms@gnu.org>
14883
14884 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14885 to get the base face for an overlay string.
14886
14887 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14888
14889 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14890
14891 * xdisp.c (handle_stop): Move some code out of loop.
14892
148932007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14894
14895 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14896 Fix conversion from Lisp object to ATSUFontID.
14897
148982007-11-09 Jason Rumney <jasonr@gnu.org>
14899
14900 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14901
149022007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14903
14904 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14905 Don't assume regions are aligned to page boundary.
14906 (print_load_command_name): Add LC_UUID if defined.
14907
149082007-11-09 Richard Stallman <rms@gnu.org>
14909
14910 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14911
149122007-11-07 Jason Rumney <jasonr@gnu.org>
14913
14914 * s/windows95.h: Remove.
14915
149162007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14917
14918 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14919 abort with a message on unhandled store_type values.
14920
149212007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14922
14923 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14924 Remove HAVE_X11R5 and HAVE_X11R4.
14925
149262007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14927
14928 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14929
149302007-11-01 Johan Bockgård <bojohan@gnu.org>
14931
14932 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14933 Don't set s->stippled_p here, since it has already been set by
14934 x_set_glyph_string_gc from x_draw_glyph_string.
14935
149362007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14937
14938 * sunfns.c: Remove file.
14939
14940 * m/sun386.h:
14941 * m/sun2.h:
14942 * m/sparc.h: Remove Sun windows code.
14943
149442007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14945
14946 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14947 (init_keyboard): Set current_kboard's window-system to nil.
14948 (tty_read_avail_input): Typo.
14949 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14950
149512007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14952
14953 * s/usg5-4.h:
14954 * s/usg5-3.h:
14955 * s/ptx.h:
14956 * m/is386.h:
14957 * m/ibmps2-aix.h:
14958 * Makefile.in: Remove all mentions of X10.
14959
14960 * dispnew.c (syms_of_display): Don't mention version 10.
14961
149622007-10-28 Juanma Barranquero <lekktu@gmail.com>
14963
14964 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14965 ($(BLD)/abbrev.$(O)): Remove.
14966
149672007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14968
14969 Rewrite abbrev.c in Elisp.
14970 * image.c (Qcount): Don't declare as extern.
14971 (syms_of_image): Initialize and staticpro `Qcount'.
14972 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14973 * emacs.c (main): Don't call syms_of_abbrev.
14974 * Makefile.in (obj): Remove abbrev.o.
14975 (abbrev.o): Remove.
14976 * abbrev.c: Remove.
14977
149782007-10-26 Martin Rudalics <rudalics@gmx.at>
14979
14980 * window.c (window_min_size_2): Don't count header-line.
14981
149822007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14983
14984 * frame.h (struct frame): Move all bit fields after the first bit
14985 field to take advantage of the available space. Group all the
14986 chars together to reduce wasted space due to padding.
14987
149882007-10-26 Juanma Barranquero <lekktu@gmail.com>
14989
14990 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14991
14992 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14993 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14994 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14995 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14996 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14997 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14998 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14999 (last_marked, mark_object_loop_halt): Make static.
15000
15001 * frame.c (syms_of_frame) <delete-frame-functions>:
15002 Fix typo in docstring.
15003
150042007-10-25 Juanma Barranquero <lekktu@gmail.com>
15005
15006 * w32.c (init_environment): Fix tiny memory leak.
15007 (w32_get_resource): Remove unused variable `ok'.
15008
150092007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
15010
15011 Make `window-system' into a keyboard-local variable (rather than
15012 frame-local as done originally by multi-tty).
15013
15014 * keyboard.h (struct kboard): Add Vwindow_system.
15015 * keyboard.c (init_kboard): Set a default for Vwindow_system.
15016 (mark_kboards): Mark Vwindow_system.
15017
15018 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
15019 (init_display): Don't set the obsolete `window-system' frame-param.
15020
15021 * xterm.c (x_term_init):
15022 * w32term.c (w32_create_terminal):
15023 * term.c (init_tty): Set Vwindow_system.
15024 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
15025 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
15026
15027 * xfns.c (Fx_create_frame, x_create_tip_frame):
15028 * w32fns.c (Fx_create_frame, x_create_tip_frame):
15029 * macfns.c (Fx_create_frame):
15030 Don't set the obsolete `window-system' frame-param.
15031
15032 * frame.h (Qwindow_system): Remove.
15033 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
15034 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
15035
150362007-10-24 Richard Stallman <rms@gnu.org>
15037
15038 * frame.c (x_figure_window_size): For fullscreen case,
15039 set USPosition | PPosition without clobbering rest of window_prompting.
15040
15041 * keyboard.c (Fcurrent_idle_time): Doc fix.
15042
15043 * print.c (Fwith_output_to_temp_buffer): Doc fix.
15044
150452007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
15046
15047 * process.c (unwind_request_sigio): Only define if __ultrix__.
15048
15049 * callproc.c (child_setup): Remove spurious *.
15050
15051 * lisp.h (Fget_text_property): Declare.
15052 (have_menus_p): Declare it here rather than in sys-dep header files.
15053 * macterm.h (have_menus_p):
15054 * msdos.h (have_menus_p):
15055 * xterm.h (have_menus_p): Remove.
15056
15057 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
15058 (Fmake_variable_frame_local): Just check the variable's const-ness
15059 rather than checking nil or t.
15060
150612007-10-22 Jason Rumney <jasonr@gnu.org>
15062
15063 * w32fns.c: Include math.h.
15064 (w32_abort): Declaration moved to nt/config.nt.
15065
15066 * s/ms-w32.h (HAVE_STDLIB_H): Define.
15067 (abort): Redefinition moved to nt/config.nt.
15068
15069 * m/windowsnt.h: Remove.
15070
150712007-10-22 Juanma Barranquero <lekktu@gmail.com>
15072
15073 * emacs.c (Fdump_emacs): Fix typo in message.
15074 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15075 <installation-directory>: Reflow docstring.
15076
150772007-10-22 Juri Linkov <juri@jurta.org>
15078
15079 * minibuf.c: Allow minibuffer default to be a list of default values.
15080 With empty input use the first element of this list as returned default.
15081 (string_to_object)
15082 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15083 (read_minibuf): If defalt is cons, set histstring to its car.
15084 (Fread_string): If default_value is cons, set val to its car.
15085 (Fread_buffer): If def is cons, use its car.
15086 (Fcompleting_read): If defalt is cons, set val to its car.
15087
150882007-10-21 Michael Albinus <michael.albinus@gmx.de>
15089
15090 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15091
150922007-10-20 Juanma Barranquero <lekktu@gmail.com>
15093
15094 * doc.c (Fdocumentation): Check for advice in all cases.
15095
150962007-10-19 Chong Yidong <cyd@stupidchicken.com>
15097
15098 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15099
151002007-10-19 Richard Stallman <rms@gnu.org>
15101
15102 * doc.c (Fdocumentation): Check for and handle an advised function.
15103
151042007-10-19 Juanma Barranquero <lekktu@gmail.com>
15105
15106 * process.c (Fset_process_filter): Doc fix.
15107
151082007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15109
15110 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15111 which caused key-translation-map to applied repeatedly (thus breaking
15112 double-mode).
15113
151142007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15115
15116 * xselect.c (x_own_selection, x_handle_selection_clear)
15117 (x_clear_frame_selections):
15118 * w32menu.c (list_of_panes, list_of_items):
15119 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15120 * textprop.c (validate_plist, interval_has_all_properties)
15121 (interval_has_some_properties, interval_has_some_properties_list)
15122 (add_properties, text_property_list):
15123 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15124 * minibuf.c (Fassoc_string):
15125 * macselect.c (x_own_selection, x_clear_frame_selections)
15126 (Fx_disown_selection_internal):
15127 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15128 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15129
151302007-10-17 Chong Yidong <cyd@stupidchicken.com>
15131
15132 * process.c: Link to libs for calling res_init() if available.
15133 (Fmake_network_process): Call res_init() before getaddrinfo or
15134 gethostbyname, if possible.
15135
151362007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15137
15138 * lread.c (read1): Set pvectype for char_tables.
15139
15140 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15141 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15142 Add type checks.
15143 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15144
15145 * alloc.c (free_misc): Use XMISCTYPE.
15146 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15147
151482007-10-17 Glenn Morris <rgm@gnu.org>
15149
15150 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15151 (syms_of_minibuf): Add Qcompletion_ignore_case.
15152 * dired.c (Qcompletion_ignore_case): Change to external.
15153 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15154 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15155 (Fread_file_name): Use it rather than intern'ing.
15156
15157 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15158 (Fread_coding_system): Ignore case of user input.
15159
151602007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15161
15162 * xdisp.c (handle_display_prop): Ignore display specs after
15163 replacing one when string text is being replaced.
15164 (handle_single_display_spec): Pretend as if characters with display
15165 property haven't been consumed only when buffer text is being replaced.
15166
151672007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15168
15169 * xfns.c (Fx_create_frame, Fx_display_list):
15170 * window.c (window_fixed_size_p, enlarge_window)
15171 (shrink_window_lowest_first):
15172 * macterm.c (init_font_name_table):
15173 * macfns.c (Fx_create_frame, Fx_display_list):
15174 * lread.c (close_load_descs):
15175 * keyboard.c (read_char_x_menu_prompt):
15176 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15177 * coding.c (code_convert_region_unwind): Test the type of an object
15178 rather than just !NILP before extracting data from it.
15179
15180 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15181
15182 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15183 (XMISCANY): New macro.
15184 (XMISCTYPE): Use it.
15185 (struct Lisp_Misc_Any): New type.
15186 (union Lisp_Misc): Use it.
15187 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15188 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15189 (find_symbol_value, set_internal, default_value, Fset_default)
15190 (Fmake_variable_buffer_local, Fmake_local_variable)
15191 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15192 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15193 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15194 * alloc.c (allocate_buffer): Set the size and tag.
15195 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15196 Use XMISCANY.
15197 (die): Follow the GNU convention for error messages.
15198 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15199 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15200 tag any more.
15201 (set_buffer_internal_1):
15202 * frame.c (store_frame_param):
15203 * eval.c (specbind):
15204 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15205
15206 * doc.c (Fsnarf_documentation): Simplify.
15207
152082007-10-14 Juanma Barranquero <lekktu@gmail.com>
15209
15210 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15211 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15212
152132007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15214
15215 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15216
152172007-10-14 Juanma Barranquero <lekktu@gmail.com>
15218
15219 * eval.c (do_autoload): Don't save autoloads.
15220
15221 * data.c (Ffset): Save autoload of the function being set.
15222
152232007-10-07 John Paul Wallington <jpw@pobox.com>
15224
15225 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15226 parameter before setting up faces.
15227
152282007-10-13 Eli Zaretskii <eliz@gnu.org>
15229
15230 * ccl.c (Fregister_code_conversion_map):
15231 * keyboard.c (append_tool_bar_item): Reformat last change.
15232
15233 * lisp.h (eabs): Rename from `abs'. All callers changed.
15234
152352007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15236
15237 * buffer.c (add_overlay_mod_hooklist):
15238 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15239 * fontset.c (make_fontset):
15240 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15241 (append_tool_bar_item):
15242 * macmenu.c (grow_menu_items):
15243 * w32menu.c (grow_menu_items):
15244 * xmenu.c (grow_menu_items): Use larger_vector.
15245
152462007-10-13 Eli Zaretskii <eliz@gnu.org>
15247
15248 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15249 selected frame'' on MSDOS).
15250
152512007-10-12 Martin Rudalics <rudalics@gmx.at>
15252
15253 * frame.c (Qexplicit_name): New variable.
15254 (x_report_frame_params): Report it in parameter alist.
15255 (syms_of_frame): Intern and staticpro it.
15256
152572007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15258
15259 * macfns.c (x_create_tip_frame): Set terminal for frame.
15260
152612007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15262
15263 * frame.c (Qenvironment): Remove.
15264 (syms_of_frame) <Qenvironment>: Don't initialize.
15265 (Fdelete_frame): Don't treat the `environment' param specially.
15266 * frame.h (Qenvironment): Don't declare.
15267 * callproc.c (set_initial_environment): Don't set unused frame param.
15268
15269 * frame.c (Fframe_with_environment): Remove.
15270 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15271
15272 * lisp.h (Fframe_with_environment): Don't declare.
15273
152742007-10-10 Juanma Barranquero <lekktu@gmail.com>
15275
15276 * indent.c (indent_tabs_mode, last_known_column)
15277 (last_known_column_modified): Make static.
15278 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15279
152802007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15281
15282 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15283
152842007-10-09 Jason Rumney <jasonr@gnu.org>
15285
15286 * w32term.c (x_set_window_size): Disable code that attempts to tell
15287 Lisp code about a size change before it actually happens.
15288
152892007-10-09 Richard Stallman <rms@gnu.org>
15290
15291 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15292 return HANDLED_RETURN.
15293
152942007-10-08 Martin Rudalics <rudalics@gmx.at>
15295
15296 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15297 when there's an unread command event.
15298
15299 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15300 window autoselection act appropriately when leaving selected frame.
15301 (syms_of_frame): Initialize focus_follows_mouse.
15302 * frame.h (focus_follows_mouse): Extern it.
15303 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15304 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15305 * msdos.c (dos_rawgetc): Likewise.
15306 * w32term.c (w32_read_socket): Likewise.
15307 * xterm.c (handle_one_xevent): Likewise.
15308 * xdisp.c (syms_of_xdisp): In doc-string of
15309 mouse-autoselect-window mention focus-follows-mouse.
15310
153112007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15312
15313 * macterm.c (mac_load_query_font): Fix missing return value.
15314 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15315 Add BLOCK_INPUT.
15316
153172007-10-08 Richard Stallman <rms@gnu.org>
15318
15319 * xdisp.c (get_window_cursor_type): Implement documented behavior
15320 for cursor-in-non-selected-windows = t.
15321
153222007-10-08 Jason Rumney <jasonr@gnu.org>
15323
15324 * w32.c (w32_get_resource): Always close registry keys.
15325
153262007-10-08 Jason Rumney <jasonr@gnu.org>
15327
15328 * makefile.w32-in (LIBS): Add COMCTL32.
15329
15330 * w32fns.c (globals_of_w32fns): Init common controls.
15331
153322007-10-08 Richard Stallman <rms@gnu.org>
15333
15334 * image.c (our_memory_buffer): Rename from omfib_buffer.
15335
153362007-10-08 Richard Stallman <rms@gnu.org>
15337
15338 * buffer.c (Foverlays_at): Doc fix.
15339
153402007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15341
15342 * fns.c (Fplist_put): Preserve uneven tail data.
15343
153442007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15345
15346 * termhooks.h (enum event_kind): Remove trailing comma.
15347
15348 * frame.h (enum): Remove trailing comma.
15349
153502007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15351
15352 * w32proc.c (delete_child): Don't terminate threads of zombies.
15353
153542007-10-08 Martin Rudalics <rudalics@gmx.at>
15355
15356 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15357
15358 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15359 last-repeatable-command.
15360 (init_kboard): Initialize Vlast_repeatable_command.
15361 (command_loop_1): Set it to real_this_command unless that was
15362 bound to an input event.
15363 (mark_kboards): Mark it.
15364
153652007-10-08 Richard Stallman <rms@gnu.org>
15366
15367 * eval.c (condition-case): Doc fix.
15368
153692007-10-08 Masatake YAMATO <jet@gyve.org>
15370
15371 * xfaces.c (tty_supports_face_attributes_p): Fix code
15372 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15373 was copied and not edited.
15374
153752007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15376
15377 Add new `input-decode-map' keymap and use it for terminal
15378 escape sequences.
15379 * keyboard.h (struct kboard): Add Vinput_decode_map.
15380 Remove Vlocal_key_translation_map.
15381 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15382 (init_kboard): Init input-decode-map.
15383 Replace local-key-translation-map back with key-translation-map.
15384 (syms_of_keyboard): Declare input-decode-map.
15385 Remove local-key-translation-map. Update docstrings.
15386 (mark_kboards): Mark Vinput_decode_map.
15387 Don't mark Vlocal_key_translation_map.
15388 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15389 Replace local-key-translation-map back with key-translation-map.
15390 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15391 Bind in input-decode-map rather than function-key-map.
15392
15393 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15394 This was made redundant by the previous introduction of XSETPVECTYPE.
15395
153962007-10-09 Richard Stallman <rms@gnu.org>
15397
15398 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15399
154002007-09-29 Richard Stallman <rms@gnu.org>
15401
15402 * eval.c (internal_condition_case_2, internal_condition_case_1)
15403 (internal_condition_case): Reenable abort if x_catching_errors ()
15404 to see if that really happens and why.
15405
154062007-10-06 Andreas Schwab <schwab@suse.de>
15407
15408 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15409
154102007-10-04 Juanma Barranquero <lekktu@gmail.com>
15411
15412 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15413
154142007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15415
15416 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15417
154182007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15419
15420 * window.h (struct window):
15421 * window.c (struct save_window_data, struct saved_window):
15422 * termhooks.h (struct terminal):
15423 * process.h (struct Lisp_Process):
15424 * frame.h (struct frame):
15425 * buffer.h (struct buffer):
15426 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15427 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15428 The size field of (pseudo)vectors is now unsigned.
15429 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15430
15431 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15432 Turn `count' into an integer.
15433
15434 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15435 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15436 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15437 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15438 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15439
15440 * alloc.c (allocate_pseudovector): New fun.
15441 (ALLOCATE_PSEUDOVECTOR): New macro.
15442 (allocate_window, allocate_terminal, allocate_frame)
15443 (allocate_process): Use it.
15444 (mark_vectorlike): New function.
15445 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15446 (mark_terminals): Use it.
15447 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15448 (Fmake_byte_code): Use XSETPVECTYPE.
15449
15450 * frame.c (Fframe_parameters): Minor simplification.
15451
15452 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15453
15454 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15455
15456 * buffer.c (Fget_buffer_create, init_buffer_once):
15457 * lread.c (defsubr):
15458 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15459
15460 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15461 defined differently in the m/*.h files.
15462 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15463 (XSETPVECTYPE): New macro.
15464 (XSETPSEUDOVECTOR): Use it.
15465
15466 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15467 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15468
15469 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15470 * lread.c (defvar_per_buffer):
15471 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15472
15473 * window.c (candidate_window_p): Only consider as visible frames that
15474 are on the same terminal.
15475
15476 * m/ibms390x.h (MARKBIT): Remove unused macro.
15477
154782007-10-01 Juanma Barranquero <lekktu@gmail.com>
15479
15480 * lread.c (Fload): Fix typo in docstring.
15481
154822007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15483
15484 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15485 of a non-zero value can't yield zero.
15486
154872007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15488
15489 * term.c (term_clear_mouse_face, term_mouse_highlight)
15490 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15491
15492 * print.c (safe_debug_print): Use XHASH.
15493
15494 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15495 Lisp elements such as tags.
15496 (XHASH): New macro.
15497 (EQ): Use it.
15498 (SREF, SSET, STRING_COPYIN): Use SDATA.
15499 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15500
15501 * alloc.c (mark_terminal): Remove left-over declaration.
15502 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15503 (allocate_vectorlike): Remove type argument. Adjust callers.
15504 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15505 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15506
15507 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15508 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15509 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15510 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15511 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15512 Use them.
15513
15514 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15515 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15516 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15517
155182007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15519
15520 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15521 loaded by default.
15522
155232007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15524
15525 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15526 on this tty.
15527 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15528
15529 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15530 Update all users.
15531 (handle_one_term_event): Use Gpm_DrawPointer.
15532 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15533 Signal errors instead of returning nil. Always return nil.
15534 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15535 Make it a noop if gpm-mouse was not activated.
15536 (syms_of_term): Update names.
15537
155382007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15539
15540 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15541 (init_sys_modes): Check that gpm_tty is the current tty.
15542
15543 * alloc.c (allocate_terminal): Set the vector size to only count the
15544 lisp fields. Initialize those to nil.
15545 (mark_object): Don't treat terminals specially.
15546 (mark_terminal): Remove.
15547 (mark_terminals): Use mark_object instead.
15548
15549 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15550 the GC to the beginning.
15551
15552 * indent.h:
15553 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15554
15555 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15556
155572007-09-25 Jason Rumney <jasonr@gnu.org>
15558
15559 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15560
15561 * w32console.c (create_w32cons_output): Remove.
15562
15563 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15564
15565 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15566 (reset_sys_modes): Use reset_terminal_modes_hook.
15567
155682007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15569
15570 * eval.c (do_autoload): Don't output any message.
15571
155722007-09-24 Juri Linkov <juri@jurta.org>
15573
15574 * emacs.c (standard_args): Change priority of "--no-splash"
15575 from 40 to 3. Add "--no-desktop" with the same priority.
15576
155772007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15578
15579 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15580 and optimize the case where they are all 1.
15581
155822007-09-23 Johannes Weiner <hannes@saeurebad.de>
15583
15584 * lisp.h (abs): Define if not defined.
15585 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15586 Don't define `abs', since it's defined in lisp.h.
15587
155882007-09-22 Eli Zaretskii <eliz@gnu.org>
15589
15590 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15591 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15592 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15593 (init_tty): Use DEV_TTY instead of "/dev/tty".
15594 [WINDOWSNT]: No need to protect from NAME arg being null.
15595
155962007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15597
15598 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15599 up the tty state.
15600
156012007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15602
15603 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15604 (gpm_tty): Change its type.
15605 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15606 (gpm_tty): Change its type and initialize it.
15607 (Fterm_open_connection): Check the frame is indeed a tty.
15608 Use the new gpm_tty.
15609 (Fterm_close_connection): Use the new gpm_tty.
15610 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15611 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15612
156132007-09-21 Juanma Barranquero <lekktu@gmail.com>
15614
15615 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15616 underline_color, to draw strike-through.
15617
156182007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15619
15620 * lisp.h (allocate_terminal): Declare.
15621
15622 * window.c (candidate_window_p): Consider frames that are being placed
15623 by the user as somewhere between visible and iconified.
15624 (window_loop): Prefer windows on the current frame.
15625 (Fselect_window): Move the use of select-frame to the beginning so we
15626 can just delegate all the work (it'll call us back anyway).
15627
15628 * frame.c (Qdisplay_environment_variable):
15629 * frame.h (Qdisplay_environment_variable): Delete.
15630
15631 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15632 of the first arg, since that value may be a union.
15633
15634 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15635 parameter rather than Qdisplay_environment_variable. If all else
15636 fails, look for DISPLAY in initial-environment.
15637
156382007-09-21 Glenn Morris <rgm@gnu.org>
15639
15640 * Makefile.in (emacstool): Remove target.
15641 (lisp, shortlisp): Remove termdev.elc.
15642
156432007-09-21 Markus Triska <markus.triska@gmx.at>
15644
15645 * xterm.c (x_delete_display): Compile session management conditionally.
15646
156472007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15648
15649 * callproc.c (getenv_internal_1): New function.
15650 (getenv_internal): Use it.
15651 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15652
15653 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15654 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15655 (Fset_terminal_parameter): Work with dead terminals as well.
15656 (Fmodify_terminal_parameters): Remove.
15657
15658 * terminal.c (get_terminal): Handle terminals.
15659 Make sure the terminal returned is live.
15660 (create_terminal): Use allocate_terminal.
15661 (mark_terminals): Move to alloc.c.
15662 (delete_terminal): Use terminal->name as liveness status.
15663 NULL out fields after freeing their contents.
15664 Don't deallocate the object.
15665 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15666 rather than an int.
15667 (Fterminal_live_p): Accept non-integer arguments.
15668 (Fterminal_list): Return terminal objects rather than an ints.
15669
15670 * alloc.c (enum mem_type): New member for `terminal' objects.
15671 (allocate_terminal): New function.
15672 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15673 Handle terminals.
15674 (mark_terminal): New fun.
15675 (mark_terminals): Move from terminal.c.
15676
15677 * term.c (get_tty_terminal): Don't treat output_initial specially.
15678 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15679 (delete_tty): Use terminal->name as liveness status.
15680
15681 * termhooks.h (struct terminal): Make it into a pseudovector.
15682 Remove `deleted' replaced by checking `name's nullness.
15683
15684 * print.c (print_object): Handle terminals.
15685
15686 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15687 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15688
15689 * frame.c (make_terminal_frame):
15690 * keyboard.c (tty_read_avail_input):
15691 * w32term.c (x_delete_terminal):
15692 * xfns.c (Fx_create_frame, x_create_tip_frame):
15693 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15694
156952007-09-20 Glenn Morris <rgm@gnu.org>
15696
15697 * process.c (Fmake_network_process): Doc fix.
15698
156992007-09-19 Jason Rumney <jasonr@gnu.org>
15700
15701 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15702
157032007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15704
15705 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15706 Fix a C warning regarding variable constness.
15707
15708 * xterm.c (handle_one_xevent): Fix a C warning.
15709
157102007-09-18 Jason Rumney <jasonr@gnu.org>
15711
15712 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15713
157142007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15715
15716 * gtkutil.c (gdpy_def): New variable.
15717 (xg_initialize): Initialize gdpy_def.
15718 (xg_display_close): If no other display exists, set gdpy_def to a
15719 new connection.
15720
157212007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15722
15723 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15724 when we have no file name for the icon.
15725 (xg_tool_bar_expose_callback): Remove.
15726 (xg_create_tool_bar): Don't connect expose signal to
15727 xg_tool_bar_expose_callback.
15728 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15729
157302007-09-16 Andreas Schwab <schwab@suse.de>
15731
15732 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15733 values instead of zapping them.
15734
157352007-09-14 Glenn Morris <rgm@gnu.org>
15736
15737 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15738 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15739 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15740 scope and rename to omfib_buffer for clarity.
15741 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15742
157432007-09-14 Kenichi Handa <handa@m17n.org>
15744
15745 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15746
157472007-09-13 Jason Rumney <jasonr@gnu.org>
15748
15749 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15750
15751 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15752
15753 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15754 (mac_term_init): Call here instead, passing rif.
15755
157562007-09-13 Glenn Morris <rgm@gnu.org>
15757
15758 * s/hpux.h: No longer define `static' as nothing.
15759
157602007-09-13 Johan Bockgård <bojohan@gnu.org>
15761
15762 * callint.c (Fcall_interactively): Remove unused var `fun'.
15763
157642007-09-12 Romain Francoise <romain@orebokech.com>
15765
15766 * window.c (prefer_window_split_horizontally, display_buffer):
15767 Revert 2007-09-08 change.
15768
157692007-09-12 Glenn Morris <rgm@gnu.org>
15770
15771 * alloca.c: Remove file.
15772 * Makefile.in (alloca): Do not undef.
15773 (allocaobj, alloca.o): Remove.
15774 (otherobj): Remove allocaobj.
15775 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15776 * regex.c (C_ALLOCA): Remove all references and code that was only
15777 used when this was defined.
15778 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15779 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15780 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15781
15782 * Makefile.in (SOURCES, unlock, relock): Delete.
15783
15784 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15785 (menu_grab_callback): All uses changed.
15786
15787 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15788 (x_reply_selection_request): All uses changed.
15789
157902007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15791
15792 * lread.c (load_warn_old_style_backquotes): Change message to look
15793 better when it appears in the middle of byte-compiler messages.
15794
157952007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15796
15797 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15798
15799 * xterm.c (x_create_terminal): Add comment.
15800
15801 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15802
158032007-09-10 Richard Stallman <rms@gnu.org>
15804
15805 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15806
158072007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15808
15809 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15810 (DEFUN): Document `intspec', use it instead of `prompt'.
15811
15812 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15813
15814 * data.c (Finteractive_form): If the interactive specification starts
15815 with a `(', use it as a Lisp form.
15816
15817 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15818 name and file modes.
15819
15820 * callint.c (Fcall_interactively): Comment fixes.
15821
158222007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15823
15824 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15825 and compiled functions.
15826
158272007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15828
15829 * window.c (prefer_window_split_horizontally): New variable.
15830 (display_buffer): Consider splitting window horizontally depending
15831 on prefer_window_split_horizontally.
15832
158332007-09-08 Eli Zaretskii <eliz@gnu.org>
15834
15835 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15836
158372007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15838
15839 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15840
15841 * frame.c (x_set_frame_parameters): Check number is positive before
15842 using XFASTINT.
15843
15844 * window.c (freeze_window_start): Don't presume selected_window holds
15845 a window object.
15846 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15847
158482007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15849
15850 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15851
158522007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15853
15854 * window.c (Vsplit_window_preferred_function): New var.
15855 (Fdisplay_buffer): Use it.
15856 (syms_of_window): Export, and initialize it.
15857
158582007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15859
15860 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15861
158622007-09-06 Glenn Morris <rgm@gnu.org>
15863
15864 * gtkutil.c (menu_grab_callback) <cnt>:
15865 * xselect.c (x_reply_selection_request) <cnt>: Move static
15866 variable to file scope.
15867
158682007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15869
15870 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15871 consistent values of selected_frame and selected_window.
15872
158732007-09-04 Jason Rumney <jasonr@gnu.org>
15874
15875 * w32console.c (initialize_w32_display): Zero unused hooks.
15876
158772007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15878
15879 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15880 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15881
158822007-09-04 Jason Rumney <jasonr@gnu.org>
15883
15884 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15885 in w32console.c. Set up input. Remove XXX comments that have been
15886 confirmed as correct.
15887
15888 * s/ms-w32.h (MULTI_KBOARD): Define.
15889
15890 * w32console.c (one_and_only_w32cons): Remove.
15891 (initialize_w32_display): Take terminal argument.
15892
15893 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15894 initialize_w32_display.
15895 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15896
15897 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15898
15899 * keyboard.c (discard_mouse_events): Discard it.
15900 (make_lispy_event): Translate it to a lisp event.
15901 (lispy_wheel_names): Add wheel-left and right events.
15902 (syms_of_keyboard): Enlarge wheel_syms.
15903
15904 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15905 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15906
15907 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15908
15909 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15910 from WM_MOUSEHWHEEL.
15911 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15912
15913 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15914 terminal.
15915
15916 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15917 keyboard for the terminal.
15918
159192007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15920
15921 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15922 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15923 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15924 and resume-tty-function to resume-tty-hook.
15925 (Fsuspend_tty, Fresume_tty): Use new names.
15926
159272007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15928
15929 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15930 if it starts with "n:".
15931
159322007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15933
15934 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15935
159362007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15937
15938 * frame.h:
15939 * frame.c (Qterm_environment_variable): Remove.
15940 (syms_of_frame): Don't init and staticpro it.
15941
15942 * callproc.c (getenv_internal): Remove special case for $TERM.
15943
15944 * callproc.c (Vinitial_environment): New variable.
15945 (set_initial_environment): Initialize it.
15946 (syms_of_callproc): Declare it.
15947 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15948 TERM under which a process runs is never related to the TERM in which
15949 Emacs is running.
15950
159512007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15952
15953 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15954 * s/darwin.h: ... do it here.
15955
159562007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15957
15958 * lisp.h (set_initial_environment): Rename from set_global_environment.
15959
15960 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15961 removed by mistake on the multi-tty branch.
15962
15963 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15964 (Fmodify_frame_parameters): Return a value.
15965
15966 * image.c (png_load): Comment-out var only used in commented-out code.
15967
15968 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15969 before passing it to mark_object.
15970
15971 * xfaces.c (internal_resolve_face_name): Return a value.
15972 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15973
15974 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15975 (x_icon): Comment-out var only used in commented-out code.
15976
159772007-08-29 Romain Francoise <romain@orebokech.com>
15978
15979 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15980 QUIT hasn't been provided.
15981
159822007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15983
15984 * callproc.c (child_setup, getenv_internal): Use the
15985 display-environment-variable and term-environment-variable frame params.
15986 (set_initial_environment): Initialise Vprocess_environment.
15987
15988 * config.in: Disable multi-keyboard support on a mac.
15989
15990 * frame.c (Qterm_environment_variable)
15991 (Qdisplay_environment_variable): New variables.
15992 (syms_of_frame): Intern and staticpro them.
15993 (Fmake_terminal_frame): Disable output method test.
15994
15995 * frame.h: Declare them here.
15996
15997 * macfns.c (x_set_mouse_color): Get rif from the frame.
15998 (x_set_tool_bar_lines): Don't use updating_frame.
15999 (mac_window): Add 2 new parameters for consistency with other systems.
16000 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
16001 frame parameters following what is done in X11 and w32. Don't use
16002 FRAME_MAC_DISPLAY_INFO.
16003 (Fx_open_connection, start_hourglass): Remove window-system check.
16004 (x_create_tip_frame): Get the keyboard from the terminal.
16005
16006 * macmenu.c: Reorder includes.
16007 (Fx_popup_menu): Use terminal specific mouse_position_hook.
16008
16009 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
16010 terminal parameter.
16011 (x_clear_frame): Add a frame parameter.
16012 (note_mouse_movement): Get rif from the frame.
16013 (mac_term_init): Initialize the terminal.
16014 (mac_initialize): Make static and move terminal initialization ...
16015 (mac_create_terminal): ... to this new function.
16016
16017 * macterm.h (struct mac_display_info): Add terminal.
16018 (mac_initialize): Delete declaration.
16019
16020 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
16021
16022 * sysdep.c: Comment out text after #endif.
16023
16024 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
16025 is defined. Better initialize ttys in windows. Use terminal
16026 specific mouse_position_hook.
16027
16028 * termhooks.h (union display_info): Add mac_display_info.
16029
16030 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
16031 Set the default minibuffer frame, window_system and the rest of the
16032 frame parameters following what is done in X11.
16033
16034 * w32term.c (w32_initialize): Make static.
16035
16036 * xselect.c (x_handle_selection_clear): Only access
16037 terminal->kboard when MULTI_KBOARD is defined.
16038
16039 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
16040 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
16041
160422007-08-29 Jason Rumney <jasonr@gnu.org>
16043
16044 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
16045 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
16046
16047 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
16048 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
16049
16050 * keyboard.c (restore_kboard_configuration): Only define when
16051 MULTI_KBOARD defined.
16052
16053 * makefile.w32-in: Update dependancies from Makefile.in.
16054 (OBJ1): Add terminal.$(O)
16055
16056 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
16057 Don't define function body.
16058 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
16059
16060 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
16061
16062 * w32.c (request_sigio, unrequest_sigio): Remove.
16063
16064 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
16065 (w32con_clear_frame, w32con_clear_end_of_line)
16066 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
16067 (w32con_delete_glyphs, w32con_set_terminal_window)
16068 (scroll_line, w32_sys_ring_bell): Add frame arg.
16069 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
16070 Add terminal arg.
16071 (PICK_FRAME): Remove.
16072 (w32con_write_glyphs): Use frame specific terminal coding.
16073 (one_and_only_w32cons): New global variable.
16074 (initialize_w32_display): Use it for storing hooks.
16075 (create_w32cons_output): New function.
16076
16077 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16078 arg a frame.
16079
16080 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16081 Set window_system.
16082 (x_set_tool_bar_lines): Don't use updating_frame.
16083 (Fx_create_frame): Set terminal and ref count.
16084 (Fx_open_connection): Remove window-system check.
16085
16086 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16087
16088 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16089 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16090 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16091 Add frame arg.
16092 (x_delete_terminal, w32_create_terminal): New functions.
16093 (w32_term_init): Create a terminal.
16094 (w32_initialize): Move terminal specific initialization to
16095 w32_create_terminal.
16096
16097 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16098 (w32_clear_rect, w32_clear_area): Use background from frame.
16099 (w32_display_info): Add terminal.
16100 (w32_sys_ring_bell, x_delete_display): Declare here.
16101
16102 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16103
16104 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16105
161062007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16107
16108 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16109 Fix get_named_tty calls for the controlling tty.
16110
161112007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16112
16113 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16114
161152007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16116
16117 * term.c (tty_insert_glyphs): Add missing first parameter.
16118
161192007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16120
16121 * buffer.c (Fbuffer_list, Fbury_buffer):
16122 Take frame->buried_buffer_list into account.
16123
16124 * cm.c (current_tty): New variable, for cmputc().
16125 (cmputc): Use it.
16126 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16127 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16128 (cmgoto): Add tty parameter. Pass it on to calccost().
16129 Use emacs_tputs() instead of tputs().
16130
16131 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16132 tputs().
16133 (current_tty): New variable, for cmputc().
16134 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16135
16136 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16137 (internal_condition_case, internal_condition_case_1)
16138 (internal_condition_case_2): Don't abort when x_catching_errors.
16139
16140 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16141 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16142 prevent crashes caused by bogus longjmps in read_char.
16143
16144 * keymap.h (Fset_keymap_parent): Add EXFUN.
16145
16146 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16147 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16148 Remove redundant definition.
16149
16150 * macfns.c (x_set_mouse_color, x_make_gc):
16151 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16152
16153 * w32term.c (x_free_frame_resources):
16154 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16155 (w32_initialize): Use the accessor macros for terminal characteristics.
16156
16157 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16158 Use the accessor macros for terminal characteristics.
16159 * msdos.c (internal_terminal_init): Use the accessor macros for
16160 terminal characteristics.
16161 (ScreenVisualBell, internal_terminal_init):
16162 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16163
16164 * termopts.h (no_redraw_on_reenter): Declare.
16165
16166 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16167 (mark_terminals, mark_ttys): Declare.
16168 (Fgarbage_collect): Call them.
16169 (mark_object): Mark buried_buffer_list.
16170
16171 * prefix-args.c: Include stdlib.h for exit.
16172
16173 * syssignal.h: Add comment.
16174
16175 * indent.c: Include stdio.h.
16176
16177 * window.h (Vinitial_window_system): Declare.
16178 (Vwindow_system): Delete declaration.
16179
16180 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16181
16182 * image.c (lookup_image): Don't initialize `c' until the xasserts
16183 have been run.
16184
16185 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16186 FRAME_FOREGROUND_PIXEL.
16187
16188 * print.c (print_preprocess): Don't lose print_depth levels while
16189 iterating.
16190
16191 * widget.c (update_from_various_frame_slots):
16192 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16193
16194 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16195 frames.
16196 (window_internal_height): Remove bogus make_number call.
16197 (init_window_once): Call make_terminal_frame with two zero parameters.
16198
16199 * fileio.c (Fread_file_name): Update comment.
16200
16201 * callint.c (Fcall_interactively):
16202 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16203 Make sure it is correctly unwound.
16204
16205 * xsmfns.c (x_session_close): New function.
16206
16207 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16208 Delete declarations.
16209
16210 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16211 (x_output): Remove background_pixel and foreground_pixel fields.
16212 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16213 (x_delete_device, x_session_close): Declare.
16214
16215 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16216 (read_filtered_event): Call `read_char' with a local
16217 `wrong_kboard_jmpbuf'.
16218
16219 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16220 Don't call single_kboard_state. Use FRAME_RIF.
16221
16222 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16223 systems.
16224
16225 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16226 (Fframe_with_environment, Fset_input_meta_mode)
16227 (Fset_quit_char): EXFUN.
16228 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16229 (init_sys_modes, reset_sys_modes): Update prototypes.
16230 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16231
16232 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16233 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16234 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16235 Delete declarations.
16236 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16237 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16238 New declarations.
16239
16240 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16241 already does that during init_display(). Call syms_of_keymap
16242 before syms_of_keyboard. Call `syms_of_terminal'.
16243 Call set_initial_environment, not set_process_environment.
16244 (shut_down_emacs): Call reset_all_sys_modes() instead of
16245 reset_sys_modes().
16246
16247 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16248 (internal_resolve_face_name, resolve_face_name_error): New functions.
16249 (resolve_face_name): Protect against loops and errors thrown by Fget.
16250 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16251 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16252
16253 * scroll.c: Replace CURTTY() with local variables throughout the
16254 file (where applicable).
16255 (calculate_scrolling, calculate_direct_scrolling)
16256 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16257 characteristics.
16258
16259 * keymap.c (Vfunction_key_map): Remove.
16260 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16261 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16262 (Vkey_translation_map): Remove.
16263 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16264 (Fdescribe_buffer_bindings)
16265 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16266 Update for terminal-local key-translation-map.
16267
16268 * Makefile.in (callproc.o): Update dependencies.
16269 (lisp, shortlisp): Add termdev.elc.
16270 (obj): Add terminal.o.
16271 (terminal.o): Add dependencies.
16272 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16273 (data.o, fns.o): Add termhooks.h dependency.
16274 (SOME_MACHINE_LISP): Add dnd.elc.
16275 (minibuf.o): Fix typo.
16276 Update dependencies.
16277
16278 * data.c (do_symval_forwarding, store_symval_forwarding)
16279 (find_symbol_value): Use the selected frame's keyboard, not
16280 current_kboard.
16281
16282 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16283 Vwindow_system.
16284
16285 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16286 Fmenu_bar_open.
16287 (syms_of_xmenu): Update defsubr.
16288 (mouse_position_for_popup, Fx_popup_menu)
16289 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16290 (set_frame_menubar, free_frame_menubar)
b97439ce 16291 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16292 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16293 an X frame.
16294
16295 * xselect.c (x_own_selection): Abort if not an X frame.
16296 (some_frame_on_display): Check if it is an X frame.
16297 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16298
16299 * coding.c: Include frame.h and termhooks.h.
16300 (terminal_coding, keyboard_coding): Delete.
16301 (Fset_terminal_coding_system_internal)
16302 (Fset_keyboard_coding_system_internal)
16303 (Fkeyboard_coding_system)
16304 (Fterminal_coding_system): Add a terminal parameter.
16305 Get terminal_coding from the terminal.
16306 (init_coding_once): Don't call setup_coding_system here.
16307
16308 * dispextern.h (set_scroll_region, turn_off_insert)
16309 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16310 (tty_clear_end_of_line, tty_setup_colors)
16311 (delete_tty, updating_frame)
16312 (produce_special_glyphs, produce_glyphs, write_glyphs)
16313 (insert_glyphs): Remove.
16314 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16315 (tty_turn_off_highlight, get_tty_size): Add declaration.
16316 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16317
16318 * frame.h (enum output_method): Add output_initial.
16319 (struct x_output): Delete.
16320 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16321 Access foreground_pixel and background_pixel directly from the frame.
16322 (tty_display): Delete.
16323 (struct frame): Add buried_buffer_list, foreground_pixel,
16324 background_pixel and terminal. Delete kboard.
16325 (union output_data): Add tty.
16326 (FRAME_KBOARD): Get the kboard from the terminal.
16327 (FRAME_INITIAL_P): New macro.
16328 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16329 (Qterm_environment_variable, Qdisplay_environment_variable)
16330 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16331 New declarations.
16332
16333 * termchar.h (tty_output, tty_display_info): New structures.
16334 (tty_list): Declare.
16335 (FRAME_TTY, CURTTY): New macros.
16336 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16337 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16338 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16339 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16340
16341 * callproc.c: Include frame.h and termhooks.h, for terminal
16342 parameters.
16343 (add_env): New function.
16344 (child_setup): Use it.
16345 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16346 (getenv_internal): Fix get_terminal_param call.
16347 (Fgetenv_internal, egetenv): Update doc.
16348 (syms_of_callproc): Initialize Vprocess_environment to nil.
16349 Register and initialize them. Remove obsolete defvars. Update doc
16350 strings.
16351 (child_setup): Handle Vlocal_environment_variables.
16352 (getenv_internal): Add terminal parameter.
16353 Handle Vlocal_environment_variables.
16354 (Fgetenv_internal): Add terminal parameter.
16355 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16356 environment in a frame (not terminal) parameter. Update doc strings.
16357 (set_initial_environment): Rename from set_global_environment.
16358 Store Emacs environment in initial frame parameter.
16359
16360 * xdisp.c (redisplay_internal): Update references to
16361 `previous_terminal_frame'.
16362 (display_mode_line, Fformat_mode_line): Replace calls to
16363 `push_frame_kboard' with `push_kboard'.
16364 (get_glyph_string_clip_rects): Add extra parentheses and
16365 braces to prevent compiler warnings.
16366 (calc_pixel_width_or_height): Add xassert to check that the
16367 frame is alive. Don't call `lookup_image' on a termcap frame.
16368 (message2_nolog, message3_nolog, redisplay_internal)
16369 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16370 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16371 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16372 (Fx_display_pixel_width, Fx_display_pixel_height)
16373 (Fx_display_planes, Fx_display_color_cells)
16374 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16375 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16376 (Fx_display_backing_store, Fx_display_visual_class)
16377 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16378 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16379
16380 * xfns.c (x_set_foreground_color x_set_background_color)
16381 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16382 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16383 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16384 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16385 terminal that is being deleted.
16386 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16387 frame parameter, and make sure it overrides any user-supplied setting.
16388 (Fx_close_connection, Fx_synchronize): Unify argument names with
16389 the rest of the DEFUNs.
16390
16391 * dispnew.c (Fsend_string_to_terminal): Update call to
16392 `get_tty_terminal'.
16393 (Fredraw_frame, Fsend_string_to_terminal)
16394 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16395 FRAME_TERMCAP_P and FRAME_TTY.
16396 (window_change_signal): Don't believe width/height values that are
16397 impossibly small.
16398 (Vinitial_window_system): Rename from Vwindow_system.
16399 (termscript, Wcm, rif): Delete.
16400
16401 * termhooks.h (struct terminal): New struct containing the
16402 previously global text display hooks and new members NAME,
16403 DELETED and PARAM_ALIST.
16404 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16405 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16406 (FRAME_RIF): New macros.
16407 (get_terminal_param, get_device): New declarations.
16408 (termscript): Delete declaration.
16409
16410 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16411 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16412 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16413 FRAME_FOREGROUND_PIXEL.
16414 (x_fully_uncatch_errors): Disable definition.
16415 (x_scroll_bar_expose): Fix reference to foreground pixel.
16416 (XTread_socket): Disable loop on all X displays.
16417 (x_delete_terminal): Don't set terminal->deleted and let
16418 delete_terminal delete the frames on the terminal.
16419 (x_delete_display): Doc update to reflect changes in
16420 delete_terminal.
16421 (x_display_info) <terminal>: Move member earlier in the struct.
16422 (deleting_tty): Remove old variable.
16423 (Fsuspend_tty): Call clear_tty_hooks.
16424 (Fresume_tty, init_tty): Call set_tty_hooks.
16425 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16426 errors on X frames.
16427 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16428 (handle_one_xevent): Initialize `f' to NULL.
16429 (x_delete_terminal, x_create_terminal): New functions.
16430 (XTset_terminal_modes, XTreset_terminal_modes)
16431 (XTread_socket, x_connection_closed, x_term_init)
16432 (x_term_init, x_delete_display): Add terminal parameter.
16433 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16434 X connections.
16435
16436 * frame.c: Include termchar.h.
16437 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16438 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16439 (Qdisplay_environment_variable): New vars.
16440 (Fframep): Deal with output_initial.
16441 (Fframe-live-p): Doc fix.
16442 (Fwindow-system): New function.
16443 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16444 (make_terminal_frame): Don't create frames on a terminal that is
16445 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16446 (store_frame_param): Check for found_for_frame before calling XFRAME.
16447 (Fmake_terminal_frame): Handle NULL tty names correctly.
16448 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16449 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16450 frames to refer to a deleted frame in their 'environment parameter.
16451 (Fframe_with_environment): New function.
16452 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16453 (get_future_frame_param): New function.
16454 (Fmake_terminal_frame): Use it.
16455 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16456
16457 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16458 * sysdep.c (reset_sys_modes): Update for renames.
16459
16460 * keyboard.c (tty_read_avail_input): New function.
16461 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16462 (syms_of_keyboard): Defsubr them.
16463 (Fset_input_meta_mode, Fset_quit_char): New functions.
16464 (Fset_input_mode): Split to above functions.
16465 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16466 parameter. Use it in call to `read_char'.
16467 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16468 Set wrong_kboard_jmpbuf correctly in recursive calls.
16469 Use current_kboard to access Vkeyboard_translate_table.
16470 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16471 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16472 Update longjmp invocations. Remember the original current_kboard,
16473 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16474 changes it. Comment out unnecessary calls to
16475 `record_single_kboard_state' and `any_kboard_state'.
16476 Update recursive calls.
16477 (wrong_kboard_jmpbuf): Remove global variable.
16478 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16479 Handle deleted interrupted_kboards correctly; that is a legal
16480 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16481 and read_char calls. Abort if interrupted_kboard died in read_char.
16482 (any_kboard_state, single_kboard_state)
16483 (push_frame_kboard): Remove function.
16484 (pop_kboard): Switch out of single_kboard mode if the kboard has
16485 been deleted. Remove unused variable. Help debugging by not
16486 changing current_kboard unnecessarily. Set current_kboard to the
16487 kboard of the selected frame when the stored kboard object has
16488 been deleted before pop_kboard.
16489 (temporarily_switch_to_single_kboard): Change first parameter to a
16490 frame pointer. Throw an error when caller wants to change kboards
16491 while in single_kboard mode. Don't push_kboard if we weren't in
16492 single kboard state. Don't pop_kboard if we popped into any
16493 kboard state.
16494 (restore_kboard_configuration): Abort if pop_kboard changed the
16495 kboard in single_kboard mode. Call pop_kboard only after setting
16496 up single_kboard mode.
16497 (Frecursive_edit): Switch to single_kboard mode only in nested
16498 command loops.
16499 (cmd_error, command_loop, command_loop_1, timer_check):
16500 Comment out unnecessary call to `any_kboard_state' and
16501 `record_single_kboard_state'.
16502 (delete_kboard): Exit single_kboard mode if we have just deleted
16503 that kboard. Use FRAME_KBOARD.
16504 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16505 `fatal_error_signal'.
16506 (record_single_kboard_state): Don't push_kboard if we weren't in
16507 single kboard state. Don't pop_kboard if we popped into any
16508 kboard state.
16509 (push_frame_kboard): Rename to push_kboard.
16510 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16511 (read_avail_input): Read input from all terminals.
16512 (mark_kboards): Also mark Vkeyboard_translate_table.
16513 (kbd_buffer_store_event_hold): Simplify condition.
16514 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16515 (Vkeyboard_translate_table): Move to struct kboard.
16516 (init_kboard): Initialize Vkeyboard_translate_table.
16517 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16518 Vkeyboard_translate_table. Update doc strings. Update docs of
16519 local-function-key-map and function-key-map.
16520
16521 * terminal.c: New file.
16522
16523 * term.c: Include errno.h.
16524 (Vring_bell_function, device_list, initial_device)
16525 (next_device_id, ring_bell, update_begin, update_end)
16526 (set_terminal_window, cursor_to, raw_cursor_to)
16527 (clear_to_end, clear_frame, clear_end_of_line)
16528 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16529 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16530 (syms_of_term): Move their initialization to terminal.c.
16531 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16532 (Ftty_display_color_cells)
16533 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16534 (clear_tty_hooks, set_tty_hooks)
16535 (init_tty, maybe_fatal): New functions.
16536 (Ftty_type): Return nil if terminal is not on a tty instead of
16537 throwing an error. Doc update.
16538 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16539 Doc update. Initialize new subrs and variables.
16540 (delete_tty): Use terminal->deleted.
16541 (tty_set_terminal_modes): Rename from set_terminal_modes.
16542 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16543 (set_scroll_region): Rename to `tty_set_scroll_region'.
16544 (turn_on_insert): Rename to `tty_turn_on_insert'.
16545 (turn_off_insert): Rename to `tty_turn_off_insert'.
16546 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16547 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16548 (toggle_highligh): Rename to `tty_toggle_highlight'.
16549 (background_highlight): Rename to `tty_background_highlight'.
16550 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16551 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16552 (tty_set_scroll_region, tty_background_highlight)
16553 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16554 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16555 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16556 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16557 Add static modifier.
16558 (tty_reset_terminal_modes, tty_set_terminal_window)
16559 (tty_set_scroll_region, tty_background_highlight)
16560 (tty_highlight_if_desired, tty_cursor_to)
16561 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16562 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16563 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16564 renames.
16565
165662007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16567
16568 * keyboard.c: Qrtl is new.
16569 (parse_tool_bar_item): Handle :rtl keyword.
16570 (syms_of_keyboard): Intern :rtl keyword.
16571
16572 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16573
16574 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16575 so no Lisp code is executed.
16576 (file_for_image, find_rtl_image): New functions.
16577 (xg_get_image_for_pixmap): Use file_for_image.
16578 (update_frame_tool_bar): If direction is RTL, use RTL image if
16579 defined. Use Gtk stock images if defined.
16580
165812007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16582
16583 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16584 for nonexistent or zero-width glyph in composition glyph.
16585
165862007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16587
16588 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16589
16590 * xdisp.c (Finvisible_p): New function.
16591 (syms_of_xdisp): defsubr it.
16592
165932007-08-24 Juanma Barranquero <lekktu@gmail.com>
16594
16595 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16596 Doc fixes.
16597
165982007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16599
16600 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16601
166022007-08-24 Martin Rudalics <rudalics@gmx.at>
16603
16604 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16605 whether decoding has modified buffer contents.
16606
166072007-08-24 Jason Rumney <jasonr@gnu.org>
16608
16609 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16610 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16611 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16612 (init_svg_functions) [HAVE_NTGUI]: New function.
16613 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16614 (svg_load_image): Use them.
16615 (svg_load_image) [HAVE_NTGUI]: Implement background.
16616
166172007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16618
16619 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16620 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16621 (LIBX): Remove @RSVG_LIBS@.
16622 (LIBES): Add $(RSVG_LIBS).
16623
16624 * image.c (svg_load_image): Blend with specified background if exists.
16625 Use IMAGE_BACKGROUND. Add Mac OS Support.
16626
16627 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16628 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16629 Remove macros.
16630 [MAC_OSX] (socket_callback): Do nothing.
16631 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16632 ReceiveNextEvent.
16633 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16634 socket_callback.
16635 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16636
166372007-08-22 Glenn Morris <rgm@gnu.org>
16638
16639 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16640
166412007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16642
16643 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16644
16645 * image.c: Add support for SVG images. Some additional comments
16646 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16647 (svg_image_p): New function to test for SVG image.
16648 (svg_load): New function to load SVG image.
16649 (svg_load_image): New function, helper for svg_load.
16650 (Qsvg): New Lisp_object.
16651 (svg_keyword_index): New enum.
16652 (svg_format): New static `image_keyword' struct.
16653 (svg_type): New static `image_type' struct.
16654 (librsvg/rsvg.h): Include it.
16655
166562007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16657
16658 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16659
166602007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16661
16662 * lread.c (Qold_style_backquotes): New var.
16663 (syms_of_lread): Init and staticpro it.
16664 (load_warn_old_style_backquotes): New fun.
16665 (Fload): Use them to warn about old style backquotes.
16666 (end_of_file_error, Fload): Remove unused vars.
16667
16668 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16669
16670 * lread.c (Vold_style_backquotes): New var.
16671 (syms_of_lread): Init and export it to Elisp.
16672 (read1): Set it when we find an old-style (back)quote.
16673
166742007-08-22 Jason Rumney <jasonr@gnu.org>
16675
16676 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16677
166782007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16679
16680 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16681
166822007-08-19 Richard Stallman <rms@gnu.org>
16683
16684 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16685
166862007-08-19 Andreas Schwab <schwab@suse.de>
16687
16688 * alloc.c (pure): Round PURESIZE up.
16689
166902007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16691
16692 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16693 active frame.
16694
166952007-08-16 Richard Stallman <rms@gnu.org>
16696
16697 * eval.c (Fcommandp): Add parens to clarify.
16698
16699 * minibuf.c (Fall_completions): Use enum for type of table.
16700
16701 * emacs.c (USAGE2): Improve text.
16702
167032007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16704
16705 * term.c (tty_default_color_capabilities): Declare static
16706 variables in file scope, to avoid HPUX compiler problem.
16707
167082007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16709
16710 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16711 to gtk_toolbar_insert.
16712
167132007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16714
16715 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16716
16717 * insdel.c (reset_var_on_error): New fun.
16718 (signal_before_change, signal_after_change):
16719 Use it to reset (after|before)-change-functions to nil in case of error.
16720 Bind inhibit-modification-hooks to t.
16721 Don't bind (after|before)-change-functions to nil while they run.
16722
167232007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16724
16725 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16726 filling pixmap with stippled background.
16727
167282007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16729
16730 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16731 Don't use invisible frame as parent window for repositioning.
16732
167332007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16734
16735 * print.c (new_backquote_output): Rename from old_backquote_output.
16736 (print): Inverse its logic (according to its name) so as to match the
16737 behavior of new_backquote_flag in lread.c.
16738
167392007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16740
16741 * gmalloc.c (posix_memalign): New function.
16742
16743 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16744 ActivateControl/DeactivateControl here.
16745 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16746 frame-notice-user-settings is non-nil.
16747 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16748 for kEventParamFMFontStyle.
16749 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16750 mac_pass_command_to_system and mac_pass_control_to_system here.
16751 (XTread_socket): Call ActivateControl/DeactivateControl here.
16752 (XTread_socket) [TARGET_API_MAC_CARBON]:
16753 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16754 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16755 for window repositioning.
16756
167572007-08-08 Glenn Morris <rgm@gnu.org>
16758
16759 * Replace `iff' in doc-strings and comments.
16760
167612007-08-07 Chong Yidong <cyd@stupidchicken.com>
16762
16763 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16764
167652007-08-07 Martin Rudalics <rudalics@gmx.at>
16766
16767 * fileio.c (Finsert_file_contents): Run format-decode and
16768 after_insert_file_functions on entire buffer when REPLACE is
16769 non-nil and inhibit modification_hooks and point_motion_hooks.
16770 For consistency, run after_insert_file_functions iff something
16771 got inserted. Move signal_after_change and update_compositions
16772 after code running after_insert_file_functions. Make sure that
16773 undo_list doesn't record intermediate steps of the decoding process.
16774
167752007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16776
16777 * emacs.c (main)
16778 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16779 Call malloc_enable_thread on interactive startup.
16780
16781 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16782 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16783 [USE_PTHREAD]: Conditionalize with it.
16784 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16785 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16786 New functions.
16787
167882007-08-06 Chong Yidong <cyd@stupidchicken.com>
16789
16790 * xdisp.c (redisplay_window): When restoring original buffer
16791 position, make sure it is still valid.
16792
16793 * image.c (png_load): Ignore png-supplied background color.
16794
167952007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16796
16797 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16798 Use kCFAbsoluteTimeIntervalSince1970.
16799
16800 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16801 New variable.
16802 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16803 event loop should be quit.
16804 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16805 Quit dialog event loop if quit_dialog_event_loop is set.
16806
16807 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16808 (Selection): New typedef. Use instead of ScrapRef.
16809 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16810 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16811 (mac_clear_selection): Rename from clear_scrap.
16812 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16813 scrap_has_target_type. All uses changed.
16814 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16815 (mac_selection_has_target_p): New functions.
16816 (mac_put_selection_value): Rename from put_scrap_string.
16817 (mac_get_selection_value): Rename from get_scrap_string.
16818 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16819 (put_scrap_private_timestamp, scrap_has_target_type)
16820 (get_scrap_private_timestamp): Remove functions.
16821 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16822 (x_own_selection, x_get_local_selection):
16823 Use mac_valid_selection_value_p.
16824 (x_own_selection): Don't use put_scrap_private_timestamp.
16825 Record OWNERSHIP-INFO into Vselection_alist instead.
16826 (x_get_local_selection): Don't check type if request is local.
16827 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16828 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16829
168302007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16831
16832 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16833 add comment explaining why.
16834
168352007-08-03 Richard Stallman <rms@gnu.org>
16836
16837 * fileio.c (Fvisited_file_modtime): Use make_time.
16838
168392007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16840
16841 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16842 build.
16843
168442007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16845
16846 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16847
168482007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16849
16850 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16851
168522007-07-30 Richard Stallman <rms@gnu.org>
16853
16854 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16855
168562007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16857
16858 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16859
168602007-07-28 Nick Roberts <nickrob@snap.net.nz>
16861
16862 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16863 remote default-directory.
16864
16865 * buffer.c (mode-line-format): Update doc string.
16866
168672007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16868
16869 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16870 scroll bar gap.
16871 (x_scroll_bar_create): Set bar->fringe_extended_p.
16872 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16873 on frame edge. Check fringe background extension. Don't clear
16874 extended fringe background area.
16875
16876 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16877 (w32_fill_area): Enclose multiple statements with do ... while (0).
16878
16879 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16880 Extend fringe background to scroll bar gap.
16881 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16882 Set bar->fringe_extended_p.
16883 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16884 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16885 background extension. Don't clear extended fringe background area.
16886
16887 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16888 New member fringe_extended_p.
16889
168902007-07-25 Glenn Morris <rgm@gnu.org>
16891
16892 * Relicense all FSF files to GPLv3 or later.
16893
16894 * COPYING: Switch to GPLv3.
16895
168962007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16897
16898 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16899
16900 * data.c (Finteractive_form): Check for the presence of an
16901 `interactive-form' symbol property more thoroughly.
16902
16903 * data.c (Finteractive_form): Use an `interactive-form' property if
16904 present, analogous to the function-documentation property.
16905
169062007-07-24 Jason Rumney <jasonr@gnu.org>
16907
16908 * w32fns.c (x_real_positions): Get real position from OS instead of
16909 calculating it.
16910
169112007-07-23 Jason Rumney <jasonr@gnu.org>
16912
16913 * filelock.c (current_lock_owner): Allow for @ sign in username.
16914
169152007-07-22 Nick Roberts <nickrob@snap.net.nz>
16916
16917 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16918 remote default-directory.
16919
16920 * buffer.c (mode-line-format): Describe above case in doc string.
16921
169222007-07-20 Eli Zaretskii <eliz@gnu.org>
16923
16924 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16925 Define if not defined.
16926
169272007-07-18 Jason Rumney <jasonr@gnu.org>
16928
16929 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16930
169312007-07-18 Richard Stallman <rms@gnu.org>
16932
16933 * data.c (Fsetq_default): Doc fix.
16934
16935 * eval.c (Fsetq): Doc fix.
16936
169372007-07-18 Juanma Barranquero <lekktu@gmail.com>
16938
16939 * coding.c (Ffind_operation_coding_system):
16940 * eval.c (For, Fand): Doc fixes.
16941 Reported by Johan Bockgård.
16942
169432007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16944
16945 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16946
16947 * xterm.h: Declare x_ewmh_activate_frame.
16948
16949 * xterm.c (x_ewmh_activate_frame): New function.
16950 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16951
169522007-07-17 Martin Rudalics <rudalics@gmx.at>
16953
16954 * window.c (Fdisplay_buffer): If largest or LRU window is the
16955 only window, split it even if it is not eligible for splitting.
16956 This restores the original behavior broken by the 2007-07-15
16957 change.
16958
169592007-07-17 Glenn Morris <rgm@gnu.org>
16960
16961 * abbrev.c (abbrev_check_chars): New function.
16962 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16963 Call abbrev_check_chars to check abbrev characters are word
16964 constituents. Doc fix.
16965
169662007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16967
16968 * process.c (Fstart_process, Fmake_network_process)
16969 (read_process_output): Fix up last changes.
16970
169712007-07-16 Eli Zaretskii <eliz@gnu.org>
16972
16973 * makefile.w32-in (clean): Don't delete *~.
16974
169752007-07-16 Andreas Schwab <schwab@suse.de>
16976
16977 * window.c (Fdisplay_buffer): Use NILP.
16978 (Fset_window_scroll_bars): Likewise.
16979
169802007-07-15 Martin Rudalics <rudalics@gmx.at>
16981
16982 * window.c (window_min_size_2): New function.
16983 (window_min_size_1, size_window, Fdisplay_buffer)
16984 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16985 windows without mode- or header-lines when window-min-height is
16986 too small.
16987 (size_window): Reset nodelete_p after testing it, following an
16988 earlier note by Kim F. Storm.
16989 (display_buffer): Do not set split_height_threshold to twice the
16990 value of window_min_height to avoid changing the value of a
16991 customizable variable. Rather explicitly check whether the
16992 height of the window that shall be splitted is at least as large
16993 as split_height_threshold.
16994 (Fwindow_full_width_p): New defun.
16995 (syms_of_window): Defsubr it.
16996
16997 * window.h: Add EXFUN for Fwindow_full_width_p.
16998
169992007-07-14 Jason Rumney <jasonr@gnu.org>
17000
17001 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
17002
170032007-07-14 Richard Stallman <rms@gnu.org>
17004
17005 * eval.c (maybe_call_debugger): New function.
17006 (find_handler_clause): Use maybe_call_debugger.
17007 Call it when the handler says `debug'.
17008 Eliminate DEBUGGER_VALUE_PTR.
17009 (Fsignal): Eliminate debugger_value.
17010 (Qdebug): New variable.
17011 (syms_of_eval): Initialize it.
17012
170132007-07-14 Juanma Barranquero <lekktu@gmail.com>
17014
17015 * eval.c (Fprogn):
17016 * keyboard.c (Ftrack_mouse):
17017 * print.c (Fwith_output_to_temp_buffer):
17018 * window.c (Fsave_window_excursion): Doc fix.
17019
170202007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
17021
17022 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
17023
170242007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
17025
17026 * process.h (struct Lisp_Process): Turn slots infd, outfd,
17027 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
17028 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
17029 read_output_delay, and read_output_skip from Lisp_Objects to ints.
17030 Remove unused encoding_carryover.
17031 * process.c: Adjust all functions accordingly.
17032
170332007-07-12 Richard Stallman <rms@gnu.org>
17034
17035 * term.c: Include unistd.h only if HAVE_UNISTD_H.
17036
170372007-07-11 Jason Rumney <jasonr@gnu.org>
17038
17039 * makefile.w32-in (LIBS): Include OLE32.
17040
17041 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
17042 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
17043
170442007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
17045
17046 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
17047 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
17048 from a Lisp_Object into a bare pointer.
17049 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
17050 Adjust the code correspondingly.
17051
17052 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
17053
17054 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
17055 (term_show_mouse_face): Remove unused var `j'.
17056 (handle_one_term_event): Remove unused vars `i' and `j'.
17057 Don't cast return value of ttyname since it's not necessary.
17058
170592007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
17060
17061 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
17062 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
17063
17064 * fns.c (map_char_table): Use an array of int for `indices' rather than
17065 an array of Lisp_Objects (which are only ever integers anyway).
17066 (Fmap_char_table): Update caller.
17067 * lisp.h: Update prototype.
17068 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
17069 * fontset.c (Ffontset_info):
17070 * casetab.c (set_case_table): Update callers.
17071
17072 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17073
17074 * keymap.c (struct accessible_keymaps_data)
17075 (struct where_is_internal_data): New structures.
17076 (accessible_keymaps_1, where_is_internal_1): Use them to change
17077 interface to adhere to the one used by map_keymap.
17078 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17079 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17080
17081 * keymap.h (map_keymap_function_t): More informative prototype.
17082
170832007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17084
17085 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17086 (looking_at_1): Don't change search_regs and last_thing_searched
17087 if `inhibit-changing-match-data' is non-nil.
17088 (string_match_1, search_buffer, set_search_regs): Likewise.
17089 (syms_of_search): Add Lisp level definition for
17090 `inhibit-changing-match-data' and set it to nil.
17091 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17092 start and end of the match, instead of using values in search_regs.
17093
170942007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17095
17096 * minibuf.c (Fcompleting_read): New value `confirm-only'
17097 for `require-match'.
17098
170992007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17100
17101 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17102 part of the 2007-06-27 change to syms_of_fileio.
17103
171042007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17105
17106 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17107 Check WINDOWP before using XWINDOW. Consolidate return statements.
17108
171092007-06-27 Richard Stallman <rms@gnu.org>
17110
17111 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17112
171132007-06-27 Juanma Barranquero <lekktu@gmail.com>
17114
17115 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17116
171172007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17118
17119 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17120 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17121 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17122 (_free_internal, memalign): Use them.
17123 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17124 Initialize to PTHREAD_MUTEX_INITIALIZER.
17125 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17126 (morecore_nolock): Rename from morecore. All uses changed.
17127 Use only nolock versions of internal allocation functions.
17128 (_malloc_internal_nolock, _realloc_internal_nolock)
17129 (_free_internal_nolock): New functions created from
17130 _malloc_internal, _realloc_internal, and _free_internal.
17131 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17132 Copy hook value to automatic variable before its use.
17133 (memalign): Copy hook value to automatic variable before its use.
17134
171352007-06-26 Kenichi Handa <handa@m17n.org>
17136
17137 * coding.c (Ffind_operation_coding_system): Docstring improved.
17138 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17139
171402007-06-25 David Kastrup <dak@gnu.org>
17141
17142 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17143 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17144 cater for additional parameter.
17145
17146 * keymap.h: Adjust number of parameters to `current-active-maps'.
17147
17148 * doc.c (Fsubstitute_command_keys): Adjust call of
17149 `current-active-maps'.
17150
171512007-06-25 David Kastrup <dak@gnu.org>
17152
17153 * callint.c (Fcall_interactively): Make the parsing of interactive
17154 specs somewhat more readable.
17155
171562007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17157
17158 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17159 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17160 if extended background has already been filled.
17161
171622007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17163
17164 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17165 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17166
17167 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17168 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17169 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17170 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17171 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17172 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17173 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17174 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17175 Run timers during dialog popup.
17176 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17177
171782007-06-21 Jason Rumney <jasonr@gnu.org>
17179
17180 * image.c (convert_mono_to_color_image): Swap fore and background.
17181
171822007-06-20 Jason Rumney <jasonr@gnu.org>
17183
17184 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17185 (w32_free_bdf_font): Unmap memory not handle.
17186
171872007-06-20 Sam Steingold <sds@gnu.org>
17188
17189 * gmalloc.c (__morecore): Fix the declaration to comply with the
17190 definition.
17191
171922007-06-20 Juanma Barranquero <lekktu@gmail.com>
17193
17194 * w32term.c (w32_delete_display): Remove leftover declaration.
17195 (w32_define_cursor, w32_initialize): Make static.
17196
17197 * w32.c (_wsa_errlist): Fix typo in error message.
17198 (init_environment): Ignore any environment variable from the
17199 registry having a null value.
17200
172012007-06-20 Glenn Morris <rgm@gnu.org>
17202
17203 * Makefile.in (LIBGIF): Default to -lgif.
17204
172052007-06-17 Jason Rumney <jasonr@gnu.org>
17206
17207 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17208 unicode strings.
17209
172102007-06-16 Juanma Barranquero <lekktu@gmail.com>
17211
17212 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17213 Fix typo in docstring.
17214
172152007-06-16 Eli Zaretskii <eliz@gnu.org>
17216
17217 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17218 and their keybindings.
17219
172202007-06-15 Chong Yidong <cyd@stupidchicken.com>
17221
17222 * composite.c (update_compositions): Fix last fix.
17223
172242007-06-14 Jason Rumney <jasonr@gnu.org>
17225
17226 * w32.c (get_process_times_fn): New function pointer.
17227 (globals_of_w32): Intialize it if present in kernel32.dll.
17228 (w32_get_internal_run_time): New function.
17229
17230 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17231
172322007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17233
17234 * composite.c (update_compositions): Check the validness of
17235 compositions.
17236
172372007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17238
17239 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17240 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17241
17242 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17243 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17244
17245 * macgui.h (USE_MAC_TOOLBAR): New define.
17246
17247 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17248 Return immediately unless popup is activated.
17249
17250 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17251 background to scroll bar gap.
17252 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17253 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17254 scroll bars on frame edge. Check fringe background extension.
17255 Don't clear extended fringe background area.
17256 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17257 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17258 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17259 [USE_MAC_TOOLBAR]: New macros.
17260 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17261 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17262 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17263 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17264 [USE_MAC_TOOLBAR]: New functions.
17265 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17266 manually if previous repositioning has failed.
17267 (mac_handle_keyboard_event): Use precomputed event kind.
17268 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17269 as tool bar item click. Handle mouse movement over tool bar items.
17270
17271 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17272 toolbar_win_gravity.
17273 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17274 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17275 Add externs.
17276
17277 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17278 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17279
172802007-06-14 Chong Yidong <cyd@stupidchicken.com>
17281
17282 * image.c (search_image_cache): Remove unused variable.
17283
172842007-06-13 Chong Yidong <cyd@stupidchicken.com>
17285
17286 * xfns.c, xmenu.c: Link to xaw3d if available.
17287
172882007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17289
17290 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17291 frame_foreground and frame_background.
17292
17293 * image.c (lookup_image): Save frame foreground and background colors.
17294 (search_image_cache): Check if saved and current frame colors match.
17295
172962007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17297
17298 * regex.c (regex_compile): Remove the `regnum' counter.
17299 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17300
173012007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17302
17303 * term.c: Include intervals.h to declare Fget_text_property.
17304
173052007-06-10 Jason Rumney <jasonr@gnu.org>
17306
17307 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17308
173092007-06-08 Juanma Barranquero <lekktu@gmail.com>
17310
17311 * callint.c (Fcall_interactively):
17312 * editfns.c (Fdelete_and_extract_region):
17313 * fileio.c (Fread_file_name):
17314 * fns.c (Fmapconcat):
17315 * keyboard.c (cmd_error_internal):
17316 * keymap.c (Fkey_description):
17317 * lread.c (openp):
17318 * minibuf.c (read_minibuf):
17319 * search.c (wordify):
17320 * sunfns.c (sel_read):
17321 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17322 * xfns.c (x_default_scroll_bar_color_parameter):
17323 * xmenu.c (menu_help_callback):
17324 * xselect.c (Fx_get_atom_name):
17325 * xterm.c (x_term_init): Use empty_unibyte_string.
17326
173272007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17328
17329 * alloc.c (init_strings): Initialize canonical empty strings.
17330 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17331 canonical empty string when the requested size is 0.
17332
17333 * emacs.c (empty_unibyte_string): Rename from empty_string.
17334 (empty_multibyte_string): New canonical empty string.
17335 (syms_of_emacs): Don't initialize empty_string.
17336
17337 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17338 string, if appropriate.
17339 (empty_unibyte_string, empty_multibyte_string): New externs.
17340 (empty_string): Remove extern.
17341
17342 * lread.c (syms_of_lread): Use empty_unibyte_string.
17343
173442007-06-07 Jason Rumney <jasonr@gnu.org>
17345
17346 * s/ms-w32.h: Don't define HAVE_TZNAME.
17347
17348 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17349
173502007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17351
17352 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17353
17354 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17355 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17356
17357 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17358 Don't call next handler.
17359 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17360 Remove argument. Install handler to application.
17361 (set_frame_menubar): Don't change deep_p.
17362 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17363 FRAME_OUTER_TO_INNER_DIFF_Y.
17364 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17365 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17366 [HAVE_DIALOGS]: New macros.
17367 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17368 Use them.
17369 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17370
17371 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17372 init_service_handler. All callers changed. Return OSStatus value.
17373
17374 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17375 All callers changed so as not to call SetPortWindowPort.
17376 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17377 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17378 mac_draw_string_common.
17379 (mac_draw_image_string_qd): Likewise.
17380 (mac_draw_string_common): Use them. Add INLINE.
17381 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17382 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17383 GetGlobalMouse.
17384 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17385 and FRAME_OUTER_TO_INNER_DIFF_Y.
17386 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17387 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17388 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17389 repositioning window to mac_handle_window_event.
17390 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17391 saving window location to mac_handle_window_event
17392 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17393 (install_menu_target_item_handler): Remove argument in extern.
17394 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17395 Also accept command events.
17396 (do_keystroke): New function created from XTread_socket.
17397 (init_command_handler): Remove functions.
17398 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17399 and save window location by kEventWindowShowing and kEventWindowHiding
17400 handlers here. Don't call next handler for window state change and
17401 focus events.
17402 (mac_handle_application_event, mac_handle_keyboard_event)
17403 [TARGET_API_MAC_CARBON]: New functions.
17404 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17405 kEventWindowShowing and kEventWindowHiding events. Move installation
17406 of mouse, font, text input and menu target item handlers to
17407 install_application_handler.
17408 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17409 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17410 New function.
17411 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17412 Register it.
17413 (XTread_socket) [TARGET_API_MAC_CARBON]:
17414 Consolidate SendEventToEventTarget calls.
17415 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17416 Move application activation handler to mac_handle_application_event.
17417 Move keyboard handler to mac_handle_keyboard_event.
17418 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17419 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17420 init_command_handler. Call install_application_handler.
17421
17422 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17423 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17424
174252007-06-07 Glenn Morris <rgm@gnu.org>
17426
17427 * emacs.c (main): Use `emacs-copyright' in --version output.
17428
174292007-06-06 Chong Yidong <cyd@stupidchicken.com>
17430
17431 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17432
174332007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17434
17435 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17436
17437 * macgui.h: Replace WindowPtr with WindowRef.
17438
17439 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17440 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17441 Replace ControlHandle with ControlRef.
17442 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17443
17444 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17445 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17446 Replace ControlHandle with ControlRef.
17447 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17448 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17449
17450 * macterm.h (struct scroll_bar): Rename member control_handle_low
17451 and control_handle_high to control_ref_low and control_ref_high.
17452 All uses changed.
17453 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17454 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17455 respectively. All uses changed.
17456 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17457 (install_window_handler, remove_window_handler): Replace WindowPtr
17458 with WindowRef in externs.
17459
174602007-06-05 Juanma Barranquero <lekktu@gmail.com>
17461
17462 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17463
174642007-06-03 Nick Roberts <nickrob@snap.net.nz>
17465
17466 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17467
17468 * frame.c (Fmouse_position, Fmouse_pixel_position):
17469 Condition on HAVE_GPM too.
17470
17471 * term.c (term_mouse_highlight): Remove unused variables.
17472 (Fterm_open_connection): Set gpm_zerobased to 1.
17473 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17474 Use zero based co-ordinates.
17475 (handle_one_term_event): Report a drag as mouse movement too.
17476
17477 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17478
174792007-06-03 Chong Yidong <cyd@stupidchicken.com>
17480
17481 * image.c (search_image_cache): New function. Require background
17482 color match if background color is unspecified in the image spec.
17483 (uncache_image, lookup_image): Use it.
17484
174852007-06-01 Juanma Barranquero <lekktu@gmail.com>
17486
17487 * window.c (Fshrink_window): Reflow docstring.
17488
174892007-06-02 Chong Yidong <cyd@stupidchicken.com>
17490
17491 * Version 22.1 released.
17492
174932007-06-01 Richard Stallman <rms@gnu.org>
17494
17495 * xfns.c (x_encode_text): Add GCPRO.
17496
174972007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17498
17499 * xfns.c (x_set_name_internal): Save encoded name before
17500 x_encode_text in case string data is relocated.
17501
175022007-05-31 Richard Stallman <rms@gnu.org>
17503
17504 * buffer.c (syms_of_buffer): Doc fix.
17505
175062007-05-30 Nick Roberts <nickrob@snap.net.nz>
17507
17508 * sysdep.c (init_sys_modes): Add rather than replace with
17509 O_NONBLOCK.
17510
17511 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17512 term_mouse_moveto.
17513
17514 * termhooks.h (term_mouse_moveto): New extern.
17515
17516 * term.c (mouse_face_window): Rename...
17517 (Qmouse_face_window): ...to this.
17518 (term_show_mouse_face, term_clear_mouse_face)
17519 (term_mouse_highlight): Use Qmouse_face_window.
17520 (term_mouse_moveto): New function.
17521 (term_mouse_position): Make it work.
17522 (syms_of_term): Uncomment assignment to mouse_position_hook.
17523 Staticpro Qmouse_face_window.
17524
175252007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17526
17527 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17528 around current_column call.
17529
175302007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17531
17532 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17533 * xdisp.c (next_element_from_buffer):
17534 * window.c (delete_window):
17535 * term.c (term_mouse_highlight):
17536 * msdos.c (getdefdir):
17537 * macterm.c (mac_create_bitmap_from_bitmap_data)
17538 (init_font_name_table):
17539 * fns.c (Fsxhash):
17540 * data.c (Fmake_local_variable):
17541 * ccl.c (ccl_driver): Likewise.
17542
175432007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17544
17545 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17546 Call mac_wakeup_from_rne on window size change.
17547
175482007-05-25 Chong Yidong <cyd@stupidchicken.com>
17549
17550 * image.c (uncache_image): Fix typo.
17551
175522007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17553
17554 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17555
175562007-05-22 Richard Stallman <rms@gnu.org>
17557
17558 * xterm.c (x_connection_closed): Remove NO_RETURN.
17559
175602007-05-22 Martin Rudalics <rudalics@gmx.at>
17561
17562 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17563
175642007-05-21 Chong Yidong <cyd@stupidchicken.com>
17565
17566 * image.c (uncache_image): New function.
17567 (Fimage_refresh): New function.
17568
175692007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17570
17571 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17572
175732007-05-20 Nick Roberts <nickrob@snap.net.nz>
17574
17575 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17576 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17577
175782007-05-20 Nick Roberts <nickrob@snap.net.nz>
17579
17580 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17581 conditional on [HAVE_GPM_H].
17582
175832007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17584
17585 * syntax.c (skip_chars): Update syntax-table only after we checked that
17586 the new location is valid.
17587
175882007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17589
17590 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17591 mac_get_window_bounds.
17592
175932007-05-20 Nick Roberts <nickrob@snap.net.nz>
17594
17595 * Makefile.in (LIBGPM): Allow it to be set from configure.
17596 If set then link Emacs with it.
17597
17598 * config.in: Regenerate.
17599
17600 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17601 New externs.
17602
17603 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17604 Include gpm.h.
17605 (handle_one_term_event, term_gpm): New externs.
17606
17607 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17608 and allow it to be interrupted by SIGIO.
17609
17610 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17611 (wait_reading_process_output): Wait on gpm_fd too.
17612 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17613 (add_gpm_wait_descriptor_called_flag): New variable.
17614 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17615
17616 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17617 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17618 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17619 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17620 (make_lispy_event): Add case GPM_CLICK_EVENT.
17621 (read_avail_input): Handle mouse input.
17622
17623 * term.c (write_glyphs_with_face): New function.
17624 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17625 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17626 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17627 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17628 (last_mouse_x, last_mouse_y): New variables.
17629 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17630 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17631 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17632 (Fterm_close_connection): New functions.
17633 (term_init): Initialise mouse_face_window.
17634
176352007-05-19 Chong Yidong <cyd@stupidchicken.com>
17636
17637 * xdisp.c (redisplay_window): If first window line is a
17638 continuation line, recompute the new window start instead of
17639 recentering.
17640
176412007-05-18 Glenn Morris <rgm@gnu.org>
17642
17643 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17644 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17645
176462007-05-17 Glenn Morris <rgm@gnu.org>
17647
17648 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17649
176502007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17651
17652 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17653 dead key repeat and up events.
17654
176552007-05-14 Chong Yidong <cyd@stupidchicken.com>
17656
17657 * image.c (pbm_load): Check image size for monochrome pbm.
17658
176592007-05-13 Chong Yidong <cyd@stupidchicken.com>
17660
17661 * xterm.c (XTread_socket): Revert last change.
17662
176632007-05-12 Chong Yidong <cyd@stupidchicken.com>
17664
17665 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17666
17667 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17668
176692007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17670
17671 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17672 mixup (YAILOM).
17673
176742007-05-07 Andreas Schwab <schwab@suse.de>
17675
17676 * keymap.c (Flookup_key): Fix typo in last change.
17677
176782007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17679
17680 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17681 mapping for unibyte strings.
17682
176832007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17684
17685 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17686 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17687
176882007-04-29 Richard Stallman <rms@gnu.org>
17689
17690 * insdel.c (replace_range): For undo, record insertion first.
17691
176922007-04-29 Andreas Schwab <schwab@suse.de>
17693
17694 * lisp.h (VECSIZE): Use OFFSETOF.
17695
176962007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17697
17698 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17699 disabled lines.
17700
177012007-04-28 Richard Stallman <rms@gnu.org>
17702
17703 * lread.c (read_escape): In a string, \s is always space.
17704
177052007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17706
17707 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17708
17709 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17710 submenu for menu bar items.
17711
17712See ChangeLog.10 for earlier changes.
17713
17714;; Local Variables:
17715;; coding: utf-8
17716;; add-log-time-zone-rule: t
aac0c6e3
MR
17717;; End:
17718
76b6f707 17719 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17720
17721 This file is part of GNU Emacs.
17722
17723 GNU Emacs is free software: you can redistribute it and/or modify
17724 it under the terms of the GNU General Public License as published by
17725 the Free Software Foundation, either version 3 of the License, or
17726 (at your option) any later version.
17727
17728 GNU Emacs is distributed in the hope that it will be useful,
17729 but WITHOUT ANY WARRANTY; without even the implied warranty of
17730 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17731 GNU General Public License for more details.
17732
17733 You should have received a copy of the GNU General Public License
17734 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17735
17736;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40