(x_get_string_resource): Ape just-previous changes to other platform versions. Drop...
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8686ac71
JB
12009-09-17 Juanma Barranquero <lekktu@gmail.com>
2
3 * emacs.c (inhibit_x_resources): New variable.
4 (main) [HAVE_NS]: Don't process --quick command line option.
5 (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
6
7 * lisp.h (inhibit_x_resources): Declare it extern.
8
9 * w32reg.c (x_get_string_resource):
10 * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
11
e227ba05
EZ
122009-09-17 Eli Zaretskii <eliz@gnu.org>
13
14 * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): Add
15 lisp/term/internal.elc.
16
742d40e8
SM
172009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
18
19 * frame.c (x_get_resource_string): Re-add for non-toolkit builds
20 (bug#4461).
21
005bd5a2
DN
222009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
23
24 * puresize.h (BASE_PURESIZE): Increase to 1290000.
25
26 * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
27 (OBJECTS_MACHINE): Remove, unused.
28
f9af9719
SM
292009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
30
31 * frame.c (x_get_resource_string): Remove unused.
32
0307c7d2
JD
332009-09-15 Jan Djärv <jan.h.d@swipnet.se>
34
35 * xterm.c (x_new_font): Call change_frame_size before calling
36 x_set_window_size, in case frame size won't change.
37
38 * frame.c (x_set_font): Remove dead code.
39
428b13d6
SM
402009-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
41
42 * lread.c (Fload): Also run do-after-load-evaluation while dumping.
43
5766c380
SM
442009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
45
46 * lread.c (Fload): Don't output a message after loading an obsolete
47 package any more (done in Lisp now).
48
2fd0161b
CY
492009-09-12 Chong Yidong <cyd@stupidchicken.com>
50
51 * fns.c (syms_of_fns): Doc fix (Bug#4227).
52
bc5e75b6
SM
532009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
54
55 * keymap.c (Fwhere_is_internal): Use nconc2.
56
c31c985e
AM
572009-09-11 Alan Mackenzie <acm@muc.de>
58
59 * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
60 batch mode.
61
78012bd2
AS
622009-09-11 Andreas Schwab <schwab@linux-m68k.org>
63
64 * xdisp.c (display_mode_element): Detect cycles.
65
9d889332
SM
662009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
67
68 * keymap.c (where_is_internal): Don't erroneously return nil right after
69 filling the cache.
70 (where_is_internal_1): Fix up typo.
71
7ab5d780
GM
722009-09-11 Glenn Morris <rgm@gnu.org>
73
74 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
75 share a common doc-string.
76
5238a749
SM
772009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
78
66d77eda
SM
79 * keymap.c (get_keymap): Return the actual keymap symbol rather than
80 t for autoloaded keymaps when autoloading is not allowed (bug#4393).
81
5238a749
SM
82 * keymap.c (QCadvertised_binding): New constant.
83 (syms_of_keymap): Initialize it.
84 (Fwhere_is_internal): Try and use bindings from :advertised-binding
85 if applicable.
86
19f48442
SM
872009-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
88
50d4ba39
SM
89 * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
90 (parse_menu_item): Streamline since bindings are recomputed all the
91 time anyway. Don't bother checking Vdefine_key_rebound_commands any
92 more and don't support lmenu's menu-alias any more either.
93
a88a5372
SM
94 * keymap.c (where_is_internal_data): Make noindirect a boolean.
95 (where_is_internal): Strip it down to only traverse the keymaps.
96 Move the cache handling from Fwhere_is_internal to here.
97 (Fwhere_is_internal): Move the handling of remapping and the choice of
98 the best binding from where_is_internal to here.
99 Unify the cached/noncached paths, so remapping is also handled
100 correctly when the cache is used, and so the cache can be used to
101 speed up remap-handling when applicable.
102 Give preference to non-remapped bindings.
103 * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
104 non-remapped bindings.
105 * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
106 command remapping.
107
19f48442
SM
108 * xdisp.c (display_mode_element): Move list length limit from 50 to
109 5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
110
599498c3 1112009-09-09 Adrian Robert <Adrian.B.Robert@gmail.com>
c1905ca3
AR
112
113 * nsfont.m (ns_get_family): Don't force first letter to uppercase.
114
f9b7b5ac
SM
1152009-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
116
117 * keymap.c (where_is_internal): Filter out shadowed remappings.
118 Assume that where_is_internal returns unshadowed bindings to simplify
119 the code and get rid of the gotos. Use ASIZE.
120
04f4b72d
JD
1212009-09-04 Jan Djärv <jan.h.d@swipnet.se>
122
4da146f2
JD
123 * xterm.c (x_focus_changed): If we get a focusout and pointer
124 is invisible, make it visible.
125
04f4b72d
JD
126 * xterm.h: Remove condition for declaration of
127 x_*_window_to_frame.
128
7cef7ce3
SM
1292009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
130
131 * dispnew.c (Fsend_string_to_terminal): Make it work again on the
132 initial terminal as well.
133
a54fa5b7
JD
1342009-09-02 Jan Djärv <jan.h.d@swipnet.se>
135
136 * xterm.h: Rename x_non_menubar_window_to_frame to
7cef7ce3 137 x_menubar_window_to_frame.
a54fa5b7
JD
138
139 * xterm.c: Remove declarations also in xterm.h
140 (XTmouse_position): Do not return valid positions
141 for clicks in the menubar and the toolbar for Gtk+.
142
143 * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
144 if the widget for the event has the same top level as a frame,
145 return the frame.
146 (x_menubar_window_to_frame): Detect menu bar even with Gtk+
147 internal windows, bug #4122.
148 (x_non_menubar_window_to_frame): Remove.
149
5a021dd0
GM
1502009-09-02 Glenn Morris <rgm@gnu.org>
151
152 * buffer.c (default-major-mode): Move most of the doc from here...
153 (major-mode): ... to here.
154
548fe2f3
NR
1552009-08-30 Nick Roberts <nickrob@snap.net.nz>
156
157 * process.c (wait_reading_process_output): Keep the descriptor
158 when pty is used by a non-child process, e.g., in I/O buffer of
159 GDB this allows inferior to be restarted.
160
e0840eef
EZ
1612009-08-29 Eli Zaretskii <eliz@gnu.org>
162
163 * xdisp.c (redisplay_internal): Remove redundant test and collapse
164 both branches into one.
165
82e98df4
SM
1662009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
167
168 * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
169 (main): Use enable-multibyte-characters rather than
170 default-enable-multibyte-characters. Output a warning message when
171 running a unibyte session.
172
890617cb
YM
1732009-08-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
174
175 * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
176 LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
177 (copy_data_segment): Also copy __program_vars section.
178 (copy_dyld_info) [LC_DYLD_INFO]: New function.
179 (dump_it) [LC_DYLD_INFO]: Use it.
180
181 * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
182
e7adeadc
EZ
1832009-08-28 Eli Zaretskii <eliz@gnu.org>
184
185 * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
186 $(SRC)/buildobj.h.
187 (buildobj.h): Renamed from $(SRC)/buildobj.h.
188 (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
189 $(SRC)/buildobj.h.
190 (clean): Add buildobj.h.
191
3ed8bbdc
TZ
1922009-08-28 Teodor Zlatanov <tzz@lifelogs.com>
193
194 * print.c (print_object): Set escapeflag to 1 when printing
195 hashtable keys and values.
196
155a6764
SM
1972009-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
198
199 * lread.c (read_integer): Use doubles (and potentially return a float
200 number) as we do in string-to-number.
201 (read1): Use strtol to read integers, signal errors on strtol's
202 overflow and use floats if strtol's output is too large for
203 Elisp integers.
204
877610de
EZ
2052009-08-27 Eli Zaretskii <eliz@gnu.org>
206
207 * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
208 (make-buildobj-SH): Fix last change.
209 (SRC): Move to before where it's first used.
210
ef73e7be
KH
2112009-08-27 Kenichi Handa <handa@m17n.org>
212
550c8289
KH
213 * process.c (send_process): Use encode_coding_object instead of
214 encode_coding_string to perform eol-conversion even if the string
215 is unibyte.
216
60afa08d
KH
217 * coding.c (encode_coding_utf_16): Fix checking of a Unicode
218 character.
219
ef73e7be 220 * cmds.c (Fself_insert_command): Avoid unnecessay
8a0b709a 221 unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
ef73e7be 222
7b3a82d7
DN
2232009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
224
5654bf63
DN
225 * callproc.c (Fcall_process): Remove always true #if.
226
7b3a82d7
DN
227 * lisp.h: Replace #if 0 code for checking with text pointing to
228 the --enable-checking configure flag.
229
230 * emacs.c (main): Mention the --enable-profiling configure flag
231 instead of using CFLAGS.
232
878bde49
KR
2332009-08-26 Ken Raeburn <raeburn@raeburn.org>
234
235 * Makefile.in (buildobj.h): New target.
236 (doc.o): Depend on it.
237 (temacs${EXEEXT}): Don't generate buildobj.lst.
238 (mostlyclean): Delete buildobj.h, not buildobj.lst.
239 * makefile.w32-in ($(SRC)/buildobj.h): New target.
240 ($(BLD)/doc.$(O)): Depend on it.
241 (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help
242 provided by Eli Zaretskii.)
243 ($(TEMACS)): Don't generate buildobj.lst.
244 * doc.c: Include buildobj.h.
245 (buildobj): New static variable.
246 (Fsnarf_documentation): Use it, instead of opening and reading
247 buildobj.lst.
248
1574224c
MA
2492009-08-25 Michael Albinus <michael.albinus@gmx.de>
250
251 * dbusbind.c (Fdbus_call_method)
252 (Fdbus_call_method_asynchronously): Use English numeric format for
253 timeout values in doc string.
254
d9da2f45
KH
2552009-08-25 Kenichi Handa <handa@m17n.org>
256
ef73e7be
KH
257 * alloc.c (mark_char_table): New function.
258 (mark_object): Use mark_char_table for a char-table.
259
d9da2f45
KH
260 * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
261 (CHAR_TABLE_REF): Use it.
262
c8edcc01
KR
2632009-08-23 Ken Raeburn <raeburn@raeburn.org>
264
265 * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
266 before invoking the newly build emacs to check for load-path
267 shadowing.
268
7763401b
GM
2692009-08-22 Glenn Morris <rgm@gnu.org>
270
271 * Makefile.in (bootstrap_exe): New variable.
272 (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
273 Use ${bootstrap_exe}.
274
729eadda
EZ
2752009-08-22 Eli Zaretskii <eliz@gnu.org>
276
277 * coding.h (encode_coding_string): Don't encode unibyte strings.
278 (Bug#4047)
279
eb4c6ace
MA
2802009-08-22 Michael Albinus <michael.albinus@gmx.de>
281
282 * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
283
284 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was
285 intended as hotfix only.
286 (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
287
36e34d1b
AR
2882009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
289
290 * nsterm.m (ns_get_color): Update documentation properly for last
291 change, and clean up loose ends in the code left by it. Fix
292 longstanding bug with 16-bit hex parsing, and add support for
293 yet another X11 format (rgb:r/g/b) for compatibility.
294 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
295 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
296
f983eb8a
SM
2972009-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
298
299 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
300
3f56d3c6
MA
3012009-08-20 Michael Albinus <michael.albinus@gmx.de>
302
303 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
304 (xd_add_watch, xd_remove_watch): Use it. Print debug messages.
305 (xd_initialize, xd_pending_messages): Check, whether
306 $DBUS_SESSION_BUS_ADDRESS is set.
307
fb641d68
YM
3082009-08-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
309
310 * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix.
311
312 * nsterm.m (ns_get_color): Remove incompatible color formats again.
313
cf59a374
GM
3142009-08-20 Glenn Morris <rgm@gnu.org>
315
316 * emacs.c (system-type): Doc fix.
317
1373f3be
SM
3182009-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
319
320 * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
321 enough for the most common situations. Avoid SET_SYMBOL_VALUE.
322
058ed861
MA
3232009-08-18 Michael Albinus <michael.albinus@gmx.de>
324
1373f3be
SM
325 * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
326 New functions.
058ed861
MA
327 (xd_initialize): Revert change from 2009-08-16.
328
563a866e 3292009-08-18 Kenichi Handa <handa@m17n.org>
5fc05db0
KH
330
331 * fontset.c (Ffontset_font): If a nil element is found in a
563a866e 332 font-group vector, return nil.
5fc05db0 333
e42bdf01
CY
3342009-08-17 Chong Yidong <cyd@stupidchicken.com>
335
336 * process.c (status_notify): Don't perform redisplay.
337 (Fdelete_process, list_processes_1, process_send_signal):
338 Expliticly perform redisplay.
339 (wait_reading_process_output): Always check process status, but
340 don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
341
4230ab74
KR
3422009-08-17 Ken Raeburn <raeburn@raeburn.org>
343
1373f3be 344 * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
f601cdf3
KR
345 (XFLOAT_INIT): New macro for storing a float value.
346 * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
347 * fns.c (sxhash): Copy out the value of a float in order to
348 examine its bytes.
349 * dbusbind.c (xd_append_arg): Likewise.
350
4230ab74
KR
351 * emacs.c (main): Don't call syms_of_data twice.
352
a0645cdd
MA
3532009-08-16 Michael Albinus <michael.albinus@gmx.de>
354
355 * dbusbind.c (xd_initialize): Add connection file descriptor to
356 input_wait_mask, in order to let select() detect, whether a new
357 message has been arrived.
ca4f31ea 358 (Fdbus_call_method_asynchronously): Allow nil HANDLER.
a0645cdd 359
485db0ba
MA
3602009-08-15 Michael Albinus <michael.albinus@gmx.de>
361
1373f3be
SM
362 * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
363 New functions.
485db0ba
MA
364
365 * lisp.h (xd_pending_messages): Declare.
366
367 * keyboard.c (readable_events): Call xd_pending_messages.
368
b5b98ff4
CY
3692009-08-15 Chong Yidong <cyd@stupidchicken.com>
370
1373f3be 371 * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
84b17ab0 372
f8354c6e
CY
373 * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
374
b5b98ff4
CY
375 * buffer.c (set_buffer_internal_1)
376 (swap_out_buffer_local_variables): Check for unbound local
377 variables (Bug#4138).
378
8b9fc636
EZ
3792009-08-14 Eli Zaretskii <eliz@gnu.org>
380
381 * process.c (create_pty): Fix last change.
382
ce959360
CY
3832009-08-13 Chong Yidong <cyd@stupidchicken.com>
384
385 * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
386 (xbm_load_image): Caller changed.
64b807c9 387 (xbm_file_p): Avoid signalling an image_error (Bug#4107).
ce959360 388
c7baf7e9
NR
3892009-08-13 Nick Roberts <nickrob@snap.net.nz>
390
391 * process.c (create_pty): New function.
392 (Fstart_process): Use it to allow Emacs to just associate a pty
393 with the buffer. See associated change in gdb-mi.el.
394 (list_processes_1): Deal with no program name.
395 (start_process_unwind): Use pid == -2 to mean no process.
396
1ac9108a
SM
3972009-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
398
399 * cmds.c (nonundocount): New global variable.
400 (keys_of_cmds): Initialize it.
401 (Fself_insert_command): Use it to combine upto 20 sequential chars
402 into a single undo entry, just like the Qself_insert_command code in
403 keyboard.c does.
404 Call frame_make_pointer_invisible, also like the Qself_insert_command
405 code in keyboard.c does.
406 * keyboard.c (command_loop_1): Use the new global nonundocount rather
407 than its own local replacement for it.
408
e267324c
KR
4092009-08-10 Ken Raeburn <raeburn@raeburn.org>
410
1ac9108a 411 * fns.c (concat): Don't re-set string length to its current value.
77437343 412
1ac9108a
SM
413 * coding.h (decode_coding_string, encode_coding_string):
414 Use SBYTES macro.
f0bed503 415
1ac9108a 416 * doprnt.c (doprnt_lisp): Delete unused function.
e267324c
KR
417 (doprnt): Merge with doprnt1, discarding lispstrings code.
418 * lisp.h (doprnt_lisp): Don't declare.
419
416e006d
JL
4202009-08-07 Juri Linkov <juri@jurta.org>
421
422 * puresize.h (BASE_PURESIZE): Increase to 1270000.
423
6f7d5780
DN
4242009-08-07 Dan Nicolaescu <dann@ics.uci.edu>
425
426 * print.c (syms_of_print): Undo previous change.
427
f19a0f5b
TZ
4282009-08-05 Teodor Zlatanov <tzz@lifelogs.com>
429
430 * lread.c (read1, syms_of_lread): Read hashtables back from the
431 readable format.
432
433 * print.c (print_preprocess, print_object): Print hashtables fully
434 and readably.
435 (syms_of_print): Provide 'hashtable-print-readable.
436
b9173dc2
AR
4372009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
438
439 * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
440 no family set.
441 (nsfont_open): Handle case when entity has no family.
442
1586503c
AR
4432009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
444
445 * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
446 element, not a list, for match case.
447
087048cd
KH
4482009-07-28 Kenichi Handa <handa@m17n.org>
449
450 * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
451 rigidly.
452
453 * xfont.c (xfont_list_pattern): Don't ignore the return value of
454 font_parse_xlfd. Check font properties more rigidly.
455
780c2506
DN
4562009-07-27 Dan Nicolaescu <dann@ics.uci.edu>
457
31fd7c5c
JB
458 * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
459 bsd-common.h.
780c2506 460
a8c0cc18
KH
4612009-07-27 Kenichi Handa <handa@m17n.org>
462
463 * xfaces.c (face_with_height): Call font_clear_prop.
464
4fbe2306
CY
4652009-07-26 Chong Yidong <cyd@stupidchicken.com>
466
111d9af3
CY
467 * dispnew.c (init_display): Use Qx, Qw32, and Qns.
468
469 * xterm.c (x_term_init): Use Qx.
470
4fbe2306
CY
471 * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
472
1ac9108a 473 * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
4fbe2306
CY
474 (ns_get_color): Revert 2009-07-16 change.
475
beb0b7f9
EZ
4762009-07-25 Eli Zaretskii <eliz@gnu.org>
477
478 * lread.c (syms_of_lread) <force_load_messages>: New variable.
1ac9108a 479 (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
beb0b7f9 480
2baf5e76
KR
4812009-07-25 Ken Raeburn <raeburn@raeburn.org>
482
1ac9108a
SM
483 * coding.h (decode_coding_string, encode_coding_string):
484 Use SCHARS macro.
8890e5f5 485
2baf5e76 486 * lread.c: Rewrite 2009-07-21 changes.
1ac9108a 487 (load_depth): Delete.
2baf5e76
KR
488 (Qload_in_progress): New variable.
489 (load_unwind): Don't reference load_depth or load_in_progress.
490 (Fload): Likewise; specbind Qload_in_progress instead.
491 (init_lread): Don't initialize load_depth.
492 (syms_of_lread): Initialize and protect Qload_in_progress.
493
1395c6f5
AR
4942009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com>
495
496 * nsfont.m (ns_findfonts): Correctly return fallback in match case.
497
4e2f36cf
AR
4982009-07-23 Yavor Doganov <yavor@gnu.org>
499
500 * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
501
5dd9a6f7
AR
5022009-07-23 Adrian Robert <Adrian.B.Robert@gmail.com>
503
504 * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
7f6ad209
AR
505 Bugs 3792, 3720, 2402.
506 (ns_lookup_indexed_color): Check for bad index.
507 (ns_index_color): Init unused slot to 0.
508 (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
509 Bug 3714, possibly 3082.
5dd9a6f7 510
c902b920
JR
5112009-07-22 Jason Rumney <jasonr@gnu.org>
512
1ac9108a
SM
513 * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
514 Position IME window at cursor (Bug#2570).
c902b920
JR
515 (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
516 (globals_of_w32fns): Dynamically load functions required above.
517
518 * w32term.c (w32_draw_window_cursor): Send message to reposition
519 any IME window.
520
090101cf
CY
5212009-07-21 Chong Yidong <cyd@stupidchicken.com>
522
523 * fileio.c: Revert 2009-07-16 changes.
524 (Vauto_save_include_big_deletions): New variable.
525 (Fdo_auto_save): Disable auto-save only if
526 auto-save-include-big-deletions is nil.
527
e6583e3d
CY
5282009-07-21 Chong Yidong <cyd@stupidchicken.com>
529
530 * xdisp.c (move_it_to): For continued lines ending in a tab, take
531 the overflowed pixels into account (Bug#3879).
532
ece435a5
KR
5332009-07-21 Ken Raeburn <raeburn@raeburn.org>
534
535 * lread.c (load_depth): New variable.
536 (Fload, load_unwind, init_lread): Set it to the load recursion
537 depth; set load_in_progress as a simple boolean based on the
538 current load_depth. (Bug#3892)
539
40b2d973
AR
5402009-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
541
542 * nsfont.m (ns_has_attribute): Remove.
543 (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
544
10be7e0d
JL
5452009-07-18 Juri Linkov <juri@jurta.org>
546
547 * process.c (Fset_process_query_on_exit_flag): Mention killing
548 a buffer in docstring.
549
fa055055
KH
5502009-07-17 Kenichi Handa <handa@m17n.org>
551
552 * casetab.c (shuffle): Fix the logic of setting up the cycle.
553
042f7b69
YM
5542009-07-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
555
556 * nsfns.m (Fns_set_alpha): Remove function.
557 (syms_of_nsfns): Don't defsubr it.
558
559 * nsterm.m (ns_get_color): Remove incompatible color formats.
560 (ns_color_to_lisp): Generate #rrggbb color format string.
561
4be941e3
RS
5622009-07-16 Richard Stallman <rms@gnu.org>
563
564 * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
565 (Fset_buffer_auto_saved): Handle save_length = -2.
566
4e6b227d
CY
5672009-07-16 Chong Yidong <cyd@stupidchicken.com>
568
569 * xterm.c (Qx_gtk_map_stock): New var.
570
571 * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
572 of calling intern each time.
573
a1856973
YM
5742009-07-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
575
576 * nsfont.m (nsfont_draw): Remove code for stippling, which actually
577 does tiling.
578
579 * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
580
497e54d8
KH
5812009-07-14 Kenichi Handa <handa@m17n.org>
582
72d36834
KH
583 * font.c (font_vconcat_entity_vectors): New function.
584 (struct font_sort_data): New member font_driver_preference.
585 (font_compare): Check font_driver_preference.
586 (font_sort_entities): The format of the first argument changed.
587 (font_delete_unmatched): Likewise.
588 (font_list_entities): The return type changed.
589 (font_select_entity): The format of the second argument changed.
1ac9108a
SM
590 (font_find_for_lface): Adjuste for the above changes.
591 Don't suppress the checking of C even if the repertory supports it.
592 (Flist_fonts): Adjust for the above changes.
72d36834 593
1ac9108a
SM
594 * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller.
595 (ftfont_list): Adjust for the change of ftfont_spec_pattern.
497e54d8
KH
596 Reject a font who has adstyle property that is different from a
597 langname derived from registry property.
1ac9108a 598 (ftfont_match): Adjust for the change of ftfont_spec_pattern.
497e54d8 599
b6046155
EZ
6002009-07-13 Eli Zaretskii <eliz@gnu.org>
601
602 * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
603 local copy of dirfilename.
604
fb6b6049
KH
6052009-07-13 Kenichi Handa <handa@m17n.org>
606
e2402a5e
KH
607 * chartab.c (sub_char_table_ref_and_range): Fix the range check
608 against max_char.
609
fb6b6049
KH
610 * cmds.c (internal_self_insert): Check sym by SYMBOLP before
611 calling XSYMBOL (sym).
612
65156807
EZ
6132009-07-11 Eli Zaretskii <eliz@gnu.org>
614
1ac9108a
SM
615 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
616 New function.
617 (directory_files_internal) [WINDOWSNT]:
618 Bind w32-get-true-file-attributes to either t or nil, depending whether
65156807
EZ
619 the filesystem of the directory is fast or slow.
620
621 * w32.c (logon_network_drive): Don't assume PATH is an absolute
622 file name.
623 (is_slow_fs): New function.
624 (stat): Use it to determine whether to issue more system calls to
625 get accurate file attributes, when w32-get-true-file-attributes is
626 `local'.
627
e0ab5fcf
JD
6282009-07-10 Jan Djärv <jan.h.d@swipnet.se>
629
630 * xfns.c (Fx_select_font): Remember last font selected in
31fd7c5c 631 x_last_font_name and use that the next time. Also try the frame
e0ab5fcf
JD
632 parameter font-parameter as default to the font dialog.
633
784ceded
KH
6342009-07-10 Kenichi Handa <handa@m17n.org>
635
636 * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
637
fb8edc0b
EZ
6382009-07-09 Eli Zaretskii <eliz@gnu.org>
639
1ac9108a 640 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
017dab84 641
fb8edc0b
EZ
642 * w32.c (stat): Treat UNC file names as residing on remote
643 drives. (Bug#3542)
644
635c75b1
KH
6452009-07-09 Kenichi Handa <handa@m17n.org>
646
647 * fontset.c (fontset_find_font): Fix previous change.
648
c1d5ce94
MA
6492009-07-08 Michael Albinus <michael.albinus@gmx.de>
650
651 * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
652 (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
653 error flag.
654
edb61b39
KH
6552009-07-08 Kenichi Handa <handa@m17n.org>
656
374bf7e4
KH
657 * fontset.c (fontset_find_font): Fix the logic of handling
658 charset_matched.
659 (font_for_char): Delete unused var.
660 (generate_ascii_font_name): Delete it.
661
edb61b39
KH
662 * coding.h (JIS_TO_SJIS2): Fix the code range check.
663
664 * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
665 (encode_coding_sjis): Fix the code range check.
666
0f3f018c
CY
6672009-07-07 Chong Yidong <cyd@stupidchicken.com>
668
669 * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
670 (Fexpand_file_name): Copy string data properly (Bug#3772).
671
fcaf6f3a
JD
6722009-07-07 Jan Djärv <jan.h.d@swipnet.se>
673
674 * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
675 first MapNotify.
676
6809ca75
KH
6772009-07-07 Kenichi Handa <handa@m17n.org>
678
679 * character.h (unibyte_has_multibyte_table): Delete extern.
680 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
681
682 * charset.c (Fset_charset_priority): Update charset_unibyte.
683 (syms_of_charset): Initialize charset_unibyte.
684
685 * character.c (unibyte_has_multibyte_table): Delete it.
686 (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
687 charset_unibyte.
688 (multibyte_char_to_unibyte_safe): Likewise.
689 (Funibyte_char_to_multibyte): Don't check charset_unibyte.
690
1ac9108a 691 * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
6809ca75
KH
692 (x_produce_glyphs): Likewise.
693
694 * .gdbinit (xcharset): Fix the treating $arg0.
695
ad9e2d54
EZ
6962009-07-04 Eli Zaretskii <eliz@gnu.org>
697
698 Emulation of `getloadavg' on MS-Windows.
699 * w32.c: Include float.h
700 (g_b_init_get_native_system_info, g_b_init_get_system_times)
701 (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
702 (get_native_system_info, get_system_times): New functions.
703 (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
704 (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
705 (globals_of_w32): Initialize g_b_init_get_native_system_info,
706 g_b_init_get_system_times, and num_of_processors.
707
0a3472c7
JR
7082009-07-03 Jason Rumney <jasonr@gnu.org>
709
710 * w32term.c (w32_initialize): Use standard types.
711
80904120
EZ
7122009-07-03 Eli Zaretskii <eliz@gnu.org>
713
714 * dired.c (Ffile_attributes): Decode user and group names by the
715 locale's encoding. (Bug#3443)
716
6978862d
DN
7172009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
718
f8d23104
DN
719 * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
720 (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
721
722 * callproc.c (child_setup): Use #else instead of a separate #ifdef.
723
724 * term.c (init_tty): Remove spurious #ifdef.
725
6978862d
DN
726 * m/mips.h: Mention this file is also used for netbsd.
727 * m/pmax.h: Remove file.
728
e044e4fc
JD
7292009-07-03 Jan Djärv <jan.h.d@swipnet.se>
730
731 * xterm.h (struct x_display_info): Add invisible_cursor.
732 (struct x_output): Add current_cursor.
733
734 * xterm.c (XTtoggle_invisible_pointer): New function.
735 (x_define_frame_cursor): Don't define cursor if invisible or the
736 same as before. Set current_cursor.
737 (x_create_terminal): Set toggle_invisible_pointer_hook.
738
739 * xfns.c (make_invisible_cursor): New function.
740 (x_set_mouse_color): Call make_invisible_cursor.
741 Set current_cursor.
742 (x_window): Set current_cursor.
743
744 * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
745
746 * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
747 inserting a character.
748 (read_avail_input): Call frame_make_pointer_visible.
749
750 * frame.c (Vmake_pointer_invisible): New variable.
1ac9108a
SM
751 (frame_make_pointer_invisible, frame_make_pointer_visible):
752 New functions.
e044e4fc
JD
753 (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
754
755 * frame.h: Declare frame_make_pointer_invisible and
756 frame_make_pointer_visible.
757 (struct frame): Add pointer_invisible.
758
574c8efa
JD
7592009-07-02 Jan Djärv <jan.h.d@swipnet.se>
760
7b507248
JD
761 * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
762 frame isn't visible.
763 (xg_frame_resized): If width/height is -1, get size of window
764 from X server.
765
766 * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
767 for MapNotify.
768
835bdaa7 769 * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
31fd7c5c 770 here or call change_frame_size. Just call flush_and_sync.
1ac9108a 771 (flush_and_sync): Reintroduce.
574c8efa 772
3f1c6666 7732009-07-01 Jan Djärv <jan.h.d@swipnet.se>
69b16610 774
31fd7c5c 775 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
acd51077
JD
776
777 * xterm.c (x_handle_net_wm_state): Also look for sticky.
778 (x_term_init): Initialize Xatom_net_wm_state_sticky.
779
780 * frame.h: Declare Qsticky.
781
cad9ef74
JD
782 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
783
784 * nsfns.m (ns_frame_parm_handlers): Ditto.
785
786 * frame.c: Declare Qsticky.
787 (frame_parms): Add sticky.
788
789 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
790
791 * xterm.h: Declare x_set_sticky.
792
793 * xterm.c (x_set_sticky): New function.
794
69b16610
JD
795 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
796 (xg_tool_bar_menu_proxy): Attach enter/leave events to
797 xg_tool_bar_proxy_help_callback.
3f1c6666
JD
798
799 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
800
801 * frame.c: Qmaximized is new.
802 (x_set_frame_parameters): Do not handle fullscreen specially.
803 Only set width and height if explicitly set.
804 (x_set_fullscreen): Handle Qmaximized.
805 (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
806 (syms_of_frame): Initialize Qmaximized.
807
1ac9108a
SM
808 * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
809 Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
3f1c6666
JD
810
811 * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
31fd7c5c
JB
812 for Expose event. Add call to x_check_fullscreen for MapNotify event.
813 Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
3f1c6666
JD
814 set gravity to NorthWestGravity when USE_GTK.
815 (set_wm_state): New function.
31fd7c5c 816 (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
3f1c6666
JD
817 (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
818 (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
31fd7c5c 819 or the case when no window manager is running. That means remove calls
3f1c6666
JD
820 to x_real_positions and x_fullscreen_adjust.
821
822 * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
823 (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
824 flush_and_sync.
825 (xg_height_changed): New function.
826 (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
1ac9108a
SM
827 and gtk_window_set_policy. Set frame gravity after parsing the
828 geometry string.
3f1c6666
JD
829 (xg_update_frame_menubar, free_frame_menubar)
830 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
831 (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
832 Remove calls to xg_frame_set_char_size.
833
fd503d99
KH
8342009-07-01 Kenichi Handa <handa@m17n.org>
835
836 * keyboard.c (decode_keyboard_code): New function.
837 (tty_read_avail_input): Decode the input bytes if necessary.
838
1ac9108a
SM
839 * coding.c (setup_coding_system):
840 Initialize coding->carryover_bytes to 0.
fd503d99
KH
841 (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
842 use Qno_conversion.
843
24ed93fb
YM
8442009-07-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
845
846 * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
847
99061dfc
CY
8482009-06-30 Chong Yidong <cyd@stupidchicken.com>
849
1ac9108a 850 * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
99061dfc 851
ff90fbde
JR
8522009-06-30 Jason Rumney <jasonr@gnu.org>
853
854 * w32term.c (w32_initialize): Use GetModuleHandle for library that
855 is already loaded.
856 Set user model ID if supported (bug#1849).
857
5f445726
JM
8582009-06-29 Jim Meyering <meyering@redhat.com>
859
860 Remove useless if-before-xfree test.
861 * nsfont.m (nsfont_close): Remove useless test.
862 * term.c (delete_tty): Likewise.
863 * w32.c (system_process_attributes): Likewise.
864 * w32font.c (w32font_close): Likewise.
865 * xfaces.c (x_free_gc): Likewise.
866 * xselect.c (buffer): Likewise.
867
b9607587
AS
8682009-06-28 Andreas Schwab <schwab@linux-m68k.org>
869
870 * process.c (send_process): Keep decoded string in a local
871 variable and protect it from GC. (Bug#3521)
872
89ba96f4
EZ
8732009-06-28 Eli Zaretskii <eliz@gnu.org>
874
875 * term.c (create_tty_output) [MSDOS]: #ifdef away.
876 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
877
098a1589
CY
8782009-06-28 Chong Yidong <cyd@stupidchicken.com>
879
485422be
CY
880 * xdisp.c (start_display, handle_face_prop)
881 (move_it_vertically_backward, cursor_row_fully_visible_p)
1ac9108a
SM
882 (redisplay_window, try_window_id, produce_image_glyph):
883 Delete some #ifdef-ed out code chunks that are now obsolete.
485422be 884
098a1589
CY
885 * xterm.c (x_update_window_begin, x_new_focus_frame)
886 (x_scroll_bar_handle_click, handle_one_xevent)
887 (handle_one_xevent, XTread_socket, x_focus_on_frame)
888 (x_make_frame_visible, x_make_frame_invisible)
889 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
890 code chunks that are now obsolete.
891
78c38319
MA
8922009-06-28 Michael Albinus <michael.albinus@gmx.de>
893
894 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
895 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
896 for hours, when optimzation is enabled.
897 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
898 (xd_read_message): Make them static.
899
4189ed40
CY
9002009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
901
902 * term.c (turn_on_face): Allow simultaneously bold and dim
903 terminal faces (Bug#3530).
904
cd9b5e16
CY
9052009-06-27 Chong Yidong <cyd@stupidchicken.com>
906
4e23bedb
CY
907 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
908
cd9b5e16
CY
909 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
910 truncation glyphs (Bug#3686).
911
07cc3c35
GM
9122009-06-27 Glenn Morris <rgm@gnu.org>
913
914 * m/pmax.h: Restore file, with only netbsd portions.
915
31fd7c5c 9162009-06-26 David Reitter <david.reitter@gmail.com>
25c5550f 917
cd9b5e16 918 * nsterm.m (keydown): Avoid infinite loop.
25c5550f 919
42d4a64f
KH
9202009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
921
922 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
923 the arg FORCE_SYMBOL.
924
930fe55b 9252009-06-25 Kenichi Handa <handa@m17n.org>
a71ccf3a
KH
926
927 * fontset.c (fontset_find_font): When a usable rfont_def is found
928 in a fallback font-group, make it the first element of the group.
929
57ebc3fd
CY
9302009-06-24 Chong Yidong <cyd@stupidchicken.com>
931
932 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
933
f084f942
KH
9342009-06-24 Kenichi Handa <handa@m17n.org>
935
936 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
937 set for C.
938 (fontset_font): Record the availability of a font for C both in
939 the realized fontsets of the current one and the default one.
940
2f686c87
DN
9412009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
942
943 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
944 conditional, it is always defined on AIX.
945
666e158e
MB
9462009-06-23 Miles Bader <miles@gnu.org>
947
948 * window.c (Vrecenter_redisplay): New variable.
949 (syms_of_window): Initialize it.
950 (Qtty): New extern declaration.
951 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
952
c6da7cd2
JM
9532009-06-23 Jim Meyering <meyering@redhat.com>
954
1ac9108a
SM
955 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
956 Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
632c2030 957 pointer dereferences are guaranteed to be valid.
c6da7cd2 958
678dca3d
KH
9592009-06-23 Kenichi Handa <handa@m17n.org>
960
74d75424
KH
961 * emacs.c (main): Call init_font ().
962
963 * font.h (Vfont_log): Extern it.
964 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
965
966 * font.c (font_sort_entities, font_list_entities)
967 (font_matching_entity, font_open_entity)
968 (font_close_object): Change font_add_log to FONT_ADD_LOG.
969 (Vfont_log): Delete static.
970 (font_log_env_checked): Delete this variable.
971 (font_add_log): Don't check font_log_env_checked.
972 (font_deferred_log): Check Vfont_log.
973 (init_font): New function.
974
678dca3d
KH
975 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
976
977 * w32font.c: Change font_add_log to FONT_ADD_LOG.
978
979 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
980
981 * xfont.c: Change font_add_log to FONT_ADD_LOG.
982
983 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
984 (face_for_char): Don't call font_deferred_log here.
985 (font_for_char): Likewise.
986
8a668709
CY
9872009-06-22 Chong Yidong <cyd@stupidchicken.com>
988
9a01ee33
CY
989 * w32term.c (x_draw_glyph_string): Use the glyph string's width
990 rather than its background_width for drawing the overline and
991 underline (Bug#489).
992
993 * xterm.c (x_draw_glyph_string): Use the glyph string's width
994 rather than its background_width for drawing the overline and
995 underline (Bug#489).
ec7c9926
CY
996 (xg_default_icon_file): New variable.
997 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
998 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
9a01ee33 999
8a668709
CY
1000 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
1001 (load_overlay_strings): Remove externs.
1002 (fast_find_position): Function deleted.
1003 (mouse_face_from_buffer_pos): New function, based on
1004 fast_find_position. Correctly handle before-strings,
1005 display-strings, and after-strings (Bug#1220).
1006 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
1007
4d4c02d8
CY
10082009-06-21 Chong Yidong <cyd@stupidchicken.com>
1009
1ac9108a 1010 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
4d4c02d8
CY
1011 (move_it_in_display_line_to, move_it_in_display_line_to)
1012 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
1013
70243478
CY
10142009-06-21 Chong Yidong <cyd@stupidchicken.com>
1015
1016 * Branch for 23.1.
1017
13087e59
JR
10182009-06-21 Jason Rumney <jasonr@gnu.org>
1019
1020 * w32term.c (keyboard_codepage): New static variable.
1021 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
1022 (w32_read_socket) [WM_CHAR]: Use it to decode character
1023 input (bug#3237).
1024 (w32_initialize): Initialize it.
1025 (codepage_for_locale): New function.
1026
4735b74e
KR
10272009-06-20 Ken Raeburn <raeburn@raeburn.org>
1028
1029 * process.c (status_message): Pass Faset index argument as a lisp
1030 object, so as to work with USE_LISP_UNION_TYPE.
1031
0e727afa
YM
10322009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1033
1034 * coding.c (Ffind_coding_systems_region_internal):
1035 Cache checked characters.
1036
cf299835
KH
10372009-06-18 Kenichi Handa <handa@m17n.org>
1038
1ac9108a 1039 * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
cf299835 1040
90f20d94
AS
10412009-06-18 Andreas Schwab <aschwab@redhat.com>
1042
1043 * xdisp.c (redisplay_internal): Check that the frame is still
1044 live after redisplay of its windows.
1045 (redisplay_windows): Check that the window is still live.
1046
7f1faf1c
KH
10472009-06-17 Andreas Schwab <schwab@linux-m68k.org>
1048
1049 * coding.c (detect_coding_utf_16): Fix previous change.
1050
cc13543e
KH
10512009-06-16 Kenichi Handa <handa@m17n.org>
1052
1053 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
1054 UTF-16 by checking the dispersion of Eth and Oth bytes.
1055
977b85f4
AS
10562009-06-15 Andreas Schwab <schwab@linux-m68k.org>
1057
1058 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
1059
66bd43d1
KH
10602009-06-15 Kenichi Handa <handa@m17n.org>
1061
1062 * process.c (status_message): Fix previous change. Be sure to
1063 decode a localized string.
1064
cb5ca9c5
YM
10652009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1066
1067 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
1068 add comment explaining why.
1069
ec7709ba 10702009-06-14 Sidney Markowitz <sidney@sidney.com>
5ee6f629 1071
ec7709ba 1072 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
5ee6f629 1073
4b7f335c
AR
10742009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
1075
1076 * nsfont.m (ns_attribute_value): Remove.
1077 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
1078 (ns_has_attribute): Shrink the normal range.
1079 (ns_findfonts): Don't worry about requested spec in determining
1080 need for synthItal.
e41820ee 1081 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 1082
73b26103
SZ
10832009-06-14 Seiji Zenitani <zenitani@mac.com>
1084
1085 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
1086
5753e4da
KH
10872009-06-11 Kenichi Handa <handa@m17n.org>
1088
1089 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1090 overhang for the static composition case.
1091
3561b671
KH
10922009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1093
5753e4da
KH
1094 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1095 overhang for the automatic composition case.
1096
3561b671
KH
1097 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
1098 composition case.
1099
852bbd41
CY
11002009-06-10 Chong Yidong <cyd@stupidchicken.com>
1101
1102 * xdisp.c (get_next_display_element): When handling wrap-prefix
1103 and line-prefix, treat \n as a control character (bug#3502).
1104
9903d1e6
KH
11052009-06-10 Kenichi Handa <handa@m17n.org>
1106
1107 * font.c (font_parse_family_registry): Fix for one-char foundry.
1108 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
1109
0bcbaaaa
CY
11102009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
1111
1112 * process.c (status_message): Fix handling of multibyte signal
1113 string (Bug#3499).
1114
40aa3f13
JM
11152009-06-09 Jim Meyering <meyering@redhat.com>
1116
1f80c7e2
CY
1117 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
1118 color name is missing.
40aa3f13 1119
72d51285
KH
11202009-06-09 Kenichi Handa <handa@m17n.org>
1121
1122 * charset.c (Fmap_charset_chars): In docstring, state clearly that
1123 FROM-CODE and TO-CODE are codepoints of CHARSET.
1124
c1d04d84
AR
11252009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1126
1127 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
1128
11292009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1130
1131 Changes to support :script/:lang/:otf in NS font driver.
1132 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
1133 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
1134 indicate not part of font driver interface, and change callers.
1135 (ns_get_family): Remove pointless null check.
1136 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
1137 ns_spec_to_descriptor, ns_descriptor_to_entity.
1138 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
1139 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
1140 (ns_spec_to_descriptor, ns_descriptor_to_entity)
1141 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
1142 (ns_get_req_script, ns_accumulate_script_ranges)
1143 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
1144 New functions.
1145 (nsfont_list, nsfont_match): Use ns_findfonts.
1146 (nsfont_open): Use font descriptor instead of traits.
1147 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
1148 (dump_glyphstring): Rename to ns_dump_glyphstring.
1149
c7eb9816
AR
1150 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
1151
c1d04d84
AR
1152 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
1153
1154 * fontset.c (fontset_from_font): Remove NS-specific code.
1155
ec7709ba 11562009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
c1d04d84
AR
1157
1158 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
1159 nonactive windows.
1160
31fd7c5c 11612009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
c1d04d84 1162
1ac9108a 1163 * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
c1d04d84 1164
68852c13 11652009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
1166
1167 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
1168
6756cd1d
CY
11692009-06-07 Chong Yidong <cyd@stupidchicken.com>
1170
1171 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
1172 account for the overflowing of newlines into the last glyph on the
1173 display line (Bug#3482).
1174
28bf482a
DR
11752009-06-05 David Reitter <david.reitter@gmail.com>
1176
ec7709ba
JB
1177 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
1178 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
28bf482a
DR
1179 Fns_selection_exists_p, Fns_selection_owner_p.
1180
fdb55376
JR
11812009-06-03 Jason Rumney <jasonr@gnu.org>
1182
1183 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
1184 available. (Bug#3379)
1185
05129fbe
KH
11862009-05-29 Kenichi Handa <handa@m17n.org>
1187
1ac9108a
SM
1188 * coding.c (get_translation_table):
1189 Check Venable_character_translation.
05129fbe 1190
ec7709ba 11912009-05-26 David Reitter <david.reitter@gmail.com>
15891144 1192
ec7709ba
JB
1193 * nsterm.m (ns_raise_frame): Only raise frame if visible.
1194 (x_make_frame_visible): Move frame to front rather than calling
15891144 1195 ns_raise_frame().
ec7709ba 1196 (keyDown:): Do not swallow events that aren't re-sent if frame
15891144 1197 isn't key window.
ec7709ba 1198 (drawRect:): Do not set visibility/iconified flags because
15891144
DR
1199 drawRect may be called by NSView even if the frame is hidden.
1200
ec7709ba
JB
1201 * nsfns.m (Fx_create_frame): Follow other ports in
1202 determining visibility; default to t. Ensure async_visible is set.
15891144 1203
21f73755
EZ
12042009-05-23 Eli Zaretskii <eliz@gnu.org>
1205
1206 * dired.c (Ffile_attributes): Doc fix.
1207
34001e41
CY
12082009-05-22 Chong Yidong <cyd@stupidchicken.com>
1209
1210 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
1211
46306a17
SM
12122009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
1213
1214 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
1215 and xfont_scratch_props.
1216 (syms_of_xfont): Do it here instead.
1217 (xfont_find_ccl_program): Delete, unused.
1218 (xfont_open): Delete unused var `i'.
1219
ef6e0694
KH
12202009-05-21 Kenichi Handa <handa@m17n.org>
1221
1222 * fontset.c (Qlatin): Don't make it static.
1223
46306a17
SM
1224 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
1225 New functions.
ef6e0694
KH
1226 (xfont_scripts_cache, xfont_scratch_props): New variables.
1227 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
1228 (xfont_list_pattern): Argument changed. Callers changed.
1229 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
1230 (xfont_list): Don't reject a font spec with :script property.
1231 (xfont_has_char): Fix setting of encoding.
1232 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
1233 xfont_scratch_props.
1234
12352009-05-19 Kenichi Handa <handa@m17n.org>
1236
46306a17 1237 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
1238 Callers changed.
1239
12402009-05-18 Kenichi Handa <handa@m17n.org>
1241
1242 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
1243
ac71ced7
SM
12442009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1245
1246 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
1247 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
1248
1c6d1051
YM
12492009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1250
1251 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
1252 (x_delete_terminal): Dissociate resource database from display and
1253 then call XrmDestroyDatabase before closing display.
1254
9b9b779c
AR
12552009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
1256
1257 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
1258 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
1259 whether selected frame is viable before raising it (based on patch
1260 by David Reitter), and improve commentary.
1261 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 1262
cccd42d5
KH
12632009-05-15 Kenichi Handa <handa@m17n.org>
1264
1265 * font.c (Ffont_spec): Check arguments.
1266
337fbd17
CY
12672009-05-14 Chong Yidong <cyd@stupidchicken.com>
1268
1269 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
1270 weight when testing attributes (Bug#3282).
1271
47a6002f
JD
12722009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1273
1274 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
1275 what we expect to get in the next ConfigureNotify event.
1276
9cb363db
YM
1277 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
1278 before Xft one (Bug#1696).
1279
b9126609
CY
12802009-05-07 David Reitter <david.reitter@gmail.com>
1281
1282 * nsfns.m (Fx_display_planes): Compute bitplanes using
1283 NSBitsPerPixelFromDepth (Bug#3207).
1284
27a69fd9
CY
12852009-05-10 Chong Yidong <cyd@stupidchicken.com>
1286
1287 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
1288
00f37552
TTN
12892009-05-10 Ulrich Mueller <ulm@gentoo.org>
1290
1291 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
1292
2d82a920
DR
12932009-05-07 David Reitter <david.reitter@gmail.com>
1294
ec7709ba
JB
1295 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
1296 Respect mouse face background.
2d82a920 1297
46b0d52d
DR
12982009-05-07 David Reitter <david.reitter@gmail.com>
1299
ec7709ba
JB
1300 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
1301 Mouse movement/highlight: bracket drawing operations
46b0d52d
DR
1302 in ns_update_begin and ns_update_end.
1303
ce1b23bb
SM
13042009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1305
5996e1b7
SM
1306 * nsfns.m (ns_get_screen): Rewrite.
1307 Don't presume selected-frame is of type `ns'.
1308
ba98e3a0
SM
1309 * font.c (font_update_drivers): Sanity fallback to avoid disabling
1310 all drivers.
1311
ce1b23bb
SM
1312 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
1313
bcda200f
YM
13142009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1315
1316 * keyboard.h (add_user_signal): Fix typo in extern.
1317
1318 * lisp.h (add_user_signal): Remove extern.
1319
1320 * unexelf.c (unexec): Consider a section to precede the .bss section
1321 if its addresses overlap that of .bss.
1322 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
1323 instead of dumping process.
1324
864660a2
SM
13252009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1326
1327 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
1328
50da4e56
SM
13292009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1330
1331 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
1332
51520a1a
DN
13332009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
1334
1335 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
1336 any statements.
1337
409ea3a1
AS
13382009-05-02 Andreas Schwab <schwab@linux-m68k.org>
1339
59c4c60f
AS
1340 * process.c (read_process_output): Make sure the current buffer is
1341 always restored.
1342
409ea3a1
AS
1343 * coding.c (record_conversion_result): Don't modify
1344 Vlast_code_conversion_error for successful result.
1345 (alloc_destination): Don't clobber conversion result. (Bug#1650)
1346
56f00ed2
KH
13472009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
1348
1349 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 1350 (load_charset_map): Remove unnecessary code.
56f00ed2 1351
4491c9d2
DR
13522009-04-30 David Reitter <david.reitter@gmail.com>
1353
35f5b128 1354 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
1355 through f24.
1356
6970f632
CY
13572009-04-30 Chong Yidong <cyd@stupidchicken.com>
1358
1359 * xfaces.c (face_at_buffer_position): New arg base_face_id.
1360
1361 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
1362 face_at_buffer_position.
1363 (face_before_or_after_it_pos, get_next_display_element)
1364 (note_mouse_highlight): Update face_at_buffer_position call.
1365
1366 * term.c (term_mouse_highlight):
1367 * msdos.c (IT_note_mouse_highlight):
1368 * fontset.c (Finternal_char_font):
35f5b128 1369 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
1370
1371 * dispextern.h (face_at_buffer_position): Update prototype.
1372
0c616f63
KH
13732009-04-30 Kenichi Handa <handa@m17n.org>
1374
35f5b128 1375 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 1376
ad3aaf33
AS
13772009-04-29 Andreas Schwab <schwab@linux-m68k.org>
1378
1379 * callproc.c (Fcall_process): Fix GC protection. Make sure
1380 current buffer is always restored.
1381
c3c963a0
YM
13822009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1383
1384 * atimer.c (init_atimer): Also clear stopped_atimers.
1385
1386 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
1387
7e3386cb
YM
1388 * process.c (create_process): Clean up merger residues of
1389 2008-07-17 change.
1390
91f68422
CY
13912009-04-29 Ulrich Mueller <ulm@gentoo.org>
1392
1393 * lread.c (Vread_circle): New variable.
1394 (read1): Disable recursive read if Vread_circle is nil.
1395
24b34550
KH
13962009-04-29 Kenichi Handa <handa@m17n.org>
1397
1398 * fontset.h (set_default_ascii_font): Delete extern.
1399
1400 * fontset.c (set_default_ascii_font): Delete this unused function.
1401
1402 * frame.c (x_set_font): When ARG is a font-object, check if the
1403 font-object matches with the ASCII font-spec of the frame's
9c358bda 1404 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 1405
77bf07e1
AS
14062009-04-28 Andreas Schwab <schwab@linux-m68k.org>
1407
1408 * fns.c (Flocale_info): Protect vector from GC during decoding.
1409
1410 * process.c (Fstart_process): Protect argv strings from GC during
1411 encoding.
1412
2c55aacf
AS
14132009-04-27 Andreas Schwab <schwab@linux-m68k.org>
1414
1415 * sysdep.c: Include <ctype.h>.
1416
b892d3c9
DR
14172009-04-27 David Reitter <david.reitter@gmail.com>
1418
35f5b128 1419 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
1420 Remove commented-out code.
1421
9d0644c4
JB
14222009-04-26 Johan Bockgård <bojohan@gnu.org>
1423
1424 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1425
b7053016
JR
14262009-04-25 Jason Rumney <jasonr@gnu.org>
1427
1428 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
1429
4e8231f3
YM
14302009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1431
1432 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
1433 Swap bytes in short integer if fringe bitmap width > 8.
1434
493dcf2c
KH
14352009-04-23 Kenichi Handa <handa@m17n.org>
1436
1437 * xfaces.c (Fx_list_fonts): If a font size is specified in
1438 PATTERN, set it in returned scalable fonts.
1439
401e9e57
CY
14402009-04-22 Chong Yidong <cyd@stupidchicken.com>
1441
708e05dc
CY
1442 * keyboard.c (Fset_input_meta_mode): Doc fix.
1443
1444 * dispnew.c (Fsend_string_to_terminal): Doc fix.
1445
1ac9108a 1446 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
708e05dc
CY
1447
1448 * coding.c (Fterminal_coding_system): Doc fix.
1449
1450 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
1451 (Fx_display_pixel_height, Fx_display_planes)
1452 (Fx_display_color_cells, Fx_server_max_request_size)
1453 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1454 (Fx_display_mm_height, Fx_display_mm_width)
1455 (Fx_display_backing_store, Fx_display_visual_class)
1ac9108a
SM
1456 (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
1457 Doc fixes, replacing "terminal id" with "terminal object".
708e05dc
CY
1458 (check_x_display_info): Handle terminal objects instead of
1459 terminal ids.
1460
401e9e57
CY
1461 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
1462 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
1ac9108a
SM
1463 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
1464 Doc fixes, replacing "terminal id" with "terminal object".
401e9e57 1465
df80c7f0
KH
14662009-04-21 Kenichi Handa <handa@m17n.org>
1467
5a8f12af 1468 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 1469 (font_score): Check AVGWIDTH too.
908567ef 1470
df80c7f0
KH
1471 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
1472 worst case.
1ac9108a
SM
1473 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
1474 (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
df80c7f0 1475
705af33f
JR
14762009-04-19 Jason Rumney <jasonr@gnu.org>
1477
1478 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 1479 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
1480
1481 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
1482 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
1483 get_phys_cursor_geometry.
1484
b71ac3dd 1485 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
1486 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
1487 using get_phys_cursor_geometry.
1488
1489 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
1490 correctly calculated.
1491
dc2933eb
JD
14922009-04-19 Jan Djärv <jan.h.d@swipnet.se>
1493
1ac9108a
SM
1494 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
1495 Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
dc2933eb
JD
1496 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
1497 is deprecated.
1498
973e7849
AS
14992009-04-18 Andreas Schwab <schwab@linux-m68k.org>
1500
1501 * font.c (font_put_frame_data): Use xfree instead of free.
1502
314d66f4
JB
15032009-04-17 Juanma Barranquero <lekktu@gmail.com>
1504
1505 * w32font.c (Qja, Qko): Remove declarations.
1506 (syms_of_w32font): Don't DEFSYM them.
1507
cf702558
CY
15082009-04-17 Chong Yidong <cyd@stupidchicken.com>
1509
1510 * font.c (Qja, Qko): Move definitions here from ftfont.c.
1511
1512 * font.h (Qja, Qko): Extern them.
1513
1514 * ftfont.c (Qja, Qko): Remove declarations.
1515
1516 * xfont.c (Qja, Qko): Remove declarations.
1517
b50504f5
KH
15182009-04-17 Kenichi Handa <handa@m17n.org>
1519
bde25748
KH
1520 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
1521 string from a vector to handle Latin-1 characters correctly.
1522
b50504f5
KH
1523 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
1524 entity even if the cache hits.
1525
f4646fff
AS
15262009-04-16 Andreas Schwab <schwab@linux-m68k.org>
1527
1528 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 1529 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 1530
e7deaab0
AS
1531 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
1532 * lisp.h: Adjust prototypes.
1533
0a0e7d49
CY
15342009-04-16 Chong Yidong <cyd@stupidchicken.com>
1535
1536 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
1537 change (Bug#3003).
1538
3c908a57
KH
15392009-04-16 Kenichi Handa <handa@m17n.org>
1540
1ac9108a 1541 * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
bd0af90d
KH
1542
1543 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
1544 adstyle.
1545
1546 * ftfont.c (Qja, Qko): Don't make them static.
1547 (enum ftfont_cache_for): New enum.
1548 (fc_charset_table): Undo the previous change.
1549 (ftfont_get_latin1_charset): Delete it.
1ac9108a
SM
1550 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
1551 Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
bd0af90d
KH
1552 non-scarable font, try to get AVERAGE_WIDTH.
1553 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
1554 Change ft_face_cache from a list of a hash-table. Don't check
1555 `ja' and `ko' adstyle here.
1556 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
1557 FTFONT_CACHE_FOR_CHARET.
1558 (ftfont_get_charset): Undo the previous change.
1ac9108a 1559 (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
bd0af90d
KH
1560 (ftfont_close): Likewise.
1561 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
1562
1563 * font.c (font_sort_entites): Change the meaning of the arg
1564 BEST-ONLY. Don't optimize for VEC of lenght 1.
1565 (font_select_entity): Just return the value of font_sort_entites.
1566
1567 * xfaces.c (merge_face_vectors): Reflect font properties in
1568 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
1569 font_clear_prop if a face attribute doesn't change.
1570
3c908a57
KH
1571 * charset.h (charset_ksc5601): Extern it.
1572
1573 * charset.c (charset_ksc5601): New variable.
1574 (Fdefine_charset_internal): Set charset_ksc5601.
1575 (init_charset_once): Initialize charset_ksc5601 to -1.
1576
d65859c3
DN
15772009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
1578
1579 * fileio.c (history_delete_duplicates): Remove unused declaration.
1580
1581 * callint.c (history_delete_duplicates): New declaration.
1582 (Fcall_interactively): Remove command history duplicates when
1583 history_delete_duplicates is true.
1584
3ba010e5
EZ
15852009-04-14 Eli Zaretskii <eliz@gnu.org>
1586
1587 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
1588
06f19b91
KH
15892009-04-14 Kenichi Handa <handa@m17n.org>
1590
1591 * font.c (Ffont_info): Fix docstring. Fix the second element of
1592 the returned value (bug#2949).
1593
2cce8bfc
CY
15942009-04-14 Chong Yidong <cyd@stupidchicken.com>
1595
1596 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
1597
d156542d
KH
15982009-04-14 Kenichi Handa <handa@m17n.org>
1599
1600 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
1601 encoding charset is ascii_compatible.
1602
1603 * charset.c (Fdefine_charset_internal): Make charset
1604 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
1605 code_offset is 0, and covers all ASCII characters.
1606
86fa089e
SM
16072009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
1608
1609 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
1610 (ns_string_to_pasteboard_internal):
1611 * nsmenu.m (process_dialog):
1612 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
1613 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
1614 * lisp.h (Fx_load_color_file): Declare.
1615
a8a3728b
KH
16162009-04-13 Kenichi Handa <handa@m17n.org>
1617
1ac9108a 1618 * font.c (font_delete_unmatched): Preserve the order of list elements.
a8a3728b
KH
1619 (font_select_entity): Suppress the code to optimize for the same
1620 kind of fonts.
1621 (font_load_for_lface): Get a font that supports at least ASCII
1622 characters.
1623
1624 * ftfont.c (Qja, Qko): New variables.
1625 (fc_charset_table): Delete uniquifier data for iso8859-1.
1626 (ftfont_get_latin1_charset): New function.
1627 (get_adstyle_property): New function.
1628 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
1629 bitmap fonts.
1630 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
1631 Delete iso-8859-1 range from the charset of fonts whose adstyle is
1632 `ko' or `ja'.
1633 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
1ac9108a 1634 (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
a8a3728b
KH
1635 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
1636 property.
1637 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
1638 (syms_of_ftfont): DEFSYM Qja and Qko.
1639
483670b5
KH
16402009-04-09 Kenichi Handa <handa@m17n.org>
1641
12b55765
KH
1642 * charset.c (map_charset_chars): For a charset of `superset'
1643 method, fix calculation of code range.
1644
483670b5
KH
1645 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
1646 from the list of extra properties.
1647 (font_clear_prop): Be sure to delete `:name' font property.
1648
57d3b93b
KH
16492009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1650
b4b2c2ca
YM
1651 * dispnew.c (redraw_overlapping_rows): Fix detection of
1652 overlapping for topmost and bottommost rows.
1653
1ac9108a 1654 * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
57d3b93b 1655
472c3609
JR
16562009-04-06 Jason Rumney <jasonr@gnu.org>
1657
1658 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
1659
ab193662
KH
16602009-04-06 Kenichi Handa <handa@m17n.org>
1661
1662 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
1663
1664 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
1665
0c26f026
KH
16662009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1667
1668 * ftfont.c (ftfont_open): Fix checking of the return value of
1669 FT_Load_Char. Fix setting font->underline_thickness.
1670
e173bbce
CY
16712009-04-04 Chong Yidong <cyd@stupidchicken.com>
1672
1673 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
1674 (Fterminal_parameters, Fterminal_parameter)
1675 (Fset_terminal_parameter): In doc string, refer to terminal
1676 objects rather than terminal ids.
1677
693a2698
EZ
16782009-04-04 Eli Zaretskii <eliz@gnu.org>
1679
1680 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
1681 ret_lim_data. (Bug#2867)
1682
d5221487
CY
16832009-04-03 Chong Yidong <cyd@stupidchicken.com>
1684
1685 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
1686 so they don't get wider than the window, matching 2006-01-23
1687 change to the partner function in xdisp.c (Bug#2800).
1688
223509a3
KH
16892009-04-03 Kenichi Handa <handa@m17n.org>
1690
1691 * print.c (print_object): Make each lowest sub_char_table start a
1692 new line (Bug#2866).
1693
74fcd0b1
KH
16942009-04-02 Kenichi Handa <handa@m17n.org>
1695
1696 * fontset.c (fontset_font): Record no-font when a fontset
1697 explicitly tells not to try another font-specs.
1698
c542407d
SM
16992009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
1700
1701 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
1702
e3869731
KH
17032009-03-30 Kenichi Handa <handa@m17n.org>
1704
d8d2f142
KH
1705 * fontset.c (fontset_from_font): Specify only registry in a
1706 font-spec for all characters supported by that registry.
1707
e3869731
KH
1708 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
1709 even if HAVE_M17N_FLT is not defined.
1710
5da5f805
CY
17112009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
1712
1713 * ftfont.c: Conditionalize prototyping and use of
1714 ftfont_variation_glyphs.
1715
ab226c50
SM
17162009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1717
9628fed7
SM
1718 * frame.c (delete_frame): Work around compiler bug.
1719
1720 * editfns.c (general_insert_function): Adjust to insdel.c changes.
1721 * insdel.c (prepare_to_modify_buffer, signal_before_change):
1722 Some more EMACS_INT.
1723 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
1724
1725 * xdisp.c (dump_glyph): Fix typo.
1726
ae19ba7c
SM
1727 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
1728 (adjust_markers_gap_motion, adjust_markers_for_delete)
1729 (adjust_markers_for_insert, adjust_point)
1730 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
1731 (make_gap, copy_text, count_size_as_multibyte, insert)
1732 (insert_and_inherit, insert_before_markers)
1733 (insert_before_markers_and_inherit, insert_1)
1734 (count_combining_before, count_combining_after, insert_1_both)
1735 (insert_from_string, insert_from_string_before_markers)
1736 (insert_from_string_1, insert_from_gap, insert_from_buffer)
1737 (insert_from_buffer_1, adjust_after_replace)
1738 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
1739 (replace_range_2, del_range, del_range_1, del_range_byte)
1740 (del_range_both, del_range_2, modify_region)
1741 (prepare_to_modify_buffer, signal_before_change)
1742 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
1743 for buffer positions and sizes.
1744 * lisp.h: Adjust prototypes accordingly.
1745
1746 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
1747 (non_regular_inserted, non_regular_nbytes, read_non_regular)
1748 (Finsert_file_contents): Use EMACS_INT for buffer positions.
1749
ab226c50
SM
1750 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
1751
46dfb8fb
JD
17522009-03-27 Jan Djärv <jan.h.d@swipnet.se>
1753
1754 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
1755 lines and columns so we keep the same pixel height and width.
1756
1757 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
1758 the property _NET_WM_STATE has changed.
46dfb8fb
JD
1759 (x_handle_net_wm_state): New function to update frame parameter
1760 fullscreen.
1761 (x_term_init): Initialize atoms for _NET_WM_STATE.
1762
1763 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
1764
d347e494
SM
17652009-03-27 Kevin Ryde <user42@zip.com.au>
1766
1767 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
1768 Gpm_GetEvent as an error that justifies closing the filedescriptor.
1769 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
1770 (Fgpm_mouse_stop): Pass that new parameter.
1771 * termhooks.h (close_gpm): Adjust prototype.
1772
84db11d6
SM
17732009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
1774
c95a5008
SM
1775 * lisp.h (Fx_focus_frame): Declare.
1776
84db11d6
SM
1777 * callint.c (Fcall_interactively): For '^' just delegate the work to
1778 handle-shift-selection.
1779 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
1780
0a1958d6
CY
17812009-03-24 Chong Yidong <cyd@stupidchicken.com>
1782
0bfdff23
CY
1783 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
1784
0a1958d6
CY
1785 * data.c (Qinteractive_form): New variable.
1786 (Finteractive_form): Use it.
1787
1788 * eval.c (Fcommandp): Use Qinteractive_form.
1789
58aec0d6
JR
17902009-03-24 Jason Rumney <jasonr@gnu.org>
1791
1792 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
1793 Calculate total size precisely. Decode environment variables
1794 before substituting. (Bug#38)
1795
553dd618
KH
17962009-03-24 Kenichi Handa <handa@m17n.org>
1797
1798 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 1799 encoding (Bug#2722).
553dd618 1800
c39ea606
JD
18012009-03-23 Jan Djärv <jan.h.d@swipnet.se>
1802
1803 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
1804 that gdpy is set.
1805
bc9b2b5e
AM
18062009-03-22 Alan Mackenzie <acm@muc.de>
1807
1808 * callint.c (Finteractive): Clarify the doc string - even
1809 promptless elements need \n separators.
1810
9f995a76
JR
18112009-03-22 Jason Rumney <jasonr@gnu.org>
1812
1813 * w32term.c (syms_of_w32term): Doc fix for
1814 x-use-underline-position-properties.
1815
22749e9a
EZ
18162009-03-21 Eli Zaretskii <eliz@gnu.org>
1817
1818 * w32.c (getpwuid): Change argument type to unsigned.
1819 (struct w32_id): Change type of `rid' member to unsigned.
1820 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
1821 argument ID to unsigned. All callers changed.
1822 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
1823
e00553bf
EZ
18242009-03-20 Eli Zaretskii <eliz@gnu.org>
1825
1826 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
1827 negative, produce a float value.
1828
1829 * dired.c (make_uid, make_gid): New functions.
1830 (Ffile_attributes): Use them to avoid negative UID and GID.
1831
f761d6b6
JB
18322009-03-20 Juanma Barranquero <lekktu@gmail.com>
1833
1834 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
1835 (syms_of_keyboard) <command-hook-internal, input-method-function>:
1836 Fix typos in docstrings.
1837
d507f8d7
KH
18382009-03-19 Kenichi Handa <handa@m17n.org>
1839
1840 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
1841 changed, use font_load_for_lface to get a new font object.
1842 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
1843
1844 * frame.c (x_set_font): Handle the case that ARG is a cons.
1845
c68845e0
GM
18462009-03-19 Glenn Morris <rgm@gnu.org>
1847
1848 * fileio.c (Fsubstitute_in_file_name): Doc fix.
1849
bfa49dd1
CY
18502009-03-19 Chong Yidong <cyd@stupidchicken.com>
1851
1852 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
1853
8458d4c1
KH
18542009-03-19 Kenichi Handa <handa@m17n.org>
1855
1856 * charset.c (load_charset_map_from_file): When a mapfile can't be
1857 loaded, signal an error.
1858
78e7d1fe
EZ
18592009-03-18 Eli Zaretskii <eliz@gnu.org>
1860
1861 * dired.c (Ffile_attributes): Make sure UID and GID are always
1862 positive, even if the value is too large for a positive EMACS_INT.
1863 Doc fix.
1864
1865 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
1866
5da9fdfa
YM
18672009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1868
1869 * xmenu.c (xdialog_show): Move Fredisplay call ...
1870 (Fx_popup_dialog): ... here.
1871
7519c40d
SM
18722009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
1873
1874 * dired.c (file_name_completion): Disable the first optimization just
1875 installed, since it is not implemented correctly.
1876
2cd298e2
SM
18772009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1878
1879 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 1880 only if the entry can affect bestmatch.
2cd298e2
SM
1881 Stop the search early, as Ftry_completion already does.
1882
48d37adf
CY
18832009-03-17 Chong Yidong <cyd@stupidchicken.com>
1884
e10c9c93 1885 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 1886
9286b16a
CY
18872009-03-15 Chong Yidong <cyd@stupidchicken.com>
1888
1889 * keyboard.c (parse_menu_item): Don't display remappings as menu
1890 equivalent bindings (Bug#788).
1891
f7b146dc
JR
18922009-03-15 Jason Rumney <jasonr@gnu.org>
1893
1894 * w32term.h (WM_EMACS_PAINT): New message.
1895 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
1896 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
1897 before passing to lisp thread. (Bug#950)
1898
f761d6b6 18992009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 1900
d93f9575
CY
1901 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
1902 variable as it was never reset.
1903 (ns_term_init): Remove initialization of Lisp-settable defaults
1904 and ns_expand_space.
1905 (-setPanelFromDefaultValues): Remove ns_expand_space.
1906 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
1907 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
1908 i.e. no additional spacing, similar to Carbon port.
1909
d93f9575
CY
1910 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
1911 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 1912
305018ec
JD
19132009-03-14 Jan Djärv <jan.h.d@swipnet.se>
1914
1915 * sound.c (alsa_configure): Remove call to deprecated
1916 snd_pcm_sw_params_set_xfer_align.
1917
f761d6b6 19182009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
1919
1920 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
1921 after clicking in a detached tool bar.
1922 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
1923
46e722a9
SM
19242009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
1925
348db3dd
SM
1926 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
1927 int/Lisp_Object mixup).
46e722a9 1928
a3d16f39
KH
19292009-03-13 Kenichi Handa <handa@m17n.org>
1930
1931 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 1932 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
1933 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
1934 (set_fontset_font): Change ARG to a vector. Handle range_list in
1935 ARG correctly.
1936 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 1937 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
1938 the above change.
1939 (fontset_from_font): Fix previous change.
fe24f56a 1940 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
1941 entry. If FONTSET is the default fontset, don't set the extra
1942 slot of the returning char-table.
1943
b066e6b6
JB
19442009-03-12 Juanma Barranquero <lekktu@gmail.com>
1945
1946 * nsfns.m (Fx_close_connection): Doc fix.
1947 (Fns_do_applescript): Reflow docstring.
1948 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
1949 (Fx_display_pixel_width, Fx_display_pixel_height)
1950 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
1951 Fix typos in docstrings.
1952 (Fns_set_alpha): Fix typos in error messages.
1953
d472514e 19542009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 1955
d472514e 1956 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
1957 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
1958 were used for such events.
1959
d472514e
JB
1960 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
1961 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 1962
d472514e 1963 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
1964 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
1965
fb930676
KH
19662009-03-11 Kenichi Handa <handa@m17n.org>
1967
ff85581a
KH
1968 * font.h (font_open_by_spec): Extern it.
1969
c50b7e98
KH
1970 * font.c (font_open_by_spec): New function.
1971 (font_open_by_name): Use font_open_by_spec.
1972
fb930676
KH
1973 * frame.c (x_set_font): When ARG is a font-object, don't alter the
1974 fontset of the frame.
1975
1976 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
1977 modify the default font of frames that use this fontset.
1978 (num_auto_fontsets): New variable.
1979 (fontset_from_font): Use num_auto_fontsets to decide a fontset
1980 name. Be sure to set FONTSET_ASCII to the correct font name.
1981 (update_auto_fontset_alist): New function.
1982
df4e8455
JB
19832009-03-11 Juanma Barranquero <lekktu@gmail.com>
1984
1985 * makefile.w32-in: Update dependencies.
1986
0a375797
AR
19872009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
1988
1989 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
1990
61313fa3
SM
19912009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
1992
1993 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
1994
b55103fb
CY
19952009-03-10 Chong Yidong <cyd@stupidchicken.com>
1996
1997 * lread.c (Feval_buffer): Doc fix.
1998
dde2559c
KH
19992009-03-09 Kenichi Handa <handa@m17n.org>
2000
2001 * charset.c (Qfile_name_handler_alist): Extern it.
2002 (load_charset_map_from_file): Temporarily bind
2003 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
2004
df4e8455 20052009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 2006
47f588bb
GM
2007 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
2008 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 2009
4ddf94bd
AR
20102009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2011
4c9bdfc2
AR
2012 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
2013 (x_set_window_size): Change back to calculated method of setting
2014 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
2015 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
2016 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
2017
fe41ae9e
AR
2018 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
2019
4c9bdfc2
AR
2020 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
2021 accelerator in parens under GNUstep.
2022
825d0875
KH
20232009-03-06 Kenichi Handa <handa@m17n.org>
2024
2025 These changes are to detect incorrect composition sequence without
f3b3be74 2026 looking ahead the source. (Bug#2370)
825d0875
KH
2027
2028 * coding.h: Include "composite.h".
2029 (enum compisition_state): New enum.
2030 (struct compisition_status): New struct.
2031 (struct iso_2022_spec): New member cmp_status.
2032 (struct emacs_mule_spec): New struct.
2033 (struct coding_system): New members ctext_extended_segment_len and
2034 embedded_utf_8. Change the union member
2035 spec.emacs_mule_full_support to spec.emacs_mule.
2036
2037 * coding.c (CODING_ISO_CMP_STATUS): New macro.
2038 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 2039 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
2040 (ADD_COMPOSITION_DATA): New arg nbytes.
2041 (emacs_mule_char): New arg cmp_status.
2042 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
2043 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
2044 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
2045 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
2046 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
2047 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
2048 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
2049 (EMACS_MULE_COMPOSITION_END): New macro.
2050 (emacs_mule_finish_composition): New function.
2051 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
2052 (decode_coding_emacs_mule): Avoid long looking ahead while
2053 handling composition.
2054 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
2055 (ENCODE_COMPOSITION_RULE): New macro.
2056 (finish_composition): New function.
2057 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
2058 (DECODE_COMPOSITION_START): New implementation.
2059 (DECODE_COMPOSITION_END): Likewise.
2060 (STORE_COMPOSITION_RULE): New macro.
2061 (decode_coding_iso_2022): Avoid long looking ahead while handling
2062 composition, CTEXT extended segment, and embedded UTF-8.
2063 (setup_coding_system): For a coding of type iso-2022, reset
2064 CODING_ISO_EXTSEGMENT_LEN (coding) and
2065 CODING_ISO_EMBEDDED_UTF_8 (coding).
2066 (get_translation): Delete arguments last_block, from_nchars,
2067 to_nchars. Callers changed.
2068 (produce_chars): Don't modify charbuf. Adjusted for the change of
2069 get_translation.
98a326f7 2070 (produce_composition): Adjust for the new annotation sequence.
825d0875 2071 (handle_composition_annotation): Likewise.
98a326f7 2072 (consume_chars): Adjust for the change of get_translation.
825d0875 2073
ccbc4452
AR
20742009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
2075
4ddf94bd 2076 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 2077
988a7ddb
KH
20782009-03-05 Kenichi Handa <handa@m17n.org>
2079
2080 * font.c (font_select_entity): New function.
2081 (font_find_for_lface): Use font_select_entity to select a font.
2082
2083 * fontset.c (fontset_find_font): If a font found without
a8a3728b 2084 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
2085 font with C restriction.
2086
98a326f7 20872009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 2088
be1bce46 2089 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 2090
10ea2b82
JR
20912009-03-04 Jason Rumney <jasonr@gnu.org>
2092
2c93b248 2093 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 2094 characters that have already been read. (Bug#2569)
2c93b248 2095
10ea2b82
JR
2096 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
2097 Log an error message if check_image_size failed.
2098 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 2099 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 2100
71a0c011
EZ
21012009-03-02 Eli Zaretskii <eliz@gnu.org>
2102
2103 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
2104 when decoding process output.
2105
2f63bba8
RS
21062009-03-01 Richard M Stallman <rms@gnu.org>
2107
2108 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
2109
2110 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
2111
0a9564cb
EZ
21122009-02-28 Eli Zaretskii <eliz@gnu.org>
2113
2114 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
2115 (decode_coding_emacs_mule, decode_coding_iso_2022)
2116 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2117 (decode_coding_raw_text, decode_coding_charset)
2118 (setup_coding_system, decode_eol, decode_coding, consume_chars):
2119 Honor inhibit-eol-conversion. (Bug #2186)
2120
449148b3
JR
21212009-02-28 Jason Rumney <jasonr@gnu.org>
2122
2123 * coding.c (detect_coding_charset): If not checking latin extra,
2124 fail on characters between 0x80 and 0xA0. (Bug#2354)
2125
a4aee864
EZ
21262009-02-28 Eli Zaretskii <eliz@gnu.org>
2127
2128 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 2129 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 2130
d88bee5a
GM
21312009-02-27 Glenn Morris <rgm@gnu.org>
2132
2133 * callint.c (Finteractive): Doc fix.
2134
a808f22d
KH
21352009-02-27 Kenichi Handa <handa@m17n.org>
2136
2137 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
2138
caf8d60c
CY
21392009-02-27 Chong Yidong <cyd@stupidchicken.com>
2140
2141 * font.c (font_style_to_value): Set value for unknown symbols to
2142 100 instead of 255.
b61137ea
CY
2143 (weight_table, slant_table, width_table): Treat "unspecified" as
2144 the default value.
caf8d60c 2145
1a0de25c
JB
21462009-02-26 Juanma Barranquero <lekktu@gmail.com>
2147
2148 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
2149
8fc45744
JB
21502009-02-25 Juanma Barranquero <lekktu@gmail.com>
2151
107bd7d1
JB
2152 * lread.c (Fload): Stop checking Vloads_in_progress and signal
2153 error as soon as a recursive load is detected.
8fc45744 2154
f097e223
AR
21552009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2156
2157 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
2158 before caching.
2159
8810a12f
KH
21602009-02-24 Kenichi Handa <handa@m17n.org>
2161
2162 * fontset.c (fontset_find_font): Fix the condition for checking
2163 unavailable font.
2164
2c7d1565
GM
21652009-02-24 Glenn Morris <rgm@gnu.org>
2166
2167 * xfaces.c (Finternal_set_font_selection_order): Remove leading
2168 whitespace that confuses documentation.
2169
a20878b6
MB
21702009-02-23 Miles Bader <miles@gnu.org>
2171
2172 * process.c (Flist_system_processes, Fprocess_attributes)
2173 (syms_of_process): Rename `system-process-attributes' to
2174 `process-attributes'.
2175
b3b58c01
AS
21762009-02-22 Andreas Schwab <schwab@linux-m68k.org>
2177
1b3b981b
AS
2178 * coding.h (struct coding_system): Make safe_charsets a pointer to
2179 unsigned char.
2180 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
2181 being 255.
2182 (SAFE_CHARSET_P): Likewise.
2183 (setup_iso_safe_charsets): Properly setup safe_charsets.
2184 (Fdefine_coding_system_internal): Likewise.
2185 (setup_coding_system): Likewise. Remove unneeded casts.
2186 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
2187 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
2188 unneeded casts.
2189
b3b58c01
AS
2190 * insdel.c (del_range_2): Don't modify gap contents when called
2191 from decode_coding_object. (Bug#1809)
2192
0b6f228c
CY
21932009-02-21 Chong Yidong <cyd@stupidchicken.com>
2194
2195 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
2196 Qfont_object.
2197 (Ftype_of): Recognize font objects.
2198
2199 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
2200
2201 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
2202 moved to data.c.
2203
52f8870b
AR
22042009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2205
2206 * nsterm.m (x_make_frame_invisible): Unset async_visible,
2207 async_iconified. Based on a patch by Christian Lynbech
2208 <christian.lynbech@tieto.com>.
2209 (EmacsView-windowDidMiniaturize:): Unset async_visible.
2210
7087d5e9
GM
22112009-02-20 Glenn Morris <rgm@gnu.org>
2212
2213 * syntax.c (Fskip_chars_forward): Fix doc typo.
2214
41d2ceef
CY
22152009-02-20 Chong Yidong <cyd@stupidchicken.com>
2216
2217 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
2218
1a3b7ca6
CY
22192009-02-19 Chong Yidong <cyd@stupidchicken.com>
2220
2221 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
2222
73cce38d
KH
22232009-02-19 Kenichi Handa <handa@m17n.org>
2224
2225 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 2226 Don't overflow coding->carryover. (Bug#2370)
73cce38d 2227
a51092ee
DN
22282009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
2229
2230 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
2231
c423ecca
KH
22322009-02-18 Kenichi Handa <handa@m17n.org>
2233
2234 * font.c (font_check_otf_features): Fix handling of `nil' element.
2235 (Ffont_spec): Describe :lang and :otf in the docstring.
2236
4c1958f4
AS
22372009-02-16 Andreas Schwab <schwab@suse.de>
2238
2239 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
2240 string.
2241
5704f39a
KH
22422009-02-16 Kenichi Handa <handa@m17n.org>
2243
2244 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 2245 (Bug#1723)
5704f39a 2246
8f0085aa
CY
22472009-02-14 Chong Yidong <cyd@stupidchicken.com>
2248
a057d86a 2249 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
2250
2251 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
2252 (handle_line_prefix): Suppress wrapping of wrap prefixes.
2253
aff01dd9
EZ
22542009-02-14 Eli Zaretskii <eliz@gnu.org>
2255
2256 * msdos.c (MAX_SCREEN_BUF): New macro.
2257 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
2258 Encode the entire run of glyphs sharing the same face, instead of
2259 doing that one glyph at a time (fixes a bug with displaying
2260 double-size characters).
2261
ba301db3
AR
22622009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
2263
2264 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
2265
2266 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
2267 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 2268 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
2269
2270 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 2271 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 2272
51d861de
SM
22732009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
2274
2275 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
2276 invisible areas.
2277
7fed8996
JR
22782009-02-12 Jason Rumney <jasonr@gnu.org>
2279
631ea4fb
JR
2280 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
2281 (add_font_entity_to_list): Call check_face_name even when family
2282 is unspecified.
2283
cb4a3e42
JR
2284 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2285 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 2286 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 2287
7fed8996 2288 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 2289 raster fonts. (Bug#2219)
7fed8996 2290
895416e3
KH
22912009-02-12 Kenichi Handa <handa@m17n.org>
2292
2293 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
2294 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
2295 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 2296 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2297 (find_automatic_composition): While looking forward and backward,
2298 check static composition. Fix where to stop looking forward.
2299 (composition_adjust_point): Fix checking of static composition.
2300 (Fcomposition_get_gstring): Pay attention to
1dacf998 2301 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2302
2303 * lisp.h (fast_looking_at): Extern it.
2304
2305 * search.c (fast_looking_at): New function.
2306
51d861de 2307 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
2308 <struct glyph>.u.cmp.to.
2309 (append_composite_glyph): Likewise.
2310
51d861de 2311 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
2312 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
2313 composition.
51d861de 2314 (append_composite_glyph): Adjust for the change of
895416e3
KH
2315 <strcut glyph>.u.cmp.to.
2316
8510724d
JB
23172009-02-11 Juanma Barranquero <lekktu@gmail.com>
2318
2319 * casetab.c (init_casetab_once):
2320 * coding.c (ALLOC_CONVERSION_WORK_AREA):
2321 * font.c (font_update_lface):
2322 * fontset.c (Fnew_fontset):
2323 * ftfont.c (ftfont_drive_otf):
2324 * xfont.c (xfont_open):
2325 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
2326
294fa707
SM
23272009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
2328
2329 * fileio.c (Fwrite_region): !NILP -> CONSP.
2330
b5bfebec
AS
23312009-02-10 Andreas Schwab <schwab@suse.de>
2332
2333 * process.c (send_process): Properly relocate pointer into data
adab88bd 2334 when using encoded data. (Bug#2272)
b5bfebec 2335
cb84a2be
KH
23362009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
2337
2338 * coding.c (detect_coding_charset): Fix previous change.
2339
89e09428
JR
23402009-02-08 Jason Rumney <jasonr@gnu.org>
2341
2342 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 2343 disappeared while hourglass was displayed. (Bug #2193)
89e09428 2344
4470a277
AS
23452009-02-07 Andreas Schwab <schwab@suse.de>
2346
2347 * unexelf.c (unexec): Fix error message.
2348
3175b12a
AR
23492009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
2350
2351 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 2352 when modal window is active. (Bug #2152)
3175b12a
AR
2353 (applicationShouldTerminate:): Remove now-unneeded while loop
2354 around NSRunAlertPanel.
2355
2356 * nsmenu.m (popupSession): New file-global variable.
2357 (pop_down_menu): End the popupSession before closing dialog.
2358 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
2359 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
2360 don't query NSApp for events (just sleep instead).
2361
8434d0b8
EZ
23622009-02-07 Eli Zaretskii <eliz@gnu.org>
2363
51d861de
SM
2364 * coding.c (syms_of_coding) <translation-table-for-input>:
2365 Modify doc string to discourage use for character code unification.
8434d0b8 2366
aa82edfd
CY
23672009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2368
2369 * atimer.c (run_timers): Update pending_atimers.
2370
2d283c7c
CY
23712009-02-06 Chong Yidong <cyd@stupidchicken.com>
2372
eb306cab
CY
2373 * image.c (svg_load_image): Fix last change.
2374
2d283c7c
CY
2375 * xfns.c (Fx_create_frame): Signal an error if no font is
2376 found (Bug#2147).
2377
4d8e170e
JB
23782009-02-05 Juanma Barranquero <lekktu@gmail.com>
2379
2380 * character.c (syms_of_character) <script-representative-chars>:
2381 Fix typo in docstring.
2382
c96169a0
AR
23832009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2384
2385 * nsmenu.m (pop_down_menu): New function.
2386 (ns_popup_dialog): Call it on unwind.
2387 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
2388 call timer_check() (Bug#2154).
2389 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
2390 handling_signal is set.
2391 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
2392
31fd7c5c 2393 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
c96169a0
AR
2394
2395 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
2396
2397 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
2398
51d861de
SM
2399 * keyboard.c (poll_for_input_1, handle_async_input):
2400 Set handling_signal under HAVE_NS.
c96169a0 2401
aacd8ba1
GM
24022009-02-04 Glenn Morris <rgm@gnu.org>
2403
2404 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
2405
4cb75c4b
KH
24062009-02-04 Kenichi Handa <handa@m17n.org>
2407
2408 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
2409
2410 * charset.c (Fchar_charset): New optional arg restriction.
2411
2412 * coding.h (coding_system_charset_list): Extern it.
2413
2414 * coding.c (coding_system_charset_list): New function.
2415
2416 * composite.c: Include coding.h and termhooks.h.
2417 (composition_gstring_p): Fix for the terminal case.
2418 (composition_gstring_width): Likewise.
2419 (fill_gstring_body): Likewise.
2420 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
2421 the frame.
2422 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
2423 is within a composition.
867d4bb3 2424 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
2425
2426 * term.c (encode_terminal_code): Fix handling of composition.
2427 (produce_composite_glyph): For static composition, get pixel_width
2428 from struct composition.
2429
826ba17e
AS
24302009-02-02 Andreas Schwab <schwab@suse.de>
2431
2432 * unexelf.c (unexec): Handle unaligned bss offset.
2433
8ad093db
AR
24342009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2435
2436 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
2437 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 2438
8ad093db
AR
2439 * keyboard.c (handle_interrupt): Don't call
2440 quit_throw_to_read_char() under NS.
d0a76a6e 2441
8ad093db
AR
2442 * blockinput.h: Remove NS-specific code.
2443
4d18a7a2
DN
24442009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
2445
db878925
DN
2446 * dispnew.c (window_change_signal): Don't try to get the size of a
2447 suspended tty frame.
2448 * term.c (Fresume_tty): Resize if the size has changed while the
2449 tty was suspended.
2450
4d18a7a2
DN
2451 * alloc.c (mark_stack): Properly conditionalize previous change.
2452
8984df7c
JB
24532009-01-30 Juanma Barranquero <lekktu@gmail.com>
2454
2455 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
2456 * w32term.c (w32_read_socket) [SYNC_INPUT]:
2457 Remove; this code is not used on Windows.
2458
75f4f1ac
EZ
24592009-01-30 Eli Zaretskii <eliz@gnu.org>
2460
2461 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
2462 EOLs that also has stray ^M characters.
2463
07a1e794
JB
24642009-01-30 Juanma Barranquero <lekktu@gmail.com>
2465
2466 * atimer.c (run_timers, alarm_signal_handler):
2467 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
2468 * w32inevt.c (w32_console_read_socket):
2469 * w32term.c (w32_read_socket):
2470 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
2471
a8b11cc9
CY
24722009-01-30 Chong Yidong <cyd@stupidchicken.com>
2473
2474 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
2475 Initialize it as a relative filename pattern.
2476 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
2477 (Fcall_process_region): Simplify temp file creation using
2478 temporary-file-directory.
2479
c279587b
EZ
24802009-01-29 Eli Zaretskii <eliz@gnu.org>
2481
2482 * msdos.c: Rename pending_signals to msdos_pending_signals.
2483 (sig_suspender, sigprocmask): Adjust.
2484
a8fe3242
CY
24852009-01-29 Chong Yidong <cyd@stupidchicken.com>
2486
2487 * keyboard.c (pending_signals): New var.
2488 (poll_for_input, input_available_signal, init_keyboard): Set it.
2489 (process_pending_signals): New function.
2490
2491 * lisp.h (QUIT): Check pending_signals instead of
2492 interrupt_input_pending. Use process_pending_signals.
2493
51d861de 2494 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 2495
51d861de 2496 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
2497
2498 * sysdep.c (emacs_write): Use process_pending_signals.
2499
2500 * xterm.c (XTread_socket): Update pending_signals.
2501
2502 * w32term.c (w32_read_socket): Update pending_signals.
2503
2504 * w32inevt.c (w32_console_read_socket): Update pending_signals.
2505
6570a1c4
KH
25062009-01-29 Kenichi Handa <handa@m17n.org>
2507
2508 * xftfont.c (xftfont_has_char): New function.
2509 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
2510
d72a4afa
AR
25112009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2512
2513 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
2514 under GNUstep.
2515 (ns_query_color): New declaration.
2516
2517 * nsterm.m (ns_confirm_quit): New variable.
2518 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
2519 (EmacsApp-applicationShouldTerminate:): Use it.
2520 (EmacsPrefsController): Let user set it.
2521 (ns_query_color): New function.
2522 (ns_defined_color): Use it.
2523 (ns_initialize): Drop.
2524 (ns_term_init): Add two lines from ns_initialize(), and set
2525 input_interrupt_mode to nil.
2526
2527 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 2528 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 2529
9fe78804
KH
25302009-01-28 Kenichi Handa <handa@m17n.org>
2531
2532 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
2533 (fontset_get_font_group): Remember that no font-group is specified
2534 for C.
9fe78804 2535
fa57de36
CY
25362009-01-27 Chong Yidong <cyd@stupidchicken.com>
2537
930600e9
CY
2538 * fns.c (concat): Check for string overflow (bug#1787).
2539
fa57de36
CY
2540 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
2541 Quadruple undo limits (bug#1501).
2542
7179ce7b
KH
25432009-01-27 Kenichi Handa <handa@m17n.org>
2544
2545 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
2546 directly use GT_Get_Char_index.
2547
2548 * xftfont.c (struct xftfont_info): New member `index'.
2549
2550 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 2551 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 2552
5be8fcc0
CY
25532009-01-26 Kenichi Handa <handa@m17n.org>
2554
2555 * fontset.c (fontset_find_font): Fix handling of non-cons return
2556 value of fontset_get_font_group.
2557 (fontset_font): Revert last change.
2558
19ae3e61
JR
25592009-01-26 Jason Rumney <jasonr@gnu.org>
2560
2561 * w32font.c (w32font_list_internal): Return quickly if registry is
2562 unknown. Simplify final return.
2563 (add_font_entity_to_list): Break complex logic down into more
2564 manageable chunks. Move unknown registry check to
2565 w32font_list_internal.
2566
8612b71a
AR
25672009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
2568
2569 Changes to remove Feval calls from GUI under NS.
2570
d8038940
JB
2571 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
2572 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
2573 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
2574
2575 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
2576 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
2577 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
2578 instead of NON_ASCII_KEYSTROKE_EVENT.
2579 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
2580 (EmacsApp-applicationShouldTerminate:): Query user.
2581 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
2582 instead of Feval.
2583
2584 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
2585
2586 * keyboard.c (kbd_buffer_get_event): Check for it.
2587 (keys_of_keyboard): Define lispy keys for
2588 ns-put/unput-working-text.
2589
2590 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
2591 versions.
2592 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
2593
6288ae55
CY
25942009-01-25 Chong Yidong <cyd@stupidchicken.com>
2595
2596 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 2597 setting current_buffer directly. (Bug#2044)
6288ae55 2598
289e7f8f
CY
25992009-01-24 Chong Yidong <cyd@stupidchicken.com>
2600
5ce87308 2601 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 2602 any work. (Bug#1952, bug#1990).
5ce87308 2603
64cc3cf6 2604 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 2605
b3243e6f
AR
26062009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
2607
2608 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
2609 (ns_no_defaults): New declaration.
2610 (main): Use it.
e0d2e69a 2611
d900b2af 2612 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 2613
d900b2af 2614 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 2615
d900b2af
AR
2616 * nsterm.m (ns_no_defaults): New variable.
2617 (ns_initialize): Don't read defaults when ns_no_defaults.
2618 (EmacsView-readSelectionFromPasteboard:)
2619 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 2620 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
2621 (ns_dumpglyphs_stretch): New function.
2622 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 2623 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 2624
e0d2e69a
AR
2625 * nsimage.m (setPixmapData:): Set to ignore image DPI.
2626
3ac71f5d
CY
26272009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
2628
2629 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
2630 call for Sparc64.
2631
3fe53a83
AR
26322009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2633
2634 * nsfns.m:
2635 * nsgui.h:
2636 * nsmenu.m:
2637 * nsselect.m:
2638 * nsterm.h:
2639 * nsterm.m: Remove '23' comments that indicated code added during
2640 update from emacs-20 -> emacs-23.
2641
10f87c6f 26422009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
2643
2644 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 2645 ns_alternate_modifier. (Bug#1217)
a3b53a85 2646
c7cef62d
AR
2647 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
2648 Display all shortcuts, including those w/o super modifier.
2649
575fb8bd
AR
2650 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
2651
918b848b
CY
26522009-01-22 Chong Yidong <cyd@stupidchicken.com>
2653
2654 * fileio.c (Vwrite_region_post_annotation_function)
2655 (Vwrite_region_annotation_buffers): New vars.
2656 (build_annotations_unwind): Just reset
2657 Vwrite_region_annotation_buffers.
2658 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
2659 Call write-region-post-annotation-function.
2660 (build_annotations): Add to Vwrite_region_annotation_buffers if
2661 buffer changes.
2662
a39e2539
AR
26632009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2664
2665 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
2666 Tiger.
51d861de
SM
2667 * nsfns.m (ns_do_applescript):
2668 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 2669
35ed44db
AR
26702009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
2671
2672 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
2673
cbe0b5bf
AR
26742009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2675
2676 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 2677
6049d3a0
AR
2678 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
2679
2680 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
2681 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
2682 handle Ctrl-tab. (Bug#1841)
2683 (ns_get_color): Use unsigned long long for scanned hex string value.
2684 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 2685 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 2686 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 2687 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 2688 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 2689 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 2690 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 2691
d3810c21 2692 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 2693 DPI. (Bug#1316)
d3810c21
AR
2694 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
2695 values in onTiger section.
4c7077c3 2696
e301e634
CY
26972009-01-19 Chong Yidong <cyd@stupidchicken.com>
2698
7f82490b
CY
2699 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
2700 Check return value of font_spec_from_name.
64cc3cf6 2701 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
2702
2703 * font.c (font_spec_from_name): Return Qnil if font name could not
2704 be parsed.
2705 (font_parse_name): Treat a `?' character as part of an XLFD.
2706
e301e634
CY
2707 * fns.c (Fsubstring): Doc fix.
2708
1c0db158
KH
27092009-01-19 Kenichi Handa <handa@m17n.org>
2710
51d861de 2711 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
2712 (ftfont_list): Likewise.
2713
acf20901
JB
27142009-01-18 Juanma Barranquero <lekktu@gmail.com>
2715
fff4e459
JB
2716 * dbusbind.c (Fdbus_register_signal):
2717 * process.c (conv_sockaddr_to_lisp):
2718 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
2719
acf20901
JB
2720 * callproc.c (Fgetenv_internal): Doc fix.
2721
e7abcdfb
CY
27222009-01-16 Chong Yidong <cyd@stupidchicken.com>
2723
2724 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
2725 it is not even used.
2726
b60861e6
GM
27272009-01-16 Glenn Morris <rgm@gnu.org>
2728
2729 * font.c (Ffont_variation_glyphs): Silence compiler.
2730
8db52afe
JB
27312009-01-15 Juanma Barranquero <lekktu@gmail.com>
2732
2733 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
2734 Reported by David Robinow <drobinow@gmail.com>.
2735
4cddb209
KH
27362009-01-15 Kenichi Handa <handa@m17n.org>
2737
51d861de 2738 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 2739
f247f67b
JR
27402009-01-14 Jason Rumney <jasonr@gnu.org>
2741
2742 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 2743 never a fontset. (Bug#1562)
f247f67b 2744
f56a4450
KH
27452009-01-14 Kenichi Handa <handa@m17n.org>
2746
2747 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 2748 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 2749
4e99855e
CY
27502009-01-13 Chong Yidong <cyd@stupidchicken.com>
2751
2752 * font.c (font_clear_prop): If clearing the family, clear the font
2753 width index too.
2754
fff4e459 2755 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 2756
24f01470
JB
27572009-01-12 Juanma Barranquero <lekktu@gmail.com>
2758
2759 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
2760 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
2761 functions, use sizeof.
2762
a41240a3
MR
27632009-01-12 Martin Rudalics <rudalics@gmx.at>
2764
2765 * keyboard.c (read_char): Fix case where last_nonmenu_event
2766 returned a bad value with submenus. (Bug#447)
2767
944636b8
CY
27682009-01-12 Chong Yidong <cyd@stupidchicken.com>
2769
2770 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
2771 family, clear the font width index too.
2772
0dad7c6f
JR
27732009-01-11 Jason Rumney <jasonr@gnu.org>
2774
2775 * keyboard.c (cmd_error_internal): Exit when errors occur before
2776 frame creation and not in daemon mode. (Bug#1836)
2777
7c2363af
CY
27782009-01-10 Chong Yidong <cyd@stupidchicken.com>
2779
2780 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
2781 of a display vector, backtrack.
2782 (try_window_reusing_current_matrix): Check glyph type before
2783 referencing charpos member.
2784
97b1b294
EZ
27852009-01-10 Eli Zaretskii <eliz@gnu.org>
2786
2787 Fix Bug #876:
2788
2789 * coding.c (inhibit_null_byte_detection): New variable.
2790 (detect_coding, detect_coding_system): Don't pay attention to null
2791 bytes if inhibit_null_byte_detection is non-zero.
51d861de 2792 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
2793 <inhibit-iso-escape-detection>: Doc fix.
2794
4624b6e3
JR
27952009-01-09 Jason Rumney <jasonr@gnu.org>
2796
2797 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 2798 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
2799 Only report Unicode Plane 2 fonts as unicode-sip.
2800
323b840c
CY
28012009-01-09 Chong Yidong <cyd@stupidchicken.com>
2802
51d861de
SM
2803 * xfaces.c (Fx_font_family_list): Delete function.
2804 Move compatibility version to faces.el.
323b840c 2805
51d861de 2806 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 2807
eba7400d
MR
28082009-01-09 Martin Rudalics <rudalics@gmx.at>
2809
2810 * frame.c (x_set_frame_parameters): Remember requested value for
2811 fullscreen before it's reset by the parameter handler.
2812
4b09796d
GM
28132009-01-09 Glenn Morris <rgm@gnu.org>
2814
2815 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 2816 (last_command_event): ... and update all users.
4b09796d
GM
2817 (last_input_char): For clarity, rename to...
2818 (last_input_event): ... and update all users.
2819 (last-command-char, last-input-char): Move to subr.el as aliases.
2820 * cmds.c, commands.h: Update for last_command_char rename.
2821
14ccea62
CY
28222009-01-08 Chong Yidong <cyd@stupidchicken.com>
2823
51d861de 2824 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 2825
5f004711
JR
28262009-01-08 Jason Rumney <jasonr@gnu.org>
2827
2828 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
2829 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
2830 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
2831 Don't declare.
fff4e459 2832 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
2833 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
2834
b71f6f73
KH
28352009-01-07 Kenichi Handa <handa@m17n.org>
2836
50b06221 2837 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 2838 remember the coding system used for decoding in
50b06221
KH
2839 coding_system (Bug#1039).
2840
b71f6f73 2841 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 2842 breaking the loop. (Bug#870)
b71f6f73
KH
2843 (decode_coding_utf_16, decode_coding_emacs_mule)
2844 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2845 (decode_coding_charset): Likewise.
2846
56f668f7
MR
28472009-01-05 Martin Rudalics <rudalics@gmx.at>
2848
2849 * frame.c (x_set_frame_parameters): Make sure height (width) get
2850 applied when fullwidth (fullheight) is set. (Bug#1522)
2851
5da9424d
JB
28522009-01-04 Juanma Barranquero <lekktu@gmail.com>
2853
2854 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
2855 (utc_base): Declare as ULONGLONG, not long double.
2856 (convert_time_raw): Delete.
2857 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
2858 (initialize_utc_base): New function.
2859 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
2860 (convert_from_time_t): Use initialize_utc_base; compute result with
2861 64-bit arithmetic.
2862 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
2863
c4605e09
EZ
28642009-01-03 Eli Zaretskii <eliz@gnu.org>
2865
9acef61c 2866 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
2867 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
2868 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
2869 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
2870 [!subprocesses]: Define.
2871 (syms_of_process) [!subprocesses]: Intern and staticpro them.
2872 (Flist_system_processes, Fsystem_process_attributes)
2873 [!subprocesses]: Call list_system_processes and
2874 system_process_attributes instead of returning Qnil.
2875
9acef61c
JB
2876 * dosfns.c (system_process_attributes, list_system_processes):
2877 New functions.
c4605e09
EZ
2878
2879 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
2880
2881 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
2882 Don't use the default (no-op) implementation.
2883
8b7d0a16
JR
28842009-01-03 Jason Rumney <jasonr@gnu.org>
2885
a6d46bc1
JR
2886 * keyboard.c (parse_modifiers_uncached): Wheel events are
2887 clicks (bug#687).
2888
8b7d0a16
JR
2889 * w32term.c (x_query_colors, x_query_color): New functions.
2890
2891 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
2892 (svg_load_image): Cast returned pointers from dynamically loaded
2893 functions. Eliminate W32 specific code.
2894
bfe11752
DN
28952009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
2896
89e2438a
DN
2897 * nsfns.m (x_set_foreground_color, x_set_background_color)
2898 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
2899 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
2900 x_ prefix instead of ns_. Update references.
2901 (syms_of_nsfns): Add a FIXME comment.
2902
2903 * nsterm.m (x_set_cursor_type): New prototype.
2904 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
2905
bfe11752
DN
2906 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
2907 for Solaris instead of incorrectly providing Qutime and Qcutime.
2908
031da700
EZ
29092009-01-02 Eli Zaretskii <eliz@gnu.org>
2910
2911 * w32.c (process_times): Compute sum of utime and stime.
2912 (system_process_attributes): Add Qtime to the alist.
2913
2914 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
2915 and add them to the alist.
2916
2917 * process.c (top level) <Qtime, Qctime>: New variables.
2918 (syms_of_process): staticpro them.
2919 (Fsystem_process_attributes): Add their documentation to the doc
2920 string.
2921
2922 * process.h: Declare Qtime and Qctime.
2923
df23bf08
JR
29242009-01-02 Jason Rumney <jasonr@gnu.org>
2925
9acef61c 2926 * image.c (Qgobject): New symbol.
df23bf08
JR
2927 (syms_of_image): Initialize it.
2928 (init_svg_functions): Load some functions from gobject library.
2929
5bbdf7aa
DN
29302009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
2931
2932 * frame.c (make_terminal_frame): Remove redundant code and useless
2933 block.
2934
63136da6
AS
29352009-01-01 Andreas Schwab <schwab@suse.de>
2936
2937 * process.c (conv_sockaddr_to_lisp): Add workaround for
2938 getsockname bug on BSD.
2939
9ef69046
CY
29402009-01-01 Chong Yidong <cyd@stupidchicken.com>
2941
d6fafbe0
CY
2942 * xfns.c (x_create_tip_frame): Set border width of the X window.
2943
51d861de 2944 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 2945
f9c34147
JR
29462009-01-01 Jason Rumney <jasonr@gnu.org>
2947
9acef61c 2948 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
2949 Don't block input, as per earlier xterm.c changes.
2950
f5497e45
AR
29512008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
2952
2953 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
2954 (ns_appkit_version_int): New function.
2955 (x-server-version): Use ns_appkit_version_int and follow 21+
2956 convention of returning 3 integers.
2957
c19cab20
KH
29582008-12-30 Kenichi Handa <handa@m17n.org>
2959
2960 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
2961 (CHAR_SURROGATE_PAIR_P): New macro.
2962
2963 * font.h (struct font_driver): New member get_variation_glyphs.
2964
9acef61c 2965 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
2966 (Ffont_variation_glyphs): New function.
2967 (syms_of_font): Defsubr it.
2968
2969 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
2970 ftfont_variation_glyphs.
2971 (setup_otf_gstring): New function.
2972 (ftfont_drive_otf): Use it.
2973 (ftfont_shape_by_flt): Handle variation selector.
2974 (ftfont_variation_glyphs): New function.
2975
28cd591f
MR
29762008-12-30 Martin Rudalics <rudalics@gmx.at>
2977
2978 * frame.c (Vemacs_iconified): Remove.
2979
7f714baf
JR
29802008-12-30 Jason Rumney <jasonr@gnu.org>
2981
2982 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 2983 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 2984
9d2d22ab
CY
29852008-12-30 Chong Yidong <cyd@stupidchicken.com>
2986
2987 * indent.c (Fvertical_motion): Don't advance iterator if we have
2988 reseated to the desired position.
2989
2990 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
2991 checking for pos match.
2992
545312c2
KH
29932008-12-30 Kenichi Handa <handa@m17n.org>
2994
1ede3eb6
KH
2995 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
2996 just get the low 8-bit of the code.
2997
545312c2
KH
2998 * font.c (font_intern_prop): Validate str as multibyte.
2999
bd7bbf29
DN
30002008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3001
31e0750e
DN
3002 * dispextern.h (struct face): Move lface and hash from the middle
3003 of bitfields.
3004
bd7bbf29
DN
3005 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
3006
b5672e7c
DN
30072008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3008
3009 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
3010 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
3011 instead of intervals.h.
3012
d704470f
AS
30132008-12-26 Andreas Schwab <schwab@suse.de>
3014
3015 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
3016 cons.
3017
54b33868
MR
30182008-12-26 Martin Rudalics <rudalics@gmx.at>
3019
3020 * textprop.c (Qminibuffer_prompt): New variable.
3021 (syms_of_textprop): Initialize it.
3022 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
3023 in minibuffer-prompt face. (Bug#1662)
3024
40b615d6
JR
30252008-12-25 Jason Rumney <jasonr@gnu.org>
3026
3027 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
3028
baae5c2d
JR
30292008-12-24 Jason Rumney <jasonr@gnu.org>
3030
3031 * ralloc.c (r_alloc_reset_variable): New function.
3032
3033 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 3034 record of what points where. (Bug#716)
baae5c2d 3035
a9051c88
DN
30362008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
3037
3038 * minibuf.c (read_minibuf): Follow the non-interactive case when
3039 running as a daemon, before detaching.
3040
8b146312
AS
30412008-12-22 Andreas Schwab <schwab@suse.de>
3042
3043 * buffer.c (init_buffer): Use realloc instead of xrealloc.
3044 * gtkutil.c (free_widget_value): Use xfree instead of free.
3045
56f2de10
MR
30462008-12-22 Martin Rudalics <rudalics@gmx.at>
3047
3048 * frame.c (delete_frame): New function derived from
3049 Fdelete_frame to handle Qnoelisp value for FORCE argument.
3050 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
3051 (Fdelete_frame): Call delete_frame. Remove line from doc-string
3052 saying that FORCE non-nil doesn't run `delete-frame-functions'.
3053 * frame.h: Extern delete_frame.
3054 * window.c (window_loop):
3055 * terminal.c (delete_terminal):
3056 * xterm.c (x_connection_closed):
3057 * xfns.c (Fx_hide_tip):
9acef61c 3058 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 3059
1fc200d6
JR
30602008-12-21 Jason Rumney <jasonr@gnu.org>
3061
3062 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
3063 when character maps to .notdef character.
3064
5e252df2
SM
30652008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
3066
3067 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
3068
99b72cc4
JR
30692008-12-20 Jason Rumney <jasonr@gnu.org>
3070
3071 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 3072 a graphical frame on Windows. (Bug#1325)
99b72cc4 3073
acc49a52
JD
30742008-12-20 Jan Djärv <jan.h.d@swipnet.se>
3075
3076 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
3077
6ea15123
CY
30782008-12-20 Chong Yidong <cyd@stupidchicken.com>
3079
3080 * minibuf.c (Fread_buffer): Doc fix.
3081
b2dab6c8
JR
30822008-12-20 Jason Rumney <jasonr@gnu.org>
3083
54ea0c87 3084 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 3085 server name in UNC paths. (Bug#719)
54ea0c87 3086
b2dab6c8 3087 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 3088 charbuf. (Bug#1035)
b2dab6c8 3089
6d1921be
DN
30902008-12-19 Daniel Engeler <engeler@gmail.com>
3091
3092 * sysdep.c (serial_configure): Fix typo.
3093
53934c98
DN
30942008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3095
3096 * sysdep.c: Include alloca.h.
f4f634e8
DN
3097 (system_process_attributes): Add implementation for Solaris.
3098
3099 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 3100
06e111a6
DN
31012008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3102
3103 Reorganize implementation of Flist_system_processes and
3104 Fsystem_process_attributes. No functional changes.
3105 * process.c: Don't #include pwd.h, grp.h and limits.h.
3106 (Flist_system_processes): Just call list_system_processes.
3107 (Fsystem_process_attributes): Just call system_process_attributes.
3108 (procfs_list_system_processes, time_from_jiffies)
3109 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
3110 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
3111
3112 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
3113 (list_system_processes): Rename from
3114 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
3115 Provide a do nothing implementation.
3116 (system_process_attributes): Rename from
3117 procfs_list_system_processes.
3118 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 3119 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
3120
3121 * w32.c (list_system_processes): Rename from
3122 w32_list_system_processes.
3123 (system_process_attributes): Rename from
3124 w32_system_process_attributes.
3125
3126 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
3127
3128 * process.h (w32_list_system_processes)
3129 (w32_system_process_attributes): Remove.
3130 (list_system_processes, system_process_attributes): New
3131 prototypes.
3132
6a705b23
KH
31332008-12-19 Kenichi Handa <handa@m17n.org>
3134
3135 * xfont.c (xfont_decode_coding_xlfd): New function.
3136 (xfont_encode_coding_xlfd): New function.
3137 (xfont_list_pattern): Decode XLFD by iso-8859-1.
3138 (xfont_list): Decode and encode XLFD by iso-8859-1.
3139 (xfont_match): Likewise.
3140 (xfont_list_family): Likewise.
3141 (xfont_open): Likewise.
3142
d66c0241 3143 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
3144 names are utf-8.
3145
d66c0241 3146 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
3147 names are utf-8.
3148
5a130941
JD
31492008-12-18 Jan Djärv <jan.h.d@swipnet.se>
3150
3151 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
3152 changed.
bfd20325
JD
3153 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
3154 clicked on a detached tool bar button.
5a130941 3155
fd95644b
DN
31562008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
3157
3158 * emacs.c (main): Print and error and exit when no data is read
3159 from the pipe.
3160
e6eee6ae
JR
31612008-12-17 Jason Rumney <jasonr@gnu.org>
3162
3163 * w32font.c (w32font_has_char): Always return -1.
3164
a35dd56b
KH
31652008-12-16 Kenichi Handa <handa@m17n.org>
3166
3167 * font.c (font_open_entity): Fix previous change.
3168
0e3635c2
DN
31692008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
3170
3171 * process.c: Include <limits.h>.
3172
d4835507 31732008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
3174
3175 * font.c (font_update_drivers): Fix mistake in reconstructing the
3176 driver list.
3177
31782008-12-16 Chong Yidong <cyd@stupidchicken.com>
3179
3180 * font.c (font_clear_cache): Fix format of font cache data.
3181
e2cbc401
CY
31822008-12-15 Chong Yidong <cyd@stupidchicken.com>
3183
3184 * xftfont.c (xftfont_open): Free Xft font pattern if
3185 XftFontOpenPattern fails.
3186
3187 * xterm.c (x_free_frame_resources): Remove extraneous call to
3188 free_frame_faces.
3189
b131d535
CY
31902008-12-13 Chong Yidong <cyd@stupidchicken.com>
3191
3192 * xterm.c (x_delete_display): Move xim_close_dpy call to
3193 x_delete_terminal.
3194 (x_delete_terminal): Call xim_close_dpy.
3195
e6df5336
JR
31962008-12-13 Jason Rumney <jasonr@gnu.org>
3197
3198 * w32font.c (intern_font_name): New function.
3199 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
3200 (w32font_open_internal, Fx_select_font): Decode font name.
3201 (fill_in_logfont, list_all_matching_fonts): Encode font name.
3202
3203 * w32font.h (intern_font_name): Declare new function.
3204
3205 * w32uniscribe.c (add_opentype_font_name_to_list):
3206 Use intern_font_name.
3207
20d68145
CY
32082008-12-13 Chong Yidong <cyd@stupidchicken.com>
3209
9f2554de
CY
3210 * frame.c (Fdelete_frame): Call free_font_driver_list.
3211
3d9bec9a
CY
3212 * font.c (free_font_driver_list): Implement missing function.
3213
20d68145
CY
3214 * w32term.c (w32_term_init): Don't initialize the image cache
3215 here; it will be done in init_frame_faces.
3216
3217 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
3218 (struct x_display_info): Remove unused member null_pixel. New
3219 member xim_callback_data.
3220
3221 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
3222 (xim_initialize): Save pointer to callback function data.
3223 (xim_close_dpy): Free callback function data. Call XCloseIM,
3224 reverting 2008-11-04 change by David Smith.
3225 (x_term_init): Don't initialize the image cache here; it will be
3226 done in init_frame_faces. Remove ancient "null_pixel" cruft.
3227 (x_delete_display): Free x_dnd_atoms member.
3228
96f9306b
KH
32292008-12-13 Kenichi Handa <handa@m17n.org>
3230
6dec9044
JB
3231 * font.c (font_rescale_ratio): Moved from xfaces.c.
3232 Argument type changed. Handle a font-spec too.
96f9306b 3233 (font_score): Check Vface_font_rescale_alist.
6dec9044 3234 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
3235
3236 * xfaces.c (font_rescale_ratio): Moved to font.c.
3237
8d5b4964
CY
32382008-12-13 Chong Yidong <cyd@stupidchicken.com>
3239
3240 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
3241
e6df5336
JR
32422008-12-12 Jason Rumney <jasonr@gnu.org>
3243
3244 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
3245 Vwindow_system_version to the real w32 major version.
3246
97c6058a
DN
32472008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
3248
3249 * term.c (init_tty): Move setting the terminal name before the
3250 potential user: maybe_fatal.
3251
ec4e88d7
CY
32522008-12-11 Chong Yidong <cyd@stupidchicken.com>
3253
d4835507
JB
3254 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
3255 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 3256
b4233ec9
JR
32572008-12-11 Jason Rumney <jasonr@gnu.org>
3258
8ec71e23 3259 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 3260 SYMBOL_CHARSET. (Bug#547)
8ec71e23 3261
b4233ec9 3262 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 3263 size for surrogates. (Bug#1096, bug#872)
b4233ec9 3264
011a0143
JB
32652008-12-11 Juanma Barranquero <lekktu@gmail.com>
3266
3267 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
3268
3c309f34
JB
32692008-12-11 Juanma Barranquero <lekktu@gmail.com>
3270
3271 * process.c (Fsystem_process_attributes, syms_of_process):
3272 Fix typo in name of Ssystem_process_attributes.
3273 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
3274
fedc6ab5
JB
32752008-12-11 Juanma Barranquero <lekktu@gmail.com>
3276
3277 * syntax.c (Fmodify_syntax_entry): Doc fix.
3278
ba3de0e8
JB
32792008-12-10 Juanma Barranquero <lekktu@gmail.com>
3280
3281 * font.c (Ffont_spec): Move usage to end of docstring.
3282
174f1c74
JR
32832008-12-10 Jason Rumney <jasonr@gnu.org>
3284
3285 * w32font.c (Qcham): New symbol.
3286 (font_supported_scripts): Add cham, and comments for other new
3287 scripts in bitfield from OpenType spec.
9d32f818
JR
3288 (add_font_entity_to_list): Limit unicode-sip fonts to those that
3289 contain characters beyond the bmp.
174f1c74 3290
7b649478
KH
32912008-12-10 Kenichi Handa <handa@m17n.org>
3292
3293 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 3294 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
3295 Qunicode_sip.
3296
2133e2d1
JB
32972008-12-10 Juanma Barranquero <lekktu@gmail.com>
3298
3299 * coding.c (QCdefault_char): Rename from QCdefalut_char.
3300 (Fcoding_system_put): Use QCdefault_char.
3301 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
3302
9af886ee
CY
33032008-12-09 Chong Yidong <cyd@stupidchicken.com>
3304
74d819eb
CY
3305 * xftfont.c (syms_of_xftfont): Fix typo.
3306
4ccfa1c0 3307 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 3308
7c19d3ae
DN
33092008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
3310
3311 * emacs.c (main): Close daemon_pipe on exec.
3312
567826bb
CY
33132008-12-08 Chong Yidong <cyd@stupidchicken.com>
3314
3315 * termchar.h (struct tty): New members termcap_term_buffer and
3316 termcap_strings_buffer.
3317
3318 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 3319 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
3320 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
3321 All callers changed.
3322 (init_tty): Store termcap data and string buffers in new struct
3323 tty members termcap_term_buffer and termcap_strings_buffer.
3324 (delete_tty): Free them.
4ccfa1c0 3325 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 3326
aa96c42b
SZ
33272008-12-07 Seiji Zenitani <zenitani@mac.com>
3328
3329 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 3330 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 3331
b7e1d896
CY
33322008-12-06 Chong Yidong <cyd@stupidchicken.com>
3333
3334 * coding.c (make_conversion_work_buffer): Disable buffer
3335 modification hooks in the work buffer.
3336
b5ec91a5
EZ
33372008-12-05 Eli Zaretskii <eliz@gnu.org>
3338
3339 * process.c (procfs_system_process_attributes): If `nread' has a
3340 negative value, assign zero to it.
3341
a5d2a52b
CY
33422008-12-05 Chong Yidong <cyd@stupidchicken.com>
3343
68c5540b 3344 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 3345
7bf1bb21
KH
33462008-12-05 Kenichi Handa <handa@m17n.org>
3347
3348 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
3349 second character is a combining character.
3350
2fdc7d00
EZ
33512008-12-05 Eli Zaretskii <eliz@gnu.org>
3352
3353 * process.c (procfs_system_process_attributes): Don't use cmd,
3354 cmdsize, and q without initializing them first.
3355
bf6bfba8
JR
33562008-12-04 Jason Rumney <jasonr@gnu.org>
3357
3358 * w32font.c (w32font_draw): Initialize orig_clip before getting
3359 it, and delete it when finished.
3360
a3b1a468
DN
33612008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
3362
3363 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
3364 case when running as a daemon before detaching.
3365
8b8be8eb
JB
33662008-12-03 Juanma Barranquero <lekktu@gmail.com>
3367
805f2638 3368 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 3369
b1bde622
KH
33702008-12-03 Kenichi Handa <handa@m17n.org>
3371
e500c47d
KH
3372 * font.c (font_at): Set `multibyte' at first.
3373
ca516334
KH
3374 * coding.c (decode_coding_charset): Check type of an element of
3375 vector VALIDS.
7bf1bb21 3376 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 3377
4ccfa1c0 3378 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
3379 (font_for_char): Likewise.
3380
1e5ecd37
CY
33812008-12-03 Chong Yidong <cyd@stupidchicken.com>
3382
d5b01609 3383 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
3384 (font_update_lface): Handle fonts with corrupted size specs,
3385 i.e. non-int and non-float.
d5b01609 3386
11e3a6e4 3387 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 3388 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 3389 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 3390
ab06788b
CY
3391 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
3392
1e5ecd37 3393 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 3394 underline_minimum_offset for underline position.
1e5ecd37 3395
63c125ab
DN
33962008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
3397
3398 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
3399
3400 * character.c (c_string_width): Specify the type for LEN.
3401
3a8406e1
KH
34022008-12-03 Kenichi Handa <handa@m17n.org>
3403
4ccfa1c0 3404 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 3405 (decode_coding_utf_8): Likewise.
4ccfa1c0 3406 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 3407 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 3408
651df7d9
CY
34092008-12-02 Chong Yidong <cyd@stupidchicken.com>
3410
3411 * keyboard.c (make_lispy_position): Only use PT if the selected
3412 window is current.
3413
1f625c6c
AS
34142008-12-02 Andreas Schwab <schwab@suse.de>
3415
f7741ce9
AS
3416 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
3417
1f625c6c
AS
3418 * doprnt.c (doprnt1): Fix size of charbuf.
3419
92bc2678
CY
34202008-12-02 Chong Yidong <cyd@stupidchicken.com>
3421
3422 * keyboard.c (timer_check): Revert last change.
3423
93b9e8cc
JB
34242008-12-02 Juanma Barranquero <lekktu@gmail.com>
3425
3426 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
3427
fd7a37d5
JB
34282008-12-01 Juanma Barranquero <lekktu@gmail.com>
3429
3430 * makefile.w32-in: Update dependencies.
3431 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
3432
c115043b
AS
34332008-12-01 Andreas Schwab <schwab@suse.de>
3434
3435 * font.c (register_font_driver): Use xmalloc.
3436 (font_put_frame_data): Likewise.
3437
f5668d2a
CY
34382008-12-01 Chong Yidong <cyd@stupidchicken.com>
3439
860d96be
CY
3440 * xfaces.c (realize_x_face): Make abort condition clearer.
3441
f5668d2a
CY
3442 * gtkutil.c (update_frame_tool_bar): Initialize variable.
3443
379c17e7
CY
34442008-11-30 Chong Yidong <cyd@stupidchicken.com>
3445
3446 * keyboard.c (timer_check): After a timer runs, ensure that the
3447 selected window's buffer is current.
3448
35f36d65
JB
34492008-11-30 Juanma Barranquero <lekktu@gmail.com>
3450
f952c61c
JB
3451 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
3452 It was accidentally restored by the Unicode merge.
3453
35f36d65
JB
3454 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
3455
b23077df
JB
34562008-11-29 Juanma Barranquero <lekktu@gmail.com>
3457
3458 * w32proc.c: Include "coding.h".
3459 (Fw32_short_file_name): Encode filename passed to Windows API.
3460 (Fw32_long_file_name): Encode filename passed to Windows API and
3461 decode back the result. (Bug#1433)
3462
b8ebe9dd
KH
34632008-11-29 Kenichi Handa <handa@m17n.org>
3464
8cc53f96
KH
3465 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
3466 not before accessing it.
3467
b8ebe9dd
KH
3468 * charset.c (Fdefine_charset_internal): After calculating
3469 min_char, max_char, and fastmap, copy the charset structure again.
3470 (encode_char): Fix the previous change.
3471
59bc82c0
SZ
34722008-11-28 Seiji Zenitani <zenitani@mac.com>
3473
3474 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
3475
3476 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
3477
3478 * nsterm.m (x_set_frame_alpha): New function.
3479
32247e3d
EZ
34802008-11-27 Eli Zaretskii <eliz@gnu.org>
3481
3482 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
3483
b003e5ff
JB
34842008-11-27 Juanma Barranquero <lekktu@gmail.com>
3485
3486 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
3487 pointer to check_face_name.
3488
708550f5
KH
34892008-11-27 Kenichi Handa <handa@m17n.org>
3490
3491 * category.h (SET_CATEGORY_SET): Call set_category_set.
3492 (set_category_set): Extern it.
3493
3494 * category.c (hash_get_category_set): New function.
3495 (Fmodify_category_entry): Adjusted for the change of
3496 char_table_ref_and_range. Call hash_get_category_set to get a
3497 category set to store in the table.
3498
3499 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
3500 Funify_charset.
3501
2ae37cf0 3502 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
3503 (DECODE_CHAR): Check if the decoder vector is ready.
3504 (ENCODE_CHAR): Check if the encoder char-table is ready.
3505 (maybe_unify_char): Extern it.
3506
3507 * charset.c (Vchar_unified_charset_table): Delete it.
3508 (inhibit_load_charset_map): New variable.
3509 (temp_charset_work): New variable.
3510 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
3511 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
3512 New macros.
3513 (load_charset_map): Meaning of control_flag changed. If
3514 inhibit_load_charset_map is nonzero, setup a table in
3515 temp_charset_work.
3516 (load_charset): New argument control_flag.
3517 (map_charset_for_dump): New function.
3518 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
3519 map_charset_for_dump.
3520 (Fdefine_charset_internal): If the charset method is MAP, load
3521 mapping tables by calling load_charset.
3522 (Funify_charset): Don't load a mapping table but directly set
3523 Vchar_unify_table.
3524 (maybe_unify_char): New function.
3525 (decode_char): Don't handle the deleted method MAP_DEFERRED.
3526 Handle the case of inhibit_load_charset_map being nonzero.
3527 (encode_char): Don't handle the deleted method MAP_DEFERRED.
3528 Handle the case of inhibit_load_charset_map being nonzero.
3529 (Fclear_charset_maps): Just free temp_charset_work.
3530 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
3531 variable.
3532
3533 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
3534 change of char_table_ref_and_range.
3535 (char_table_ref_and_range): Change the meaning of argument FROM
3536 and TO. Now the caller must provide initial values for *FROM
3537 and *TO.
3538
3539 * fontset.c (fontset_add): Adjusted for the change of
3540 char_table_ref_and_range.
3541 (fontset_get_font_group): Likewise.
3542 (Ffontset_info): Likewise.
3543
3544 * keymap.c (describe_vector): Adjusted for the change of
3545 char_table_ref_and_range. For char-table, put boundary between
3546 non-ASCII and 8-bit characters.
3547
3548 * print.c (print_object): For bool-vector, delete unnecessary
3549 check of ASCII_BYTE_P.
3550
9196133b
JR
35512008-11-26 Jason Rumney <jasonr@gnu.org>
3552
3553 * w32font.c (w32font_open_internal): Don't include external
9acef61c 3554 leading in font height. (Bug#879)
9196133b 3555
9f688acf
GM
35562008-11-26 Glenn Morris <rgm@gnu.org>
3557
3558 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
3559 redefinition with ifdef. (Bug#1383)
3560
90d19aff
AR
35612008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3562
3563 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
3564
4ccfa1c0 35652008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
3566
3567 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
3568 New EmacsView methods.
3569 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
3570 Fixes bug #1048,1357,1414.
3571
35722008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3573
3574 Fix bug #1362.
3575 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
3576 is not an indexed color.
3577 * nsterm.m (free_indexed_color): Add argument checking.
3578 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
3579
e7d5ecb3
CY
35802008-11-24 Chong Yidong <cyd@stupidchicken.com>
3581
3582 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
3583 Document confirm-after-completion value for
3584 minibuffer-completion-confirm.
3585
c285743c
JR
35862008-11-24 Jason Rumney <jasonr@gnu.org>
3587
3588 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
3589 warning.
3590
b0857706
JR
35912008-11-23 Jason Rumney <jasonr@gnu.org>
3592
3593 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
3594 restored before returning.
3595
3596 * w32font.c (check_face_name): New function.
3597 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 3598 fonts. (Bug#642)
b0857706 3599
ee50ff07
MR
36002008-11-22 Martin Rudalics <rudalics@gmx.at>
3601
3602 * buffer.c (Fswitch_to_buffer): Reword and mention new option
3603 confirm-nonexistent-file-or-buffer in doc-string.
3604
b8ff72fa
SM
36052008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
3606
3607 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
3608 Fix copy/paste typo. Add checks.
3609
cee53ed4
KH
36102008-11-21 Kenichi Handa <handa@m17n.org>
3611
3612 * coding.c (detect_coding_iso_2022): Reject invalid composition
3613 sequence.
3614 (DECODE_COMPOSITION_START): If the current source is the last
3615 block, and the current composition doesn't end, regard this
3616 sequence as invalid.
3617 (decode_coding_iso_2022): Handle invalid composition sequence.
3618
f6ef1e65
MR
36192008-11-20 Martin Rudalics <rudalics@gmx.at>
3620
3621 * window.c (coordinates_in_window): Don't return
3622 ON_VERTICAL_BORDER for the rightmost position of a mode/header
3623 line when the window is not the rightmost one. (Bug#1372)
3624
e08b1705
MR
36252008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
3626
3627 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
3628
ad98e89f
EZ
36292008-11-15 Eli Zaretskii <eliz@gnu.org>
3630
3631 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
3632 and bright_bg if noninteractive is non-zero.
3633
fb098a4b
CY
36342008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3635
3636 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
3637 x_draw_glyph_string_background.
3638
3639 * w32term.c (x_draw_glyph_string): Likewise.
3640
ce952b6e
CY
36412008-11-15 Chong Yidong <cyd@stupidchicken.com>
3642
3643 * xterm.c (x_draw_glyph_string): Stop drawing the background of
3644 the next glyph string once past the overhang width.
3645
3646 * nsterm.m (ns_draw_glyph_string): Likewise.
3647
3648 * w32term.c (x_draw_glyph_string): Likewise.
3649
26ea7079
CY
36502008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
3651
3652 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
3653 double file close.
3654
1c33c906
MR
36552008-11-14 Martin Rudalics <rudalics@gmx.at>
3656
3657 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
3658 dedicated status of window before attempting to display another
3659 buffer in it.
3660
8fc29035
JB
36612008-11-14 Juanma Barranquero <lekktu@gmail.com>
3662
3663 * msdos.c (Fmsdos_long_file_names):
3664 (syms_of_msdos) <dos-unsupported-char-glyph>:
3665 * dosfns.c (Fint86): Fix typos in docstrings.
3666
55fb4286
EZ
36672008-11-14 Eli Zaretskii <eliz@gnu.org>
3668
3669 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
3670
3fda0315
KY
36712008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
3672
3673 * puresize.h (BASE_PURESIZE): Increase to 1260000.
3674
7e849c17
CY
36752008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
3676
3677 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
3678
3679 * frame.h: Negative alpha means "don't touch".
3680
3681 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
3682
3683 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
3684
b9fd67bd
DN
36852008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
3686
3687 * hftctl.c:
3688 * chpdef.h:
3689 * acldef.h: Remove files used only for systems no longer supported.
3690
3691 * Makefile.in: Fix .o alphabetical ordering.
3692 (hftctl.o): Remove dependency, file removed.
3693 (keymap.o, print.o): Depend on charset.h.
3694
d5998e03
KH
36952008-11-10 Kenichi Handa <handa@m17n.org>
3696
2ae37cf0 3697 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 3698
be70e183
CY
36992008-11-08 Chong Yidong <cyd@stupidchicken.com>
3700
3701 * dired.c (file_name_completion): If completion_ignore_case is
3702 enabled, ignore case when checking completion-regexp-list.
3703
7cf94eac
EZ
37042008-11-08 Eli Zaretskii <eliz@gnu.org>
3705
3706 * vm-limit.c (get_lim_data): Fix last change.
3707
ee107a89
KH
37082008-11-08 Kenichi Handa <handa@m17n.org>
3709
3710 * character.c (Fget_byte): New function.
3711 (syms_of_character): Defsubr Fget_byte.
3712
5fd15622
CY
37132008-11-07 Chong Yidong <cyd@stupidchicken.com>
3714
3715 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
3716 cursor position is valid after scrolling.
3717
13d62fad
JB
37182008-11-06 Juanma Barranquero <lekktu@gmail.com>
3719
3720 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
3721
a1dd2936
GM
37222008-11-06 Glenn Morris <rgm@gnu.org>
3723
3724 * xterm.c (handle_one_xevent): Don't let popup menus cause
3725 mouse-autoselect-window related window switching. (Bug#1261)
3726
860cd236
CY
37272008-11-04 David Smith <davidsmith@acm.org> (tiny change)
3728
3729 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
3730
653a3150
AS
37312008-11-04 Andreas Schwab <schwab@suse.de>
3732
3733 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
3734
870f5cac
CY
37352008-11-03 Chong Yidong <cyd@stupidchicken.com>
3736
3737 * xfns.c (Fx_wm_set_size_hint): New function.
3738
1e02f3cb
MR
37392008-11-03 Martin Rudalics <rudalics@gmx.at>
3740
3741 * textprop.c (Fprevious_single_char_property_change): Return 0
3742 when there's no change in a string. (Bug#1301)
3743
e630dfc6
MR
37442008-11-02 Martin Rudalics <rudalics@gmx.at>
3745
3746 * frame.c (do_switch_frame): New argument NORECORD passed to
3747 Fselect_window.
3748 (Fselect_frame): New argument NORECORD passed to
3749 do_switch_frame.
3750 (Fset_frame_selected_window): New argument NORECORD passed to
3751 Fselect_frame.
3752 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
3753 in call of do_switch_frame.
3754 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
3755 Handle NORECORD argument in call of Fselect_frame.
3756 * lisp.h (do_switch_frame, Fselect_frame)
3757 (Fset_frame_selected_window): Adjust declarations.
3758 * window.c (select_frame_norecord): New function.
3759 (run_window_configuration_change_hook): Use it and call
3760 Fselect_frame with NORECORD set.
3761 (Fselect_window): Pass NORECORD to Fselect_frame.
3762 (Fset_window_configuration): Handle NORECORD argument in call of
3763 do_switch_frame.
3764 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
3765 Fset_frame_selected_window.
3766 * keyboard.c (command_loop_1): Handle NORECORD in call of
3767 Fselect_frame (currently ifdefd).
3768
9020b223
GM
37692008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
3770
3771 * emacs.c (USAGE2): Untabify.
3772
793ffee8
SM
37732008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
3774
3775 * composite.c (fill_gstring_header): Fix copy/paste typo.
3776
ab6d1131
MR
37772008-10-31 Martin Rudalics <rudalics@gmx.at>
3778
3779 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
3780 (Fother_window): Rename argument and rewrite doc-string.
3781 (select_window_norecord): Fix return value. (Bug#1276)
3782
601a9cf1
JB
37832008-10-30 Juanma Barranquero <lekktu@gmail.com>
3784
3785 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
3786 new frames overriding foreground for tooltips. Based on similar patch
3787 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
3788
813b0652
CY
37892008-10-29 Chong Yidong <cyd@stupidchicken.com>
3790
3791 * emacs.c (Fdaemon_initialized): Initialize nfd.
3792
4414f58f
MR
37932008-10-29 Martin Rudalics <rudalics@gmx.at>
3794
3795 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
3796 (Fwindow_text_height): Clarify doc-strings.
3797 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
3798 doc-string of window-scroll-functions.
3799
ecdcaa09
RS
38002008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
3801
3802 * category.c (syms_of_category): Fix typo in docstring.
3803
23fe745a
JB
38042008-10-28 Juanma Barranquero <lekktu@gmail.com>
3805
3806 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
3807 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
3808 Fix typos in docstrings.
3809
ff808935
DN
38102008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
3811
3812 * emacs.c (daemon_pipe): Make non-static.
3813 (IS_DAEMON): Move definition ...
3814 * lisp.h (IS_DAEMON): ... here.
3815 (daemon_pipe): Declare.
3816 (is_daemon): Remove.
3817 * dispnew.c (init_display): Use IS_DAEMON.
3818
fc012771
SM
38192008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
3820
3821 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
3822 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
3823
3824 * emacs.c (is_daemon): Remove.
3825 (main): Don't set is_daemon.
3826 (IS_DAEMON): New macro.
3827 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 3828 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
3829 parent exits.
3830 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
3831
d8bdbe6f
CY
38322008-10-27 Chong Yidong <cyd@stupidchicken.com>
3833
d1a072bf
CY
3834 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
3835 over-sized glyph, draw it with the default glyph width.
3836
e2e325aa
CY
3837 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
3838 glyph, draw it with the default glyph width.
3839
3840 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
3841 glyph, draw it with the default glyph width.
3842
d8bdbe6f
CY
3843 * xdisp.c (try_scrolling): When computing the distance from the
3844 scroll margin to PT, try moving some distance past the window
3845 bottom before giving up.
3846
7bfac547
MR
38472008-10-27 Martin Rudalics <rudalics@gmx.at>
3848
3849 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
3850 (Fset_window_buffer): Explain in doc-string that a window can be
3851 "strongly" dedicated to its buffer.
3852
4ff029f6
DN
38532008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
3854
3855 * emacs.c (daemon_name): New variable.
3856 (main): Deal with --daemon=SERVER_NAME.
3857 (Fdaemonp): Return a name if one was passed to --daemon.
3858
5790ef40
DN
38592008-10-26 Romain Francoise <romain@orebokech.com>
3860
f9bd0df9 3861 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
3862 (main): Create a pipe before forking, make the parent exit only after
3863 the child has closed its end of the pipe. Move closing the
3864 descriptors ...
3865 (Fdaemon_initialized): ... here. New function.
3866
f5385255
SM
38672008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
3868
4d632321
SM
3869 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
3870 the previous unoptimized table.
3871
f5385255
SM
3872 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
3873 the distinction between non-nil and non-t value of `dedicated'.
3874
6c56a0f3
CY
38752008-10-25 Chong Yidong <cyd@stupidchicken.com>
3876
3877 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 3878 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 3879
fec89261
MR
38802008-10-25 Martin Rudalics <rudalics@gmx.at>
3881
3882 * window.c (Fget_buffer_window, Fdelete_windows_on)
3883 (Freplace_buffer_in_windows): Make buffer argument optional and
3884 rename to buffer_or_name.
3885
34fcddd0
CY
38862008-10-24 Chong Yidong <cyd@stupidchicken.com>
3887
f5385255
SM
3888 * xdisp.c (handle_single_display_spec, handle_display_prop):
3889 Undo 2005-05-16 change.
34fcddd0
CY
3890 (handle_stop): Pop iterator if it's loaded with an empty string.
3891 (get_overlay_strings_1): Don't save iterator if it's loaded with
3892 an empty string (bug#1201).
3893
064766f2
KH
38942008-10-24 Kenichi Handa <handa@m17n.org>
3895
3896 * ftfont.c (ftfont_otf_features): Fix previous change.
3897 (ftfont_otf_capability): Check FeatureList.FeatureCount before
3898 calling ftfont_otf_features.
3899
f9bd0df9 39002008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
3901
3902 * font.c (font_match_p): Fix for the case that a vector of
3903 characters is in script-representative-chars.
3904
1dae9197
MA
39052008-10-24 Michael Albinus <michael.albinus@gmx.de>
3906
3907 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 3908 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
3909 (xd_read_queued_messages): Catch Qdbus_error from the macros.
3910 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
3911 macro. (Bug#1186).
3912
f9bd0df9 39132008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
3914
3915 * s/sol2-10.h: New file.
3916
878a4584
JB
39172008-10-23 Juanma Barranquero <lekktu@gmail.com>
3918
3919 * xdisp.c (fill_glyph_string): Fix typo in source (though the
3920 poor beast has survived 9+ years and the jump from xterm.c!).
3921
cd265ca6
MR
39222008-10-23 Martin Rudalics <rudalics@gmx.at>
3923
3924 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
3925 Reword doc-string.
f5385255 3926 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 3927
472a4dc9
JB
39282008-10-23 Juanma Barranquero <lekktu@gmail.com>
3929
3930 * character.c (syms_of_character) <script-representative-chars>:
3931 <unicode-category-table>: Doc fixes.
3932
159bd5a2
NF
39332008-10-23 Noah Friedman <friedman@splode.com>
3934
3935 * coding.c (make_conversion_work_buffer): Check that
3936 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
3937 Fget_buffer_create.
3938
49f9c344
KH
39392008-10-23 Kenichi Handa <handa@m17n.org>
3940
3941 * font.c (font_add_log): Check the values of extra properties.
3942
12bb3111
MR
39432008-10-22 Martin Rudalics <rudalics@gmx.at>
3944
3945 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
3946 Reword doc-string.
3947 (Fset_window_parameter): Use NILP.
3948 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 3949 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 3950
bbeb4e99
JB
39512008-10-22 Juanma Barranquero <lekktu@gmail.com>
3952
3953 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
3954
39552008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
3956
3957 * nsfns.m (ns_appkit_version): New function.
3958 (x-server-version): Use it.
3959 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
3960 (x-server-vendor): Don't check_ns().
3961
3962 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
3963
a9b555d3
JB
39642008-10-22 Juanma Barranquero <lekktu@gmail.com>
3965
3966 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
3967 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
3968
4626499f
KH
39692008-10-22 Kenichi Handa <handa@m17n.org>
3970
e3681952
KH
3971 * syntax.c (scan_words): Call word_boundary_p instead of comparing
3972 scripts.
3973
4626499f
KH
3974 * category.c (word_boundary_p): Check scripts instead of charset.
3975 Handle nil value in word-separating-categories and
3976 word-combining-categories.
3977 (syms_of_category): Fix docstrings of word-separating-categories
3978 and word-combining-categories.
3979
1560f91a
EZ
39802008-10-21 Eli Zaretskii <eliz@gnu.org>
3981
3982 * coding.c (Fencode_coding_region, Fdecode_coding_region)
3983 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
3984
f4668441
MR
39852008-10-21 Martin Rudalics <rudalics@gmx.at>
3986
3987 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
3988 Rename arg "buffer" to "buffer_or_name".
3989 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
3990 it optional.
3991 (no_switch_window): Remove since the return value is not used.
a9b555d3 3992 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
3993 Consider window as dedicated when Fwindow_dedicated_p returns a
3994 non-nil value.
3995 * lisp.h: Remove prototype for no_switch_window.
3996
fd75ddb2
JD
39972008-10-21 Jan Djärv <jan.h.d@swipnet.se>
3998
3999 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 4000 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 4001
07295713
KH
40022008-10-21 Kenichi Handa <handa@m17n.org>
4003
4004 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
4005 check Vlatin_extra_code_table.
4006
712adc82
EZ
40072008-10-20 Eli Zaretskii <eliz@gnu.org>
4008
4009 * fileio.c (Fset_file_modes): Doc fix.
4010
f549eb0b
MA
40112008-10-19 Michael Albinus <michael.albinus@gmx.de>
4012
4013 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
4014 in arrays.
4015
aac0c6e3
MR
40162008-10-19 Martin Rudalics <rudalics@gmx.at>
4017
4018 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
4019 Mention kill-buffer in doc-string.
4020 (Fset_window_buffer): Reinsert tem check removed in last commit.
4021 (Fenlarge_window, Fshrink_window): Have argument names and
4022 doc-string follow Elisp manual more closely.
4023
40242008-10-18 Eli Zaretskii <eliz@gnu.org>
4025
4026 * fileio.c (Fset_file_modes): Doc fix.
4027
40282008-10-18 Martin Rudalics <rudalics@gmx.at>
4029
4030 * window.c (Fwindow_width, Fset_window_start)
4031 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
4032 (Fdelete_windows_on, Freplace_buffer_in_windows):
4033 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
4034 (Fwindow_dedicated_p): Make window argument optional.
4035 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
4036 (Fset_window_buffer): Respect any non-nil dedicated value for
4037 window. Rename "buffer" argument to "buffer_or_name".
4038
40392008-10-18 Ulrich Mueller <ulm@gentoo.org>
4040
4041 * m/sh3.h: New file, machine description for SuperH.
4042
40432008-10-17 Martin Rudalics <rudalics@gmx.at>
4044
4045 * window.c (Fsplit_window): Rename arg horflag to horizontal.
4046
40472008-10-17 Kenichi Handa <handa@m17n.org>
4048
4049 * ftfont.c (ftfont_otf_features): Fix indexing
4050 gsub_gpos->FeatureList.Feature. Check the validity of indices.
4051
40522008-10-16 Magnus Henoch <mange@freemail.hu>
4053
4054 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
4055 (Fdbus_call_method_asynchronously): Ditto.
4056 This change makes C-h f display the argument list.
4057
40582008-10-16 Chong Yidong <cyd@stupidchicken.com>
4059
4060 * fileio.c (Fexpand_file_name): Doc fix.
4061
4062 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
4063 of :foreground and :background equivalent to unspecified (20.x
4064 compatibility).
4065
40662008-10-15 Eli Zaretskii <eliz@gnu.org>
4067
4068 * buffer.c (syms_of_buffer): Doc fix.
4069
40702008-10-14 Kenichi Handa <handa@m17n.org>
4071
4072 * font.c (font_clear_prop): When clearing font width, clear the
4073 average width field too.
4074
40752008-10-12 Andreas Schwab <schwab@suse.de>
4076
4077 * ftfont.c (ftfont_shape_by_flt): Make static.
4078 * ftfont.h (ftfont_shape_by_flt): Don't declare.
4079
4080 * font.c: Don't include <m17n-flt.h>.
4081
40822008-10-10 Eli Zaretskii <eliz@gnu.org>
4083
4084 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
4085
40862008-10-09 Eli Zaretskii <eliz@gnu.org>
4087
4088 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
4089 away code.
4090
40912008-10-09 Chong Yidong <cyd@stupidchicken.com>
4092
4093 * dispnew.c (update_text_area): Avoid looping due to large glyph
4094 overhangs (bug#1070).
4095
40962008-10-09 Kenichi Handa <handa@m17n.org>
4097
4098 * fontset.c (face_for_char): If face->fontset is negative, just
4099 return ascii_face.
4100
f5385255
SM
4101 * font.c (font_delete_unmatched): Fix previous change.
4102 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
4103
41042008-10-09 Martin Rudalics <rudalics@gmx.at>
4105
4106 * frame.c (Fraise_frame): On text-only terminals select frame in
4107 order to make it visible. (Bug#1061)
4108
41092008-10-08 Chong Yidong <cyd@stupidchicken.com>
4110
4111 * fontset.c (fontset_find_font): Check frame validity.
4112
41132008-10-07 Chong Yidong <cyd@stupidchicken.com>
4114
a9b555d3 4115 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
4116 (xg_display_close): Allow Emacs to close all displays (bug#985).
4117
41182008-10-06 Andreas Schwab <schwab@suse.de>
4119
f5385255 4120 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
4121
41222008-10-06 Chong Yidong <cyd@stupidchicken.com>
4123
f5385255 4124 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 4125
a9b555d3 4126 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
4127
4128 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
4129 during initialization.
4130
41312008-10-04 Eli Zaretskii <eliz@gnu.org>
4132
4133 * xdisp.c (redisplay_internal): If frame switched, redisplay the
4134 whole thing on MSDOS frames as well as on a TTY.
4135
4136 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
4137 well as for TTY.
4138 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
4139 well as on a TTY.
4140
4141 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
4142 as well as for TTY.
4143
4144 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
4145
4146 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
4147 MSDOS frames as well.
4148
41492008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4150
4151 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
4152 correct arguments.
b71ac3dd 4153 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
4154
41552008-10-03 Glenn Morris <rgm@gnu.org>
4156
4157 * emacs.c (USAGE1): Add --daemon.
4158
41592008-10-02 Eli Zaretskii <eliz@gnu.org>
4160
4161 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
4162 100, so it's in percents as advertised.
4163
41642008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4165
4166 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
4167 (ns_output.current_cursor, ns_output.desired_cursor)
4168 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
4169 (FRAME_NEW_CURSOR_COLOR): Remove.
4170
4171 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 4172 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
4173 enumeration (HOLLOW_BOX_CURSOR, etc.).
4174
4175 * nsterm.m (ns_frame_rehighlight): Remove commented code.
4176 (draw_window_cursor): Simplify code.
f5385255
SM
4177 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
4178 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 4179 updates manually.
a9b555d3
JB
4180 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
4181 Use core Emacs cursor types.
aac0c6e3 4182
b8ff72fa 4183 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
4184
41852008-10-02 Martin Rudalics <rudalics@gmx.at>
4186
4187 * process.c (Faccept_process_output): Fix doc-string.
4188
41892008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
4190
4191 * gmalloc.c (__sbrk): Also define for uClibc.
4192
4193 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
4194 for uClibc.
4195
41962008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4197
4198 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
4199 styles.
4200 (nsfont_open): Reenable the cache.
4201
42022008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4203
4204 * font.c (font_matching_entity): Reflect ATTRS in font selection.
4205 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
4206
42072008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
4208
4209 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
4210 a suspended terminal.
4211
42122008-09-30 Michael Albinus <michael.albinus@gmx.de>
4213
4214 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
4215
42162008-09-30 Eli Zaretskii <eliz@gnu.org>
4217
4218 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
4219
42202008-09-30 Chong Yidong <cyd@stupidchicken.com>
4221
4222 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
4223 in a continued line coincides with a line beginning.
4224
42252008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
4226
4227 * nsfont.m (nsfont_trait_distance): Fix bug.
4228 (nsfont_list): Return a list rather than a vector (syncs with Handa
4229 changes of 2008-05-14).
4230 (nsfont_open): Improve logging.
4231
42322008-09-29 Andreas Schwab <schwab@suse.de>
4233
4234 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
4235
42362008-09-28 Martin Rudalics <rudalics@gmx.at>
4237
4238 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
4239 name as char-resolve-modifiers.
4240 Reported by: Markus Triska <markus.triska@gmx.at>
4241
42422008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
4243
4244 * dispnew.c (init_display): Return earlier when running as a daemon.
4245
42462008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4247
4248 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
4249
42502008-09-27 Eli Zaretskii <eliz@gnu.org>
4251
4252 * composite.c (Fcomposition_get_gstring)
4253 (Fcompose_region_internal, Fcompose_string_internal)
4254 (Ffind_composition_internal): Doc fix.
4255 (syms_of_composite) <compose-chars-after-function>: Doc fix.
4256 (syms_of_composite) <auto-composition-function>: Doc fix.
4257 (syms_of_composite) <composition-function-table>: Doc fix.
4258
42592008-09-25 Chong Yidong <cyd@stupidchicken.com>
4260
4261 * search.c (wordify): New argument for lax word-ends.
4262 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
4263
42642008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
4265
4266 * lisp.h (is_daemon): Declare.
4267 * dispnew.c (init_display): Do not try to initialize the terminal
4268 when running as a daemon.
4269
42702008-09-22 Chong Yidong <cyd@stupidchicken.com>
4271
4272 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
4273 x_display_pixel_height.
4274
42752008-09-22 Martin Rudalics <rudalics@gmx.at>
4276
4277 * undo.c (record_point): Don't call Fundo_boundary for first
4278 change. (Bug#731)
4279
42802008-09-22 Juanma Barranquero <lekktu@gmail.com>
4281
4282 * emacs.c (Fdaemonp): Doc fix.
4283
42842008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
4285
4286 * emacs.c (main): Place #ifdef in the proper place.
4287
42882008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
4289
4290 * emacs.c (standard_args): Add --daemon.
4291 (main): Disconnect from the terminal when --daemon is passed.
4292 (is_daemon): New variable.
4293 (Fdaemonp): New function.
4294 (syms_of_emacs): Defsubr it.
4295
42962008-09-20 Chong Yidong <cyd@stupidchicken.com>
4297
4298 * xdisp.c (get_next_display_element): Handle string display
4299 correctly when checking for the end of a box run.
4300
43012008-09-20 Glenn Morris <rgm@gnu.org>
4302
4303 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
4304 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
4305 (Frename_file): Avoid copying to trash if a rename involves
4306 a delete. (Bug#964).
4307
43082008-09-20 Eli Zaretskii <eliz@gnu.org>
4309
4310 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
4311 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
4312 frames as well as termcap frames.
4313 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
4314 get_named_tty.
4315
43162008-09-19 Eli Zaretskii <eliz@gnu.org>
4317
4318 * process.c (procfs_system_process_attributes): Fix cmdline in
4319 case /proc/PID/cmdline is empty.
4320
4321 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
4322 x_display_pixel_height.
4323
43242008-09-19 Juanma Barranquero <lekktu@gmail.com>
4325
4326 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
4327
4328 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
4329 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
4330
43312008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
4332
4333 * dispextern.h (struct it): Move line_wrap away from the middle of
4334 bitfields. Move voffset in struct iterator_stack_entry after the
4335 bitfields. Move tab_width near after another short.
4336
43372008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
4338
4339 * frame.h (struct frame): Move alpha from the middle of bitfields.
4340
4341 * window.h (struct window): Move frozen_window_start_p after the
4342 rest of the bitfields to reduce padding.
4343
43442008-09-18 Chong Yidong <cyd@stupidchicken.com>
4345
4346 * xterm.h (x_display_info): Remove `height' and `width' members.
4347
4348 * nsterm.h (ns_display_info): Remove `height' and `width' members.
4349
4350 * w32term.h (w32_display_info): Remove `height', `width',
4351 `height_in', and `width_in' members.
4352
b8ff72fa
SM
4353 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4354 New functions.
aac0c6e3
MR
4355 (x_calc_absolute_position): Use them.
4356 (x_term_init): Omit removed `height' and `width' members.
4357
b8ff72fa
SM
4358 * w32term.c (x_display_pixel_height, x_display_pixel_width):
4359 New functions.
aac0c6e3
MR
4360 (w32_read_socket, x_calc_absolute_position): Use them.
4361 (w32_initialize_display_info, w32_term_init): Omit removed members
4362 of w32_display_info.
4363
b8ff72fa
SM
4364 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
4365 New functions.
4366 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 4367
b8ff72fa
SM
4368 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4369 New functions.
aac0c6e3
MR
4370 (x_calc_absolute_position): Use them.
4371 (x_term_init): Omit removed `height' and `width' members.
4372
4373 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
4374 (compute_tip_xy):
4375 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
4376 * xmenu.c (menu_position_func): Use x_display_pixel_height and
4377 x_display_pixel_width.
4378
43792008-09-18 Kenichi Handa <handa@m17n.org>
4380
4381 * composite.c (fill_gstring_header): Don't check FROM and TO here.
4382 (composition_compute_stop_pos): Fix handling of static composition.
4383 (Fcomposition_get_gstring): Check FROM and TO at first.
4384
43852008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
4386
46e722a9 4387 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
4388 mixup (YAILOM).
4389
43902008-09-17 Chong Yidong <cyd@stupidchicken.com>
4391
4392 * indent.c (Fvertical_motion): Use position reported by iterator
4393 instead of PT for determining screen motion (bug#943).
4394
43952008-09-17 Romain Francoise <romain@orebokech.com>
4396
4397 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
4398
43992008-09-17 Kenichi Handa <handa@m17n.org>
4400
4401 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
4402
4403 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
4404 if necessary.
4405
44062008-09-16 Kenichi Handa <handa@m17n.org>
4407
4408 * coding.c (make_conversion_work_buffer): Avoid calling
4409 Fget_buffer_create if it is not necessary.
4410
44112008-09-15 Martin Rudalics <rudalics@gmx.at>
4412
4413 * window.c (Fselect_window): Don't update window_select_count and
4414 use_time when norecord is not nil.
4415
44162008-09-14 Kenichi Handa <handa@m17n.org>
4417
4418 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
4419 specpdl_ptr.
4420
44212008-09-12 Kenichi Handa <handa@m17n.org>
4422
4423 * indent.c (scan_for_column): Don't handle automatic composition
4424 if the current buffer is not associated with a window.
4425
4426 * composite.c (composition_reseat_it): If the current buffer is
4427 not associated with a window, ignore the automatic composition.
4428 (find_automatic_composition): Likewise.
4429
44302008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
4431
4432 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
4433 (Fgpm_mouse_stop): Use it.
4434 * termhooks.h (close_gpm): Declare.
4435 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
4436 connection if Gpm_GetEvent fails.
4437
4438 * window.c (set_window_buffer): Always preserve current-buffer.
4439
44402008-09-12 Glenn Morris <rgm@gnu.org>
4441
4442 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
4443
44442008-09-11 Glenn Morris <rgm@gnu.org>
4445
4446 * charset.c (charset-map-path): Doc fix.
4447
44482008-09-10 Kenichi Handa <handa@m17n.org>
4449
4450 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
4451
4452 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
4453 compose a grapheme cluster with the preceding base glyph.
4454
4455 * composite.c (composition_compute_stop_pos): Fix previous change.
4456 Reset cmp_it->id to -1 at first.
4457
44582008-09-10 Glenn Morris <rgm@gnu.org>
4459
4460 * Makefile.in (character.o, chartab.o): Fix config.h typo.
4461
44622008-09-09 Chong Yidong <cyd@stupidchicken.com>
4463
4464 * keyboard.c (read_key_sequence): Reapply translation maps when
4465 switching keyboards.
4466
44672008-09-09 Kenichi Handa <handa@m17n.org>
4468
4469 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
4470 characters.
4471
4472 * composite.c (FORWARD_CHAR): Fix calculation
4473 of (POSITION).pos_byte.
4474 (composition_compute_stop_pos): Limit the search of composition to
4475 at most 500 characters ahead. If we reach the limit or find a
4476 newline, set cmp_it->ch to -2 and return 0.
4477 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
4478
44792008-09-08 Kenichi Handa <handa@m17n.org>
4480
4481 * indent.c (Fvertical_motion): Be sure to set
4482 it_overshoot_expected if it.cmp_it.id is non-negative.
4483
44842008-09-07 Andreas Schwab <schwab@suse.de>
4485
4486 * callproc.c (Fcall_process): Don't hold references to string data
4487 across garbage collection. Move initialisation of new_argv down
4488 to avoid compiler bug.
4489
44902008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4491
4492 * process.c (Fsystem_process_attributes): Doc fix.
4493
44942008-09-07 Chong Yidong <cyd@stupidchicken.com>
4495
4496 * callproc.c (Fcall_process): Canonicalize current directory name.
4497
4498 * xdisp.c (move_it_to): When moving by vpos, ensure that the
4499 iterator advances to the next line if the current line ends in a
4500 continued tab.
4501
45022008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
4503
4504 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
4505 member to point to cmp_from.
4506
4507 * xdisp.c: Doc fix for references to gidx data member.
4508
45092008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
4510
4511 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
4512
45132008-09-07 Kenichi Handa <handa@m17n.org>
4514
4515 * composite.c (FORWARD_CHAR): Check STOP after
4516 incrementing (POSITION).pos.
4517
45182008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4519
4520 * process.c (Fsystem_process_attributes): Doc fix.
4521
45222008-09-06 Chong Yidong <cyd@stupidchicken.com>
4523
4524 * keyboard.c (Ftop_level): Doc fix.
4525
45262008-09-06 Eli Zaretskii <eliz@gnu.org>
4527
4528 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
4529 minibuffer, don't let lower part of menu invade the echo area.
4530
4531 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
4532 "char *q" to access menu text and advance through it. Revert the
4533 change that displayed ">" instead of ASCII character 0x10.
4534
45352008-09-05 Eli Zaretskii <eliz@gnu.org>
4536
4537 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
4538 toggle boxes and radio buttons on MS-DOS as well.
4539
45402008-09-05 Kenichi Handa <handa@m17n.org>
4541
4542 * composite.c (autocmp_chars): Check lookback count.
4543 (composition_compute_stop_pos): Set cmp_it->lookback.
4544 (composition_reseat_it): Check lookback count.
4545 (struct position_record): New struct.
4546 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
4547 (find_automatic_composition): New function.
4548 (composition_adjust_point): Use find_automatic_composition.
4549
4550 * dispextern.h (struct composition_it): New member lookback.
4551
45522008-09-02 Chong Yidong <cyd@stupidchicken.com>
4553
4554 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
4555 if moving by a single line.
4556
45572008-09-02 Andreas Schwab <schwab@suse.de>
4558
4559 * xterm.c (x_delete_display): Fix merge error.
4560
4561 * fileio.c (Fexpand_file_name): Remove unused variables.
4562
45632008-09-02 Eli Zaretskii <eliz@gnu.org>
4564
4565 * fileio.c (Fexpand_file_name): Copy argument `name' into local
4566 storage on all platforms, not just on DOS_NT.
4567
45682008-09-02 Jason Rumney <jasonr@gnu.org>
4569
b8ff72fa
SM
4570 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
4571 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
4572
45732008-09-01 Chong Yidong <cyd@stupidchicken.com>
4574
4575 * xfaces.c (Finternal_set_alternative_font_family_alist)
4576 (Finternal_set_alternative_font_registry_alist): Properly copy
4577 entire alist structure.
4578
45792008-09-01 Kenichi Handa <handa@m17n.org>
4580
d66c0241 4581 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 4582 representative chars of the script is a vector.
d66c0241
JB
4583 (ftfont_list): Handle the case where the representative chars of
4584 the script is a vector.
aac0c6e3
MR
4585
4586 * character.c (syms_of_character): Docstring of
4587 script-representative-chars fixed.
4588
45892008-08-31 Eli Zaretskii <eliz@gnu.org>
4590
4591 * msdos.c (BUILD_CHAR_GLYPH): New macro.
4592 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
4593 the menu. Allocate larger buffer for `text', to account for
4594 possible ^C characters.
4595
45962008-08-31 Martin Rudalics <rudalics@gmx.at>
4597
4598 * xdisp.c (prepare_menu_bars): Don't call
4599 Vwindow_size_change_functions with arg Qt.
4600
46012008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
4602
4603 * font.h (font_range):
4604 * fileio.c (report_file_error):
46e722a9
SM
4605 * composite.c (composition_update_it): Yet another int/Lisp_Object
4606 mixup (YAILOM).
aac0c6e3
MR
4607
46082008-08-30 Glenn Morris <rgm@gnu.org>
4609
4610 * data.c (Fmake_variable_frame_local): Doc fix.
4611
4612 * frame.c (Fmodify_frame_parameters): Doc fix.
4613
46142008-08-30 Eli Zaretskii <eliz@gnu.org>
4615
4616 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
4617 needed by GetTokenInformation.
4618 (w32_system_process_attributes): Check return values of all system
4619 APIs.
4620
4621 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
4622 only when the state changes.
4623 (IT_update_begin, IT_update_end): Add termscript trace.
4624
4625 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
4626 clipboard is unavailable. Set dst to NULL if it doesn't point to
4627 malloc'ed data.
4628 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
4629 passing random values to xfree.
4630
4631 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 4632 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
4633
46342008-08-29 Jason Rumney <jasonr@gnu.org>
4635
4636 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
4637
46382008-08-29 Eli Zaretskii <eliz@gnu.org>
4639
4640 * composite.c (fill_gstring_body): Avoid compiler warnings.
4641
4642 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
4643 LGLYPH_SET_CODE to avoid compiler warnings.
4644
2ae37cf0 4645 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
4646
4647 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
4648
4649 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
4650 LGLYPH_SET_CODE.
4651
46522008-08-29 Kenichi Handa <handa@m17n.org>
4653
4654 * fileio.c (report_file_error): Don't downcase the first character
4655 of errstring if it is still unibyte.
4656
46572008-08-29 Kenichi Handa <handa@m17n.org>
4658
4659 These changes are to re-implement the automatic composition so
4660 that it doesn't use text properties.
4661
4662 * Makefile.in (ftfont.o): Depend on composite.h.
4663 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
4664
4665 * character.h (Vunicode_category_table): Extern it.
4666
4667 * character.c (Vunicode_category_table): New variable.
4668 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
4669
4670 * chartab.c (optimize_sub_char_table): Perform more greedy
4671 optimization.
4672
b8ff72fa
SM
4673 * composite.h (enum composition_method):
4674 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
4675 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
4676 (Vcomposition_function_table): Extern it.
4677 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
4678 (composition_gstring_put_cache, composition_gstring_from_id)
4679 (composition_gstring_p, composition_gstring_width)
4680 (composition_compute_stop_pos, composition_reseat_it)
4681 (composition_update_it, composition_adjust_point): Extern them.
4682 (Fcomposition_get_gstring): EXFUN it.
4683
d66c0241 4684 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
4685 (Vcomposition_function_table)
4686 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
4687 (gstring_hash_table, gstring_work, gstring_work_headers):
4688 New variables.
aac0c6e3
MR
4689 (gstring_lookup_cache, composition_gstring_put_cache)
4690 (composition_gstring_from_id, composition_gstring_p)
4691 (composition_gstring_width, fill_gstring_header)
4692 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
4693 (composition_reseat_it, composition_update_it)
b8ff72fa 4694 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
4695 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
4696 and gstring_work_headers. DEFVAR_LISP composition-function-table.
4697 Defsubr compostion_get_gstring.
4698
4699 * dispextern.h (struct glyph): New union u.cmp. Delete the member
4700 cmp_id.
4701 (struct glyph_string): Delete the member gidx. New members
4702 cmp_id, cmp_from, and cmp_to.
4703 (enum it_method): Delete GET_FROM_COMPOSITION.
4704 (struct composition_it): New struct.
4705 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
4706 Delete c, len, cmp_id, cmp_len in u.comp.
4707
4708 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 4709 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 4710 (enum lglyph_indices): Likewise.
b8ff72fa 4711 (font_range): Adjust extern.
aac0c6e3
MR
4712 (font_fill_lglyph_metrics): Extern it.
4713
4714 * font.c (QCf): New variable.
4715 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
4716 (font_prepare_composition): Delete this function.
4717 (font_range): Type and arguments changed.
4718 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
4719 (font_fill_lglyph_metrics): New function.
b8ff72fa 4720 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 4721 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
4722 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
4723 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
4724
4725 * fontset.h (font_for_char): Extern it.
4726
4727 * fontset.c (font_for_char): New function.
4728
4729 * ftfont.c: Include composite.h.
4730 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 4731 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
4732
4733 * indent.c: Include composite.h and dispextern.h.
4734 (check_composition): Delete this function.
4735 (scan_for_column): Handle composition by
4736 composition_compute_stop_pos, composition_reseat_it, and
4737 composition_update_it.
4738 (compute_motion): Likewise.
4739 (Fvertical_motion): Fix checking of composition.
4740
4741 * keyboard.c (adjust_point_for_property): Check composition by
4742 composition_adjust_point.
4743
b8ff72fa 4744 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
4745 struct glyph_string.
4746
b8ff72fa
SM
4747 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
4748 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
4749 struct glyph.
4750 (produce_composite_glyph): Likewise.
4751
b8ff72fa
SM
4752 * w32term.c (x_draw_composite_glyph_string_foreground):
4753 Adjust for the change of struct glyph_string.
aac0c6e3
MR
4754 (x_draw_glyph_string): Likewise.
4755
4756 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
4757 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
4758
4759 * xdisp.c: Include font.h.
4760 (it_props): Delete the entry for Qauto_composed.
4761 (init_iterator): Initialize it->cmp_it.id to -1.
4762 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 4763 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
4764 (handle_auto_composed_prop): Delete it.
4765 (handle_composition_prop): Handle only static composition.
4766 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
4767 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 4768 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
4769 (pop_it): Likewise.
4770 (get_next_element): Delete next_element_from_composition.
4771 (CHAR_COMPOSED_P): New macro.
4772 (get_next_display_element): For automatic composition, get a face
4773 from the font in the glyph-string.
4774 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 4775 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
4776 (next_element_from_string): Check if the character at the current
4777 position is composed by CHAR_COMPOSED_P.
4778 (next_element_from_buffer): Likewise.
d66c0241
JB
4779 (next_element_from_composition): Adjust for the change of struct it.
4780 Update it->cmp_it.
b8ff72fa
SM
4781 (dump_glyph): Adjust for the change of struct glyph.
4782 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
4783 it and struct glyph. Don't handle automatic composition here.
4784 (fill_gstring_glyph_string): New function.
4785 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 4786 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
4787 (BUILD_GSTRING_GLYPH_STRING): New macro.
4788 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
4789 automatic composition.
b8ff72fa 4790 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 4791 struct glyph.
b8ff72fa 4792 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 4793
b8ff72fa 4794 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
4795 the change of struct glyph_string.
4796 (x_draw_glyph_string): Likewise.
4797
47982008-08-29 Glenn Morris <rgm@gnu.org>
4799
4800 * buffer.c (word-wrap): Doc fix.
4801 * xdisp.c (truncate-partial-width-windows): Doc fix.
4802 Increase default to 50.
4803
48042008-08-29 Chong Yidong <cyd@stupidchicken.com>
4805
4806 * xdisp.c (update_tool_bar_unwind): New function.
4807 (update_tool_bar): Temporarily set selected frame before building
4808 tool-bar items.
4809
48102008-08-28 Michael Albinus <michael.albinus@gmx.de>
4811
4812 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
4813 snprintf, respectively.
4814 (xd_append_arg): Convert strings with Fstring_make_unibyte.
4815
48162008-08-28 Chong Yidong <cyd@stupidchicken.com>
4817
4818 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
4819 LDFLAGS to GNUstep CC invocation.
4820
48212008-08-27 Chong Yidong <cyd@stupidchicken.com>
4822
4823 * indent.c (Fvertical_motion): Revert last change. Handle the
4824 general case where we are moving forward, and PT spans multiple
4825 screen lines.
4826
4827 * eval.c (find_handler_clause): Temporarily increase
4828 max-lisp-eval-depth while printing the backtrace buffer, to
4829 guarantee that help-mode code can run.
4830
48312008-08-27 Eli Zaretskii <eliz@gnu.org>
4832
4833 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
4834 colors under -rv.
4835 (IT_set_frame_parameters): Don't swap foreground and background
4836 colors if `(reverse . t)' is present in the frame properties.
4837 (internal_terminal_init): Call init_frame_faces only for the
4838 initial frame.
4839
48402008-08-27 Andreas Schwab <schwab@suse.de>
4841
4842 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
4843
48442008-08-27 Andreas Schwab <schwab@suse.de>
4845
4846 * search.c (search_buffer): Set char_base to zero only at the end.
4847
48482008-08-27 Kenichi Handa <handa@m17n.org>
4849
b8ff72fa 4850 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
4851
48522008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
4853
4854 * xterm.c (x_term_init): Temporarily hide the partially
4855 initialized terminal while calling vendor-specific-keysyms.
4856
48572008-08-26 Eli Zaretskii <eliz@gnu.org>
4858
4859 * msdos.c (internal_terminal_init): Most initializations done only
4860 once, especially initial_screen_colors[] and termscript open.
4861
48622008-08-26 Chong Yidong <cyd@stupidchicken.com>
4863
4864 * eval.c (Fcondition_case): Doc fix.
4865
4866 * widgetprv.h (EmacsFramePart): Change font member to the new font
4867 struct.
4868
4869 * widget.c: Include character.h and font.h for XSETFONT.
4870 (setup_frame_gcs): Compute X font id from font struct, just once.
4871
48722008-08-26 Eli Zaretskii <eliz@gnu.org>
4873
4874 * term.c (get_named_tty): Fix last change.
4875
48762008-08-26 Chong Yidong <cyd@stupidchicken.com>
4877
4878 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 4879 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
4880
48812008-08-25 Eli Zaretskii <eliz@gnu.org>
4882
4883 * frame.c (do_switch_frame): Mark previously displayed frame as
4884 obscured for FRAME_MSDOS_P frames as well.
4885
48862008-08-24 Eli Zaretskii <eliz@gnu.org>
4887
4888 * frame.c (make_terminal_frame): Initialize f->terminal,
4889 f->terminal->reference_count, and scroll bars on MS-DOS as well.
4890 Set the top frame to newly created frame.
4891 (Fmake_terminal_frame): Reuse the_only_display_info.
4892
4893 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
4894 estimating available memory.
4895
b97439ce 48962008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
4897
4898 * nsterm.m (ns_draw_window_cursor): Don't call
4899 NSDisableScreenUpdates and NSEnableScreenUpdates on
4900 non-NS_IMPL_COCOA systems.
4901
49022008-08-23 Andreas Schwab <schwab@suse.de>
4903
4904 * process.c (procfs_system_process_attributes): Fix use of
4905 uninitialized variables.
4906
49072008-08-23 Eli Zaretskii <eliz@gnu.org>
4908
4909 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
4910
4911 * dispnew.c (init_display): Remove MS-DOS specific conditions for
4912 calling tty-set-up-initial-frame-faces.
4913
b8ff72fa
SM
4914 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
4915 Allow MSDOS frames along with X frames.
aac0c6e3
MR
4916
4917 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
4918 addition to output_termcap.
4919
4920 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
4921
4922 * termchar.h (FRAME_TTY): Support output_msdos_raw.
4923 (struct tty_display_info) [MSDOS]: Add fields related to mouse
4924 highlight.
4925
4926 * process.c [!subprocesses]: Define QCname.
4927 (syms_of_process): Intern and staticpro it.
4928
4929 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
4930 Adjust for changes in encoding/decoding routines.
4931 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
4932 encode_coding and decode_coding.
4933
b8ff72fa 4934 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
4935
4936 * dosfns.c: Include frame.h before termhooks.h.
4937 (dos_cleanup): Use CURTTY ()->termscript instead of a global
4938 variable termscript.
4939
4940 * s/msdos.h (USER_FULL_NAME): Define.
4941 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
4942
4943 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
4944 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
4945 pw->pw_gecos.
4946
4947 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
4948 SELECTED_FRAME as additional (1st) argument.
4949 (tty_read_avail_input): Handle output_msdos_raw in
4950 addition to output_termcap.
4951
4952 * msdos.c: Include frame.h before termhooks.h.
4953 (mouse_on, mouse_off, mouse_moveto, mouse_init)
4954 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
4955 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
4956 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
4957 (IT_set_terminal_modes, IT_reset_terminal_modes)
4958 (IT_set_frame_parameters): Use tty->termscript instead of a global
4959 variable termscript.
4960 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
4961 global variable terminal_coding. Don't refer to
4962 Vnonascii_translation_table.
4963 (internal_terminal_init): Set Vwindow_system in current_kboard.
4964 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
4965 Announce date and time of session start, if termscript is open.
4966 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
4967 term.c:init_tty). Open termscript only of not already open.
4968 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
4969 here instead of dos_ttraw. Don't initialize display if this is an
4970 initial tty. Don't set FRAME_FONT.
4971 (Vwindow_system_version): Bump to 23.
4972 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
4973 is available, set up mouse_position_hook.
4974 (dos_ttraw, IT_set_terminal_modes): If called with initial
4975 terminal, do nothing.
4976 (IT_set_frame_parameters): Handle the Qtty_type frame
4977 parameter by calling internal_terminal_init.
4978 (dos_set_window_size, show_mouse_face)
4979 (clear_mouse_face, IT_note_mode_line_highlight)
4980 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
4981 (dos_rawgetc): Use tty_display_info instead of x_display_info.
4982 (initialize_msdos_display): New function.
4983 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
4984 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
4985 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
4986 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 4987 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
4988 (request_sigio, unrequest_sigio): Don't define, now defined on
4989 sysdep.c.
4990 (IT_write_glyphs): Rewrite to use encode_terminal_code.
4991
4992 * term.c [MSDOS]: Include msdos.h.
4993 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
4994 conditional to DOS_NT. Allow only one call to this function in a
4995 session. Don't allocate a new struct tty_display_info; instead,
4996 reuse the_only_display_info. Call get_tty_size to get screen
4997 dimensions. Call init_baud_rate to set bad_rate.
4998 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
4999 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 5000 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
5001 (get_tty_terminal, get_named_tty, Ftty_type)
5002 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
5003 output_termcap.
b8ff72fa
SM
5004 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
5005 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 5006 only when subprocesses are supported.
aac0c6e3
MR
5007
5008 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
5009 f->output_data.x.
5010 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
5011 terminal devices.
5012
5582fbc7 5013 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
5014 x_output.
5015 (FRAME_FONT): Use output_data.tty.
5016 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
5017 (struct x_display_info): Rename from display_info. Update all users in
5018 msdos.c.
aac0c6e3 5019 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 5020 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
5021 (dos_ttraw): Update prototype.
5022
5023 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
5024 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
5025
50262008-08-23 Jason Rumney <jasonr@gnu.org>
5027
5028 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
5029 (fn_TIFFSetDirectory): New library function used.
5030 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
5031 (tiff_load): Use :index to select among multiple images. Set count
5032 property when multiple images exist.
5033 (gif_format): Use :index, not :image.
5034
50352008-08-23 Chong Yidong <cyd@stupidchicken.com>
5036
5037 * xdisp.c (try_scrolling): Check INT_MAX instead of
5038 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
5039 to obtain INT_MAX.
5040
50412008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
5042
5043 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
5044
50452008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
5046
5047 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
5048 GNUstep library location.
5049
50502008-08-21 Chong Yidong <cyd@stupidchicken.com>
5051
5052 * xfaces.c (x_update_menu_appearance): Check validity of menu font
5053 before using it.
5054
5055 * puresize.h (BASE_PURESIZE): Increase to 1250000.
5056
50572008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
5058
5059 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
5060 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
5061 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
5062 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
5063 (EmacsApp-cursor_blink_handler): Remove declaration.
5064 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
5065 match 01 Feb 2008 changes in xterm.c.
5066 (ns_read_socket): Add cast to avoid warning.
5067 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
5068 GNUstep.
5069
50702008-08-20 Chong Yidong <cyd@stupidchicken.com>
5071
5072 * xselect.c (x_get_foreign_selection): Return nil if desired
5073 selection could not be obtained, instead of signalling an error.
5074
50752008-08-20 David Reitter <david.reitter@gmail.com>
5076
5077 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
5078 * nsterm.m: Remove ns-specific code for cursor blinking.
5079 (ns_draw_window_cursor): Clear cursor properly rather than
5080 redrawing the area. Respect width of bar cursors.
5081 These changes enable the use of generic blink-cursor-mode and
5082 generic cursor types in NS and support smooth cursor movements (do
5083 not blink off after command).
5084 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
5085 Nextstep, too.
5086
50872008-08-19 Kenichi Handa <handa@m17n.org>
5088
5089 * font.c (Vfont_log_deferred): New variable.
5090 (font_add_log): Check Vfont_log_deferred.
5091 (font_deferred_log): New function.
5092
5093 * font.h (font_deferred_log): Extern it.
5094
5095 * fontset.c (reorder_font_vector): Use encoding charset of fonts
5096 for sorting.
5097 (face_for_char): Use deferred log.
5098
50992008-08-18 Kenichi Handa <handa@m17n.org>
5100
5101 * fontset.c (face_for_char): Add font log.
5102
5103 * font.c (font_add_log): Add the font properties :script, :lang,
5104 and :otf in the log.
5105
51062008-08-17 Chong Yidong <cyd@stupidchicken.com>
5107
5108 * xdisp.c: Remove dead code.
5109 (handle_invisible_prop, next_overlay_string): Defer call to
5110 setup_for_ellipsis.
5111 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
5112
51132008-08-15 Chong Yidong <cyd@stupidchicken.com>
5114
5115 * xfaces.c (lookup_derived_face): Properly handle possible zero
5116 return value of get_lface_attributes.
5117 (merge_faces): Don't tell lookup_derived_face to signal an error
5118 if face is not found.
5119
5120 * dired.c (Fdirectory_files): Doc fix.
5121
5122 * process.c (make_process): Initialize kill_without_query struct
5123 member.
5124
51252008-08-15 Eli Zaretskii <eliz@gnu.org>
5126
5127 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
5128 Alternative calculation of totphys for Visual Studio 6.
5129
5130 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
5131
5132 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
5133 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
5134 All users changed.
5135 (stat): Only root directory passed to GetDriveType. Allow RAM
5136 disk as well as local fixed disk when w32-get-true-file-attributes
5137 is set to `local'.
5138 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
5139 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
5140 (w32_cached_id, w32_add_to_cache): New functions.
5141 (get_name_and_id): Look account names in the cache before calling
5142 lookup_account_sid.
5143 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
5144 New initialization flags.
5145 (globals_of_w32): Initialize them to zero.
5146 (w32_system_process_attributes): Use w32_cached_id and
5147 w32_add_to_cache.
5148
51492008-08-14 Lawrence Mitchell <wence@gmx.li>
5150
5151 * lread.c (Fread_char, Fread_char_exclusive): If no character
5152 event is read before timeout is reached, return nil, rather than
5153 converting to a number.
5154
51552008-08-14 Chong Yidong <cyd@stupidchicken.com>
5156
5157 * fns.c (use_dialog_box): Doc fix.
5158
5159 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
5160 on OS X.
5161
51622008-08-13 Chong Yidong <cyd@stupidchicken.com>
5163
5164 * frame.c (Qns_parse_geometry): New var.
5165 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
5166
51672008-08-11 Chong Yidong <cyd@stupidchicken.com>
5168
5169 * xdisp.c (x_produce_glyphs): Handle the case when font has no
5170 space character in calculating tabs.
5171
51722008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
5173
5174 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
5175
51762008-08-10 Glenn Morris <rgm@gnu.org>
5177
5178 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
5179 silence gcc "limited range of data type" warnings in some
5180 make_fixnum_or_float calls.
5181
51822008-08-09 Eli Zaretskii <eliz@gnu.org>
5183
5184 * w32.c (w32_system_process_attributes): If the process does not
5185 exist, return nil.
5186
5187 * w32.c: Include thelp32.h, psapi.h and coding.h.
5188 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
5189 declarations.
5190 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
5191 (Process32Next_Proc): New typedefs.
5192 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
5193 (g_b_init_process32_next, g_b_init_open_thread_token)
5194 (g_b_init_impersonate_self, g_b_init_revert_to_self)
5195 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
5196 (g_b_init_get_process_working_set_size)
5197 (g_b_init_global_memory_status_ex): New static variables.
5198 (globals_of_w32): Initialize them.
5199 (create_toolhelp32_snapshot, process32_first, process32_next)
5200 (open_thread_token, impersonate_self, revert_to_self)
5201 (get_process_memory_info, get_process_working_set_size)
5202 (global_memory_status, global_memory_status_ex): New wrapper
5203 functions.
5204 (w32_list_system_processes, w32_system_process_attributes)
5205 (enable_privilege, restore_privilege, ltime, process_times):
5206 New functions.
5207 (convert_time_raw): New function.
5208 (convert_time): Remove conversion of FILETIME into time in 100
5209 nsec units, call convert_time_raw instead.
5210
5211 * process.h (w32_list_system_processes, w32_system_process_attributes):
5212 Add prototypes.
5213 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
5214 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
5215 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
5216 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
5217
5218 * process.c (Fsystem_process_attributes): Doc fix.
5219
52202008-08-08 Chong Yidong <cyd@stupidchicken.com>
5221
5222 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
5223 a continued multi-char glyph; if so, advance to the actual glyph.
5224
52252008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
5226
5227 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
5228
5229 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
5230 (.m.o): Use it.
5231 * config.in: Regenerate.
5232
52332008-08-07 Chong Yidong <cyd@stupidchicken.com>
5234
5235 * xdisp.c (redisplay_window): Revert last change.
5236 (try_window): Check bottom scroll margin too.
5237
52382008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5239
5240 * config.in: Regenerate.
5241
5242 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
5243 -list-load-path-shadows'.
5244 (nsgui.h): Reduce number of things depending on it.
5245
52462008-08-06 Chong Yidong <cyd@stupidchicken.com>
5247
5248 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
5249 instead of window-end which does the wrong thing at eob.
5250 (try_cursor_movement): Minor optimization.
5251 (redisplay_window): If scroll margin is defined, don't assume
5252 window doesn't need scrolling.
5253
52542008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5255
5256 * config.in: Regenerate.
5257
5258 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
5259 (mostlyclean): Don't delete *.d under NS.
5260
5261 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
5262
52632008-08-06 Kenichi Handa <handa@m17n.org>
5264
5265 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
5266
52672008-08-06 Andreas Schwab <schwab@suse.de>
5268
5269 * config.in: Regenerate.
5270
52712008-08-05 Chong Yidong <cyd@stupidchicken.com>
5272
5273 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
5274 forcing a window start.
5275
5276 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
5277 (auto_save_1): Update modtime when auto-save-list-file-name is on.
5278
52792008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5280
5281 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
5282 argument.
5283
52842008-08-05 Juanma Barranquero <lekktu@gmail.com>
5285
5286 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
5287 <scroll-down-aggressively, before-change-functions>:
5288 <after-change-functions>: Reflow docstrings.
5289
52902008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5291 Ken Raeburn <raeburn@gnu.org>
5292
5293 Dock menu customization, based on a patch by Ken Raeburn, plus some
5294 other fixes.
5295 * nsmenu.m (dockMenu): New variable.
5296 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
5297
5298 * nsterm.h (dockMenu): Declare.
5299
5300 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
5301 (ns_term_init): Initialize dockMenu.
5302 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
5303 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
5304 left.
5305
5306 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
5307
53082008-08-04 Chong Yidong <cyd@stupidchicken.com>
5309
5310 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
5311
5312 * config.in: Regenerate.
5313
53142008-08-04 Seiji Zenitani <zenitani@mac.com>
5315
5316 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
5317
53182008-08-04 Chong Yidong <cyd@stupidchicken.com>
5319
5320 * nsterm.h (find_and_call_menu_selection): Fix prototype.
5321
53222008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5323
5324 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
5325
5326 * keyboard.h: Comment an #endif.
5327
5328 * lisp.h (have_menus_p): Adjust comment.
5329
5330 * menu.c (find_and_return_menu_selection): Fix comparison with
5331 client_data.
5332
5333 * nsmenu.m (popup_activated_flag): New variable.
5334 (popup_activated): New function.
5335 (menu-or-popup-active-p): New exported lisp definition.
5336 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
5337 when popup done.
5338 (ns_popup_dialog): Set popup_activated_flag.
5339
5340 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
5341 version for GNUstep (handled by conditional typedef in nsterm.m).
5342 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
5343 in rgb.txt).
5344
5345 * process.c (init_process): Use DARWIN_OS, not DARWIN.
5346
5347 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
5348
5349 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
5350
5351 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
5352 shortcircuit if popup_activated like GTK and X toolkit.
5353
5354 * m/inter386.h: Change DARWIN to DARWIN_OS.
5355
5356 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
5357 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
5358 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
5359 comment on NO_SOCK_SIGIO.
5360
53612008-08-03 Chong Yidong <cyd@stupidchicken.com>
5362
5363 * nsterm.m (windowDidResize): Remove stopModal call.
5364
53652008-08-03 Andreas Schwab <schwab@suse.de>
5366
5367 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
5368 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
5369
53702008-08-02 Chong Yidong <cyd@stupidchicken.com>
5371
5372 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
5373 Don't use uninitialized pointer variable when using getrlimit.
5374
53752008-08-02 Jason Rumney <jasonr@gnu.org>
5376
5377 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
5378
53792008-08-02 Eli Zaretskii <eliz@gnu.org>
5380
5381 * alloc.c (NSTATICS): Bump to 0x640.
5382
5383 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
5384
5385 * lisp.h: Add prototype for directory_files_internal.
5386
5387 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
5388 New functions.
5389 (syms_of_process): Defsubr them. Add initializations for various
5390 Q* symbols used in procfs_system_process_attributes.
5391 (procfs_list_system_processes, procfs_system_process_attributes)
5392 [HAVE_PROCFS]: New functions.
5393 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
5394 (procfs_get_total_memory): New functions.
5395
53962008-08-01 Juanma Barranquero <lekktu@gmail.com>
5397
5398 * xfaces.c (Fx_load_color_file): Fix previous change;
5399 it is #ifdef WINDOWSNT, not WINDOWS_NT.
5400
54012008-08-01 Michael Albinus <michael.albinus@gmx.de>
5402
5403 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
5404
54052008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5406
5407 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
5408
54092008-08-01 Chong Yidong <cyd@stupidchicken.com>
5410
5411 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
5412
5413 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
5414 define NSApplicationDelegateReplySuccess.
5415 (EmacsView -converstationIdentifier): Use long instead of
5416 NSInteger for GNUstep, since it doesn't have NSInteger.
5417
5418 * xmenu.c: Revert last change.
5419
5420 * keyboard.h: Fix last change.
5421
54222008-08-01 Juanma Barranquero <lekktu@gmail.com>
5423
5424 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
5425 on Windows.
5426
54272008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5428
5429 Warning clearing and clean-up in NS port.
5430 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
5431 Add prototypes.
5432 * nsgui.h (FACE_DEFAULT): Remove, unused.
5433 (XGCValues): Change colors to unsigned long.
5434 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
5435 nsterm.m.
5436 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
5437 (ns_list_fonts): Remove, unused.
5438 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
5439 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
5440 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
5441 (nsfont_draw): Compare face colors to 0, not nil.
5442 * nsmenu.m (struct widget_value): Drop unneeded declaration.
5443 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
5444 (-addSubmenuWithTitle:): Use NSMenuItem class.
5445 (ns_popup_menu): Use NO, not NULL, for enabled setting.
5446 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
5447 (ns_clip_to_row): Make gc arg a BOOL.
5448 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
5449 ns_clip_to_row() call.
5450 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
5451 used). Cast FRAME_FONT assignments.
5452 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
5453 (ns_string_to_lispmod): Change arg to const char.
5454 (ns_term_init): Use NSMenuItem class.
5455 (EmacsApp -openFile:): Move to different section of file.
5456 (EmacsApp -application:openFiles:): Don't return a value, call
5457 -replyToOpenOrPrint:.
5458 (EmacsView -keyDown:): Fix up cast.
5459 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
5460 (EmacsView -menuDown:): Cast tag in call to
5461 find_and_call_menu_selection().
5462 (ns_list_fonts): Remove, unused.
5463 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
5464 (ns_fontname_to_xlfd): Make static.
5465 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
5466 Remove prototypes (now in keyboard.h).
5467 (next_menubar_widget_id): Remove, unused.
5468 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
5469 Remove prototypes (now in keyboard.h).
5470 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
5471
54722008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
5473
5474 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
5475 (floatfns.o): Depend on syssignal.h.
5476 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
5477
5478 * systty.h: Fix previous change that removed BSD_TERMIOS.
5479 Add comments to #ifdefs.
5480
54812008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5482
5483 * w32fns.c (w32-load-color-file): Remove.
5484 (x-open-connection): Use renamed Fx_load_color_file.
5485 * xfaces.c (x-load-color-file): Add.
5486 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
5487 Emacs.clr.
5488 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
5489
54902008-07-31 Michael Albinus <michael.albinus@gmx.de>
5491
5492 * dbusbind.c (Fdbus_call_method_asynchronously)
5493 (Fdbus_method_error_internal): New defuns.
5494 (xd_read_message): Handle also reply messages.
5495 (Vdbus_registered_functions_table): Extend docstring.
5496
54972008-07-31 Juanma Barranquero <lekktu@gmail.com>
5498
5499 * keyboard.c (gobble_input): Fix previous change.
5500
55012008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
5502
5503 * bitmaps/README:
5504 * xfns.c:
5505 * termcap.c:
5506 * term.c:
5507 * syswait.h:
5508 * systty.h:
5509 * systime.h:
5510 * syssignal.h:
5511 * sysdep.c:
5512 * process.h:
5513 * process.c:
5514 * print.c:
5515 * ndir.h:
5516 * lread.c:
5517 * keyboard.c:
5518 * getpagesize.h:
5519 * floatfns.c:
5520 * fileio.c:
5521 * emacs.c:
5522 * doc.c:
5523 * dispnew.c:
5524 * dired.c:
5525 * data.c:
5526 * callproc.c:
5527 * buffer.c:
5528 * README:
5529 * Makefile.in:
5530 * s/template.h:
5531 * s/msdos.h:
5532 * m/vax.h: Remove VMS support.
5533 * s/vms.h:
5534 * vlimit.h:
5535 * uaf.h:
5536 * temacs.opt:
5537 * param.h:
5538 * ioctl.h: Remove file.
5539
55402008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
5541
5542 * s/ms-w32.h (MULTI_KBOARD): Remove.
5543 * xterm.c:
5544 * xselect.c:
5545 * xfns.c:
5546 * window.c:
5547 * w32term.c:
5548 * w32fns.c:
5549 * terminal.c:
5550 * termhooks.h:
5551 * term.c:
5552 * sysdep.c:
5553 * keyboard.h:
5554 * keyboard.c:
5555 * frame.h:
5556 * frame.c:
5557 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
5558 * config.in: Regenerate.
5559
55602008-07-30 Jason Rumney <jasonr@gnu.org>
5561
5562 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
5563
5564 * w32font.c (w32font_encode_char): Leave as unicode if in range.
5565 (w32font_open_internal): Get unicode version of textmetrics.
5566 Don't enable or disable glyph indices here.
5567 (w32font_open): Disable use of glyph indices.
5568
5569 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
5570
55712008-07-30 Chong Yidong <cyd@stupidchicken.com>
5572
5573 * minibuf.c (Vread_buffer_function): Doc fix.
5574
55752008-07-30 John Paul Wallington <jpw@pobox.com>
5576
5577 * minibuf.c (read_buffer_completion_ignore_case): New var.
5578 (Fread_buffer): Use it.
5579
55802008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
5581
5582 * systty.h (sensemode): Remove empty #if. Remove reference to
5583 BSD_TERMIOS, unused.
5584
5585 * sysdep.c: Remove reference to DGUX.
5586 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
5587
5588 * config.in: Regenerate.
5589
55902008-07-30 Jason Rumney <jasonr@gnu.org>
5591
5592 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
5593
55942008-07-29 Jason Rumney <jasonr@gnu.org>
5595
5596 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
5597 is populated.
5598 (uniscribe_encode_char): Always use uniscribe.
5599 Avoid using context if cache is populated.
5600
56012008-07-29 Jan Djärv <jan.h.d@swipnet.se>
5602
5603 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
5604 open menu.
5605
5606 * gtkutil.c (menu_nav_ended): Remove.
5607 (create_menus): Remove signal connect for menu_nav_ended.
5608
56092008-07-28 Chong Yidong <cyd@stupidchicken.com>
5610
5611 * xdisp.c (redisplay_window): Check return value of
5612 compute_window_start_on_continuation_line before forcing a window
5613 start.
5614
56152008-07-28 Jason Rumney <jasonr@gnu.org>
5616
5617 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
5618
5619 * w32term.c (w32_enable_unicode_output, cleartype_active):
5620 Remove obsolete display options.
5621 (x_draw_glyph_string_background): Don't use old cleartype_active
5622 workaround.
5623 (w32_initialize): Remove cleartype_active initialization.
5624 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
5625
56262008-07-28 Andreas Schwab <schwab@suse.de>
5627
5628 * lisp.h (init_weak_hash_tables, syms_of_font)
5629 (xd_read_queued_messages, syms_of_dbusbind): Declare.
5630 (remove_hash_entry): Don't declare.
5631 * eval.c (maybe_call_debugger): Make static and move before use.
5632 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
5633 * xdisp.c: Include "gtkutil.h" if USE_GTK.
5634 * xterm.h (x_set_frame_alpha): Declare.
5635
56362008-07-28 Jan Djärv <jan.h.d@swipnet.se>
5637
5638 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
5639 (create_menus): Connect selection-done to menu_nav_ended.
5640
56412008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5642
5643 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
5644 Set Vx_resource_name to a fallback. Replace read of 'buffered'
5645 parameter with read of 'alpha' one.
5646 (Qns_frame_parameter): Remove.
5582fbc7 5647 * nsselect.m (selection-coding-system)
aac0c6e3
MR
5648 (next-selection-coding-system, Vselection_coding_system)
5649 (Vnext_selection_coding_system): Drop.
5650
56512008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5652
5653 * nsfns.m (do-applescript, do_applescript): Rename to
5654 ns-do-applescript, ns_do_applescript, and move within file.
5655
56562008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
5657
5658 Remove support for Mac Carbon.
5659 * mactoolbox.c:
5660 * macterm.h:
5661 * macterm.c:
5662 * macselect.c:
5663 * macmenu.c:
5664 * macgui.h:
5665 * macfns.c:
5666 * mac.c: Remove file.
5667 * s/darwin.h:
5668 * m/intel386.h:
5669 * xfaces.c:
5670 * xdisp.c:
5671 * window.c:
5672 * tparam.c:
5673 * termhooks.h:
5674 * termcap.c:
5675 * term.c:
5676 * syssignal.h:
5677 * sysselect.h:
5678 * sysdep.c:
5679 * process.c:
5680 * lread.c:
5681 * lisp.h:
5682 * keyboard.c:
5683 * image.c:
5684 * fringe.c:
5685 * frame.h:
5686 * frame.c:
5687 * fontset.c:
5688 * font.h:
5689 * font.c:
5690 * fns.c:
5691 * fileio.c:
5692 * emacs.c:
5693 * dispnew.c:
5694 * dispextern.h:
5695 * config.in:
5696 * atimer.c:
2ae37cf0 5697 * Makefile.in: Remove code for Carbon.
aac0c6e3 5698
f0131492 56992008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
5700
5701 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
5702
57032008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5704
5705 * macterm.h (kCGBitmapByteOrder32Host): New define for
5706 non-universal SDKs.
5707
5708 * image.c (mac_create_cg_image_from_image, image_load_image_io)
5709 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
5710
5711 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
5712 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
5713
57142008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
5715
5716 * w32inevt.c: Include dispextern.h.
5717
57182008-07-26 Andreas Schwab <schwab@suse.de>
5719
5720 * print.c (print_object): Fix off-by-one in last change.
5721
57222008-07-25 Juanma Barranquero <lekktu@gmail.com>
5723
5724 * term.c (syms_of_term): Don't initialize default_orig_pair,
5725 default_set_foreground and default_set_background on Windows.
5726
57272008-07-25 Jason Rumney <jasonr@gnu.org>
5728
5729 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
5730 ScriptItemize. Clean up return value checking. Remove unused
5731 variables.
5732 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
5733 shaping engine.
5734
5735 * w32font.c (w32font_has_char): Handle the case where we can't
5736 determine the script for a character.
5737
57382008-07-25 Chong Yidong <cyd@stupidchicken.com>
5739
5740 * term.c (syms_of_term): Initialize default_orig_pair,
5741 default_set_foreground, and default_set_background.
5742
5743 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5744 clash (bug#86).
5745 (getloadavg): Callers changed.
5746
5747 * image.c (svg_load_image): Fix last change.
5748 (svg_load_image): Use rsvg_handle_get_dimensions to check that
5749 image size is valid. Use g_object_unref instead of deprecated
5750 rsvg_handle_free to free rsvg handle.
5751 (x_from_xcolors): Don't initialize pixmap (silence compiler).
5752
57532008-07-25 Jason Rumney <jasonr@gnu.org>
5754
5755 * w32font.c (w32font_encode_char): Encode characters outside BMP as
5756 surrogates before looking up glyph index.
5757 (w32font_text_extents): Encode as surrogates if falling back to
5758 functions that need UTF-16 wide chars.
5759
5760 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
5761 BMP as surrogates before looking up glyph index.
5762
57632008-07-25 Chong Yidong <cyd@stupidchicken.com>
5764
5765 * image.c (svg_load_image): Check for failure in return value of
5766 rsvg_handle_get_pixbuf. Free rsvg handle when done.
5767
57682008-07-25 Jason Rumney <jasonr@gnu.org>
5769
5770 * w32font.c (Fx_select_font): Reverse sense of second arg.
5771
57722008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
5773
5774 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
5775 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
5776
5777 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
5778 (PURESIZE): Use it.
5779
57802008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
5781
5782 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
5783 * m/alpha.h (TEXT_END):
5784 * m/ibmrs6000.h (TEXT_END):
5785 * m/macppc.h (TEXT_END):
5786 * s/darwin.h (TEXT_END):
5787 * s/msdos.h (TEXT_END): Remove, unused.
5788 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
5789 * s/cygwin.h: Remove comment.
5790
5791 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
5792 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
5793 * m/intel386.h (DOT_GLOBAL_START):
5794 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
5795 (USG): Remove, file not used on USG platforms.
5796
5797 * Makefile.in (HAVE_X11): Remove empty #else.
5798
57992008-07-24 Andreas Schwab <schwab@suse.de>
5800
5801 * fileio.c (Finsert_file_contents): Properly adjust undo list
5802 after format conversion.
5803
58042008-07-24 Jan Djärv <jan.h.d@swipnet.se>
5805
5806 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
5807 (menu_nav_ended): Remove.
5808 (create_menus): Remove signal connect for menu_nav_ended.
5809 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
5810 create_menus.
5811 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
5812
58132008-07-23 Jason Rumney <jasonr@gnu.org>
5814
5815 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
5816 with opened font.
5817 (w32font_open): Set font type to gdi.
5818
5819 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
5820
58212008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
5822
5823 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
5824 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
5825 defines it.
5826 * unexec.c (ADDR_CORRECT): Define unconditionally.
5827
5828 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
5829
5830 * unexec.c: Remove code depending on !COFF and USG, the file is
5831 not used for such systems.
5832
5833 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
5834 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
5835 (LD_SWITCH_SYSTEM_1): Remove, update users.
5836
5837 * s/darwin.h (DATA_END):
5838 * m/intel386.h (DATA_END):
5839 * m/ibmrs6000.h (DATA_END):
5840 * m/alpha.h (DATA_END): Remove, unused.
5841
5842 * config.in: Regenerate.
5843 * s/ms-w32.h (subprocesses): Define unconditionally.
5844 * s/template.h (subprocesses): Update comment.
5845 * s/vms.h (subprocesses):
5846 * s/usg5-4.h (subprocesses):
5847 * s/hpux10-20.h (subprocesses):
5848 * s/gnu-linux.h (subprocesses):
5849 * s/cygwin.h (subprocesses):
5850 * s/bsd-common.h (subprocesses):
5851 * s/aix4-2.h (subprocesses):
5852 * s/darwin.h (subprocesses): Do not define, defined by default now.
5853
5854 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
5855 Remove all references.
5856 (temacs): Add GNUstep specific ld flags.
5857
5858 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
5859 similarly to what X does.
5860
58612008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5862
5863 * nsfns.m (x-list-fonts): Remove.
5864 (syms_of_nsfns): Drop the x-list-fonts declaration.
5865 * nsterm.m: Get rid of remaining "//" comments.
5866
58672008-07-22 Chong Yidong <cyd@stupidchicken.com>
5868
5869 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
5870
5871 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
5872 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
5873 (Fns_own_selection_internal, Fx_disown_selection_internal)
5874 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
5875
5876 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
5877 ... */' style of docstrings. Doc fixes.
5878
58792008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5880
5881 * terminfo.c (UP, BC, PC): Undo previous change.
5882
5883 * nsfns.m: Rename ns prefixed functions/variables to the
5884 corresponding x versions. Update references.
5885
58862008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
5887
5888 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
5889
58902008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5891
5892 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
5893 Remove forwarding functions.
5894 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
5895 non-static.
5896 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
5897 non-static.
5898 (ns_frame_parm_handlers): Use the new names.
5899 (syms_of_nsfns): Move to the end of file.
5900
5901 * nsterm.m (syms_of_nsterm): Move to the end of file.
5902
5903 * dispnew.c (init_display): Remove code for X10.
5904
59052008-07-22 Jason Rumney <jasonr@gnu.org>
5906
5907 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
5908 bare drive.
5909
59102008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5911
5912 * nsterm.m (syms_of_nsterm): Remove debugging println.
5913
59142008-07-22 David Reitter <david.reitter@gmail.com>
5915
5916 * nsfns.m (do_applescript, F_do_applescript): NS version of the
5917 Carbon implementation of the same functionality: execute arbitrary
5918 AppleScript code.
5919
59202008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
5921
5922 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
5923 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
5924 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
5925 (Fx_display_mm_height, Fx_display_mm_width)
5926 (Fx_display_backing_store, Fx_display_visual_class)
5927 (Fx_display_save_under, Fx_open_connection)
5928 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
5929 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
5930 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
5931 (Fx_display_pixel_width, Fx_display_pixel_height)
5932 (Fx_display_usable_bounds, Fx_display_planes)
5933 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
5934 ... */' style of docstrings.
5935
59362008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
5937
5938 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
5939 on this platform.
5940 (mips):
5941 * m/iris4d.h (mips): Do not define.
5942 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
5943
5944 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
5945
5946 * image.c:
5947 * nsfns.m:
5948 * nsselect.m:
5949 * nsterm.h:
5950 * nsterm.m: Rename ns prefixed functions/variables to the
5951 corresponding x versions. Update references.
5952
5953 * m/ibms390x.h (NO_REMAP): Do not undefine.
5954
5955 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
5956
59572008-07-21 Chong Yidong <cyd@stupidchicken.com>
5958
5959 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
5960 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
5961 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
5962 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
5963 (Fns_display_mm_height, Fns_display_mm_width)
5964 (Fns_display_backing_store, Fns_display_visual_class)
5965 (Fns_display_save_under, Fns_open_connection)
5966 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
5967 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
5968 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
5969 (Fns_display_pixel_width, Fns_display_pixel_height)
5970 (Fns_display_usable_bounds, Fx_display_planes)
5971 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
5972
59732008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
5974
5975 * print.c (print_object): Check print_depth before searching for
5976 circularities.
5977
59782008-07-21 Michael Albinus <michael.albinus@gmx.de>
5979
5980 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
5981 only sprintf.
5982
59832008-07-21 Kenichi Handa <handa@m17n.org>
5984
5985 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
5986
59872008-07-20 Andreas Schwab <schwab@suse.de>
5988
5989 * syntax.c (find_start_pos, find_start_value)
5990 (find_start_value_byte, find_start_begv, find_defun_start)
5991 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
5992
59932008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
5994
5995 * s/sol2-3.h: Insert contents of s/sol2.h.
5996 (LD_SWITCH_SYSTEM): Remove redundant definition.
5997 * s/sol2.h: Remove, unused.
5998
59992008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6000
6001 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
6002
60032008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6004
6005 * Makefile.in (ns_appdir): Fix typo in find command.
6006
60072008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
6008
6009 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
6010
6011 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
6012 added not supported anymore.
6013
6014 * s/usg5-4-2.h (LIBS_SYSTEM):
6015 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
6016
6017 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6018 * s/lynxos.h (GETPGRP_NO_ARG):
6019 * s/hpux10-20.h (NO_SIOCTL_H):
6020 * s/gnu.h (GETPGRP_NO_ARG):
6021 * s/gnu-linux.h (NO_SIOCTL_H):
6022 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6023 * s/cygwin.h (GETPGRP_NO_ARG):
6024 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
6025 (C_DEBUG_SWITCH): Remove duplicate definition.
6026
6027 * m/ibms390.h: Remove boilerplate comments.
6028
6029 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
6030
6031 * process.c (HAVE_SERIAL): Consolidate ifdefs.
6032 (wait_reading_process_output): Remove code for SunOS, platform not
6033 supported anymore. Use SOLARIS2 instead of sun.
6034
60352008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6036
6037 * font.c (font_open_by_name): Under NS, default lface height to zero.
6038 (font_open_for_lface): Under NS, set size based on frame fontsize.
6039 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
6040 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
6041
60422008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6043
6044 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
6045 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
6046 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
6047 YES/NO.
6048 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
6049 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
6050 * Makefile.in (clean): Clear out build destination dir.
6051
60522008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6053
6054 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
6055 xterm, xselect.
6056 * lisp.h: Remove declaration of hash_remove.
6057 * nsgui.h: Remove redefinitions of hash_remove.
6058 * fns.c (hash_remove): Rename to hash_remove_from_table.
6059
60602008-07-19 Seiji Zenitani <zenitani@mac.com>
6061
6062 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
6063 strdup() the family UTF8String before modifying it.
6064
60652008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6066
6067 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
6068 NS_FACE_BACKGROUND with 0 instead of nil.
6069 * nsfont.m (nsfont_draw): Same.
6070
60712008-07-19 Chong Yidong <cyd@stupidchicken.com>
6072
6073 * nsfns.m (ns_set_background_color): Fix crash.
6074
60752008-07-18 Chong Yidong <cyd@stupidchicken.com>
6076
6077 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
6078
60792008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
6080
6081 * puresize.h (BASE_PURESIZE): Increase to 1240000.
6082
60832008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6084
6085 * gtkutil.c: Include <config.h> instead of "config.h".
6086
6087 * lisp.h (Foverlay_buffer): Add EXFUN.
6088
6089 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
6090 child process to complete child_setup. Undo 2005-09-21 change.
6091
6092 * s/darwin.h: Mention setsid after vfork.
6093
60942008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6095
6096 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
6097 Depend on macgui.h.
6098
6099 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
6100 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
6101
6102 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
6103 and f19.
6104 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
6105
6106 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
6107 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
6108 Remove enumerators.
6109
6110 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
6111 Check if FACE_FROM_ID returns NULL.
6112
61132008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
6114
6115 * w32inevt.c (change_frame_size): Remove extern declaration.
6116 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
6117 change_frame_size.
6118
61192008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6120
6121 * getloadavg.c: Revert last change (2008-07-15).
6122
61232008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6124
6125 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
6126 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
6127 from configure.
6128
61292008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
6130
6131 * s/sol2.h:
6132 * s/sol2-4.h: Reorganize conditionals.
6133
6134 * ecrt0.c: Remove code depending on m68000, not used anymore.
6135
6136 * fns.c (hash_remove): Make static.
6137 * lisp.h (hash_remove): Don't prototype.
6138
6139 * m/ibmrs6000.h:
6140 * m/ibms390x.h:
6141 * m/macppc.h: Remove boilerplate comments.
6142
6143 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
6144 Solaris, which does not need them.
6145
6146 * m/vax.h: Remove comments about unsupported systems.
6147
6148 * s/darwin.h: Reorganize ifdefs.
6149
61502008-07-17 Andreas Schwab <schwab@suse.de>
6151
6152 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
6153
61542008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
6155
6156 Use SDATA. Follow coding convention of placing operators at
6157 beginning of next line rather than end of previous line, and placing
6158 spaces around infix operators.
6159
6160 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
6161 in case it was defined already.
6162 USE @GNUSTEP_MAKEFILES@ rather than envvars.
6163 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
6164 ns_default.
6165 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
6166 Lisp_Objects.
6167 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
6168 (ns_defined_color, ns_color_to_lisp): Declare.
6169 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
6170 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
6171 it's accepted even with USE_LISP_UNION_TYPE.
6172 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
6173 (update_frame_tool_bar): Remove apparently obsolete tests for
6174 non-integerness of f->tool_bar_lines.
6175 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
6176 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
6177 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
6178 (nsfont_open): Don't confuse NULL for Qnil.
6179 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
6180 * menu.h (find_and_call_menu_selection):
6181 * menu.c (find_and_call_menu_selection): Use just int for vector size.
6182 (find_and_return_menu_selection): Always return something.
6183 * frame.h: Include dispextern.h for Display_Info.
6184 (display_x_get_resource): Declare.
6185
61862008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
6187
6188 * syntax.c: Remove stdio.h include accidentally introduced in
6189 Emacs.app commit.
6190 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
6191 NS_IMPL_COCOA.
6192 * keyboard.c (handle_async_input, input_available_signal): Remove
6193 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
6194
61952008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6196
6197 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
6198 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
6199 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
6200 Use SDATA.
6201
6202 * keymap.c: Remove all NS-specific code.
6203 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
6204 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
6205 where_is_preferred_modifier, return a different value depending on how
6206 preferred is the binding.
6207 (where_is_internal): Adjust accordingly.
6208 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
6209 Adjust to new preferred_sequence_p.
6210 (syms_of_keymap): Declare `where-is-preferred-modifier'.
6211 * keyboard.c (parse_solitary_modifier): Not static any more.
6212 * keyboard.h (parse_solitary_modifier): Declare.
6213
62142008-07-16 Andreas Schwab <schwab@suse.de>
6215
6216 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
6217 of easymenu.
6218
62192008-07-16 Chong Yidong <cyd@stupidchicken.com>
6220
6221 * xdisp.c (move_it_in_display_line): Account for word wrap, so
6222 that we don't move off the line.
6223
62242008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6225
6226 * keyboard.c (Qsuper): Remove.
6227 (parse_menu_item): Don't call where_is_internal specially for NS.
6228
62292008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6230
6231 * s/gnu-linux.h: Remove boilerplate comments.
6232
6233 * m/alpha.h (__ELF__): Consolidate conditions.
6234
6235 * m/m68k.h (linux): Use GNU_LINUX instead.
6236 Remove boilerplate comments.
6237
6238 * m/intel386.h: Undo refactoring from previous change.
6239 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
6240 too, remove dead code.
6241 (linux): Use GNU_LINUX instead.
6242
62432008-07-16 Jason Rumney <jasonr@gnu.org>
6244
6245 * w32gui.h: Repeat 26 June changes lost by last change.
6246
62472008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6248
6249 * systty.h: Remove code for Aix on 386, unsupported platform.
6250
6251 * s/ms-w32.h: Remove boilerplate comments.
6252 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
6253
6254 * s/gnu-linux.h (TERM): Remove support.
6255 (HAVE_SYSVIPC): Remove, unused.
6256 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
6257 for this system.
6258
6259 * process.c: Remove support for IRIS, unused.
6260 Remove support for TERM, not relevant anymore.
6261
6262 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
6263 used with the definition.
6264
6265 * s/aix4-2.h (static): Do not undef.
6266
6267 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
6268 only used on Aix.
6269 (HAVE_SYSVIPC): Remove, unused.
6270
6271 * m/hp800.h (CANNOT_DUMP): Do not undef.
6272
6273 * m/alpha.h: Fix comment.
6274
6275 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
6276 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
6277 used by this configuration.
6278 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
6279 * unexec.c: Remove code depending on HPUX and
6280 USG_SHARED_LIBRARIES, not used with this file. Remove code
6281 depending on IRIS, unused. Remove if 0-ed code.
6282
6283 * s/template.h: Remove comments about static.
6284
6285 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
6286 Remove if 0-ed code.
6287 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
6288 were the same as the default.
6289 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
6290 Remove boilerplate comments.
6291 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
6292 (HAVE_SYSVIPC): Remove, unused.
6293 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
6294
6295 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6296 Remove boilerplate comments.
6297 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6298 Remove boilerplate comments.
6299 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6300 Remove boilerplate comments.
6301 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
6302
6303 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
6304 USG systems which do not use DATA_SEG_BITS.
6305 Refactor code. Remove boilerplate comments.
6306
6307 * m/ibms390.h:
6308 * m/m68k.h:
6309 * s/bsd-common.h:
6310 * s/cygwin.h:
6311 * s/darwin.h:
6312 * s/freebsd.h:
6313 * s/gnu.h:
6314 * s/msdos.h: Remove boilerplate comments.
6315
6316 * m/iris4d.h: Remove boilerplate comments and code for systems that
6317 do not use this file.
6318 (IRIS_4D): Remove, unused.
6319
6320 * m/mips.h: Remove boilerplate comments and code for systems that
6321 do not use this file.
6322 (SIGN_EXTEND_CHAR):
6323 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
6324 * unexmips.c: Remove file, unused.
6325
6326 * editfns.c (Fuser_full_name): Replace the only use of
6327 USER_FULL_NAME with its value.
6328 * config.in: Regenerate.
6329
63302008-07-16 David Reitter <david.reitter@gmail.com>
6331
6332 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
6333 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6334
63352008-07-16 Glenn Morris <rgm@gnu.org>
6336
6337 * emacs.c (system-type): Doc fix.
6338
63392008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
6340
6341 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
6342 If the cache doesn't work, let's fix it, rather than work around it.
6343
63442008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6345
6346 * Makefile.in: Correct additions for nsfont.o in last commit.
6347 * nsfont.m: New file (forgot last commit).
6348
63492008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6350
6351 * callproc.c (set_initial_environment): Initialize
6352 Vprocess_environment under CANNOT_DUMP (fixes crash when
6353 batch-compiling for bootstrap).
6354
63552008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6356 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6357
6358 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
6359 fix crash due to different init order.
6360
63612008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6362
6363 Changes and additions for NeXTstep windowing system (Cocoa and
6364 GNUstep) support.
6365
6366 * Makefile.in:
6367 * config.in: Support defines and build commands for NS port.
6368 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
6369 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
6370 * dispextern.h: Include nsgui.h and add needed typedefs under NS
6371 windowing.
6372 (struct face): Add synth_ital field.
6373 * dispnew.c: Include nsterm.h when compiling under NS windowing.
6374 (init_display): Initialize Vinitial_window_system to "ns" when so
6375 compiled.
6376 * emacs.c: Include GSConfig.h when compiling under GNUstep.
6377 (display_arg): Use under NS.
6378 (main): Under NS, allocate autorelease pool and handle command line
6379 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
6380 (standard_args): Add NS-specific args.
6381 (shut_down_emacs): Shut down NS terminal if compiled under NS.
6382 * font.c (DEFAULT_ENCODING): New variable.
6383 (font_find_for_lface): Use it.
6384 (syms_of_font): Load syms_of_nsfont under NS.
6385 * font.h: Declare nsfont_driver when compiled under NS.
6386 * fontset.c: When compiling under NS, include nsterm.h.
6387 (fontset_from_font): Autoconstruct fontset under NS.
6388 * frame.c (various): Under NS, include nsterm.h, add Qns window system
6389 symbol, document and use it.
6390 (do_switch_frame): When for_deletion under Cocoa, add
6391 Fraise_frame(Qnil).
6392 (x_set_frame_parameters): Ensure font attribute changes are picked up.
6393 (x_get_arg): Allow "yes" and "no" as boolean values.
6394 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
6395 Qright under Cocoa.
6396 (focus-follows-mouse): Default to 0 under NS.
6397 * frame.h (enum output_method): Add output_ns.
6398 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
6399 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
6400 (FRAME_WINDOW_P): NS-specific definition.
6401 * fringe.c (max_used_fringe_bitmap): Make public.
6402 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
6403 (getloadavg): Use NeXT code under descendant OS's.
6404 * image.c (includes and header section, x_create_bitmap_from_data)
6405 (x_create_bitmap_from_file, free_bitmap_record, image_background)
6406 (image_background_transparent, x_clear_image_1)
6407 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
6408 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
6409 (x_to_xcolors, x_from_xcolors, x_disable_image)
6410 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
6411 other GUIs, including XPM support using code originally written for
6412 Carbon GUI.
6413 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
6414 using NS API.
6415 (image_ascent): Use font metrics macros instead of direct struct field
6416 access.
6417 * keyboard.c (includes): Add nsterm.h when compiling under NS.
6418 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
6419 Also, handle NS as GTK for menu bar purposes.
6420 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
6421 toolkit where they differ.
6422 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
6423 use cachelist, still needed under NS.
6424 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
6425 (struct widget_value): Define it here for menu.c.
6426 * keymap.c (includes): Include modifier internals.
6427 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
6428 NS.
6429 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
6430 support for preferring sequences using certain modifiers, specified by
6431 the FIRSTONLY argument.
6432 * lisp.h (hash_remove): Rename to avoid name clash when compiling
6433 under NS GNUstep implementation.
6434 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
6435 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
6436 * menu.c: Include nsterm.h under NS.
6437 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
6438 (free_menubar_widget_tree_value, update_submenu_strings)
6439 (find_and_call_menu_selection): Treat NS as X and NT.
6440 (find_and_return_menu_selection): New function, used for popup menus.
6441 * nsgui.h:
6442 * nsterm.h:
6443 * nsfns.m:
6444 * nsimage.m:
6445 * nsmenu.m:
6446 * nsselect.m:
6447 * nsterm.m: New files.
6448 * process.c (wait_reading_process_output): Under NS, call ns_select()
6449 instead of plain select().
6450 * syntax.c (char_quoted): Under NS, avoid a crash when called near
6451 beginning of buffer.
6452 * sysselect.h (init_process): Rename when compiling under Cocoa to
6453 avoid name conflict.
6454 * termhooks.h (display_info): Add ns_display_info to union.
6455 * terminal.c (Fterminal_live_p): Add ns to terminal types.
6456 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
6457 COCOA environment.
6458 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
6459 unexec() signature. (Note, this will dump, but the resulting file
6460 crashes; unexosx is used instead; keeping around for reference and
6461 possible aid in getting dump working under GNUstep.)
6462 * w32gui.h (button_type, widget_value): Remove definitions (now in
6463 keyboard.h).
6464 * window.c: Include nsterm.h when compiling under NS.
6465 * xdisp.c (includes): Include nsterm.h when compiling under NS.
6466 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
6467 other GUI windowing systems.
6468 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
6469 GTK.
6470 (x_consider_frame_title): Under NS, set icon type and frame
6471 modified-state indicator; use ns_set_name_as_filename() when using
6472 formatted title.
6473 (update_window_cursor): Make public when compiling under NS.
6474 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
6475 (hourglass_atimer, Vhourglass_delay
6476 * xfaces.c (header section, init_frame_faces, clear_font_table)
6477 (defined_color, unload_color, x_face_list_fonts)
6478 (prepare_face_for_display): Add NS support parallel to other GUIs.
6479 Emulate GCs like other non-X GUIs.
6480 (split_font_name): Don't lowercase font name under NS.
6481 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
6482 under NS.
6483 * s/darwin.h: Add support for compilation under NS.
6484
64852008-07-15 Jason Rumney <jasonr@gnu.org>
6486
6487 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
6488 (w32_show_hourglass): Rename from show_hourglass.
6489 (w32_hide_hourglass): Rename from hide_hourglass.
6490 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
6491 (Vhourglass_delay): Declare extern.
6492 (hourglass_started): Remove.
6493
6494 * xdisp.c (Vhourglass_delay): Remove static.
6495 (hourglass_started, start_hourglass, cancel_hourglass):
6496 Don't include these versions on WINDOWSNT.
6497
64982008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6499
6500 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
6501 variables (formerly in xfns.c).
6502 (show_hourglass, hide_hourglass): New prototypes (same).
6503 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
6504 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
6505 in xfns.c).
6506 (syms_of_xdisp): Declare/initialize display-hourglass,
6507 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
6508 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
6509 formerly in xfns.c.
6510 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6511 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6512 (start_hourglass, cancel_hourglass): Remove.
6513 (show_hourglass, hide_hourglass): Remove prototypes and static
6514 modifiers.
6515 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
6516 hourglass_atimer, hourglass_shown_p declaration/initialization.
6517 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6518 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6519 (start_hourglass, cancel_hourglass): Remove.
6520 (show_hourglass, hide_hourglass): Remove prototypes and static
6521 modifiers.
6522 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
6523 hourglass_atimer, hourglass_shown_p declaration/initialization.
6524 * w32fns.c (display_hourglass_p, Vhourglass_delay)
6525 (DEFAULT_HOURGLASS_DELAY): Remove.
6526 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
6527 hourglass_shown_p declaration/initialization.
6528
65292008-07-14 Jason Rumney <jasonr@gnu.org>
6530
6531 * w32fns.c (w32_get_arg): Remove wrapper function.
6532 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
6533 directly.
6534 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
6535
65362008-07-14 Kenichi Handa <handa@m17n.org>
6537
6538 * xfont.c (xfont_open): Add workaround for X's bug.
6539
65402008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6541
6542 * fontset.c: Include <stdio.h> unconditionally.
6543
65442008-07-13 Michael Albinus <michael.albinus@gmx.de>
6545
6546 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
6547 for filtering.
6548
65492008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
6550
6551 * s/vms.h: Use __GNUC__ instead of _GNUC_.
6552
6553 * m/macppc.h:
6554 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
6555
6556 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
6557 (SPECIAL_EMACS_INT):
6558 * m/ia64.h (SPECIAL_EMACS_INT):
6559 * m/amdx86-64.h (SPECIAL_EMACS_INT):
6560 * s/gnu.h (NLIST_STRUCT):
6561 * s/aix4-2.h (X11R5_INHIBIT_I18N):
6562 * s/gnu-linux.h (LINUX):
6563 * s/msdos.h (HAVE_FACES):
6564 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
6565
6566 * systty.h:
6567 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
6568 anymore.
6569
65702008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
6571
6572 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
6573 always defined as int.
6574
6575 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
6576 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
6577 * s/gnu-linux.h (HAVE_WAIT_HEADER):
6578 * s/freebsd.h (HAVE_WAIT_HEADER):
6579 * s/bsd-common.h (HAVE_UNION_WAIT):
6580 * s/aix4-2.h (HAVE_WAIT_HEADER):
6581 * m/mips.h (HAVE_UNION_WAIT):
6582 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
6583 (COFF, static): Do not define, they are undefined later in the file.
6584
6585 * process.c (update_status): Don't use a union.
6586 (status_convert):
6587 (sigchld_handler): Use int instead of WAITTYPE.
6588
65892008-07-12 Chong Yidong <cyd@stupidchicken.com>
6590
6591 * indent.c (Fvertical_motion): Restore hscroll before moving to
6592 goal column.
6593
65942008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
6595
6596 * lisp.h: Remove left over code.
6597
65982008-07-11 Andreas Schwab <schwab@suse.de>
6599
6600 * lisp.h: Fix logic in last change.
6601
6602 * menu.h: New file.
6603 * menu.c: Include it.
6604 * xmenu.c: Likewise.
6605 * Makefile.in: Update dependencies.
6606
66072008-07-11 Kenichi Handa <handa@m17n.org>
6608
6609 * fontset.c (fontset_from_font): Cancel the previous change.
6610
66112008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
6612
6613 * lisp.h:
6614 * w32heap.c:
6615 * emacs.c:
6616 * alloc.c: Replace all references of NO_UNION_TYPE with
6617 USE_LISP_UNION_TYPE.
6618
6619 * m/xtensa.h (NO_UNION_TYPE):
6620 * m/vax.h (NO_UNION_TYPE):
6621 * m/template.h (NO_UNION_TYPE):
6622 * m/sparc.h (NO_UNION_TYPE):
6623 * m/mips.h (NO_UNION_TYPE):
6624 * m/macppc.h (NO_UNION_TYPE):
6625 * m/m68k.h (NO_UNION_TYPE):
6626 * m/iris4d.h (NO_UNION_TYPE):
6627 * m/intel386.h (NO_UNION_TYPE):
6628 * m/ibms390x.h (NO_UNION_TYPE):
6629 * m/ibms390.h (NO_UNION_TYPE):
6630 * m/ibmrs6000.h (NO_UNION_TYPE):
6631 * m/ia64.h (NO_UNION_TYPE):
6632 * m/hp800.h (NO_UNION_TYPE):
6633 * m/arm.h (NO_UNION_TYPE):
6634 * m/amdx86-64.h (NO_UNION_TYPE):
6635 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
6636 defining it the same.
6637
66382008-07-10 Chong Yidong <cyd@stupidchicken.com>
6639
6640 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
6641
66422008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
6643
6644 * fileio.c:
6645 * sysdep.c
6646 * systty.h:
6647 * m/ibmrs6000.h:
6648 * m/iris4d.h:
6649 * s/aix4-2.h:
6650 * s/freebsd.h:
6651 * s/gnu-linux.h:
6652 * s/hpux10-20.h:
6653 * s/hpux11.h:
6654 * s/netbsd.h:
6655 * s/sol2-3.h:
6656 * s/sol2-4.h:
6657 * s/sol2.h:
6658 * s/usg5-4.h:
6659 * s/vms.h: Remove references to unused variables.
6660
66612008-07-10 Andreas Schwab <schwab@suse.de>
6662
6663 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
6664 pattern before matching the generic family.
6665
66662008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
6667
6668 * unexec.c:
6669 * s/vms.h:
6670 * s/usg5-4-2.h:
6671 * s/sol2-5.h:
6672 * s/freebsd.h:
6673 * s/darwin.h: Remove dead code.
6674
6675 * m/template.h:
6676 * m/sparc.h:
6677 * m/mips.h:
6678 * m/m68k.h:
6679 * m/iris4d.h:
6680 * m/intel386.h:
6681 * m/ibms390x.h:
6682 * m/ibms390.h:
6683 * m/ia64.h:
6684 * m/hp800.h:
6685 * m/arm.h:
6686 * m/amdx86-64.h: Remove dead code and references to unused
6687 and compiler defined symbols.
6688
6689 * unexmips.c:
6690 * unexelf.c: Remove references to desupported systems.
6691
6692 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
6693
6694 * m/powermac.h: Remove boilerplate comments.
6695 (NO_REMAP): Remove unused definition.
6696
6697 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
6698 define them.
6699
67002008-07-10 Kenichi Handa <handa@m17n.org>
6701
6702 * xfont.c (xfont_open): Log the reason of failure.
6703
67042008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
6705
6706 * fontset.c (fontset_get_font_group):
6707 * font.c (font_check_otf): Specify argument types.
6708
67092008-07-09 Kenichi Handa <handa@m17n.org>
6710
6711 * coding.c (detect_coding_utf_8): Set detect_info->found only when
6712 non-ASCII char is found.
6713
6714 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
6715 (reorder_font_vector): Change the arg preferred_family to font.
6716 Prefer the spec matching with font.
6717 (fontset_get_font_group): New function.
6718 (fontset_find_font): Change the format of an element of a realized
6719 fontset. Use fontset_get_font_group.
6720 (fontset_font): Try the current fontset, the default fontset, the
6721 fallbacks of the current fontset, and the fallbacks of the default
6722 fontset in this order.
6723 (face_for_char): Delete the shortcut to use the current font.
6724 (fontset_from_font): Don't set fonts for Latin in the fontset.
6725
6726 * font.h (font_make_object, font_match_p): Adjust prototypes.
6727
6728 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
6729
6730 * font.c (font_make_object): New arg entity and pixelsize.
6731 (font_check_otf_features, font_check_otf): New functions.
6732 (font_match_p): Check :lang, :script, and :otf properties.
6733
6734 * xfont.c (xfont_open): Adjust it for the change of
6735 font_make_object.
6736 (xfont_text_extents): Fix initial setting of metrics.
6737
6738 * ftfont.c (struct ftfont_info): New member index, delete member
6739 fc_charset_idx. Make the member order compatible with struct
6740 xftfont_info.
6741 (fc_charset_table): Change charset names to registry names.
6742 (ftfont_pattern_entity): Delete the args registry and
6743 fc_charset_idx. Change the value of :font-entity property
6744 to (FONTNAME . INDEX). Always set :registry property to
6745 `iso10646-1'.
6746 (struct ftfont_cache_data): New struct.
6747 (ftfont_lookup_cache): New arg for_face.
6748 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
6749 (ftfont_driver): Set the member otf_capability.
6750 (ftfont_get_charset): Adjust it for the change of
6751 fc_charset_table.
6752 (OTF_TAG_SYM): New macro.
6753 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
6754 for the change of fc_charset_table.
6755 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
6756 ftfont_pattern_entity. Add FC_INDEX to objset.
6757 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
6758 and ftfont_pattern_entity.
6759 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
6760 font_make_object, struct ftfont_info.
6761 (ftfont_has_char): Use ftfont_get_fc_charset.
6762 (ftfont_otf_features, ftfont_otf_capability): New functions.
6763 (ftfont_shape): Use ftfont_get_otf.
6764 (ftfont_text_extents): Fix initial setting of metrics.
6765
6766 * xftfont.c (struct xftfont_info): New member ft_size. Make the
6767 member order compatible with struct ftfont_info.
6768 (xftfont_open): Add FC_CHARSET to the pattern. Set
6769 xftfont_info->ft_size. Don't unlock the face. Check BDF
6770 properties if appropriate.
6771 (xftfont_close): Unlock the face.
6772 (xftfont_anchor_point, xftfont_shape): Deleted.
6773 (syms_of_xftfont): Don't set members anchor_point and shape of
6774 xftfont_driver.
6775
6776 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
6777 font_make_object.
6778
6779 * w32font.c (w32font_open): Adjust it for the change of
6780 font_make_object.
6781 (w32font_open_internal): Don't set properties of font_object here.
6782
67832008-07-08 Chong Yidong <cyd@stupidchicken.com>
6784
6785 * macfns.c (x_create_tip_frame):
6786 * w32fns.c (x_create_tip_frame):
6787 * xfns.c (x_create_tip_frame): Pass parameter argument to
6788 face-set-after-frame-default.
6789
6790 * xfaces.c (Finternal_merge_in_global_face): Save merged
6791 attributes for the default face back into the face vector.
6792
67932008-07-08 Andreas Schwab <schwab@suse.de>
6794
6795 * fontset.h: Declare fontset_from_font. Don't declare
6796 new_fontset_from_font and fontset_from_font_name.
6797 * xterm.c: Include "fontset.h".
6798 * Makefile.in (xterm.o): Update dependencies.
6799
68002008-07-08 Glenn Morris <rgm@gnu.org>
6801
6802 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
6803 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
6804
68052008-07-07 Chong Yidong <cyd@stupidchicken.com>
6806
6807 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
6808 (x_set_frame_parameters): Don't bind it.
6809
68102008-07-07 Juanma Barranquero <lekktu@gmail.com>
6811
6812 * w32fns.c (map_w32_filename): Declare extern.
6813
68142008-07-07 Jason Rumney <jasonr@gnu.org>
6815
6816 * w32term.c (WS_EX_LAYERED): Define if not already.
6817
68182008-07-06 Chong Yidong <cyd@stupidchicken.com>
6819
6820 * xfaces.c (set_font_frame_param): Don't try to set the font
6821 parameter if it is still unspecified in the lface.
6822
68232008-07-05 Chong Yidong <cyd@stupidchicken.com>
6824
6825 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
6826 face if it didn't already exist.
6827
6828 * xdisp.c (try_window_id): Give up if word-wrapping is on.
6829
68302008-07-05 Andreas Schwab <schwab@suse.de>
6831
6832 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6833
68342008-07-05 Chong Yidong <cyd@stupidchicken.com>
6835
6836 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
6837 word-wrapping.
6838 (IT_DISPLAYING_WHITESPACE): New macro.
6839 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
6840 when word-wrapping. Simplify word-wrapping logic. Use correct
6841 pixel positions when saving copies of the iterator.
6842 (display_line): Use proper wrap point if the last character on a
6843 line was preceded by whitespace.
6844
68452008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
6846
6847 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
6848
68492008-07-04 Kenichi Handa <handa@m17n.org>
6850
6851 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
6852
6853 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
6854
68552008-07-02 Jason Rumney <jasonr@gnu.org>
6856
6857 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 6858 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
6859
6860 * xdisp.c (next_element_from_display_vector): Move assignment out
6861 of if statement.
6862
68632008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
6864
6865 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6866
6867 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
6868 (syms_of_fileio): Initialize and export them.
6869 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6870
6871 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
6872 (Fsystem_move_file_to_trash): New function.
6873 (syms_of_w32fns): Export it to lisp.
6874
68752008-07-01 Jason Rumney <jasonr@gnu.org>
6876
6877 * w32font.c (w32font_text_extents): Don't count overhang as part
6878 of width.
6879
68802008-06-30 Miles Bader <miles@gnu.org>
6881
6882 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
6883 Add `avoid_cursor_p' field.
6884
6885 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
6886 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
6887 (append_glyph, append_composite_glyph, produce_image_glyph)
6888 (append_stretch_glyph): Initialize avoid_cursor_p.
6889 (get_it_property): Rename from `get_line_height_property'.
6890 (x_produce_glyphs): Use get_it_property.
6891 (handle_line_prefix, push_display_prop): New functions.
6892 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
6893 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
6894 New variables.
6895 (syms_of_xdisp): Initialize them.
6896
68972008-06-30 Kenichi Handa <handa@m17n.org>
6898
6899 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
6900 XftDefaultSubstitute (they are called in XftFontMatch).
6901 (xftfont_open): Fix args to ftfont_font_format.
6902
6903 * ftfont.c (fc_charset_table): New member lang.
6904 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 6905 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
6906 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
6907 (ftfont_open): Fix args to ftfont_font_format.
6908 (ftfont_font_format): New arg filename.
6909
69102008-06-30 Chong Yidong <cyd@stupidchicken.com>
6911
6912 * xfaces.c (Finternal_merge_in_global_face): If default face was
6913 modified, realize it again. Update the font face attribute.
6914
69152008-06-29 Jason Rumney <jasonr@gnu.org>
6916
6917 * w32term.c (x_set_frame_alpha): Fix logic.
6918
69192008-06-29 Kenichi Handa <handa@m17n.org>
6920
6921 * fontset.c (Finternal_char_font): Return font-object instead of
6922 font-name.
6923
6924 * composite.c (get_composition_id): Fix the width calculation for TAB.
6925
69262008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
6927
6928 * indent.c (Fvertical_motion): Properly handle float column arg.
6929
69302008-06-28 Jason Rumney <jasonr@gnu.org>
6931
6932 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
6933 (pfnSetLayeredWindowAttributes): New function pointer.
6934 (w32_initialize): Initialize it when supported.
6935 (x_set_frame_alpha): New function.
6936
6937 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
6938 (w32_frame_parm_handlers): Set alpha handler.
6939
6940 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
6941
69422008-06-27 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
6945 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
6946 (w32_to_x_charset, x_to_w32_charset)
6947 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
6948 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
6949 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
6950 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
6951 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
6952 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
6953 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
6954 (Qw32_charset_unicode): Remove.
6955 (syms_of_w32fns): Update for above changes.
6956
6957 * w32font.c (w32_to_x_charset, x_to_w32_charset)
6958 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
6959 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
6960 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
6961 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
6962 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
6963 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
6964 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
6965 (syms_of_w32font): Update for above changes.
6966
69672008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
6968
6969 * s/usg5-4.h: Fix previous change: keep the correct branch of a
6970 removed #if.
6971 (USG_SHARED_LIBRARIES): Remove duplicate definition.
6972
69732008-06-26 Juanma Barranquero <lekktu@gmail.com>
6974 Eli Zaretskii <eliz@gnu.org>
6975
6976 * makefile.w32-in (LOCAL_FLAGS):
6977 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
6978
6979 * sysdep.c (_spawnlp, _getpid):
6980 Declare with explicit _cdecl instead of _CRTAPI1.
6981
6982 * editfns.c (Fget_internal_run_time):
6983 Check for WINDOWSNT with #ifdef, not #if.
6984
69852008-06-26 Jason Rumney <jasonr@gnu.org>
6986
6987 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
6988
6989 * w32term.c (x_draw_glyph_string_foreground)
6990 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
6991 Use FONT_HANDLE macro.
6992 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
6993
6994 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
6995 (uniscribe_encode_char): Use FONT_HANDLE macro.
6996
6997 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
6998 (w32font_text_extents): Use precast w32_font.
6999 (w32font_close): Free cached metrics.
7000 (w32font_open_internal): Allocate space for name on stack.
7001
70022008-06-26 Chong Yidong <cyd@stupidchicken.com>
7003
7004 * xdisp.c (extend_face_to_end_of_line): Fix last change.
7005
70062008-06-26 Jason Rumney <jasonr@gnu.org>
7007
7008 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
7009 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
7010
70112008-06-26 Juanma Barranquero <lekktu@gmail.com>
7012
7013 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
7014
70152008-06-26 Jason Rumney <jasonr@gnu.org>
7016
7017 * w32bdf.c, w32bdf.h: Remove obsolete files.
7018
7019 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
7020
7021 * w32gui.h: Don't include w32bdf.h.
7022 (XCharStruct, enum w32_char_font_type, W32FontStruct):
7023 Remove obsolete font support.
7024
7025 * w32font.h (struct w32font_info): Remove compat_w32_font.
7026 Add hfont member.
7027 (FONT_COMPAT): Remove obsolete macro.
7028
7029 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
7030 (w32font_encode_char, w32font_text_extents): Use new hfont member.
7031 (w32font_open_internal): Remove compat code. Set new hfont member.
7032 (Fx_select_font): Use new hfont member.
7033
7034 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
7035 (uniscribe_encode_char): Use new hfont member.
7036
7037 * w32term.c (x_draw_glyph_string_foreground)
7038 (x_draw_composite_glyph_string_foreground): Use new hfont member.
7039 (x_draw_glyph_string): Use metrics in w32font_info.
7040
70412008-06-26 Kenichi Handa <handa@m17n.org>
7042
7043 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
7044
70452008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
7046
7047 * unexnext.c:
7048 * m/ews4800.h:
7049 * m/hp9000s300.h:
7050 * m/ibm370aix.h:
7051 * m/mips-siemens.h:
7052 * m/ncr386.h:
7053 * m/next.h:
7054 * m/pmax.h:
7055 * m/powerpcle.h:
7056 * m/tandem-s2.h:
7057 * s/386bsd.h:
7058 * s/bsd386.h:
7059 * s/bsd4-1.h:
7060 * s/bsd4-2.h:
7061 * s/bsdos2-1.h:
7062 * s/bsdos2.h:
7063 * s/bsdos3.h:
7064 * s/bsdos4.h:
7065 * s/nextstep.h:
7066 * s/ultrix4-3.h:
7067 * s/usg5-0.h:
7068 * s/usg5-2-2.h:
7069 * s/usg5-2.h:
7070 * s/usg5-4-3.h:
7071 * s/ux4800.h:
7072 * s/uxpds.h:
7073 * s/uxpv.h: Remove support for obsolete systems.
7074 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 7075 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
7076 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
7077 Remove, insert contents in s/aix4-2.h.
7078 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
7079 * s/bsd4-3.h: Rename to ...
7080 * s/bsd-common.h: ... this.
7081 * data.c:
7082 * doc.c:
7083 * ecrt0.c:
7084 * emacs.c:
7085 * fileio.c:
7086 * floatfns.c:
7087 * keyboard.c:
7088 * mem-limits.h:
7089 * print.c:
7090 * process.c:
7091 * sysdep.c:
7092 * syssignal.h:
7093 * systty.h:
7094 * syswait.h:
7095 * term.c:
7096 * unexec.c:
7097 * unexelf.c:
7098 * unexhp9k800.c:
7099 * m/hp800.h:
7100 * m/ibmrs6000.h:
7101 * m/mips.h:
7102 * m/vax.h:
7103 * s/darwin.h:
7104 * s/freebsd.h:
7105 * s/gnu.h:
7106 * s/ms-w32.h:
7107 * s/msdos.h:
7108 * s/netbsd.h:
7109 * s/template.h: Remove references to obsolete variables.
7110
7111 * Makefile.in: Add dependencies for all unexec files.
7112 (admindir): Remove unused variable.
7113 (UNEXEC_SRC): Remove references.
7114
71152008-06-25 Chong Yidong <cyd@stupidchicken.com>
7116
7117 * xfns.c (x_default_font_parameter): If Xft is available, first
7118 try Monospace-12 for the default font.
7119
71202008-06-25 Jason Rumney <jasonr@gnu.org>
7121
7122 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
7123
71242008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
7125
7126 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
7127
7128 * buffer.c (syms_of_buffer): Remove default-word-wrap.
7129
71302008-06-25 Juanma Barranquero <lekktu@gmail.com>
7131
7132 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
7133 <scroll-conservatively>: Fix typo in docstring.
7134
7135 * xselect.c (Fx_send_client_event): Doc fix.
7136
71372008-06-25 Kenichi Handa <handa@m17n.org>
7138
7139 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
7140
7141 * font.c (font_parse_fcname): Remove unused variables.
7142 (font_sort_entites): Delete the arg SPEC. Caller changed.
7143 Fix for the case of ! best_only.
7144 (font_delete_unmatched): Check DPI and AVGWIDTH too.
7145
7146 * lisp.h (Fstring_to_unibyte): EXFUN it.
7147
7148 * character.h (str_to_unibyte): Extern it.
7149
7150 * character.c (str_to_unibyte): New function.
7151
7152 * fns.c (Fstring_to_unibyte): New function.
7153 (syms_of_fns): Defsubr it.
7154
71552008-06-24 Kenichi Handa <handa@m17n.org>
7156
7157 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
7158 DPI too.
7159 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
7160
71612008-06-24 Andreas Schwab <schwab@suse.de>
7162
7163 * Makefile.in (${lispsource}loaddefs.el): Rename from
7164 ../lisp/loaddefs.el.
7165 (bootstrap-clean): Do what distclean does but don't remove
7166 Makefile.
7167 (distclean): Depend on bootstrap-clean and remove Makefile.
7168
71692008-06-24 Chong Yidong <cyd@stupidchicken.com>
7170
7171 * buffer.h (struct buffer): New member word_wrap.
7172
7173 * buffer.c (syms_of_buffer): New variables default-word-wrap and
7174 word-wrap.
7175 (init_buffer_once): Initialize them.
7176
7177 * dispextern.h (struct it): Replace bool truncate_lines_p with a
7178 line_wrap enum possessing three possible values.
7179
7180 * termopts.h: Replace truncate_partial_width_windows with
7181 Vtruncate_partial_width_windows.
7182
7183 * dispnew.c (direct_output_for_insert): Avoid direct output when
7184 inserting a space with word wrap on.
7185
7186 * indent.c (compute_motion): Obey integer values of
7187 truncate-partial-width-windows.
7188
7189 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
7190 replacing truncate_partial_width_windows.
7191 (init_iterator): If Vtruncate_partial_width_windows is an integer,
7192 truncate only if the window width is below that integer.
7193 (start_display, resize_mini_window, produce_stretch_glyph)
7194 (display_string, move_it_in_display_line_to): Use line_wrap.
7195 (back_to_previous_visible_line_start, reseat_1): Reset
7196 string_from_display_prop_p.
7197 (display_line): Extend default face to end of line when wrapping.
7198
71992008-06-24 Kim F. Storm <storm@cua.dk>
7200
7201 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
7202 to wrap continued lines at word boundaries.
7203
72042008-06-24 Jason Rumney <jasonr@gnu.org>
7205
7206 * font.c (Ffont_face_attributes): Multiply pixel size before point
7207 conversion to avoid multiplying rounding error.
7208
72092008-06-23 Jason Rumney <jasonr@gnu.org>
7210
7211 * w32term.c (x_draw_glyph_string_background)
7212 (x_draw_glyph_string): Remove old bdf font code.
7213
7214 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
7215
72162008-06-22 Kenichi Handa <handa@m17n.org>
7217
7218 * font.c (font_find_for_lface): Try the adstyle specified in
7219 the property of LFACE_FONT of LFACE (if any).
7220
72212008-06-21 Seiji Zenitani <zenitani@mac.com>
7222 Ryo Yoshitake <ryo@shiftmode.net>
7223
7224 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
7225
72262008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
7227
7228 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
7229 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
7230 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
7231 (witness-emacs): Remove.
7232 (lisp, shortlisp): Move loaddefs.el earlier.
7233 (mostlyclean): Forget about witness-emacs.
7234
72352008-06-22 Glenn Morris <rgm@gnu.org>
7236
7237 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
7238 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
7239
72402008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7241
7242 * Makefile.in (PRECOMP): Remove.
7243 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
7244 (witness-emacs): Run `compile-first'.
7245 (.el.elc): Use the new compile-onefile target.
7246
72472008-06-21 Kenichi Handa <handa@m17n.org>
7248
7249 * xftfont.c (xftfont_open): Handle QCembolden only when
7250 FC_EMBOLDEN is defined.
7251
72522008-06-21 Andreas Schwab <schwab@suse.de>
7253
7254 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
7255 (.el.elc): Likewise.
7256
72572008-06-21 Miles Bader <miles@gnu.org>
7258
7259 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
7260 build dir, not the lisp source dir.
7261
72622008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7263
7264 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
7265 (bootstrapclean): Remove.
7266 (.el.elc): New rule.
7267 (PRECOMP): New var.
7268 (../lisp/subdirs.el): Remove.
7269 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
7270 (witness-emacs): New target.
7271 (mostlyclean): Remove witness-emacs as well.
7272 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
7273 Add witness-emacs dependency.
7274
72752008-06-20 Chong Yidong <cyd@stupidchicken.com>
7276
7277 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
7278 defined by the font.
7279
72802008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7281
7282 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
7283 (bootstrap-clean): New target that keeps TAGS around.
7284 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
7285 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
7286
72872008-06-20 Jason Rumney <jasonr@gnu.org>
7288
7289 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
7290 Remove obsolete font code.
7291
7292 * w32font.c (font_matches_spec): Use csb bitfield from font signature
7293 to determine language support.
7294
72952008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7296
7297 * sysdep.c (cfsetspeed): New fun extracted from the code.
7298 (cfmakeraw): Move before first use.
7299
73002008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
7301
7302 * sysdep.c (cfmakeraw): Provide fallback implementation.
7303 (serial_configure): Provide fallback implementation of cfsetspeed.
7304
73052008-06-20 Kenichi Handa <handa@m17n.org>
7306
7307 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
7308 the pattern.
7309
7310 * fontset.c (fontset_from_font): Copy font_spec before changing
7311 the elements.
7312
7313 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
7314
73152008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7316
7317 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
7318 for explicit `font' parameters.
7319
7320 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
7321
73222008-06-19 Kenichi Handa <handa@m17n.org>
7323
7324 * frame.c: Include <ctype.h>.
7325 (x_set_font_backend): Allow spacing characters in the X resource
7326 for FontBackend.
7327
73282008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
7329
7330 * w32fns.c, xfns.c (Qfont_param): New var.
7331 (syms_of_w32fns): Initialize it.
7332 (x_default_font_parameter): Record explicit `font' into
7333 `font-parameter'.
7334
73352008-06-18 Kenichi Handa <handa@m17n.org>
7336
7337 * font.c (font_parse_xlfd): Fix previous change.
7338 (font_parse_fcname): Don't use :fc-unknown-spec.
7339 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
7340 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
7341 (font_add_log): Prepend the driver name to the resulting fonts.
7342
7343 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
7344 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
7345 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
7346
7347 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
7348 (QCembolden): New variables.
7349 (syms_of_xftfont): DEFSYM them.
7350 (xftfont_open): Call XftFontMatch. Don't trust the result of
7351 XftTextExtents8 if the pixel_size is less than 5.
7352
73532008-06-18 Andreas Schwab <schwab@suse.de>
7354
7355 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
7356 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
7357
73582008-06-18 Jason Rumney <jasonr@gnu.org>
7359
7360 * w32font.c (w32font_list, w32font_match): Add logging.
7361
7362 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
7363
73642008-06-17 Chong Yidong <cyd@stupidchicken.com>
7365
7366 * font.c (font_parse_fcname): Store divider characters for
7367 unknown-spec list. For known key symbols, intern using correct
7368 symbol name.
7369
73702008-06-17 Kenichi Handa <handa@m17n.org>
7371
7372 * xfaces.c (realize_default_face): If the frame is not on window
7373 system, set the fontset of face to nil.
7374
73752008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7376
7377 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
7378
73792008-06-16 Juanma Barranquero <lekktu@gmail.com>
7380
7381 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
7382 (build_font_name_from_vector): Delete externs.
7383
7384 * xfaces.c (struct font_name): Don't declare.
7385
73862008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
7387
7388 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
7389
73902008-06-16 Chong Yidong <cyd@stupidchicken.com>
7391
7392 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
7393
73942008-06-16 Juanma Barranquero <lekktu@gmail.com>
7395
7396 * font.c (Ffont_spec): Fix usage in docstring.
7397 (Ffont_face_attributes): Doc fix.
7398
73992008-06-16 Andreas Schwab <schwab@suse.de>
7400
7401 * font.c (Ffont_face_attributes): Fix definition.
7402
74032008-06-16 Jason Rumney <jasonr@gnu.org>
7404
7405 * font.h (font_style_symbolic_from_value): Remove.
7406
7407 * font.c (font_style_symbolic_from_value): Remove.
7408 (font_style_symbolic): Revert to pre 2008-06-13 version.
7409
7410 * w32font.c (w32_to_fc_weight): New function.
7411 (w32font_full_name, logfont_to_fcname): Use it.
7412
74132008-06-16 Kenichi Handa <handa@m17n.org>
7414
7415 * font.c (font_check_object): Delete it.
7416 (font_clear_cache): Check if a font-object is alive.
7417 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
7418 font-object to nil.
7419 (font_close_object): Don't check FONT_CLOSE_OBJECT.
7420 (font_at): Don't call font_check_object.
7421 (Ffont_get): Return a symbol for :weight, :slant, and :width.
7422
74232008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
7424
7425 * puresize.h (BASE_PURESIZE): Increase to 1230000.
7426
74272008-06-16 Chong Yidong <cyd@stupidchicken.com>
7428
7429 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
7430
74312008-06-15 Chong Yidong <cyd@stupidchicken.com>
7432
7433 * font.c (font_parse_fcname): Only one decimal point.
7434 (font_unparse_fcname): Handle data in family and foundry indices
7435 as symbols, not strings.
7436 (font_unparse_gtkname, Ffont_face_attributes): New functions.
7437
7438 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
7439
7440 * font.h (font_unparse_gtkname): Add prototype.
7441
74422008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7443
7444 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
7445
74462008-06-15 Andreas Schwab <schwab@suse.de>
7447
7448 * font.c (font_update_drivers): Fix crash when no drivers match.
7449
74502008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
7451
7452 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
7453 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
7454
74552008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
7456
7457 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
7458
74592008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
7460
7461 * process.c (Fserial_process_configure, Fprocess_send_eof):
7462 Use EQ to compare Lisp_Objects.
7463
74642008-06-13 Jason Rumney <jasonr@gnu.org>
7465
7466 * w32fns.c (Fw32_select_font): Remove old font API function.
7467
7468 * w32font.c (logfont_to_fcname): New function.
7469 (Fx_select_font): New font dialog function compatible with
7470 GTK/fontconfig version.
7471
7472 * font.c (font_style_symbolic_from_value): New function.
7473 (font_style_symbolic): Use it.
7474
7475 * font.h (font_style_symbolic_from_value): Declare new function.
7476
74772008-06-13 Juanma Barranquero <lekktu@gmail.com>
7478
7479 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
7480 <font-width-table>: Fix typos in docstrings.
7481
74822008-06-13 Daniel Engeler <engeler@gmail.com>
7483
7484 These changes add serial port access.
7485 * process.c: Add HAVE_SERIAL.
7486 (Fdelete_process, Fprocess_status, Fset_process_buffer)
7487 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
7488 (list_processes_1, select_wrapper, Fstop_process)
7489 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
7490 (status_notify): Modify to handle serial processes.
7491 [HAVE_SERIAL] (Fserial_process_configure)
7492 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
7493 New functions.
7494 * process.h (struct Lisp_Process): Add `type'.
7495 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
7496 New functions.
7497 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
7498 serial ports.
b71ac3dd 7499 (serial_open, serial_configure): New functions.
aac0c6e3
MR
7500 * w32.h: Add FILE_SERIAL.
7501 (struct _child_process): Add ovl_read, ovl_write.
7502
75032008-06-13 Kenichi Handa <handa@m17n.org>
7504
7505 * dispextern.h (enum lface_attribute_index): New member
7506 LFACE_FOUNDRY_INDEX.
7507
7508 * font.c (font_score): Delete arg alternate_families. Check only
7509 weight, slant, width, and size. Ignore the difference of alias
7510 style symbols.
7511 (font_sort_entites): Adjust for the above change. Reflect the
7512 order of font-driver to scores.
7513 (font_list_entities): Don't check alternate_familes here.
7514 (font_clear_prop): Handle foundry.
7515 (font_update_lface): Don't parse "foundry-family" form here.
7516 Handle FONT_FOUNDRY_INDEX.
7517 (font_find_for_lface): Likewise. Handle alternate families here.
7518 If registry is nil, try iso8859-1 and ascii-0.
7519 (font_open_for_lface): Pay attention to size in ENTITY.
7520 (font_open_by_name): Simplify by calling font_load_for_lface.
7521 (free_font_driver_list): Delete it.
7522 (font_update_drivers): Preserve the order of backends.
7523 (syms_of_font): Setting of sort_shift_bits adjusted for the change
7524 of font_score and font_sort_entites.
7525 (font_update_sort_order): Likewise.
7526
7527 * xfaces.c (LFACE_FOUNDRY): New macro.
7528 (check_lface_attrs): Check foundry.
7529 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
7530 (merge_face_vectors): Check foundry.
7531 (merge_face_ref): Likewise.
7532 (Finternal_set_lisp_face_attribute): Likewise.
7533 (x_update_menu_appearance): Likewise.
7534 (Finternal_get_lisp_face_attribute): Likewise.
7535 (lface_hash): Likewise.
7536 (lface_same_font_attributes_p): Likewise.
7537 (x_supports_face_attributes_p): Likewise.
7538 (tty_supports_face_attributes_p): Likewise.
7539 (Finternal_set_alternative_font_family_alist): Intern strings.
7540 (Finternal_set_alternative_font_registry_alist): Downcase strings.
7541 (realize_default_face): Set LFACE_FOUNDRY (lface).
7542
7543 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
7544 font-driver at first.
7545
7546 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
7547
75482008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
7549
7550 * lread.c (Fload): Use xfree, not free on saved_doc_string.
7551
75522008-06-12 Jim Meyering <meyering@redhat.com>
7553
7554 Make unexec_free handle NULL the same way free does.
7555 * unexmacosx.c (unexec_free): Ignore a NULL argument.
7556
75572008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
7558
7559 * character.h (CHAR_TO_BYTE_SAFE): New macro.
7560 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
7561 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
7562 (WEAK_ALIAS): Simplify.
7563 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
7564 when searching a unibyte buffer.
7565
75662008-06-12 Chong Yidong <cyd@stupidchicken.com>
7567
7568 * xfns.c (Fx_select_font): Rename from x-font-dialog.
7569
75702008-06-12 Juanma Barranquero <lekktu@gmail.com>
7571
7572 * w32font.c: Include ctype.h.
7573
75742008-06-11 Jason Rumney <jasonr@gnu.org>
7575
7576 * w32font.c (w32font_encode_char): Detect missing glyphs that are
7577 misreported as space.
7578 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
7579 as aliases for registry iso10646-1.
7580
75812008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
7582
7583 * buffer.c (clone_per_buffer_values): Skip `name'.
7584
75852008-06-11 Chong Yidong <cyd@stupidchicken.com>
7586
7587 * font.c (font_parse_fcname): Fix last change; accept decimal
7588 points in font size.
7589
75902008-06-10 Jason Rumney <jasonr@gnu.org>
7591
7592 * w32uniscribe.c (add_opentype_font_name_to_list):
7593 Skip non unicode fonts.
7594
75952008-06-10 Chong Yidong <cyd@stupidchicken.com>
7596
7597 * xfns.c (Fx_font_dialog): New function.
7598
7599 * gtkutil.c (xg_dialog_response_cb): Rename from
7600 xg_file_response_callback.
7601 (pop_down_dialog): Rename from pop_down_file_dialog.
7602 (xg_get_file_name): Callers changed.
7603 (xg_get_font_name): New function.
7604
7605 * gtkutil.h (xg_get_font_name): Insert prototype.
7606
76072008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
7608
7609 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
7610 x_underline_minimum_display_offset.
7611 (syms_of_xdisp): Declare it here rather than in xterm.c.
7612 * dispextern.h (underline_minimum_offset): Declare it.
7613 * w32term.c (x_draw_glyph_string): Use it.
7614 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
7615 (syms_of_xterm): Don't declare it any more.
7616 (x_draw_glyph_string): Adjust to the new name.
7617
76182008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
7619
7620 * xterm.c (x_underline_minimum_display_offset): New var.
7621 (x_draw_glyph_string): Use it.
7622 (syms_of_xterm): Declare it.
7623
76242008-06-10 Chong Yidong <cyd@stupidchicken.com>
7625
7626 * font.c (font_parse_fcname): Accept GTK-style font names too.
7627
76282008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
7629
7630 * dired.c (file_name_completion): Don't return t if the match is exact
7631 but with different capitalization.
7632 * minibuf.c (Ftry_completion): Simplify.
7633
7634 * window.c (Vwindow_point_insertion_type): New var.
7635 (set_window_buffer): Use it.
7636 (syms_of_window): Init and export it to Lisp.
7637
76382008-06-10 Kenichi Handa <handa@m17n.org>
7639
7640 * font.h (font_intern_prop): Prototype adjusted.
7641
7642 * font.c (font_intern_prop): New arg force_symbol.
7643 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
7644 Adjust for the change of font_intern_prop.
7645
7646 * ftfont.c (ftfont_pattern_entity):
7647 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
7648 (w32_registry):
7649 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
7650 the change of font_intern_prop.
7651
76522008-06-09 Juanma Barranquero <lekktu@gmail.com>
7653
7654 * w32menu.c (digest_single_submenu): Declare extern.
7655
76562008-06-09 Jason Rumney <jasonr@gnu.org>
7657
7658 * w32term.c (x_make_frame_visible): Use alternate restore flags.
7659
7660 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
7661 (parse_single_submenu): Remove.
7662 (digest_single_submenu): Remove.
7663 (syms_of_w32menu): Don't initialise variables that have moved
7664 to menu.c.
7665 (set_frame_menubar): Sync with version in xmenu.c.
7666 (w32_menu_show): Sync with xmenu_show in xmenu.c.
7667
7668 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
7669 Make static again.
7670
76712008-06-09 Jason Rumney <jasonr@gnu.org>
7672
7673 Changes to w32 files related to the move of common menu code
7674 to menu.c on 2008-06-08 by Chong Yidong.
7675
7676 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
7677 defs to w32gui.h.
7678 (single_keymap_panes, push_menu_item, push_menu_pane):
7679 Make globally visible.
7680
7681 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
7682 (local_free, malloc_widget_value, free_widget_value)
7683 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
7684 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
7685 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
7686 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
7687 (menu_items, menu_items_allocated, menu_items_used)
7688 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
7689 (init_menu_items, finish_menu_items, discard_menu_items)
7690 (grow_menu_items, push_submenu_start, push_submenu_end)
7691 (push_left_right_boundary, push_menu_pane, push_menu_item)
7692 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
7693 (free_menubar_widget_tree_value, parse_single_submenu)
7694 (update_submenu_strings): Remove functions.
7695 (xmalloc_widget_value): Remove and declare extern.
7696
7697 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
7698 (OBJ1): Build it.
7699
7700 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
7701 (local_heap, local_alloc, local_free, malloc_widget_value)
7702 (free_widget_value): Define here.
7703
77042008-06-09 Kenichi Handa <handa@m17n.org>
7705
7706 * font.h (Qascii_0): Extern it.
7707
7708 * font.c (Qascii_0): New variable.
7709 (syms_of_font): DEFSYM it.
7710 (font_open_by_name): If the registry "iso8859-1" fails, try also
7711 "ascii-0".
7712
7713 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
7714
77152008-06-08 Kenichi Handa <handa@m17n.org>
7716
7717 * .gdbinit (xfont): New command.
7718
77192008-06-08 Andreas Schwab <schwab@suse.de>
7720
7721 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
7722 * Makefile.in (menu.o): Update dependencies.
7723
7724 * Makefile.in (obj): Always add menu.o.
7725 * emacs.c (main): Always call syms_of_menu.
7726 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
7727
77282008-06-08 Chong Yidong <cyd@stupidchicken.com>
7729
7730 * Makefile.in: Compile menu.c.
7731
7732 * lisp.h: Declare syms_of_menu.
7733
7734 * emacs.c (main): Call syms_of_menu.
7735
7736 * keyboard.h: Relocate platform-independent menu definitions from
7737 xmenu.c.
7738
7739 * menu.c: New file. Relocate platform-independent menu
7740 definitions from xmenu.c. Suggested by Adrian Robert.
7741
7742 * xmenu.c: Remove platform-independent menu definitions.
7743 (menu_items menu_items_inuse, menu_items_allocated)
7744 (menu_items_used, menu_items_n_panes)
7745 (menu_items_submenu_depth): Move to keyboard.h.
7746 (init_menu_items, finish_menu_items, unuse_menu_items)
7747 (discard_menu_items, restore_menu_items, save_menu_items)
7748 (grow_menu_items, push_submenu_start, push_submenu_end)
7749 (push_left_right_boundary, push_menu_pane, push_menu_item)
7750 (keymap_panes, single_keymap_panes, single_menu_item)
7751 (list_of_panes, list_of_items, find_and_call_menu_selection)
7752 (xmalloc_widget_value, free_menubar_widget_value_tree)
7753 (parse_single_submenu, digest_single_submenu)
7754 (update_submenu_strings): Move to menu.c.
7755
77562008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
7757
7758 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
7759
77602008-06-06 Miles Bader <miles@gnu.org>
7761
7762 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
7763 face, not frame default.
7764
77652008-06-05 Martin Rudalics <rudalics@gmx.at>
7766
7767 * window.c (pop_up_windows, pop_up_frames)
7768 (display_buffer_reuse_frames, Vpop_up_frame_function)
7769 (Vdisplay_buffer_function, Veven_window_heights)
7770 (Vspecial_display_buffer_names, Vspecial_display_regexps)
7771 (Vspecial_display_function, Vsame_window_buffer_names)
7772 (Vsame_window_regexps, split_height_threshold)
7773 (Vsplit_window_preferred_function): Move those vars to window.el.
7774 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
7775 (Fdisplay_buffer): Move those functions to window.el.
7776 (syms_of_window): Remove corresponding declarations.
7777 (display_buffer): New function.
7778 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
7779 * dispnew.c (Flast_nonminibuf_frame): New function.
7780 * buffer.c (Fpop_to_buffer): Move to window.el.
7781
77822008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7783
7784 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
7785
77862008-06-05 Kenichi Handa <handa@m17n.org>
7787
7788 * coding.c (detect_coding): Fix previous change.
7789 (detect_coding_system): Likewise.
7790
77912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7792
7793 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
7794
7795 * keymap.c (Vminibuffer_local_filename_must_match_map):
7796 Rename from Vminibuffer_local_must_match_filename_map.
7797 (syms_of_keymap):
7798 * minibuf.c (Fcompleting_read): Adjust accordingly.
7799 * commands.h: Rename declaration as well.
7800
78012008-06-05 Kenichi Handa <handa@m17n.org>
7802
7803 * font.c (Ffont_spec): Don't use font_parse_family_registry for
7804 family name.
7805 (Ffont_put): Likewise.
7806
7807 * fontset.c (fontset_find_font): Call font_open_for_lface with the
7808 current font-spec.
7809
7810 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
7811 is unspecified.
7812
7813 * xfaces.c (realize_x_face): If the font-related face attributes
7814 are the same as those of default face, realize a new fontset from
7815 default->fontset.
7816 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7817
78182008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7819
7820 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
7821 (move_it_in_display_line): New wrapper.
7822
7823 * window.c (window_scroll_pixel_based_preserve_x)
7824 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
7825 (window_scroll_pixel_based, window_scroll_line_based):
7826 Use them to preserve column positions.
7827 (syms_of_window): Initialize them.
7828
7829 * indent.c (Fvertical_motion): Extend first arg to allow passing an
7830 (HPOS . VPOS) pair.
7831
7832 * dispextern.h (move_it_in_display_line): Declare.
7833
78342008-06-05 Juanma Barranquero <lekktu@gmail.com>
7835
7836 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
7837 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
7838 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
7839
78402008-06-04 Juanma Barranquero <lekktu@gmail.com>
7841
7842 * window.c (Fset_window_parameter): Doc fix.
7843 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
7844
78452008-06-04 Joakim Verona <joakim@verona.se>
7846
7847 * window.h (struct window): Add new member window_parameters.
7848
7849 * window.c (Fwindow_parameters, Fwindow_parameter)
7850 (Fset_window_parameter): New defuns.
7851 (syms_of_window): Defsubr the new defuns.
7852 (make_window): Initialize window_parameters to nil.
7853
78542008-06-04 John Paul Wallington <jpw@pobox.com>
7855
7856 * eval.c (Fdefmacro): Doc fix.
7857
78582008-06-04 Kenichi Handa <handa@m17n.org>
7859
7860 * coding.c (detect_coding): Fix handling of coding->head_ascii.
7861 Be sure to call setup_coding_system when we find a proper coding system.
7862 (detect_coding_system): Fix handling of coding->head_ascii.
7863
78642008-06-03 Andreas Schwab <schwab@suse.de>
7865
7866 * font.c (font_prop_validate_spacing): Fix last change.
7867
78682008-06-03 Kenichi Handa <handa@m17n.org>
7869
7870 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
7871 (font_parse_fcname): Fix handling of unknown key.
7872
7873 * xfont.c (xfont_list): Try an alias.
7874
7875 * charset.c (char_charset): Return NULL if the arg charset_list is
7876 specified and C doesn't belong to any of them.
7877
78782008-06-02 Chip Coldwell <coldwell@redhat.com>
7879
7880 * font.c (font_pixel_size): Don't take cdr of an integer.
7881
78822008-06-02 Jim Meyering <meyering@redhat.com>
7883
7884 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
7885 * alloc.c (xfree): Return right away for a NULL arg.
7886 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
7887 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
7888 * mac.c (create_apple_event_from_event_ref): Likewise.
7889 (create_apple_event_from_drag_ref, cfstring_create_normalized):
7890 Likewise.
7891 * doprnt.c (doprnt1): Likewise.
7892 * frame.c (frame): Likewise.
7893 * keyboard.c (wipe_kboard): Likewise.
7894 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
7895 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
7896 * term.c (tty_default_color_capabilities, maybe_fatal)
7897 (delete_tty): Likewise.
7898 * w16select.c (string): Likewise.
7899 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
7900 * w32bdf.c (w32_free_bdf_font): Likewise.
7901 * w32fns.c (w32_unload_font): Likewise.
7902 * w32font.c (w32font_close): Likewise.
7903 * window.c (size_window): Likewise.
7904 * xselect.c (receive_incremental_selection): Likewise.
7905 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
7906 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
7907 * w32.c (stat): Likewise.
7908
7909 Remove useless if-before-free tests.
7910 * editfns.c (Fset_time_zone_rule): Likewise.
7911 * lread.c (nosuffix): Likewise.
7912 * ralloc.c (get_bloc): Likewise.
7913 * regex.c (reg_free): Likewise.
7914 * xftfont.c (xftfont_open, xftfont_close): Likewise.
7915 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
7916 * xsmfns.c (smc_save_yourself_CB): Likewise.
7917
79182008-06-02 Kenichi Handa <handa@m17n.org>
7919
7920 * font.c (font_find_for_lface): Handle float font size.
7921 (font_open_for_lface): Likewise.
7922
7923 * xfaces.c (x_supports_face_attributes_p): Check face->font before
7924 comparing the properties.
7925
79262008-06-01 Jason Rumney <jasonr@gnu.org>
7927
7928 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
7929 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
7930 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
7931 Don't add empty script list.
7932 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
7933
79342008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
7935
7936 * Makefile.in (dot, dotdot): Remove, update users.
7937 ".." has been used elsewhere in the file for a long time.
7938 (LIBXT_STATIC): Remove conditional based on unused variable.
7939
79402008-06-01 Miles Bader <miles@gnu.org>
7941
7942 * xfaces.c (Vface_remapping_alist): New variable.
7943 (syms_of_xfaces): Initialize it.
7944 (enum named_merge_point_kind): New type.
7945 (struct named_merge_point): Add `named_merge_point_kind' field.
7946 (push_named_merge_point): Make cycle detection respect different
7947 named-merge-point kinds.
7948 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
7949 Remove face-name alias resolution.
7950 (lface_from_face_name): New definition using
7951 `lface_from_face_name_no_resolve'.
7952 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
7953 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
7954 (get_lface_attributes): New definition that layers face-remapping on
7955 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
7956 (lookup_basic_face): New function.
7957 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
7958 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
7959 `get_lface_attributes'.
7960 (face_at_buffer_position): Use `lookup_basic_face' to lookup
7961 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
7962 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
7963
7964 * xdisp.c (init_iterator): Pass base_face_id through
7965 `lookup_basic_face' when we actually use it as a face-id.
7966 (handle_single_display_prop): Use `lookup_basic_face' to lookup
7967 DEFAULT_FACE_ID.
7968
7969 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
7970 lookup the initial face-id.
7971
7972 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
7973
79742008-06-01 Juanma Barranquero <lekktu@gmail.com>
7975
7976 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
7977 (Fremove_text_properties): Fix typos in docstrings.
7978
79792008-05-31 Kenichi Handa <handa@m17n.org>
7980
7981 * font.c (font_list_entities): Fix the car part of data to be
7982 stored in the cache.
7983
7984 * ftfont.c (ftfont_font_format): Don't use strcasestr.
7985
79862008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
7987
7988 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
7989 Add a `test' argument so another predicate than `equal' can be used.
7990 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
7991 (map_char_table): Remove unused vars `c' and `i'.
7992 * lisp.h (Foptimize_char_table): Adjust declaration.
7993 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
7994
79952008-05-30 Kenichi Handa <handa@m17n.org>
7996
7997 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
7998 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
7999 defined.
8000
80012008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
8002
8003 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
8004 (Fmake_variable_frame_local): Disallow mixing buffer-local and
8005 frame-local settings for the same variable.
8006
80072008-05-30 Kenichi Handa <handa@m17n.org>
8008
8009 * fontset.c (Ffont_info): Move to font.c.
8010 (syms_of_fontset): Delete defsubr of Sfont_info.
8011
8012 * font.c (font_style_to_value, font_score): Delete casting of the
8013 args to xstcasecmp.
8014 (register_font_driver): Increment num_font_drivers only when
8015 registering the driver globally.
8016 (Ffont_info): Move from fontset.c. Handle a font object too.
8017 (syms_of_font): Defsubr Sfont_info.
8018
80192008-05-29 Kenichi Handa <handa@m17n.org>
8020
8021 * coding.h (enum define_coding_utf8_arg_index): New enum.
8022 (enum coding_attr_index): Change coding_attr_utf_16_bom to
8023 coding_attr_utf_bom.
8024 (enum utf_bom_type): Rename from utf_16_bom_type.
8025 (struct utf_16_spec): Adjust for the above change.
8026 (struct coding_system): Add utf_8_bom in `spec' union.
8027
8028 * coding.c (CODING_UTF_8_BOM): New macro.
8029 (enum coding_category): Delete coding_category_utf_8, add
8030 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
8031 coding_category_utf_8_sig.
8032 (CATEGORY_MASK_UTF_8): Delete it.
8033 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
8034 (CATEGORY_MASK_UTF_8_SIG): New macros.
8035 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
8036 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
8037 CATEGORY_MASK_UTF_8_SIG.
8038 (CATEGORY_MASK_UTF_8): New macro.
8039 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
8040 (detect_coding_utf_8): Check BOM.
8041 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
8042 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
8043 (encode_coding_utf_16): Likewise.
8044 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
8045 (detect_coding, detect_coding_system): Handle utf-8-auto.
8046 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
8047 (syms_of_coding): Fix setting up of Vcoding_category_table.
8048
80492008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
8050
8051 * process.c (Faccept_process_output): If `millisec' is non-nil,
8052 `seconds' default to 0.
8053 (wait_reading_process_output): Also return non-nil if we read output
8054 from a non-running process.
8055
80562008-05-29 Jason Rumney <jasonr@gnu.org>
8057
8058 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
8059 `raster' specified.
8060 (add_font_entity_to_list): Allow non-opentype truetype fonts back
8061 in the uniscribe backend, but disallow any font that has no
8062 unicode subrange support.
8063
80642008-05-29 Juanma Barranquero <lekktu@gmail.com>
8065
8066 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
8067 Fix typos in docstrings.
8068
80692008-05-29 Kenichi Handa <handa@m17n.org>
8070
8071 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
8072 (Fx_family_fonts): Set frame correctly.
8073
80742008-05-28 Jason Rumney <jasonr@gnu.org>
8075
8076 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
8077
80782008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
8079
8080 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
8081 calling build_annotations.
8082
80832008-05-28 Juanma Barranquero <lekktu@gmail.com>
8084
8085 * coding.c (Fdecode_coding_region, Fencode_coding_region)
8086 (Fencode_coding_string):
8087 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
8088 <latin-extra-code-table>: Fix typos in docstrings.
8089 (syms_of_coding) <coding-system-alist>: Doc fix.
8090 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
8091
80922008-05-28 Kenichi Handa <handa@m17n.org>
8093
8094 * fontset.c (Ffont_info): Don't call font_close_object.
8095
8096 * font.c (font_parse_family_registry): Use Ffont_put to validate
8097 foundry and family.
8098 (font_delete_unmatched): Don't check spacing.
8099 (font_list_entities): Add spacing to the spec to list fonts.
8100
8101 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
8102 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
8103
8104 * coding.c (encode_coding_raw_text): Fix previous change.
8105 (encode_coding_object): When the dst_object is a buffer and is
8106 different from src_object, move gap to PT.
8107
81082008-05-27 Chong Yidong <cyd@stupidchicken.com>
8109
8110 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
8111
81122008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8113
8114 * coding.c (encode_coding_raw_text): Set coding->produced_char for
8115 all branches. Compute it differently.
8116
8117 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
8118
81192008-05-27 Juanma Barranquero <lekktu@gmail.com>
8120
8121 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
8122 into "else if () ... else ...".
8123
81242008-05-27 Jason Rumney <jasonr@gnu.org>
8125
8126 * w32font.c (w32font_open_internal): Determine if glyph indices
8127 are likely to work here.
8128
81292008-05-27 Chong Yidong <cyd@stupidchicken.com>
8130
8131 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
8132 draw overlap glyphs with appropriate highlighting.
8133
81342008-05-27 Kenichi Handa <handa@m17n.org>
8135
8136 * xfont.c (xfont_open): Fix calculation of font->average_width.
8137
81382008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8139
8140 * casefiddle.c (casify_object): Try to guess better whether the
8141 argument is a byte or a char.
8142
81432008-05-26 Andreas Schwab <schwab@suse.de>
8144
8145 * xselect.c (x_reply_selection_request): Properly handle format == 32.
8146 Always send multiples of format size.
8147
8148 * xterm.c (x_set_frame_alpha): Fix type mismatch.
8149
81502008-05-26 Jason Rumney <jasonr@gnu.org>
8151
8152 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
8153 (compute_metrics): Don't set failure if we just cleared the cache.
8154 (w32_weight_table): Remove unused variable.
8155 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
8156 backwards compatibility.
8157
81582008-05-25 Kenichi Handa <handa@m17n.org>
8159
8160 * w32term.c (x_draw_glyph_string):
8161 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
8162
8163 * xfaces.c: Delete unused function prototypes.
8164 (xstrlwr, font_frame): Delete them.
8165 (clear_face_cache): Delete unused variable.
8166
8167 * xftfont.c (xftfont_open): Delete unused variable.
8168 If underline_thickness is not 1, adjust underline_position.
8169
8170 * ftxfont.c (ftxfont_open): Delete unused variable.
8171
8172 * fontset.c (face_for_char): Optimize for the case of no charset
8173 property.
8174
8175 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
8176 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
8177 (otf_open, font_otf_capability, generate_otf_features)
8178 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8179 Comment out by surrounding "#if 0" and "#endif" for the moment.
8180 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
8181 (syms_of_font): Codes for accessing above commented out.
8182
81832008-05-24 Eli Zaretskii <eliz@gnu.org>
8184
8185 * w32proc.c: Include dispextern.h.
8186
8187 * w32.c: Include dispextern.h.
8188
81892008-05-23 Juanma Barranquero <lekktu@gmail.com>
8190
8191 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
8192 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
8193 Fix typos in docstrings.
8194
81952008-05-23 Jason Rumney <jasonr@gnu.org>
8196
8197 * xsmfns.c: Remove includes that are already included by config.h.
8198
81992008-05-23 Kenichi Handa <handa@m17n.org>
8200
8201 * charset.c (Qemacs, charset_emacs): New variables.
8202 (char_charset): Fix for non-Unicode characters.
8203 (syms_of_charset): Define charset_emacs.
8204
8205 * w32term.c (x_draw_glyph_string): Be sure to update
8206 s->underline_thickness and s->underline_position. Be sure to draw
8207 underline within the current line area.
8208
8209 * xterm.c (x_draw_glyph_string): Be sure to update
8210 s->underline_thickness and s->underline_position. Be sure to draw
8211 underline within the current line area.
8212
8213 * fontset.c: Delete unused variables and add casting for char *
8214 throughout the file.
8215 (fontset_font): Try the fallback fonts of the current fontset
8216 before consulting the default fontset.
8217
8218 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
8219
8220 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
8221
82222008-05-22 Jason Rumney <jasonr@gnu.org>
8223
8224 * font.c: Don't include strings.h.
8225
8226 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
8227
8228 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
8229 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
8230 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
8231 to call xstrcasecmp.
8232
8233 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
8234
8235 * fontset.c (fs_query_fontset): Use xstrcasecmp.
8236
8237 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
8238
8239 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
8240
82412008-05-22 Kenichi Handa <handa@m17n.org>
8242
8243 * puresize.h (BASE_PURESIZE): Increase to 1220000.
8244
8245 * font.c (font_prop_validate_style): Adjust for the format
8246 change of font_style_table.
8247
8248 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
8249 two args.
8250
8251 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
8252 two args.
8253
82542008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
8255
8256 * minibuf.c (keys_of_minibuf): Delete.
8257 * lisp.h (keys_of_minibuf): Delete.
8258 * emacs.c (main): Don't call keys_of_minibuf.
8259
82602008-05-22 Kenichi Handa <handa@m17n.org>
8261
8262 * ftfont.c (ftfont_resolve_generic_family): Rename from
8263 ftfont_list_generic_family. Return a single family for each
8264 generic family.
8265 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
8266 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
8267 Call font_add_log.
8268 (ftfont_match): Call font_add_log.
8269
8270 * font.h (Ffont_xlfd_name): EXFUN adjusted.
8271 (FONT_DEBUG): Define it.
8272 (font_add_log): Extern it.
8273 (font_assert): Rename from xassert.
8274
8275 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
8276 (xfont_list_family): Call font_add_log.
8277 (xfont_match): Likewise.
8278 (memq_no_quit): Delete.
8279
8280 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
8281 call of Ffont_xlfd_name.
8282
8283 * xfaces.c (struct table_entry, slant_table, weight_table)
8284 (swidth_table): Move to font.c.
8285
8286 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
8287 xassert are changed to font_assert. Delete many unused variables.
8288 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
8289 New variables.
8290 (struct table_entry): Move from xfaces.c and modified.
8291 (weight_table, slant_table, width_table): Move from xfaces.c and
8292 contents adjusted for the change of struct table_entry.
8293 (font_style_to_value, font_style_symbolic): Adjust for the
8294 format change of font_style_table.
8295 (font_parse_family_registry): Don't overwrite existing foundry and
8296 family of font_spec.
8297 (font_score): Fix calculation of diff for sizes.
8298 (font_sort_entites): Call font_add_log.
8299 (font_delete_unmatched): Return a newly created list.
8300 (font_list_entities): Fix previous change. Call font_add_log.
8301 (font_matching_entity, font_open_entity, font_close_entity):
8302 Call font_add_log.
8303 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
8304 (Finternal_set_font_style_table): Delete.
8305 (BUILD_STYLE_TABLE): New macro.
8306 (build_style_table): New function.
8307 (Vfont_log, font_log_env_checked): New variables.
8308 (font_add_log): New function.
8309 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
8310 Declare Lisp variables "font-weight-table", "font-slant-table",
8311 "font-width-table", and "font-log". Initialize font_style_table.
8312
83132008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
8314
8315 * xterm.c (x_set_frame_alpha): Move declarations before statements.
8316
83172008-05-21 Seiji Zenitani <zenitani@mac.com>
8318 Ryo Yoshitake <ryo@shiftmode.net>
8319
8320 * frame.c (Qalpha): Add a new frame parameter `alpha'.
8321 (Vframe_alpha_lower_limit): New variable.
8322 (x_set_alpha): New function.
8323
8324 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
8325
8326 * xfns.c (x-create-frame, Qalpha):
8327 Initialize the frame parameter `alpha'.
8328 * xterm.c (OPAQUE, OPACITY): New.
8329 (x_set_frame_alpha): New function.
8330 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
8331
8332 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
8333 * w32fns.c (w32_frame_parm_handlers): Likewise.
8334
83352008-05-20 Jason Rumney <jasonr@gnu.org>
8336
8337 * w32font.c (add_font_entity_to_list): Don't add non-opentype
8338 truetype fonts to opentype list.
8339
83402008-05-20 Juanma Barranquero <lekktu@gmail.com>
8341
8342 * fontset.c (Ffontset_info): Doc fix.
8343 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
8344 <ignore-relative-composition>: Fix typos in docstrings.
8345
8346 * font.c (syms-of-font) <font-encoding-alist>:
8347 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
8348 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
8349 (Ffont_otf_alternates): Doc fixes.
8350
83512008-05-20 Kenichi Handa <handa@m17n.org>
8352
8353 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
8354 font.h through out the file.
8355 (FONT_DRIVERS): Rename from FONTOBJ.
8356 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
8357 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
8358
8359 * emacs.c (main): Call syms_of_font unconditionally.
8360
8361 * font.h (find_font_encoding): Extern it.
8362
8363 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
8364 fontset.c.
8365 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
8366 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
8367 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
8368 only when HAVE_WINDOW_SYSTEM is defined.
8369 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
8370 when HAVE_WINDOW_SYSTEM is defined.
8371
8372 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
8373 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
8374
8375 * xfaces.c: Include font.h unconditionally.
8376 (merge_face_ref, merge_face_vectors)
8377 (Finternal_set_lisp_face_attribute): Cancel the previous change.
8378
83792008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
8380
8381 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
8382 indirect_variable.
8383 * eval.c (lisp_indirect_variable): New fun.
8384 (Fuser_variable_p): Use it.
8385
83862008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
8387
8388 * lisp.h (indirect_variable):
8389 * data.c (indirect_variable, let_shadows_buffer_binding_p):
8390 Use Lisp_Symbol pointers rather than Lisp_Object.
8391 Adjust callers.
8392 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
8393 To this end, change calling-convention.
8394
8395 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
8396 if some non-hidden buffers are selected by string&pred.
8397
83982008-05-19 Chong Yidong <cyd@stupidchicken.com>
8399
8400 * process.c (wait_reading_process_output): Always check status
8401 when in batch mode.
8402
84032008-05-19 Kenichi Handa <handa@m17n.org>
8404
8405 * font.c (font_list_entities): Fix handling of cache.
8406 (font_matching_entity): Likewise.
8407
8408 * ftfont.c (cs_iso8859_1): Delete.
8409 (ft_face_cache): New variable.
8410 (struct ftfont_info): New member fc_charset_idx.
8411 (ftfont_build_basic_charsets): Delete.
8412 (fc_charset_table): New variable.
8413 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
8414 . FC_CHARSET_IDX) as :font-entity property in the font entity.
8415 Callers changed.
8416 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8417 (ftfont_spec_pattern): New argument fc_charset_idx.
8418 Check registry more rigidly. Change callers.
8419 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
8420 change of :font-entity property of the font.
8421
8422 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
8423 property of the font.
8424
84252008-05-18 Juanma Barranquero <lekktu@gmail.com>
8426
8427 * coding.c (Fcoding_system_p): Rename argument to match docstring.
8428 (Funencodable_char_position, Fcheck_coding_systems_region)
8429 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
8430 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
8431 (Ffind_operation_coding_system, Fset_coding_system_priority)
8432 (Fcoding_system_eol_type): Doc fixes.
8433
84342008-05-17 Glenn Morris <rgm@gnu.org>
8435
8436 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
8437
84382008-05-16 Eli Zaretskii <eliz@gnu.org>
8439
8440 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
8441 and st_gid.
8442
8443 * frame.c (Fdelete_frame): Don't call font_update_drivers if
8444 HAVE_WINDOW_SYSTEM is not defined.
8445
8446 * xfaces.c (merge_face_ref, merge_face_vectors)
8447 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
8448 HAVE_WINDOW_SYSTEM is defined.
8449 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
8450
84512008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
8452
8453 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
8454
84552008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8456
8457 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
8458
84592008-05-15 Kenichi Handa <handa@m17n.org>
8460
8461 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
8462 preference.
8463
84642008-05-15 Glenn Morris <rgm@gnu.org>
8465
8466 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
8467
84682008-05-15 Chong Yidong <cyd@stupidchicken.com>
8469
8470 * fns.c (init_fns): Don't initialize weak_hash_tables here.
8471 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
8472
8473 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
8474
84752008-05-15 Kenichi Handa <handa@m17n.org>
8476
8477 * ftfont.c (ftfont_list): Downcase family name to check generic
8478 families.
8479
8480 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
8481 font-spec for QCfont value.
8482
8483 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
8484 buffer. Check the return value of it.
8485
84862008-05-14 Jason Rumney <jasonr@gnu.org>
8487
8488 * w32term.c (w32_get_glyph_overhangs): Remove.
8489 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
8490
84912008-05-14 Kenichi Handa <handa@m17n.org>
8492
8493 * font.c (font_prop_validate): Make nil a valid value.
8494 (font_clear_cache): Check if the cached vector of entities is nil
8495 or not.
8496
84972008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8498
8499 * emacs.c (main_thread): Conditionalize on
8500 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8501 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
8502
8503 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
8504 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
8505 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8506
85072008-05-14 Kenichi Handa <handa@m17n.org>
8508
8509 * coding.c (detect_coding_iso_2022): Ignore a coding category that
8510 has no corresponding coding system.
8511
85122008-05-14 Jason Rumney <jasonr@gnu.org>
8513
8514 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
8515
8516 * w32font.h (w32font_open_internal): Update declaration.
8517
8518 * w32font.c (w32font_open_internal): Change last argument from
8519 w32font_info struct to font object. Fill in font object from
8520 font_entity. Get Outline metrics if possible. Use them to
8521 calculate underline position and thickness. Use xlfd name as name
8522 property. Don't set codepage.
8523 (w32font_open): Pass font_object to w32font_open_internal. Don't
8524 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
8525 (w32font_draw): Use s->font.
8526 (clear_cached_metrics): Don't clear non-existent blocks.
8527
8528 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
8529 font was not found.
8530 (x_draw_glyph_string): Use underline position and thickness from font.
8531
8532 * w32uniscribe.c (uniscribe_open): Pass font_object to
8533 w32font_open_internal.
8534
85352008-05-14 Kenichi Handa <handa@m17n.org>
8536
8537 These changes are to delete all legacy font-handling codes, and
8538 make Emacs use only font-backends.
8539
8540 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
8541 (frame.o, image.o, print.o): Depend on $(FONTSRC).
8542
8543 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
8544
8545 * charset.h (Vcharset_non_preferred_head)
8546 (Vcurrent_iso639_language): Extern them.
8547
8548 * charset.c (Vcharset_non_preferred_head): New variable.
8549 (Vcurrent_iso639_language): New variable.
8550 (syms_of_charset): Declare it as a Lisp variable.
8551 (char_charset): Don't check non preferred charsets. As a last
8552 resort, return charset_unicode.
8553 (Fset_charset_priority): Update Vcharset_non_preferred_head.
8554
8555 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
8556 conditionals. Don't check enable_font_backend. Delete all codes
8557 used only when USE_FONT_BACKEND is not defined.
8558
8559 * dispextern.h (struct glyph_string): Change type of `font' to
8560 `struct font *'.
8561 (struct glyph_string): New member underline_position and
8562 underline_thickness.
8563 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
8564 (struct face): Change type of `font' to `struct font *'. Remove
8565 members `font_name', `font_info_id'.
8566 (per_char_metric, encode_char): Delete externs.
8567 (calc_pixel_width_or_height): Adjust the prototype.
8568
8569 * emacs.c (enable_font_backend): Delete extern.
8570 (main): Don't set enable_font_backend. Don't check the command
8571 line argument "-disable-font-backend".
8572
8573 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
8574 (enum font_property_index): New members FONT_DPI_INDEX,
8575 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
8576 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
8577 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
8578 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
8579 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
8580 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
8581 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
8582 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
8583 (struct font_spec, struct font_entity): New structs.
8584 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
8585 (struct font): Many members from old "struct font_info" moved to
8586 here. Members font and entity deleted.
8587 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
8588 the new font-related objects.
8589 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
8590 (CHECK_FONT_GET_OBJECT): Likewise.
8591 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
8592 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
8593 (struct font_driver): New members case_sensitive anc check. Type
8594 of the member list and open changed.
8595 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
8596 (font_symbolic_width, font_find_object, font_get_spec)
8597 (font_set_lface_from_name): Delete extern.
8598 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
8599
8600 * font.c: Include <strings.h>.
8601 (enable_font_backend): Delete it.
8602 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
8603 (CHECK_VALIDATE_FONT_SPEC): Delete it.
8604 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
8605 (null_string): Delete it.
8606 (null_vector): Make it static.
8607 (font_family_alist): Delete it.
8608 (Qnormal): Extern it.
8609 (QCextra, QClanguage): Delete it.
8610 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
8611 (font_make_spec, font_make_entity, font_make_object)
8612 (font_intern_prop): Renamed from intern_downcase. Don't downcase
8613 the string. Callers changed.
8614 (font_pixel_size): Adjusted for the format change of font-related
8615 objects.
8616 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
8617 (font_style_to_value, font_style_symbolic): New function.
8618 (build_font_family_alist): Delete it.
8619 (font_registry_charsets): Use Fassoc_string instead of
8620 assq_no_quit.
8621 (font_prop_validate_symbol): Don't return null_string.
8622 (font_prop_validate_style): Adjusted for the change of
8623 style-related values in a font vector.
8624 (font_property_table): Delete entries for QClanguage and
8625 QCantialias, add entries for QCavgwidth.
8626 (get_font_prop_index): Delete the 2nd argument FROM.
8627 (font_prop_validate): Arguments changed.
8628 (font_put_extra): Adjusted for the change of font-related objects.
8629 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
8630 (font_parse_fcname, font_unparse_fcname)
8631 (font_prepare_composition): Likewise.
8632 (font_parse_family_registry): Renamed from font_merge_old_spec.
8633 (otf_open): Delete the 1st arg entity.
8634 (font_otf_capability): Adjusted for the above change.
8635 (font_score): New arg alternate_families. Adjusted for the change
8636 of font-related objects.
8637 (font_sort_entites): New arg best_only.
8638 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
8639 Delete them.
8640 (font_match_p): Check alternate families.
8641 (font_find_object): Delete it.
8642 (font_check_object): New function.
8643 (font_clear_cache): Adjusted for the change of font-related objects.
8644 (font_delete_unmatched): New arg.
8645 (font_list_entities): Call font_driver->list with a spec that
8646 doesn't specify style-related properties.
8647 (font_matching_entity): Arguments changed. Caller changed.
8648 (font_open_entity): Adjusted for the change of font-related objects.
8649 (font_close_object, font_has_char, font_encode_char)
8650 (font_get_name, font_get_spec): Likewise.
8651 (font_spec_from_name, font_clear_prop, font_update_lface):
8652 New functions.
8653 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
8654 (font_prepare_for_face, font_done_for_face, font_open_by_name)
8655 (font_at): Adjusted for the change of font-related objects.
8656 (font_range): New function.
8657 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
8658 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
8659 (Fcopy_font_spec, Fmerge_font_spec): New function.
8660 (Ffont_family_list): Renamed from list-families.
8661 (Finternal_set_font_style_table): Arguments changed.
8662 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
8663 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
8664 change of font-related objects.
8665 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
8666
8667 * fontset.h (struct font_info): Delete it. Most members go to
8668 struct font.
8669 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
8670 (enum FONT_SPEC_INDEX): Delete it.
8671 (font_info, list_fonts_func, load_font_func, query_font_func)
8672 (set_frame_fontset_func, find_ccl_program_func)
8673 (get_font_repertory_func, new_fontset_from_font_name): Delete
8674 externs.
8675 (fontset_from_font_name): Extern it.
8676 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
8677 (FONT_INFO_FROM_FACE): Deleted.
8678 (face_for_font): Adjust prototype.
8679
8680 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
8681 conditionals. Don't check enable_font_backend. Delete all codes
8682 used only when USE_FONT_BACKEND is not defined.
8683 (get_font_info_func, list_font_func, load_font_func)
8684 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
8685 (get_font_repertory_func): Delete them.
8686 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
8687 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
8688 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
8689 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
8690 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
8691 (fontset_compare_rfontdef): New function.
8692 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
8693 rfont-defs by qsort. Adjusted for the change of font-group vector.
8694 (load_font_get_repertory): Deleted.
8695 (fontset_find_font): Use new macros to ref/set elements of
8696 font-def and rfont-def.
8697 (fontset_font): Fix the timing of remembering that no font for C.
8698 (free_face_fontset): Do nothing if the face has no fontset.
8699 (face_suitable_for_char_p): Use new macros to ref/set elements of
8700 rfont-def.
8701 (face_for_char): Likewise. Call face_for_char with font_object.
8702 (fs_load_font): Delete. Delete #pragma surrounding it.
8703 (fs_query_fontset): Use strcasecmp instead of strcmp.
8704 (generate_ascii_font_name): Adjusted for the format change of
8705 font-spec.
8706 (Fset_fontset_font): Likewise. Use new macros to set elements of
8707 font-def.
8708 (Fnew_fontset): Use font_unparse_xlfd to generate
8709 FONTSET_ASCII (fontset).
8710 (new_fontset_from_font_name): Deleted.
8711 (fontset_from_font): Renamed from new_fontset_from_font. Check if
8712 a fontset is already created for the font. FIx updating of
8713 Vfontset_alias_alist.
8714 (fontset_ascii_font): Deleted.
8715 (Ffont_info): Adjusted for the format change of font-spec.
8716 (Finternal_char_font): Likewise.
8717 (Ffontset_info): Likewise.
8718 (syms_of_fontset): Don't check load_font_func.
8719
8720 * fns.c (internal_equal): Handle PREV_FONT.
8721
8722 * frame.h: Delete USE_FONT_BACKEND conditional.
8723
8724 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
8725 conditionals. Don't check enable_font_backend. Delete all codes
8726 used only when USE_FONT_BACKEND is not defined.
8727 (x_set_font): Call x_new_font, not x_new_fontset2.
8728 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
8729 already set for the frame.
8730
8731 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
8732 a font-entity by font_make_entity. Use font_intern_prop instead
8733 of intern_downcase. Use FONT_SET_STYLE to set a style-related
8734 font property. If a font is scalable, set avgwidth property to 0.
8735 Set font-entity property by font_put_extra.
8736 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
8737 (ffont_driver): Adjusted for the change of struct font_driver.
8738 (ftfont_spec_pattern): New function.
8739 (ftfont_list): Return a list, not vector.
8740 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
8741 (ftfont_list_family): Don't downcase names.
8742 (ftfont_free_entity): Deleted.
8743 (ftfont_open): Return a font-object. Adjusted for the change of
8744 struct font. Get underline_thickness and underline_position from
8745 font property. Don't update dpyinfo->smallest_font_height and
8746 dpyinfo->smallest_char_width.
8747 (ftfont_close): Don't free `struct font'.
8748 (ftfont_has_char): Adjusted for the format change of font-entity.
8749 (ftfont_encode_char, ftfont_text_extents): Likewise.
8750
8751 * ftxfont.c (ftxfont_list): Return a list, not vector.
8752 (ftxfont_open): Return a font-object. Adjusted for the change of
8753 struct font. Get underline_thickness and underline_position from
8754 font property. Don't update dpyinfo->smallest_font_height and
8755 dpyinfo->smallest_char_width.
8756 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
8757 (ftxfont_draw): Adjusted for the change of struct font.
8758
8759 * image.c (image_ascent): Don't include "charset.h". Include
8760 "character.h" and "font.h".
8761
8762 * lisp.h (enum pvec_type): New member PREV_FONT.
8763 (Fassoc_string): EXFUN it.
8764
8765 * print.c: Include font.h.
8766 (print_object): Handle font-related objects.
8767
8768 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
8769 conditionals. Don't check enable_font_backend. Delete all codes
8770 used only when USE_FONT_BACKEND is not defined.
8771 (handle_auto_composed_prop): Do nothing if it->f is not on a
8772 window system. Check how many following characters can be
8773 displayed by the same font.
8774 (calc_pixel_width_or_height): Type of the 4th arg is changed to
8775 'struct font *'.
8776 (get_char_face_and_encoding): Assign the whole encoding task to
8777 the `encode-char' method of a font driver.
8778 (fill_composite_glyph_string): Adjusted for the change of `struct
8779 face' and `struct glyph_string'.
8780 (fill_glyph_string): Likewise.
8781 (get_per_char_metric): Arguments changed.
8782 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
8783 and `struct glyph_string'.
8784 (produce_stretch_glyph, calc_line_height_property)
8785 (x_produce_glyphs): Likewise.
8786
8787 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
8788 conditionals. Don't check enable_font_backend. Delete all codes
8789 used only when USE_FONT_BACKEND is not defined. Use
8790 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
8791 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
8792 (Qp): Extern them.
8793 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
8794 Deleted.
8795 (struct font_name): Deleted.
8796 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
8797 (compare_fonts_by_sort_order): New function.
8798 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
8799 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
8800 Deleted.
8801 (Fx_family_fonts): Use font_list_entities, and sort fonts by
8802 compare_fonts_by_sort_order.
8803 (Fx_font_family_list): Call Ffont_family_list.
8804 (face_numeric_value, face_numeric_weight, face_numeric_slant)
8805 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
8806 (face_symbolic_slant, face_symbolic_swidth)
8807 (split_font_name_into_vector, build_font_name_from_vector)
8808 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
8809 (font_rescale_ratio, split_font_name, build_font_name)
8810 (free_font_names, sort_fonts, x_face_list_fonts)
8811 (face_font_available_p, sorted_font_list, cmp_font_names)
8812 (font_list_1, concat_font_list, font_list, remove_duplicates):
8813 Deleted.
8814 (Fx_list_fonts): Use Ffont_list.
8815 (LFACE_AVGWIDTH): Deleted.
8816 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
8817 by FONTP.
8818 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
8819 (set_lface_from_font_name): Delete it.
8820 (set_lface_from_font): Renamed from
8821 set_lface_from_font_and_fontset. Caller changed. Don't set
8822 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
8823 for face.
8824 (merge_face_vectors): Copy font-spec if necessary.
8825 Clear properties of the font-spec if necessary.
8826 (merge_face_ref): Clear properties of the font-spec if necessary.
8827 (Finternal_set_lisp_face_attribute): Likewise.
8828 (set_font_frame_param): Use font_load_for_lface to load a
8829 font-object, and call Fmodify_frame_parameters with it.
8830 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
8831 font name by Ffont_xlfd_name.
8832 (Finternal_lisp_face_attribute_values): Don't check QCweight,
8833 QCslant, and QCwidth.
8834 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
8835 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
8836 Compare fonts by EQ.
8837 (lookup_non_ascii_face): Deleted.
8838 (face_for_font): The 2nd argument changed.
8839 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
8840 Check atomic font properties by case insensitive.
8841 (realize_non_ascii_face): Set face->overstrike correctly.
8842 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
8843 (dump_realized_face): Get font name from
8844 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
8845
8846 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
8847 conditionals. Don't check enable_font_backend. Delete all codes
8848 used only when USE_FONT_BACKEND is not defined.
8849 (xic_create_xfontset): Original code deleted and renamed from
8850 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
8851 (x_make_gc): Don't set GCFont in GCs.
8852 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
8853 opened by "fixed".
8854 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
8855 find_ccl_program_func, query_font_func, set_frame_fontset_func,
8856 get_font_repertory_func.
8857
8858 * xfont.c: Include <stdlib.h> and "ccl.h".
8859 (struct xfont_info): New structure.
8860 (xfont_query_font): Deleted.
8861 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
8862 moved from xterm.c.
8863 (xfont_driver): Adjusted for the change of struct font_driver.
8864 (compare_font_names): New function.
8865 (xfont_list_pattern): Sort font names case insensitively. Make
8866 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
8867 (xfont_list): Return a list, not vector.
8868 (xfont_match): If the font doesn't have QCname property, generate
8869 a name from the other font properties.
8870 (xfont_open): Return a font-object. Adjusted for the change of
8871 struct font. Get underline_thickness and underline_position from
8872 font property. Don't update dpyinfo->smallest_font_height and
8873 dpyinfo->smallest_char_width.
8874 (xfont_close): Don't free struct font.
8875 (xfont_prepare_face): Adjusted for the change of struct font.
8876 (xfont_done_face): Deleted.
8877 (xfont_has_char): Adjusted for the change of struct font.
8878 (xfont_encode_char, xfont_draw): Likewise.
8879 (xfont_check): New function.
8880
8881 * xftfont.c (xftfont_list): Adjusted for the change of `list'
8882 callback function.
8883 (xftfont_match): Adjusted for the format change of font-entity.
8884 (xftfont_open): Adjusted for the format change of font-entity and
8885 font-object. Adjusted for the change of struct font. Return a
8886 font-object. Don't update dpyinfo->smallest_font_height and
8887 dpyinfo->smallest_char_width.
8888 (xftfont_close): Block input while calling XftFontClose.
8889 (xftfont_prepare_face): Don't block input while calling
8890 xftfont_get_colors. Adjusted for the change of struct font.
8891 (xftfont_shape): Return value of error case fixed.
8892
8893 * xrdb.c (x_load_resources): Don't setup a fontset resource.
8894
8895 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
8896 conditionals.
8897 (FONT_WIDTH): Return (f)->max_width.
8898 (struct x_display_info): Delete member `font'.
8899 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
8900 (x_find_ccl_program, x_get_font_repertory): Delete externs.
8901 (struct x_output): Change type of `font' to `struct font *'.
8902
8903 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
8904 conditionals. Don't check enable_font_backend. Delete all codes
8905 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
8906 (x_per_char_metric, x_encode_char): Deleted.
8907 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
8908 (x_compute_glyph_string_overhangs): Adjusted for the change of
8909 `struct face'.
8910 (x_draw_glyph_string_foreground)
8911 (x_draw_composite_glyph_string_foreground): Likewise.
8912 (x_draw_glyph_string): Likewise. Use font->underline_position and
8913 font->underline_thickness.
8914 (x_new_font): Renamed from x_new_fontset2.
8915 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
8916 (x_check_font): Call `check' method of a font driver.
8917 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
8918 (x_query_font, x_get_font_repertory): Deleted.
8919 (x_find_ccl_program): Renamed and moved to xfont.c.
8920 (x_redisplay_interface): Adjusted for the change of `struct
8921 redisplay_interface'.
8922
8923 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
8924 conditionals. Don't check enable_font_backend. Delete all codes
8925 used only when USE_FONT_BACKEND is not defined. Surround non-used
8926 code by "#ifdef OLD_FONT" and "endif".
8927 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
8928
8929 * w32font.h (struct w32font_info): New member.
8930 (FONT_COMPAT): New macro.
8931 (w32font_open_internal): Prototype adjusted.
8932
8933 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
8934 OLD_FONT" and "endif".
8935
8936 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
8937 conditionals. Don't check enable_font_backend. Delete all codes
8938 used only when USE_FONT_BACKEND is not defined.
8939 (w32font_open): Return a font-object. Make a font-object by
8940 font_make_object. Adjusted for the change of struct w32font_info.
8941 (w32font_close): Don't free struct font. Adjusted for the change
8942 of struct w32font_info.
8943 (w32font_encode_char, w32font_text_extents, w32font_draw):
8944 Adjusted for the change of struct w32font_info.
8945 (w32font_draw): Likewise.
8946 (w32font_list_internal): Return a list, not vector.
8947 (w32font_open_internal): Change the 4th arg to font-object.
8948 Adjusted for the change of struct w32font_info and font-object format.
8949 (add_font_name_to_list): Don't downcase names.
8950 (w32_enumfont_pattern_entity): Make a font-entity by
8951 font_make_entity. Adjusted for the format change of font-entity.
8952 Use FONT_SET_STYLE to set a style-related font property. If a
8953 font is scalable, set avgwidth property to 0. Set font-entity
8954 property by font_put_extra.
8955 (font_matches_spec): Adjusted for the format change of font-entity.
8956 (w32_weight_table, w32_decode_weight): New variables.
8957 (w32_encode_weight): New function.
8958 (fill_in_logfont): Adjusted for the format change of font-spec.
8959 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
8960 weight value.
8961 (w32font_driver): Adjusted for the change of struct font_driver.
8962
8963 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
8964 conditionals. Don't check enable_font_backend. Surround non-used
8965 code by "#ifdef OLD_FONT" and "endif".
8966 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
8967 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
8968
8969 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
8970 conditionals. Don't check enable_font_backend. Delete all codes
8971 used only when USE_FONT_BACKEND is not defined. Surround non-used
8972 code by "#ifdef OLD_FONT" and "endif".
8973
8974 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
8975 (uniscribe_open): Return value changed to font-object.
8976 Adjusted for the format change of font-object.
8977 (uniscribe_otf_capability): Adjusted for the change of struct font.
8978 (add_opentype_font_name_to_list): Don't downcase names.
8979 (uniscribe_font_driver): Adjusted for the change of struct
8980 font_driver.
8981
89822008-05-13 Chong Yidong <cyd@stupidchicken.com>
8983
8984 * dispnew.c (update_frame_1): Check if tty output is still valid
8985 before flushing it.
8986
89872008-05-13 Jan Djärv <jan.h.d@swipnet.se>
8988
8989 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
8990 to Gtk+ menus.
8991
89922008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
8993
8994 * dired.c (file_name_completion): Tweak the code so as to always do it
8995 in a single pass. Tighten the scope of some variables.
8996
8997 * dired.c (Qdefault_directory): New var.
8998 (file_name_completion): Use it instead of Fexpand_file_name.
8999 (syms_of_dired): Initialize it.
9000
90012008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
9002
9003 * fileio.c (double_dollars): Remove dead code.
9004
90052008-05-10 Eli Zaretskii <eliz@gnu.org>
9006
9007 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
9008 Mention w32-get-true-file-attributes in doc string.
9009
9010 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
9011
90122008-05-09 Glenn Morris <rgm@gnu.org>
9013
9014 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
9015 2008-04-23.
9016
90172008-05-09 Eli Zaretskii <eliz@gnu.org>
9018
9019 Support for reporting owner and group of each file on MS-Windows:
9020 * dired.c (stat_uname, stat_gname): New functions, with special
9021 implementation for w32.
9022 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
9023
9024 * w32.c: Rename the_passwd_* to dflt_passwd_*.
9025 (dflt_group_name): New static variable.
9026 (dflt_group): Rename from the_group.
9027 (init_user_info): Init dflt_group fields. Get user's group name
9028 from LookupAccountSid.
9029 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
9030 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
9031 New initialization states.
9032 (globals_of_w32): Initialize them to zero. Initialize the default
9033 group name to "None".
9034 (GetFileSecurity_Name): New global var, the name of the function
9035 to call for GetFileSecurity.
9036 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
9037 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
9038 (get_file_security, get_security_descriptor_owner)
9039 (get_security_descriptor_group, is_valid_sid)
9040 (get_file_security_desc, get_rid, get_name_and_id)
9041 (get_file_owner_and_group): New functions.
9042 (stat): Use get_file_security_desc and get_file_owner_and_group to
9043 report the owner and primary group of each file. Don't ignore the
9044 high 32 bits of file's size, now that st_size is 64-bit wide.
9045 Fix test when to get true file attributes.
9046 (init_user_info): Use get_rid instead of equivalent inline code.
9047 (fstat): Don't ignore the high 32 bits of file's size.
9048
90492008-05-09 Chong Yidong <cyd@stupidchicken.com>
9050
9051 * image.c (png_load): Use correct bit-depth for setting background
9052 color.
9053
90542008-05-08 Eli Zaretskii <eliz@gnu.org>
9055
9056 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
9057 epa-hook.elc.
9058
90592008-05-08 Juanma Barranquero <lekktu@gmail.com>
9060
9061 * font.c (Ffont_match_p): Don't use `iff' in docstring.
9062
90632008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
9064
9065 * macfns.c (Fx_create_frame): Make a copy of frame parameters
9066 because the original parameters are in pure storage now.
9067 (mac_window): Remove unused params. Update callers.
9068
90692008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
9070
9071 * lread.c (substitute_object_recurse): Use lower-level primitives.
9072 Don't signal errors when traversing sub-char-tables.
9073 Don't loop over all the possible characters when traversing char-tables.
9074
9075 * print.c (print_preprocess): Add sub-char-tables to the print-table,
9076 just like we do in print.c.
9077
90782008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
9079
9080 * minibuf.c (Ftry_completion): Remove code left over from when we used
9081 scmp instead of Fcompare_strings.
9082
90832008-05-04 Juanma Barranquero <lekktu@gmail.com>
9084
9085 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
9086
90872008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9088
9089 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
9090 Create bitmap context in native byte order.
9091
9092 * macterm.c (XDrawLine)
9093 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
9094 context in native byte order.
9095
90962008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9097
9098 * config.in: Regenerate.
9099
9100 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
9101 New definitions for Image I/O support.
9102 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
9103 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
9104 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9105 (mac_data_provider_release_data, image_load_image_io)
9106 [USE_MAC_IMAGE_IO]: New functions.
9107 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
9108 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
9109 (init_image_func_pointer) [MAC_OSX]: Remove function.
9110 (image_load_quartz2d) [MAC_OSX]: Check availability of
9111 CGImageCreateWithPNGDataProvider at compile time.
9112 Use lowercase `false' for boolean constant.
9113 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
9114 Use image_load_image_io.
9115 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
9116 Don't check MyCGImageCreateWithPNGDataProvider.
9117 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
9118 Don't call init_image_func_pointer.
9119
9120 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
9121
9122 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
9123 Make variable non-static.
9124 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
9125 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9126
9127 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
9128 (RED_FROM_ULONG): Mask off higher bits.
9129 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
9130
9131 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
9132 Include AvailabilityMacros.h.
9133 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
9134 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
9135
91362008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
9137
9138 * chartab.c (Fset_char_table_range): If range is t, really set all
9139 chars to that value.
9140
91412008-05-03 Eli Zaretskii <eliz@gnu.org>
9142
9143 * dired.c (Ffile_attributes): Don't allow the device number become
9144 negative.
9145
91462008-05-02 Daiki Ueno <ueno@unixuser.org>
9147
9148 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
9149
91502008-05-02 Juri Linkov <juri@jurta.org>
9151
9152 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
9153 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
9154 DEFAULT argument as a list of default values in docstrings.
9155
91562008-05-01 Chong Yidong <cyd@stupidchicken.com>
9157
9158 * puresize.h (BASE_PURESIZE): Increase to 1210000.
9159
91602008-05-01 Martin Rudalics <rudalics@gmx.at>
9161
9162 * dispnew.c (change_frame_size_1): Preserve small windows when
9163 shrinking frames by calling set_window_height|width with third
9164 arg 2.
9165
9166 * window.h (struct window): Replace field too_small_ok by field
9167 resize_proportionally.
9168
9169 * window.c (make_window): Initialize resize_proportionally.
9170 (enlarge_window): Temporarily set resize_proportionally to make
9171 sure that shrink_windows does scale the window proportionally.
9172 (shrink_windows): When window has resize_proportionally set try
9173 to shrink it proportionally by stealing from other windows.
9174 (struct saved_window, Fset_window_configuration)
9175 (compare_window_configurations): Handle resize_proportionally.
9176 (WINDOW_TOTAL_SIZE): New macro.
9177 (window_min_size, shrink_windows, size_window): Use it.
9178 (check_min_window_sizes): Remove. Invalid values of
9179 window-min-height|width are handled by window_min_size_2 now.
9180 (size_window, Fsplit_window, enlarge_window)
9181 (adjust_window_trailing_edge, grow_mini_window): Don't call
9182 check_min_window_sizes.
9183 (window_min_size_2, window_min_size_1, window_min_size):
9184 New argument safe_p for retrieving "safe" minimum sizes.
9185 (Fdisplay_buffer, Fsplit_window, enlarge_window)
9186 (adjust_window_trailing_edge, grow_mini_window):
9187 Adjust arguments of window_min_size... functions.
9188 (shrink_windows): Argument min_size removed. New argument
9189 safe_p allows shrinking windows to their safe minimum sizes.
9190 Calculate minimum size and decide whether a window shall be
9191 deleted for each window individually.
9192 (size_window): When nodelete_p equals 2, tell shrink_windows to
9193 delete windows only if their new minimum size is no more safe.
9194 (shrink_window_lowest_first): Call window_min_size_1 to make
9195 sure to preserve modeline of bottom-most window when resizing
9196 the minibuffer.
9197 (Fset_window_configuration, Fcurrent_window_configuration)
9198 (compare_window_configurations): Do not handle
9199 window-min-height|width any more.
9200 (syms_of_window): Clarify window-min-height|width doc-strings.
9201
92022008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
9203
9204 * dired.c (file_name_completion): Fix up the encoding/decoding issue
9205 some more. Copy some of the code from Ftry_completions.
9206 Remove special case code that dates back to initial revision when the
9207 slash was only added when necessary and that can't trigger nowadays.
9208
92092008-04-27 Kenichi Handa <handa@m17n.org>
9210
9211 * font.c (font_prop_validate): Signal `error' instead of `font'.
9212
92132008-04-29 Jason Rumney <jasonr@gnu.org>
9214
9215 * w32fns.c (Fw32_battery_status): New defun.
9216 (syms_of_w32fns): Defsubr it.
9217
92182008-04-28 Andreas Schwab <schwab@suse.de>
9219
9220 * dired.c (file_name_completion): Fix another mixing of encoded
9221 and decoded names.
9222
92232008-04-28 Juanma Barranquero <lekktu@gmail.com>
9224
9225 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
9226
92272008-04-27 Juanma Barranquero <lekktu@gmail.com>
9228
9229 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
9230
92312008-04-27 Andreas Schwab <schwab@suse.de>
9232
9233 * dired.c (file_name_completion): Fix inappropriate mixing of
9234 encoded and decoded names.
9235
9236 * xterm.c (XTread_socket): Fix use of uninitialized variable.
9237
9238 * puresize.h (BASE_PURESIZE): Increase to 1200000.
9239
92402008-04-26 Eli Zaretskii <eliz@gnu.org>
9241
9242 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
9243 2008-03-31, it's not needed anymore with `struct stat' definition
9244 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
9245 for the same reasons.
9246
92472008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
9248
9249 * m/sparc.h: Additional redefinitions for GNU/Linux.
9250
92512008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9252
9253 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
9254 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
9255 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
9256 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
9257 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9258 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
9259 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9260 Likewise.
9261
9262 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
9263 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
9264 (mac_ax_number_of_characters): Add externs.
9265 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9266 [USE_MAC_TSM]: Likewise.
9267 (mac_handle_text_input_event) [MAC_OSX]:
9268 Handle kEventTextInputOffsetToPos for no active input area case.
9269 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9270 (mac_handle_document_access_event)
9271 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
9272 (install_application_handler) [MAC_OSX]: Register handlers for
9273 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9274 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9275 Register mac_handle_document_access_event.
9276
9277 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
9278 Make functions non-static.
9279
92802008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
9281
9282 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
9283 (read_file_name_completion_ignore_case, insert_default_directory)
9284 (Qdefault_directory): Move to minibuffer.el.
9285 (Fread_file_name): Call the new `read-file-name' instead.
9286
92872008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9288
9289 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
9290 Make function non-static.
9291 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
9292 Remove function.
9293 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9294 Move to mactoolbox.c.
9295 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
9296
9297 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
9298 (mac_rect_make): New macro.
9299
9300 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
9301 instead of float.
9302 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9303 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
9304 (XSetBackground) [USE_CG_DRAWING]: Likewise.
9305 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
9306 CGRectMake.
9307 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9308 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
9309 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
9310 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9311 instead of WindowRef in argument type.
9312 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
9313 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
9314 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
9315 instead of DISPLAY. All uses changed.
9316 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
9317 (x_calc_absolute_position): Simplify so as not to use
9318 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
9319
9320 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9321 instead of WindowRef in argument type.
9322 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
9323 [TARGET_API_MAC_CARBON]: Remove externs.
9324 (create_apple_event, mac_event_parameters_to_lisp)
9325 [TARGET_API_MAC_CARBON]: Add externs.
9326
9327 * mactoolbox.c (Vmac_ts_script_language_on_focus)
9328 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
9329 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
9330 is clicked.
9331 (x_activate_menubar): Remove extern for saved_menu_event_location.
9332 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9333 Move from mac.c.
9334
93352008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9336
9337 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
9338 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
9339
93402008-04-23 Jason Rumney <jasonr@gnu.org>
9341
9342 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
9343 attributes only for local files.
9344
9345 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
9346 default to Qlocal.
9347
93482008-04-22 Juri Linkov <juri@jurta.org>
9349
9350 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
9351 read-buffer-to-switch instead of using the letter "B".
9352
93532008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
9354
9355 * fileio.c (Qdefault_directory): New variable.
9356 (Fread_file_name): Use it to pass `dir' to the completion functions.
9357
93582008-04-20 Chong Yidong <cyd@stupidchicken.com>
9359
9360 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
9361
93622008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
9363
9364 * keyboard.c (Vpre_help_message): Remove.
9365 (show_help_echo): Remove default C code.
9366
9367 * dired.c (directory_files_internal, file_name_completion):
9368 Only call ENCODE_FILE if the string is indeed decoded.
9369
93702008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9371
9372 * Makefile.in (TOOLKIT_DEFINES): Remove.
9373 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
9374
93752008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9376
9377 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
9378 (mactoolbox.o): New target.
9379
9380 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
9381 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
9382
9383 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
9384 Use mac_set_frame_window_background instead of XSetWindowBackground.
9385 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
9386 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
9387 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
9388 instead of SetWindowTitleWithCFString.
9389 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
9390 Move function to mactoolbox.c.
9391 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
9392 Use mac_set_window_modified instead of SetWindowModified.
9393 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
9394 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
9395 (Fx_focus_frame): Use mac_front_non_floating_window instead of
9396 FrontNonFloatingWindow. Use mac_activate_window instead of
9397 ActivateWindow. Use mac_active_non_floating_window instead of
9398 ActiveNonFloatingWindow.
9399 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
9400 Use mac_show_hourglass and mac_hide_hourglass.
9401 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
9402 instead of GetGlobalMouse.
9403 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
9404 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
9405 Use mac_bring_window_to_front instead of BringToFront.
9406 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
9407 mactoolbox.c.
9408 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
9409 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
9410 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
9411 mactoolbox.c.
9412
9413 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
9414 (XtPointer): Move typedef from macmenu.c.
9415 (enum button_type): Move enum from macmenu.c.
9416 (widget_value): Move typedef from macmenu.c.
9417 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
9418 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9419 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9420 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9421 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9422 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9423 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9424 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
9425 (Selection): Move typedef from macselect.c.
9426 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
9427 macterm.c.
9428 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
9429 (mac_is_window_collapsed, mac_bring_window_to_front)
9430 (mac_send_window_behind, mac_hide_window, mac_show_window)
9431 (mac_collapse_window, mac_front_non_floating_window)
9432 (mac_active_non_floating_window, mac_activate_window)
9433 (mac_move_window_structure, mac_move_window, mac_size_window)
9434 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
9435
9436 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
9437 (enum mac_menu_kind): Move enum to mactoolbox.c.
9438 (min_menu_id): Move variable to mactoolbox.c.
9439 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
9440 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
9441 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
9442 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
9443 [TARGET_API_MAC_CARBON]: Likewise.
9444 (XtPointer): Move typedef to macgui.h.
9445 (enum button_type): Move enum to macgui.h.
9446 (widget_value): Move typedef to macgui.h.
9447 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9448 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9449 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9450 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9451 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9452 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9453 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
9454 (popup_activated_flag): Make variable non-static.
9455 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
9456 (add_menu_item, fill_menu, dispose_menus):
9457 Move functions to mactoolbox.c.
9458 (restore_show_help_function, menu_target_item_handler)
9459 (install_menu_target_item_handler, mac_handle_dialog_event)
9460 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
9461 [TARGET_API_MAC_CARBON]: Likewise.
9462 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
9463 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9464 (find_and_call_menu_selection, name_is_separator): Make function
9465 non-static.
9466 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
9467 to mactoolbox.c.
9468 (set_frame_menubar): Don't call install_menu_quit_handler.
9469 (menu_item_selection): New variable.
9470 (mac_menu_show): Use create_and_show_popup_menu.
9471 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
9472 selection but set variable menu_item_selection. All uses changed.
9473 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
9474 Call install_menu_quit_handler. Move to mactoolbox.c.
9475
9476 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
9477 (Selection): Move typedef to macgui.h.
9478 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
9479 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
9480 Make variables non-static.
9481 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9482 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
9483 Make functions non-static.
9484 (Vmac_service_selection) [MAC_OSX]: Likewise.
9485 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
9486 (mac_valid_selection_target_p, mac_clear_selection)
9487 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9488 (mac_put_selection_value, mac_selection_has_target_p)
9489 (mac_get_selection_value, mac_get_selection_target_list)
9490 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
9491 Move functions to mactoolbox.c.
9492 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
9493 Likewise.
9494 (copy_scrap_flavor_data, mac_handle_service_event)
9495 (install_service_handler) [MAC_OSX]: Likewise.
9496 (syms_of_macselect) <Vmac_dnd_known_types>:
9497 Use mac_dnd_default_known_types.
9498
9499 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
9500 Move to mactoolbox.c.
9501 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
9502 (Fx_selection_owner_p): Add EXFUN.
9503 (install_window_handler, remove_window_handler, XSetWindowBackground):
9504 Remove externs.
9505 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
9506 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
9507 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
9508 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
9509 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
9510 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
9511 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
9512 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
9513 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
9514 (create_and_show_popup_menu, mac_get_selection_from_symbol)
9515 (mac_valid_selection_target_p, mac_clear_selection)
9516 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9517 (mac_put_selection_value, mac_selection_has_target_p)
9518 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
9519 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
9520 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
9521 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9522 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
9523 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9524 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
9525 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9526 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9527
9528 * mactoolbox.c: New file.
9529
95302008-04-18 Jason Rumney <jasonr@gnu.org>
9531
9532 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
9533
95342008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9535
9536 * character.c (Fmultibyte_char_to_unibyte):
9537 Return latin1 chars unchanged.
9538
9539 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
9540 relocated if it points to `name'.
9541
95422008-04-17 Kenichi Handa <handa@m17n.org>
9543
9544 * data.c (Faset): Allow setting a multibyte character in an
9545 ASCII-only unibyte string.
9546
9547 * lisp.h (STRING_SET_MULTIBYTE): New macro.
9548
95492008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
9550
9551 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
9552 done in config.h.
9553
95542008-04-16 Juanma Barranquero <lekktu@gmail.com>
9555
9556 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
9557 (Fchar_direction): Add usage in the docstring.
9558
95592008-04-15 Chong Yidong <cyd@stupidchicken.com>
9560
9561 * keyboard.c (read_key_sequence): Remove always-true checks.
9562
95632008-04-14 Jason Rumney <jasonr@gnu.org>
9564
9565 * w32font.c (w32font_open_internal): Set max_bounds.descent in
9566 compatibility struct, for better underline positioning.
9567
95682008-04-13 David Hansen <david.hansen@gmx.net>
9569
9570 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
9571 string.
9572
95732008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
9574
9575 * m/hp800.h (XUINT, XSET): Remove.
9576
95772008-04-12 Juanma Barranquero <lekktu@gmail.com>
9578
9579 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
9580 previous change.
9581
95822008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
9583
9584 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
9585 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
9586
95872008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
9588
9589 * keymap.h (map_keymap_canonical): Declare.
9590 * xmenu.c (single_keymap_panes): Use it.
9591
95922008-04-11 Glenn Morris <rgm@gnu.org>
9593
9594 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
9595 set the target's value to that of the alias.
9596
95972008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
9598
9599 * term.c (set_tty_color_mode): Left over typo.
9600
96012008-04-10 Michael Albinus <michael.albinus@gmx.de>
9602
9603 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
9604 only after check for file name handler functions. Signal, when
9605 native functionality is not supported.
9606 (syms_of_fileio): Declare it unconditionally.
9607
96082008-04-10 Jason Rumney <jasonr@gnu.org>
9609
9610 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
9611 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
9612
9613 * w32.c (logon_network_drive): Also logon to remote drives that
9614 are mapped to drive letters.
9615
96162008-04-10 Glenn Morris <rgm@gnu.org>
9617
9618 * xdisp.c (truncate-partial-width-windows): Doc fix.
9619
96202008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
9621
9622 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
9623 Move functions to minibuffer.el.
9624 (syms_of_fileio): Don't declare them.
9625
96262008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
9627
9628 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
9629 (syms_of_minibuf): Remove its initialization.
9630
9631 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
9632
96332008-04-09 Juanma Barranquero <lekktu@gmail.com>
9634
9635 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
9636
96372008-04-09 Jason Rumney <jasonr@gnu.org>
9638
9639 * makefile.w32-in (distclean): Delete makefile too.
9640 (maintainer-clean): New target.
9641
9642 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
9643
9644 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
9645 for new font backend and composite cases.
9646
96472008-04-09 Jan Djärv <jan.h.d@swipnet.se>
9648
9649 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
9650 Most of the code moved to run_timers.
9651 (do_pending_atimers): Call run_timers.
9652 (run_timers): New function.
9653
9654 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
9655 run atimers.
9656
9657 * process.c (wait_reading_process_output): The same as above.
9658
96592008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
9660
9661 * minibuf.c (last_exact_completion): Remove variable.
9662 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
9663 (complete_and_exit_1, complete_and_exit_2)
9664 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
9665 (Fdisplay_completion_list, display_completion_list_1)
9666 (Fminibuffer_completion_help, Fself_insert_and_exit)
9667 (Fexit_minibuffer, Fminibuffer_message): Move functions to
9668 minibuffer.el.
9669 (syms_of_minibuf): Remove corresponding initializations.
9670
9671 * keyboard.c (Qdeactivate_mark): New var.
9672 (command_loop_1): Use it to call `deactivate-mark'.
9673 (syms_of_keyboard): Initialize it.
9674
9675 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
9676 to another frame.
9677 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
9678 Don't call set_tty_color_mode.
9679 (store_frame_param): Reset previous_frame rather than call
9680 set_tty_color_mode.
9681 * term.c (set_tty_color_mode): Rewrite.
9682 * dispextern.h (set_tty_color_mode): New type.
9683 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
9684
96852008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
9686
9687 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
9688 for generic chars, which do not exist any more in emacs-unicode.
9689
96902008-04-08 Michael Albinus <michael.albinus@gmx.de>
9691
9692 * coding.c (detect_coding_emacs_mule)
9693 (Ffind_operation_coding_system): Fix typo.
9694
96952008-04-08 Jason Rumney <jasonr@gnu.org>
9696
9697 * w32uniscribe.c (SNAME): Extract only symbol name.
9698
9699 * w32font.h (struct w32_metric_cache): New struct.
9700 (w32font_info): Use it.
9701 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
9702 (CACHE_BLOCKSIZE): New constants.
9703
9704 * w32font.c (Qja, Qko, Qzh): New symbols.
9705 (syms_of_w32font): Initialise them.
9706 (font_matches_spec): Use them to filter by language.
9707 (recompute_cached_metrics): Remove function.
9708 (compute_metrics, clear_cached_metrics): New functions.
9709 (w32font_encode_char): Use them to manage metric cache.
9710 (w32font_text_extents): Cache metrics for all glyphs on demand.
9711 Delay converting glyph indices to WORD until needed.
9712 (w32font_open_internal): Initialize metric cache to empty.
9713 (registry_to_w32_charset): Charset should always be a symbol.
9714 (fill_in_logfont, list_all_matching_fonts): Family should
9715 always be a symbol.
9716
97172008-04-06 Jason Rumney <jasonr@gnu.org>
9718
9719 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
9720 Give up if glyph indices not supported. Use uniscribe obtained
9721 ABC widths for individual metrics. Map glyph clusters back to
9722 characters using fClusterStart flag. Return number of glyphs
9723 produced, not chars processed.
9724 (uniscribe_shape): Map char at FROM to current glyph.
9725
97262008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9727
9728 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
9729 Use SetMenuItemHierarchicalMenu.
9730
97312008-04-05 Jason Rumney <jasonr@gnu.org>
9732
9733 * image.c (pbm_load): Allow color values up to 65535.
9734 Throw an error if max_color_idx is outside the supported range.
9735 Report an error when image size is invalid.
9736 Read two bytes at a time when raw images have max_color_idx above 255.
9737
97382008-04-05 Eli Zaretskii <eliz@gnu.org>
9739
9740 * w32.c (readdir): If FindFirstFile/FindNextFile return in
9741 cFileName a file name that includes `?' characters, use the 8+3
9742 alias in cAlternateFileName instead.
9743
97442008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
9745
9746 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
9747 append "CCL: Quitted" when the CCL program is quitted.
9748 (setup_ccl_program): Initialize ccl->quit_silently to zero.
9749
9750 * ccl.h (struct ccl_program): New member quit_silently.
9751
97522008-04-05 Chong Yidong <cyd@stupidchicken.com>
9753
9754 * search.c (compile_pattern_1): Treat non-nil and non-string of
9755 search-spaces-regexp as nil.
9756
9757 * minibuf.c (Fassoc_string): Tweak docstring.
9758
97592008-04-05 Eli Zaretskii <eliz@gnu.org>
9760
9761 * dired.c (Ffile_attributes): Support inode numbers wider than 32
9762 bits. Remove ugly WINDOWSNT-specific kludge introduced on
9763 2008-03-14 to force inode be positive.
9764
9765 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
9766 _S_* ones, since we now use our own sys/stat.h.
9767 (stat, fstat): Don't mangle the inode number.
9768 (init_user_info): Don't restrict UID and GID to 0-60000 range.
9769
97702008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
9771
9772 * frame.h (struct frame): Give one more bit to `visible' since we use
9773 values larger than 1 to indicate obscured frames on ttys.
9774
9775 * keymap.c (Qkeymap_canonicalize): New var.
9776 (Fmap_keymap_internal): New fun.
9777 (describe_map): Use keymap-canonicalize.
9778
9779 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
9780 (Fundo_boundary): Set them.
9781 (syms_of_undo): Initialize them.
9782 (record_point): Use them instead of last_point_position*.
9783 (last_undo_buffer): Change type.
9784
97852008-04-04 Jason Rumney <jasonr@gnu.org>
9786
9787 * w32font.c (w32font_text_extents): Use font's ascent and descent.
9788 (recompute_cached_metrics): Don't set ascent and descent per char.
9789
9790 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
9791 (uniscribe_check_otf): Add GC protection before consing.
9792 Rearrange loop for counting features.
9793
97942008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
9795
9796 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
9797 buffer with byte-size of source buffer.
9798
97992008-04-03 Chong Yidong <cyd@stupidchicken.com>
9800
9801 * callint.c (Fcall_interactively): Handle temporary region even
9802 when shift-select-mode is off.
9803
98042008-04-03 Jason Rumney <jasonr@gnu.org>
9805
9806 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
9807
98082008-04-03 Kenichi Handa <handa@m17n.org>
9809
9810 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
9811 (CATEGORY_MASK_UTF_16): Likewise.
9812 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
9813 binary file.
9814 (detect_coding): Add null-byte detection for a binary file.
9815 (detect_coding_system): Likewise.
9816
98172008-04-03 Jason Rumney <jasonr@gnu.org>
9818
9819 * w32uniscribe.c: New file.
9820
9821 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
9822
9823 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
9824
9825 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
9826 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
9827 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
9828 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
9829 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
9830 (Qphonetic): New symbols.
9831 (syms_of_w32font): Initialize them.
9832 (font_supported_scripts): Use them.
9833 (w32font_list_family): List all charsets.
9834 (w32font_text_extents, recompute_cached_metrics): Fix metric
9835 calculations.
9836 (w32_enumfont_pattern_entity): Make full_type a DWORD.
9837 Give opentype fonts their own format.
9838 (font_matches_spec): New arguments backend and logfont.
9839 Handle :otf spec for uniscribe backend.
9840 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
9841 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
9842
9843 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
9844 font backend.
9845 (globals_of_w32fns): Initialize uniscribe font backend.
9846
9847 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
9848 dependencies.
9849 (w32uniscribe.$(O)): New file to build.
9850 (FONT_OBJ): Include w32uniscribe.$(O).
9851 (LIBS): Add uniscribe libraries.
9852
9853 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
9854
98552008-04-02 Chong Yidong <cyd@stupidchicken.com>
9856
9857 * callint.c (Vshift_select_mode): New var.
9858 (Finteractive): Document new ^ spec.
9859 (Fcall_interactively): Call handle-shift-selection if the ^ spec
9860 is present.
9861
9862 * keyboard.c (Vthis_command_keys_shift_translated): New var.
9863 (command_loop_1): Avoid running the direct display versions of
9864 forward-char and backward-char if shift-selection may occur.
9865 (read_key_sequence): Set Vthis_command_keys_shift_translated if
9866 shift-translation takes place.
9867
9868 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
9869 avoid clobbering by define-minor-mode.
9870
9871 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
9872 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
9873
9874 * syntax.c (Fforward_word): Add ^ interactive spec.
9875
9876 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
9877 (Fscroll_right): Add ^ interactive spec.
9878
98792008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
9880
9881 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
9882
9883 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
9884
9885 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
9886
98872008-03-31 Juri Linkov <juri@jurta.org>
9888
9889 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
9890
98912008-03-30 Jan Djärv <jan.h.d@swipnet.se>
9892
9893 * gtkutil.c (xg_set_geometry): Fix indentation.
9894 (xg_resize_outer_widget): Remove.
9895 (x_wm_size_hint_off): Fix indentation.
9896 (xg_frame_set_char_size): Call flush_and_sync after
9897 gtk_window_resize.
9898 (x_wm_set_size_hint): Pass NULL as geometry window to
9899 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
9900 Add menu bar and tool bar height to base height.
9901 (xg_update_frame_menubar, free_frame_menubar)
9902 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
9903 (update_frame_tool_bar, free_frame_tool_bar):
9904 Change xg_resize_outer_widget to xg_frame_set_char_size.
9905
99062008-03-30 Michael Albinus <michael.albinus@gmx.de>
9907
9908 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
9909 (Fdbus_call_method): New parameter TIMEOUT.
9910 (dbus-send-signal): Optimize UNGCPRO call.
9911
99122008-03-29 Juri Linkov <juri@jurta.org>
9913
9914 * window.c (Fdisplay_buffer): Move call to
9915 Vsplit_window_preferred_function out of conditions that check
9916 if window is eligible for vertical splitting.
9917 When Vsplit_window_preferred_function is non-nil, call it and use
9918 its non-nil return value as window. Otherwise, continue doing
9919 vertical splitting using Fsplit_window with arg horflag=nil.
9920 (syms_of_window) <Vsplit_window_preferred_function>: Change the
9921 default value from `split-window' to nil.
9922
99232008-03-29 Juri Linkov <juri@jurta.org>
9924
9925 * callint.c (Fcall_interactively): Revert 2008-03-16 change
9926 for interactive code letters 'b' and 'B'.
9927
99282008-03-29 Eli Zaretskii <eliz@gnu.org>
9929
9930 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
9931 multibyte string.
9932
99332008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
9934
9935 * keyboard.c (pending_funcalls): New var.
9936 (timer_check): Run it.
9937 (syms_of_keyboard): Initialize it.
9938 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
9939 (Vdelete_terminal_functions): New vars.
9940 (syms_of_terminal): Initialize them.
9941 (Fdelete_terminal): Run delete-terminal-functions.
9942 * xdisp.c (safe_eval): Rewrite.
9943 (safe_call2): New fun.
9944 * frame.c (Qdelete_frame_functions): New var.
9945 (syms_of_frame): Initialize it.
9946 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
9947 * lisp.h (safe_call2, pending_funcalls): Declare.
9948
99492008-03-28 Andreas Schwab <schwab@suse.de>
9950
9951 * indent.c (Fmove_to_column): Move declaration before statements.
9952
99532008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
9954
9955 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
9956 (struct frame): Use bit fields for boolean vars.
9957
9958 * process.c (server_accept_connection): Simplify naming.
9959 (emacs_get_tty_pgrp): Use SDATA.
9960
9961 * coding.c (decode_coding_object): Fix last change.
9962
99632008-03-27 Jason Rumney <jasonr@gnu.org>
9964
9965 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
9966
99672008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
9968
9969 * charset.c (Fdefine_charset_internal): Change the way of
9970 registering charsets in Vcharset_order_list.
9971 (syms_of_charset): Make the charset `eight-bit' supplementary.
9972
99732008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
9974
9975 * regex.c (EXTEND_BUFFER): Change order of pointer addition
9976 operations, to avoid having the difference between pointers
9977 overflow.
9978
99792008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
9980
9981 * indent.c (check_display_width): New fun.
9982 (scan_for_column): Use it.
9983
9984 * data.c (syms_of_data): Mark most-positive-fixnum and
9985 most-negative-fixnum as constants.
9986
9987 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
9988
9989 * indent.c (scan_for_column): Extract from current_column_1.
9990 Merge with the same code from Fmove_to_column.
9991 (current_column_1, Fmove_to_column): Use it.
9992
99932008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
9994
9995 * keymap.c (map_keymap_internal): New fun.
9996 (map_keymap): Use it.
9997 (Fmap_keymap_internal): New fun.
9998 (Fmap_keymap): Remove left-out test from before make_save_value.
9999
10000 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
10001
10002 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
10003 Use XCAR/XCDR.
10004
10005 * process.h (struct Lisp_Process): Remove filter_multibyte.
10006 * process.c (QCfilter_multibyte): Remove.
10007 (setup_process_coding_systems): Don't use filter_multibyte.
10008 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
10009 (read_process_output): Don't adjust multibyteness to filter_multibyte.
10010 (Fset_process_filter_multibyte): Change the coding-system to
10011 approximate the previous behavior.
10012 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
10013 coding-system.
10014
10015 * coding.c (decode_coding_object): When not decoding into a buffer,
10016 obey the coding system's preference of (uni|multi)byte.
10017
100182008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
10019
10020 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
10021 every char is changed and has a different byte-length.
10022 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
10023 Fix int -> EMACS_INT.
10024
100252008-03-23 David Hansen <david.hansen@gmx.net>
10026
10027 * dbusbind.c (xd_read_message): Remove extra copying of message
10028 strings. Check for NULL `interface' or `member'.
10029
100302008-03-22 Eli Zaretskii <eliz@gnu.org>
10031
10032 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10033 cFileName a file name that includes `?' characters, use the 8+3
10034 alias in cAlternateFileName instead.
10035
100362008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
10037
10038 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
10039
100402008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10041
10042 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
10043 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
10044 work on current_buffer only instead (that was already the case
10045 for some of the code anyway).
10046 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
10047 (temp_set_point, temp_set_point_both): Use EMACS_INT.
10048 (SET_PT, SET_PT_BOTH): Adjust.
10049 * intervals.h (set_point, temp_set_point, set_point_both)
10050 (temp_set_point_both): Remove redundant declarations.
10051
100522008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10053
10054 * fileio.c (Finsert_file_contents):
10055 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
10056 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
10057 when buffer != current_buffer anyway.
10058
100592008-03-20 Andreas Schwab <schwab@suse.de>
10060
10061 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
10062 as default.
10063
100642008-03-19 Jason Rumney <jasonr@gnu.org>
10065
10066 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
10067 (syms_of_w32fns): Initialize them.
10068 (HOURGLASS_ID): New constant.
10069 (x_window_to_frame): Don't check hourglass_window.
10070 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
10071 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
10072 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
10073 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
10074 Only change the cursor if hourglass is not active.
10075 (Fx_create_frame): Initialize frame's current_cursor.
10076 (hourglass_atimer): Remove.
10077 (hourglass_started): New function.
10078 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
10079 (show_hourglass): Adapt to w32, changing argument to frame.
10080
10081 * w32term.h (struct w32_output): Remove hourglass_window.
10082 Add current_cursor.
10083
10084 * eval.c (call_debugger, Fsignal):
10085 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
10086 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
10087 (Fexecute_extended_command, cancel_hourglass_unwind):
10088 * minibuf.c (read_minibuf):
10089 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
10090
100912008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
10092
10093 * window.c (run_funs): New fun.
10094 (run_window_configuration_change_hook): Use it to run the buffer-local
10095 and the global part of the hook.
10096
10097 * xdisp.c (format_mode_line_unwind_data): Add window argument.
10098 (unwind_format_mode_line): Restore selected window.
10099 (x_consider_frame_title, Fformat_mode_line): Set selected window.
10100
101012008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
10102
10103 * editfns.c (Fchar_equal): Check they are valid characters.
10104
10105 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
10106
101072008-03-17 Andreas Schwab <schwab@suse.de>
10108
10109 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
10110 against a charset.
10111
10112 * lisp.h (Fbuffer_list): Declare.
10113
101142008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 10115
aac0c6e3
MR
10116 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
10117 handlebox_widget is != 0.
10118
101192008-03-16 Juri Linkov <juri@jurta.org>
10120
10121 * callint.c (Fcall_interactively): For interactive code letters
10122 'b' and 'B' put the buffer list into the list of default "future"
10123 values of the minibuffer.
10124
101252008-03-16 Andreas Schwab <schwab@suse.de>
10126
10127 * keyboard.c (read_key_sequence): Fix downcasing of letters with
10128 modifiers.
10129
10130 * regex.c (re_match_2_internal): Correct matching of a charset
10131 against latin-1 characters.
10132
101332008-03-16 Kenichi Handa <handa@m17n.org>
10134
10135 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
10136 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
10137 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
10138 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
10139 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
10140 CHAR_STRING_ADVANCE.
10141 (produce_chars): Fix for the case that the source and the
10142 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
10143 instead of CHAR_STRING_ADVANCE.
10144 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
10145 STRING_CHAR_ADVANCE.
10146
101472008-03-15 Andreas Schwab <schwab@suse.de>
10148
10149 * regex.c (re_match_2_internal): Correct matching of eight bit
10150 characters in unibyte strings.
10151
101522008-03-15 Martin Rudalics <rudalics@gmx.at>
10153
10154 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
10155 at end of range when it coincides with the end of the buffer.
10156
101572008-03-14 Eli Zaretskii <eliz@gnu.org>
10158
10159 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
10160
10161 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
10162
101632008-03-14 Jason Rumney <jasonr@gnu.org>
10164
10165 * editfns.c (initial_tz): New variable.
10166 (syms_of_editfns): Initialize it.
10167 (Fset_time_zone_rule): Set it when first called.
10168 Use it when TZSTRING is nil.
10169
10170 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
10171 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
10172 (monitor_from_point_fn, get_monitor_info_fn): New globals.
10173 (globals_of_w32fns): Initialize them.
10174 (compute_tip_xy): Use them to position tooltips.
10175
101762008-03-14 Glenn Morris <rgm@gnu.org>
10177
10178 * emacs.c (main): Revert previous change.
10179 (standard_args): Revert -internal-script back to -scriptload,
10180 and remove the long-option form.
10181
101822008-03-13 Glenn Morris <rgm@gnu.org>
10183
10184 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
10185 Remove option -enable-font-backend.
10186
101872008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
10188
10189 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
10190
101912008-03-11 Jan Djärv <jan.h.d@swipnet.se>
10192
10193 * xterm.c (x_connection_closed): For GTK: If this is the last
10194 terminal just exit without closing the display.
10195
101962008-03-11 Jason Rumney <jasonr@gnu.org>
10197
10198 * w32font.c (w32font_full_name): Use floor to round.
10199
f0131492 102002008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
10201
10202 * sound.c (alsa_configure): Declare vol at beginning of block.
10203
10204 * fontset.c (Ffontset_info): Remove extra semicolon.
10205
102062008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
10207
10208 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
10209 size of resulting string.
10210
102112008-03-10 Jason Rumney <jasonr@gnu.org>
10212
10213 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
10214
102152008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10216
10217 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
10218 Don't pretend as if characters with display property haven't been
10219 consumed for string-replacing-string case.
10220
102212008-03-08 Kim F. Storm <storm@cua.dk>
10222
10223 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
10224 (get_next_display_element, next_element_from_string)
10225 (next_element_from_ellipsis, next_element_from_buffer): Use it.
10226
102272008-03-08 Andreas Schwab <schwab@suse.de>
10228
10229 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
10230
102312008-03-06 Jason Rumney <jasonr@gnu.org>
10232
10233 * w32font.c (w32_registry): Take font_type argument. Use ANSI
10234 when charset not specified. Only translate ANSI to unicode when
10235 font_type is truetype.
10236 (w32font_coverage_ok): New function.
10237 (add_font_entity_to_list): Use it to filter unsuitable fonts.
10238
102392008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
10240
10241 * lread.c (Fread_char): Resolve modifiers.
10242 (Fread_char_exclusive): Likewise.
10243
10244 * character.c (char_resolve_modifier_mask): New function.
10245 (char_string): Use char_resolve_modifier_mask.
10246 (Fchar_resolve_modifiers): New function.
10247 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
10248 function.
10249
102502008-03-04 Jason Rumney <jasonr@gnu.org>
10251
10252 * makefile.w32-in: Always include w32font.c in the build.
10253 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
10254
102552008-03-04 Andreas Schwab <schwab@suse.de>
10256
10257 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
10258 (versionclean): Likewise.
10259
102602008-03-04 Juanma Barranquero <lekktu@gmail.com>
10261
10262 * .cvsignore: Add oo.
10263
102642008-03-03 Andreas Schwab <schwab@suse.de>
10265
10266 * coding.c (decode_coding_object): Inhibit gap shrinking while
10267 decoding in place.
10268
102692008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
10270
10271 * w32term.c: Remove unused include "gnu.h".
10272 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
10273
10274 * gnu.h: Rename to ...
10275 * emacs-icon.h: ... this.
10276 * xterm.c: Use emacs-icon.h instead of gnu.h.
10277 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
10278
102792008-03-03 Juanma Barranquero <lekktu@gmail.com>
10280
10281 * w32font.c: Include math.h.
10282
102832008-03-03 Jason Rumney <jasonr@gnu.org>
10284
10285 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
10286 Compute options separately.
10287 (w32font_open_internal): Set glyph_idx before caching metrics.
10288
10289 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
10290 Define if system headers don't.
10291 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
10292 (w32font_encode_char): Don't declare here.
10293
10294 * w32font.c (Quniscribe, QCformat): New symbols.
10295 (syms_of_w32font): Define them.
10296 (w32font_has_char): Indicate uncertainty.
10297 (w32font_encode_char): Encode as glyph point. Make static.
10298 (recompute_cached_metrics): New function.
10299 (w32font_open_internal): Use it. Set font to use glyph points
10300 initially. Set format based on type of font.
10301 (w32font_text_extents, w32font_draw): Optionally use glyph points.
10302 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
10303 on it. Set format based on information available here.
10304 (add_font_entity_to_list): Identify backend based on opentype_only.
10305
103062008-03-02 Andreas Schwab <schwab@suse.de>
10307
10308 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
10309
10310 * coding.c (decode_coding_big5, produce_chars):
10311 Fix typos in last change.
10312
103132008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
10314
10315 * gnu.h: New icon.
10316
103172008-03-02 Kenichi Handa <handa@m17n.org>
10318
10319 * coding.c (decode_coding_utf_8): When eol-type of CODING is
10320 `dos', don't decode '\r' if that is the last in the source.
10321 (decode_coding_utf_16, decode_coding_emacs_mule)
10322 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10323 (decode_coding_raw_text, decode_coding_charset): Likewise.
10324 (produce_chars): Don't decode EOL here. Use EMACS_INT.
10325
103262008-03-01 Jason Rumney <jasonr@gnu.org>
10327
10328 * w32font.c (w32font_full_name): Report point size for scalable fonts.
10329
103302008-03-01 Kim F. Storm <storm@cua.dk>
10331
10332 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
10333
103342008-03-01 Jason Rumney <jasonr@gnu.org>
10335
10336 * w32font.c (w32font_full_name): New function.
10337 (w32font_open_internal): Use it.
10338
103392008-03-01 Kim F. Storm <storm@cua.dk>
10340
10341 * dispnew.c (line_draw_cost): Fix invalid glyph check.
10342
103432008-03-01 Jason Rumney <jasonr@gnu.org>
10344
10345 * font.c (font_unparse_fcname): Increase len when style is a symbol.
10346
103472008-03-01 Jan Djärv <jan.h.d@swipnet.se>
10348
10349 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
10350 xg_frame_resized when the event is for the edit widget.
10351
10352 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
10353
10354 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
10355 set_char_size.
10356 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
10357 operations on widgets here. Just set frame size if needed.
10358 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
10359 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
10360 (x_wm_set_size_hint): Set size hints on the edit widget only, not
10361 the whole frame.
10362 (xg_create_tool_bar): Move attachment of the tool bar to
10363 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
10364 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
10365
103662008-03-01 Jason Rumney <jasonr@gnu.org>
10367
10368 * w32fns.c (w32_msg_pump): Disable debug code.
10369
103702008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10371
10372 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
10373
103742008-02-29 Chong Yidong <cyd@stupidchicken.com>
10375
10376 * xdisp.c (next_overlay_string): Don't set
10377 overlay_strings_at_end_processed_p if we're currently reading from
10378 a display string.
10379
103802008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
10381
10382 * xdisp.c (get_overlay_strings_1): Fix typo.
10383
103842008-02-29 Chong Yidong <cyd@stupidchicken.com>
10385
10386 * xdisp.c (get_overlay_strings_1): Add missing argument type.
10387
103882008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
10389
10390 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
10391
10392 * xdisp.c (display_mode_element): Cancel the previous change.
10393 (decode_mode_spec): Likewise.
10394 (handle_auto_composed_prop): Don't make composition if it->string
10395 is a string.
10396
103972008-02-27 Kim F. Storm <storm@cua.dk>
10398
10399 * lisp.h (GLYPH): Change type from int to struct with separate char
10400 and face_id members.
10401 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
10402 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
10403 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
10404 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
10405 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
10406 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
10407 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
10408 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
10409 handle new Lisp glyph code encoding, either an integer or a cons.
10410
10411 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
10412 (GLYPH_ALIAS): Delete.
10413 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
10414 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
10415 (GLYPH_FROM_CHAR): Replace macro by ...
10416 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
10417
10418 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
10419 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
10420 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
10421 (GLYPH_INVALID_P): New macro.
10422 (spec_glyph_lookup_face): Update prototype.
10423
10424 * dispnew.c (line_draw_cost): Adapt to new glyph type.
10425 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
10426 new glyph code encoding.
10427 (spec_glyph_lookup_face): No return value; update passed glyph instead.
10428 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
10429
10430 * xdisp.c (get_next_display_element, next_element_from_display_vector):
10431 Adapt to new glyph type and new glyph code encoding.
10432
10433 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
10434
10435 * indent.c (current_column, current_column_1, Fmove_to_column)
10436 (compute_motion): Adapt to new glyph code encoding.
10437
10438 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
10439
104402008-02-27 Chong Yidong <cyd@stupidchicken.com>
10441
10442 * process.c (wait_reading_process_output): Check for window
10443 changes caused by timers.
10444 Suggested by Johan Bockgård.
10445
104462008-02-27 Glenn Morris <rgm@gnu.org>
10447
10448 * emacs.c (USAGE1): Add `--disable-font-backend'.
10449
104502008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
10451
10452 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
10453 is made to the buffer.
10454
104552008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
10456
10457 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
10458 (face_at_string_position):
10459 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
10460 (face_at_string_position):
10461 * xdisp.c (display_string, next_overlay_change):
10462 * buffer.h (overlays_at):
10463 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
10464 Update callers.
10465
104662008-02-26 Chong Yidong <cyd@stupidchicken.com>
10467
10468 * editfns.c (Fformat): Doc fix.
10469
104702008-02-26 Juanma Barranquero <lekktu@gmail.com>
10471
10472 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
10473 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
10474 (Ffont_otf_alternates, Fquery_font): Doc fixes.
10475
104762008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10477
10478 * buffer.c (Fbuffer_swap_text): New function.
10479 (syms_of_buffer): Defsubr it.
10480
104812008-02-25 Chong Yidong <cyd@stupidchicken.com>
10482
10483 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
10484
104852008-02-25 Jason Rumney <jasonr@gnu.org>
10486
10487 * w32font.c (w32font_draw): Draw one character at a time when padding.
10488
104892008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10490
10491 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
10492 Handle a nil arg. Use run_window_configuration_change_hook.
10493 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
10494 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
10495 Use run_window_configuration_change_hook.
10496
104972008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10498
10499 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
10500 1-pixel width.
10501
105022008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10503
10504 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
10505 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
10506 if the glyph in the font is zero pixel with.
10507
10508 * dispextern.h (struct glyph_string): New member padding_p.
10509
10510 * w32font.c (w32font_draw): Pay attention to s->padding_p.
10511
10512 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
10513
10514 * xfont.c (xfont_draw): Pay attention to s->padding_p.
10515
10516 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
10517
10518 * font.c: If the font driver doesn't have `shape' function, return Qnil.
10519
105202008-02-25 Jason Rumney <jasonr@gnu.org>
10521
10522 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
10523
105242008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
10525
10526 Allow fine-grained image-cache flushing.
10527 * dispextern.h (struct image): Add `dependencies' field.
10528 (clear_image_caches): Change arg to Lisp_Object.
10529 * image.c (make_image): Initialize `dependencies' field.
10530 (clear_image_cache): Change arg to allow fine-grained flushing.
10531 Perform the flush even if image-cache-eviction-delay is nil.
10532 (clear_image_caches): Change arg to Lisp_Object.
10533 (Fclear_image_cache): Expand meaning of the argument.
10534 (mark_image): Mark `dependencies' field.
10535 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
10536 (lface_hash): Use XHASH rather than XFASTINT.
10537 (face_at_buffer_position): Fix int -> EMACS_INT position.
10538 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
10539 (select_frame_for_redisplay): Remove code duplication.
10540 (redisplay_internal): Adapt arg to call to clear_image_caches.
10541
105422008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
10543
10544 * s/vms4-0.h:
10545 * s/vms4-2.h:
10546 * s/vms4-4.h:
10547 * s/vms5-5.h: Remove, unused.
10548
10549 * s/irix5-2.h:
10550 * s/irix6-0.h:
10551 * s/riscos5.h:
10552 * s/mach-bsd4-3.h:
10553 * m/mips4.h: Remove files for obsolete systems.
10554
10555 * Makefile.in:
10556 * filelock.c:
10557 * unexmips.c:
10558 * m/hp9000s300.h:
10559 * m/iris4d.h:
10560 * s/aix3-1.h:
10561 * s/hpux.h:
10562 * s/msdos.h:
10563 * s/usg5-0.h:
10564 * s/usg5-2-2.h:
10565 * s/usg5-2.h:
10566 * s/usg5-3.h: Remove references to obsolete variables.
10567
10568 * s/irix5-0.h: Remove, move all the contents ...
10569 * s/irix6-5.h: ... here. Simplify.
10570 * config.in: Regenerate.
10571
105722008-02-24 Jason Rumney <jasonr@gnu.org>
10573
10574 * w32term.c (x_draw_glyph_string_background): Clear the background
10575 manually when cleartype is in use.
10576 (x_draw_glyph_string_foreground): Draw text transparently when
10577 cleartype is in use.
10578
10579 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
10580 a font into it unless we have to.
10581
105822008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
10583
10584 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
10585 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 10586
aac0c6e3
MR
105872008-02-18 Jason Rumney <jasonr@gnu.org>
10588
10589 * w32fns.c (Fw32_shell_execute): Encode parameters.
10590
105912008-02-09 Eli Zaretskii <eliz@gnu.org>
10592
10593 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
10594
105952008-02-05 Juanma Barranquero <lekktu@gmail.com>
10596
10597 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
10598
105992008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
10600
10601 * xterm.c (x_set_offset): Don't change the gravity if
10602 CHANGE_GRAVITY is -1.
10603
106042008-02-23 Chong Yidong <cyd@stupidchicken.com>
10605
10606 * fileio.c (auto_save_error_occurred): New var.
10607 (auto_save_error): Set it.
10608 (Fdo_auto_save): Don't overwrite the error message if an auto-save
10609 error occurred.
10610
106112008-02-23 Eli Zaretskii <eliz@gnu.org>
10612
10613 * w32.c (globals_of_w32): Add initializations for
10614 g_b_init_get_sid_sub_authority and
10615 g_b_init_get_sid_sub_authority_count.
10616
106172008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
10618
10619 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
10620 (font_parse_xlfd): Use them for sanity check.
10621 (Finternal_set_font_style_table): Make sure the table is bijective.
10622
10623 Consolidate the image_cache to the terminal struct.
10624 * termhooks.h (P_): Remove redundant def.
10625 (struct terminal): New field `image_cache'.
10626 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
10627 of FRAME_X_IMAGE_CACHE.
10628 * xterm.h (struct x_display_info): Remove image_cache field.
10629 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10630 * w32term.h (struct w32_display_info): Remove image_cache field.
10631 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10632 * macterm.h (struct mac_display_info): Remove image_cache field.
10633 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10634 * xterm.c (x_term_init):
10635 * w32term.c (w32_term_init):
10636 * macterm.c (mac_term_init): Set the image_cache in the terminal.
10637 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
10638 Remove declarations.
10639 (clear_image_caches, mark_image_cache): New declarations.
10640 * xfaces.c (clear_face_cache):
10641 * xdisp.c (redisplay_internal): Use clear_image_caches.
10642 * image.c (clear_image_cache): Don't check that a frame is on
10643 a window-system before checking if it shares the same cache.
10644 (clear_image_caches): New function.
10645 (Fclear_image_cache): Use it.
10646 (mark_image): Move from allo.c.
10647 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
10648 * alloc.c (mark_image, mark_image_cache): Move to image.c.
10649 (mark_object): Don't call mark_image_cache for frames.
10650 (mark_terminals): Call mark_image_cache.
10651
10652 * lisp.h (Fdelete_terminal): Declare.
10653
10654 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
10655 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
10656 wrong_type_argument.
10657
106582008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
10659
10660 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
10661 malayalam.el, and tamil.el. Add sinhala.el.
10662
106632008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
10664
10665 * xterm.c (x_connection_closed): Consolidate identical tests.
10666 (x_delete_terminal): Don't crash if called via x_connection_closed.
10667
106682008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
10669
10670 * xdisp.c (decode_mode_spec): New arg string.
10671 (display_mode_element): Adjust for the above change.
10672
106732008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
10674
10675 * callint.c (Fcall_interactively): Use AREF.
10676
106772008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
10678
10679 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
10680
106812008-02-18 Jan Djärv <jan.h.d@swipnet.se>
10682
10683 * xfns.c (Fx_show_tip): Set string to " " if empty.
10684
106852008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
10686
10687 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
10688 with Qt.
10689
106902008-02-17 Kenichi Handa <handa@m17n.org>
10691
10692 * ftfont.c (ftfont_shape): Return Lispy number.
10693
10694 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
10695 for GCs.
10696 (Finternal_set_font_selection_order): Call font_update_sort_order
10697 only when enable_font_backend is set.
10698 (realize_x_face): Set face->font_info to that of default face only
10699 when enable_font_backend is set.
10700
10701 * xdisp.c (handle_composition_prop): Set it->c to the fist
10702 character of the composed region.
10703 (fill_composite_glyph_string): Set base_face->font_info to
10704 s->font_info. Get a face for ascii from base_face->ascii_face.
10705 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
10706 with a face already decided.
10707 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
10708 non-negative.
10709 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
10710 call font_prepare_composition unconditionally.
10711
10712 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
10713
10714 * xterm.h (struct x_display_info): New member font.
10715
10716 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
10717 (x_set_mouse_face_gc, x_new_font): Likewise.
10718 (x_term_init): Setup display_info->font.
10719 (x_delete_terminal): Free display_info->font.
10720
10721 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
10722
10723 * ftxfont.c (ftxfont_default_fid): Delete it.
10724 (ftxfont_open): Set xfont->fid to 0.
10725 (ftxfont_end_for_frame): Clear data specific to the frame and the
10726 font-driver.
10727
10728 * xftfont.c (xftfont_default_fid): Delete it.
10729 (xftfont_open): Set xfont->fid to 0.
10730
10731 * fontset.c (FONTSET_OBJLIST): New macro.
10732 (fontset_find_font): Update font-object list of the fontset.
10733 (free_realized_fontset): New function.
10734 (free_face_fontset): Call free_realized_fontset.
10735 (Ffont_info): Call font_close_object only when enable_font_backend
10736 is set.
10737
10738 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
10739 [HAVE_NTGUI]: Include w32term.h.
10740 [MAC_OS]: Include macterm.ch.
10741 (font_otf_ValueRecord): Use make_number.
10742 (font_finish_cache): Fix handling of reference count.
10743 (font_clear_cache): Update num_fonts.
10744 (font_open_entity): Update smallest_char_width and
10745 smallest_font_height of the frame.
10746 (font_close_object): Update num_fonts.
10747 (Fclear_font_cache): Fix finding the target cache data.
10748
107492008-02-16 Glenn Morris <rgm@gnu.org>
10750
10751 * fontset.c (Finternal_char_font): Fix compilation warning.
10752
107532008-02-16 Eli Zaretskii <eliz@gnu.org>
10754
10755 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
10756 instead of char arrays. Enlarge the size of array passed to
10757 get_token_information.
10758
10759 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
10760 warnings.
10761
107622008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
10763
10764 * .gdbinit: Don't set `args', it breaks gdb --args.
10765
107662008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
10767
10768 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
10769 within a narrowed buffer.
10770
107712008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
10772
10773 * coding.c (decode_coding_object, encode_coding_object):
10774 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
10775
107762008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
10777
10778 * coding.c (coding_set_destination): Use BEG_BYTE rather than
10779 hardcoding 1.
10780 (detect_coding_system):
10781 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
10782 (string_char_to_byte, string_byte_to_char, insert_from_gap):
10783 * insdel.c (insert_from_gap):
10784 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
10785 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
10786 (string_to_multibyte):
10787 * character.c (chars_in_text, multibyte_chars_in_text):
10788 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
10789
10790 * character.h (FETCH_STRING_CHAR_ADVANCE)
10791 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
10792 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
10793 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
10794
10795 * casefiddle.c (casify_region): Only call after-change and composition
10796 functions on the part of the region that was changed.
10797
10798 * keyboard.c (read_avail_input):
10799 * frame.c (Fdelete_frame): Call Fdelete_terminal.
10800
108012008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
10802
10803 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
10804 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
10805
108062008-02-11 Juanma Barranquero <lekktu@gmail.com>
10807
10808 * w32menu.c (push_submenu_start, push_submenu_end)
10809 (push_left_right_boundary, push_menu_pane, push_menu_item):
10810 * keyboard.c (read_key_sequence): Don't pass args with side effects
10811 to AREF, it fails when compiling with -DENABLE_CHECKING.
10812
108132008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
10814
10815 * Makefile.in (${lispsource}international/charprop.el):
10816 Delete this target.
10817
10818 * search.c (boyer_moore): Fix incorrect synching of the trunk and
10819 emacs-unicode-2.
10820
108212008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
10822
10823 * terminal.c (Fdelete_terminal): Clean up the `force' path.
10824
108252008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
10826
10827 * frame.c (Qnoelisp): New symbol.
10828 (syms_of_frame): Initialize it.
10829 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
10830 harmless Elisp code, from a strong `force' from x_connection_closed.
10831 * frame.h (Qnoelisp): Declare.
10832 * xterm.c (x_connection_closed): Pass `noelisp'.
10833
10834 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
10835 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
10836 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
10837 rather than `int' for the type of `type'.
10838
108392008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
10840
10841 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
10842
10843 * Makefile.in (GNUC): Remove support for gcc-1.x.
10844
108452008-02-10 Richard Stallman <rms@gnu.org>
10846
10847 * lisp.h (ASET): Use AREF, not ASLOT.
10848
108492008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
10850
10851 * lisp.h (ASET): Check bounds.
10852
108532008-02-10 Glenn Morris <rgm@gnu.org>
10854
10855 * buffer.c (mode-name): Doc fix.
10856
108572008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10858
10859 * Makefile.in:
10860 * emacs.c:
10861 * gmalloc.c:
10862 * keyboard.c:
10863 * lisp.h:
10864 * m/ibm370aix.h:
10865 * process.c:
10866 * regex.c:
10867 * s/hpux.h:
10868 * sysdep.c:
10869 * sysselect.h:
10870 * systty.h:
10871 * unexec.c:
10872 * w32term.c:
10873 * xsmfns.c:
10874 * xterm.c: Remove code that deals with obsolete variables.
10875
10876 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
10877
10878 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
10879 nothing else needs it anymore.
10880
108812008-02-09 Eli Zaretskii <eliz@gnu.org>
10882
10883 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
10884 instead of unibyte_char_to_multibyte.
10885
108862008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10887
10888 * s/gnu-linux.h: Remove commented out code.
10889
10890 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
10891
10892 * Makefile.in: Update what RMS says about using autoconf.
10893 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
10894 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
10895 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
10896 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
10897
108982008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
10899
10900 * keymap.c (Fkey_description): Move side effect outside of macro call.
10901
10902 * xfaces.c (Finternal_make_lisp_face):
10903 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
10904
10905 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
10906 (syms_of_fontset): Use ASET.
10907
10908 * fns.c (concat): Move side effect outside of macro call.
10909 (hash_clear): Use ASET.
10910
109112008-02-08 Richard Stallman <rms@gnu.org>
10912
10913 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
10914 If FORCE, and frame has a surrogate minibuffer for another frame,
10915 delete the other frame first.
10916
109172008-02-07 Timo Savola <timo.savola@iki.fi>
10918
10919 * xterm.c (x_detect_focus_change): Handle embed client message.
10920 (handle_one_xevent): Ditto.
10921 (handle_one_xevent): If embedded and we get a button press/release,
10922 request focus.
10923 (xembed_set_info, xembed_send_message): New functions.
10924 (x_make_frame_visible): Call xembed_set_info if embedded.
10925 (x_make_frame_invisible): Call xembed_set_info if embedded.
10926 (x_term_init): Initialize Xatom_XEMBED.
10927 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
10928 (x_iconify_frame): Ditto.
10929
10930 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
10931 (enum xembed_info, enum xembed_message, enum xembed_focus)
10932 (enum xembed_modifier, enum xembed_accelerator): New.
10933 (xembed_set_info, xembed_send_message): Declare.
10934 (FRAME_X_EMBEDDED_P): New.
10935
10936 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
10937 gtk_plug_new.
10938
10939 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
10940 window ID of a frame.
10941 (x_window): Reparent frame if embedded.
10942 (Fx_create_frame): Don't set border width if embedded.
10943
10944 * emacs.c (USAGE3): Add --parent-id.
10945 (standard_args): Ditto.
10946
109472008-02-07 Jan Djärv <jan.h.d@swipnet.se>
10948
10949 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
10950
109512008-02-07 Jim Meyering <meyering@redhat.com>
10952
10953 Use "do...while (0)", not "if (1)...else" in macro definitions.
10954 The latter provokes a warning from gcc about the empty else, when
10955 followed by ";". Also, without that trailing semicolon, it would
10956 silently swallow up any following statement.
10957 * syntax.h (SETUP_SYNTAX_TABLE)
10958 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
10959 * buffer.h (DECODE_POSITION): Likewise.
10960 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
10961 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
10962 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
10963 (FETCH_CHAR_ADVANCE): Likewise.
10964 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
10965
109662008-02-07 Jim Meyering <meyering@redhat.com>
10967
10968 * lread.c [lint]: Don't include <sys/inode.h>.
10969
109702008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
10971
10972 * xselect.c (x_handle_dnd_message):
10973 * xmenu.c (digest_single_submenu, xmenu_show):
10974 * xdisp.c (with_echo_area_buffer_unwind_data)
10975 (format_mode_line_unwind_data, unwind_format_mode_line)
10976 (display_menu_bar):
10977 * eval.c (Ffetch_bytecode):
10978 * doc.c (store_function_docstring):
10979 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
10980 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
10981 * buffer.c (add_overlay_mod_hooklist): Use ASET.
10982
109832008-02-07 Kenichi Handa <handa@m17n.org>
10984
10985 * ftxfont.c (ftxfont_open): Don't set
10986 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
10987
10988 * ftfont.c (ftfont_open): Fix previous change.
10989
109902008-02-06 Jason Rumney <jasonr@gnu.org>
10991
10992 * w32font.c (w32font_text_extents): Fill in lbearing metric.
10993 Use cached metrics for ASCII characters.
10994 (w32font_open_internal): Don't set font's owning_frame.
10995 Cache metrics for ASCII characters.
10996
10997 * w32font.h (struct w32font_info): Add ascii_metrics.
10998 Remove owning_frame.
10999
110002008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
11001
11002 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
11003 to negative value.
11004
11005 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
11006
11007 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
11008
11009 * charset.c (syms_of_charset): Set QCtest and Qeq.
11010
110112008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
11012
11013 * process.c (Fstart_process):
11014 * callproc.c (Fcall_process): Handle the case where
11015 Funhandled_file_name_directory returns nil.
11016
11017 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
11018 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
11019 * font.c (check_gstring): Use them and AREF to access the vector before
11020 we know it's really a gstring.
11021 (Ffont_shape_text): Fix typo.
46e722a9 11022 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
11023
11024 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
11025 Declare.
11026
11027 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
11028
110292008-02-05 Jason Rumney <jasonr@gnu.org>
11030
11031 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
11032 Set smallest_font_height and smallest_char_width in display info.
11033
110342008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
11035
11036 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
11037
110382008-02-05 Miles Bader <miles@gnu.org>
11039
11040 * xfaces.c (get_lface_attributes, merge_named_face)
11041 (lookup_named_face, lookup_derived_face, realize_named_face):
11042 Revert 2008-02-01 change by cyd@stupidchicken.com.
11043
110442008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
11045
11046 * fontset.c (Ffontset_info): Handle the case of inhibitting the
11047 fallback fonts.
11048 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
11049
110502008-02-04 Jason Rumney <jasonr@gnu.org>
11051
11052 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
11053 set full_name.
11054 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
11055
110562008-02-03 Jason Rumney <jasonr@gnu.org>
11057
11058 * makefile.w32-in (OBJ1): Include font.o here.
11059 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
11060
110612008-02-02 Jason Rumney <jasonr@gnu.org>
11062
11063 * makefile.w32-in (temacs): Bump EMHEAP to 21.
11064
110652008-02-01 Jason Rumney <jasonr@gnu.org>
11066
11067 * s/cygwin.h: Define VIRT_ADDR_VARIES.
11068
11069 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
11070
110712008-02-01 Andreas Schwab <schwab@suse.de>
11072
11073 * Makefile.in (shortlisp, lisp): Update for rename of
11074 ../lisp/language/myanmar.el.
11075
110762008-02-01 Chong Yidong <cyd@stupidchicken.com>
11077
11078 * xfaces.c (get_lface_attributes): Delete function.
11079 (merge_named_face, lookup_named_face, lookup_derived_face)
11080 (realize_named_face): Call lface_from_face_name directly, and use
11081 the fact that merge_face_vectors does not alter its FROM argument.
11082
110832008-02-01 Jason Rumney <jasonr@gnu.org>
11084
11085 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
11086 input in the default locale. Handle non-Unicode multibyte input.
11087
110882008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11089
11090 * fontset.c (reorder_font_vector): Exclude nil elements from the
11091 font group. Don't try multiple fonts.
11092 (fontset_font): Adjust for the above change.
11093 (Finternal_char_font): Return nil if the found font doesn't
11094 contain the character ch.
11095
11096 * Makefile.in (lisp, shortlisp): Add cham.el.
11097
110982008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11099
11100 * font.h (FONTP): Make it return 1 also for a font-object.
11101
11102 * .gdbinit (xfontset): New function.
11103
11104 * font.c (font_find_for_lface): Check if the character C is
11105 supported or not only for the first font.
11106
11107 * fontset.c (reorder_font_vector): Fix typo.
11108 (fontset_find_font): Don't add a font-spec specifying a script.
11109 Use 0 (not Qt) for the indication of empty font-group. Change the
11110 format of RFONT-DEF. Return Qt if no font in the font-group
11111 support the character.
11112 (fontset_font): Adjust for the above change. If no font was
11113 found the character, remember that.
11114 (face_for_char): Adjust for the change of RFONT-DEF.
11115 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
11116 no font for the target.
11117 (Finternal_char_font): Adjust for the change of RFONT-DEF.
11118
111192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11120
11121 * font.c (font_load_for_face): Handle the case that the font in
11122 face->lface is a string.
11123
111242008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11125
11126 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
11127
111282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11129
11130 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
11131 Fix previous change. If the frame is not on a window system,
11132 signal an error.
11133
111342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11135
11136 * coding.c (decode_coding_object, encode_coding_object): Adjust
11137 marker positions after conversion.
11138
11139 * lisp.h (struct Lisp_Marker): New member need_adjustment.
11140
111412008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11142
11143 * font.c (font_find_for_lface): Fix the handling of the return
11144 value of font_has_char.
11145 (Ffont_shape_text): Fix previous change.
11146
11147 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
11148 (fontset_ref_and_range): Delete it.
11149 (fontset_find_font): Call char_table_ref_and_range instead of
11150 FONTSET_REF_AND_RANGE.
11151 (make_fontset): Don't setup font groups of Latin here.
11152 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
11153 (new_fontset_from_font): Make the specified font the default for
11154 all Latin characters.
11155
111562008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11157
11158 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
11159 is on a window system before accessing the fontset of the frame.
11160
111612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11162
11163 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
11164
11165 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
11166 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
11167
11168 * font.c (Ffont_shape_text): If the font driver doesn't have a
11169 shaper function, make zero-width glyphs to have at least one-pixel
11170 width. Fix setting of `to' field of glyphs.
11171
111722008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11173
11174 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
11175 glyphs.
11176
11177 * font.h (struct font_driver): Improve docstring of member `shape'.
11178
111792008-02-01 Kenichi Handa <handa@m17n.org>
11180
11181 * composite.c (syms_of_composite): Fix docstring of
11182 auto-composition-function.
11183
11184 * font.h (LGLYPH_SIZE): New macro.
11185
11186 * font.c (Ffont_fill_gstring): Stop filling when a character not
11187 supported by the font is found.
11188 (Ffont_shape_text): When a shape callback function returns nil,
11189 try at most two more times with larger gstring.
11190 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
11191
11192 * xdisp.c (handle_auto_composed_prop): Change the argument to
11193 auto-composition-function.
11194
11195 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
11196 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
11197 Lispy glyph and store it in the lgstring.
11198
11199 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
11200
11201 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
11202
112032008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11204
11205 * font.c (Ffont_shape_text): Avoid unnecessary composition.
11206
11207 * fontset.c (Vfont_encoding_charset_alist): New variable.
11208 (syms_of_fontset): DEFVAR it.
11209 (reorder_font_vector, fontset_find_font): Optimize for the case of
11210 no need of reordering.
11211 (face_for_char): Map the charset property by
11212 Vfont_encoding_charset_alist.
11213
112142008-02-01 Jason Rumney <jasonr@gnu.org>
11215
11216 * w32font.c (logfonts_match): Don't check adstyle here.
11217 (font_matches_spec): Check here against physical font instead.
11218 (add_font_entity_to_list): Avoid some substitutions.
11219
11220 * font.c (font_parse_fcname): Default weight and slant to normal.
11221 (font_score): Prefer normal fonts if weight or slant unspecified.
11222 (font_score) [WINDOWSNT]: Scale weight difference down to closer
11223 match freetype scores.
11224
112252008-02-01 Jason Rumney <jasonr@gnu.org>
11226
11227 * w32font.c (w32font_text_extents): Don't use the frame stored in the
11228 font, as it may have been deleted.
11229 (w32_enumfont_pattern_entity): Map generic family to adstyle using
11230 most common hyphenless variation.
11231 (logfonts_match): Check generic family.
11232 (font_matches_spec): Don't check generic family here.
11233 (fill_in_logfont): Set generic family based on adstyle.
11234
11235 * w32font.h (w32font_get_cache): Update declaration.
11236
112372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11238
11239 * ftfont.c (ftfont_get_cache): Adjust the argument type.
11240
11241 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
11242 If none of the new drivers are available, call font_update_drivers
11243 with the old drivers.
11244
11245 * w32font.c (w32font_get_cache): Adjust the argument type.
11246
11247 * xfont.c (xfont_get_cache): Adjust the argument type.
11248
11249 * font.h (struct font_driver): Change argument type of get_cache.
11250
11251 * xftfont.c (xftfont_start_for_frame): Delete prototype.
11252
11253 * font.c (Ffont_get): Fix arguments to Fassoc.
11254 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
11255 (font_clear_cache): New function.
11256 (font_list_entities, font_matching_entity): Use font_get_cache.
11257 (font_update_drivers): Call font_clear_cache when finishing a driver.
11258
11259 * fontset.c (fontset_find_font): Fix previous change.
11260
112612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11262
11263 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
11264 dpyinfo->font_table.
11265 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
11266 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
11267
11268 * font.c (font_at): Handle the case that the arg C is negative.
11269 Handle the unibyte case.
11270 (Ffont_at): Call font_at with the arg C -1.
11271
11272 * xdisp.c (handle_auto_composed_prop): Don't get a character at
11273 the position here, and call font_at with the arg C -1.
11274 Don't check the range of the existing composition at the point.
11275
112762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11277
11278 * fontset.c (fontset_add): New args charset_id and family.
11279 Change caller.
11280 (load_font_get_repertory, fontset_find_font): Assume that
11281 font_spec is always a font-spec object.
11282 (Fset_fontset_font): Always store a font-spec object in a fontset.
11283
11284 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
11285 instead of get_property_and_range.
11286
112872008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11288
11289 * xftfont.c (struct xftfont_info): Delete the member ft_face.
11290 (xftfont_open): Don't keep locking face.
11291 (xftfont_close): Don't unlock face.
11292 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
11293
11294 * fontset.c (fontset_find_font): Don't prefer a font of
11295 supplementary charset.
11296
112972008-02-01 Kenichi Handa <handa@m17n.org>
11298
11299 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
11300 script, langsys_tag to langsys, new member script.
11301 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 11302 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
11303 listing to the script specified in that property. Fix arg to
11304 OTF_check_features.
11305
113062008-02-01 Jason Rumney <jasonr@gnu.org>
11307
11308 * w32font.h: New file.
11309
11310 * w32font.c: Include it.
11311 (struct w32font_info): Add owning_frame field. Move to w32font.h.
11312 (w32font_open): Set owning_frame.
11313 (w32font_text_extents): Use owning_frame.
11314 (struct font_callback_data): Add opentype_only field.
11315 (add_font_entity_to_list): Use it to filter fonts.
11316 Don't check against full name.
11317 (w32font_list_internal): New function.
11318 (w32font_list): Use it.
11319 (w32font_match_internal): New function.
11320 (w32font_match): Use it.
11321 (w32font_open_internal): New function.
11322 (w32font_open): Use it.
11323 (w32font_get_cache, w32font_close, w32font_has_char)
11324 (w32font_encode_char, w32font_text_extents, w32font_draw):
11325 Make non-static.
11326
11327 * makefile.w32-in (w32font.o): Depend on w32font.h.
11328
113292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11330
11331 * charset.c (Fdefine_charset_internal): Record a supplementary
11332 charset at the tail of Vcharset_order_list.
11333
11334 * font.c (Ffont_shape_text): Fix the return value.
11335
11336 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
11337
11338 * xdisp.c (handle_auto_composed_prop): Fix previous change.
11339
113402008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11341
11342 * ftfont.c (struct OpenTypeSpec): New struct.
11343 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
11344 (ftfont_get_open_type_spec): New function.
11345 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
11346
11347 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
11348
113492008-02-01 Jason Rumney <jasonr@gnu.org>
11350
11351 * w32font.c (add_font_entity_to_list): Compare only the beginning
11352 of full name.
11353
113542008-02-01 Kenichi Handa <handa@m17n.org>
11355
11356 * xdisp.c (handle_auto_composed_prop): Simplify the code.
11357 Never return HANDLED_RECOMPUTE_PROPS.
11358
113592008-02-01 Kenichi Handa <handa@m17n.org>
11360
11361 * font.c (font_gstring_produce): Delete it.
11362
11363 * composite.h (COMPOSITION_METHOD):
11364 Handle COMPOSITION_WITH_GLYPH_STRING.
11365
113662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11367
11368 * xfont.c (Qx): Delete.
11369 (syms_of_xfont): Don't initialize Qx.
11370
11371 * composite.h (enum composition_method):
11372 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
11373
113742008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11375
11376 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
11377 (choose_face_font): Accept new form of font-spec.
11378
11379 * frame.h (font_driver_list): Declare it unconditionally.
11380 (struct frame): Define members font_driver_list and font_data_list
11381 unconditionally.
11382
11383 * fontset.c: Include "font.h" unconditionally.
11384 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
11385 (Fset_fontset_font): Accept a font-spec object.
11386
11387 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
11388 PIXEL_SIZE part a wild card.
11389
11390 * dispextern.h (struct glyph_string): Define members clip and
11391 num_clips unconditionally.
11392 (struct face): Define members font_info and extra unconditionally.
11393
11394 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
11395 ftfont_info only when HAVE_LIBOTF is defined.
11396
113972008-02-01 Andreas Schwab <schwab@suse.de>
11398
11399 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
11400 and end.
11401
114022008-02-01 Jason Rumney <jasonr@gnu.org>
11403
11404 * w32font.c (w32font_driver): Add new fields.
11405
114062008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11407
11408 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
11409 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
11410 (LIBES): Add @M17N_FLT_CFLAGS@.
11411
11412 * composite.c (compose_text): Don't treat the new style
11413 composition specially.
11414
11415 * emacs.c (main): Call syms_of_font unconditionally.
11416
11417 * font.h (FONT_ENTITY_NOT_LOADABLE)
11418 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
11419 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
11420 (struct font_driver): New member shape.
11421 (font_registry_charsets): Extern it.
11422 (font_find_for_lface, font_prepare_composition): Adjust prototype.
11423 (font_otf_capability, font_drive_otf): Delete their externs.
11424
11425 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
11426 (font_charset_alist, font_registry_charsets): Move from xfont.c
11427 and rename.
11428 (font_prop_validate_otf): New function.
11429 (font_property_table): Register it for QCotf.
11430 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
11431 (font_drive_otf): Delete.
11432 (font_prepare_composition): New arg F. Adjust for the change of
11433 lispy gstring.
11434 (font_find_for_lface): New arg C.
11435 (font_load_for_face): Adjust for the change of font_find_for_lface.
11436 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
11437 lispy gstring.
11438 (Ffont_shape_text): New function.
11439 (Fopen_font): If the font size is not given, use 12-pixel.
11440 (Ffont_at): New arg STRING.
11441 (syms_of_font): Initalize font_charset_alist.
11442 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
11443 conditionally.
11444
11445 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
11446 fonts of the same font-spec. Change the format of RFONT-DEF.
11447 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
11448 Adjust for the change of RFONT-DEF.
11449 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
11450
11451 * ftfont.h: New file.
11452
11453 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
11454 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11455 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11456 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
11457 font_otf_capability and font_drive_otf, set ftfont_shape.
11458 (ftfont_list): Adjust for the change of :otf property value.
11459 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
11460 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
11461 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
11462 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11463 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
11464 (otf_gstring, gstring, m17n_flt_initialized): New variables.
11465
11466 * w32term.c (x_draw_composite_glyph_string_foreground):
11467 Adjust for the change of lispy gstring.
11468
11469 * xdisp.c (handle_composition_prop): Adjust for the change of
11470 lispy gstring. Call a function for auto-composition with the
11471 third arg it->window.
11472 (fill_composite_glyph_string): Adjust for the change of lispy string.
11473 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
11474
11475 * xfaces.c (set_font_frame_param): Adjust for the change of
11476 font_find_for_lface.
11477
11478 * xfont.c (x_font_charset_alist): Move to font.c and rename.
11479 (xfont_registry_charsets): Likewise. Change caller.
11480 (syms_of_xfont): Don't handle x_font_charset_alist.
11481
11482 * xftfont.c: Include "ftfont.h".
11483 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11484 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11485 (xftfont_close) [HAVE_LIBOTF]: Close otf.
11486 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11487 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
11488 Set xftfont_driver.shape to xftfont_shape.
11489
11490 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11491 the change of lispy gstring.
11492
114932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11494
11495 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
11496
114972008-02-01 Jason Rumney <jasonr@gnu.org>
11498
11499 * w32font.c (w32font_draw): Fill background manually.
11500
115012008-02-01 Jason Rumney <jasonr@gnu.org>
11502
11503 * font.c (Qfontp): Remove unused symbol.
11504 (QCantialias): New symbol.
11505 (syms_of_font): Define it.
11506 (font_property_table): Set a validator for QCantialias.
11507
11508 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
11509 Define if not already.
11510 (QCfamily): Share with xfaces.c.
11511 (Qstandard, Qsubpixel, Qnatural): New symbols.
11512 (syms_of_w32font): Define them. Don't define QCfamily here.
11513 (w32_antialias_type, lispy_antialias_type): New functions.
11514 (w32_enumfont_pattern_entity): New arg requested_font.
11515 Set antialias parameter if non-default was requested.
11516 (fill_in_logfont): Fill in lfQuality if :antialias specified.
11517
115182008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11519
11520 * lread.c (read1): Undo the previous change.
11521
115222008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
11523
11524 * frame.c (Fdelete_frame): Call font_update_drivers only when
11525 USE_FONT_BACKEND is defined.
11526
115272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11528
11529 * font.h (struct font_bitmap): New member bits_per_pixel.
11530 (struct font_driver): New members start_for_frame and end_for_frame.
11531 (struct font_data_list): New struct.
11532 (font_put_frame_data, font_get_frame_data): Extern them.
11533
11534 * frame.h (struct frame): New member font_data_list.
11535
11536 * font.c (font_update_drivers): Call driver->start_for_frame and
11537 driver->end_for_frame at proper timings.
11538 (font_put_frame_data, font_get_frame_data): New functions.
11539 (Ffont_spec): Add usage in the docstring.
11540
11541 * frame.c (make_frame): Initialize f->font_data_list to NULL.
11542 (Fdelete_frame): Call font_update_drivers.
11543
11544 * xftfont.c (struct xftface_info): Delete the member xft_draw.
11545 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
11546 (xftfont_get_xft_draw): New function.
11547 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
11548 (xftfont_end_for_frame): New function.
11549 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
11550
11551 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
11552 Change argument. Cache GCs in the per-frame data.
11553 (struct ftxfont_frame_data): New struct.
11554 (ftxfont_draw_bitmap): New arg gc_fore and flush.
11555 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
11556 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
11557 (ftxfont_end_for_frame): New function.
11558 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
11559
11560 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
11561
115622008-02-01 Kenichi Handa <handa@m17n.org>
11563
11564 * xselect.c (Vselection_coding_system)
11565 (Vnext_selection_coding_system): Delete them.
11566 (syms_of_xselect): Don't declare selection-coding-system and
11567 next-selection-coding-system. They are declared in select.el.
11568
115692008-02-01 Jason Rumney <jasonr@gnu.org>
11570
11571 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
11572
11573 * w32fns.c: Include imm.h.
11574 (get_composition_string_fn, get_ime_context_fn): New optional
11575 system functions.
11576 (globals_of_w32fns): Load them from imm32.dll.
11577 (ignore_ime_char): New flag.
11578 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
11579 WM_IME_ENDCOMPOSITION messages.
11580
11581 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
11582 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
11583
115842008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11585
11586 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
11587 (READCHAR_REPORT_MULTIBYTE): New macro.
11588 (readchar): New 2nd arg MULTIBYTE.
11589 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
11590 Make symbol's name multibyte according to the multibyteness of the
11591 source.
11592
115932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11594
11595 * xfaces.c (face_for_overlay_string): Call lookup_face with
11596 correct arguments (fix of synching with the trunk).
11597
115982008-02-01 Kenichi Handa <handa@m17n.org>
11599
11600 * font.c (font_prop_validate_symbol, font_prop_validate_style)
11601 (font_prop_validate_non_neg, font_prop_validate_spacing):
11602 Delete argument prop_index.
11603 (font_property_table): Change arguments to validater. Change Callers.
11604 (font_lispy_object): Delete.
11605 (font_at): Use font_find_object instead fo font_lispy_object.
11606
116072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11608
11609 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
11610 and file names.
11611
116122008-02-01 Jason Rumney <jasonr@gnu.org>
11613
11614 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
11615 (font_matches_spec): Remove debug output.
11616 (add_font_entity_to_list): Avoid using substituted fonts.
11617
116182008-02-01 Jason Rumney <jasonr@gnu.org>
11619
11620 * doc.c (Fsnarf_documentation):
11621 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
11622
116232008-02-01 Miles Bader <miles@gnu.org>
11624
11625 * dispextern.h (struct glyph_row): Only define "clip" field if
11626 HAVE_WINDOW_SYSTEM is defined.
11627
116282008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11629
11630 Fix up multi-tty merge.
11631
11632 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
11633 and indentation.
11634
11635 * xfaces.c (free_realized_face, clear_face_gcs):
11636 Include font_done_for_face in the input_blocked section, just in case.
11637
11638 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
11639 (get_char_face_and_encoding): Undo last change and remove the *other*
11640 duplicate definition (i.e. keep the one that's better scoped and that
11641 includes code for the font-backend).
11642
11643 * terminal.c (create_terminal): Default keyboard_coding to
11644 `no-conversion' and terminal_coding to `undecided'.
11645
11646 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
11647
11648 * fontset.c (free_realized_fontsets): Check that the table entry does
11649 contain a fontset before trying to compare it to `base'.
11650
11651 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
11652 syms_of_charset, and syms_of_coding earlier because init_window_once
11653 now needs Vcoding_system_hash_table to be setup.
11654
11655 * coding.h (default_buffer_file_coding): Remove.
11656
11657 * coding.c (default_buffer_file_coding): Remove.
11658 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
11659 than ->symbol, and use the terminal-local coding system.
11660 (syms_of_coding): Don't setup the coding-systems that are not
11661 terminal-local.
11662 (Fdefine_coding_system_internal): Use XCAR/XCDR.
11663
11664 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
11665 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
11666
11667 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
11668 in chartab.c and were re-added here by mistake.
11669 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
11670
11671 * doc.c (Fsnarf_documentation):
11672 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
11673 src to etc.
11674
11675 * ChangeLog.10: Add mistakenly removed entry.
11676
116772008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
11678
11679 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
11680
116812008-02-01 Miles Bader <miles@gnu.org>
11682
11683 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
11684 Add extra args to FACE_FOR_CHAR.
11685
116862008-02-01 Kenichi Handa <handa@m17n.org>
11687
11688 * keymap.c (where_is_internal_1): If key is a cons, store the copy
11689 in sequence.
11690
11691 * chartab.c (map_sub_char_table, map_char_table): If the range
11692 contains just one character, call the function with that character
11693 even if the depth is not 3.
11694
116952008-02-01 Jason Rumney <jasonr@gnu.org>
11696
11697 * w32font.c (w32font_text_extents): Calculate metrics for the
11698 whole string.
11699
117002008-02-01 Jason Rumney <jasonr@gnu.org>
11701
11702 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
11703
117042008-02-01 Jason Rumney <jasonr@gnu.org>
11705
11706 * w32term.c (x_set_glyph_string_clipping): Use
11707 get_glyph_string_clip_rects.
11708 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
11709 Adjust for the change of struct glyph_string.
11710
11711 * w32font.c (w32font_draw): Do clipping here.
11712
117132008-02-01 Kenichi Handa <handa@m17n.org>
11714
11715 * xftfont.c (xftfont_draw): Adjust for the change of struct
11716 glyph_string.
11717
11718 * xterm.c (x_set_glyph_string_clipping): Use
11719 get_glyph_string_clip_rects.
11720 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
11721 Adjust for the change of struct glyph_string.
11722
11723 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
11724 the resulting clip(s}.
11725 (expose_overlaps): Add arg r. Change callers. Set it to
11726 row->clip temporarily.
11727 (expose_window): Redraw rows overlapping the exposed area.
11728
11729 * dispextern.h (struct glyph_row): New member clip.
11730 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
11731 clip_height, new member clip, and num_clips.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * data.c (Fchar_or_string_p): Fix docstring.
11736
117372008-02-01 Kenichi Handa <handa@m17n.org>
11738
11739 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
11740 create a temporary XftDraw object.
11741
117422008-02-01 Kenichi Handa <handa@m17n.org>
11743
11744 * font.c (Ffontp): Fix docstring.
11745
11746 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
11747 strong evidence of ISO-2022.
11748
117492008-02-01 Kenichi Handa <handa@m17n.org>
11750
11751 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
11752 SYNTAX_ENTRY_FOLLOW_PARENT.
11753
117542008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11755
11756 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
11757 its type.
11758 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11759 Update to the new type of weak_hash_tables and next_weak.
11760
11761 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
11762 a plain C pointer to Lisp_Hash_Table.
11763
11764 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
11765 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
11766 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
11767 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
11768 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
11769 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
11770 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
11771 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
11772 (GC_EQ): Remove since they've been identical to their non-GC_
11773 alter-egos ever since the markbit was eradicated.
11774
11775 * alloc.c:
11776 * buffer.c:
11777 * buffer.h:
11778 * data.c:
11779 * fileio.c:
11780 * filelock.c:
11781 * fns.c:
11782 * frame.h:
11783 * lisp.h:
11784 * macterm.c:
11785 * print.c:
11786 * process.c:
11787 * w32fns.c:
11788 * w32menu.c:
11789 * w32term.c:
11790 * xfns.c:
11791 * xmenu.c:
11792 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
11793
117942008-02-01 Kenichi Handa <handa@m17n.org>
11795
11796 * chartab.c (map_sub_char_table): Make it work for the top-level
11797 char-table. Fix handling of parent char-table.
11798 (map_char_table): Adjust for the above change.
11799
118002008-02-01 Jason Rumney <jasonr@gnu.org>
11801
11802 * w32font.c (Qgdi): Rename from Qw32.
11803
118042008-02-01 Jason Rumney <jasonr@gnu.org>
11805
11806 * w32bdf.c (get_quoted_string): Make function static.
11807
118082008-02-01 Kenichi Handa <handa@m17n.org>
11809
11810 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
11811 bigger ascent and descent than those of the font, use them as
11812 font's ascent and descent.
11813
118142008-02-01 Kenichi Handa <handa@m17n.org>
11815
11816 * Makefile.in (${lispsource}international/charprop.el): Move this
11817 target within "#ifdef HAVE_UNIDATA" and "#endif".
11818
118192008-02-01 Kenichi Handa <handa@m17n.org>
11820
11821 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
11822 (shortlisp): Add ../lisp/language/tai-viet.el.
11823
118242008-02-01 Ulrich Mueller <ulm@gentoo.org>
11825
11826 * Makefile.in (${lispsource}international/charprop.el): Depend on
11827 temacs${EXEEXT}.
11828
118292008-02-01 Jason Rumney <jasonr@gnu.org>
11830
11831 * w32font.c (w32font_close): Delete the GDI font object.
11832
11833 * w32menu.c: Include character.h.
11834
11835 * w32proc.c: Likewise.
11836
11837 * w32select.c: Likewise.
11838
11839 * makefile.w32-in (w32proc.o): Depend on character.h.
11840
118412008-02-01 Jason Rumney <jasonr@gnu.org>
11842
11843 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
11844
11845 * w32menu.c (syms_of_w32menu): Likewise.
11846
11847 * w32proc.c (syms_of_ntproc): Likewise.
11848
11849 * w32select.c (syms_of_w32select): Likewise.
11850
11851 * w32term.c (syms_of_w32term): Likewise.
11852
118532008-02-01 Jason Rumney <jasonr@gnu.org>
11854
11855 * w32font.c (w32font_draw): Delete brush after using it.
11856
118572008-02-01 Jason Rumney <jasonr@gnu.org>
11858
11859 * w32font.c (w32font_open): Don't set font_idx.
11860 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
11861 to font settings.
11862 (w32font_draw): Fill background explicitly.
11863
118642008-02-01 Jason Rumney <jasonr@gnu.org>
11865
11866 * w32term.c (w32_initialize): Don't call w32font_initialize.
11867
11868 * w32font.c (w32font_info): Remove subranges.
11869 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
11870 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
11871 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
11872 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
11873 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
11874 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
11875 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
11876 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
11877 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
11878 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
11879 New symbols.
11880 (font_callback_data): New struct.
11881 (w32font_list, w32font_match): Use it.
11882 (w32font_open): Don't populate subranges.
11883 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
11884 (w32font_encode_char): Always return unicode code-point as-is.
11885 (w32font_text_extents): Supply a transformation matrix to
11886 GetGlyphOutline. Never look up by glyph index. Avoid looping
11887 twice. Use unicode version of GetTexExtentPoint32 instead of
11888 glyph index version.
11889 (set_fonts_frame): Remove.
11890 (w32_enumfont_pattern_entity): Add frame parameter, use it to
11891 set frame parameter. Use backward compatible fake foundries.
11892 Save generic family in extra slot under QCfamily. Make width slot
11893 constant. Save QCspacing value. Save list of scripts instead of
11894 binary subranges.
11895 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
11896 (add_font_entity_to_list): Use font_callback_data struct. Filter
11897 unwanted fonts.
11898 (add_one_font_entity_to_list): Use font_callback_data struct.
11899 (w32_registry): Default to iso10646_1.
11900 (fill_in_logfont): Use dpi from extra slot. Don't bother with
11901 string font registries. Don't fill in font name if it is a generic
11902 family name, fill family instead. Use spacing, family and script
11903 extra info to fill pitch, family and charset fields.
11904 (list_all_matching_fonts): Use font_callback_data struct.
11905 (unicode_range_for_char): Remove.
11906 (font_supported_scripts): New function.
11907 (w32font_initialize): Remove.
11908 (syms_of_w32font): Update which symbols are defined.
11909
119102008-02-01 Jason Rumney <jasonr@gnu.org>
11911
11912 * font.c (font_pixel_size): Reverse assq_no_quit args.
11913
11914 * w32term.h (FONT_WIDTH): Report max width, not average.
11915 (FONT_MAX_WIDTH): Remove.
11916 (FONT_AVG_WIDTH): New macro.
11917
11918 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
11919 redefinition of FONT_WIDTH.
11920
11921 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
11922 (w32_cache_char_metrics): Use FONT_WIDTH.
11923
11924 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
11925
119262008-02-01 Jason Rumney <jasonr@gnu.org>
11927
11928 * w32font.c (w32font_open): Make lfHeight negative.
11929
11930 * w32fns.c (x_default_font_parameter): Use new style font name.
11931 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
11932
119332008-02-01 Jason Rumney <jasonr@gnu.org>
11934
11935 * w32font.c (QCsubranges): New symbol.
11936 (w32font_open, w32font_has_char): Get subranges from subproperty
11937 of extra.
11938 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
11939 (syms_of_w32font): Define :subranges symbol.
11940
11941 * font.c (font_put_extra): Expose externally.
11942
11943 * font.h (font_put_extra): Move declaration from font.c.
11944
11945 * font.c (Ffont_get): Use font driver to determine otf capability.
11946 (adjust_anchor): Check if driver defines anchor_point before using.
11947
11948 * w32font.c (w32font_open): Handle size, height and pixel_size better.
11949 (w32font_draw): Use options.
11950 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
11951 Fix detection of truetype fonts.
11952 (registry_to_w32_charset): Handle charsets other than iso8859-1
11953 expressed as lisp symbols.
11954 (w32_registry): Express charset as lisp symbol.
11955 (fill_in_logfont): Reverse pixel and point height logic.
11956 Don't set width here. Set quality to default.
11957
11958 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
11959 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
11960
11961 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
11962 Remove redundant loop and allocation.
11963
11964 * makefile.w32-in (font.o, w32font.o): New objects.
11965 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
11966 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
11967
11968 * xdisp.c (fill_composite_glyph_string): Make the first arg to
11969 STORE_XCHARB a valid l-value.
11970
11971 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
11972 calculations for non-Truetype fonts.
11973 (x_draw_glyph_string): Sync with xterm.c.
11974 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
11975 Remove redundant code.
11976 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
11977
11978 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
11979 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
11980
11981 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
11982 (x_to_w32_charset, w32_to_x_charset): Expose externally.
11983
11984 * w32font.c: New file for w32 font backend.
11985
119862008-02-01 Kenichi Handa <handa@m17n.org>
11987
11988 * term.c: Don't include "buffer.h" twice.
11989
119902008-02-01 Kenichi Handa <handa@m17n.org>
11991
11992 * character.c (Funibyte_string): New function.
11993 (syms_of_character): Defsubr it.
11994
119952008-02-01 Jason Rumney <jasonr@gnu.org>
11996
11997 * w32term.c [USE_FONT_BACKEND]:
11998 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
11999 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
12000 (x_draw_glyph_string, x_draw_glyph_string_foreground)
12001 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
12002 (x_free_frame_resources): Sync with xterm.c.
12003
120042008-02-01 Andreas Schwab <schwab@suse.de>
12005
12006 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
12007 char-table size.
12008
120092008-02-01 Kenichi Handa <handa@m17n.org>
12010
12011 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
12012
120132008-02-01 Kenichi Handa <handa@m17n.org>
12014
12015 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
12016 font_otf_gpos, add font_drive_otf.
12017
12018 * fontset.c (fontset_find_font): Pay attention to font size
12019 specified for a font.
12020 (reorder_font_vector): Check contents of font_def.
12021
12022 * font.c (struct otf_list): Delete it.
12023 (otf_list): Make it a lisp variable.
12024 (otf_open): Use lispy otf_list.
12025 (generate_otf_features): Rename from parse_gsub_gpos_spec.
12026 (check_otf_features): New function.
12027 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
12028 New functions.
12029 (font_drive_otf): New function merging font_otf_gsub and
12030 font_otf_gpos.
12031 (font_open_for_lface): New arg spec. Change argument order.
12032 (font_load_for_face): Adjust for the change of font_open_for_lface.
12033 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
12034 Ffont_otf_gpos.
12035 (syms_of_font): Staticpro otf_list. Delete defsubr of
12036 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
12037
12038 * xfaces.c (set_font_frame_param): Adjust for the change of
12039 font_open_for_lface.
12040
12041 * font.h (font_open_for_lface): Adjust prototype.
12042 (struct font_driver): Delete members otf_gsub and otf_gpos, add
12043 member otf_drive.
12044 (font_otf_gsub, font_otf_gpos): Delete externs.
12045 (font_drive_otf): Extern it.
12046
120472008-02-01 Kenichi Handa <handa@m17n.org>
12048
12049 * font.c (font_at): If the window W is not on a window system,
12050 return Qnil.
12051
12052 * coding.c (produce_chars, encode_coding): Don't call
12053 insert_from_gap if no characters to produce.
12054
120552008-02-01 Kenichi Handa <handa@m17n.org>
12056
12057 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
12058 Fclear_face_cache.
12059
12060 * xfaces.c (face_for_font): Check also face->font==font->font.font.
12061
120622008-02-01 Miles Bader <miles@gnu.org>
12063
12064 * emacs.c (main): Change default value of `enable_font_backend' to 1.
12065 Parse "--disable-font-backend" option.
12066 (standard_args): Add "--disable-font-backend" option.
12067
120682008-02-01 Kenichi Handa <handa@m17n.org>
12069
12070 * fontset.c (fontset_find_font): New function.
12071 (fontset_font): Use fontset_find_font.
12072 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
12073 Register the specified font for all Latin characters.
12074 (new_fontset_from_font): Register the specified font for all Latin
12075 characters.
12076 (dump_fontset): For a realized fontset, include the base fontset
12077 name in the returned vector.
12078
120792008-02-01 Kenichi Handa <handa@m17n.org>
12080
12081 * character.h (CHAR_STRING): Cast C to unsigned on calling
12082 char_string.
12083
12084 * character.c (char_string): Type of arg C changed to unsigned.
12085 Signal an error if C is an invalid character code.
12086
12087 * editfns.c (general_insert_function, Fchar_to_string):
12088 Use CHARACTERP, not INTEGERP.
12089
120902008-02-01 Kenichi Handa <handa@m17n.org>
12091
12092 * character.h (MIN_MULTIBYTE_LEADING_CODE)
12093 (MAX_MULTIBYTE_LEADING_CODE): New macros.
12094
12095 * regex.c (analyse_first): Fix for multibyte characters in "case
12096 charset:" and "case categoryspec:".
12097
120982008-02-01 Andreas Schwab <schwab@suse.de>
12099
12100 * Makefile.in (LIBES): Move standard libraries to the end.
12101
121022008-02-01 Kenichi Handa <handa@m17n.org>
12103
12104 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
12105 nonzero, don't shrink the buffer nextb.
12106
12107 * buffer.h (struct buffer_text): New member inhibit_shrinking.
12108
12109 * coding.c (coding_alloc_by_making_gap): New arg offset.
12110 (alloc_destination): Call coding_alloc_by_making_gap with the arg
12111 offset.
12112 (decode_coding_iso_2022): Update coding->safe_charsets.
12113 (decode_coding_gap): Temporarily set
12114 current_buffer->text->inhibit_shrinking to 1.
12115
121162008-02-01 Kenichi Handa <handa@m17n.org>
12117
12118 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
12119 indexing into elements of s->cmp and s->char2b.
12120
121212008-02-01 Juanma Barranquero <lekktu@gmail.com>
12122
12123 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
12124
121252008-02-01 Kenichi Handa <handa@m17n.org>
12126
12127 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
12128 target_multibyte instead of multibyte.
12129 (re_match_2_internal): Call bcmp_translate with target_multibyte.
12130 (bcmp_translate): Change the argument name from multibyte to
12131 target_multibyte.
12132
121332008-02-01 Kenichi Handa <handa@m17n.org>
12134
12135 These changes are to compile a regexp into a pattern that can be
12136 used both for multibyte and unibyte targets.
12137
12138 * Makefile.in (search.o): Depend on charset.h.
12139
12140 * character.c (multibyte_char_to_unibyte_safe): New function.
12141
12142 * search.c: Include "charset.h".
12143 (compile_pattern_1): Delete argument multibyte. Don't set
12144 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
12145 (compile_pattern): Don't compare cp->buf.target_multibyte.
12146 Compare cp->buf.charset_unibyte.
12147 (compile_pattern): Set cp->buf.target_multibyte.
12148
12149 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
12150
12151 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
12152
12153 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
12154 multibyte. Change callers.
12155 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
12156 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
12157 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
12158 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
12159 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
12160 (regex_compile): Make the compiled pattern usable both for
12161 multibyte and unibyte targets.
12162 (analyse_first): Make the fastmap usable both for multibyte and
12163 unibyte targets.
12164 (TRANSLATE_VIA_MULTIBYTE): Delete.
12165 (re_match_2_internal): Pay attention to the case that the
12166 multibyteness of bufp and target may be different.
12167
121682008-02-01 Kenichi Handa <handa@m17n.org>
12169
12170 * xdisp.c (x_produce_glyphs): When a font is not found, make the
12171 empty box occupy at least one column width.
12172
121732008-02-01 Miles Bader <miles@gnu.org>
12174
12175 * Makefile.in: Remove redundant HAVE_XFT clause.
12176
121772008-02-01 Kenichi Handa <handa@m17n.org>
12178
12179 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
12180
121812008-02-01 Kenichi Handa <handa@m17n.org>
12182
12183 * fontset.c (Finternal_char_font): Fix for the case of POSITION
12184 being nil.
12185
121862008-02-01 Kenichi Handa <handa@m17n.org>
12187
12188 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
12189
121902008-02-01 Kenichi Handa <handa@m17n.org>
12191
12192 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
12193
121942008-02-01 Kenichi Handa <handa@m17n.org>
12195
12196 * search.c (simple_search): Fix previous change.
12197
121982008-02-01 Kenichi Handa <handa@m17n.org>
12199
12200 * xftfont.c (ftfont_font_format): Extern declaration.
12201
12202 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
12203
12204 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
12205 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
12206
12207 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
12208 (ftfont_font_format): Fix previous change.
12209
12210 * font.h (Ffont_xlfd_name): EXFUN it.
12211
12212 * font.c (font_parse_xlfd): Fix the array size of `f'.
12213 (register_font_driver): Use EQ to compare driver->type.
12214
12215 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
12216 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
12217 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
12218
122192008-02-01 Kenichi Handa <handa@m17n.org>
12220
12221 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
12222 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
12223
122242008-02-01 Kenichi Handa <handa@m17n.org>
12225
12226 * xfont.c (xfont_open): Set font->format.
12227
12228 * xftfont.c (xftfont_open): Set font->format.
12229
12230 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
12231 (ftfont_list): Include FC_FONTFORMAT in FcObject.
12232 (ftfont_open): Set font->format.
12233 (ftfont_font_format): New function.
12234
12235 * font.h (struct font): New member format.
12236
12237 * font.c (Qopentype): New variable.
12238 (syms_of_font): Defsym it.
12239 (Fquery_font): Change the format of the last element of the return
12240 value.
12241
122422008-02-01 Kenichi Handa <handa@m17n.org>
12243
12244 * xfns.c (xic_create_xfontset): Try the default fontset name as a
12245 last resort.
12246
122472008-02-01 Kenichi Handa <handa@m17n.org>
12248
12249 * coding.c (detect_coding_charset): Fix detection of multi-byte
12250 charset.
12251
122522008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
12253
12254 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
12255
122562008-02-01 Kenichi Handa <handa@m17n.org>
12257
12258 * xdisp.c (get_next_display_element): Set it->face_id for the
12259 first component of a composition.
12260 (x_produce_glyphs): Check if the font is changed or not for composition.
12261
122622008-02-01 Kenichi Handa <handa@m17n.org>
12263
12264 * fontset.c (Qlatin): New variable.
12265 (syms_of_fontset): Define it as a lisp symbol.
12266 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
12267
122682008-02-01 Kenichi Handa <handa@m17n.org>
12269
12270 * font.c (font_unparse_fcname): Pay attention to the case that
12271 some of font property is a null string.
12272
122732008-02-01 Kenichi Handa <handa@m17n.org>
12274
12275 * term.c: Include "composite.h".
12276 (encode_terminal_code): Output all components of composition.
12277 Check the size of encode_terminal_src.
12278 (produce_glyphs): For composition, call produce_composite_glyph.
12279 (append_composite_glyph, produce_composite_glyph): New functions.
12280
12281 * xdisp.c (x_produce_glyphs): In handling composition, if a font
12282 is not found, get font_info from the current ascii face.
12283
122842008-02-01 Kenichi Handa <handa@m17n.org>
12285
12286 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
12287 buffer-file-name to Qnil before calling insert_from_buffer.
12288
12289 * font.c (font_unparse_fcname): Pay attention to the case that
12290 foundry is a null string.
12291
122922008-02-01 Kenichi Handa <handa@m17n.org>
12293
12294 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
12295
12296 * font.c (Qunicode_sip): New variable.
12297 (syms_of_font): Declare it as a Lisp symbol.
12298
12299 * font.h (Qunicode_sip): Extern it.
12300
123012008-02-01 Kenichi Handa <handa@m17n.org>
12302
12303 * composite.c (get_composition_id): Pay attention to TAB component.
12304
12305 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
12306 TAB. Adjust for the change of s->char2b which always points to
12307 the first element of allocated memory.
12308
12309 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
12310
12311 * xdisp.c (handle_composition_prop): Set it->c to the first
12312 non-TAB component.
12313 (fill_composite_glyph_string): Change argument.
12314 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
12315 (x_produce_glyphs): Fix handling of left/right padding.
12316
123172008-02-01 Kenichi Handa <handa@m17n.org>
12318
12319 * coding.c (detect_coding_system): Fix for handling off
12320 inhibit_iso_escape_detection. Fix for the case that no coding
12321 system is defined for a specific coding category.
12322
123232008-02-01 Kenichi Handa <handa@m17n.org>
12324
12325 * font.c (font_matching_entity): Delete unused local var.
12326
12327 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
12328 opening a font.
12329
12330 * fileio.c (Finsert_file_contents): On recovering a file, assume
12331 Unix-like eol.
12332 (choose_write_coding_system): On auto-saving a file, force
12333 Unix-like eol.
12334
12335 * coding.c (setup_coding_system): Fix setting of
12336 coding->common_flags based on eol_type.
12337 (coding_inherit_eol_type): If PARENT is not nil, be sure to
12338 inherit from it.
12339
123402008-02-01 Kenichi Handa <handa@m17n.org>
12341
12342 * alloc.c (NSTATICS): Increas to 0x600.
12343
123442008-02-01 Kenichi Handa <handa@m17n.org>
12345
12346 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
12347 (ftfont_list): Don't check :name property.
12348 (ftfont_match): New function.
12349 (ftfont_pattern_entity): If the pattern doesn't contain
12350 FC_SPACING, don't assume FC_MONO.
12351
12352 * font.h (struct font_driver): New member `match'.
12353 (font_update_drivers): Adjust prototype.
12354
12355 * font.c (font_parse_fcname, font_parse_name): Don't change :name
12356 property of FONT.
12357 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
12358 them unconditionally.
12359 (font_matching_entity): New function.
12360 (font_open_by_name): Try font_matching_entity if exact match is
12361 not found.
12362 (font_update_drivers): Delete the arg FONT. Return a list of
12363 actually used backends. Don't free faces, font caches here.
12364 Don't store data in frame parameters. Don't call x_set_font.
12365 (Ffont_spec): Store :name property as is.
12366 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
12367 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
12368 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
12369 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
12370 Call font->driver->otf_gsub instead of font_otf_gsub.
12371
12372 * frame.c (x_set_font_backend): Do more works that were done in
12373 font_update_drivers before.
12374
12375 * xfont.c (xfont_match): New function.
12376 (xfont_driver): Set xfont_driver.match to xfont_match.
12377 (xfont_draw): Set font in GC if necessary.
12378
12379 * ftxfont.c (ftxfont_match): New function.
12380 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
12381
12382 * xftfont.c (xftfont_match): New function.
12383 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
12384
123852008-02-01 Kenichi Handa <handa@m17n.org>
12386
12387 * font.h (struct font): New member scalable.
12388 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
12389 (font_otf_gsub): Adjust prototype.
12390
12391 * font.c (font_otf_capability): Fix handling of the default langsys.
12392 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
12393 Check the contents of SPEC.
12394 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
12395 (check_gstring): New function.
12396 (REPLACEMENT_CHARACTER): New macro.
12397 (font_otf_gsub): New arg alternate_subst. Be sure to set all
12398 glyph codes of GSTRING.
12399 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
12400 (font_prepare_composition): Set cmp->glyph_len.
12401 (font_open_entity): Set font->scalable.
12402 (Ffont_get): Handle :otf property.
12403 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
12404 functions.
12405 (Fquery_font): Use font->font.full_name.
12406 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
12407 Sfont_otf_alternates.
12408
12409 * ftfont.c (ftfont_open): Set font->font.full_name and
12410 font->font.name properly. Fix calculation of font->font.height
12411 and font->min_width.
12412
12413 * ftxfont.c (ftxfont_create_gcs): New function.
12414 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
12415 (ftxfont_draw_backgrond): Fix filling region.
12416 (ftxfont_default_fid): New function.
12417 (ftxfont_open): Set xfont->fid to the return value of
12418 ftxfont_default_fid.
12419 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
12420 (ftxfont_done_face): Free only GCs that are created by
12421 ftxfont_create_gcs.
12422 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
12423
12424 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
12425 Clip to src->width, etc (not src->clip_XXX).
12426
12427 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
12428 FontBackend frame parameter.
12429
124302008-02-01 Kenichi Handa <handa@m17n.org>
12431
12432 * font.h (struct font_driver_list): New member `on'.
12433 (Fclear_font_cache): EXFUN it.
12434 (font_update_drivers): Extern it.
12435
12436 * font.c (font_unparse_fcname): Fix typo (swidth->width).
12437 (font_list_entities): Check driver_list->on.
12438 (register_font_driver): Initalize `on' member to 0.
12439 (font_update_drivers): New function.
12440 (Fclear_font_cache): Check driver_list->on.
12441
12442 * frame.h (Qfont_backend): Extern it.
12443 (x_set_font_backend): Extern it.
12444
12445 * frame.c (Qfont_backend): New variable.
12446 (frame_parms): New element for font-backend.
12447 (x_set_font_backend): New function.
12448
12449 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
12450 FontBackend frame parameter.
12451 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
12452 x_set_font_backend.
12453
12454 * xfont.c (xfont_list): Don't try listing by :name property if the
12455 name is not for XLFD.
12456
124572008-02-01 Kenichi Handa <handa@m17n.org>
12458
12459 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
12460 (LGLYPH_SET_TO): New macros.
12461 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
12462 element of G is vector or not.
12463 (font_at): Extern it.
12464
12465 * font.c: Include window.h.
12466 (font_lispy_object): New function.
12467 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
12468 end of valid glyph.
12469 (font_close_object): Fix getting (struct font *).
12470 (font_at): New function.
12471 (Ffont_get): If FONT is a font-object, get entity from it.
12472 (Ffont_make_gstring): Initialize elements of glyphs with nil.
12473 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
12474 range check.
12475 (Ffont_at): New function.
12476 (syms_of_font): Defsubr Sfont_at.
12477
12478 * xdisp.c (it_props): Move the entry for Qauto_composed to just
12479 before the entry for Qcomposition.
12480 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
12481 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
12482 the font in gstring.
12483 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
12484 LGLYPH_FORM (g) to detect the end of valid glyph.
12485 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
12486 we are composing with gstring.
12487
12488 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
12489 Check if adjustment is vector or not.
12490
12491 * Makefile.in (font.o): Make it depends on window.h.
12492
124932008-02-01 Kenichi Handa <handa@m17n.org>
12494
12495 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
12496 adjustment is vector or not.
12497
124982008-02-01 Miles Bader <miles@gnu.org>
12499
12500 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
12501
125022008-02-01 Kenichi Handa <handa@m17n.org>
12503
12504 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
12505 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
12506 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
12507
12508 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
12509 (DEVICE_DELTA): Fix typo.
12510 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
12511 LGLYPH format.
12512
12513 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
12514 the change of LGLYPH format.
12515
125162008-02-01 Kenichi Handa <handa@m17n.org>
12517
12518 * ftfont.c (ftfont_list): Fix typo.
12519 (ftfont_build_basic_charsets): Don't include letters with diacritics.
12520
125212008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12522
12523 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
12524
12525 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
12526 xftface_info is non-NULL.
12527
125282008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12529
12530 * ftfont.c (ftfont_list): Move misplaced #endif.
12531
125322008-02-01 Kenichi Handa <handa@m17n.org>
12533
12534 * ftfont.c (ftfont_list): Pay attention to the case that
12535 FC_CAPABILITY is not defined.
12536
125372008-02-01 Kenichi Handa <handa@m17n.org>
12538
12539 * xftfont.c (xftfont_open): Set charset related members to -1.
12540
12541 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
12542 QCname.
12543 (ftfont_open): Set charset related members to -1.
12544
12545 * fontset.c (Votf_script_alist): New variable.
12546 (syms_of_fontset): Initialize it.
12547 (fontset_font): Delete unused variable.
12548
12549 * fontset.h (Votf_script_alist): Extern it.
12550
12551 * font.c (font_find_for_lface): Optimize code.
12552
12553 * font.h (font_close_object, font_merge_old_spec): Extern them.
12554
125552008-02-01 Kenichi Handa <handa@m17n.org>
12556
12557 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
12558 (syms_of_font): Initialize them.
12559 (font_pixel_size): Allow float value in dpi.
12560 (font_prop_validate_type): Delete.
12561 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
12562 Change caller.
12563 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
12564 (font_prop_validate_extra): Delete.
12565 (font_prop_validate_spacing): New function.
12566 (font_property_table): Add elements for all known properties.
12567 (get_font_prop_index): Rename from check_font_prop_name. New
12568 argument FROM. Change caller.
12569 (font_prop_validate): Validate all known properties.
12570 (font_put_extra): Delete argument force. Change caller.
12571 (font_expand_wildcards): Make it static. Fix the way of shrinking
12572 the possible range.
12573 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
12574 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
12575 Change caller.
12576 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
12577 (font_parse_fcname): Delete argument merge. Fix parsing of point
12578 size. Don't validate properties values here. Change caller.
12579 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
12580 (font_open_by_name): Delete unused variable.
12581 (Ffont_spec): Likewise. Validate property values.
12582 (Ffont_match_p): New function.
12583
12584 * font.h (QCscalable): Extern it.
12585 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
12586
12587 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
12588
12589 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
12590 (xfont_list_pattern): New function.
12591 (xfont_list): Use xfont_list_pattern.
12592
125932008-02-01 Kenichi Handa <handa@m17n.org>
12594
12595 * font.h (Flist_fonts): EXFUN it.
12596
125972008-02-01 Jason Rumney <jasonr@gnu.org>
12598
12599 * w32term.c (w32_initialize): Add back smoothing_type and
12600 smoothing_enabled definitions.
12601
126022008-02-01 Kenichi Handa <handa@m17n.org>
12603
12604 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
12605 s->face->font on determining underline position.
12606
126072008-02-01 Kenichi Handa <handa@m17n.org>
12608
12609 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
12610 (font_has_char): Accept font-object too.
12611 (font_find_for_lface): Try at first with a size specified in face.
12612
126132008-02-01 Kenichi Handa <handa@m17n.org>
12614
12615 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
12616 font_open_by_name.
12617
126182008-02-01 Kenichi Handa <handa@m17n.org>
12619
12620 * font.h (QCspacing, QCdpi): Extern them.
12621 (enum font_spacing): New enum.
12622 (FONT_PIXEL_SIZE_QUANTUM): New macro.
12623
12624 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
12625 (QCspacing, QCdpi): New variables.
12626 (syms_of_font): Initialize them.
12627 (font_pixel_size): New function.
12628 (font_put_extra): New function.
12629 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
12630 in FONT_EXTRA.
12631 (font_parse_fcname): Handle enumerated values (e.g. bold).
12632 Fix handling font size. Add QCname property that contains only
12633 unknown properties.
12634 (font_score): Change argument. Change caller. Pay attention to
12635 FONT_PIXEL_SIZE_QUANTUM.
12636 (font_sort_entites, font_list_entities, font_find_for_lface)
12637 (font_open_for_lface, font_open_by_name): Fix handling of font size.
12638 (Ffont_spec): Add QCname property that contains only unknown properties.
12639
12640 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
12641 include weight in listing pattern, instead check weight of each
12642 listed font. Don't include scalable in pattern. Pay attention to
12643 FONT_PIXEL_SIZE_QUANTUM.
12644
126452008-02-01 Kenichi Handa <handa@m17n.org>
12646
12647 * font.c (font_parse_fcname): Fix parsing of point-size.
12648 (font_unparse_fcname): Produce symbolic names for style properties.
12649 (font_list_entities): Handle float size correctly.
12650 (font_open_by_name): Prefer `normal' property values if the name
12651 doesn't specify them.
12652
12653 * fontset.c (Finternal_char_font): Use font_get_name, not
12654 Ffont_xlfd_name.
12655
12656 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
12657 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
12658 pattern. Don't force scalable.
12659
12660 * xftfont.c (xftfont_open): For generating a name, start from
12661 96-byte buffer.
12662
126632008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12664
12665 * frame.h (x_new_fontset2): Fix prototype.
12666
126672008-02-01 Kenichi Handa <handa@m17n.org>
12668
12669 * font.h (struct font_driver): Delete member parse_name.
12670 (font_match_p, font_get_spec, font_parse_fcname)
12671 (font_unparse_fcname): Extern them.
12672 (font_get_name): Adjust prototype.
12673
12674 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
12675 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
12676 (font_expand_wildcards): Fix handling ENCODING field. Avoid
12677 unnecessary checks for weight, slant, and swidth.
12678 (font_parse_fcname): New function.
12679 (font_unparse_fcname): New function.
12680 (font_parse_name): New function.
12681 (font_match_p): New function.
12682 (font_get_name): Change return value to Lisp string.
12683 (font_get_spec): New function.
12684 (Qunspecified, Qignore_defface): Don't extern them.
12685 (font_find_for_lface): Assume that LFACE is fully specified.
12686 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
12687 object, use it for FACE.
12688 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
12689 driver->parse_name.
12690 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
12691
12692 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
12693 prototype.
12694
12695 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
12696 argument F. Don't call Fnew_fontset. Instead, directly call
12697 make_fontset.
12698
12699 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
12700
12701 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
12702 of x_new_fontset2.
12703
12704 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
12705 (Qsans__serif): New variables.
12706 (ftfont_generic_family_list): New variable.
12707 (syms_of_ftfont): Initialize the above variables.
12708 (ftfont_pattern_entity): Delete argument NAME.
12709 (ftfont_list_generic_family): New function.
12710 (ftfont_parse_name): Delete this function.
12711 (ftfont_list): Try generic family only when FcFontList found no font.
12712 (ftfont_list_family): Fix args to FcObjectSetBuild.
12713
12714 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
12715 object in attrs[LFACE_FONT_INDEX].
12716 (set_lface_from_font_name): Cancel all changes for font-backend.
12717 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
12718 function.
12719 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
12720 font object in QCfont attribute.
12721 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
12722 (realize_default_face) [USE_FONT_BACKEND]: Call
12723 set_lface_from_font_and_fontset.
12724
12725 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
12726 "fixed", and signal error here if no suitable font was found.
12727
12728 * xfont.c (xfont_parse_name): Delete this function.
12729
12730 * xftfont.c (xftfont_open): Change coding style of error
12731 handling. Generate fontconfig's fontname pattern.
12732
12733 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
12734 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
12735
12736 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
12737 Both args FONTSET and FONT_OBJECT must be existing ones.
12738
127392008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12740
12741 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
12742
127432008-02-01 Kenichi Handa <handa@m17n.org>
12744
12745 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
12746
12747 * font.h (struct font): Fix typo.
12748
12749 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
12750 XLFD_XXX_INDEX.
12751 (enum xlfd_field_mask): New enum.
12752 (intern_font_field): Changed argument. Change caller. If digits
12753 are followed by non-digits, return a symbol.
12754 (font_expand_wildcards): New function.
12755 (font_parse_xlfd): Fix wildcard handling.
12756 (Ffont_spec): If :name is specified, reflect the info in the other
12757 properties.
12758
12759 * ftfont.c (ftfont_pattern_entity): Fix typo.
12760 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
12761 locale.
12762
127632008-02-01 Kenichi Handa <handa@m17n.org>
12764
12765 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
12766
12767 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
12768 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
12769 registry doesn't specify encoding part.
12770 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
12771 (font_open_by_name): At first try parsing the name.
12772 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
12773 as Lisp symbols.
12774
12775 * fontset.c (reorder_font_vector): Pay attention to the case that
12776 the 3rd element of font_def is nil.
12777 (fontset_font): For the default fontset, append one more fontset
12778 elements for a script-based font specification. Don't add script
12779 attribute on finding a font.
12780 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
12781 font name.
12782 (fontset_ascii_font): If a font can't be opened, return nil.
12783
12784 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
12785 (ftfont_pattern_entity): New function.
12786 (ftfont_get_cache): Assume that freetype_font_cache is already
12787 initialized.
12788 (ftfont_list): Handle the case that a file is specified in font
12789 name. Use ftfont_pattern_entity to generate entities.
12790 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
12791 (syms_of_ftfont): Initialize freetype_font_cache.
12792
12793 * xftfont.c (xftfont_open): Make the font name fontconfig's
12794 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
12795 (xftfont_close): Free font->font.name if not NULL.
12796
12797 * xfont.c (xfont_list): If script is specified for a font, return
12798 null_vector.
12799 (xfont_list_family): Declare argument type.
12800
12801 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
12802 name, set LFACE_FONT (lface) to nil.
12803
12804 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
12805 return Qnil.
12806
128072008-02-01 Kenichi Handa <handa@m17n.org>
12808
12809 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
12810 (standard_args): Add "-enable-font-backend".
12811
128122008-02-01 Kenichi Handa <handa@m17n.org>
12813
12814 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
12815 (struct xftdraw_list, xftdraw_list): Delete them.
12816 (register_xftdraw, check_xftdraw): Delete them.
12817 (xftfont_prepare_face): Don't call register_xftdraw.
12818 (xftfont_done_face): Don't call check_xftdraw.
12819 (xftfont_draw): Get background color only when with_background is
12820 nonzero.
12821
12822 * xfont.c (xfont_encode_char): Fix calculation of char2b.
12823
128242008-02-01 Kenichi Handa <handa@m17n.org>
12825
12826 These changes are for the new font handling codes.
12827
12828 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
12829 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
12830 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
12831 (FONTSRC, FONTOBJ): New variables.
12832 (obj): Add $(FONTOBJ).
12833 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
12834 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
12835 @LIBOTF_LIBS@.
12836 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
12837 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
12838
12839 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
12840
12841 * character.h (Vscript_representative_chars): Extern it.
12842
12843 * character.c (Vscript_representative_chars): New variable.
12844 (syms_of_character): Declare it as a Lisp variable.
12845
12846 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
12847 enable_font_backend is nonzero, accept the composition method
12848 COMPOSITION_WITH_GLYPH_STRING.
12849
12850 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
12851 enumeration COMPOSITION_WITH_GLYPH_STRING.
12852
12853 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
12854 members clip_x, clip_y, clip_width, and clip_height.
12855 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
12856
12857 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
12858 --enable-font-backend. Call syms_of_font.
12859
12860 * fns.c (assoc_no_quit): New function.
12861
12862 * fontset.h (FONT_INFO_FROM_FACE): New macro.
12863 (face_for_font, new_fontset_from_font)
12864 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
12865
12866 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
12867 (fontset_font, fontset_ascii, face_for_char)
12868 (make_fontset_for_ascii_face, Ffont_info)
12869 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
12870 is nonzero, use font-backend mechanism.
12871 (find_font_encoding): Make it non-static.
12872 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
12873 New functions.
12874
12875 * frame.h (struct frame): New members resx and resy.
12876 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
12877 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
12878
12879 * frame.c [USE_FONT_BACKEND]: Include "font.h".
12880 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
12881
12882 * lisp.h (assoc_no_quit): Extern it.
12883
12884 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
12885 Through out the file, use FONT_INFO_FROM_FACE instead of
12886 FONT_INFO_FROM_ID, use get_per_char_metric instead of
12887 rif->per_char_metric.
12888 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
12889 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
12890 (get_glyph_face_and_encoding, fill_composite_glyph_string)
12891 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12892 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
12893 nonzero, use font-backend mechanism.
12894 (get_per_char_metric): New function.
12895
12896 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
12897 (set_lface_from_font_name)
12898 (set_font_frame_param, free_realized_face)
12899 (prepare_face_for_display, clear_face_gcs)
12900 (Finternal_set_font_selection_order, realize_x_face)
12901 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
12902 font-backend mechanism.
12903 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
12904 (load_face_font) [USE_FONT_BACKEND]: Abort.
12905 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
12906 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
12907
12908 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
12909 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
12910 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
12911 nonzero, register all available font drivers. Call
12912 x_default_font_parameter for deciding a font.
12913 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
12914
12915 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
12916 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
12917 (x_set_glyph_string_clipping_exactly)
12918 (x_compute_glyph_string_overhangs)
12919 (x_draw_glyph_string_foreground)
12920 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
12921 (x_free_frame_resources) [USE_FONT_BACKEND]: If
12922 enable_font_backend is nonzero, use font-backend mechanism.
12923 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
12924
129252008-02-01 Kenichi Handa <handa@m17n.org>
12926
12927 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
12928 system_eol_type.
12929 (syms_of_coding): Initialize system_eol_type.
12930
12931 * process.c (Fset_process_coding_system): Inherit system's eol
12932 format if necessary.
12933
129342008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12935
12936 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
12937
129382008-02-01 Kenichi Handa <handa@m17n.org>
12939
12940 * coding.c (decode_eol): Pay attention to buffer relocation in
12941 del_range_2.
12942 (decode_coding): Call decode_eol before restoring undo_list.
12943
129442008-02-01 Kenichi Handa <handa@m17n.org>
12945
12946 * charset.c (Fdefine_charset_internal): Fix setting of
12947 emacs_mule_bytes.
12948
129492008-02-01 Kenichi Handa <handa@m17n.org>
12950
12951 * keyboard.c (read_char): Check if C is a character or not before
12952 looking up Vkeyboard_translate_table.
12953
129542008-02-01 Kenichi Handa <handa@m17n.org>
12955
12956 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
12957 condition to terminate the loop.
12958
129592008-02-01 Kenichi Handa <handa@m17n.org>
12960
12961 * coding.c (produce_composition): Compare charbuf[i] instead of
12962 args[i] against 0.
12963 (Fterminal_coding_system): Use EQ to compare Lisp objects.
12964
129652008-02-01 Kenichi Handa <handa@m17n.org>
12966
12967 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
12968 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
12969 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
12970 detect_coding.
12971 (emacs_mule_char): Handle old style (Emacs 20) component character
12972 of a composition.
12973 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
12974 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
12975 composition rule.
12976 (decode_coding_emacs_mule): Handle invalid bytes correctly.
12977
129782008-02-01 Kenichi Handa <handa@m17n.org>
12979
12980 * coding.c (encode_coding_ccl): Allocate destination dynamically
12981 when necessary.
12982
129832008-02-01 Kenichi Handa <handa@m17n.org>
12984
12985 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
12986 the loop. When quitted, show a proper error message.
12987
129882008-02-01 Kenichi Handa <handa@m17n.org>
12989
12990 * xterm.c (x_set_glyph_string_clipping_exactly): Set
12991 src->clip_head and src->clip_tail temporarily instead of src->hl.
12992
12993 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
12994 character sequence.
12995 (Fccl_execute_on_string): Use ASET, not XSET.
12996
129972008-02-01 Kenichi Handa <handa@m17n.org>
12998
12999 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
13000
130012008-02-01 Kenichi Handa <handa@m17n.org>
13002
13003 * coding.c (decode_coding): Fix the condition of terminating the
13004 decoding loop.
13005
130062008-02-01 Kenichi Handa <handa@m17n.org>
13007
13008 * data.c (Faset): On setting a character bigger than 255 in a
13009 unibyte string, signal an error instead of make the string multibyte.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * charset.c (map_charset_chars): Fix for ascii-compatible charset
13014 made by a mapping table.
13015
130162008-02-01 Kenichi Handa <handa@m17n.org>
13017
13018 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
13019 not.
13020 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
13021 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
13022
13023 * xterm.c (x_draw_composite_glyph_string_foreground): Check
13024 s->face is NULL or not.
13025
130262008-02-01 Kenichi Handa <handa@m17n.org>
13027
13028 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
13029 (x_draw_glyph_string): Fix drawing of right_overhang and
13030 left_overhang around/on cursor.
13031
13032 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
13033
130342008-02-01 Kenichi Handa <handa@m17n.org>
13035
13036 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
13037
130382008-02-01 Kenichi Handa <handa@m17n.org>
13039
13040 * coding.c (Fdefine_coding_system_internal)
13041 (Fdefine_coding_system_alias): Avoid a duplicated element in
13042 Vcoding_system_alist.
13043
130442008-02-01 Kenichi Handa <handa@m17n.org>
13045
13046 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
13047
13048 * coding.c (Qcoding_system_define_form): New variable.
13049 (syms_of_coding): Intern and staticpro it.
13050 (Fcoding_system_p): Check Qcoding_system_define_form.
13051 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
13052
13053 * coding.h (CODING_SYSTEM_P): If ID is not available, call
13054 Fcoding_system_p.
13055 (CHECK_CODING_SYSTEM): If ID is not available, call
13056 Fcheck_coding_system.
13057 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
13058 Try also Fcheck_coding_system.
13059
130602008-02-01 Kenichi Handa <handa@m17n.org>
13061
13062 * coding.c (code_conversion_restore): GCPRO arg.
13063
130642008-02-01 Kenichi Handa <handa@m17n.org>
13065
13066 * character.c (lisp_string_width): Check multibyteness of STRING.
13067
130682008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13069
13070 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
13071 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
13072 (decode_mac_font_name): Use decode_coding_c_string instead of
13073 decode_coding.
13074 (x_load_font): Initialize fontp->fontset to -1. Set
13075 fontp->encoding_type.
13076
130772008-02-01 Kenichi Handa <handa@m17n.org>
13078
13079 * search.c (search_buffer): Give up BM search on case-fold-search
13080 if one of a target character has a case-equivalence of different
13081 byte length even if that target charcter is an ASCII.
13082 (simple_search): Fix calculation of byte length of matched text.
13083 (boyer_moore): Fix handling of case-equivalent multibyte characters.
13084
130852008-02-01 Kenichi Handa <handa@m17n.org>
13086
13087 * coding.c (decode_coding): Fix handling of invalid bytes.
13088
130892008-02-01 Kenichi Handa <handa@m17n.org>
13090
13091 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
13092 Unicode characters.
13093
130942008-02-01 Kenichi Handa <handa@m17n.org>
13095
13096 * coding.c (encode_coding_object): If a pre-write-conversion
13097 function makes a new buffer, kill it.
13098
130992008-02-01 Kenichi Handa <handa@m17n.org>
13100
13101 * coding.c (QCascii_compatible_p): New variable.
13102 (syms_of_coding): Initialize it.
13103 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
13104 calling string_char.
13105 (record_conversion_result): Add `default:' case.
13106 (coding_charset_list): Delete unused variable `coding_type'.
13107 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
13108 property in the plist of the coding system.
13109 (Fcoding_system_put): Check QCascii_compatible_p.
13110
131112008-02-01 Miles Bader <miles@gnu.org>
13112
13113 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
13114 removed calculation of frame `f', as it's now used.
13115
131162008-02-01 Kenichi Handa <handa@m17n.org>
13117
13118 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
13119 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
13120 (UNIDATA): New variable.
13121 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
13122 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
13123 $(RUN_TEMACS) unconditionally.
13124
131252008-02-01 Kenichi Handa <handa@m17n.org>
13126
13127 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
13128 (admindir): New variable.
13129 ($(lispsource)international/charprop.el): New target.
13130
131312008-02-01 Miles Bader <miles@gnu.org>
13132
13133 * character.c (chars-in-region): Remove obsolete function.
13134 (syms_of_character): Remove its initialization.
13135
131362008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
13137
13138 * w32select.c (validate_coding_system)
13139 (setup_windows_coding_system): New functions.
13140 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
13141 setup_windows_coding_system.
13142 (setup_config, Fw32_get_clipboard_data): Use
13143 validate_coding_system.
13144 (Fx_selection_exists): Move call to setup_config to a place
13145 where signals are allowed.
13146
13147 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
13148 (Fcheck_coding_system): Add declarations.
13149
131502008-02-01 Kenichi Handa <handa@m17n.org>
13151
13152 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
13153
131542008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13155
13156 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
13157 string as the second argument for x_new_fontset.
13158
131592008-02-01 Kenichi Handa <handa@m17n.org>
13160
13161 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
13162 (encode_coding_object): Use safe_call instead of call2.
13163
131642008-02-01 Kenichi Handa <handa@m17n.org>
13165
13166 * fontset.c (Fset_fontset_font): Check family element of a given vector.
13167
13168 * Makefile.in (lisp): Include charprop.el.
13169
131702008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13171
13172 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
13173 Not sure if it's unnecessary.
13174
131752008-02-01 Steven Tamm <steventamm@mac.com>
13176
13177 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
13178 some possibly unnecessary fontset checking code that crashed
13179 when creating a new frame.
13180
131812008-02-01 Kenichi Handa <handa@m17n.org>
13182
13183 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
13184 lookup_face.
13185
13186 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
13187
13188 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
13189
131902008-02-01 Kenichi Handa <handa@m17n.org>
13191
13192 * coding.c: Cancel the change done in HEAD on 2008-02-01.
13193 (coding_charset_list): New function.
13194
13195 * coding.h (coding_charset_list): Extern it.
13196
131972008-02-01 Kenichi Handa <handa@m17n.org>
13198
13199 * fontset.c (Fset_fontset_font): Call find_font_encoding with
13200 concatenation of family and registry.
13201
132022008-02-01 Kenichi Handa <handa@m17n.org>
13203
13204 * character.h (BYTE8_STRING): Fix typo.
13205
13206 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
13207 string to multibyte (sync to HEAD).
13208
13209 * casefiddle.c (casify_region): Handle changes in byte-length
13210 using replace_range_2 (sync to HEAD).
13211
132122008-02-01 Andreas Schwab <schwab@suse.de>
13213
13214 * chartab.c (map_char_table): GCPRO table and arg.
13215
132162008-02-01 Kenichi Handa <handa@m17n.org>
13217
13218 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
13219 already at limit.
13220
132212008-02-01 Kenichi Handa <handa@m17n.org>
13222
13223 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
13224 instead of fast_c_string_match_ignore_case.
13225 (find_font_encoding): Change argument to Lisp_Object. Use
13226 fast_string_match_ignore_case instead of
13227 fast_c_string_match_ignore_case. Change caller.
13228
132292008-02-01 Kenichi Handa <handa@m17n.org>
13230
13231 * xdisp.c (get_next_display_element): In unibyte case, decide to
13232 display in octal form by checking a character by
13233 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
13234
13235 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
13236
13237 * character.c (unibyte_has_multibyte_table): New variable.
13238
13239 * character.h (unibyte_has_multibyte_table): Extern it.
13240 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
13241
132422008-02-01 Kenichi Handa <handa@m17n.org>
13243
13244 * coding.c (encode_coding_iso_2022): Fix handling of charset
13245 annotation.
13246
132472008-02-01 Kenichi Handa <handa@m17n.org>
13248
13249 * coding.c (setup_coding_system): If coding_system is nil, use
13250 Qundecided.
13251 (Fterminal_coding_system): Return nil if terminal coding system is
13252 `undecided'.
13253 (syms_of_coding): Define coding-system `undecided' here. Setup
13254 terminal_coding as `undecided'.
13255
132562008-02-01 Kenichi Handa <handa@m17n.org>
13257
13258 * xdisp.c (message_dolog, set_message_1): Call
13259 unibyte_char_to_multibyte with arg type int.
13260
13261 * lread.c (read1): Fix reading of a char-table.
13262
13263 * print.c (print_object): Include sub char-table in circularities
13264 detection.
13265
132662008-02-01 Kenichi Handa <handa@m17n.org>
13267
13268 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
13269 Append the found sequences in car of ARGS instead of prepending.
13270
132712008-02-01 Kenichi Handa <handa@m17n.org>
13272
13273 * fileio.c (report_file_error): Make a unibyte string from
13274 strerror (errorno).
13275 (Fsubstitute_in_file_name): Fix the arg to
13276 unibyte_char_to_multibyte. It is evaluated twice.
13277
132782008-02-01 Kenichi Handa <handa@m17n.org>
13279
13280 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
13281
132822008-02-01 Kenichi Handa <handa@m17n.org>
13283
13284 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
13285 BOM is not found.
13286 (detect_coding, detect_coding_system): Optimization for ISO-2022
13287 when no 8-bit data is found.
13288
132892008-02-01 Jason Rumney <jasonr@gnu.org>
13290
13291 * w32fns.c (x_to_w32_font): Update to use new coding struct.
13292
132932008-02-01 Kenichi Handa <handa@m17n.org>
13294
13295 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
13296 CHARS.
13297
132982008-02-01 Steven Tamm <steventamm@mac.com>
13299
13300 * macterm.c (mac_encode_char): Add charset argument and update
13301 to use encoding_type.
13302 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
13303 switch to pure fontset.
13304 (decode_mac_font_name): Temporarily remove decoding.
13305 (x_font_name_to_mac_font_name): Temporarily remove encoding.
13306 (x_load_font): Temporarily remove encoding.
13307
133082008-02-01 Kenichi Handa <handa@m17n.org>
13309
13310 * xfaces.c (Fface_font): If frame is not on a window system,
13311 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
13312 refer to face->font.
13313 (split_font_name_into_vector, build_font_name_from_vector)
13314 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
13315 when HAVE_WINDOW_SYSTEM is defined.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
13320 (x_produce_glyphs): Fix setting of members of cmp in case
13321 cmp->glyph_len is zero.
13322
13323 * fontset.c (Fset_fontset_font): Fix docstring.
13324 (Ffontset_info): Make it backward compatible. New arg ALL.
13325
133262008-02-01 Kim F. Storm <storm@cua.dk>
13327
13328 * process.c (read_process_output): Grow decoding_buf when needed;
13329 this could cause a crash in allocate_string and compact_small_strings.
13330
133312008-02-01 Kenichi Handa <handa@m17n.org>
13332
13333 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
13334
133352008-02-01 Kenichi Handa <handa@m17n.org>
13336
13337 * coding.c (setup_coding_system): Set coding->common_flags
13338 correctly for raw-text.
13339 (consume_chars): On encoding unibyte text by raw-text, don't check
13340 multibyte form.
13341 (encode_coding): On encoding by raw-text, never use translation tables.
13342
13343 * fileio.c (e_write): Short cut for the case of no encoding.
13344
133452008-02-01 Kenichi Handa <handa@m17n.org>
13346
13347 * coding.c (detect_coding, detect_coding_system): Delete unused
13348 variables.
13349
133502008-02-01 Kenichi Handa <handa@m17n.org>
13351
13352 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
13353 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
13354
133552008-02-01 Kenichi Handa <handa@m17n.org>
13356
13357 * coding.c (Ffind_coding_systems_region_internal): Include
13358 raw-text and no-conversion in the result.
13359
133602008-02-01 Kenichi Handa <handa@m17n.org>
13361
13362 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
13363 (load_font_get_repertory): Delete unnecessary check of ENCODING of
13364 FONT_DEF.
13365 (font_def_arg, add_arg, from_arg, to_arg): New args.
13366 (set_fontset_font): Change argument.
13367 (Fset_fontset_font): Fix for the case that TARGET is a script
13368 name and charset name.
13369 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
13370
133712008-02-01 Kenichi Handa <handa@m17n.org>
13372
13373 * fontset.c (fontset_font): Rename from fontset_face. Change return
13374 value.
13375 (face_suitable_for_char_p, face_for_char): Adjust for the change
13376 of fontset_font.
13377 (make_fontset_for_ascii_face): Fix setting of the fontset element
13378 for ASCII.
13379 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
13380 to get a font name.
13381 (Ffontset_info): Adjust for the change of fontset_font.
13382
13383 * coding.c (emacs_mule_char): Check invalid code more rigidly.
13384
13385 * character.h (LEADING_CODE_LATIN_1_MIN)
13386 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
13387
133882008-02-01 Kenichi Handa <handa@m17n.org>
13389
13390 * editfns.c (check_translation): New function.
13391 (Ftranslate_region_internal): Handle M:N mapping.
13392
133932008-02-01 Kenichi Handa <handa@m17n.org>
13394
13395 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
13396
133972008-02-01 Kenichi Handa <handa@m17n.org>
13398
13399 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
13400 goto invalid_code.
13401 (decode_coding_iso_2022): Fix handling of invalid designation.
13402
13403 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
13404 after calling code_conversion_save.
13405
134062008-02-01 Kenichi Handa <handa@m17n.org>
13407
13408 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
13409
13410 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
13411
13412 * fontset.c: Include "intervals.h".
13413 (fontset_face): Fix comparing of Lisp_Objects.
13414 (free_face_fontset, new_fontset_from_font_name): Fix
13415 Lisp_Object/int mixup.
13416
13417 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
13418
13419 * coding.c: Add many prototypes for static functions.
13420 (get_translation_table): Allow max_lookup to be NULL.
13421 (decode_coding, Ffind_coding_systems_region_internal)
13422 (Funencodable_char_position, Fcheck_coding_systems_region): Call
13423 get_translation_table with max_lookup NULL.
13424
134252008-02-01 Kenichi Handa <handa@m17n.org>
13426
13427 * coding.c (get_translation_table): Declare it as Lisp_Object.
13428 (LOOKUP_TRANSLATION_TABLE): New macro.
13429 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
13430 instead of CHAR_TABLE_REF.
13431
134322008-02-01 Kenichi Handa <handa@m17n.org>
13433
13434 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
13435 annotation data format.
13436 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
13437 Change arguments FROM and TO to single argument NCHARS. Change caller.
13438 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
13439 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13440 (decode_coding_ccl, decode_coding_charset): Pay attention to
13441 coding->charbuf_used.
13442 (get_translation): New function.
13443 (produce_chars): New arguments translation_table and last_block.
13444 Translate characters here. Return number of carryover chars.
13445 Change caller.
13446 (produce_composition): New argument pos. Change caller.
13447 Adjust for the change of annotation data format.
13448 (produce_charset, produce_annotation): Likewise.
13449 (decode_coding, encode_coding): Don't call translate_chars.
13450 (consume_chars): New arg translation_table. Change caller.
13451 (translate_chars): Delete.
13452 (syms_of_coding): Make translation-table's number of extra slots 2.
13453
134542008-02-01 Kenichi Handa <handa@m17n.org>
13455
13456 * search.c (simple_search): Fix setting this_pos_byte in backward
13457 search.
13458
13459 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
13460 byte sequence.
13461 (detect_coding_ccl): Fix setting of the variable valids.
13462
134632008-02-01 Kenichi Handa <handa@m17n.org>
13464
13465 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
13466
13467 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
13468
13469 * editfns.c (Ftranslate_region_internal): Rename from
13470 Ftranslate_region. Accept a char-table in TABLE.
13471 (syms_of_editfns): Defsubr Stranslate_region_internal.
13472
13473 * xfaces.c (set_lface_from_font_name): If a font is specified for
13474 a frame, generate a fontset from the font.
13475 (build_scalable_font_name): If the scalable font is requested for
13476 a specific size, don't change that size.
13477 (try_font_list): Try a scalable font also in the case that a
13478 pattern string is specified.
13479
134802008-02-01 Kenichi Handa <handa@m17n.org>
13481
13482 * xfaces.c (Fface_font): New optional arg CHARACTER.
13483
134842008-02-01 Kenichi Handa <handa@m17n.org>
13485
13486 * charset.h (CHARSET_OFFSET): New macro.
13487
134882008-02-01 Kenichi Handa <handa@m17n.org>
13489
13490 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
13491
13492 * fontset.c (fontset_face): Handle the case that repertory is a
13493 char-table.
13494 (find_font_encoding): Return nil for unknown encoding.
13495 (Fset_fontset_font): Ignore a font of unknown encoding.
13496
134972008-02-01 Kenichi Handa <handa@m17n.org>
13498
13499 * keymap.c (describe_vector): Handle default value of a char table.
13500
13501 * fontset.c (fontset_face): Handle fallback fonts correctly.
13502 (Ffontset_info): Return infomation about fallback fonts.
13503
135042008-02-01 Kenichi Handa <handa@m17n.org>
13505
13506 * fontset.c (FONTSET_DEFAULT): New macro.
13507 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
13508 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
13509 the case that it is nil.
13510 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
13511 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
13512
13513 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
13514 subset or superset.
13515
135162008-02-01 Kenichi Handa <handa@m17n.org>
13517
13518 * emacs.c (main): Call init_charset after syms_of_XXX.
13519
13520 * charset.c (Vcharset_map_directory): Delete.
13521 (Vcharset_map_path): New variable.
13522 (load_charset_map_from_file): Use Vcharset_map_path instead.
13523 (init_charset): Initialize Vcharset_map_path.
13524 (syms_of_charset): Delete declaration of "charset-map-directory",
13525 add declaration of "charset-map-path".
13526
135272008-02-01 Kenichi Handa <handa@m17n.org>
13528
13529 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
13530 ASCII only string.
13531
13532 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
13533
13534 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
13535 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
13536
135372008-02-01 Kenichi Handa <handa@m17n.org>
13538
13539 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
13540
13541 * coding.c (QCmnemonic, QCdefalut_char)
13542 (QCdecode_translation_table, QCencode_translation_table)
13543 (QCpost_read_conversion, QCpre_write_conversion): New variables.
13544 (get_translation_table): Return a list of translation tables if
13545 necessary.
13546 (decode_coding): Call get_translation_table with ENCODEP 0.
13547 (char_encodable_p): If translation_table is non-nil, always call
13548 translate_char.
13549 (Fdefine_coding_system_internal): Accept list of translation
13550 tables as :encode-translation-table and :decode-translation-table.
13551 (Fcoding_system_put): New function.
13552 (syms_of_coding): Declare new symbols. Defsubr
13553 Scoding_system_put.
13554 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
13555 typically JISX0212.
13556
13557 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
13558 when the charset is superset type.
13559
13560 * character.c (translate_char): Accept list of translation tables.
13561
135622008-02-01 Kenichi Handa <handa@m17n.org>
13563
13564 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
13565 (CODING_ATTR_TRANS_TBL): New macro.
13566
13567 * coding.c (get_translation_table): New function.
13568 (translate_chars): Fix the bug of skipping annotation data.
13569 (decode_coding, encode_coding): Utilize get_translation_table.
13570 (char_encodable_p, Funencodable_char_position): Translate char if
13571 necessary.
13572 (Ffind_coding_systems_region_internal)
13573 (Fcheck_coding_systems_region): Setup translation table for encode
13574 in a coding system attribute vector in advance.
13575 (Fdefine_coding_system_internal): Allow a symbol as translation
13576 table. For shift-jis type coding system, allow 4th charset.
13577
135782008-02-01 Kenichi Handa <handa@m17n.org>
13579
13580 * coding.c (decode_coding_sjis): Check the first byte rigidly.
13581
13582 * xdisp.c (get_next_display_element): Pass -1 as POS to
13583 FACE_FOR_CHAR if displaying a C-string.
13584
135852008-02-01 Kenichi Handa <handa@m17n.org>
13586
13587 * composite.c (get_composition_id): Handle xoff and yoff in a
13588 composition rule.
13589
13590 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
13591 (struct composition): New member lbearing and rbearing.
13592
13593 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
13594 (x_get_glyph_overhangs): Handle a composition glyph.
13595 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
13596
13597 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
13598 composition glyph.
13599
136002008-02-01 Kenichi Handa <handa@m17n.org>
13601
13602 * print.c: Include charset.h.
13603 (Vprint_charset_text_property): New variable.
13604 (Qdefault): Extern it.
13605 (PRINT_STRING_NON_CHARSET_FOUND)
13606 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
13607 (print_check_string_result): New variable.
13608 (print_check_string_charset_prop): New function.
13609 (print_prune_charset_plist): New variable.
13610 (print_prune_string_charset): New function.
13611 (print_object): Call print_prune_string_charset if
13612 Vprint_charset_text_property is not t.
13613 (print_interval): Print nothing if interval->plist is nil.
13614 (syms_of_print): Declare Vprint_charset_text_property as a lisp
13615 variable. Init and staticpro print_prune_charset_plist.
13616
136172008-02-01 Kenichi Handa <handa@m17n.org>
13618
13619 * fontset.c (new_fontset_from_font_name): Use the specified font
13620 for all characters in the new fontset.
13621
13622 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
13623 OBJECT args.
13624
13625 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
13626 OBJECT args for composition too.
13627
13628 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
13629 OBJECT args.
13630
136312008-02-01 Kenichi Handa <handa@m17n.org>
13632
13633 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
13634
13635 * fontset.c (reorder_font_vector): Adjust for the change of
13636 FONT_DEF format.
13637 (fontset_face): New arg id. Change caller.
13638 (face_for_char): New args pos and object.
13639 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
13640 (fs_query_fontset): Check NAME by Fassoc too.
13641 (Fset_fontset_font): Allow non-XLFD font name.
13642 (Ffontset_info): Adjust for the change of FONT_DEF format.
13643
13644 * fontset.h (face_for_char): Adjust prototype.
13645
13646 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
13647 (append_space, extend_face_to_end_of_line)
13648 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
13649 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
13650
13651 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
13652 POS and OBJECT args.
13653
13654 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
13655 POS and OBJECT args.
13656
136572008-02-01 Jason Rumney <jasonr@gnu.org>
13658
13659 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
13660 of GlobalAlloc'ed memory.
13661
136622008-02-01 Kenichi Handa <handa@m17n.org>
13663
13664 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
13665
13666 * charset.h (charset_table_used): Delete extern.
13667
13668 * charset.c (charset_table_used): Make it static.
13669 (map_charset_chars): Fix args to c_function with.
13670
13671 * chartab.c (map_sub_char_table_for_charset): Fix args to
13672 c_function with.
13673
13674 * coding.h (enum coding_result_code): Delete
13675 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
13676
13677 * coding.c (Qinsufficient_source, Qinconsistent_eol)
13678 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
13679 (Vlast_code_conversion_error): New variables.
13680 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
13681 (ONE_MORE_BYTE): Record error if any instead of signaling an
13682 error. If non-ASCII multibyte char is found, return the negative
13683 value of the code. All callers changed to check it.
13684 (ONE_MORE_BYTE_NO_CHECK): Likewise.
13685 (record_conversion_result): New function. Change all codes setting
13686 coding->result to call this function.
13687 (detect_coding_utf_8, decode_coding_utf_8)
13688 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
13689 Don't use the local variable incomplete.
13690 (emacs_mule_char): Change the second arg to `const'.
13691 (decode_coding): Fix of flushing out unprocessed data.
13692 (make_conversion_work_buffer): Fix making of a work buffer.
13693 (decode_coding_object): Return coding->dst_object.
13694
13695 * fontset.c (set_fontset_font): Fix args.
13696
13697 * lisp.h (CHARACTERBITS): Define as 22.
13698
13699 * process.c (send_process): Be sure to set coding->src_multibyte.
13700
13701 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
13702
137032008-02-01 Kenichi Handa <handa@m17n.org>
13704
13705 * xdisp.c (handle_auto_composed_prop): Give limit to
13706 Fnext_single_char_property_change.
13707
137082008-02-01 Kenichi Handa <handa@m17n.org>
13709
13710 * composite.c (syms_of_composite): Don't make the composition hash
13711 table weak.
13712
13713 * fontset.c (Fset_fontset_font): Fix docstring.
13714
13715 * lisp.h (detect_coding_system): Adjust prototype.
13716
13717 * fileio.c (kill_workbuf_unwind): Delete this function.
13718 (Finsert_file_contents): Adjust the call of detect_coding_system.
13719 Get conversion_buffer by code_conversion_save. Use the macro
13720 CODING_MAY_REQUIRE_DECODING. After decoding, update
13721 coding_system.
13722
13723 * coding.h (make_conversion_work_buffer): Delete extern.
13724 (code_conversion_save): Extern it.
13725
13726 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
13727 (CODING_GET_INFO): Delete argument eol_type. Change callers.
13728 (decode_coding_utf_8): Don't do eol converion.
13729 (detect_coding_utf_16): Check coding->src_chars, not
13730 coding->src_bytes. Add heuristics for those that have no signature.
13731 (decode_coding_emacs_mule, decode_coding_iso_2022)
13732 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13733 Don't do eol converion.
13734 (adjust_coding_eol_type): Return a new coding system.
13735 (detect_coding): Don't detect eol. Fix for utf-16 detection.
13736 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
13737 each change.
13738 (decode_coding): Pay attention to undo_list. Do eol conversion for
13739 all types of coding-systems (if necessary).
13740 (Vcode_conversion_work_buf_list): Delete it.
13741 (Vcode_conversion_reused_workbuf): Rename from
13742 Vcode_conversion_reused_work_buf.
13743 (Vcode_conversion_workbuf_name): New variable.
13744 (reused_workbuf_in_use): New variable.
13745 (make_conversion_work_buffer): Delete the arg DEPTH.
13746 (code_conversion_restore): Change argument to cons.
13747 (code_conversion_save): Delete the argument BUFFER. Change callers.
13748 (detect_coding_system): New argument src_chars. Change callers.
13749 Fix for utf-16 detection.
13750 (init_coding_once): Don't use ISO_carriage_return.
13751 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
13752 reused_workbuf_in_use.
13753
137542008-02-01 Kenichi Handa <handa@m17n.org>
13755
13756 * keymap.c (store_in_keymap): Pay attention to the case that idx
13757 is a cons specifying a character range.
13758
137592008-02-01 Kenichi Handa <handa@m17n.org>
13760
13761 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
13762 HANDLED_RECOMPUTE_PROPS.
13763
13764 * coding.c (Fdefine_coding_system_internal): Fix checking of
13765 ascii compatibility.
13766
137672008-02-01 Kenichi Handa <handa@m17n.org>
13768
13769 * charset.c (find_charsets_in_text): Delete unused locale variable.
13770 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
13771
13772 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
13773 Resync charset_list to Vemacs_mule_charset_list.
13774
13775 * keymap.c (store_in_keymap): Pay attention to the case that idx
13776 is a cons specifying a character range.
13777
137782008-02-01 Kenichi Handa <handa@m17n.org>
13779
13780 * composite.c (update_compositions): Bind inhibit-read-only, etc
13781 to t before calling remove-list-of-text-properties.
13782
13783 * print.c (print_object): Always print ASCII chars as is.
13784
137852008-02-01 Kenichi Handa <handa@m17n.org>
13786
13787 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
13788
13789 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
13790 is a char table.
13791
137922008-02-01 Kenichi Handa <handa@m17n.org>
13793
13794 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
13795
137962008-02-01 Kenichi Handa <handa@m17n.org>
13797
13798 * xfaces.c (set_lface_from_font_name): Fix for the case that
13799 FONTNAME is not fontset name.
13800
138012008-02-01 Kenichi Handa <handa@m17n.org>
13802
13803 * fns.c (base64_encode_1): Fix previous change.
13804
138052008-02-01 Kenichi Handa <handa@m17n.org>
13806
13807 * fontset.c (set_fontset_font): New function.
13808 (Fset_fontset_font): If a font is specified for a charset, use
13809 map_charset_chars to store the font spec in a fontset.
13810
138112008-02-01 Kenichi Handa <handa@m17n.org>
13812
13813 * fontset.c (fontset_face): Create a fallback fontset on demand.
13814 (make_fontset): Don't create a fallback fontset here.
13815 (free_face_fontset): Free a fallback fontset (if any) too.
13816 (n_auto_fontsets): Delete this variable.
13817 (auto_fontset_alist): New variable.
13818 (new_fontset_from_font_name): Check auto_fontset_alist.
13819 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
13820 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
13821 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
13822 Defsubr Sfontset_list_all.
13823
138242008-02-01 Kenichi Handa <handa@m17n.org>
13825
13826 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
13827
138282008-02-01 Kenichi Handa <handa@m17n.org>
13829
13830 * fontset.c (Fnew_fontset): Check NAME more rigidly.
13831
138322008-02-01 Kenichi Handa <handa@m17n.org>
13833
13834 * editfns.c (Fgoto_char): Fix docstring.
13835
138362008-02-01 Kenichi Handa <handa@m17n.org>
13837
13838 * insdel.c (insert_from_gap): Adjust intervals correctly.
13839
138402008-02-01 Jason Rumney <jasonr@gnu.org>
13841
13842 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
13843 (pfnGetFontUnicodeRanges): New dynamically loaded function.
13844 (w32_initialize): Try to load it.
13845 (x_get_font_repertory): Use it if available.
13846 (w32_encode_char): Add shortcut for unicode output.
13847
13848 * w32fns.c (w32_load_system_font): Default charset to -1.
13849 (x_to_w32_charset): Match all fonts for unicode.
13850 (w32_to_x_charset): New parameter matching. Don't return partial
13851 or wildcard charsets.
13852 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
13853 (w32_codepage_for_font): Return CP_UNICODE for unicode.
13854 (w32_to_x_font): Match charset to real charset.
13855 (enum_font_cb2): Always list unicode versions.
13856
13857 * makefile.w32-in (temacs): Increase EMHEAP.
13858
138592008-02-01 Jason Rumney <jasonr@gnu.org>
13860
13861 * w32term.c (w32_encode_char): New charset parameter.
13862 font_info.encoding becomes encoding_type.
13863 (x_get_font_repertory): New function. Warning: stub only!
13864 (x_new_font): Return quickly if font already set.
13865 (x_new_fontset): fontsetname parameter is Lisp_Object.
13866 Use new fs_query_fontset. Try new_fontset_from_font_name.
13867 Use fontset_name for return value.
13868
13869 * w32term.h: Declare x_get_font_repertory.
13870
13871 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
13872 place of find_charset_in_text. Use encode_coding_object in place
13873 of encode_coding.
13874 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
13875 decode_coding.
13876
13877 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
13878 of x_new_fontset.
13879 (w32_load_system_font): Initialize charset as unicode.
13880 font_info.encoding becomes encoding_type.
13881 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
13882 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
13883 (syms_of_w32fns): Set get_font_repertory_func.
13884
13885 * w32console.c: Include character.h. Use terminal_encode_buffer
13886 from term.c.
13887 (write_glyphs): Use new version of encode_terminal_code. Use
13888 encode_coding_object in place of encode_coding.
13889
13890 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
13891 encoding becomes encoding_type.
13892
13893 * term.c (terminal_encode_buffer): Make externally visible.
13894
13895 * makefile.w32-in: Add character.h dependancies.
13896 (character.o, chartab.o): New targets.
13897
138982008-02-01 Kenichi Handa <handa@m17n.org>
13899
13900 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
13901 CODING_ID_EOL_TYPE.
13902
139032008-02-01 Andreas Schwab <schwab@suse.de>
13904
13905 * coding.c (produce_chars): Revert last change.
13906
139072008-02-01 Kenichi Handa <handa@m17n.org>
13908
13909 * charset.h (charset_unicode): Extern it.
13910
13911 * charset.c (string_xstring_p): Check by (C >= 0x100).
13912 (find_charsets_in_text): Change format of the arc CHARSETS. New
13913 arg MULTIBYTE.
13914 (Ffind_charset_region, Ffind_charset_string): Adjust for the
13915 change of find_charsets_in_text.
13916 (Fsplit_char): Fix doc. Never return unknown.
13917
13918 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
13919
13920 * coding.c (Fdefine_coding_system_alias): Update
13921 Vcoding_system_list.
13922
13923 * fontset.c (load_font_get_repertory): Pay attention to the case
13924 that ENCODING of a font is specified by a char-table.
13925
13926 * xterm.c (x_get_font_repertory): Handle the case that the
13927 encoding of font is other than Unicode.
13928
139292008-02-01 Kenichi Handa <handa@m17n.org>
13930
13931 * term.c (encode_terminal_code): Don't handle glyph-table. Check
13932 if a character is encodable by the terminal coding system. If
13933 not, produces proper number of `?'s. Update
13934 terminal_encode_buffer and terminal_encode_buf_size if necessary.
13935 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
13936
139372008-02-01 Kenichi Handa <handa@m17n.org>
13938
13939 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
13940 variables.
13941 (encode_terminal_code): Change argument. Encode multiple
13942 characters at once. Store the result of encoding in
13943 terminal_encode_buffer.
13944 (write_glyphs, insert_glyphs): Adjust for the change of
13945 encode_terminal_code.
13946 (term_init): Initialize terminal_encode_buffer and
13947 terminal_encode_buf_size.
13948
13949 * coding.c (consume_chars): If coding->src_object is nil, don't
13950 check annotation.
13951
139522008-02-01 Kenichi Handa <handa@m17n.org>
13953
13954 * character.c (char_string): Use ASCII_CHAR_P instead of
13955 SINGLE_BYTE_CHAR_P.
13956
139572008-02-01 Kenichi Handa <handa@m17n.org>
13958
13959 * xdisp.c (handle_auto_composed_prop): Check if the last
13960 characters of auto-composed region is newly composed with the
13961 following characters.
13962 (handle_composition_prop): Fix checking of point being inside
13963 composition.
13964
139652008-02-01 Kenichi Handa <handa@m17n.org>
13966
13967 * fns.c (concat): Don't change multibyteness of the result by
13968 concatenating an 8-bit character.
13969
13970 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
13971 multibyteness of the result when newelt is an 8-bit character.
13972
139732008-02-01 Dave Love <fx@gnu.org>
13974
13975 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
13976 EMACS_INT.
13977
13978 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
13979
13980 * xfaces.c (face_numeric_value): Declare dim size_t.
13981 (Finternal_lisp_face_equal_p): Remove unused f.
13982
13983 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
13984 (MATRIX_ROW): Remove unused vars.
13985 (draw_glyphs, x_insert_glyphs, fast_find_position)
13986 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
13987 byte/char counts.
13988
13989 * regex.c (regex_compile): Remove unused var.
13990
13991 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13992
13993 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
13994 (Faccessible_keymaps, where_is_internal): Remove unused vars.
13995
13996 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
13997
13998 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
13999
14000 * fileio.c (Fwrite_region): Remove unused var.
14001
14002 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
14003 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
14004
14005 * composite.c (Fremove_list_of_text_properties): Declare.
14006
14007 * coding.c (inhibit_pre_post_conversion): Remove (unused).
14008 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
14009 (coding_inherit_eol_type): Remove unused attrs.
14010 (detect_coding): Cast arg of detect_eol.
14011
14012 * charset.c (syms_of_charset): Remove unused var p.
14013 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
14014 byte/char counts.
14015
14016 * casetab.c (set_case_table): Remove unused var.
14017
14018 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
14019 unused vars.
14020
140212008-02-01 Dave Love <fx@gnu.org>
14022
14023 * xterm.c (x_bitmap_mask): Declare.
14024
140252008-02-01 Dave Love <fx@gnu.org>
14026
14027 * xterm.c (x_term_init): Fix type error.
14028
14029 * lisp.h: Add Funibyte_char_to_multibyte.
14030
14031 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
14032 (Fset_coding_system_priority): Doc fix.
14033
14034 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
14035
14036 * indent.c (check_composition): Make start and end EMACS_INT.
14037
14038 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
14039
14040 * xdisp.c (handle_composition_prop, check_point_in_composition):
14041 Make buffer positions EMACS_INT.
14042
14043 * composite.c (find_composition, run_composition_function)
14044 (update_compositions, Ffind_composition_internal): Make buffer
14045 positions EMACS_INT.
14046
14047 * composite.h (find_composition, update_compositions): Make
14048 position args EMACS_INT.
14049
14050 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
14051
14052 * intervals.c (get_property_and_range):
14053 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
14054
14055 * unexalpha.c: Don't include varargs.h.
14056
140572008-02-01 Dave Love <fx@gnu.org>
14058
14059 * coding.h (ENCODE_UTF_8): New.
14060
14061 * Makefile.in (gtkutil.o): Depend on coding.h.
14062
14063 * coding.c (Fset_coding_system_priority): Doc fix.
14064
140652008-02-01 Kenichi Handa <handa@m17n.org>
14066
14067 * fileio.c (Finsert_file_contents): Call setup_coding_system in
14068 the case of auto saving.
14069
140702008-02-01 Andreas Schwab <schwab@suse.de>
14071
14072 * chartab.c (map_char_table, map_char_table_for_charset): Protect
14073 `range' from GC.
14074
140752008-02-01 Kenichi Handa <handa@m17n.org>
14076
14077 * coding.c (decode_coding_sjis): Check bytes more rigidly.
14078
140792008-02-01 Kenichi Handa <handa@m17n.org>
14080
14081 * fileio.c (choose_write_coding_system): Return a decided coding system.
14082 (Fwrite_region): Set Vlast_coding_system_used to the return value
14083 of choose_write_coding_system.
14084
140852008-02-01 Kenichi Handa <handa@m17n.org>
14086
14087 * charset.c (Fset_charset_priority): Pay attention to duplicated
14088 arguments.
14089
14090 * coding.c (QCcategory): New variable.
14091 (syms_of_coding): Defsym it. Set all elements of
14092 Vcoding_category_table and their symbol values.
14093 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
14094 coding-category-XXX, and coding-category-list.
14095 (Fdefine_coding_system_internal): Add category in the plist.
14096
140972008-02-01 Kenichi Handa <handa@m17n.org>
14098
14099 * callproc.c (Fcall_process): Handle carryover correctly.
14100
14101 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
14102 (raw_text_coding_system): Check NILP (coding_system).
14103 (coding_inherit_eol_type): Check NILP (coding_system) and
14104 NILP (parent).
14105 (consume_chars): Fix for the case of raw-text.
14106
14107 * process.c (read_process_output): Handle carryover correctly.
14108
141092008-02-01 Dave Love <fx@gnu.org>
14110
14111 * regex.c (re_search_2): Fix last change.
14112
141132008-02-01 Kenichi Handa <handa@m17n.org>
14114
14115 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
14116 target_multibyte. Even in a unibyte case, return a converted
14117 multibyte char.
14118 (GET_CHAR_AFTER): New macro.
14119 (PATFETCH): Translate via multibyte char.
14120 (HANDLE_UNIBYTE_RANGE): Delete this macro.
14121 (SETUP_MULTIBYTE_RANGE): New macro.
14122 (regex_compile): Setup compiled code so that its multibyteness
14123 matches that of a target. Fix the handling of "[X-YZ]" using
14124 SETUP_MULTIBYTE_RANGE.
14125 (analyse_first) <charset>: For filling fastmap for all multibyte
14126 characters, don't check by BASE_LEADING_CODE_P.
14127 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
14128 the same as RE_MULTIBYTE_P (bufp) now.
14129 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
14130 (TARGET_CHAR_AND_LENGTH): Delete this macro.
14131 (TRANSLATE_VIA_MULTIBYTE): New macro.
14132 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
14133 It is the same as RE_MULTIBYTE_P (bufp) now.
14134 <exactn>: Translate via multibyte.
14135 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
14136 translate it.
14137 <charset, charset_not>: Fetch a character by
14138 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
14139 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
14140 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
14141 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
14142 by GET_CHAR_AFTER.
14143 (bcmp_translate): Likewise.
14144
14145 * search.c (compile_pattern): Check the member target_multibyte,
14146 not the member multibyte of buf.
14147
14148 * lread.c (read1): While reading a string, set force_singlebyte
14149 and force_multibyte correctly.
14150
14151 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
14152 up of unibyte_to_multibyte_table.
14153
141542008-02-01 Kenichi Handa <handa@m17n.org>
14155
14156 * coding.c (setup_coding_system): If coding has
14157 post-read-conversion or pre-write-conversion, set
14158 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
14159 respectively.
14160 (decode_coding_gap): Run post-read-conversion if any.
14161
14162 * fileio.c (Finsert_file_contents): Even if we read into a
14163 unibyte buffer, check if we must decode the result or not.
14164
141652008-02-01 Kenichi Handa <handa@m17n.org>
14166
14167 * coding.c (make_conversion_work_buffer): Change the work buffer
14168 name to the same one as that of Emacs 21.
14169
141702008-02-01 Kenichi Handa <handa@m17n.org>
14171
14172 * coding.h (make_conversion_work_buffer): Adjust prototype.
14173 (code_conversion_restore): Don't extern it.
14174
14175 * coding.c (detected_mask): Delete unused variable.
14176 (decode_coding_iso_2022): Pay attention to the byte sequence of
14177 CTEXT extended segment, and retain those bytes as is.
14178 (decode_coding_ccl): Delete unused variable `valids'.
14179 (setup_coding_system): Delete unused variable `category'.
14180 (consume_chars): Delete unused variable `category'. Make it work
14181 for non-multibyte case.
14182 (make_conversion_work_buffer): Change argument.
14183 (saved_coding): Delete unused variable.
14184 (code_conversion_restore): Don't check saved_coding->destination.
14185 (code_conversion_save): New function.
14186 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
14187 instead of record_unwind_protect.
14188 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
14189 (detect_coding_system): Delete unused variable `mask'.
14190 (Fdefine_coding_system_internal): Delete unused variable id.
14191
14192 * fileio.c (kill_workbuf_unwind): New function.
14193 (Finsert_file_contents): On replacing, call
14194 make_conversion_work_buffer with correct args, and call
14195 record_unwind_protect with the first arg kill_workbuf_unwind.
14196
14197 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
14198
141992008-02-01 Kenichi Handa <handa@m17n.org>
14200
14201 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
14202 (fontset_add): Fix for the case that TO is less than TO1.
14203 (Ffontset_info): Don't use fallback fontset on checking the
14204 default fontset.
14205 (dump_fontset): New function for debugging.
14206
14207 * coding.c (Fdefine_coding_system_internal): Fix for the case that
14208 coding_type is Qcharset.
14209
142102008-02-01 Kenichi Handa <handa@m17n.org>
14211
14212 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
14213 (map_char_table): Don't inherit the value from the parent on
14214 initializing VAL. Adjust for the above change.
14215
142162008-02-01 Kenichi Handa <handa@m17n.org>
14217
14218 * coding.c (Qsignature, Qendian): Delete these variables.
14219 (syms_of_coding): Don't initialize them.
14220 (CATEGORY_MASK_UTF_16_AUTO): New macro.
14221 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
14222 detect_info->found.
14223 (decode_coding_utf_16): Don't detect BOM here.
14224 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
14225 is NOT utf_16_without_bom.
14226 (setup_coding_system): For a coding system of type utf-16, check
14227 if the attribute :endian is Qbig or not (not nil or not), and set
14228 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
14229 (detect_coding): If coding type is utf-16 and BOM detection is
14230 required, detect it.
14231 (Fdefine_coding_system_internal): For a coding system of type
14232 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
14233
142342008-02-01 Kenichi Handa <handa@m17n.org>
14235
14236 * coding.c (coding_set_source): Fix for the case that the current
14237 buffer is different from coding->src_object.
14238 (decode_coding_object): Don't use the conversion work buffer if
14239 DST_OBJECT is a buffer.
14240
142412008-02-01 Dave Love <fx@gnu.org>
14242
14243 * lread.c (read_emacs_mule_char) [len==2]: Index
14244 emacs_mule_charset correctly.
14245
142462008-02-01 Dave Love <fx@gnu.org>
14247
14248 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
14249 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
14250 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
14251 treated specially.)
14252 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
14253 (detected_mask): Remove Big5 bits.
14254
142552008-02-01 Kenichi Handa <handa@m17n.org>
14256
14257 The following changes are to make the font rescaling facility
14258 compatible with Emacs 21.
14259
14260 * xfaces.c (Vface_font_rescale_alist): Rename from
14261 Vface_resizing_fonts.
14262 (struct font_name): Rename member resizing_ratio to rescale_ratio.
14263 (font_rescale_ratio): Rename from font_resizing_ratio.
14264 (split_font_name): Set font->rescale_ratio.
14265 (better_font_p): Pay attention to font->rescale_ratio.
14266 (build_scalable_font_name): Likewise. Change RESX, and RESY
14267 fields.
14268 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
14269
142702008-02-01 Kenichi Handa <handa@m17n.org>
14271
14272 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
14273 (Qutf_16_le): Remove these variables.
14274 (syms_of_coding): Don't DEFSYM them.
14275 (decode_coding_utf_16): Fix handling of BOM.
14276 (encode_coding_utf_16): Fix handling of BOM.
14277
142782008-02-01 Kenichi Handa <handa@m17n.org>
14279
14280 * fileio.c (Finsert_file_contents): On replacing, before decoding
14281 the file into the work buffer, set point of the work buffer to the end.
14282
142832008-02-01 Dave Love <fx@gnu.org>
14284
14285 * coding.c (Fcheck_coding_systems_region): Fix type errors.
14286
142872008-02-01 Dave Love <fx@gnu.org>
14288
14289 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14290 and fix C types.
14291
142922008-02-01 Kenichi Handa <handa@m17n.org>
14293
14294 * xdisp.c (SKIP_GLYPHS): New macro.
14295 (set_cursor_from_row): Pay attention to string display properties.
14296
14297 * category.c (copy_category_entry): Fix for the case that RANGE
14298 is an integer.
14299
14300 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
14301
14302 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
14303
143042008-02-01 Kenichi Handa <handa@m17n.org>
14305
14306 * charset.c (Fcharset_id_internal): New function.
14307 (syms_of_charset): Defsubr it.
14308
14309 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
14310 with the last arg charset_list acquired from coding.
14311 (Fdefine_coding_system_internal): For ccl-based coding system, fix
14312 the attribute coding_attr_ccl_valids.
14313
14314 * coding.h (enum define_coding_ccl_arg_index): Set the first
14315 member coding_arg_ccl_decoder to coding_arg_max.
14316
14317 * ccl.h (ccl_driver): Adjust prototype.
14318
14319 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
14320 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 14321 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
14322 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
14323 last arg Qnil.
14324
143252008-02-01 Kenichi Handa <handa@m17n.org>
14326
14327 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
14328 call encode_char.
14329
14330 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
14331
143322008-02-01 Dave Love <fx@gnu.org>
14333
14334 * composite.c (syms_of_composite): Make composition_hash_table weak.
14335
143362008-02-01 Kenichi Handa <handa@m17n.org>
14337
14338 * dispextern.h (check_face_attributes, generate_ascii_font_name)
14339 (font_name_registry): Don't extern them.
14340 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
14341
14342 * fontset.h (Qfontset): Don't extern it.
14343 (new_fontset_from_font_name): Extern it.
14344
14345 * fontset.c: Give 8 extra slots to fontset objects.
14346 (Qfontset_info): New variable.
14347 (syms_of_fontset): Defsym it.
14348 (FONTSET_FALLBACK): New macro.
14349 (fontset_face): Try also the default fontset.
14350 (make_fontset): Realize a fallback fontset from the default fontset.
14351 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
14352 using split_font_name_into_vector and build_font_name_from_vector.
14353 (Fset_fontset_font): Access the elements of font_spec by enum
14354 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
14355 name by using split_font_name_into_vector.
14356 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
14357 generate a proper font name from the fontset name. Update
14358 Vfontset_alias_alist.
14359 (n_auto_fontsets): New variable.
14360 (new_fontset_from_font_name): New function.
14361 (Ffont_info): Store the information about fonts generated from the
14362 default fontset in the first extra slot of the returned char-table.
14363
14364 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
14365 (font_name_registry): Delete function.
14366 (split_font_name_into_vector): New function.
14367 (build_font_name_from_vector): New function.
14368 (font_list): The argument REGISTRY is now a list of registry names.
14369 (choose_face_font): If we are choosing an ASCII font, and ATTRS
14370 specifies an explicit font name, return the name as is. Make a
14371 list of registy names.
14372
14373 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
14374 of x_new_fontset.
14375 (Fx_create_frame): Don't call x_new_fontset here. Just use
14376 x_list_fonts to check the existence of fonts.
14377
14378 * xterm.h (x_new_fontset): Adjust prototype.
14379
14380 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
14381 string. Use new_fontset_from_font_name to create a fontset from a
14382 font name.
14383
143842008-02-01 Kenichi Handa <handa@m17n.org>
14385
14386 * syntax.c (Vfind_word_boundary_function_table): New name for
14387 Vnext_word_boundary_function_table.
14388 (find-word-boundary-function-table): New name for
14389 next-word-boundary-function-table.
14390
143912008-02-01 Dave Love <fx@gnu.org>
14392
14393 * Makefile.in: Fix some dependencies.
14394
14395 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
14396 set it to nil before returning.
14397
14398 * composite.c (update_compositions): Fix type error.
14399
14400 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
14401
144022008-02-01 Kenichi Handa <handa@m17n.org>
14403
14404 * xterm.c (x_new_font): Optimize for the case that the font is
14405 already set for the frame.
14406
144072008-02-01 Kenichi Handa <handa@m17n.org>
14408
14409 * chartab.c (char_table_ascii): Check if the char table contents
14410 is sub-char-table or not.
14411 (char_table_set, char_table_set_range): Fix argument to
14412 char_table_ascii.
14413
14414 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
14415 (detect_coding_utf_8, detect_coding_utf_16)
14416 (detect_coding_emacs_mule, detect_coding_iso_2022)
14417 (detect_coding_sjis, detect_coding_big5)
14418 (detect_coding_ccl, detect_coding_charset): Change argument MASK
14419 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
14420 sequence is valid in this coding system. Change callers.
14421 (MAX_ANNOTATION_LENGTH): New macro.
14422 (ADD_ANNOTATION_DATA): New macro.
14423 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
14424 ADD_ANNOTATION_DATA. Change the format of annotation data.
14425 (ADD_CHARSET_DATA): New macro.
14426 (emacs_mule_char): New argument ID. Change callers.
14427 (decode_coding_emacs_mule, decode_coding_iso_2022)
14428 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14429 Produce charset annotation data in coding->charbuf.
14430 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
14431 to charset annotation data in coding->charbuf.
14432 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
14433 coding->common_flags if the coding system is iso-2022 based and
14434 uses designation.
14435 (produce_composition): Adjust for the new annotation data format.
14436 (produce_charset): New function.
14437 (produce_annotation): Handle charset annotation.
14438 (handle_composition_annotation, handle_charset_annotation): New
14439 functions.
14440 (consume_chars): Handle charset annotation. Utilize the above two
14441 functions.
14442 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
14443 buffer, get the deleted text as a string and set
14444 coding->src_object to that string.
14445 (detect_coding, detect_coding_system): Use the new struct
14446 coding_detection_info.
14447
14448 * coding.h (struct coding_detection_info): New structure.
14449 (struct coding_system): Adjust prototype of the member `detector'.
14450 (CODING_ANNOTATE_CHARSET_MASK): New macro.
14451
144522008-02-01 Kenichi Handa <handa@m17n.org>
14453
14454 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
14455
144562008-02-01 Dave Love <fx@gnu.org>
14457
14458 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
14459 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
14460 to new local and nullify apropos_accumulate before returning.
14461 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
14462
144632008-02-01 Kenichi Handa <handa@m17n.org>
14464
14465 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
14466 correctly.
e3eea1fc 14467
aac0c6e3
MR
144682008-02-01 Dave Love <fx@gnu.org>
14469
14470 * fns.c (Flanginfo): Call synchronize_system_time_locale.
14471
144722008-02-01 Kenichi Handa <handa@m17n.org>
14473
14474 The following changes are to make character composition happen
14475 automatically on displaying.
14476
14477 * Makefile.in (lisp, shortlisp): Add composite.elc.
14478
14479 * composite.h (Qauto_composed, Vauto_composition_function)
14480 (Qauto_composition_function): Extern them.
14481
14482 * composite.c (Vcomposition_function_table)
14483 (Qcomposition_function_table): Delete variables.
14484 (Qauto_composed, Vauto_composition_function)
14485 (Qauto_composition_function): New variables.
14486 (run_composition_function): Don't call
14487 compose-chars-after-function.
14488 (update_compositions): Clear `auto-composed' text property.
14489 (compose_chars_in_text): Delete this function.
14490 (syms_of_composite): Staticpro Qauto_composed and
14491 Qauto_composition_function. Declare Vauto_composition_function as
14492 a Lisp variable.
14493
14494 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
14495
14496 * xdisp.c (it_props): Add an entry for Qauto_composed.
14497 (handle_auto_composed_prop): New function.
14498
14499 * xselect.c (selection_data_to_lisp_data): Don't call
14500 compose_chars_in_text.
14501
145022008-02-01 Dave Love <fx@gnu.org>
14503
14504 * keyboard.c (read_char): Modify checking around use of
14505 Vkeyboard_translate_table.
14506
14507 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14508 and fix C types.
14509
145102008-02-01 Kenichi Handa <handa@m17n.org>
14511
14512 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
14513 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
14514 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
14515 the case that the last byte is '\r' correctly.
14516 (decode_coding): Flush out the unprocessed data correctly.
14517 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
14518
145192008-02-01 Dave Love <fx@gnu.org>
14520
14521 * xterm.c (XTread_socket): Fix changes for defined keysyms.
14522 Add XK_ISO... case.
14523 (xaw_scroll_callback): Revert last change.
14524
145252008-02-01 Kenichi Handa <handa@m17n.org>
14526
14527 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
14528
145292008-02-01 Kenichi Handa <handa@m17n.org>
14530
14531 * xfaces.c (Vface_resizing_fonts): New variable.
14532 (struct font_name): New member `resizing_ratio'.
14533 (font_resizing_ratio): New function.
14534 (split_font_name): Set font->resizing_ratio.
14535 (better_font_p): Pay attention to font->resizing_ratio.
14536 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
14537 RESX, and RESY fields.
14538 (try_alternative_families): Try scalable fonts if
14539 Vscalable_fonts_allowed is not Qt.
14540 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
14541
145422008-02-01 Dave Love <fx@gnu.org>
14543
14544 * xterm.c (xaw_scroll_callback): Cast correctly.
14545
145462008-02-01 Dave Love <fx@gnu.org>
14547
14548 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
14549 (lispy_kana_keys): Comment out.
14550 (make_lispy_event) [XK_kana_A]: Comment out.
14551
14552 * xterm.c (xaw_scroll_callback): Cast call_data.
14553 (XTread_socket): Deal with ASCII keysyms.
14554 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
14555
145562008-02-01 Dave Love <fx@gnu.org>
14557
14558 * xterm.c (Vx_keysym_table): New.
14559 (syms_of_xterm): Initialize it.
14560 (XTread_socket): Use it.
14561 From head: Eliminate incorrect optimization that tried to avoid
14562 decoding the output of X*LookupString.
14563 (x_get_font_repertory): Delete charset declaration.
14564
145652008-02-01 Kenichi Handa <handa@m17n.org>
14566
14567 * coding.c (detect_coding_charset): If only ASCII bytes are found,
14568 return 0.
14569 (Fdefine_coding_system_internal): Setup
14570 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
14571
145722008-02-01 Dave Love <fx@gnu.org>
14573
14574 * coding.c (Fcheck_coding_system): Doc fix.
14575
14576 * editfns.c (Finsert_byte): Return a proper value.
14577
145782008-02-01 Kenichi Handa <handa@m17n.org>
14579
14580 * coding.c (decode_coding): Fix args to translate_chars. Pay
14581 attention to Vstandard_translation_table_for_decode.
14582 (encode_coding): Fix args to translate_chars. Pay attention to
14583 Vstandard_translation_table_for_encode.
14584
14585 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
14586 SINGLE_BYTE_CHAR_P.
14587
14588 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
14589 not by SINGLE_BYTE_CHAR_P.
14590
14591 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
14592 SINGLE_BYTE_CHAR_P.
14593
14594 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
14595 SINGLE_BYTE_CHAR_P.
14596
14597 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
14598 by SINGLE_BYTE_CHAR_P.
14599
14600 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
14601 SINGLE_BYTE_CHAR_P.
14602
146032008-02-01 Dave Love <fx@gnu.org>
14604
14605 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
14606
146072008-02-01 Dave Love <fx@gnu.org>
14608
14609 * fns.c (Flanginfo): Fix typo.
14610
14611 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
14612
146132008-02-01 Kenichi Handa <handa@m17n.org>
14614
14615 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
14616 (detect_coding_emacs_mule, detect_coding_iso_2022)
14617 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
14618 incomplete byte sequence. Don't update *mask when correctly detected.
14619 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
14620 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
14621 (detect_coding, detect_coding_system): Adjust for the changes above.
14622
146232008-02-01 Kenichi Handa <handa@m17n.org>
14624
14625 * character.c (char_string): Rename from
14626 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
14627 (string_char): Rename from string_char.
14628
14629 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
14630 if C is greater than MAX_3_BYTE_CHAR.
14631 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
14632 string_char instead of string_char_with_unification.
14633
146342008-02-01 Dave Love <fx@gnu.org>
14635
14636 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
14637
146382008-02-01 Kenichi Handa <handa@m17n.org>
14639
14640 * keymap.c (push_key_description): Pay attention to force_multibyte.
14641
14642 * regex.c (re_search_2): Fix for the case of unibyte buffer.
14643
146442008-02-01 Dave Love <fx@gnu.org>
14645
14646 * charset.c (define_charset_internal): Rename `supprementary'.
14647
14648 * Makefile.in (lisp, shortlisp): Remove latin-N.
14649
146502008-02-01 Dave Love <fx@gnu.org>
14651
14652 * xfns.c (x_window, x_window): Use use_xim.
14653
14654 * xterm.c (use_xim): Initialize.
14655 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
14656 (x_term_init): Maybe set use_xim.
14657
14658 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
14659
146602008-02-01 Kenichi Handa <handa@m17n.org>
14661
14662 * search.c (search_buffer): Fix case-fold-search of multibyte
14663 characters.
14664 (boyer_moore): Rename the last argument to char_high_bits.
14665
146662008-02-01 Kenichi Handa <handa@m17n.org>
14667
14668 * xdisp.c (display_string): Fix for the case of zero width glyph.
14669
14670 * xfns.c (x_set_font): Change the error message of the case that
14671 x_new_fontset returns Qt.
14672
14673 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
14674 (Finternal_set_lisp_face_attribute): Use signal_error for the
14675 error of invalid fontset.
14676
14677 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
14678 fontset, return Qt.
14679
146802008-02-01 Dave Love <fx@gnu.org>
14681
14682 * unexelf.c (unexec): Make .got handling not SGI-specific.
14683
14684 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
14685
14686 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
14687
14688 * keyboard.c (read_key_sequence): Fix type error.
14689
14690 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
14691 type error.
14692
14693 * fontset.c (fontset_add): Return Lisp_Object.
14694
146952008-02-01 Dave Love <fx@gnu.org>
14696
14697 * charset.h (charset_ordered_list_tick): Declare extern.
14698
146992008-02-01 Kenichi Handa <handa@m17n.org>
14700
14701 The following changes (and some of 2008-02-01 changes of mine) are
14702 for handling syntax, category, and case conversion for unibyte
14703 characters by converting them to multibyte on the fly. With these
14704 changes, we don't have to setup syntax and case tables for unibyte
14705 characters in each language environment.
14706
14707 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
14708 multibyte if necessary.
14709
14710 * bytecode.c (Fbyte_code): Likewise.
14711
14712 * character.h (LEADING_CODE_LATIN_1_MIN)
14713 (LEADING_CODE_LATIN_1_MAX): New macros.
14714 (unibyte_to_multibyte_table): Extern it.
14715 (unibyte_char_to_multibyte): New macro.
14716 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
14717 (CHAR_LEADING_CODE): New macro.
14718 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
14719
14720 * character.c (unibyte_to_multibyte_table): New variable.
14721 (unibyte_char_to_multibyte): Move to character.h and define as macro.
14722 (multibyte_char_to_unibyte): If C is an eight-bit character,
14723 convert it to the corresponding byte value.
14724
14725 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
14726 not 1, signals an error. Update the elements of
14727 unibyte_to_multibyte_table.
14728 (init_charset_once): Initialize unibyte_to_multibyte_table.
14729 (syms_of_charset): Define the charset `iso-8859-1'.
14730
14731 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
14732 as is without converting it to unibyte. In a unibyte buffer,
14733 convert C to multibyte before checking the syntax.
14734
14735 * lisp.h (unibyte_char_to_multibyte): Delete extern.
14736
14737 * minibuf.c (Fminibuffer_complete_word): Use the macro
14738 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
14739
14740 * regex.h (struct re_pattern_buffer): New member target_multibyte.
14741
14742 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
14743 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
14744 that is zero, convert an eight-bit char to multibyte.
14745 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
14746 non-emacs case.
14747 (PATFETCH): Convert an eight-bit char to multibyte.
14748 (HANDLE_UNIBYTE_RANGE): New macro.
14749 (regex_compile): Setup the compiled pattern for multibyte chars
14750 even if the given regex string is unibyte. Use PATFETCH_RAW
14751 instead of PATFETCH in many places. To handle `charset'
14752 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
14753 only for ASCII chars.
14754 (analyse_first) <exactn>: Simplify because the compiled pattern
14755 is multibyte.
14756 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
14757 <charset>: Use CHAR_LEADING_CODE to get leading codes.
14758 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
14759 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
14760 multibyte always 1.
14761 (re_search_2): In emacs, set the locale variable multibyte to 1,
14762 otherwise to 0. New local variable target_multibyte. Check it
14763 to decide the multibyteness of STR1 and STR2. If
14764 target_multibyte is zero, convert unibyte chars to multibyte
14765 before translating and checking fastmap.
14766 (TARGET_CHAR_AND_LENGTH): New macro.
14767 (re_match_2_internal): In emacs, set the locale variable multibyte
14768 to 1, otherwise to 0. New local variable target_multibyte. Check
14769 it to decide the multibyteness of STR1 and STR2. Use
14770 TARGET_CHAR_AND_LENGTH to fetch a character from D.
14771 <charset, charset_not>: If multibyte is nonzero, check fastmap
14772 only for ASCII chars. Call bcmp_translate with
14773 target_multibyte, not with multibyte.
14774 <begline>: Declare the local variable C as `unsigned'.
14775 (bcmp_translate): Change the last arg name to target_multibyte.
14776
14777 * search.c (compile_pattern_1): Don't adjust the multibyteness of
14778 the regexp pattern and the matching target. Set cp->buf.multibyte
14779 to the multibyteness of the regexp pattern. Set
14780 cp->but.target_multibyte to the multibyteness of the matching target.
14781 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
14782 FETCH_STRING_CHAR_ADVANCE.
14783 (Freplace_match): Convert unibyte chars to multibyte.
14784
14785 * syntax.c (char_quoted, back_comment, scan_words)
14786 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
14787 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
14788 unibyte chars to multibyte.
14789 (skip_chars): Delete the arg syntaxp, and move the code for
14790 handling syntaxes to skip_syntaxes. Change callers.
14791 Fix the case that the multibyteness of STRING and the current
14792 buffer doesn't match.
14793 (skip_syntaxes): New function.
14794 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
14795 SINGLE_BYTE_CHAR_P.
14796
147972008-02-01 Kenichi Handa <handa@m17n.org>
14798
14799 * xfaces.c (QCfontset): New variable.
14800 (LFACE_FONTSET): New macro.
14801 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
14802 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
14803 (Finternal_set_lisp_face_attribute)
14804 (Finternal_get_lisp_face_attribute): Handle QCfontset.
14805 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
14806 check also LFACE_FONTSET_INDEX.
14807 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
14808 attrs[LFACE_FONT_INDEX].
14809 (syms_of_xfaces): Intern and staticpro QCfontset.
14810
14811 * dispextern.h (enum lface_attribute_index): New member
14812 LFACE_FONTSET_INDEX.
14813
14814 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
14815
148162008-02-01 Kenichi Handa <handa@m17n.org>
14817
14818 * coding.c (coding_set_destination): Fix coding->destination for
14819 the case converting a region.
14820 (encode_coding_utf_8): Encode eight-bit chars as single byte.
14821 (encode_coding_object): Fix coding->dst_pos and
14822 coding->dst_pos_byte for the case converting a region.
14823
14824 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
14825
14826 * character.h (BYTE8_STRING): New macro.
14827
14828 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
14829
148302008-02-01 Kenichi Handa <handa@m17n.org>
14831
14832 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
14833 characters by octal form.
14834
14835 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
14836
14837 * buffer.h (_fetch_multibyte_char_len): Delete extern.
14838 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
14839 _fetch_multibyte_char_len.
14840 (FETCH_CHAR_AS_MULTIBYTE): New macro.
14841
14842 * casetab.c (set_canon, set_identity, shuffle): Simplify.
14843
14844 * casefiddle.c (casify_object): Simplify. Handle the case that
14845 the case conversion change the byte length.
14846 (casify_region): Likewise.
14847
14848 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
14849
14850 * character.c (_fetch_multibyte_char_len): Delete this variable.
14851 (syms_of_character): Setup Vprintable_chars.
14852
14853 * editfns.c (Fchar_equal): Fix for the unibyte case.
14854 (Finsert_byte): New function.
14855 (syms_of_editfns): Defsubr it.
14856
14857 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
14858 of direct code 0x3ffff.
14859
14860 * search.c (Freplace_match): Fix for the unibyte case.
14861
148622008-02-01 Kenichi Handa <handa@m17n.org>
14863
14864 * lread.c (safe_to_load_p): Fix the logic.
14865
14866 * syntax.c (scan_words): Don't treat characters belonging to
14867 different scripts as constituting a word.
14868
14869 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14870
14871 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
14872
14873 * emacs.c (main): In the case of --unibyte, instead of aborting on
14874 finding non-empty buffer, make it unibyte.
14875
148762008-02-01 Kenichi Handa <handa@m17n.org>
14877
14878 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
14879 to create a fontset.
14880
148812008-02-01 Dave Love <fx@gnu.org>
14882
14883 * character.c (Funibyte_char_to_multibyte): Doc fix.
14884
14885 * xfns.c [HAVE_STDLIB_H]: Fix last change.
14886
148872008-02-01 Kenichi Handa <handa@m17n.org>
14888
14889 * fontset.c (fontset_add): Make the type `int'.
14890 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
14891
14892 * character.c (unibyte_char_to_multibyte)
14893 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
14894 charset_unibyte, not charset_primary.
14895
14896 * charset.h (charset_unibyte): Extern it instead of charset_primary.
14897
14898 * charset.c (charset_unibyte): Rename from charset_primary.
14899 (Funibyte_charset): Rename from Fprimary_charset.
14900 (Fset_unibyte_charset): Rename from Fset_primary_charset.
14901 (syms_of_charset): Adjust for the above changes.
14902
14903 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14904 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14905 it->multibyte_p is zero.
14906
14907 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
14908 Delete extern.
14909
149102008-02-01 Kenichi Handa <handa@m17n.org>
14911
14912 * coding.c (Fdefine_coding_system_internal): Fix category setting
14913 for a coding system of type iso-2022.
14914
149152008-02-01 Kenichi Handa <handa@m17n.org>
14916
14917 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
14918
149192008-02-01 Kenichi Handa <handa@m17n.org>
14920
14921 * syntax.c (Vnext_word_boundary_function_table): New variable.
14922 (next-word-boundary-function-table): Declare it as a Lisp variable
14923 in syms_of_syntax.
14924 (scan_words): Call functions in Vnext_word_boundary_function_table
14925 if any.
14926
14927 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
14928
14929 * fontset.c (fs_load_font): If fontp->charset is not negative,
14930 return fontp without setting its members.
14931
149322008-02-01 Dave Love <fx@gnu.org>
14933
14934 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
14935
14936 * m/sparc.h (HAVE_ALLOCA): Delete.
14937
14938 * s/irix6-5.h: Don't include strings.h.
14939 (bcopy, bzero, bcmp): Don't undef.
14940
14941 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
14942
14943 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
14944 (TIOCSIGSEND): Don't test IRIX6.
14945 (bcopy, bzero, bcmp): Define conditionally.
14946
149472008-02-01 Kenichi Handa <handa@m17n.org>
14948
14949 * buffer.c (Qas, Qmake, Qto): New variables.
14950 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
14951 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
14952
14953 * callproc.c (Fcall_process): Don't call insert_1_both directly if
14954 we are inserting a process output into a multibyte buffer.
14955
14956 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
14957 multibyte_char_to_unibyte.
14958
14959 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
14960 by the primary charset, make it eight-bit char.
14961 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
14962
14963 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
14964 (charset_8_bit__control, charset_8_bit_graphic)
14965 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
14966 (define_charset_internal): New function.
14967 (syms_of_charset): Call define_charset_internal for pre-defined
14968 charsets.
14969
14970 * charset.h (charset_8_bit): Extern it.
14971
14972 * coding.c (make_conversion_work_buffer): Adjust for the change
14973 of Fset_buffer_multibyte.
14974 (encode_coding_raw_text): Increment p0 in the loop.
14975
14976 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
14977
14978 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
14979 for the change of Fset_buffer_multibyte.
14980
14981 * fns.c (Fstring_to_multibyte): New function.
14982 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
14983
149842008-02-01 Dave Love <fx@gnu.org>
14985
14986 * xfns.c (x_put_x_image): Declare args.
14987
14988 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
14989 (try_font_list): Declare an arg.
14990
14991 * xdisp.c (message2_nolog, set_message): Declare an arg.
14992
14993 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
14994
14995 * syntax.c (scan_sexps_forward): Declare an arg.
14996
14997 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
14998 Declare an arg.
14999
15000 * lisp.h (Fnew_fontset): Declare.
15001
15002 * keymap.c (push_key_description): Call CHARACTERP correctly.
15003
15004 * fontset.c (fontset_add): Declare args. Call make_number correctly.
15005 (face_for_char): Delete unused vars.
15006 (Fset_fontset_font): Doc fix. Delete unused vars.
15007
15008 * doc.c (Fsubstitute_command_keys): Delete unused vars.
15009
15010 * composite.c (update_compositions): Declare arg.
15011
15012 * cm.c (calccost, cmgoto): Declare args.
15013
15014 * charset.c: Remove `emacs' conditional. Doc fixes.
15015 (map_char_table_for_charset): Declare.
15016
15017 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
15018
15019 * ccl.c: Remove `emacs' conditional.
15020
150212008-02-01 Kenichi Handa <handa@m17n.org>
15022
15023 The following changes are to allow specifying multiple font
15024 patterns for a character range (specified by script or charset).
15025
15026 * Makefile.in (abbrev.o): Depend on syntax.h.
15027 (xfaces.o): Depend on charset.h.
15028
15029 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
15030 SINGLE_BYTE_CHAR_P.
15031
15032 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
15033
15034 * character.h (Vchar_script_table): Extern it.
15035
15036 * character.c (Vscript_alist): Delete.
15037 (Vchar_script_table, Qchar_script_table): New variable.
15038 (syms_of_character): Declare Vchar_script_table as a lisp variable
15039 and initialize it.
15040
15041 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
15042 have property char-table-extra-slots, make no extra slot.
15043
15044 * dispextern.h (struct face): Delete member `charset'.
15045 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
15046 SINGLE_BYTE_CHAR_P.
15047 (choose_face_font, lookup_non_ascii_face, font_name_registry):
15048 Add prototypes.
15049 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
15050 (generate_ascii_font_name): Rename from generate_ascii_font.
15051
15052 * fontset.h (get_font_repertory_func): New prototype.
15053 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
15054 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
15055
15056 * fontset.c (Qprepend, Qappend): New variables.
15057 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
15058 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
15059 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
15060 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
15061 (fontset_ref_and_range, fontset_add, reorder_font_vector)
15062 (load_font_get_repertory): New functions.
15063 (fontset_set): Delete.
15064 (fontset_face): New arg FACE. Return face ID, not face.
15065 Complete re-write to handle new fontset structure. Change caller.
15066 (free_face_fontset): Use ASET istead of AREF (X) = Y.
15067 (face_for_char): Don't call lookup_face.
15068 (make_fontset_for_ascii_face): New arg FACE.
15069 (fs_load_font): New arg CHARSET_ID. Don't check
15070 Vfont_encoding_alist here.
15071 (find_font_encoding): New function.
15072 (list_fontsets): Use STRINGP, not ! NILP.
15073 (accumulate_script_ranges): New function.
15074 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
15075 re-written to handle new fontset structure.
15076 (Ffontset_font): Return a copy of element.
15077 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
15078 docstring of font-encoding-alist.
15079
15080 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
15081 (Fset_fotset_font): Fix arguments to 5.
15082
15083 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
15084
15085 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
15086 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15087 (highlight_trailing_whitespace): Adjust for the change of
15088 lookup_named_face.
15089
15090 * xfaces.c: Include charset.h.
15091 (load_face_font): Delete argument C. Change caller.
15092 (generate_ascii_font_name): Rename from generate_ascii_font.
15093 (font_name_registry): New function.
15094 (cache_face): Store ascii faces before non-ascii faces in buckets.
15095 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
15096 Lookup only ascii faces.
15097 (lookup_non_ascii_face): New function.
15098 (lookup_named_face): Delete argument C. Change caller.
15099 (lookup_derived_face): Delete argument C. Change caller.
15100 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
15101 a string, just call font_list with it.
15102 (choose_face_font): Delete arguments FACE and C. New arg
15103 FONT_SPEC. Change caller.
15104 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
15105 Change caller.
15106 (realize_non_ascii_face): New function.
15107 (realize_x_face): Call load_face_font here.
15108 (realize_tty_face): Delete argument C. Change caller.
15109 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
15110 get a face ID.
15111 (dump_realized_face): Don't print charset of FACE.
15112
15113 * xfns.c (x_set_font): Always call x_new_fontset and
15114 store_frame_parameter.
15115 (Fx_create_frame): Call x_new_fontset, not x_new_font.
15116 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
15117
15118 * xterm.h (x_get_font_repertory): Extern it.
15119
15120 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
15121 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
15122 it->multibyte_p is zero.
15123 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15124 (x_new_fontset): If FONTSETNAME doesn't match any existing
15125 fontsets, create a new one.
15126 (x_get_font_repertory): New function.
15127
151282008-02-01 Kenichi Handa <handa@m17n.org>
15129
15130 * coding.c (Ffind_coding_systems_region_internal): Detect an
15131 ASCII only string correctly.
15132
15133 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
15134 version is 0.
15135
151362008-02-01 Kenichi Handa <handa@m17n.org>
15137
15138 * lread.c: Include "coding.h".
15139 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
15140 (load_each_byte, unread_char): New variables.
15141 (readchar_backlog): Delete.
15142 (readchar): Return a character unless load_each_byte is nonzero.
15143 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
15144 cons. If unread_char is not -1, simply return it.
15145 (unreadchar): Handle the case that readcharfun is
15146 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
15147 (read_multibyte): Delete.
15148 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
15149 (read_emacs_mule_char): New functions.
15150 (Fload): Even if the file doesn't have the extension ".elc", if
15151 safe_to_load_p returns a positive version number, assume that the
15152 file contains bytecompiled code. If the version is less than 22,
15153 load the file while decoding multibyte sequences by emacs-mule.
15154 (readevalloop): Don't use readchar_backlog.
15155 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
15156 (Fread_from_string): Pay attention to the case that STREAM is a cons.
15157 (read_escape): Delete the arg BYTEREP.
15158 (read1): Set load_each_byte to 1 temporarily while handling
15159 #@NUMBER. Don't call read_multibyte.
15160 (read_vector): Call Fread with a cons. If readcharfun is
15161 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
15162 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
15163 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
15164 and Qload_force_doc_strings.
15165
151662008-02-01 Kenichi Handa <handa@m17n.org>
15167
15168 * xdisp.c (face_before_or_after_it_pos): Call
15169 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
15170
151712008-02-01 Kenichi Handa <handa@m17n.org>
15172
15173 * character.h (TRAILING_CODE_P): New macro.
15174 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
15175 (string_char_with_unification): Fix prototype.
15176 (Vscript_alist): Extern it.
15177
15178 * character.c (Vscript_alist): New variable.
15179 (string_char_with_unification, str_as_unibyte)
15180 (string_escape_byte8): Add `const' to local variables.
15181 (syms_of_character): Declare script-alist as a Lisp variable.
15182
15183 * charset.h (Vcharset_ordered_list): Extern it.
15184 (charset_ordered_list_tick): Extern it.
15185 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
15186 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
15187 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
15188 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
15189 (Funify_charset): Adjust for the change of Funify_charset.
15190
15191 * charset.c (charset_ordered_list_tick): New variable.
15192 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
15193 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
15194 deunify intead of unify a charset.
15195 (string_xstring_p): Add `const' to local variables.
15196 (find_charsets_in_text): Add `const' to arguments and local variables.
15197 (encode_char): Adjust for the change of Funify_charset. Fix
15198 detecting of invalid code.
15199 (Fset_charset_priority): Increment charset_ordered_list_tick.
15200 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
15201 and TO_CODE.
15202
15203 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
15204 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
15205 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
15206 (decode_coding_ccl, consume_chars)
15207 (Ffind_coding_systems_region_internal)
15208 (Fcheck_coding_systems_region): Add `const' to local variables.
15209
15210 * print.c (print_object): Use octal form for printing the
15211 contents of a bool vector.
15212
152132008-02-01 Dave Love <fx@gnu.org>
15214
15215 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
15216 <version == 20>: Refuse to load.
15217
152182008-02-01 Dave Love <fx@gnu.org>
15219
15220 * fns.c: Move coding.h.
15221 (Qcodeset, Qdays, Qmonths): New.
15222 (concat): Use CHARACTERP instead of INTEGERP.
15223 (Flocale_codeset): Delete.
15224 (Flanginfo): New function.
15225 (syms_of_fns): Change accordingly.
15226
15227 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
15228
152292008-02-01 Dave Love <fx@gnu.org>
15230
15231 * casetab.c (init_casetab_once, init_casetab_once): Fix
15232 CHAR_TABLE_SET call.
15233
15234 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
15235
15236 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
15237
15238 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
15239 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
15240 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
15241
15242 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
15243
15244 * coding.c (ENCODE_DESIGNATION, decode_eol)
15245 (make_conversion_work_buffer, code_conversion_restore)
15246 (Fdefine_coding_system_internal): Convert Lisp types.
15247 (code_conversion_restore): Use EQ, not ==.
15248 (Fencode_coding_string): Fix code_convert_string call.
15249
15250 * coding.h (code_convert_region): Fix prototype.
15251
15252 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
15253
15254 * fontset.c (fontset_ref, fontset_set, fs_load_font)
15255 (Ffontset_info): Convert Lisp types.
15256
15257 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
15258
15259 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
15260
15261 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
15262
15263 * chartab.c: Include "...h", not <...h> in some cases.
15264
15265 * callproc.c (Fcall_process): Remove unused variables.
15266
152672008-02-01 Dave Love <fx@gnu.org>
15268
15269 * coding.c (Fset_coding_system_priority): Allow null arg list.
15270
152712008-02-01 Dave Love <fx@gnu.org>
15272
15273 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
15274 (Fself_insert_and_exit): Use CHARACTERP.
15275
15276 * callproc.c (Fcall_process): Remove unused vars.
15277
15278 * xterm.c (XTread_socket): Add extra dead keysyms.
15279
15280 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
15281
15282 * dispextern.h: Remove prototypes for redraw_frame,
15283 redraw_garbaged_frames.
15284
15285 * cmds.c (Fself_insert_command): Use CHARACTERP.
15286
15287 * chartab.c (make_sub_char_table): Remove unused var.
15288 (Fset_char_table_default, Fmap_char_table): Doc fix.
15289
15290 * keymap.c (access_keymap): Remove generic char code.
15291 (push_key_description): Use CHARACTERP.
15292
152932008-02-01 Dave Love <fx@gnu.org>
15294
15295 * charset.c: Doc fixes.
15296 (Funify_charset): Extra checking.
15297
152982008-02-01 Dave Love <fx@gnu.org>
15299
15300 * lread.c: Remove some unused variables.
15301 (safe_to_load_p): If safe, return the magic number version byte.
15302 (Fload): Maybe use load-with-code-conversion.
15303
153042008-02-01 Kenichi Handa <handa@m17n.org>
15305
15306 * category.c (Fmodify_category_entry): Don't modify the contents
15307 of category_set for characters out of the range. Avoid
15308 unnecessary modification.
15309
15310 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
15311 Vchar_unify_table. The default value of the table is now nil.
15312
15313 * character.c (syms_of_character): Setup Vchar_width_table for
15314 eight-bit-control and raw-byte chars.
15315
15316 * charset.h (enum define_charset_arg_index): Delete
15317 charset_arg_parents and add charset_arg_subset and
15318 charset_arg_superset.
15319 (enum charset_attr_index): Delete charset_parents and add
15320 charset_subset and charset_superset.
15321 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
15322 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
15323 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
15324 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
15325 (CHARSET_SUPERSET): New macros.
15326 (charset_work): Extern it.
15327 (ENCODE_CHAR): Use charset_work.
15328 (CHAR_CHARSET_P): Adjust for the change of encoder format.
15329 (map_charset_chars): Extern it.
15330
15331 * charset.c (load_charset_map): Set the default value of encoder
15332 and deunifier char-tables to nil.
15333 (map_charset_chars): Change argument. Change callers. Use
15334 map_char_table_for_charset instead of map_char_table.
15335 (Fmap_charset_chars): New optional args from_code and to_code.
15336 (Fdefine_charset_internal): Adjust for the change of
15337 `define-charset' (:parents -> :subset or :superset).
15338 (charset_work): New variable.
15339 (encode_char, syms_of_charset): Adjust for the change of
15340 Fdefine_charset_internal.
15341 (Ffind_charset_string): Setup the vector `charsets' correctly.
15342
15343 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
15344 the previous change.
15345 (char_table_ref_and_range): Adjust for the above change.
15346 (map_sub_char_table_for_charset): New function.
15347 (map_char_table_for_charset): New function.
15348
15349 * keymap.c (describe_vector): Handle a char-table directly here.
15350 (describe_char_table): Delete.
15351
15352 * lisp.h (map_charset_chars): Delete.
15353
153542008-02-01 Dave Love <fx@gnu.org>
15355
15356 * fns.c (count_combining): Comment out (unused).
15357 (Flocale_codeset): New.
15358 (syms_of_fns): Defsubr it.
15359
15360 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
15361 (size_t): Remove.
15362
153632008-02-01 Dave Love <fx@gnu.org>
15364
15365 * Makefile.in (chartab.o): Depend on charset.h.
15366
153672008-02-01 Kenichi Handa <handa@m17n.org>
15368
15369 * character.c (syms_of_character): Set the default value of
15370 Vprintable_chars to Qnil.
15371
153722008-02-01 Dave Love <fx@gnu.org>
15373
15374 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
15375
153762008-02-01 Kenichi Handa <handa@m17n.org>
15377
15378 * charset.c (load_charset_map): Handle the case that from < to
15379 correctly.
15380
15381 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
15382 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
15383 Pay attention to raw-8-bit chars.
15384
153852008-02-01 Kenichi Handa <handa@m17n.org>
15386
15387 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
15388 It is not bytecompiled now.
15389
15390 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
15391 (charset_jisx0208): New variables.
15392 (Fdefine_charset_internal): Setup them if appropriate.
15393 (init_charset_once): Initialize them to -1.
15394
15395 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
15396 (charset_jisx0208): Extern them.
15397
15398 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
15399 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
15400 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
15401 (setup_iso_safe_charsets): Fix arguments to Fassq.
15402 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
15403 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
15404 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
15405 (encode_coding_iso_2022): Change the 1st arg to
15406 ENCODE_ISO_CHARACTER to a variable.
15407
154082008-02-01 Kenichi Handa <handa@m17n.org>
15409
15410 * charset.h (enum define_charset_arg_index): New enums
15411 charset_arg_min_code and charset_arg_max_code.
15412 (struct charset): New member char_index_offset.
15413
15414 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
15415 Take charset->char_index_offset into account.
15416 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
15417 args[charset_arg_max_code]. Setup charset.char_index_offset.
15418 (syms_of_charset): Fix args to Fdefine_charset_internal.
15419
154202008-02-01 Dave Love <fx@gnu.org>
15421
15422 * coding.c (decode_coding_utf_8): Reject overlong sequences.
15423
154242008-02-01 Dave Love <fx@gnu.org>
15425
15426 * coding.c: Doc fixes.
15427 (Fcoding_system_aliases): Fix return value.
15428 (Qmac): Remove (duplicated) definition.
15429
154302008-02-01 Dave Love <fx@gnu.org>
15431
15432 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
15433 functions.
15434
15435 * character.c (Fstring): Doc fix.
15436
15437 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
15438
15439 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
15440 ids.
15441 (font-encoding-alist): Doc fix.
15442
154432008-02-01 Dave Love <fx@gnu.org>
15444
15445 * term.c (costs_set): Declare static, non-initialized for pcc.
15446 (encode_terminal_code): Remove unused var.
15447
15448 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
15449 for K&R.
15450
15451 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
15452
15453 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
15454 (suffixes): Move out of make_subsidiaries for K&R.
15455
15456 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
15457
15458 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
15459
154602008-02-01 Dave Love <fx@gnu.org>
15461
15462 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
15463
15464 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
15465
154662008-02-01 Yong Lu <lyongu@asia-infonet.com>
15467
15468 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
15469
15470 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
15471
154722008-02-01 Kenichi Handa <handa@m17n.org>
15473
15474 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
15475 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
15476
154772008-02-01 Kenichi Handa <handa@m17n.org>
15478
15479 * coding.c (decode_coding_charset): Adjust for the change of
15480 Fdefine_coding_system_internal.
15481 (Fdefine_coding_system_internal): For a coding system of
15482 `charset' type, store a list of charset IDs in
15483 `charset_attr_charset_valids' element of coding attributes.
15484
154852008-02-01 Kenichi Handa <handa@m17n.org>
15486
15487 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
15488 (emacs_mule_char): New arg src. Delete arg `composition'. Change
15489 caller. Handle 2-byte and 3-byte charsets correctly.
15490 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
15491 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
15492 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
15493 (DECODE_EMACS_MULE_21_COMPOSITION): Call
15494 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
15495 sequence.
15496 (decode_coding_emacs_mule): Handle composition correctly. Rewind
15497 `src' and `consumed_chars' correctly before calling emacs_mule_char.
15498 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
15499 and alt&rule composition.
15500 (decode_coding_iso_2022): Handle composition correctly.
15501 (init_coding_once): Setup emacs_mule_bytes for private charsets.
15502
15503 * charset.c (Fdefine_charset_internal): Fix bug for the case of
15504 re-defining a charset. If the charset has :emacs-mule-id, setup
15505 emacs_mule_bytes.
15506 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
15507
155082008-02-01 Kenichi Handa <handa@m17n.org>
15509
15510 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
15511 (encode_coding_big5, encode_coding_charset): If coding requires safe
15512 encoding, produce a character specified by
15513 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
15514
155152008-02-01 Dave Love <fx@gnu.org>
15516
15517 * xterm.c (XSetIMValues): Declare.
15518
15519 * process.c: Conditionally include sys/wait.h, pty.h.
15520
15521 * print.c (print_object): Fix print format for 64-bit systems.
15522
15523 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
15524
15525 * buffer.c (emacs_strerror): Declare.
15526
15527 * fontset.c (Fclear_face_cache): Declare.
15528 (accumulate_font_info): Comment-out (unused).
15529 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
15530 variables.
15531
15532 * character.h (string_escape_byte8): Declare.
15533
15534 * charset.c (load_charset_map, load_charset_map_from_file): Remove
15535 unused vars.
15536 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
15537 (Fmap_charset_chars): Doc fix.
15538
15539 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
15540 (Fset_coding_system_priority, Fset_coding_system_priority)
15541 (Fdefine_coding_system_internal): Doc fix.
15542
155432008-02-01 Dave Love <fx@gnu.org>
15544
15545 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
15546
155472008-02-01 Kenichi Handa <handa@m17n.org>
15548
15549 * character.c (string_escape_byte8): Make multibyte string with
15550 correct size.
15551
15552 * charset.c (Fmake_char): Delete unnecessary code.
15553
155542008-02-01 Kenichi Handa <handa@m17n.org>
15555
15556 * xfns.c (x_encode_text): Allocate coding.destination here, and
15557 call encode_coding_object with dst_object Qnil.
15558
15559 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
15560 multibyte form correctly.
15561
15562 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
15563 against Vfont_encoding_alist.
15564
15565 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
15566 handling of charset list.
15567 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
15568 (decode_coding_object): Move point to coding->dst_pos before
15569 calling post-read-conversion function.
15570 (encode_coding_object): Give correct arguments to
15571 pre-write-conversion. Ignore the return value of
15572 pre-write-conversion function. Pay attention to the case that
15573 pre-write-conversion changes the current buffer. If dst_object is
15574 Qt, even if coding->src_bytes is zero, allocate at least one byte
15575 to coding->destination.
15576
15577 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
15578
15579 * charset.c (Fmake_char): Make it more backward compatible.
15580 (Fmap_charset_chars): Fix docstring.
15581
155822008-02-01 Dave Love <fx@gnu.org>
15583
15584 * coding.c: Doc fixes.
15585 (Fdefine_coding_system_alias): Use names, not symbols, in
15586 coding-system-alist.
15587
155882008-02-01 Kenichi Handa <handa@m17n.org>
15589
15590 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
15591 of calling free_realized_face.
15592
155932008-02-01 Yong Lu <lyongu@asia-infonet.com>
15594
15595 * charset.c (read_hex): Don't treat SPC as a comment starter.
15596 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
15597 (Fdecode_char): Fix typo.
15598
155992008-02-01 Kenichi Handa <handa@m17n.org>
15600
15601 * charset.h (struct charset): New member `code_space_mask'.
15602
15603 * coding.c (coding_set_source): Delete the local variable beg_byte.
15604 (encode_coding_charset, Fdefine_coding_system_internal):
15605 Delete the local variable charset.
15606 (Fdefine_coding_system_internal): Setup
15607 attrs[coding_attr_charset_valids] correctly.
15608
15609 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
15610 member to check if CODE is valid or not.
15611 (Fdefine_charset_internal): Initialize `code_space_mask' member.
15612 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
15613 is within the range of charset->min_code and carset->max_code.
15614
156152008-02-01 Dave Love <fx@gnu.org>
15616
15617 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
15618
15619 * dispextern.h (generate_ascii_font): Fix return type.
15620
15621 * xfaces.c (generate_ascii_font): Fix arg declaration.
15622
15623 * coding.c (coding_inherit_eol_type)
15624 (Fset_terminal_coding_system_internal)
15625 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
15626
156272008-02-01 Kenichi Handa <handa@m17n.org>
15628
15629 * coding.c (decode_coding_charset, encode_coding_charset): Handle
15630 multiple charsets correctly.
15631
156322008-02-01 Kenichi Handa <handa@m17n.org>
15633
15634 * search.c (boyer_moore): Fix handling of multibyte character
15635 translation.
15636
15637 * xdisp.c (display_mode_element): When the variable `elt' is
15638 changed, update `this' and `lisp_string'.
15639
156402008-02-01 Kenichi Handa <handa@m17n.org>
15641
15642 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
15643
15644 * callproc.c (Fcall_process): Be sure to give the current buffer
15645 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
15646
15647 * charset.c (struct charset_map_entries): New struct.
15648 (load_charset_map): Rename from parse_charset_map. New args
15649 entries and n_entries. Change caller.
15650 (load_charset_map_from_file): Rename from load_charset_map.
15651 Change caller. New arg control_flag. Call load_charset_map at
15652 the tail.
15653 (load_charset_map_from_vector): New function.
15654 (Fdefine_charset_internal): Setup charset.compact_codes_p.
15655 (encode_char): If the charset is compact, change a character index
15656 to a code point.
15657
15658 * coding.c (coding_alloc_by_making_gap): Check the case that the
15659 source and destination are the same correctly.
15660 (decode_coding_raw_text): Set coding->consumed_char and
15661 coding->consumed to 0.
15662 (produce_chars): If coding->chars_at_source is nonzero, update
15663 coding->consumed_char and coding->consumed before calling
15664 alloc_destination.
15665 (Fdefine_coding_system_alias): Register ALIAS in
15666 Vcoding_system_alist.
15667 (syms_of_coding): Define `no-conversion' coding system at the tail.
15668
15669 * fileio.c (Finsert_file_contents): Set coding_system instead of
15670 val. If the current buffer is multibyte, always call
15671 decode_coding_gap.
15672
15673 * xfaces.c (try_font_list): Give higher priority to fontset's
15674 family than face's family.
15675
156762008-02-01 Kenichi Handa <handa@m17n.org>
15677
15678 * callproc.c (Fcall_process): Be sure to give the current buffer
15679 to decode_coding_c_string.
15680
15681 * xfaces.c (try_font_list): Give a family specified in a fontset
15682 higher priority than a family specified in a face.
15683
156842008-02-01 Kenichi Handa <handa@m17n.org>
15685
15686 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
15687 Fix arguments to insert_from_buffer.
15688
15689 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
15690
156912008-02-01 Kenichi Handa <handa@m17n.org>
15692
15693 * coding.c (produce_chars): Set the variable `multibytep' correctly.
15694 (decode_coding_gap): Set coding->dst_multibyte correctly.
15695
156962008-02-01 Kenichi Handa <handa@m17n.org>
15697
15698 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
15699 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
15700 (encode_coding_utf_16): Substitute coding->default_char for
15701 non-Unicode characters.
15702 (decode_coding): Don't call record_insert here.
15703 (setup_coding_system): Initialize `surrogate' of
15704 coding->spec.utf_16 to 0.
15705 (EMIT_ONE_BYTE): Fix for multibyte case.
15706
15707 * insdel.c (insert_from_gap): Call record_insert.
15708
157092008-02-01 Kenichi Handa <handa@m17n.org>
15710
15711 * casefiddle.c (casify_region): Fix multibyte case.
15712
15713 * character.c (c_string_width): Add return type `int'.
15714 (char_string_with_unification): Delete arg ADVANCED.
15715
15716 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
15717 (CHAR_STRING): Adjust for the change of char_string_with_unification.
15718 (CHAR_STRING_ADVANCE): Make it do-while statement.
15719
15720 * chartab.c (sub_char_table_set_range): Optimize for the case
15721 DEPTH == 3. Add workaround code for a GCC optimization bug.
15722
15723 * charset.c (parse_charset_map): Remove an unused variable.
15724
15725 * coding.c: Delete unused variables.
15726
15727 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
15728 earlier. If inserted is zero and the coding system doesn't
15729 require flushing, don't call decode_coding_gap.
15730
15731 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
15732
157332008-02-01 Kenichi Handa <handa@m17n.org>
15734
15735 The following changes are for using Unicode as an internal
15736 character model, and use UTF-8 format for buffer/string
15737 representation.
15738
15739 * .gdbinit (xchartable): Adjust for the change of char table structure.
15740 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
15741
15742 * Makefile.in (obj): Add character.o and chartab.o.
15743 (lisp, shortlisp): Remove utf-8.elc.
15744 (*.o): For many files, change dependency on charset.h to
15745 character.h, and add dependency on character.h.
15746 (character.o, chartab.o): New targets.
15747
15748 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
15749 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
15750 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
15751 of "charset.h".
15752
15753 * dired.c, filelock.c: Include "character.h".
15754
15755 * alloc.c: Include "character.h" instead of "charset.h".
15756 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
15757 (syms_of_alloc): Remove defsubr for Smake_char_table.
15758
15759 * buffer.c: Include "character.h" instead of "charset.h", don't
15760 include "coding.h".
15761 (Fset_buffer_multibyte): Adjust for UTF-8.
15762
15763 * buffer.h: EXFUN Fbuffer_live_p.
15764
15765 * callproc.c: Include "character.h" instead of "charset.h".
15766 (Fcall_process): Big change for the new code-conversion APIs.
15767
15768 * casetab.c: Include "character.h" instead of "charset.h".
15769 (set_canon, set_identity, shuffle): Adjust for the new
15770 map_char_table spec.
15771 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
15772 accessing the char table structure.
15773
15774 * chartab.c: New file that implements char table.
15775
15776 * category.c: Include "character.h".
15777 (copy_category_entry): New function.
15778 (copy_category_table): Call map_char_table and copy_category_entry.
15779 (Fmake_category_table): Initialize all top-level slots.
15780 (char_category_set): New function.
15781 (modify_lower_category_set): Delete.
15782 (Fmodify_category_entry): Call char_table_ref_and_range.
15783
15784 * category.h (CATEGORY_SET): Just call char_category_set.
15785
15786 * ccl.c: Include "character.h".
15787 (Qccl, Qcclp): New variables.
15788 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
15789 it's less than 256.
15790 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
15791 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
15792 and DST type.
15793 (ccl_driver): Change types of argument, adjust code accordingly.
15794 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
15795 ccl_driver.
15796 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
15797
15798 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
15799 New members src_multibyte, dst_multibyte, consumed, and produced.
15800 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
15801 (CODING_SPEC_CCL_PROGRAM): New macro.
15802 (ccl_driver): Update prototype.
15803 (Qccl, Qcclp, Fccl_program_p): Extern them.
15804 (CHECK_CCL_PROGRAM): New macro.
15805
15806 * character.c, character.h, chartab.c: New files.
15807
15808 * charset.c: Mostly re-written. Move character and multibyte sequence
15809 handling codes to character.c.
15810
15811 * charset.h: Mostly re-written. Move character and multibyte sequence
15812 handling codes to character.h.
15813
15814 * coding.c, coding.h: Mostly re-written.
15815
15816 * composite.c: Include "character.h" instead of "charset.h".
15817 (CHAR_WIDTH): Move to character.h.
15818 (HASH_KEY, HASH_VALUE): Delete.
15819
15820 * composite.h (enum composition_method): Change order of enumeration
15821 symbols.
15822
15823 * data.c: Include "character.h" instead of "charset.h".
15824 (Faref): Call CHAR_TABLE_REF for a char table.
15825 (Faset): Call CHAR_TABLE_SET for a char table.
15826
15827 * dispextern.h (free_realized_face, check_face_attribytes)
15828 (generate_ascii_font): Extern them.
15829 (free_realized_multibyte_face): Delete extern.
15830
15831 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
15832 table structure.
15833
15834 * editfns.c: Include "character.h" instead of "charset.h".
15835 (Fchar_to_string): Always call CHAR_STRING.
15836
15837 * emacs.c (main): Call init_charset_once, init_charset,
15838 syms_of_chartab, and syms_of_character.
15839
15840 * fileio.c: Include "character.h" instead of "charset.h".
15841 (Finsert_file_contents): Big change for the new code-conversion API.
15842 (choose_write_coding_system, Fwrite_region): Likewise.
15843 (build_annotations_2): Delete.
15844 (e_write): Big change for the new code-conversion API.
15845
15846 * fns.c: Include "character.h" instead of "charset.h".
15847 (copy_sub_char_table): Move to chartab.c.
15848 (Fcopy_sequence): Call copy_char_table for a char table.
15849 (concat): Delete codes calling count_multibyte.
15850 (string_char_to_byte, string_byte_to_char): Adjust for the new
15851 multibyte form.
15852 (internal_equal): Adjust for the change of char table structure.
15853 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
15854 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
15855 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
15856 (char_table_translate, optimize_sub_char_table)
15857 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
15858 chartab.c.
15859 (char_table_ref_and_index): Delete.
15860 (HASH_KEY, HASH_VALUE): Move to lisp.h.
15861 (Fmd5): Call preferred_coding_system instead of accessing
15862 Vcoding_category_list. Adjust for the new code-conversion API.
15863 (syms_of_fns): Move defsubr for char table related functions to
15864 chartab.c.
15865
15866 * fontset.c: Mostly re-written.
15867
15868 * fontset.h (struct font_info): Change type of the member encoding_type.
15869 (enum FONT_SPEC_INDEX): New enum.
15870 (fontset_font_pattern, fs_load_font): Update prototype.
15871 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
15872
15873 * indent.c: Include "character.h" instead of "charset.h".
15874 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
15875
15876 * insdel.c: Include "character.h" instead of "charset.h".
15877 (copy_text): Don't refer to Vnonascii_translation_table.
15878 (insert_from_gap): New function.
15879
15880 * keyboard.c: Include "character.h" instead of "charset.h".
15881 (command_loop_1): Never call direct_output_forward_char before
15882 a non-ASCII character.
15883 (read_char): If Vkeyboard_translate_table is a char table, always
15884 translate a character.
15885
15886 * keymap.c: Include "character.h".
15887 (store_in_keymap): Handle the case that IDX is a cons.
15888 (Fdefine_key): Handle the case that KEY is a cons and the car part
15889 is also a cons (range).
15890 (push_key_description): Adjust for the new character code.
15891 (describe_vector): Call describe_char_table for a char table.
15892 (describe_char_table): New function.
15893
15894 * keymap.h (describe_char_table): Extern it.
15895
15896 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
15897 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
15898 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
15899 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
15900 Delete.
15901 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
15902 structure.
15903 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
15904 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
15905 (CHARTAB_SIZE_BITS_3): New macros.
15906 (chartab_size): Extern it.
15907 (struct Lisp_Char_Table): Re-design.
15908 (struct Lisp_Sub_Char_Table): New structure.
15909 (HASH_KEY, HASH_VALUE): Move from fns.c.
15910 (CHARACTERBITS): Define as 22.
15911 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
15912 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
15913 (GC_SUB_CHAR_TABLE_P): New macro.
15914 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
15915 (code_convert_string_norecord): Deleted extern.
15916 (init_character_once, syms_of_character, init_charset)
15917 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
15918
15919 * lread.c: Include "character.h".
15920 (read_multibyte): New arg NBYTES.
15921 (read_escape): Change the meaning of returned *BYTEREP.
15922 (to_multibyte): Delete.
15923 (read1): Adjust the handling of char table and string.
15924
15925 * print.c: Include "character.h" instead of "charset.h".
15926 (print_string): Convert 8-bit raw bytes to octal form by
15927 string_escape_byte8.
15928 (print_object): Adjust for the new multibyte form. Print 8-bit
15929 raw bytes always in octal form. Handle sub char table correctly.
15930
15931 * process.c: Include "character.h" instead of "charset.h".
15932 (read_process_output, send_process): Adjust for the new
15933 code-conversion API.
15934
15935 * puresize.h (BASE_PURESIZE): Increase.
15936
15937 * regex.c: Include "character.h" instead of "charset.h".
15938 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
15939 (regex_compile): Accept a range whose starting and ending
15940 character have different leading bytes.
15941 (analyse_first): Adjust for the above change.
15942
15943 * search.c: Include "character.h" instead of "charset.h".
15944 (search_buffer, boyer_moore): Adjust for the new multibyte form.
15945 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
15946
15947 * syntax.c: Include "character.h" instead of "charset.h".
15948 (syntax_parent_lookup): Delete.
15949 (Fmodify_syntax_entry): Accept a cons as CHAR.
15950 (skip_chars): Adjust for the new multibyte form.
15951 (init_syntax_once): Call char_table_set_range instead of directly
15952 accessing the structure of a char table.
15953
15954 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
15955 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
15956 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
15957 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
15958
15959 * term.c: Include "buffer.h" and "character.h".
15960 (encode_terminal_code, write_glyphs): Adjust for the new
15961 code-conversion API.
15962 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
15963
15964 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
15965
15966 * xdisp.c: Include "character.h".
15967 (get_next_display_element): Adjust for the new multibyte form.
15968 (disp_char_vector): Adjust for the new char table structure.
15969 (decode_mode_spec_coding): Adjust for the new structure of
15970 coding system.
15971 (decode_mode_spec): Adjust for the new code-conversion API.
15972
15973 * xfaces.c: Include "character.h" instead of "charset.h".
15974 (load_face_font): Adjust for the change of choose_face_font and
15975 FS_LOAD_FONT.
15976 (generate_ascii_font): New function.
15977 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
15978 (set_font_frame_param): Adjust for the change of choose_face_font.
15979 (free_realized_face): Make it public.
15980 (free_realized_faces_for_fontset): Rename from
15981 free_realized_multibyte_face. Free also faces realized for ASCII.
15982 (choose_face_font): Change arguments. Adjust for the change of
15983 fontset_font_pattern and FS_LOAD_FONT.
15984
15985 * xfns.c: Include "character.h".
15986 (x_encode_text): Adjust for the new code-conversion API.
15987
15988 * xselect.c: Don't include "charset.h".
15989 (selection_data_to_lisp_data): Adjust for the new code conversion API.
15990
15991 * xterm.c: Include "character.h".
15992 (x_encode_char): New argument CHARSET. Change caller.
15993 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
15994 Call ENCODE_CHAR instead of SPLIT_CHAR.
15995 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
15996 CHAR_WIDTH instead of CHARSET_WIDTH.
15997 (XTread_socket): Adjust for the new code-conversion API.
15998 (x_new_font): Adjust for the change of FS_LOAD_FONT.
15999 (x_load_font): Adjust for the change of struct font.
16000
160012008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
16002
16003 * xfaces.c (face_at_buffer_position): Remove unused vars.
16004
160052008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16006
16007 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
16008 Fix overflow checking.
16009
160102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16011
16012 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
16013 Cancel previous change.
16014
160152008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16016
16017 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
16018 ccl->eight_bit_control. Fix check for buffer overflow.
16019 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
16020 (ccl_driver): Initialize extra_bytes to 0.
16021
160222008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16023
16024 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
16025 return it ORed with ctrl_modifier.
16026
160272008-01-29 Miles Bader <miles@gnu.org>
16028
16029 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
16030
160312008-01-28 Jason Rumney <jasonr@gnu.org>
16032
16033 * w32.c (stat): Don't double check for networked drive.
16034
160352008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
16036
16037 * window.c (run_window_configuration_change_hook): New function.
16038 Code extracted from set_window_buffer. Set the selected frame.
16039 (set_window_buffer): Use it.
16040 * window.h (run_window_configuration_change_hook): Declare.
16041 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
16042
16043 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
16044
160452008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
16046
16047 * Makefile.in: Remove references to unused macros.
16048
160492008-01-26 Eli Zaretskii <eliz@gnu.org>
16050
16051 * w32.c (g_b_init_get_sid_sub_authority)
16052 (g_b_init_get_sid_sub_authority_count): New static variables.
16053 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
16054 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
16055 (init_user_info): Use them to retrieve uid and gid.
16056 Use 500/513, the Windows defaults, as Administrator's uid/gid.
16057 (fstat): Use pw_uid and pw_gid from the_passwd structure for
16058 st_uid and st_gid of the file.
16059
160602008-01-26 Jason Rumney <jasonr@gnu.org>
16061
16062 * w32.c (logon_network_drive): New function.
16063 (stat): Use it.
16064
160652008-01-26 Chong Yidong <cyd@stupidchicken.com>
16066
16067 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
16068 invisible text covered with an ellipsis.
16069
160702008-01-25 Richard Stallman <rms@gnu.org>
16071
16072 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
16073 jump back to beginning. Move some other initializations after that.
16074 (Qwindow_text_change_functions, Vwindow_text_change_functions):
16075 New variables.
16076 (syms_of_xdisp): Init them.
16077
16078 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
16079
16080 * buffer.c (reset_buffer_local_variables):
16081 Implement `permanent-local-hook'.
16082 (Qpermanent_local_hook): New variable.
16083 (syms_of_buffer): Init and staticpro it.
16084
160852008-01-25 Michael Albinus <michael.albinus@gmx.de>
16086
16087 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
16088
160892008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
16090
16091 * fns.c (Fclrhash): Return TABLE.
16092
160932008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16094
16095 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
16096 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
16097 is set even without positional changes.
16098 (x_scroll_bar_clear): Set bar->redraw_needed_p.
16099
16100 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
16101
161022008-01-23 Jason Rumney <jasonr@gnu.org>
16103
16104 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
16105
16106 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
16107 the unicode range available in MULE by locale-coding-system.
16108 Improve dbcs lead byte detection. Set event timestamp and modifiers
16109 earlier.
16110
161112008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16112
16113 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
16114 [MAC_OSX] (init_mac_osx_environment): Initialize it.
16115 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
16116 when used on child processes.
16117
161182008-01-21 Michael Albinus <michael.albinus@gmx.de>
16119
16120 * dbusbind.c (Fdbus_method_return_internal): Rename from
16121 Fdbus_method_return.
16122 (Fdbus_unregister_object): Move to dbus.el.
16123 (Fdbus_call_method, Fdbus_method_return_internal)
16124 (Fdbus_send_signal): Improve debug messages.
16125
161262008-01-20 Martin Rudalics <rudalics@gmx.at>
16127
16128 * undo.c (undo_inhibit_record_point): New variable.
16129 (syms_of_undo): Initialize it.
16130 (record_point): Don't record point when undo_inhibit_record_point
16131 is set.
16132
161332008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
16134
16135 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
16136
16137 * xdisp.c (Qauto_hscroll_mode): New var.
16138 (syms_of_xdisp): Initialize it.
16139 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
16140 window's buffer.
16141 (hscroll_windows): Don't check automatic_hscrolling_p here.
16142
16143 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
16144 vscroll if we're setting window-buffer to the value it already has.
16145
161462008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
16147
16148 * m/intel386.h: Remove references to XENIX.
16149
161502008-01-17 Andreas Schwab <schwab@suse.de>
16151
16152 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
16153 instead of HAVE_X86_64_LIB64_DIR.
16154 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
16155
161562008-01-17 Glenn Morris <rgm@gnu.org>
16157
16158 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
16159 to HAVE_X86_64_LIB64_DIR.
16160
161612008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
16162
16163 * s/irix3-3.h:
16164 * s/irix4-0.h:
16165 * s/386-ix.h:
16166 * s/domain.h:
16167 * s/hpux9-x11r4.h:
16168 * s/hpux9shxr4.h: Remove files for systems no longer supported.
16169
16170 * sysdep.c: Remove code containing references to symbols defined
16171 by unsupported systems.
16172
161732008-01-16 Glenn Morris <rgm@gnu.org>
16174
16175 * coding.c (select-safe-coding-system-function): Doc fix.
16176
161772008-01-15 Glenn Morris <rgm@gnu.org>
16178
16179 * config.in: Revert 2008-01-13 change: this is a generated file.
16180
161812008-01-13 Tom Tromey <tromey@redhat.com>
16182
16183 * lisp.h: Fix typo.
16184
161852008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16186
16187 * m/sequent-ptx.h:
16188 * m/sequent.h:
16189 * s/ptx.h:
16190 * s/ptx4-2.h:
16191 * s/ptx4.h: Remove files for systems no longer supported.
16192
16193 * callproc.c (Fcall_process): Fix previous change.
16194
161952008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16196
16197 * unexsunos4.c: Remove file, system not supported anymore.
16198
16199 * m/mips.h:
16200 * m/intel386.h:
16201 * callproc.c:
16202 * config.in:
16203 * ecrt0.c:
16204 * emacs.c:
16205 * fileio.c:
16206 * frame.c:
16207 * getpagesize.h:
16208 * keyboard.c:
16209 * lread.c:
16210 * process.c:
16211 * puresize.h:
16212 * sysdep.c:
16213 * systty.h:
16214 * syswait.h:
16215 * unexec.c:
16216 * xdisp.c:
16217 * alloc.c: Remove code containing references to symbols defined by
16218 unsupported systems.
16219
162202008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
16221
16222 * coding.c (detect_coding_mask): Fix previous change.
16223
162242008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
16225
16226 * coding.c (detect_coding_iso2022): New arg
16227 latin_extra_code_state. Allow Latin extra codes only
16228 when *latin_extra_code_state is nonzero.
16229 (detect_coding_mask): If there is a NULL byte, detect the encoding
16230 as UTF-16 or binary. If Latin extra codes exist, detect the
16231 encoding as ISO-2022 only when there's no other proper encoding is
16232 found.
16233
162342008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16235
16236 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
16237 #ifdef MAC_OS.
16238
162392008-01-08 Richard Stallman <rms@gnu.org>
16240
16241 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
16242
162432008-01-06 Nick Roberts <nickrob@snap.net.nz>
16244
16245 * keyboard.c (parse_menu_item): Don't enclose key bindings on
16246 menu bar in parentheses.
16247
162482008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
16249
16250 * m/7300.h:
16251 * m/acorn.h:
16252 * m/alliant-2800.h:
16253 * m/alliant.h:
16254 * m/alliant1.h:
16255 * m/alliant4.h:
16256 * m/altos.h:
16257 * m/amdahl.h:
16258 * m/apollo.h:
16259 * m/att3b.h:
16260 * m/aviion-intel.h:
16261 * m/aviion.h:
16262 * m/celerity.h:
16263 * m/clipper.h:
16264 * m/cnvrgnt.h:
16265 * m/convex.h:
16266 * m/cydra5.h:
16267 * m/delta88k.h:
16268 * m/dpx2.h:
16269 * m/dual.h:
16270 * m/elxsi.h:
16271 * m/f301.h:
16272 * m/gould-np1.h:
16273 * m/gould.h:
16274 * m/i860.h:
16275 * m/ibmps2-aix.h:
16276 * m/ibmrt-aix.h:
16277 * m/ibmrt.h:
16278 * m/irist.h:
16279 * m/is386.h:
16280 * m/isi-ov.h:
16281 * m/mega68.h:
16282 * m/mg1.h:
16283 * m/news-r6.h:
16284 * m/news-risc.h:
16285 * m/news.h:
16286 * m/nh3000.h:
16287 * m/nh4000.h:
16288 * m/ns16000.h:
16289 * m/ns32000.h:
16290 * m/nu.h:
16291 * m/orion.h:
16292 * m/orion105.h:
16293 * m/paragon.h:
16294 * m/pfa50.h:
16295 * m/plexus.h:
16296 * m/pyramid.h:
16297 * m/pyrmips.h:
16298 * m/sh3el.h:
16299 * m/sps7.h:
16300 * m/sr2k.h:
16301 * m/stride.h:
16302 * m/sun1.h:
16303 * m/sun2.h:
16304 * m/sun3-68881.h:
16305 * m/sun3-fpa.h:
16306 * m/sun3-soft.h:
16307 * m/sun3.h:
16308 * m/sun386.h:
16309 * m/symmetry.h:
16310 * m/tad68k.h:
16311 * m/tahoe.h:
16312 * m/targon31.h:
16313 * m/tek4300.h:
16314 * m/tekxd88.h:
16315 * m/tower32.h:
16316 * m/tower32v3.h:
16317 * m/ustation.h:
16318 * m/wicat.h:
16319 * m/xps100.h:
16320 * s/cxux.h:
16321 * s/cxux7.h:
16322 * s/dgux.h:
16323 * s/dgux4.h:
16324 * s/dgux5-4-3.h:
16325 * s/dgux5-4r2.h:
16326 * s/esix.h:
16327 * s/esix5r4.h:
16328 * s/hiuxmpp.h:
16329 * s/hiuxwe2.h:
16330 * s/iris3-5.h:
16331 * s/iris3-6.h:
16332 * s/isc2-2.h:
16333 * s/isc3-0.h:
16334 * s/isc4-0.h:
16335 * s/isc4-1.h:
16336 * s/newsos5.h:
16337 * s/newsos6.h:
16338 * s/osf1.h:
16339 * s/osf5-0.h:
16340 * s/riscix1-1.h:
16341 * s/riscix12.h:
16342 * s/sco4.h:
16343 * s/sco5.h:
16344 * s/sunos4-0.h:
16345 * s/sunos4-1.h:
16346 * s/sunos413.h:
16347 * s/sunos4shr.h:
16348 * s/umax.h:
16349 * s/unipl5-2.h:
16350 * s/xenix.h:
16351 * cxux-crt0.s:
16352 * unexapollo.c:
16353 * unexconvex.c:
16354 * unexenix.c:
16355 * unexsni.c: Remove files for systems no longer supported.
16356
16357 * m/intel386.h: Remove references to unsupported systems.
16358
16359 * w32.c (get_emacs_configuration): Remove reference to i860.
16360
16361 * sysdep.c: Remove dead code.
16362
163632008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
16364
16365 * s/rtu.h:
16366 * m/masscomp.h: Remove files. Platform is obsolete.
16367
163682008-01-04 Michael Albinus <michael.albinus@gmx.de>
16369
16370 * dbusbind.c (Fdbus_method_return): New function.
16371 (xd_read_message): Add the serial number to the event.
16372 (Fdbus_register_method): Activate the function.
16373
163742008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
16375
16376 * keyboard.c (read_key_sequence): Fix typo.
16377
163782008-01-03 Michael Albinus <michael.albinus@gmx.de>
16379
16380 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
16381 (xd_signature, xd_append_arg): Handle element type detection for
16382 empty arrays.
16383 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
16384 SDATA () calls; this must be solved more general.
16385 (Fdbus_register_signal): Use SBYTES instead of strlen.
16386
163872008-01-03 Magnus Henoch <magnus@zemdatav>
16388
16389 * dbusbind.c (xd_append_arg): Use unsigned char instead of
16390 unsigned int for byte values (necessary for big-endian platform).
16391 (Fdbus_call_method): Handle the case of no returned arguments.
16392
163932007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
16394
16395 * dbusbind.c (xd_read_message): Use non-static input_event struct.
16396
163972007-12-31 Magnus Henoch <mange@freemail.hu>
16398
16399 * dbusbind.c (xd_signature): Signature of variant is just "v".
16400
164012007-12-30 Michael Albinus <michael.albinus@gmx.de>
16402
16403 * dbusbind.c: Fix several errors and compiler warnings.
16404 Reported by Tom Tromey <tromey@redhat.com>.
16405 (XD_ERROR, XD_DEBUG_MESSAGE)
16406 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
16407 (xd_append_arg): Part for basic D-Bus types rewritten.
16408 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
16409 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
16410 appropriate.
16411 (xd_read_message): Return Qnil. Don't signal an error; it is not
16412 useful during event reading.
16413 (Fdbus_register_signal): Signal an error if the check for
16414 FUNCTIONP fails.
16415 (Fdbus_register_method): New function. The implementation is not
16416 complete, the call of the function signals an error therefore.
16417 (Fdbus_unregister_object): New function, renamed from
16418 Fdbus_unregister_signal. The initial check signals an error, if
16419 the object is not well formed.
16420
164212007-12-30 Richard Stallman <rms@gnu.org>
16422
16423 * textprop.c (get_char_property_and_overlay):
16424 Signal error if POSITION is out of range in a buffer.
16425
164262007-12-29 Martin Rudalics <rudalics@gmx.at>
16427
16428 * w32fns.c (Fx_create_frame): Make copy of frame parameters
16429 because the original parameters are in pure storage now.
16430
164312007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16432
16433 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
16434
164352007-12-22 Eli Zaretskii <eliz@gnu.org>
16436
16437 * callint.c (syms_of_callint) <command-history>: Add reference to
16438 history-length in the doc string.
16439
164402007-12-17 Jason Rumney <jasonr@gnu.org>
16441
16442 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
16443 before passing as wParam.
16444
164452007-12-22 Michael Albinus <michael.albinus@gmx.de>
16446
16447 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
16448 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
16449 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
16450 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
16451 as number.
16452 (Fdbus_call_method): Fix docstring.
16453
164542007-12-21 Michael Albinus <michael.albinus@gmx.de>
16455
16456 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
16457 New macros.
16458 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
16459 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
16460 Simplify.
16461 (xd_signature): New function.
16462 (xd_append_arg): Compute also signatures. Major rewrite.
16463 (xd_retrieve_arg): Make debug messages friendly.
16464 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
16465 Check for signatures of arguments.
16466
164672007-12-19 Michael Albinus <michael.albinus@gmx.de>
16468
16469 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
16470 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
16471 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
16472 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
16473 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
16474 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
16475 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
16476 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
16477 (xd_retrieve_value): Remove. Functionality included in ...
16478 (xd_append_arg): New function.
16479 (Fdbus_call_method, Fdbus_send_signal): Apply it.
16480
164812007-12-16 Michael Albinus <michael.albinus@gmx.de>
16482
16483 * dbusbind.c (top): Include <stdio.h>.
16484 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
16485 dbus_message_new_method_call and dbus_message_new_signal.
16486 (Fdbus_register_signal): Rename unique_name to uname.
16487 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
16488 non-existing unique name. Fix typos in matching rule. Return an
16489 object which is useful in Fdbus_unregister_signal.
16490 (Fdbus_unregister_signal): Reimplementation, in order to remove
16491 only the corresponding entry.
16492 (Vdbus_registered_functions_table): Change the order of entries.
16493 Apply these changes in xd_read_message and Fdbus_register_signal.
16494
164952007-12-16 Andreas Schwab <schwab@suse.de>
16496
16497 * fileio.c (Finsert_file_contents): Fix overflow check to not
16498 depend on undefined integer overflow.
16499
165002007-12-14 Jason Rumney <jasonr@gnu.org>
16501
16502 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
16503 for characters above 127.
16504
165052007-12-13 Jason Rumney <jasonr@gnu.org>
16506
16507 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
16508 before dereferencing array.
16509 (lookup_vk_code): Remove zero comparison.
16510
165112007-12-14 Michael Albinus <michael.albinus@gmx.de>
16512
16513 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
16514 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
16515 Use `unsigned int' instead of `uint'.
16516 (xd_read_message, Fdbus_register_signal): Split expressions into
16517 multiple lines before operators "&&" and "||", according to the
16518 GNU Coding Standards.
16519
165202007-12-14 Eli Zaretskii <eliz@gnu.org>
16521
16522 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
16523
165242007-12-12 Juri Linkov <juri@jurta.org>
16525
16526 * buffer.c (Frename_buffer): In interactive spec replace
16527 `read-buffer' with `read-string' that uses `buffer-name-history'
16528 as history, and the current buffer's name as default.
16529
165302007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
16531
16532 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
16533 manipulating the backtrace manually.
16534 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
16535 (struct backtrace, backtrace_list): Remove.
16536 (command_loop_1): Remove dead var `no_direct'.
16537
16538 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
16539 preserve non-built-in buffer-local variables.
16540 (Fkill_all_local_variables): Don't re-create&re-set permanent
16541 buffer-local variables.
16542
165432007-12-09 Juri Linkov <juri@jurta.org>
16544
16545 * buffer.c (Frename_buffer): Change interactive spec from "s" to
16546 Lisp code that uses `read-buffer' with current buffer as default.
16547
165482007-12-08 Michael Albinus <michael.albinus@gmx.de>
16549
16550 * dbusbind.c (xd_read_message): Generate an event for every
16551 registered handler. There might be several handlers registered
16552 for the same signal.
16553 (Fdbus_register_signal): Don't overwrite a registration for the
16554 same signal. Add a new registration if handlers are different.
16555 (Vdbus_registered_functions_table): Rework doc string.
16556
165572007-12-07 Michael Albinus <michael.albinus@gmx.de>
16558
16559 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
16560 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
16561 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
16562 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
16563 Unify argument lists.
16564 (xd_read_message, Fdbus_register_signal): Reorder and extend event
16565 arguments and hash table keys. Use unique name for service.
16566 (Fdbus_unregister_signal): Remove checks.
16567 (Vdbus_registered_functions_table): Fix doc string.
16568
165692007-12-05 Magnus Henoch <mange@freemail.hu>
16570
16571 * process.c (make_process): Initialize pty_flag to 0.
16572
165732007-12-05 Jason Rumney <jasonr@gnu.org>
16574
16575 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
16576 specified XBMs.
16577
165782007-12-05 Richard Stallman <rms@gnu.org>
16579
16580 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
16581
165822007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16583
16584 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
16585 New variable.
16586 (mac_try_close_socket) [MAC_OSX]: New function.
16587 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
16588 Update cfsockets_for_select. Replace invalid CFRunLoop source.
16589
16590 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
16591 Use mac_try_close_socket.
16592
165932007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16594
16595 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
16596 reloc_base.
16597 (copy_dysymtab): Compute relocation base here.
16598 (rebase_reloc_address) [__ppc64__]: New function.
16599 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
16600 changed.
16601
166022007-12-05 Jason Rumney <jasonr@gnu.org>
16603
16604 * w32proc.c (sys_spawnve): Quote args with wildcards.
16605
166062007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16607
16608 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
16609 __objc_* sections.
16610 (unrelocate) [_LP64]: Set relocation base to address of data segment.
16611
166122007-12-05 Michael Albinus <michael.albinus@gmx.de>
16613
16614 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
16615 Move check for Vdbus_registered_functions_table to
16616 xd_read_queued_messages.
16617 (xd_read_queued_messages): Protect xd_read_message calls by
16618 internal_condition_case_1.
16619
166202007-12-04 Michael Albinus <michael.albinus@gmx.de>
16621
16622 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
16623 Qdbus_system_bus and Qdbus_session_bus, respectively.
16624 (Vdbus_intern_symbols): Remove.
16625 (Vdbus_registered_functions_table): New hash table.
16626 (XD_SYMBOL_INTERN_SYMBOL): Remove.
16627 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
16628 Rewrite in order to manage registered functions by hash table
16629 Vdbus_registered_functions_table.
16630
166312007-12-03 Jan Djärv <jan.h.d@swipnet.se>
16632
16633 * xterm.c: Update URL to Window Manager Specification in comment.
16634
166352007-12-02 Michael Albinus <michael.albinus@gmx.de>
16636
16637 * config.in (HAVE_DBUS): Add.
16638
16639 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
16640 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
16641 (obj): Add $(DBUS_OBJ).
16642 (LIBES): Add $(DBUS_LIBS).
16643 (dbusbind.o): New target.
16644
16645 * dbusbind.c: New file.
16646
16647 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
16648
16649 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
16650 (Qdbus_event): New Lisp symbol.
16651 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
16652 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 16653 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
16654
16655 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
16656
166572007-12-01 Richard Stallman <rms@gnu.org>
16658
16659 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
16660
166612007-11-30 Jason Rumney <jasonr@gnu.org>
16662
16663 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
16664 (w32con_reset_terminal_modes): Clear screen buffer.
16665 (w32_face_attributes): Don't use color indexes that are out of range.
16666 Only reverse the default colors.
16667
16668 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
16669 WINDOWSNT.
16670
16671 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
16672
166732007-11-29 Jason Rumney <jasonr@gnu.org>
16674
16675 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
16676 (w32_face_attributes): Use Vtty_defined_color_alist to determine
16677 if the terminal colors are initialized.
16678 (unspecified_fg, unspecified_bg): Remove unused declarations.
16679
166802007-11-29 Andreas Schwab <schwab@suse.de>
16681
16682 * keyboard.c (apply_modifiers): Fix typo.
16683
166842007-11-29 Richard Stallman <rms@gnu.org>
16685
16686 * keymap.c (Fcurrent_local_map): Doc fix.
16687
166882007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
16689
16690 * s/gnu-kfreebsd.h: New file.
16691
166922007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
16693
16694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
16695 Don't cast redundantly.
16696
16697 * keyboard.c (KEY_TO_CHAR): New macro.
16698 (parse_modifiers, apply_modifiers): Accept integer arguments.
16699 (read_key_sequence): Use them to unify the "shift->unshift" mapping
16700 for chars and symbol keys.
16701 After doing such remapping, apply function-key-map again.
16702
167032007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
16704
16705 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
16706 compiled anymore.
16707
167082007-11-26 Andreas Schwab <schwab@suse.de>
16709
16710 * process.c (list_processes_1): Fix indentation level of the
16711 command column.
16712
167132007-11-23 Andreas Schwab <schwab@suse.de>
16714
16715 * editfns.c (Fformat): Handle %c specially since it requires the
16716 argument to be of type int.
16717
167182007-11-23 Markus Triska <markus.triska@gmx.at>
16719
16720 * emacs.c (main): Call init_editfns before init_process, since
16721 init_process sets Vprocess_connection_type depending on OS release.
16722
167232007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
16724
16725 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
16726 (find_symbol_value): Use do_symval_forwarding.
16727
16728 * data.c (set_internal): Set the value in the `cons-cell' (for
16729 Buffer_Local_values) not only for frame-local variables.
16730
167312007-11-22 Andreas Schwab <schwab@suse.de>
16732
16733 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
16734 values to sprintf.
16735 * keymap.c (Fsingle_key_description): Likewise.
16736 * print.c (print_object): Likewise.
16737
167382007-11-22 Jan Djärv <jan.h.d@swipnet.se>
16739
16740 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
16741 file for image is nil.
16742
167432007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
16744
16745 * term.c: Include stdarg.h.
16746 (fatal): Implement using varargs.
16747 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
16748
167492007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
16750
16751 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
16752 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
16753 Update call to buffer_slot_type_mismatch.
16754 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
16755 (buffer_slot_type_mismatch): Update.
16756 * buffer.c (buffer_local_types): Remove.
16757 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
16758 (defvar_per_buffer): Set the type in the buffer_objfwd.
16759
167602007-11-21 Jason Rumney <jasonr@gnu.org>
16761
16762 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
16763 CreateFileMapping returns NULL on failure.
16764
167652007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
16766
16767 * search.c (Fset_match_data): Remove the `evaporate' feature.
16768 (unwind_set_match_data): Don't use the `evaporate' feature.
16769
167702007-11-21 Jason Rumney <jasonr@gnu.org>
16771
16772 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
16773
16774 * w32console.c (w32con_write_glyphs): Remove unused variables.
16775
167762007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
16777
16778 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
16779
16780 * s/darwin.h (MULTI_KBOARD): Remove.
16781
16782 * macfns.c (x_create_tip_frame, Fx_create_frame)
16783 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
16784
167852007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
16786
16787 * buffer.c (Fbuffer_local_value): Remove redundant test.
16788 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
16789 than in `current-buffer' to match the comment.
16790 Do the swap using swap_in_global_binding.
16791
16792 * data.c (store_symval_forwarding, set_internal):
16793 * eval.c (specbind): Remove dead code.
16794
16795 * coding.c (detect_coding, Fupdate_coding_systems_internal):
16796 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
16797 Since we do not want to see internal Lisp_*fwd objects here.
16798
167992007-11-18 Jan Djärv <jan.h.d@swipnet.se>
16800
16801 * sysdep.c (init_system_name): Use getaddrinfo if available.
16802
16803 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
16804 (x_scroll_bar_note_movement): start, end, with, height in struct
16805 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
16806
168072007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
16808
16809 * puresize.h (BASE_PURESIZE): Increase to 1190000.
16810
168112007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
16812
16813 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
16814 This undoes Richard's change of 14-Oct-2002.
16815
16816 * alloc.c (allocate_other_vector):
16817 * lisp.h (allocate_other_vector): Remove.
16818
16819 * window.c (struct save_window_data): Move non-lisp data to the end
16820 and make it `int' rather than Lisp_Object.
16821 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
16822 Done wrap/unwrap integer values.
16823 (Fset_window_configuration, compare_window_configurations):
16824 Update use of fields to their new types.
16825
16826 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
16827 Turn integer fields into `int'. Merge x_window_low and x_window_high.
16828 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
16829 (SET_SCROLL_BAR_X_WINDOW): Remove.
16830 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
16831 Access the new x_window field directly.
16832 * xterm.c (x_scroll_bar_create): Use a pseudovector.
16833 Don't wrap/unwrap integers into Lisp_Objects.
16834 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
16835 (x_scroll_bar_report_motion):
16836 Don't wrap/unwrap integers into Lisp_Objects.
16837 (x_term_init): Use SDATA.
16838 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
16839 (x_scroll_bar_set_handle, x_scroll_bar_remove)
16840 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
16841 (x_scroll_bar_report_motion, x_scroll_bar_clear):
16842 * xfns.c (x_set_background_color):
16843 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
16844 Access the new x_window field directly.
16845
16846 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
16847 (allocate_pseudovector): Make non-static.
16848
16849 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
16850 (allocate_pseudovector): Declare.
16851 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
16852
168532007-11-15 Andreas Schwab <schwab@suse.de>
16854
16855 * editfns.c (Fformat): Correctly format EMACS_INT values.
16856 Also take precision into account when formatting an integer.
16857
16858 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
16859
168602007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
16861
16862 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
16863 (syms_of_keyboard): Defsubr it.
16864
16865 * data.c (swap_in_global_binding): Fix longstanding bug where
16866 store_symval_forwarding was not called with the right second argument,
16867 thus causing objfwd-ing from being dropped.
16868
168692007-11-14 Juanma Barranquero <lekktu@gmail.com>
16870
16871 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
16872 (Fx_display_pixel_height, Fx_display_planes)
16873 (Fx_display_color_cells, Fx_server_max_request_size)
16874 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16875 (Fx_display_visual_class, Fx_display_save_under):
16876 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
16877 (Fx_display_pixel_height, Fx_display_planes)
16878 (Fx_display_color_cells, Fx_server_max_request_size)
16879 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
16880 (Fx_display_mm_height, Fx_display_mm_width)
16881 (Fx_display_backing_store, Fx_display_visual_class)
16882 (Fw32_select_font, Fx_display_save_under):
16883 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
16884 (Fx_display_pixel_height, Fx_display_planes)
16885 (Fx_display_color_cells, Fx_server_max_request_size)
16886 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16887 (Fx_display_save_under): Fix typos in docstrings.
16888
168892007-11-14 Juanma Barranquero <lekktu@gmail.com>
16890
16891 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
16892 corresponding to deleted entries; they are an implementation detail.
16893 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
16894 Remove variables.
16895 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
16896 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
16897 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
16898 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
16899 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
16900 (Fw32_define_rgb_color, Fw32_load_color_file)
16901 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
16902 Fix typos in docstrings.
16903 (Fx_server_version): Reflow docstring.
16904 (Fw32_shell_execute): Doc fixes.
16905
169062007-11-13 Juanma Barranquero <lekktu@gmail.com>
16907
16908 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
16909 if w32_parse_hot_key returned nil.
16910
169112007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
16912
16913 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
16914
169152007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 16916
aac0c6e3
MR
16917 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
16918
16919 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
16920
16921 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
16922 Remove W32_SCROLL_BAR_CLICK_EVENT.
16923
16924 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
16925 Add MULTIMEDIA_KEY_EVENT.
16926
16927 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
16928 (lispy_multimedia_keys) [WINDOWSNT]: New array.
16929 (make_lispy_event) [WINDOWSNT]: Use it to translate
16930 MULTIMEDIA_KEY_EVENT.
16931
16932 * w32term.h (WM_APPCOMMAND): Define if not already.
16933 (GET_APPCOMMAND_LPARAM): Likewise.
16934
16935 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
16936 WM_APPCOMMAND.
16937
16938 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
16939 (syms_of_w32fns): Export and initialize it.
16940 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
16941
169422007-11-09 Chong Yidong <cyd@stupidchicken.com>
16943
16944 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
16945 twice.
16946
16947 * xdisp.c (handle_face_prop): Fix last change.
16948
169492007-11-09 Richard Stallman <rms@gnu.org>
16950
16951 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
16952 not just for after-strings and before-strings.
16953 Call face_for_overlay_string and pass the overlay to it.
16954 (handle_display_prop): Determine whether property came from an overlay.
16955 Pass OVERLAY arg to handle_single_display_spec.
16956 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
16957 (load_overlay_strings): Fill in it->string_overlays.
16958 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
16959
16960 * xfaces.c (face_for_overlay_string): Function renamed from
16961 face_at_buffer_position_no_overlays, and add arg OVERLAY.
16962
16963 * dispextern.h (struct it): New elt string_overlays.
16964 New elt from_overlay, also in stack.
16965 Rearrange a few elements.
16966 (face_for_overlay_string): Decl renamed from
16967 face_at_buffer_position_no_overlays, and add argument.
16968
169692007-11-09 Richard Stallman <rms@gnu.org>
16970
16971 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
16972 to get the base face for an overlay string.
16973
16974 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
16975
16976 * xfaces.c (face_at_buffer_position_no_overlays): New function.
16977
16978 * xdisp.c (handle_stop): Move some code out of loop.
16979
169802007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16981
16982 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
16983 Fix conversion from Lisp object to ATSUFontID.
16984
169852007-11-09 Jason Rumney <jasonr@gnu.org>
16986
16987 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
16988
169892007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16990
16991 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
16992 Don't assume regions are aligned to page boundary.
16993 (print_load_command_name): Add LC_UUID if defined.
16994
169952007-11-09 Richard Stallman <rms@gnu.org>
16996
16997 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
16998
169992007-11-07 Jason Rumney <jasonr@gnu.org>
17000
17001 * s/windows95.h: Remove.
17002
170032007-11-06 Jan Djärv <jan.h.d@swipnet.se>
17004
17005 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
17006 abort with a message on unhandled store_type values.
17007
170082007-11-01 Jan Djärv <jan.h.d@swipnet.se>
17009
17010 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
17011 Remove HAVE_X11R5 and HAVE_X11R4.
17012
170132007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17014
17015 * Makefile.in: Remove references to sunfns.c and sunfns.o.
17016
170172007-11-01 Johan Bockgård <bojohan@gnu.org>
17018
17019 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
17020 Don't set s->stippled_p here, since it has already been set by
17021 x_set_glyph_string_gc from x_draw_glyph_string.
17022
170232007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17024
17025 * sunfns.c: Remove file.
17026
17027 * m/sun386.h:
17028 * m/sun2.h:
17029 * m/sparc.h: Remove Sun windows code.
17030
170312007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
17032
17033 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
17034 (init_keyboard): Set current_kboard's window-system to nil.
17035 (tty_read_avail_input): Typo.
17036 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
17037
170382007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
17039
17040 * s/usg5-4.h:
17041 * s/usg5-3.h:
17042 * s/ptx.h:
17043 * m/is386.h:
17044 * m/ibmps2-aix.h:
17045 * Makefile.in: Remove all mentions of X10.
17046
17047 * dispnew.c (syms_of_display): Don't mention version 10.
17048
170492007-10-28 Juanma Barranquero <lekktu@gmail.com>
17050
17051 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
17052 ($(BLD)/abbrev.$(O)): Remove.
17053
170542007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
17055
17056 Rewrite abbrev.c in Elisp.
17057 * image.c (Qcount): Don't declare as extern.
17058 (syms_of_image): Initialize and staticpro `Qcount'.
17059 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
17060 * emacs.c (main): Don't call syms_of_abbrev.
17061 * Makefile.in (obj): Remove abbrev.o.
17062 (abbrev.o): Remove.
17063 * abbrev.c: Remove.
17064
170652007-10-26 Martin Rudalics <rudalics@gmx.at>
17066
17067 * window.c (window_min_size_2): Don't count header-line.
17068
170692007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
17070
17071 * frame.h (struct frame): Move all bit fields after the first bit
17072 field to take advantage of the available space. Group all the
17073 chars together to reduce wasted space due to padding.
17074
170752007-10-26 Juanma Barranquero <lekktu@gmail.com>
17076
17077 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
17078
17079 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
17080 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
17081 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
17082 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
17083 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
17084 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
17085 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
17086 (last_marked, mark_object_loop_halt): Make static.
17087
17088 * frame.c (syms_of_frame) <delete-frame-functions>:
17089 Fix typo in docstring.
17090
170912007-10-25 Juanma Barranquero <lekktu@gmail.com>
17092
17093 * w32.c (init_environment): Fix tiny memory leak.
17094 (w32_get_resource): Remove unused variable `ok'.
17095
170962007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
17097
17098 Make `window-system' into a keyboard-local variable (rather than
17099 frame-local as done originally by multi-tty).
17100
17101 * keyboard.h (struct kboard): Add Vwindow_system.
17102 * keyboard.c (init_kboard): Set a default for Vwindow_system.
17103 (mark_kboards): Mark Vwindow_system.
17104
17105 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
17106 (init_display): Don't set the obsolete `window-system' frame-param.
17107
17108 * xterm.c (x_term_init):
17109 * w32term.c (w32_create_terminal):
17110 * term.c (init_tty): Set Vwindow_system.
17111 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
17112 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
17113
17114 * xfns.c (Fx_create_frame, x_create_tip_frame):
17115 * w32fns.c (Fx_create_frame, x_create_tip_frame):
17116 * macfns.c (Fx_create_frame):
17117 Don't set the obsolete `window-system' frame-param.
17118
17119 * frame.h (Qwindow_system): Remove.
17120 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
17121 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
17122
171232007-10-24 Richard Stallman <rms@gnu.org>
17124
17125 * frame.c (x_figure_window_size): For fullscreen case,
17126 set USPosition | PPosition without clobbering rest of window_prompting.
17127
17128 * keyboard.c (Fcurrent_idle_time): Doc fix.
17129
17130 * print.c (Fwith_output_to_temp_buffer): Doc fix.
17131
171322007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
17133
17134 * process.c (unwind_request_sigio): Only define if __ultrix__.
17135
17136 * callproc.c (child_setup): Remove spurious *.
17137
17138 * lisp.h (Fget_text_property): Declare.
17139 (have_menus_p): Declare it here rather than in sys-dep header files.
17140 * macterm.h (have_menus_p):
17141 * msdos.h (have_menus_p):
17142 * xterm.h (have_menus_p): Remove.
17143
17144 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
17145 (Fmake_variable_frame_local): Just check the variable's const-ness
17146 rather than checking nil or t.
17147
171482007-10-22 Jason Rumney <jasonr@gnu.org>
17149
17150 * w32fns.c: Include math.h.
17151 (w32_abort): Declaration moved to nt/config.nt.
17152
17153 * s/ms-w32.h (HAVE_STDLIB_H): Define.
17154 (abort): Redefinition moved to nt/config.nt.
17155
17156 * m/windowsnt.h: Remove.
17157
171582007-10-22 Juanma Barranquero <lekktu@gmail.com>
17159
17160 * emacs.c (Fdump_emacs): Fix typo in message.
17161 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
17162 <installation-directory>: Reflow docstring.
17163
171642007-10-22 Juri Linkov <juri@jurta.org>
17165
17166 * minibuf.c: Allow minibuffer default to be a list of default values.
17167 With empty input use the first element of this list as returned default.
17168 (string_to_object)
17169 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
17170 (read_minibuf): If defalt is cons, set histstring to its car.
17171 (Fread_string): If default_value is cons, set val to its car.
17172 (Fread_buffer): If def is cons, use its car.
17173 (Fcompleting_read): If defalt is cons, set val to its car.
17174
171752007-10-21 Michael Albinus <michael.albinus@gmx.de>
17176
17177 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
17178
171792007-10-20 Juanma Barranquero <lekktu@gmail.com>
17180
17181 * doc.c (Fdocumentation): Check for advice in all cases.
17182
171832007-10-19 Chong Yidong <cyd@stupidchicken.com>
17184
17185 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
17186
171872007-10-19 Richard Stallman <rms@gnu.org>
17188
17189 * doc.c (Fdocumentation): Check for and handle an advised function.
17190
171912007-10-19 Juanma Barranquero <lekktu@gmail.com>
17192
17193 * process.c (Fset_process_filter): Doc fix.
17194
171952007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
17196
17197 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
17198 which caused key-translation-map to applied repeatedly (thus breaking
17199 double-mode).
17200
172012007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17202
17203 * xselect.c (x_own_selection, x_handle_selection_clear)
17204 (x_clear_frame_selections):
17205 * w32menu.c (list_of_panes, list_of_items):
17206 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
17207 * textprop.c (validate_plist, interval_has_all_properties)
17208 (interval_has_some_properties, interval_has_some_properties_list)
17209 (add_properties, text_property_list):
17210 * process.c (Fget_buffer_process, list_processes_1, status_notify):
17211 * minibuf.c (Fassoc_string):
17212 * macselect.c (x_own_selection, x_clear_frame_selections)
17213 (Fx_disown_selection_internal):
17214 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
17215 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
17216
172172007-10-17 Chong Yidong <cyd@stupidchicken.com>
17218
17219 * process.c: Link to libs for calling res_init() if available.
17220 (Fmake_network_process): Call res_init() before getaddrinfo or
17221 gethostbyname, if possible.
17222
172232007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17224
17225 * lread.c (read1): Set pvectype for char_tables.
17226
17227 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
17228 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
17229 Add type checks.
17230 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
17231
17232 * alloc.c (free_misc): Use XMISCTYPE.
17233 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
17234
172352007-10-17 Glenn Morris <rgm@gnu.org>
17236
17237 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
17238 (syms_of_minibuf): Add Qcompletion_ignore_case.
17239 * dired.c (Qcompletion_ignore_case): Change to external.
17240 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
17241 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
17242 (Fread_file_name): Use it rather than intern'ing.
17243
17244 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
17245 (Fread_coding_system): Ignore case of user input.
17246
172472007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17248
17249 * xdisp.c (handle_display_prop): Ignore display specs after
17250 replacing one when string text is being replaced.
17251 (handle_single_display_spec): Pretend as if characters with display
17252 property haven't been consumed only when buffer text is being replaced.
17253
172542007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
17255
17256 * xfns.c (Fx_create_frame, Fx_display_list):
17257 * window.c (window_fixed_size_p, enlarge_window)
17258 (shrink_window_lowest_first):
17259 * macterm.c (init_font_name_table):
17260 * macfns.c (Fx_create_frame, Fx_display_list):
17261 * lread.c (close_load_descs):
17262 * keyboard.c (read_char_x_menu_prompt):
17263 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
17264 * coding.c (code_convert_region_unwind): Test the type of an object
17265 rather than just !NILP before extracting data from it.
17266
17267 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
17268
17269 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
17270 (XMISCANY): New macro.
17271 (XMISCTYPE): Use it.
17272 (struct Lisp_Misc_Any): New type.
17273 (union Lisp_Misc): Use it.
17274 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
17275 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
17276 (find_symbol_value, set_internal, default_value, Fset_default)
17277 (Fmake_variable_buffer_local, Fmake_local_variable)
17278 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
17279 (Flocal_variable_if_set_p, Fvariable_binding_locus):
17280 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
17281 * alloc.c (allocate_buffer): Set the size and tag.
17282 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
17283 Use XMISCANY.
17284 (die): Follow the GNU convention for error messages.
17285 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
17286 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
17287 tag any more.
17288 (set_buffer_internal_1):
17289 * frame.c (store_frame_param):
17290 * eval.c (specbind):
17291 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
17292
17293 * doc.c (Fsnarf_documentation): Simplify.
17294
172952007-10-14 Juanma Barranquero <lekktu@gmail.com>
17296
17297 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
17298 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
17299
173002007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
17301
17302 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
17303
173042007-10-14 Juanma Barranquero <lekktu@gmail.com>
17305
17306 * eval.c (do_autoload): Don't save autoloads.
17307
17308 * data.c (Ffset): Save autoload of the function being set.
17309
173102007-10-07 John Paul Wallington <jpw@pobox.com>
17311
17312 * xfns.c (x_create_tip_frame): Set the `display-type' frame
17313 parameter before setting up faces.
17314
173152007-10-13 Eli Zaretskii <eliz@gnu.org>
17316
17317 * ccl.c (Fregister_code_conversion_map):
17318 * keyboard.c (append_tool_bar_item): Reformat last change.
17319
17320 * lisp.h (eabs): Rename from `abs'. All callers changed.
17321
173222007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
17323
17324 * buffer.c (add_overlay_mod_hooklist):
17325 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
17326 * fontset.c (make_fontset):
17327 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
17328 (append_tool_bar_item):
17329 * macmenu.c (grow_menu_items):
17330 * w32menu.c (grow_menu_items):
17331 * xmenu.c (grow_menu_items): Use larger_vector.
17332
173332007-10-13 Eli Zaretskii <eliz@gnu.org>
17334
17335 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
17336 selected frame'' on MSDOS).
17337
173382007-10-12 Martin Rudalics <rudalics@gmx.at>
17339
17340 * frame.c (Qexplicit_name): New variable.
17341 (x_report_frame_params): Report it in parameter alist.
17342 (syms_of_frame): Intern and staticpro it.
17343
173442007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
17345
17346 * macfns.c (x_create_tip_frame): Set terminal for frame.
17347
173482007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
17349
17350 * frame.c (Qenvironment): Remove.
17351 (syms_of_frame) <Qenvironment>: Don't initialize.
17352 (Fdelete_frame): Don't treat the `environment' param specially.
17353 * frame.h (Qenvironment): Don't declare.
17354 * callproc.c (set_initial_environment): Don't set unused frame param.
17355
17356 * frame.c (Fframe_with_environment): Remove.
17357 (syms_of_frame) <Sframe_with_environment>: Don't declare.
17358
17359 * lisp.h (Fframe_with_environment): Don't declare.
17360
173612007-10-10 Juanma Barranquero <lekktu@gmail.com>
17362
17363 * indent.c (indent_tabs_mode, last_known_column)
17364 (last_known_column_modified): Make static.
17365 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
17366
173672007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
17368
17369 * puresize.h (BASE_PURESIZE): Increase to 1170000.
17370
173712007-10-09 Jason Rumney <jasonr@gnu.org>
17372
17373 * w32term.c (x_set_window_size): Disable code that attempts to tell
17374 Lisp code about a size change before it actually happens.
17375
173762007-10-09 Richard Stallman <rms@gnu.org>
17377
17378 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
17379 return HANDLED_RETURN.
17380
173812007-10-08 Martin Rudalics <rudalics@gmx.at>
17382
17383 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
17384 when there's an unread command event.
17385
17386 * frame.c (focus_follows_mouse): Move here from frame.el to allow
17387 window autoselection act appropriately when leaving selected frame.
17388 (syms_of_frame): Initialize focus_follows_mouse.
17389 * frame.h (focus_follows_mouse): Extern it.
17390 * macterm.c (XTread_socket): When focus_follows_mouse is nil
17391 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
17392 * msdos.c (dos_rawgetc): Likewise.
17393 * w32term.c (w32_read_socket): Likewise.
17394 * xterm.c (handle_one_xevent): Likewise.
17395 * xdisp.c (syms_of_xdisp): In doc-string of
17396 mouse-autoselect-window mention focus-follows-mouse.
17397
173982007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17399
17400 * macterm.c (mac_load_query_font): Fix missing return value.
17401 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
17402 Add BLOCK_INPUT.
17403
174042007-10-08 Richard Stallman <rms@gnu.org>
17405
17406 * xdisp.c (get_window_cursor_type): Implement documented behavior
17407 for cursor-in-non-selected-windows = t.
17408
174092007-10-08 Jason Rumney <jasonr@gnu.org>
17410
17411 * w32.c (w32_get_resource): Always close registry keys.
17412
174132007-10-08 Jason Rumney <jasonr@gnu.org>
17414
17415 * makefile.w32-in (LIBS): Add COMCTL32.
17416
17417 * w32fns.c (globals_of_w32fns): Init common controls.
17418
174192007-10-08 Richard Stallman <rms@gnu.org>
17420
17421 * image.c (our_memory_buffer): Rename from omfib_buffer.
17422
174232007-10-08 Richard Stallman <rms@gnu.org>
17424
17425 * buffer.c (Foverlays_at): Doc fix.
17426
174272007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
17428
17429 * fns.c (Fplist_put): Preserve uneven tail data.
17430
174312007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
17432
17433 * termhooks.h (enum event_kind): Remove trailing comma.
17434
17435 * frame.h (enum): Remove trailing comma.
17436
174372007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
17438
17439 * w32proc.c (delete_child): Don't terminate threads of zombies.
17440
174412007-10-08 Martin Rudalics <rudalics@gmx.at>
17442
17443 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
17444
17445 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
17446 last-repeatable-command.
17447 (init_kboard): Initialize Vlast_repeatable_command.
17448 (command_loop_1): Set it to real_this_command unless that was
17449 bound to an input event.
17450 (mark_kboards): Mark it.
17451
174522007-10-08 Richard Stallman <rms@gnu.org>
17453
17454 * eval.c (condition-case): Doc fix.
17455
174562007-10-08 Masatake YAMATO <jet@gyve.org>
17457
17458 * xfaces.c (tty_supports_face_attributes_p): Fix code
17459 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
17460 was copied and not edited.
17461
174622007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
17463
17464 Add new `input-decode-map' keymap and use it for terminal
17465 escape sequences.
17466 * keyboard.h (struct kboard): Add Vinput_decode_map.
17467 Remove Vlocal_key_translation_map.
17468 * keyboard.c (read_key_sequence): Add support for input-decode-map.
17469 (init_kboard): Init input-decode-map.
17470 Replace local-key-translation-map back with key-translation-map.
17471 (syms_of_keyboard): Declare input-decode-map.
17472 Remove local-key-translation-map. Update docstrings.
17473 (mark_kboards): Mark Vinput_decode_map.
17474 Don't mark Vlocal_key_translation_map.
17475 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
17476 Replace local-key-translation-map back with key-translation-map.
17477 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
17478 Bind in input-decode-map rather than function-key-map.
17479
17480 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
17481 This was made redundant by the previous introduction of XSETPVECTYPE.
17482
174832007-10-09 Richard Stallman <rms@gnu.org>
17484
17485 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
17486
174872007-09-29 Richard Stallman <rms@gnu.org>
17488
17489 * eval.c (internal_condition_case_2, internal_condition_case_1)
17490 (internal_condition_case): Reenable abort if x_catching_errors ()
17491 to see if that really happens and why.
17492
174932007-10-06 Andreas Schwab <schwab@suse.de>
17494
17495 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
17496
174972007-10-04 Juanma Barranquero <lekktu@gmail.com>
17498
17499 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
17500
175012007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
17502
17503 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
17504
175052007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
17506
17507 * window.h (struct window):
17508 * window.c (struct save_window_data, struct saved_window):
17509 * termhooks.h (struct terminal):
17510 * process.h (struct Lisp_Process):
17511 * frame.h (struct frame):
17512 * buffer.h (struct buffer):
17513 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
17514 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
17515 The size field of (pseudo)vectors is now unsigned.
17516 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
17517
17518 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
17519 Turn `count' into an integer.
17520
17521 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
17522 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
17523 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
17524 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
17525 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
17526
17527 * alloc.c (allocate_pseudovector): New fun.
17528 (ALLOCATE_PSEUDOVECTOR): New macro.
17529 (allocate_window, allocate_terminal, allocate_frame)
17530 (allocate_process): Use it.
17531 (mark_vectorlike): New function.
17532 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
17533 (mark_terminals): Use it.
17534 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
17535 (Fmake_byte_code): Use XSETPVECTYPE.
17536
17537 * frame.c (Fframe_parameters): Minor simplification.
17538
17539 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
17540
17541 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
17542
17543 * buffer.c (Fget_buffer_create, init_buffer_once):
17544 * lread.c (defsubr):
17545 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
17546
17547 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
17548 defined differently in the m/*.h files.
17549 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
17550 (XSETPVECTYPE): New macro.
17551 (XSETPSEUDOVECTOR): Use it.
17552
17553 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
17554 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
17555
17556 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
17557 * lread.c (defvar_per_buffer):
17558 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
17559
17560 * window.c (candidate_window_p): Only consider as visible frames that
17561 are on the same terminal.
17562
17563 * m/ibms390x.h (MARKBIT): Remove unused macro.
17564
175652007-10-01 Juanma Barranquero <lekktu@gmail.com>
17566
17567 * lread.c (Fload): Fix typo in docstring.
17568
175692007-10-01 Michaël Cadilhac <michael@cadilhac.name>
17570
17571 * floatfns.c (Fexpt): Manually check for overflows, so that a power
17572 of a non-zero value can't yield zero.
17573
175742007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
17575
17576 * term.c (term_clear_mouse_face, term_mouse_highlight)
17577 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
17578
17579 * print.c (safe_debug_print): Use XHASH.
17580
17581 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
17582 Lisp elements such as tags.
17583 (XHASH): New macro.
17584 (EQ): Use it.
17585 (SREF, SSET, STRING_COPYIN): Use SDATA.
17586 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
17587
17588 * alloc.c (mark_terminal): Remove left-over declaration.
17589 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
17590 (allocate_vectorlike): Remove type argument. Adjust callers.
17591 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
17592 Only handle the one remaining MEM_TYPE_VECTORLIKE.
17593
17594 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
17595 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
17596 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
17597 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
17598 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
17599 Use them.
17600
17601 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
17602 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
17603 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
17604
176052007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
17606
17607 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
17608 loaded by default.
17609
176102007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
17611
17612 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
17613 on this tty.
17614 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
17615
17616 * term.c (mouse_face_window): Rename from Qmouse_face_window.
17617 Update all users.
17618 (handle_one_term_event): Use Gpm_DrawPointer.
17619 (Fgpm_mouse_start): Rename from Fterm_open_connection.
17620 Signal errors instead of returning nil. Always return nil.
17621 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
17622 Make it a noop if gpm-mouse was not activated.
17623 (syms_of_term): Update names.
17624
176252007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
17626
17627 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
17628 (init_sys_modes): Check that gpm_tty is the current tty.
17629
17630 * alloc.c (allocate_terminal): Set the vector size to only count the
17631 lisp fields. Initialize those to nil.
17632 (mark_object): Don't treat terminals specially.
17633 (mark_terminal): Remove.
17634 (mark_terminals): Use mark_object instead.
17635
17636 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
17637 the GC to the beginning.
17638
17639 * indent.h:
17640 * indent.c: Use EMACS_INT for ints coming from Elisp data.
17641
17642 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
17643
176442007-09-25 Jason Rumney <jasonr@gnu.org>
17645
17646 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
17647
17648 * w32console.c (create_w32cons_output): Remove.
17649
17650 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
17651
17652 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
17653 (reset_sys_modes): Use reset_terminal_modes_hook.
17654
176552007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
17656
17657 * eval.c (do_autoload): Don't output any message.
17658
176592007-09-24 Juri Linkov <juri@jurta.org>
17660
17661 * emacs.c (standard_args): Change priority of "--no-splash"
17662 from 40 to 3. Add "--no-desktop" with the same priority.
17663
176642007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
17665
17666 * alloc.c (gc_sweep): Check cons cell mark bits word by word
17667 and optimize the case where they are all 1.
17668
176692007-09-23 Johannes Weiner <hannes@saeurebad.de>
17670
17671 * lisp.h (abs): Define if not defined.
17672 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
17673 Don't define `abs', since it's defined in lisp.h.
17674
176752007-09-22 Eli Zaretskii <eliz@gnu.org>
17676
17677 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
17678 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
17679 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
17680 (init_tty): Use DEV_TTY instead of "/dev/tty".
17681 [WINDOWSNT]: No need to protect from NAME arg being null.
17682
176832007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
17684
17685 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
17686 up the tty state.
17687
176882007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
17689
17690 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
17691 (gpm_tty): Change its type.
17692 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
17693 (gpm_tty): Change its type and initialize it.
17694 (Fterm_open_connection): Check the frame is indeed a tty.
17695 Use the new gpm_tty.
17696 (Fterm_close_connection): Use the new gpm_tty.
17697 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
17698 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
17699
177002007-09-21 Juanma Barranquero <lekktu@gmail.com>
17701
17702 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
17703 underline_color, to draw strike-through.
17704
177052007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
17706
17707 * lisp.h (allocate_terminal): Declare.
17708
17709 * window.c (candidate_window_p): Consider frames that are being placed
17710 by the user as somewhere between visible and iconified.
17711 (window_loop): Prefer windows on the current frame.
17712 (Fselect_window): Move the use of select-frame to the beginning so we
17713 can just delegate all the work (it'll call us back anyway).
17714
17715 * frame.c (Qdisplay_environment_variable):
17716 * frame.h (Qdisplay_environment_variable): Delete.
17717
17718 * .gdbinit (xbacktrace): Print the arg's address rather than the value
17719 of the first arg, since that value may be a union.
17720
17721 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
17722 parameter rather than Qdisplay_environment_variable. If all else
17723 fails, look for DISPLAY in initial-environment.
17724
177252007-09-21 Glenn Morris <rgm@gnu.org>
17726
17727 * Makefile.in (emacstool): Remove target.
17728 (lisp, shortlisp): Remove termdev.elc.
17729
177302007-09-21 Markus Triska <markus.triska@gmx.at>
17731
17732 * xterm.c (x_delete_display): Compile session management conditionally.
17733
177342007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
17735
17736 * callproc.c (getenv_internal_1): New function.
17737 (getenv_internal): Use it.
17738 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
17739
17740 * terminal.c (get_terminal): Don't accept ints to represent terminals.
17741 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
17742 (Fset_terminal_parameter): Work with dead terminals as well.
17743 (Fmodify_terminal_parameters): Remove.
17744
17745 * terminal.c (get_terminal): Handle terminals.
17746 Make sure the terminal returned is live.
17747 (create_terminal): Use allocate_terminal.
17748 (mark_terminals): Move to alloc.c.
17749 (delete_terminal): Use terminal->name as liveness status.
17750 NULL out fields after freeing their contents.
17751 Don't deallocate the object.
17752 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
17753 rather than an int.
17754 (Fterminal_live_p): Accept non-integer arguments.
17755 (Fterminal_list): Return terminal objects rather than an ints.
17756
17757 * alloc.c (enum mem_type): New member for `terminal' objects.
17758 (allocate_terminal): New function.
17759 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
17760 Handle terminals.
17761 (mark_terminal): New fun.
17762 (mark_terminals): Move from terminal.c.
17763
17764 * term.c (get_tty_terminal): Don't treat output_initial specially.
17765 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
17766 (delete_tty): Use terminal->name as liveness status.
17767
17768 * termhooks.h (struct terminal): Make it into a pseudovector.
17769 Remove `deleted' replaced by checking `name's nullness.
17770
17771 * print.c (print_object): Handle terminals.
17772
17773 * lisp.h (enum pvec_type): New `terminal' pseudovector.
17774 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
17775
17776 * frame.c (make_terminal_frame):
17777 * keyboard.c (tty_read_avail_input):
17778 * w32term.c (x_delete_terminal):
17779 * xfns.c (Fx_create_frame, x_create_tip_frame):
17780 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
17781
177822007-09-20 Glenn Morris <rgm@gnu.org>
17783
17784 * process.c (Fmake_network_process): Doc fix.
17785
177862007-09-19 Jason Rumney <jasonr@gnu.org>
17787
17788 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
17789
177902007-09-19 Michaël Cadilhac <michael@cadilhac.name>
17791
17792 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
17793 Fix a C warning regarding variable constness.
17794
17795 * xterm.c (handle_one_xevent): Fix a C warning.
17796
177972007-09-18 Jason Rumney <jasonr@gnu.org>
17798
17799 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
17800
178012007-09-17 Jan Djärv <jan.h.d@swipnet.se>
17802
17803 * gtkutil.c (gdpy_def): New variable.
17804 (xg_initialize): Initialize gdpy_def.
17805 (xg_display_close): If no other display exists, set gdpy_def to a
17806 new connection.
17807
178082007-09-16 Jan Djärv <jan.h.d@swipnet.se>
17809
17810 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
17811 when we have no file name for the icon.
17812 (xg_tool_bar_expose_callback): Remove.
17813 (xg_create_tool_bar): Don't connect expose signal to
17814 xg_tool_bar_expose_callback.
17815 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
17816
178172007-09-16 Andreas Schwab <schwab@suse.de>
17818
17819 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
17820 values instead of zapping them.
17821
178222007-09-14 Glenn Morris <rgm@gnu.org>
17823
17824 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
17825 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
17826 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
17827 scope and rename to omfib_buffer for clarity.
17828 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
17829
178302007-09-14 Kenichi Handa <handa@m17n.org>
17831
17832 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
17833
178342007-09-13 Jason Rumney <jasonr@gnu.org>
17835
17836 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
17837
17838 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
17839
17840 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
17841 (mac_term_init): Call here instead, passing rif.
17842
178432007-09-13 Glenn Morris <rgm@gnu.org>
17844
17845 * s/hpux.h: No longer define `static' as nothing.
17846
178472007-09-13 Johan Bockgård <bojohan@gnu.org>
17848
17849 * callint.c (Fcall_interactively): Remove unused var `fun'.
17850
178512007-09-12 Romain Francoise <romain@orebokech.com>
17852
17853 * window.c (prefer_window_split_horizontally, display_buffer):
17854 Revert 2007-09-08 change.
17855
178562007-09-12 Glenn Morris <rgm@gnu.org>
17857
17858 * alloca.c: Remove file.
17859 * Makefile.in (alloca): Do not undef.
17860 (allocaobj, alloca.o): Remove.
17861 (otherobj): Remove allocaobj.
17862 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
17863 * regex.c (C_ALLOCA): Remove all references and code that was only
17864 used when this was defined.
17865 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
17866 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
17867 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
17868
17869 * Makefile.in (SOURCES, unlock, relock): Delete.
17870
17871 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
17872 (menu_grab_callback): All uses changed.
17873
17874 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
17875 (x_reply_selection_request): All uses changed.
17876
178772007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
17878
17879 * lread.c (load_warn_old_style_backquotes): Change message to look
17880 better when it appears in the middle of byte-compiler messages.
17881
178822007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
17883
17884 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
17885
17886 * xterm.c (x_create_terminal): Add comment.
17887
17888 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
17889
178902007-09-10 Richard Stallman <rms@gnu.org>
17891
17892 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
17893
178942007-09-10 Michaël Cadilhac <michael@cadilhac.name>
17895
17896 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
17897 (DEFUN): Document `intspec', use it instead of `prompt'.
17898
17899 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
17900
17901 * data.c (Finteractive_form): If the interactive specification starts
17902 with a `(', use it as a Lisp form.
17903
17904 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
17905 name and file modes.
17906
17907 * callint.c (Fcall_interactively): Comment fixes.
17908
179092007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
17910
17911 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
17912 and compiled functions.
17913
179142007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
17915
17916 * window.c (prefer_window_split_horizontally): New variable.
17917 (display_buffer): Consider splitting window horizontally depending
17918 on prefer_window_split_horizontally.
17919
179202007-09-08 Eli Zaretskii <eliz@gnu.org>
17921
17922 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
17923
179242007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
17925
17926 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
17927
17928 * frame.c (x_set_frame_parameters): Check number is positive before
17929 using XFASTINT.
17930
17931 * window.c (freeze_window_start): Don't presume selected_window holds
17932 a window object.
17933 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
17934
179352007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
17936
17937 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
17938
179392007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
17940
17941 * window.c (Vsplit_window_preferred_function): New var.
17942 (Fdisplay_buffer): Use it.
17943 (syms_of_window): Export, and initialize it.
17944
179452007-09-06 Pixel <pixel@mandriva.com> (tiny change)
17946
17947 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
17948
179492007-09-06 Glenn Morris <rgm@gnu.org>
17950
17951 * gtkutil.c (menu_grab_callback) <cnt>:
17952 * xselect.c (x_reply_selection_request) <cnt>: Move static
17953 variable to file scope.
17954
179552007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
17956
17957 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
17958 consistent values of selected_frame and selected_window.
17959
179602007-09-04 Jason Rumney <jasonr@gnu.org>
17961
17962 * w32console.c (initialize_w32_display): Zero unused hooks.
17963
179642007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
17965
17966 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
17967 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
17968
179692007-09-04 Jason Rumney <jasonr@gnu.org>
17970
17971 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
17972 in w32console.c. Set up input. Remove XXX comments that have been
17973 confirmed as correct.
17974
17975 * s/ms-w32.h (MULTI_KBOARD): Define.
17976
17977 * w32console.c (one_and_only_w32cons): Remove.
17978 (initialize_w32_display): Take terminal argument.
17979
17980 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
17981 initialize_w32_display.
17982 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
17983
17984 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
17985
17986 * keyboard.c (discard_mouse_events): Discard it.
17987 (make_lispy_event): Translate it to a lisp event.
17988 (lispy_wheel_names): Add wheel-left and right events.
17989 (syms_of_keyboard): Enlarge wheel_syms.
17990
17991 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
17992 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
17993
17994 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
17995
17996 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
17997 from WM_MOUSEHWHEEL.
17998 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
17999
18000 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
18001 terminal.
18002
18003 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
18004 keyboard for the terminal.
18005
180062007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
18007
18008 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
18009 (Vresume_tty_hook): Rename from Vresume_tty_functions.
18010 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
18011 and resume-tty-function to resume-tty-hook.
18012 (Fsuspend_tty, Fresume_tty): Use new names.
18013
180142007-09-02 Jan Djärv <jan.h.d@swipnet.se>
18015
18016 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
18017 if it starts with "n:".
18018
180192007-08-31 Jan Djärv <jan.h.d@swipnet.se>
18020
18021 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
18022
180232007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
18024
18025 * frame.h:
18026 * frame.c (Qterm_environment_variable): Remove.
18027 (syms_of_frame): Don't init and staticpro it.
18028
18029 * callproc.c (getenv_internal): Remove special case for $TERM.
18030
18031 * callproc.c (Vinitial_environment): New variable.
18032 (set_initial_environment): Initialize it.
18033 (syms_of_callproc): Declare it.
18034 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
18035 TERM under which a process runs is never related to the TERM in which
18036 Emacs is running.
18037
180382007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18039
18040 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
18041 * s/darwin.h: ... do it here.
18042
180432007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
18044
18045 * lisp.h (set_initial_environment): Rename from set_global_environment.
18046
18047 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
18048 removed by mistake on the multi-tty branch.
18049
18050 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
18051 (Fmodify_frame_parameters): Return a value.
18052
18053 * image.c (png_load): Comment-out var only used in commented-out code.
18054
18055 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
18056 before passing it to mark_object.
18057
18058 * xfaces.c (internal_resolve_face_name): Return a value.
18059 (internal_resolve_face_name, resolve_face_name_error): Comment out.
18060
18061 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
18062 (x_icon): Comment-out var only used in commented-out code.
18063
180642007-08-29 Romain Francoise <romain@orebokech.com>
18065
18066 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
18067 QUIT hasn't been provided.
18068
180692007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18070
18071 * callproc.c (child_setup, getenv_internal): Use the
18072 display-environment-variable and term-environment-variable frame params.
18073 (set_initial_environment): Initialise Vprocess_environment.
18074
18075 * config.in: Disable multi-keyboard support on a mac.
18076
18077 * frame.c (Qterm_environment_variable)
18078 (Qdisplay_environment_variable): New variables.
18079 (syms_of_frame): Intern and staticpro them.
18080 (Fmake_terminal_frame): Disable output method test.
18081
18082 * frame.h: Declare them here.
18083
18084 * macfns.c (x_set_mouse_color): Get rif from the frame.
18085 (x_set_tool_bar_lines): Don't use updating_frame.
18086 (mac_window): Add 2 new parameters for consistency with other systems.
18087 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
18088 frame parameters following what is done in X11 and w32. Don't use
18089 FRAME_MAC_DISPLAY_INFO.
18090 (Fx_open_connection, start_hourglass): Remove window-system check.
18091 (x_create_tip_frame): Get the keyboard from the terminal.
18092
18093 * macmenu.c: Reorder includes.
18094 (Fx_popup_menu): Use terminal specific mouse_position_hook.
18095
18096 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
18097 terminal parameter.
18098 (x_clear_frame): Add a frame parameter.
18099 (note_mouse_movement): Get rif from the frame.
18100 (mac_term_init): Initialize the terminal.
18101 (mac_initialize): Make static and move terminal initialization ...
18102 (mac_create_terminal): ... to this new function.
18103
18104 * macterm.h (struct mac_display_info): Add terminal.
18105 (mac_initialize): Delete declaration.
18106
18107 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
18108
18109 * sysdep.c: Comment out text after #endif.
18110
18111 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
18112 is defined. Better initialize ttys in windows. Use terminal
18113 specific mouse_position_hook.
18114
18115 * termhooks.h (union display_info): Add mac_display_info.
18116
18117 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
18118 Set the default minibuffer frame, window_system and the rest of the
18119 frame parameters following what is done in X11.
18120
18121 * w32term.c (w32_initialize): Make static.
18122
18123 * xselect.c (x_handle_selection_clear): Only access
18124 terminal->kboard when MULTI_KBOARD is defined.
18125
18126 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
18127 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
18128
181292007-08-29 Jason Rumney <jasonr@gnu.org>
18130
18131 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
18132 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
18133
18134 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
18135 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
18136
18137 * keyboard.c (restore_kboard_configuration): Only define when
18138 MULTI_KBOARD defined.
18139
18140 * makefile.w32-in: Update dependancies from Makefile.in.
18141 (OBJ1): Add terminal.$(O)
18142
18143 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
18144 Don't define function body.
18145 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
18146
18147 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
18148
18149 * w32.c (request_sigio, unrequest_sigio): Remove.
18150
18151 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
18152 (w32con_clear_frame, w32con_clear_end_of_line)
18153 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
18154 (w32con_delete_glyphs, w32con_set_terminal_window)
18155 (scroll_line, w32_sys_ring_bell): Add frame arg.
18156 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
18157 Add terminal arg.
18158 (PICK_FRAME): Remove.
18159 (w32con_write_glyphs): Use frame specific terminal coding.
18160 (one_and_only_w32cons): New global variable.
18161 (initialize_w32_display): Use it for storing hooks.
18162 (create_w32cons_output): New function.
18163
18164 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
18165 arg a frame.
18166
18167 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
18168 Set window_system.
18169 (x_set_tool_bar_lines): Don't use updating_frame.
18170 (Fx_create_frame): Set terminal and ref count.
18171 (Fx_open_connection): Remove window-system check.
18172
18173 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
18174
18175 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
18176 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
18177 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
18178 Add frame arg.
18179 (x_delete_terminal, w32_create_terminal): New functions.
18180 (w32_term_init): Create a terminal.
18181 (w32_initialize): Move terminal specific initialization to
18182 w32_create_terminal.
18183
18184 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
18185 (w32_clear_rect, w32_clear_area): Use background from frame.
18186 (w32_display_info): Add terminal.
18187 (w32_sys_ring_bell, x_delete_display): Declare here.
18188
18189 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
18190
18191 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
18192
181932007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
18194
18195 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
18196 Fix get_named_tty calls for the controlling tty.
18197
181982007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
18199
18200 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
18201
182022007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
18203
18204 * term.c (tty_insert_glyphs): Add missing first parameter.
18205
182062007-08-29 Károly Lőrentey <karoly@lorentey.hu>
18207
18208 * buffer.c (Fbuffer_list, Fbury_buffer):
18209 Take frame->buried_buffer_list into account.
18210
18211 * cm.c (current_tty): New variable, for cmputc().
18212 (cmputc): Use it.
18213 (cmcheckmagic): Add tty parameter, look up terminal streams there.
18214 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
18215 (cmgoto): Add tty parameter. Pass it on to calccost().
18216 Use emacs_tputs() instead of tputs().
18217
18218 * cm.h (emacs_tputs): New macro to set current_tty, and then call
18219 tputs().
18220 (current_tty): New variable, for cmputc().
18221 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
18222
18223 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
18224 (internal_condition_case, internal_condition_case_1)
18225 (internal_condition_case_2): Don't abort when x_catching_errors.
18226
18227 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
18228 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
18229 prevent crashes caused by bogus longjmps in read_char.
18230
18231 * keymap.h (Fset_keymap_parent): Add EXFUN.
18232
18233 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
18234 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18235 Remove redundant definition.
18236
18237 * macfns.c (x_set_mouse_color, x_make_gc):
18238 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18239
18240 * w32term.c (x_free_frame_resources):
18241 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18242 (w32_initialize): Use the accessor macros for terminal characteristics.
18243
18244 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
18245 Use the accessor macros for terminal characteristics.
18246 * msdos.c (internal_terminal_init): Use the accessor macros for
18247 terminal characteristics.
18248 (ScreenVisualBell, internal_terminal_init):
18249 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18250
18251 * termopts.h (no_redraw_on_reenter): Declare.
18252
18253 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
18254 (mark_terminals, mark_ttys): Declare.
18255 (Fgarbage_collect): Call them.
18256 (mark_object): Mark buried_buffer_list.
18257
18258 * prefix-args.c: Include stdlib.h for exit.
18259
18260 * syssignal.h: Add comment.
18261
18262 * indent.c: Include stdio.h.
18263
18264 * window.h (Vinitial_window_system): Declare.
18265 (Vwindow_system): Delete declaration.
18266
18267 * fontset.c (Finternal_char_font): Use FRAME_RIF.
18268
18269 * image.c (lookup_image): Don't initialize `c' until the xasserts
18270 have been run.
18271
18272 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
18273 FRAME_FOREGROUND_PIXEL.
18274
18275 * print.c (print_preprocess): Don't lose print_depth levels while
18276 iterating.
18277
18278 * widget.c (update_from_various_frame_slots):
18279 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18280
18281 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
18282 frames.
18283 (window_internal_height): Remove bogus make_number call.
18284 (init_window_once): Call make_terminal_frame with two zero parameters.
18285
18286 * fileio.c (Fread_file_name): Update comment.
18287
18288 * callint.c (Fcall_interactively):
18289 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
18290 Make sure it is correctly unwound.
18291
18292 * xsmfns.c (x_session_close): New function.
18293
18294 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
18295 Delete declarations.
18296
18297 * xterm.h: Remove declaration for x_fully_uncatch_errors.
18298 (x_output): Remove background_pixel and foreground_pixel fields.
18299 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
18300 (x_delete_device, x_session_close): Declare.
18301
18302 * lread.c: Include setjmp.h. Update declaration of `read_char'.
18303 (read_filtered_event): Call `read_char' with a local
18304 `wrong_kboard_jmpbuf'.
18305
18306 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
18307 Don't call single_kboard_state. Use FRAME_RIF.
18308
18309 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
18310 systems.
18311
18312 * lisp.h (set_process_environment): Rename to `set_global_environment'.
18313 (Fframe_with_environment, Fset_input_meta_mode)
18314 (Fset_quit_char): EXFUN.
18315 (x_create_device, tty_output, terminal, tty_display_info): Declare.
18316 (init_sys_modes, reset_sys_modes): Update prototypes.
18317 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
18318
18319 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
18320 Vlocal_key_translation_map, and Vkeyboard_translate_table.
18321 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
18322 Delete declarations.
18323 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
18324 (temporarily_switch_to_single_kboard, tty_read_avail_input):
18325 New declarations.
18326
18327 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
18328 already does that during init_display(). Call syms_of_keymap
18329 before syms_of_keyboard. Call `syms_of_terminal'.
18330 Call set_initial_environment, not set_process_environment.
18331 (shut_down_emacs): Call reset_all_sys_modes() instead of
18332 reset_sys_modes().
18333
18334 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
18335 (internal_resolve_face_name, resolve_face_name_error): New functions.
18336 (resolve_face_name): Protect against loops and errors thrown by Fget.
18337 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
18338 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
18339
18340 * scroll.c: Replace CURTTY() with local variables throughout the
18341 file (where applicable).
18342 (calculate_scrolling, calculate_direct_scrolling)
18343 (scrolling_1, scroll_cost): Use the accessor macros for terminal
18344 characteristics.
18345
18346 * keymap.c (Vfunction_key_map): Remove.
18347 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
18348 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
18349 (Vkey_translation_map): Remove.
18350 (syms_of_keymap): Remove DEFVAR for key-translation-map.
18351 (Fdescribe_buffer_bindings)
18352 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
18353 Update for terminal-local key-translation-map.
18354
18355 * Makefile.in (callproc.o): Update dependencies.
18356 (lisp, shortlisp): Add termdev.elc.
18357 (obj): Add terminal.o.
18358 (terminal.o): Add dependencies.
18359 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
18360 (data.o, fns.o): Add termhooks.h dependency.
18361 (SOME_MACHINE_LISP): Add dnd.elc.
18362 (minibuf.o): Fix typo.
18363 Update dependencies.
18364
18365 * data.c (do_symval_forwarding, store_symval_forwarding)
18366 (find_symbol_value): Use the selected frame's keyboard, not
18367 current_kboard.
18368
18369 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
18370 Vwindow_system.
18371
18372 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
18373 Fmenu_bar_open.
18374 (syms_of_xmenu): Update defsubr.
18375 (mouse_position_for_popup, Fx_popup_menu)
18376 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
18377 (set_frame_menubar, free_frame_menubar)
b97439ce 18378 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
18379 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
18380 an X frame.
18381
18382 * xselect.c (x_own_selection): Abort if not an X frame.
18383 (some_frame_on_display): Check if it is an X frame.
18384 (x_handle_selection_clear): Deal with MULTI_KBOARD.
18385
18386 * coding.c: Include frame.h and termhooks.h.
18387 (terminal_coding, keyboard_coding): Delete.
18388 (Fset_terminal_coding_system_internal)
18389 (Fset_keyboard_coding_system_internal)
18390 (Fkeyboard_coding_system)
18391 (Fterminal_coding_system): Add a terminal parameter.
18392 Get terminal_coding from the terminal.
18393 (init_coding_once): Don't call setup_coding_system here.
18394
18395 * dispextern.h (set_scroll_region, turn_off_insert)
18396 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
18397 (tty_clear_end_of_line, tty_setup_colors)
18398 (delete_tty, updating_frame)
18399 (produce_special_glyphs, produce_glyphs, write_glyphs)
18400 (insert_glyphs): Remove.
18401 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
18402 (tty_turn_off_highlight, get_tty_size): Add declaration.
18403 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
18404
18405 * frame.h (enum output_method): Add output_initial.
18406 (struct x_output): Delete.
18407 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18408 Access foreground_pixel and background_pixel directly from the frame.
18409 (tty_display): Delete.
18410 (struct frame): Add buried_buffer_list, foreground_pixel,
18411 background_pixel and terminal. Delete kboard.
18412 (union output_data): Add tty.
18413 (FRAME_KBOARD): Get the kboard from the terminal.
18414 (FRAME_INITIAL_P): New macro.
18415 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
18416 (Qterm_environment_variable, Qdisplay_environment_variable)
18417 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
18418 New declarations.
18419
18420 * termchar.h (tty_output, tty_display_info): New structures.
18421 (tty_list): Declare.
18422 (FRAME_TTY, CURTTY): New macros.
18423 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
18424 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
18425 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
18426 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
18427
18428 * callproc.c: Include frame.h and termhooks.h, for terminal
18429 parameters.
18430 (add_env): New function.
18431 (child_setup): Use it.
18432 (child_setup, getenv_internal): Handle the new Vprocess_environment.
18433 (getenv_internal): Fix get_terminal_param call.
18434 (Fgetenv_internal, egetenv): Update doc.
18435 (syms_of_callproc): Initialize Vprocess_environment to nil.
18436 Register and initialize them. Remove obsolete defvars. Update doc
18437 strings.
18438 (child_setup): Handle Vlocal_environment_variables.
18439 (getenv_internal): Add terminal parameter.
18440 Handle Vlocal_environment_variables.
18441 (Fgetenv_internal): Add terminal parameter.
18442 (child_setup, getenv_internal, Fgetenv_internal): Store the local
18443 environment in a frame (not terminal) parameter. Update doc strings.
18444 (set_initial_environment): Rename from set_global_environment.
18445 Store Emacs environment in initial frame parameter.
18446
18447 * xdisp.c (redisplay_internal): Update references to
18448 `previous_terminal_frame'.
18449 (display_mode_line, Fformat_mode_line): Replace calls to
18450 `push_frame_kboard' with `push_kboard'.
18451 (get_glyph_string_clip_rects): Add extra parentheses and
18452 braces to prevent compiler warnings.
18453 (calc_pixel_width_or_height): Add xassert to check that the
18454 frame is alive. Don't call `lookup_image' on a termcap frame.
18455 (message2_nolog, message3_nolog, redisplay_internal)
18456 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
18457 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
18458 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
18459 (Fx_display_pixel_width, Fx_display_pixel_height)
18460 (Fx_display_planes, Fx_display_color_cells)
18461 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
18462 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
18463 (Fx_display_backing_store, Fx_display_visual_class)
18464 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
18465 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
18466
18467 * xfns.c (x_set_foreground_color x_set_background_color)
18468 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
18469 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18470 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
18471 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
18472 terminal that is being deleted.
18473 (Fx_create_frame): Use `store_frame_param' to set `window-system'
18474 frame parameter, and make sure it overrides any user-supplied setting.
18475 (Fx_close_connection, Fx_synchronize): Unify argument names with
18476 the rest of the DEFUNs.
18477
18478 * dispnew.c (Fsend_string_to_terminal): Update call to
18479 `get_tty_terminal'.
18480 (Fredraw_frame, Fsend_string_to_terminal)
18481 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
18482 FRAME_TERMCAP_P and FRAME_TTY.
18483 (window_change_signal): Don't believe width/height values that are
18484 impossibly small.
18485 (Vinitial_window_system): Rename from Vwindow_system.
18486 (termscript, Wcm, rif): Delete.
18487
18488 * termhooks.h (struct terminal): New struct containing the
18489 previously global text display hooks and new members NAME,
18490 DELETED and PARAM_ALIST.
18491 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
18492 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
18493 (FRAME_RIF): New macros.
18494 (get_terminal_param, get_device): New declarations.
18495 (termscript): Delete declaration.
18496
18497 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
18498 (XTflash, x_free_frame_resources, x_scroll_bar_create)
18499 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
18500 FRAME_FOREGROUND_PIXEL.
18501 (x_fully_uncatch_errors): Disable definition.
18502 (x_scroll_bar_expose): Fix reference to foreground pixel.
18503 (XTread_socket): Disable loop on all X displays.
18504 (x_delete_terminal): Don't set terminal->deleted and let
18505 delete_terminal delete the frames on the terminal.
18506 (x_delete_display): Doc update to reflect changes in
18507 delete_terminal.
18508 (x_display_info) <terminal>: Move member earlier in the struct.
18509 (deleting_tty): Remove old variable.
18510 (Fsuspend_tty): Call clear_tty_hooks.
18511 (Fresume_tty, init_tty): Call set_tty_hooks.
18512 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
18513 errors on X frames.
18514 (x_catch_errors_unwind): Abort if x_error_message is NULL.
18515 (handle_one_xevent): Initialize `f' to NULL.
18516 (x_delete_terminal, x_create_terminal): New functions.
18517 (XTset_terminal_modes, XTreset_terminal_modes)
18518 (XTread_socket, x_connection_closed, x_term_init)
18519 (x_term_init, x_delete_display): Add terminal parameter.
18520 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
18521 X connections.
18522
18523 * frame.c: Include termchar.h.
18524 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
18525 (Qwindow_system, Qenvironment, Qterm_environment_variable)
18526 (Qdisplay_environment_variable): New vars.
18527 (Fframep): Deal with output_initial.
18528 (Fframe-live-p): Doc fix.
18529 (Fwindow-system): New function.
18530 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
18531 (make_terminal_frame): Don't create frames on a terminal that is
18532 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18533 (store_frame_param): Check for found_for_frame before calling XFRAME.
18534 (Fmake_terminal_frame): Handle NULL tty names correctly.
18535 (syms_of_frame): Enhance doc string of `default-frame-alist'.
18536 (Fdelete_frame): Remove unused variable `count'. Don't allow other
18537 frames to refer to a deleted frame in their 'environment parameter.
18538 (Fframe_with_environment): New function.
18539 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
18540 (get_future_frame_param): New function.
18541 (Fmake_terminal_frame): Use it.
18542 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
18543
18544 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
18545 * sysdep.c (reset_sys_modes): Update for renames.
18546
18547 * keyboard.c (tty_read_avail_input): New function.
18548 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
18549 (syms_of_keyboard): Defsubr them.
18550 (Fset_input_meta_mode, Fset_quit_char): New functions.
18551 (Fset_input_mode): Split to above functions.
18552 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
18553 parameter. Use it in call to `read_char'.
18554 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
18555 Set wrong_kboard_jmpbuf correctly in recursive calls.
18556 Use current_kboard to access Vkeyboard_translate_table.
18557 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
18558 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
18559 Update longjmp invocations. Remember the original current_kboard,
18560 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
18561 changes it. Comment out unnecessary calls to
18562 `record_single_kboard_state' and `any_kboard_state'.
18563 Update recursive calls.
18564 (wrong_kboard_jmpbuf): Remove global variable.
18565 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
18566 Handle deleted interrupted_kboards correctly; that is a legal
18567 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
18568 and read_char calls. Abort if interrupted_kboard died in read_char.
18569 (any_kboard_state, single_kboard_state)
18570 (push_frame_kboard): Remove function.
18571 (pop_kboard): Switch out of single_kboard mode if the kboard has
18572 been deleted. Remove unused variable. Help debugging by not
18573 changing current_kboard unnecessarily. Set current_kboard to the
18574 kboard of the selected frame when the stored kboard object has
18575 been deleted before pop_kboard.
18576 (temporarily_switch_to_single_kboard): Change first parameter to a
18577 frame pointer. Throw an error when caller wants to change kboards
18578 while in single_kboard mode. Don't push_kboard if we weren't in
18579 single kboard state. Don't pop_kboard if we popped into any
18580 kboard state.
18581 (restore_kboard_configuration): Abort if pop_kboard changed the
18582 kboard in single_kboard mode. Call pop_kboard only after setting
18583 up single_kboard mode.
18584 (Frecursive_edit): Switch to single_kboard mode only in nested
18585 command loops.
18586 (cmd_error, command_loop, command_loop_1, timer_check):
18587 Comment out unnecessary call to `any_kboard_state' and
18588 `record_single_kboard_state'.
18589 (delete_kboard): Exit single_kboard mode if we have just deleted
18590 that kboard. Use FRAME_KBOARD.
18591 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
18592 `fatal_error_signal'.
18593 (record_single_kboard_state): Don't push_kboard if we weren't in
18594 single kboard state. Don't pop_kboard if we popped into any
18595 kboard state.
18596 (push_frame_kboard): Rename to push_kboard.
18597 (kbd_buffer_get_event): Use FRAME_TERMINAL.
18598 (read_avail_input): Read input from all terminals.
18599 (mark_kboards): Also mark Vkeyboard_translate_table.
18600 (kbd_buffer_store_event_hold): Simplify condition.
18601 (read_key_sequence): Reinitialize fkey and keytran at each replay.
18602 (Vkeyboard_translate_table): Move to struct kboard.
18603 (init_kboard): Initialize Vkeyboard_translate_table.
18604 (syms_of_keyboard): Use DEFVAR_KBOARD to define
18605 Vkeyboard_translate_table. Update doc strings. Update docs of
18606 local-function-key-map and function-key-map.
18607
18608 * terminal.c: New file.
18609
18610 * term.c: Include errno.h.
18611 (Vring_bell_function, device_list, initial_device)
18612 (next_device_id, ring_bell, update_begin, update_end)
18613 (set_terminal_window, cursor_to, raw_cursor_to)
18614 (clear_to_end, clear_frame, clear_end_of_line)
18615 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
18616 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
18617 (syms_of_term): Move their initialization to terminal.c.
18618 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
18619 (Ftty_display_color_cells)
18620 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
18621 (clear_tty_hooks, set_tty_hooks)
18622 (init_tty, maybe_fatal): New functions.
18623 (Ftty_type): Return nil if terminal is not on a tty instead of
18624 throwing an error. Doc update.
18625 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
18626 Doc update. Initialize new subrs and variables.
18627 (delete_tty): Use terminal->deleted.
18628 (tty_set_terminal_modes): Rename from set_terminal_modes.
18629 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
18630 (set_scroll_region): Rename to `tty_set_scroll_region'.
18631 (turn_on_insert): Rename to `tty_turn_on_insert'.
18632 (turn_off_insert): Rename to `tty_turn_off_insert'.
18633 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
18634 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
18635 (toggle_highligh): Rename to `tty_toggle_highlight'.
18636 (background_highlight): Rename to `tty_background_highlight'.
18637 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
18638 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
18639 (tty_set_scroll_region, tty_background_highlight)
18640 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
18641 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
18642 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
18643 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
18644 Add static modifier.
18645 (tty_reset_terminal_modes, tty_set_terminal_window)
18646 (tty_set_scroll_region, tty_background_highlight)
18647 (tty_highlight_if_desired, tty_cursor_to)
18648 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
18649 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
18650 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
18651 renames.
18652
186532007-08-28 Jan Djärv <jan.h.d@swipnet.se>
18654
18655 * keyboard.c: Qrtl is new.
18656 (parse_tool_bar_item): Handle :rtl keyword.
18657 (syms_of_keyboard): Intern :rtl keyword.
18658
18659 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
18660
18661 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
18662 so no Lisp code is executed.
18663 (file_for_image, find_rtl_image): New functions.
18664 (xg_get_image_for_pixmap): Use file_for_image.
18665 (update_frame_tool_bar): If direction is RTL, use RTL image if
18666 defined. Use Gtk stock images if defined.
18667
186682007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18669
18670 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
18671 for nonexistent or zero-width glyph in composition glyph.
18672
186732007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
18674
18675 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
18676
18677 * xdisp.c (Finvisible_p): New function.
18678 (syms_of_xdisp): defsubr it.
18679
186802007-08-24 Juanma Barranquero <lekktu@gmail.com>
18681
18682 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
18683 Doc fixes.
18684
186852007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18686
18687 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
18688
186892007-08-24 Martin Rudalics <rudalics@gmx.at>
18690
18691 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
18692 whether decoding has modified buffer contents.
18693
186942007-08-24 Jason Rumney <jasonr@gnu.org>
18695
18696 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
18697 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
18698 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
18699 (init_svg_functions) [HAVE_NTGUI]: New function.
18700 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
18701 (svg_load_image): Use them.
18702 (svg_load_image) [HAVE_NTGUI]: Implement background.
18703
187042007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18705
18706 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
18707 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
18708 (LIBX): Remove @RSVG_LIBS@.
18709 (LIBES): Add $(RSVG_LIBS).
18710
18711 * image.c (svg_load_image): Blend with specified background if exists.
18712 Use IMAGE_BACKGROUND. Add Mac OS Support.
18713
18714 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
18715 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
18716 Remove macros.
18717 [MAC_OSX] (socket_callback): Do nothing.
18718 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
18719 ReceiveNextEvent.
18720 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
18721 socket_callback.
18722 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
18723
187242007-08-22 Glenn Morris <rgm@gnu.org>
18725
18726 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
18727
187282007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
18729
18730 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
18731
18732 * image.c: Add support for SVG images. Some additional comments
18733 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
18734 (svg_image_p): New function to test for SVG image.
18735 (svg_load): New function to load SVG image.
18736 (svg_load_image): New function, helper for svg_load.
18737 (Qsvg): New Lisp_object.
18738 (svg_keyword_index): New enum.
18739 (svg_format): New static `image_keyword' struct.
18740 (svg_type): New static `image_type' struct.
18741 (librsvg/rsvg.h): Include it.
18742
187432007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
18744
18745 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
18746
187472007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
18748
18749 * lread.c (Qold_style_backquotes): New var.
18750 (syms_of_lread): Init and staticpro it.
18751 (load_warn_old_style_backquotes): New fun.
18752 (Fload): Use them to warn about old style backquotes.
18753 (end_of_file_error, Fload): Remove unused vars.
18754
18755 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
18756
18757 * lread.c (Vold_style_backquotes): New var.
18758 (syms_of_lread): Init and export it to Elisp.
18759 (read1): Set it when we find an old-style (back)quote.
18760
187612007-08-22 Jason Rumney <jasonr@gnu.org>
18762
18763 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
18764
187652007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
18766
18767 * puresize.h (BASE_PURESIZE): Increase to 1140000.
18768
187692007-08-19 Richard Stallman <rms@gnu.org>
18770
18771 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
18772
187732007-08-19 Andreas Schwab <schwab@suse.de>
18774
18775 * alloc.c (pure): Round PURESIZE up.
18776
187772007-08-17 Jan Djärv <jan.h.d@swipnet.se>
18778
18779 * xterm.c (handle_one_xevent): Remove check that mouse click is in
18780 active frame.
18781
187822007-08-16 Richard Stallman <rms@gnu.org>
18783
18784 * eval.c (Fcommandp): Add parens to clarify.
18785
18786 * minibuf.c (Fall_completions): Use enum for type of table.
18787
18788 * emacs.c (USAGE2): Improve text.
18789
187902007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
18791
18792 * term.c (tty_default_color_capabilities): Declare static
18793 variables in file scope, to avoid HPUX compiler problem.
18794
187952007-08-13 Jan Djärv <jan.h.d@swipnet.se>
18796
18797 * gtkutil.c (update_frame_tool_bar): Use -1 as index
18798 to gtk_toolbar_insert.
18799
188002007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
18801
18802 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
18803
18804 * insdel.c (reset_var_on_error): New fun.
18805 (signal_before_change, signal_after_change):
18806 Use it to reset (after|before)-change-functions to nil in case of error.
18807 Bind inhibit-modification-hooks to t.
18808 Don't bind (after|before)-change-functions to nil while they run.
18809
188102007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18811
18812 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
18813 filling pixmap with stippled background.
18814
188152007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18816
18817 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
18818 Don't use invisible frame as parent window for repositioning.
18819
188202007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
18821
18822 * print.c (new_backquote_output): Rename from old_backquote_output.
18823 (print): Inverse its logic (according to its name) so as to match the
18824 behavior of new_backquote_flag in lread.c.
18825
188262007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18827
18828 * gmalloc.c (posix_memalign): New function.
18829
18830 * macterm.c (frame_highlight, frame_unhighlight): Don't call
18831 ActivateControl/DeactivateControl here.
18832 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
18833 frame-notice-user-settings is non-nil.
18834 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
18835 for kEventParamFMFontStyle.
18836 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
18837 mac_pass_command_to_system and mac_pass_control_to_system here.
18838 (XTread_socket): Call ActivateControl/DeactivateControl here.
18839 (XTread_socket) [TARGET_API_MAC_CARBON]:
18840 Check mac_pass_command_to_system and mac_pass_control_to_system here.
18841 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
18842 for window repositioning.
18843
188442007-08-08 Glenn Morris <rgm@gnu.org>
18845
18846 * Replace `iff' in doc-strings and comments.
18847
188482007-08-07 Chong Yidong <cyd@stupidchicken.com>
18849
18850 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
18851
188522007-08-07 Martin Rudalics <rudalics@gmx.at>
18853
18854 * fileio.c (Finsert_file_contents): Run format-decode and
18855 after_insert_file_functions on entire buffer when REPLACE is
18856 non-nil and inhibit modification_hooks and point_motion_hooks.
18857 For consistency, run after_insert_file_functions iff something
18858 got inserted. Move signal_after_change and update_compositions
18859 after code running after_insert_file_functions. Make sure that
18860 undo_list doesn't record intermediate steps of the decoding process.
18861
188622007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18863
18864 * emacs.c (main)
18865 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
18866 Call malloc_enable_thread on interactive startup.
18867
18868 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
18869 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
18870 [USE_PTHREAD]: Conditionalize with it.
18871 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
18872 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
18873 New functions.
18874
188752007-08-06 Chong Yidong <cyd@stupidchicken.com>
18876
18877 * xdisp.c (redisplay_window): When restoring original buffer
18878 position, make sure it is still valid.
18879
18880 * image.c (png_load): Ignore png-supplied background color.
18881
188822007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18883
18884 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
18885 Use kCFAbsoluteTimeIntervalSince1970.
18886
18887 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
18888 New variable.
18889 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
18890 event loop should be quit.
18891 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
18892 Quit dialog event loop if quit_dialog_event_loop is set.
18893
18894 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
18895 (Selection): New typedef. Use instead of ScrapRef.
18896 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
18897 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
18898 (mac_clear_selection): Rename from clear_scrap.
18899 (get_flavor_type_from_symbol): New argument SEL and subsume function of
18900 scrap_has_target_type. All uses changed.
18901 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
18902 (mac_selection_has_target_p): New functions.
18903 (mac_put_selection_value): Rename from put_scrap_string.
18904 (mac_get_selection_value): Rename from get_scrap_string.
18905 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
18906 (put_scrap_private_timestamp, scrap_has_target_type)
18907 (get_scrap_private_timestamp): Remove functions.
18908 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
18909 (x_own_selection, x_get_local_selection):
18910 Use mac_valid_selection_value_p.
18911 (x_own_selection): Don't use put_scrap_private_timestamp.
18912 Record OWNERSHIP-INFO into Vselection_alist instead.
18913 (x_get_local_selection): Don't check type if request is local.
18914 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
18915 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
18916
189172007-08-04 Jan Djärv <jan.h.d@swipnet.se>
18918
18919 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
18920 add comment explaining why.
18921
189222007-08-03 Richard Stallman <rms@gnu.org>
18923
18924 * fileio.c (Fvisited_file_modtime): Use make_time.
18925
189262007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
18927
18928 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
18929 build.
18930
189312007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
18932
18933 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
18934
189352007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
18936
18937 * puresize.h (BASE_PURESIZE): Increase to 1130000.
18938
189392007-07-30 Richard Stallman <rms@gnu.org>
18940
18941 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
18942
189432007-07-29 Jan Djärv <jan.h.d@swipnet.se>
18944
18945 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
18946
189472007-07-28 Nick Roberts <nickrob@snap.net.nz>
18948
18949 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
18950 remote default-directory.
18951
18952 * buffer.c (mode-line-format): Update doc string.
18953
189542007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18955
18956 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
18957 scroll bar gap.
18958 (x_scroll_bar_create): Set bar->fringe_extended_p.
18959 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
18960 on frame edge. Check fringe background extension. Don't clear
18961 extended fringe background area.
18962
18963 * w32term.h (struct scroll_bar): New member fringe_extended_p.
18964 (w32_fill_area): Enclose multiple statements with do ... while (0).
18965
18966 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
18967 Extend fringe background to scroll bar gap.
18968 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
18969 Set bar->fringe_extended_p.
18970 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
18971 Put leftmost/rightmost scroll bars on frame edge. Check fringe
18972 background extension. Don't clear extended fringe background area.
18973
18974 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
18975 New member fringe_extended_p.
18976
189772007-07-25 Glenn Morris <rgm@gnu.org>
18978
18979 * Relicense all FSF files to GPLv3 or later.
18980
18981 * COPYING: Switch to GPLv3.
18982
189832007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
18984
18985 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
18986
18987 * data.c (Finteractive_form): Check for the presence of an
18988 `interactive-form' symbol property more thoroughly.
18989
18990 * data.c (Finteractive_form): Use an `interactive-form' property if
18991 present, analogous to the function-documentation property.
18992
189932007-07-24 Jason Rumney <jasonr@gnu.org>
18994
18995 * w32fns.c (x_real_positions): Get real position from OS instead of
18996 calculating it.
18997
189982007-07-23 Jason Rumney <jasonr@gnu.org>
18999
19000 * filelock.c (current_lock_owner): Allow for @ sign in username.
19001
190022007-07-22 Nick Roberts <nickrob@snap.net.nz>
19003
19004 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
19005 remote default-directory.
19006
19007 * buffer.c (mode-line-format): Describe above case in doc string.
19008
190092007-07-20 Eli Zaretskii <eliz@gnu.org>
19010
19011 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
19012 Define if not defined.
19013
190142007-07-18 Jason Rumney <jasonr@gnu.org>
19015
19016 * w32proc.c (w32_executable_type): Handle 64 bit executables.
19017
190182007-07-18 Richard Stallman <rms@gnu.org>
19019
19020 * data.c (Fsetq_default): Doc fix.
19021
19022 * eval.c (Fsetq): Doc fix.
19023
190242007-07-18 Juanma Barranquero <lekktu@gmail.com>
19025
19026 * coding.c (Ffind_operation_coding_system):
19027 * eval.c (For, Fand): Doc fixes.
19028 Reported by Johan Bockgård.
19029
190302007-07-18 Jan Djärv <jan.h.d@swipnet.se>
19031
19032 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
19033
19034 * xterm.h: Declare x_ewmh_activate_frame.
19035
19036 * xterm.c (x_ewmh_activate_frame): New function.
19037 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
19038
190392007-07-17 Martin Rudalics <rudalics@gmx.at>
19040
19041 * window.c (Fdisplay_buffer): If largest or LRU window is the
19042 only window, split it even if it is not eligible for splitting.
19043 This restores the original behavior broken by the 2007-07-15
19044 change.
19045
190462007-07-17 Glenn Morris <rgm@gnu.org>
19047
19048 * abbrev.c (abbrev_check_chars): New function.
19049 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
19050 Call abbrev_check_chars to check abbrev characters are word
19051 constituents. Doc fix.
19052
190532007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
19054
19055 * process.c (Fstart_process, Fmake_network_process)
19056 (read_process_output): Fix up last changes.
19057
190582007-07-16 Eli Zaretskii <eliz@gnu.org>
19059
19060 * makefile.w32-in (clean): Don't delete *~.
19061
190622007-07-16 Andreas Schwab <schwab@suse.de>
19063
19064 * window.c (Fdisplay_buffer): Use NILP.
19065 (Fset_window_scroll_bars): Likewise.
19066
190672007-07-15 Martin Rudalics <rudalics@gmx.at>
19068
19069 * window.c (window_min_size_2): New function.
19070 (window_min_size_1, size_window, Fdisplay_buffer)
19071 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
19072 windows without mode- or header-lines when window-min-height is
19073 too small.
19074 (size_window): Reset nodelete_p after testing it, following an
19075 earlier note by Kim F. Storm.
19076 (display_buffer): Do not set split_height_threshold to twice the
19077 value of window_min_height to avoid changing the value of a
19078 customizable variable. Rather explicitly check whether the
19079 height of the window that shall be splitted is at least as large
19080 as split_height_threshold.
19081 (Fwindow_full_width_p): New defun.
19082 (syms_of_window): Defsubr it.
19083
19084 * window.h: Add EXFUN for Fwindow_full_width_p.
19085
190862007-07-14 Jason Rumney <jasonr@gnu.org>
19087
19088 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
19089
190902007-07-14 Richard Stallman <rms@gnu.org>
19091
19092 * eval.c (maybe_call_debugger): New function.
19093 (find_handler_clause): Use maybe_call_debugger.
19094 Call it when the handler says `debug'.
19095 Eliminate DEBUGGER_VALUE_PTR.
19096 (Fsignal): Eliminate debugger_value.
19097 (Qdebug): New variable.
19098 (syms_of_eval): Initialize it.
19099
191002007-07-14 Juanma Barranquero <lekktu@gmail.com>
19101
19102 * eval.c (Fprogn):
19103 * keyboard.c (Ftrack_mouse):
19104 * print.c (Fwith_output_to_temp_buffer):
19105 * window.c (Fsave_window_excursion): Doc fix.
19106
191072007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
19108
19109 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
19110
191112007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
19112
19113 * process.h (struct Lisp_Process): Turn slots infd, outfd,
19114 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
19115 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
19116 read_output_delay, and read_output_skip from Lisp_Objects to ints.
19117 Remove unused encoding_carryover.
19118 * process.c: Adjust all functions accordingly.
19119
191202007-07-12 Richard Stallman <rms@gnu.org>
19121
19122 * term.c: Include unistd.h only if HAVE_UNISTD_H.
19123
191242007-07-11 Jason Rumney <jasonr@gnu.org>
19125
19126 * makefile.w32-in (LIBS): Include OLE32.
19127
19128 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
19129 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
19130
191312007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
19132
19133 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
19134 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
19135 from a Lisp_Object into a bare pointer.
19136 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
19137 Adjust the code correspondingly.
19138
19139 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
19140
19141 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
19142 (term_show_mouse_face): Remove unused var `j'.
19143 (handle_one_term_event): Remove unused vars `i' and `j'.
19144 Don't cast return value of ttyname since it's not necessary.
19145
191462007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
19147
19148 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
19149 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
19150
19151 * fns.c (map_char_table): Use an array of int for `indices' rather than
19152 an array of Lisp_Objects (which are only ever integers anyway).
19153 (Fmap_char_table): Update caller.
19154 * lisp.h: Update prototype.
19155 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
19156 * fontset.c (Ffontset_info):
19157 * casetab.c (set_case_table): Update callers.
19158
19159 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
19160
19161 * keymap.c (struct accessible_keymaps_data)
19162 (struct where_is_internal_data): New structures.
19163 (accessible_keymaps_1, where_is_internal_1): Use them to change
19164 interface to adhere to the one used by map_keymap.
19165 (Faccessible_keymaps, where_is_internal): Use map_keymap.
19166 (accessible_keymaps_char_table, where_is_internal_2): Remove.
19167
19168 * keymap.h (map_keymap_function_t): More informative prototype.
19169
191702007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
19171
19172 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
19173 (looking_at_1): Don't change search_regs and last_thing_searched
19174 if `inhibit-changing-match-data' is non-nil.
19175 (string_match_1, search_buffer, set_search_regs): Likewise.
19176 (syms_of_search): Add Lisp level definition for
19177 `inhibit-changing-match-data' and set it to nil.
19178 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
19179 start and end of the match, instead of using values in search_regs.
19180
191812007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
19182
19183 * minibuf.c (Fcompleting_read): New value `confirm-only'
19184 for `require-match'.
19185
191862007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
19187
19188 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
19189 part of the 2007-06-27 change to syms_of_fileio.
19190
191912007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19192
19193 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
19194 Check WINDOWP before using XWINDOW. Consolidate return statements.
19195
191962007-06-27 Richard Stallman <rms@gnu.org>
19197
19198 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
19199
192002007-06-27 Juanma Barranquero <lekktu@gmail.com>
19201
19202 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
19203
192042007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19205
19206 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
19207 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
19208 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
19209 (_free_internal, memalign): Use them.
19210 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
19211 Initialize to PTHREAD_MUTEX_INITIALIZER.
19212 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
19213 (morecore_nolock): Rename from morecore. All uses changed.
19214 Use only nolock versions of internal allocation functions.
19215 (_malloc_internal_nolock, _realloc_internal_nolock)
19216 (_free_internal_nolock): New functions created from
19217 _malloc_internal, _realloc_internal, and _free_internal.
19218 (_malloc_internal, _realloc_internal, _free_internal): Use them.
19219 Copy hook value to automatic variable before its use.
19220 (memalign): Copy hook value to automatic variable before its use.
19221
192222007-06-26 Kenichi Handa <handa@m17n.org>
19223
19224 * coding.c (Ffind_operation_coding_system): Docstring improved.
19225 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
19226
192272007-06-25 David Kastrup <dak@gnu.org>
19228
19229 * keymap.c (Fcurrent_active_maps): Add `position' argument.
19230 (Fwhere_is_internal): Adjust call to `current-active-maps' to
19231 cater for additional parameter.
19232
19233 * keymap.h: Adjust number of parameters to `current-active-maps'.
19234
19235 * doc.c (Fsubstitute_command_keys): Adjust call of
19236 `current-active-maps'.
19237
192382007-06-25 David Kastrup <dak@gnu.org>
19239
19240 * callint.c (Fcall_interactively): Make the parsing of interactive
19241 specs somewhat more readable.
19242
192432007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19244
19245 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
19246 to scroll bar gap also when bitmap fills fringe. Draw only foreground
19247 if extended background has already been filled.
19248
192492007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19250
19251 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
19252 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
19253
19254 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
19255 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
19256 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
19257 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
19258 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
19259 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
19260 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
19261 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
19262 Run timers during dialog popup.
19263 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
19264
192652007-06-21 Jason Rumney <jasonr@gnu.org>
19266
19267 * image.c (convert_mono_to_color_image): Swap fore and background.
19268
192692007-06-20 Jason Rumney <jasonr@gnu.org>
19270
19271 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
19272 (w32_free_bdf_font): Unmap memory not handle.
19273
192742007-06-20 Sam Steingold <sds@gnu.org>
19275
19276 * gmalloc.c (__morecore): Fix the declaration to comply with the
19277 definition.
19278
192792007-06-20 Juanma Barranquero <lekktu@gmail.com>
19280
19281 * w32term.c (w32_delete_display): Remove leftover declaration.
19282 (w32_define_cursor, w32_initialize): Make static.
19283
19284 * w32.c (_wsa_errlist): Fix typo in error message.
19285 (init_environment): Ignore any environment variable from the
19286 registry having a null value.
19287
192882007-06-20 Glenn Morris <rgm@gnu.org>
19289
19290 * Makefile.in (LIBGIF): Default to -lgif.
19291
192922007-06-17 Jason Rumney <jasonr@gnu.org>
19293
19294 * w32menu.c (add_menu_item): Don't use multibyte string functions on
19295 unicode strings.
19296
192972007-06-16 Juanma Barranquero <lekktu@gmail.com>
19298
19299 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
19300 Fix typo in docstring.
19301
193022007-06-16 Eli Zaretskii <eliz@gnu.org>
19303
19304 * w32menu.c (add_menu_item): Escape `&' characters in menu items
19305 and their keybindings.
19306
193072007-06-15 Chong Yidong <cyd@stupidchicken.com>
19308
19309 * composite.c (update_compositions): Fix last fix.
19310
193112007-06-14 Jason Rumney <jasonr@gnu.org>
19312
19313 * w32.c (get_process_times_fn): New function pointer.
19314 (globals_of_w32): Intialize it if present in kernel32.dll.
19315 (w32_get_internal_run_time): New function.
19316
19317 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
19318
193192007-06-14 Kenichi Handa <handa@etlken.m17n.org>
19320
19321 * composite.c (update_compositions): Check the validness of
19322 compositions.
19323
193242007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19325
19326 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
19327 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
19328
19329 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
19330 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
19331
19332 * macgui.h (USE_MAC_TOOLBAR): New define.
19333
19334 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19335 Return immediately unless popup is activated.
19336
19337 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
19338 background to scroll bar gap.
19339 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
19340 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
19341 scroll bars on frame edge. Check fringe background extension.
19342 Don't clear extended fringe background area.
19343 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
19344 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
19345 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
19346 [USE_MAC_TOOLBAR]: New macros.
19347 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
19348 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
19349 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
19350 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
19351 [USE_MAC_TOOLBAR]: New functions.
19352 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
19353 manually if previous repositioning has failed.
19354 (mac_handle_keyboard_event): Use precomputed event kind.
19355 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
19356 as tool bar item click. Handle mouse movement over tool bar items.
19357
19358 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
19359 toolbar_win_gravity.
19360 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
19361 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
19362 Add externs.
19363
19364 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
19365 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
19366
193672007-06-14 Chong Yidong <cyd@stupidchicken.com>
19368
19369 * image.c (search_image_cache): Remove unused variable.
19370
193712007-06-13 Chong Yidong <cyd@stupidchicken.com>
19372
19373 * xfns.c, xmenu.c: Link to xaw3d if available.
19374
193752007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19376
19377 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
19378 frame_foreground and frame_background.
19379
19380 * image.c (lookup_image): Save frame foreground and background colors.
19381 (search_image_cache): Check if saved and current frame colors match.
19382
193832007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
19384
19385 * regex.c (regex_compile): Remove the `regnum' counter.
19386 Use bufp->re_nsub instead. Add support for \(?N:RE\).
19387
193882007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
19389
19390 * term.c: Include intervals.h to declare Fget_text_property.
19391
193922007-06-10 Jason Rumney <jasonr@gnu.org>
19393
19394 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
19395
193962007-06-08 Juanma Barranquero <lekktu@gmail.com>
19397
19398 * callint.c (Fcall_interactively):
19399 * editfns.c (Fdelete_and_extract_region):
19400 * fileio.c (Fread_file_name):
19401 * fns.c (Fmapconcat):
19402 * keyboard.c (cmd_error_internal):
19403 * keymap.c (Fkey_description):
19404 * lread.c (openp):
19405 * minibuf.c (read_minibuf):
19406 * search.c (wordify):
19407 * sunfns.c (sel_read):
19408 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
19409 * xfns.c (x_default_scroll_bar_color_parameter):
19410 * xmenu.c (menu_help_callback):
19411 * xselect.c (Fx_get_atom_name):
19412 * xterm.c (x_term_init): Use empty_unibyte_string.
19413
194142007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
19415
19416 * alloc.c (init_strings): Initialize canonical empty strings.
19417 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
19418 canonical empty string when the requested size is 0.
19419
19420 * emacs.c (empty_unibyte_string): Rename from empty_string.
19421 (empty_multibyte_string): New canonical empty string.
19422 (syms_of_emacs): Don't initialize empty_string.
19423
19424 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
19425 string, if appropriate.
19426 (empty_unibyte_string, empty_multibyte_string): New externs.
19427 (empty_string): Remove extern.
19428
19429 * lread.c (syms_of_lread): Use empty_unibyte_string.
19430
194312007-06-07 Jason Rumney <jasonr@gnu.org>
19432
19433 * s/ms-w32.h: Don't define HAVE_TZNAME.
19434
19435 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
19436
194372007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19438
19439 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
19440
19441 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
19442 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
19443
19444 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19445 Don't call next handler.
19446 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
19447 Remove argument. Install handler to application.
19448 (set_frame_menubar): Don't change deep_p.
19449 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
19450 FRAME_OUTER_TO_INNER_DIFF_Y.
19451 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
19452 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
19453 [HAVE_DIALOGS]: New macros.
19454 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
19455 Use them.
19456 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
19457
19458 * macselect.c [MAC_OSX] (install_service_handler): Rename from
19459 init_service_handler. All callers changed. Return OSStatus value.
19460
19461 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
19462 All callers changed so as not to call SetPortWindowPort.
19463 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
19464 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
19465 mac_draw_string_common.
19466 (mac_draw_image_string_qd): Likewise.
19467 (mac_draw_string_common): Use them. Add INLINE.
19468 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
19469 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
19470 GetGlobalMouse.
19471 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
19472 and FRAME_OUTER_TO_INNER_DIFF_Y.
19473 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
19474 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
19475 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
19476 repositioning window to mac_handle_window_event.
19477 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
19478 saving window location to mac_handle_window_event
19479 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
19480 (install_menu_target_item_handler): Remove argument in extern.
19481 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
19482 Also accept command events.
19483 (do_keystroke): New function created from XTread_socket.
19484 (init_command_handler): Remove functions.
19485 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
19486 and save window location by kEventWindowShowing and kEventWindowHiding
19487 handlers here. Don't call next handler for window state change and
19488 focus events.
19489 (mac_handle_application_event, mac_handle_keyboard_event)
19490 [TARGET_API_MAC_CARBON]: New functions.
19491 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
19492 kEventWindowShowing and kEventWindowHiding events. Move installation
19493 of mouse, font, text input and menu target item handlers to
19494 install_application_handler.
19495 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
19496 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19497 New function.
19498 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19499 Register it.
19500 (XTread_socket) [TARGET_API_MAC_CARBON]:
19501 Consolidate SendEventToEventTarget calls.
19502 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
19503 Move application activation handler to mac_handle_application_event.
19504 Move keyboard handler to mac_handle_keyboard_event.
19505 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
19506 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
19507 init_command_handler. Call install_application_handler.
19508
19509 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
19510 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
19511
195122007-06-07 Glenn Morris <rgm@gnu.org>
19513
19514 * emacs.c (main): Use `emacs-copyright' in --version output.
19515
195162007-06-06 Chong Yidong <cyd@stupidchicken.com>
19517
19518 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
19519
195202007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19521
19522 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
19523
19524 * macgui.h: Replace WindowPtr with WindowRef.
19525
19526 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19527 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19528 Replace ControlHandle with ControlRef.
19529 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
19530
19531 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19532 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19533 Replace ControlHandle with ControlRef.
19534 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
19535 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
19536
19537 * macterm.h (struct scroll_bar): Rename member control_handle_low
19538 and control_handle_high to control_ref_low and control_ref_high.
19539 All uses changed.
19540 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
19541 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
19542 respectively. All uses changed.
19543 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
19544 (install_window_handler, remove_window_handler): Replace WindowPtr
19545 with WindowRef in externs.
19546
195472007-06-05 Juanma Barranquero <lekktu@gmail.com>
19548
19549 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
19550
195512007-06-03 Nick Roberts <nickrob@snap.net.nz>
19552
19553 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
19554
19555 * frame.c (Fmouse_position, Fmouse_pixel_position):
19556 Condition on HAVE_GPM too.
19557
19558 * term.c (term_mouse_highlight): Remove unused variables.
19559 (Fterm_open_connection): Set gpm_zerobased to 1.
19560 (term_mouse_movement, term_mouse_click, handle_one_term_event):
19561 Use zero based co-ordinates.
19562 (handle_one_term_event): Report a drag as mouse movement too.
19563
19564 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
19565
195662007-06-03 Chong Yidong <cyd@stupidchicken.com>
19567
19568 * image.c (search_image_cache): New function. Require background
19569 color match if background color is unspecified in the image spec.
19570 (uncache_image, lookup_image): Use it.
19571
195722007-06-01 Juanma Barranquero <lekktu@gmail.com>
19573
19574 * window.c (Fshrink_window): Reflow docstring.
19575
195762007-06-02 Chong Yidong <cyd@stupidchicken.com>
19577
19578 * Version 22.1 released.
19579
195802007-06-01 Richard Stallman <rms@gnu.org>
19581
19582 * xfns.c (x_encode_text): Add GCPRO.
19583
195842007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19585
19586 * xfns.c (x_set_name_internal): Save encoded name before
19587 x_encode_text in case string data is relocated.
19588
195892007-05-31 Richard Stallman <rms@gnu.org>
19590
19591 * buffer.c (syms_of_buffer): Doc fix.
19592
195932007-05-30 Nick Roberts <nickrob@snap.net.nz>
19594
19595 * sysdep.c (init_sys_modes): Add rather than replace with
19596 O_NONBLOCK.
19597
19598 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
19599 term_mouse_moveto.
19600
19601 * termhooks.h (term_mouse_moveto): New extern.
19602
19603 * term.c (mouse_face_window): Rename...
19604 (Qmouse_face_window): ...to this.
19605 (term_show_mouse_face, term_clear_mouse_face)
19606 (term_mouse_highlight): Use Qmouse_face_window.
19607 (term_mouse_moveto): New function.
19608 (term_mouse_position): Make it work.
19609 (syms_of_term): Uncomment assignment to mouse_position_hook.
19610 Staticpro Qmouse_face_window.
19611
196122007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19613
19614 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
19615 around current_column call.
19616
196172007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
19618
19619 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
19620 * xdisp.c (next_element_from_buffer):
19621 * window.c (delete_window):
19622 * term.c (term_mouse_highlight):
19623 * msdos.c (getdefdir):
19624 * macterm.c (mac_create_bitmap_from_bitmap_data)
19625 (init_font_name_table):
19626 * fns.c (Fsxhash):
19627 * data.c (Fmake_local_variable):
19628 * ccl.c (ccl_driver): Likewise.
19629
196302007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19631
19632 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
19633 Call mac_wakeup_from_rne on window size change.
19634
196352007-05-25 Chong Yidong <cyd@stupidchicken.com>
19636
19637 * image.c (uncache_image): Fix typo.
19638
196392007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
19640
19641 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
19642
196432007-05-22 Richard Stallman <rms@gnu.org>
19644
19645 * xterm.c (x_connection_closed): Remove NO_RETURN.
19646
196472007-05-22 Martin Rudalics <rudalics@gmx.at>
19648
19649 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
19650
196512007-05-21 Chong Yidong <cyd@stupidchicken.com>
19652
19653 * image.c (uncache_image): New function.
19654 (Fimage_refresh): New function.
19655
196562007-05-20 Jan Djärv <jan.h.d@swipnet.se>
19657
19658 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
19659
196602007-05-20 Nick Roberts <nickrob@snap.net.nz>
19661
19662 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
19663 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
19664
196652007-05-20 Nick Roberts <nickrob@snap.net.nz>
19666
19667 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
19668 conditional on [HAVE_GPM_H].
19669
196702007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
19671
19672 * syntax.c (skip_chars): Update syntax-table only after we checked that
19673 the new location is valid.
19674
196752007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19676
19677 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
19678 mac_get_window_bounds.
19679
196802007-05-20 Nick Roberts <nickrob@snap.net.nz>
19681
19682 * Makefile.in (LIBGPM): Allow it to be set from configure.
19683 If set then link Emacs with it.
19684
19685 * config.in: Regenerate.
19686
19687 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
19688 New externs.
19689
19690 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
19691 Include gpm.h.
19692 (handle_one_term_event, term_gpm): New externs.
19693
19694 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
19695 and allow it to be interrupted by SIGIO.
19696
19697 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
19698 (wait_reading_process_output): Wait on gpm_fd too.
19699 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
19700 (add_gpm_wait_descriptor_called_flag): New variable.
19701 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
19702
19703 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
19704 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
19705 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
19706 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
19707 (make_lispy_event): Add case GPM_CLICK_EVENT.
19708 (read_avail_input): Handle mouse input.
19709
19710 * term.c (write_glyphs_with_face): New function.
19711 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
19712 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
19713 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
19714 (mouse_face_face_id, term_gpm, pos_x, pos_y)
19715 (last_mouse_x, last_mouse_y): New variables.
19716 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
19717 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
19718 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
19719 (Fterm_close_connection): New functions.
19720 (term_init): Initialise mouse_face_window.
19721
197222007-05-19 Chong Yidong <cyd@stupidchicken.com>
19723
19724 * xdisp.c (redisplay_window): If first window line is a
19725 continuation line, recompute the new window start instead of
19726 recentering.
19727
197282007-05-18 Glenn Morris <rgm@gnu.org>
19729
19730 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
19731 Suggested by Alfred M. Szmidt <ams@gnu.org>.
19732
197332007-05-17 Glenn Morris <rgm@gnu.org>
19734
19735 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
19736
197372007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19738
19739 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
19740 dead key repeat and up events.
19741
197422007-05-14 Chong Yidong <cyd@stupidchicken.com>
19743
19744 * image.c (pbm_load): Check image size for monochrome pbm.
19745
197462007-05-13 Chong Yidong <cyd@stupidchicken.com>
19747
19748 * xterm.c (XTread_socket): Revert last change.
19749
197502007-05-12 Chong Yidong <cyd@stupidchicken.com>
19751
19752 * image.c (pbm_load): Correctly check image size for greyscale pbm.
19753
19754 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
19755
197562007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
19757
19758 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
19759 mixup (YAILOM).
19760
197612007-05-07 Andreas Schwab <schwab@suse.de>
19762
19763 * keymap.c (Flookup_key): Fix typo in last change.
19764
197652007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
19766
19767 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
19768 mapping for unibyte strings.
19769
197702007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19771
19772 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
19773 (Fx_popup_dialog) [MAC_OSX]: Likewise.
19774
197752007-04-29 Richard Stallman <rms@gnu.org>
19776
19777 * insdel.c (replace_range): For undo, record insertion first.
19778
197792007-04-29 Andreas Schwab <schwab@suse.de>
19780
19781 * lisp.h (VECSIZE): Use OFFSETOF.
19782
197832007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19784
19785 * xdisp.c (try_window_reusing_current_matrix): Fix number of
19786 disabled lines.
19787
197882007-04-28 Richard Stallman <rms@gnu.org>
19789
19790 * lread.c (read_escape): In a string, \s is always space.
19791
197922007-04-27 Jan Djärv <jan.h.d@swipnet.se>
19793
19794 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
19795
19796 * gtkutil.c (xg_update_menubar, create_menus): Create empty
19797 submenu for menu bar items.
19798
19799See ChangeLog.10 for earlier changes.
19800
19801;; Local Variables:
19802;; coding: utf-8
19803;; add-log-time-zone-rule: t
aac0c6e3
MR
19804;; End:
19805
76b6f707 19806 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
19807
19808 This file is part of GNU Emacs.
19809
19810 GNU Emacs is free software: you can redistribute it and/or modify
19811 it under the terms of the GNU General Public License as published by
19812 the Free Software Foundation, either version 3 of the License, or
19813 (at your option) any later version.
19814
19815 GNU Emacs is distributed in the hope that it will be useful,
19816 but WITHOUT ANY WARRANTY; without even the implied warranty of
19817 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19818 GNU General Public License for more details.
19819
19820 You should have received a copy of the GNU General Public License
19821 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19822
19823;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40