1 2008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
3 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
4 return it ORed with ctrl_modifier.
6 2008-01-29 Miles Bader <miles@gnu.org>
8 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
10 2008-01-28 Jason Rumney <jasonr@gnu.org>
12 * w32.c (stat): Don't double check for networked drive.
14 2008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
16 * window.c (run_window_configuration_change_hook): New function.
17 Code extracted from set_window_buffer. Set the selected frame.
18 (set_window_buffer): Use it.
19 * window.h (run_window_configuration_change_hook): Declare.
20 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
22 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
24 2008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
26 * Makefile.in: Remove references to unused macros.
28 2008-01-26 Eli Zaretskii <eliz@gnu.org>
30 * w32.c (g_b_init_get_sid_sub_authority)
31 (g_b_init_get_sid_sub_authority_count): New static variables.
32 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
33 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
34 (init_user_info): Use them to retrieve uid and gid.
35 Use 500/513, the Windows defaults, as Administrator's uid/gid.
36 (fstat): Use pw_uid and pw_gid from the_passwd structure for
37 st_uid and st_gid of the file.
39 2008-01-26 Jason Rumney <jasonr@gnu.org>
41 * w32.c (logon_network_drive): New function.
44 2008-01-26 Chong Yidong <cyd@stupidchicken.com>
46 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
47 invisible text covered with an ellipsis.
49 2008-01-25 Richard Stallman <rms@gnu.org>
51 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
52 jump back to beginning. Move some other initializations after that.
53 (Qwindow_text_change_functions, Vwindow_text_change_functions):
55 (syms_of_xdisp): Init them.
57 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
59 * buffer.c (reset_buffer_local_variables):
60 Implement `permanent-local-hook'.
61 (Qpermanent_local_hook): New variable.
62 (syms_of_buffer): Init and staticpro it.
64 2008-01-25 Michael Albinus <michael.albinus@gmx.de>
66 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
68 2008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
70 * fns.c (Fclrhash): Return TABLE.
72 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
74 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
75 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
76 is set even without positional changes.
77 (x_scroll_bar_clear): Set bar->redraw_needed_p.
79 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
81 2008-01-23 Jason Rumney <jasonr@gnu.org>
83 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
85 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
86 the unicode range available in MULE by locale-coding-system.
87 Improve dbcs lead byte detection. Set event timestamp and modifiers
90 2008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
92 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
93 [MAC_OSX] (init_mac_osx_environment): Initialize it.
94 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
95 when used on child processes.
97 2008-01-21 Michael Albinus <michael.albinus@gmx.de>
99 * dbusbind.c (Fdbus_method_return_internal): Rename from
101 (Fdbus_unregister_object): Move to dbus.el.
102 (Fdbus_call_method, Fdbus_method_return_internal)
103 (Fdbus_send_signal): Improve debug messages.
105 2008-01-20 Martin Rudalics <rudalics@gmx.at>
107 * undo.c (undo_inhibit_record_point): New variable.
108 (syms_of_undo): Initialize it.
109 (record_point): Don't record point when undo_inhibit_record_point
112 2008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
114 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
116 * xdisp.c (Qauto_hscroll_mode): New var.
117 (syms_of_xdisp): Initialize it.
118 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
120 (hscroll_windows): Don't check automatic_hscrolling_p here.
122 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
123 vscroll if we're setting window-buffer to the value it already has.
125 2008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
127 * m/intel386.h: Remove references to XENIX.
129 2008-01-17 Andreas Schwab <schwab@suse.de>
131 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
132 instead of HAVE_X86_64_LIB64_DIR.
133 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
135 2008-01-17 Glenn Morris <rgm@gnu.org>
137 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
138 to HAVE_X86_64_LIB64_DIR.
140 2008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
147 * s/hpux9shxr4.h: Remove files for systems no longer supported.
149 * sysdep.c: Remove code containing references to symbols defined
150 by unsupported systems.
152 2008-01-16 Glenn Morris <rgm@gnu.org>
154 * coding.c (select-safe-coding-system-function): Doc fix.
156 2008-01-15 Glenn Morris <rgm@gnu.org>
158 * config.in: Revert 2008-01-13 change: this is a generated file.
160 2008-01-13 Tom Tromey <tromey@redhat.com>
164 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
170 * s/ptx4.h: Remove files for systems no longer supported.
172 * callproc.c (Fcall_process): Fix previous change.
174 2008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
176 * unexsunos4.c: Remove file, system not supported anymore.
196 * alloc.c: Remove code containing references to symbols defined by
199 2008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
201 * coding.c (detect_coding_mask): Fix previous change.
203 2008-01-10 Chong Yidong <cyd@stupidchicken.com>
205 * process.c (wait_reading_process_output): Check for window
206 changes caused by timers.
208 2008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
210 * coding.c (detect_coding_iso2022): New arg
211 latin_extra_code_state. Allow Latin extra codes only
212 when *latin_extra_code_state is nonzero.
213 (detect_coding_mask): If there is a NULL byte, detect the encoding
214 as UTF-16 or binary. If Latin extra codes exist, detect the
215 encoding as ISO-2022 only when there's no other proper encoding is
218 2008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
220 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
223 2008-01-08 Richard Stallman <rms@gnu.org>
225 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
227 2008-01-06 Nick Roberts <nickrob@snap.net.nz>
229 * keyboard.c (parse_menu_item): Don't enclose key bindings on
230 menu bar in parentheses.
232 2008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
339 * unexsni.c: Remove files for systems no longer supported.
341 * m/intel386.h: Remove references to unsupported systems.
343 * w32.c (get_emacs_configuration): Remove reference to i860.
345 * sysdep.c: Remove dead code.
347 2008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
350 * m/masscomp.h: Remove files. Platform is obsolete.
352 2008-01-04 Michael Albinus <michael.albinus@gmx.de>
354 * dbusbind.c (Fdbus_method_return): New function.
355 (xd_read_message): Add the serial number to the event.
356 (Fdbus_register_method): Activate the function.
358 2008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
360 * keyboard.c (read_key_sequence): Fix typo.
362 2008-01-03 Michael Albinus <michael.albinus@gmx.de>
364 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
365 (xd_signature, xd_append_arg): Handle element type detection for
367 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
368 SDATA () calls; this must be solved more general.
369 (Fdbus_register_signal): Use SBYTES instead of strlen.
371 2008-01-03 Magnus Henoch <magnus@zemdatav>
373 * dbusbind.c (xd_append_arg): Use unsigned char instead of
374 unsigned int for byte values (necessary for big-endian platform).
375 (Fdbus_call_method): Handle the case of no returned arguments.
377 2007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
379 * dbusbind.c (xd_read_message): Use non-static input_event struct.
381 2007-12-31 Magnus Henoch <mange@freemail.hu>
383 * dbusbind.c (xd_signature): Signature of variant is just "v".
385 2007-12-30 Michael Albinus <michael.albinus@gmx.de>
387 * dbusbind.c: Fix several errors and compiler warnings.
388 Reported by Tom Tromey <tromey@redhat.com>
389 (XD_ERROR, XD_DEBUG_MESSAGE)
390 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
391 (xd_append_arg): Part for basic D-Bus types rewitten.
392 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
393 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
395 (xd_read_message): Return Qnil. Don't signal an error; it is not
396 useful during event reading.
397 (Fdbus_register_signal): Signal an error if the check for
399 (Fdbus_register_method): New function. The implementation is not
400 complete, the call of the function signals an error therefore.
401 (Fdbus_unregister_object): New function, renamed from
402 Fdbus_unregister_signal. The initial check signals an error, if
403 the object is not well formed.
405 2007-12-30 Richard Stallman <rms@gnu.org>
407 * textprop.c (get_char_property_and_overlay):
408 Signal error if POSITION is out of range in a buffer.
410 2007-12-29 Martin Rudalics <rudalics@gmx.at>
412 * w32fns.c (Fx_create_frame): Make copy of frame parameters
413 because the original parameters are in pure storage now.
415 2007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
417 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
419 2007-12-22 Eli Zaretskii <eliz@gnu.org>
421 * callint.c (syms_of_callint) <command-history>: Add reference to
422 history-length in the doc string.
424 2007-12-17 Jason Rumney <jasonr@gnu.org>
426 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
427 before passing as wParam.
429 2007-12-22 Michael Albinus <michael.albinus@gmx.de>
431 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
432 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
433 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
434 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
436 (Fdbus_call_method): Fix docstring.
438 2007-12-21 Michael Albinus <michael.albinus@gmx.de>
440 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
442 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
443 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
445 (xd_signature): New function.
446 (xd_append_arg): Compute also signatures. Major rewrite.
447 (xd_retrieve_arg): Make debug messages friendly.
448 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
449 Check for signatures of arguments.
451 2007-12-19 Michael Albinus <michael.albinus@gmx.de>
453 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
454 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
455 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
456 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
457 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
458 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
459 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
460 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
461 (xd_retrieve_value): Remove. Functionality included in ...
462 (xd_append_arg): New function.
463 (Fdbus_call_method, Fdbus_send_signal): Apply it.
465 2007-12-16 Michael Albinus <michael.albinus@gmx.de>
467 * dbusbind.c (top): Include <stdio.h>.
468 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
469 dbus_message_new_method_call and dbus_message_new_signal.
470 (Fdbus_register_signal): Rename unique_name to uname.
471 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
472 non-existing unique name. Fix typos in matching rule. Return an
473 object which is useful in Fdbus_unregister_signal.
474 (Fdbus_unregister_signal): Reimplementation, in order to remove
475 only the corresponding entry.
476 (Vdbus_registered_functions_table): Change the order of entries.
477 Apply these changes in xd_read_message and Fdbus_register_signal.
479 2007-12-16 Andreas Schwab <schwab@suse.de>
481 * fileio.c (Finsert_file_contents): Fix overflow check to not
482 depend on undefined integer overflow.
484 2007-12-14 Jason Rumney <jasonr@gnu.org>
486 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
487 for characters above 127.
489 2007-12-13 Jason Rumney <jasonr@gnu.org>
491 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
492 before dereferencing array.
493 (lookup_vk_code): Remove zero comparison.
495 2007-12-14 Michael Albinus <michael.albinus@gmx.de>
497 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
498 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
499 Use `unsigned int' instead of `uint'.
500 (xd_read_message, Fdbus_register_signal): Split expressions into
501 multiple lines before operators "&&" and "||", according to the
502 GNU Coding Standards.
504 2007-12-14 Eli Zaretskii <eliz@gnu.org>
506 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
508 2007-12-12 Juri Linkov <juri@jurta.org>
510 * buffer.c (Frename_buffer): In interactive spec replace
511 `read-buffer' with `read-string' that uses `buffer-name-history'
512 as history, and the current buffer's name as default.
514 2007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
516 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
517 manipulating the backtrace manually.
518 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
519 (struct backtrace, backtrace_list): Remove.
520 (command_loop_1): Remove dead var `no_direct'.
522 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
523 preserve non-built-in buffer-local variables.
524 (Fkill_all_local_variables): Don't re-create&re-set permanent
525 buffer-local variables.
527 2007-12-09 Juri Linkov <juri@jurta.org>
529 * buffer.c (Frename_buffer): Change interactive spec from "s" to
530 Lisp code that uses `read-buffer' with current buffer as default.
532 2007-12-08 Michael Albinus <michael.albinus@gmx.de>
534 * dbusbind.c (xd_read_message): Generate an event for every
535 registered handler. There might be several handlers registered
537 (Fdbus_register_signal): Don't overwrite a registration for the
538 same signal. Add a new registration if handlers are different.
539 (Vdbus_registered_functions_table): Rework doc string.
541 2007-12-07 Michael Albinus <michael.albinus@gmx.de>
543 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
544 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
545 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
546 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
547 Unify argument lists.
548 (xd_read_message, Fdbus_register_signal): Reorder and extend event
549 arguments and hash table keys. Use unique name for service.
550 (Fdbus_unregister_signal): Remove checks.
551 (Vdbus_registered_functions_table): Fix doc string.
553 2007-12-05 Magnus Henoch <mange@freemail.hu>
555 * process.c (make_process): Initialize pty_flag to 0.
557 2007-12-05 Jason Rumney <jasonr@gnu.org>
559 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
562 2007-12-05 Richard Stallman <rms@gnu.org>
564 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
566 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
568 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
570 (mac_try_close_socket) [MAC_OSX]: New function.
571 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
572 Update cfsockets_for_select. Replace invalid CFRunLoop source.
574 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
575 Use mac_try_close_socket.
577 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
579 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
581 (copy_dysymtab): Compute relocation base here.
582 (rebase_reloc_address) [__ppc64__]: New function.
583 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
586 2007-12-05 Jason Rumney <jasonr@gnu.org>
588 * w32proc.c (sys_spawnve): Quote args with wildcards.
590 2007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
592 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
594 (unrelocate) [_LP64]: Set relocation base to address of data segment.
596 2007-12-05 Michael Albinus <michael.albinus@gmx.de>
598 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
599 Move check for Vdbus_registered_functions_table to
600 xd_read_queued_messages.
601 (xd_read_queued_messages): Protect xd_read_message calls by
602 internal_condition_case_1.
604 2007-12-04 Michael Albinus <michael.albinus@gmx.de>
606 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
607 Qdbus_system_bus and Qdbus_session_bus, respectively.
608 (Vdbus_intern_symbols): Remove.
609 (Vdbus_registered_functions_table): New hash table.
610 (XD_SYMBOL_INTERN_SYMBOL): Remove.
611 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
612 Rewrite in order to manage registered functions by hash table
613 Vdbus_registered_functions_table.
615 2007-12-03 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
617 * xterm.c: Update URL to Window Manager Specification in comment.
619 2007-12-02 Michael Albinus <michael.albinus@gmx.de>
621 * config.in (HAVE_DBUS): Add.
623 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
624 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
625 (obj): Add $(DBUS_OBJ).
626 (LIBES): Add $(DBUS_LIBS).
627 (dbusbind.o): New target.
629 * dbusbind.c: New file.
631 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
633 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
634 (Qdbus_event): New Lisp symbol.
635 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
636 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
637 (keys_of_keyboard ): Define dbus-event.
639 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
641 2007-12-01 Richard Stallman <rms@gnu.org>
643 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
645 2007-11-30 Jason Rumney <jasonr@gnu.org>
647 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
648 (w32con_reset_terminal_modes): Clear screen buffer.
649 (w32_face_attributes): Don't use color indexes that are out of range.
650 Only reverse the default colors.
652 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
655 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
657 2007-11-29 Jason Rumney <jasonr@gnu.org>
659 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
660 (w32_face_attributes): Use Vtty_defined_color_alist to determine
661 if the terminal colors are initialized.
662 (unspecified_fg, unspecified_bg): Remove unused declarations.
664 2007-11-29 Andreas Schwab <schwab@suse.de>
666 * keyboard.c (apply_modifiers): Fix typo.
668 2007-11-29 Richard Stallman <rms@gnu.org>
670 * keymap.c (Fcurrent_local_map): Doc fix.
672 2007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
674 * s/gnu-kfreebsd.h: New file.
676 2007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
678 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
679 Don't cast redundantly.
681 * keyboard.c (KEY_TO_CHAR): New macro.
682 (parse_modifiers, apply_modifiers): Accept integer arguments.
683 (read_key_sequence): Use them to unify the "shift->unshift" mapping
684 for chars and symbol keys.
685 After doing such remapping, apply function-key-map again.
687 2007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
689 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
692 2007-11-26 Andreas Schwab <schwab@suse.de>
694 * process.c (list_processes_1): Fix indentation level of the
697 2007-11-23 Andreas Schwab <schwab@suse.de>
699 * editfns.c (Fformat): Handle %c specially since it requires the
700 argument to be of type int.
702 2007-11-23 Markus Triska <markus.triska@gmx.at>
704 * emacs.c (main): Call init_editfns before init_process, since
705 init_process sets Vprocess_connection_type depending on OS release
707 2007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
709 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
710 (find_symbol_value): Use do_symval_forwarding.
712 * data.c (set_internal): Set the value in the `cons-cell' (for
713 Buffer_Local_values) not only for frame-local variables.
715 2007-11-22 Andreas Schwab <schwab@suse.de>
717 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
719 * keymap.c (Fsingle_key_description): Likewise.
720 * print.c (print_object): Likewise.
722 2007-11-22 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
724 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
725 file for image is nil.
727 2007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
729 * term.c: Include stdarg.h.
730 (fatal): Implement using varargs.
731 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
733 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
735 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
736 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
737 Update call to buffer_slot_type_mismatch.
738 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
739 (buffer_slot_type_mismatch): Update.
740 * buffer.c (buffer_local_types): Remove.
741 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
742 (defvar_per_buffer): Set the type in the buffer_objfwd.
744 2007-11-21 Jason Rumney <jasonr@gnu.org>
746 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
747 CreateFileMapping returns NULL on failure.
749 2007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
751 * search.c (Fset_match_data): Remove the `evaporate' feature.
752 (unwind_set_match_data): Don't use the `evaporate' feature.
754 2007-11-21 Jason Rumney <jasonr@gnu.org>
756 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
758 * w32console.c (w32con_write_glyphs): Remove unused variables.
760 2007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
762 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
764 * s/darwin.h (MULTI_KBOARD): Remove.
766 * macfns.c (x_create_tip_frame, Fx_create_frame)
767 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
769 2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
771 * buffer.c (Fbuffer_local_value): Remove redundant test.
772 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
773 than in `current-buffer' to match the comment.
774 Do the swap using swap_in_global_binding.
776 * data.c (store_symval_forwarding, set_internal):
777 * eval.c (specbind): Remove dead code.
779 * coding.c (detect_coding, Fupdate_coding_systems_internal):
780 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
781 Since we do not want to see internal Lisp_*fwd objects here.
783 2007-11-18 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
785 * sysdep.c (init_system_name): Use getaddrinfo if available.
787 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
788 (x_scroll_bar_note_movement): start, end, with, height in struct
789 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
791 2007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
793 * puresize.h (BASE_PURESIZE): Increase to 1190000.
795 2007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
797 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
798 This undoes Richard's change of 14-Oct-2002.
800 * alloc.c (allocate_other_vector):
801 * lisp.h (allocate_other_vector): Remove.
803 * window.c (struct save_window_data): Move non-lisp data to the end
804 and make it `int' rather than Lisp_Object.
805 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
806 Done wrap/unwrap integer values.
807 (Fset_window_configuration, compare_window_configurations):
808 Update use of fields to their new types.
810 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
811 Turn integer fields into `int'. Merge x_window_low and x_window_high.
812 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
813 (SET_SCROLL_BAR_X_WINDOW): Remove.
814 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
815 Access the new x_window field directly.
816 * xterm.c (x_scroll_bar_create): Use a pseudovector.
817 Don't wrap/unwrap integers into Lisp_Objects.
818 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
819 (x_scroll_bar_report_motion):
820 Don't wrap/unwrap integers into Lisp_Objects.
821 (x_term_init): Use SDATA.
822 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
823 (x_scroll_bar_set_handle, x_scroll_bar_remove)
824 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
825 (x_scroll_bar_report_motion, x_scroll_bar_clear):
826 * xfns.c (x_set_background_color):
827 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
828 Access the new x_window field directly.
830 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
831 (allocate_pseudovector): Make non-static.
833 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
834 (allocate_pseudovector): Declare.
835 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c
837 2007-11-15 Andreas Schwab <schwab@suse.de>
839 * editfns.c (Fformat): Correctly format EMACS_INT values.
840 Also take precision into account when formatting an integer.
842 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
844 2007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
846 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
847 (syms_of_keyboard): Defsubr it.
849 * data.c (swap_in_global_binding): Fix longstanding bug where
850 store_symval_forwarding was not called with the right second argument,
851 thus causing objfwd-ing from being dropped.
853 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
855 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
856 (Fx_display_pixel_height, Fx_display_planes)
857 (Fx_display_color_cells, Fx_server_max_request_size)
858 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
859 (Fx_display_visual_class, Fx_display_save_under):
860 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
861 (Fx_display_pixel_height, Fx_display_planes)
862 (Fx_display_color_cells, Fx_server_max_request_size)
863 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
864 (Fx_display_mm_height, Fx_display_mm_width)
865 (Fx_display_backing_store, Fx_display_visual_class)
866 (Fw32_select_font, Fx_display_save_under):
867 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
868 (Fx_display_pixel_height, Fx_display_planes)
869 (Fx_display_color_cells, Fx_server_max_request_size)
870 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
871 (Fx_display_save_under): Fix typos in docstrings.
873 2007-11-14 Juanma Barranquero <lekktu@gmail.com>
875 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
876 corresponding to deleted entries; they are an implementation detail.
877 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
879 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
880 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
881 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
882 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
883 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
884 (Fw32_define_rgb_color, Fw32_load_color_file)
885 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
886 Fix typos in docstrings.
887 (Fx_server_version): Reflow docstring.
888 (Fw32_shell_execute): Doc fixes.
890 2007-11-13 Juanma Barranquero <lekktu@gmail.com>
892 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
893 if w32_parse_hot_key returned nil.
895 2007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
897 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
899 2007-11-09 Jason Rumney <jasonr@gnu.org>
901 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
903 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
905 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
906 Remove W32_SCROLL_BAR_CLICK_EVENT.
908 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
909 Add MULTIMEDIA_KEY_EVENT.
911 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
912 (lispy_multimedia_keys) [WINDOWSNT]: New array.
913 (make_lispy_event) [WINDOWSNT]: Use it to translate
914 MULTIMEDIA_KEY_EVENT.
916 * w32term.h (WM_APPCOMMAND): Define if not already.
917 (GET_APPCOMMAND_LPARAM): Likewise.
919 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
922 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
923 (syms_of_w32fns): Export and initialize it.
924 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
926 2007-11-09 Chong Yidong <cyd@stupidchicken.com>
928 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
931 * xdisp.c (handle_face_prop): Fix last change.
933 2007-11-09 Richard Stallman <rms@gnu.org>
935 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
936 not just for after-strings and before-strings.
937 Call face_for_overlay_string and pass the overlay to it.
938 (handle_display_prop): Determine whether property came from an overlay.
939 Pass OVERLAY arg to handle_single_display_spec.
940 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
941 (load_overlay_strings): Fill in it->string_overlays.
942 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
944 * xfaces.c (face_for_overlay_string): Function renamed from
945 face_at_buffer_position_no_overlays, and add arg OVERLAY.
947 * dispextern.h (struct it): New elt string_overlays.
948 New elt from_overlay, also in stack.
949 Rearrange a few elements.
950 (face_for_overlay_string): Decl renamed from
951 face_at_buffer_position_no_overlays, and add argument.
953 2007-11-09 Richard Stallman <rms@gnu.org>
955 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
956 to get the base face for an overlay string.
958 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
960 * xfaces.c (face_at_buffer_position_no_overlays): New function.
962 * xdisp.c (handle_stop): Move some code out of loop.
964 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
966 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
967 Fix conversion from Lisp object to ATSUFontID.
969 2007-11-09 Jason Rumney <jasonr@gnu.org>
971 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
973 2007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
975 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
976 Don't assume regions are aligned to page boundary.
977 (print_load_command_name): Add LC_UUID if defined.
979 2007-11-09 Richard Stallman <rms@gnu.org>
981 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
983 2007-11-07 Jason Rumney <jasonr@gnu.org>
985 * s/windows95.h: Remove.
987 2007-11-06 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
989 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
990 abort with a message on unhandled store_type values.
992 2007-11-01 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
994 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
995 Remove HAVE_X11R5 and HAVE_X11R4.
997 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
999 * Makefile.in: Remove references to sunfns.c and sunfns.o.
1001 2007-11-01 Johan Bockg
\e,Ae
\e(Brd <bojohan@gnu.org>
1003 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
1004 Don't set s->stippled_p here, since it has already been set by
1005 x_set_glyph_string_gc from x_draw_glyph_string.
1007 2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
1009 * sunfns.c: Remove file
1013 * m/sparc.h: Remove Sun windows code.
1015 2007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
1017 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
1018 (init_keyboard): Set current_kboard's window-system to nil.
1019 (tty_read_avail_input): Typo.
1020 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
1022 2007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
1029 * Makefile.in: Remove all mentions of X10
1031 * dispnew.c (syms_of_display): Don't mention version 10.
1033 2007-10-28 Juanma Barranquero <lekktu@gmail.com>
1035 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
1036 ($(BLD)/abbrev.$(O)): Remove.
1038 2007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1040 Rewrite abbrev.c in Elisp.
1041 * image.c (Qcount): Don't declare as extern.
1042 (syms_of_image): Initialize and staticpro `Qcount'.
1043 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
1044 * emacs.c (main): Don't call syms_of_abbrev.
1045 * Makefile.in (obj): Remove abbrev.o.
1049 2007-10-26 Martin Rudalics <rudalics@gmx.at>
1051 * window.c (window_min_size_2): Don't count header-line.
1053 2007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
1055 * frame.h (struct frame): Move all bit fields after the first bit
1056 field to take advantage of the available space. Group all the
1057 chars together to reduce wasted space due to padding.
1059 2007-10-26 Juanma Barranquero <lekktu@gmail.com>
1061 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
1063 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
1064 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
1065 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
1066 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
1067 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
1068 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
1069 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
1070 (last_marked, mark_object_loop_halt): Make static.
1072 * frame.c (syms_of_frame) <delete-frame-functions>:
1073 Fix typo in docstring.
1075 2007-10-25 Juanma Barranquero <lekktu@gmail.com>
1077 * w32.c (init_environment): Fix tiny memory leak.
1078 (w32_get_resource): Remove unused variable `ok'.
1080 2007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
1082 Make `window-system' into a keyboard-local variable (rather than
1083 frame-local as done originally by multi-tty).
1085 * keyboard.h (struct kboard): Add Vwindow_system.
1086 * keyboard.c (init_kboard): Set a default for Vwindow_system.
1087 (mark_kboards): Mark Vwindow_system.
1089 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
1090 (init_display): Don't set the obsolete `window-system' frame-param.
1092 * xterm.c (x_term_init):
1093 * w32term.c (w32_create_terminal):
1094 * term.c (init_tty): Set Vwindow_system.
1095 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
1096 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
1098 * xfns.c (Fx_create_frame, x_create_tip_frame):
1099 * w32fns.c (Fx_create_frame, x_create_tip_frame):
1100 * macfns.c (Fx_create_frame):
1101 Don't set the obsolete `window-system' frame-param.
1103 * frame.h (Qwindow_system): Remove.
1104 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
1105 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
1107 2007-10-24 Richard Stallman <rms@gnu.org>
1109 * frame.c (x_figure_window_size): For fullscreen case,
1110 set USPosition | PPosition without clobbering rest of window_prompting.
1112 * keyboard.c (Fcurrent_idle_time): Doc fix.
1114 * print.c (Fwith_output_to_temp_buffer): Doc fix.
1116 2007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
1118 * process.c (unwind_request_sigio): Only define if __ultrix__.
1120 * callproc.c (child_setup): Remove spurious *.
1122 * lisp.h (Fget_text_property): Declare.
1123 (have_menus_p): Declare it here rather than in sys-dep header files.
1124 * macterm.h (have_menus_p):
1125 * msdos.h (have_menus_p):
1126 * xterm.h (have_menus_p): Remove.
1128 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
1129 (Fmake_variable_frame_local): Just check the variable's const-ness
1130 rather than checking nil or t.
1132 2007-10-22 Jason Rumney <jasonr@gnu.org>
1134 * w32fns.c: Include math.h.
1135 (w32_abort): Declaration moved to nt/config.nt.
1137 * s/ms-w32.h (HAVE_STDLIB_H): Define.
1138 (abort): Redefinition moved to nt/config.nt.
1140 * m/windowsnt.h: Remove.
1142 2007-10-22 Juanma Barranquero <lekktu@gmail.com>
1144 * emacs.c (Fdump_emacs): Fix typo in message.
1145 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
1146 <installation-directory>: Reflow docstring.
1148 2007-10-22 Juri Linkov <juri@jurta.org>
1150 * minibuf.c: Allow minibuffer default to be a list of default values.
1151 With empty input use the first element of this list as returned default.
1153 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
1154 (read_minibuf): If defalt is cons, set histstring to its car.
1155 (Fread_string): If default_value is cons, set val to its car.
1156 (Fread_buffer): If def is cons, use its car.
1157 (Fcompleting_read): If defalt is cons, set val to its car.
1159 2007-10-21 Michael Albinus <michael.albinus@gmx.de>
1161 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
1163 2007-10-20 Juanma Barranquero <lekktu@gmail.com>
1165 * doc.c (Fdocumentation): Check for advice in all cases.
1167 2007-10-19 Chong Yidong <cyd@stupidchicken.com>
1169 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
1171 2007-10-19 Richard Stallman <rms@gnu.org>
1173 * doc.c (Fdocumentation): Check for and handle an advised function.
1175 2007-10-19 Juanma Barranquero <lekktu@gmail.com>
1177 * process.c (Fset_process_filter): Doc fix.
1179 2007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
1181 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
1182 which caused key-translation-map to applied repeatedly (thus breaking
1185 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
1187 * xselect.c (x_own_selection, x_handle_selection_clear)
1188 (x_clear_frame_selections):
1189 * w32menu.c (list_of_panes, list_of_items):
1190 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
1191 * textprop.c (validate_plist, interval_has_all_properties)
1192 (interval_has_some_properties, interval_has_some_properties_list)
1193 (add_properties, text_property_list):
1194 * process.c (Fget_buffer_process, list_processes_1, status_notify):
1195 * minibuf.c (Fassoc_string):
1196 * macselect.c (x_own_selection, x_clear_frame_selections)
1197 (Fx_disown_selection_internal):
1198 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
1199 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
1201 2007-10-17 Chong Yidong <cyd@stupidchicken.com>
1203 * process.c: Link to libs for calling res_init() if available.
1204 (Fmake_network_process): Call res_init() before getaddrinfo or
1205 gethostbyname, if possible.
1207 2007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
1209 * lread.c (read1): Set pvectype for char_tables.
1211 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
1212 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
1214 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
1216 * alloc.c (free_misc): Use XMISCTYPE.
1217 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
1219 2007-10-17 Glenn Morris <rgm@gnu.org>
1221 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
1222 (syms_of_minibuf): Add Qcompletion_ignore_case.
1223 * dired.c (Qcompletion_ignore_case): Change to external.
1224 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
1225 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
1226 (Fread_file_name): Use it rather than intern'ing.
1228 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
1229 (Fread_coding_system): Ignore case of user input.
1231 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1233 * xdisp.c (handle_display_prop): Ignore display specs after
1234 replacing one when string text is being replaced.
1235 (handle_single_display_spec): Pretend as if characters with display
1236 property haven't been consumed only when buffer text is being replaced.
1238 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
1240 * xfns.c (Fx_create_frame, Fx_display_list):
1241 * window.c (window_fixed_size_p, enlarge_window)
1242 (shrink_window_lowest_first):
1243 * macterm.c (init_font_name_table):
1244 * macfns.c (Fx_create_frame, Fx_display_list):
1245 * lread.c (close_load_descs):
1246 * keyboard.c (read_char_x_menu_prompt):
1247 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
1248 * coding.c (code_convert_region_unwind): Test the type of an object
1249 rather than just !NILP before extracting data from it.
1251 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
1253 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
1254 (XMISCANY): New macro.
1255 (XMISCTYPE): Use it.
1256 (struct Lisp_Misc_Any): New type.
1257 (union Lisp_Misc): Use it.
1258 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
1259 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
1260 (find_symbol_value, set_internal, default_value, Fset_default)
1261 (Fmake_variable_buffer_local, Fmake_local_variable)
1262 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
1263 (Flocal_variable_if_set_p, Fvariable_binding_locus):
1264 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
1265 * alloc.c (allocate_buffer): Set the size and tag.
1266 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
1268 (die): Follow the GNU convention for error messages.
1269 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
1270 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
1272 (set_buffer_internal_1):
1273 * frame.c (store_frame_param):
1274 * eval.c (specbind):
1275 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
1277 * doc.c (Fsnarf_documentation): Simplify.
1279 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
1281 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
1282 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
1284 2007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
1286 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
1288 2007-10-14 Juanma Barranquero <lekktu@gmail.com>
1290 * eval.c (do_autoload): Don't save autoloads.
1292 * data.c (Ffset): Save autoload of the function being set.
1294 2007-10-07 John Paul Wallington <jpw@pobox.com>
1296 * xfns.c (x_create_tip_frame): Set the `display-type' frame
1297 parameter before setting up faces.
1299 2007-10-13 Eli Zaretskii <eliz@gnu.org>
1301 * ccl.c (Fregister_code_conversion_map):
1302 * keyboard.c (append_tool_bar_item): Reformat last change.
1304 * lisp.h (eabs): Rename from `abs'. All callers changed.
1306 2007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
1308 * buffer.c (add_overlay_mod_hooklist):
1309 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
1310 * fontset.c (make_fontset):
1311 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
1312 (append_tool_bar_item):
1313 * macmenu.c (grow_menu_items):
1314 * w32menu.c (grow_menu_items):
1315 * xmenu.c (grow_menu_items): Use larger_vector.
1317 2007-10-13 Eli Zaretskii <eliz@gnu.org>
1319 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
1320 selected frame'' on MSDOS).
1322 2007-10-12 Martin Rudalics <rudalics@gmx.at>
1324 * frame.c (Qexplicit_name): New variable.
1325 (x_report_frame_params): Report it in parameter alist.
1326 (syms_of_frame): Intern and staticpro it.
1328 2007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
1330 * macfns.c (x_create_tip_frame): Set terminal for frame.
1332 2007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
1334 * frame.c (Qenvironment): Remove.
1335 (syms_of_frame) <Qenvironment>: Don't initialize.
1336 (Fdelete_frame): Don't treat the `environment' param specially.
1337 * frame.h (Qenvironment): Don't declare.
1338 * callproc.c (set_initial_environment): Don't set unused frame param.
1340 * frame.c (Fframe_with_environment): Remove.
1341 (syms_of_frame) <Sframe_with_environment>: Don't declare.
1343 * lisp.h (Fframe_with_environment): Don't declare.
1345 2007-10-10 Juanma Barranquero <lekktu@gmail.com>
1347 * indent.c (indent_tabs_mode, last_known_column)
1348 (last_known_column_modified): Make static.
1349 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
1351 2007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
1353 * puresize.h (BASE_PURESIZE): Increase to 1170000.
1355 2007-10-09 Jason Rumney <jasonr@gnu.org>
1357 * w32term.c (x_set_window_size): Disable code that attempts to tell
1358 Lisp code about a size change before it actually happens.
1360 2007-10-09 Richard Stallman <rms@gnu.org>
1362 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
1363 return HANDLED_RETURN.
1365 2007-10-08 Martin Rudalics <rudalics@gmx.at>
1367 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
1368 when there's an unread command event.
1370 * frame.c (focus_follows_mouse): Move here from frame.el to allow
1371 window autoselection act appropriately when leaving selected frame.
1372 (syms_of_frame): Initialize focus_follows_mouse.
1373 * frame.h (focus_follows_mouse): Extern it.
1374 * macterm.c (XTread_socket): When focus_follows_mouse is nil
1375 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
1376 * msdos.c (dos_rawgetc): Likewise.
1377 * w32term.c (w32_read_socket): Likewise.
1378 * xterm.c (handle_one_xevent): Likewise.
1379 * xdisp.c (syms_of_xdisp): In doc-string of
1380 mouse-autoselect-window mention focus-follows-mouse.
1382 2007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1384 * macterm.c (mac_load_query_font): Fix missing return value.
1385 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
1388 2007-10-08 Richard Stallman <rms@gnu.org>
1390 * xdisp.c (get_window_cursor_type): Implement documented behavior
1391 for cursor-in-non-selected-windows = t.
1393 2007-10-08 Jason Rumney <jasonr@gnu.org>
1395 * w32.c (w32_get_resource): Always close registry keys.
1397 2007-10-08 Jason Rumney <jasonr@gnu.org>
1399 * makefile.w32-in (LIBS): Add COMCTL32.
1401 * w32fns.c (globals_of_w32fns): Init common controls.
1403 2007-10-08 Richard Stallman <rms@gnu.org>
1405 * image.c (our_memory_buffer): Rename from omfib_buffer.
1407 2007-10-08 Richard Stallman <rms@gnu.org>
1409 * buffer.c (Foverlays_at): Doc fix.
1411 2007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
1413 * fns.c (Fplist_put): Preserve uneven tail data.
1415 2007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
1417 * termhooks.h (enum event_kind): Remove trailing comma.
1419 * frame.h (enum): Remove trailing comma.
1421 2007-10-08 Dhuvra Krishnamurthy <dhuvrakm@gmail.com> (tiny change)
1423 * w32proc.c (delete_child): Don't terminate threads of zombies.
1425 2007-10-08 Martin Rudalics <rudalics@gmx.at>
1427 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
1429 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
1430 last-repeatable-command.
1431 (init_kboard): Initialize Vlast_repeatable_command.
1432 (command_loop_1): Set it to real_this_command unless that was
1433 bound to an input event.
1434 (mark_kboards): Mark it.
1436 2007-10-08 Richard Stallman <rms@gnu.org>
1438 * eval.c (condition-case): Doc fix.
1440 2007-10-08 Masatake YAMATO <jet@gyve.org>
1442 * xfaces.c (tty_supports_face_attributes_p): Fix code
1443 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
1444 was copied and not edited.
1446 2007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
1448 Add new `input-decode-map' keymap and use it for terminal
1450 * keyboard.h (struct kboard): Add Vinput_decode_map.
1451 Remove Vlocal_key_translation_map.
1452 * keyboard.c (read_key_sequence): Add support for input-decode-map.
1453 (init_kboard): Init input-decode-map.
1454 Replace local-key-translation-map back with key-translation-map.
1455 (syms_of_keyboard): Declare input-decode-map.
1456 Remove local-key-translation-map. Update docstrings.
1457 (mark_kboards): Mark Vinput_decode_map.
1458 Don't mark Vlocal_key_translation_map.
1459 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
1460 Replace local-key-translation-map back with key-translation-map.
1461 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
1462 Bind in input-decode-map rather than function-key-map.
1464 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
1465 This was made redundant by the previous introduction of XSETPVECTYPE.
1467 2007-10-09 Richard Stallman <rms@gnu.org>
1469 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
1471 2007-09-29 Richard Stallman <rms@gnu.org>
1473 * eval.c (internal_condition_case_2, internal_condition_case_1)
1474 (internal_condition_case): Reenable abort if x_catching_errors ()
1475 to see if that really happens and why.
1477 2007-10-06 Andreas Schwab <schwab@suse.de>
1479 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
1481 2007-10-04 Juanma Barranquero <lekktu@gmail.com>
1483 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
1485 2007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
1487 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
1489 2007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
1491 * window.h (struct window):
1492 * window.c (struct save_window_data, struct saved_window):
1493 * termhooks.h (struct terminal):
1494 * process.h (struct Lisp_Process):
1495 * frame.h (struct frame):
1496 * buffer.h (struct buffer):
1497 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
1498 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
1499 The size field of (pseudo)vectors is now unsigned.
1500 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
1502 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
1503 Turn `count' into an integer.
1505 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
1506 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
1507 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
1508 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
1509 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
1511 * alloc.c (allocate_pseudovector): New fun.
1512 (ALLOCATE_PSEUDOVECTOR): New macro.
1513 (allocate_window, allocate_terminal, allocate_frame)
1514 (allocate_process): Use it.
1515 (mark_vectorlike): New function.
1516 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
1517 (mark_terminals): Use it.
1518 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
1519 (Fmake_byte_code): Use XSETPVECTYPE.
1521 * frame.c (Fframe_parameters): Minor simplification.
1523 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
1525 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
1527 * buffer.c (Fget_buffer_create, init_buffer_once):
1528 * lread.c (defsubr):
1529 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
1531 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
1532 defined differently in the m/*.h files.
1533 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
1534 (XSETPVECTYPE): New macro.
1535 (XSETPSEUDOVECTOR): Use it.
1537 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
1538 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
1540 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
1541 * lread.c (defvar_per_buffer):
1542 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
1544 * window.c (candidate_window_p): Only consider as visible frames that
1545 are on the same terminal.
1547 * m/ibms390x.h (MARKBIT): Remove unused macro.
1549 2007-10-01 Juanma Barranquero <lekktu@gmail.com>
1551 * lread.c (Fload): Fix typo in docstring.
1553 2007-10-01 Micha
\e,Ak
\e(Bl Cadilhac <michael@cadilhac.name>
1555 * floatfns.c (Fexpt): Manually check for overflows, so that a power
1556 of a non-zero value can't yield zero.
1558 2007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
1560 * term.c (term_clear_mouse_face, term_mouse_highlight)
1561 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
1563 * print.c (safe_debug_print): Use XHASH.
1565 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
1566 Lisp elements such as tags.
1569 (SREF, SSET, STRING_COPYIN): Use SDATA.
1570 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
1572 * alloc.c (mark_terminal): Remove left-over declaration.
1573 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
1574 (allocate_vectorlike): Remove type argument. Adjust callers.
1575 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
1576 Only handle the one remaining MEM_TYPE_VECTORLIKE.
1578 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
1579 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
1580 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
1581 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
1582 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
1585 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
1586 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
1587 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
1589 2007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
1591 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
1594 2007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
1596 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
1598 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
1600 * term.c (mouse_face_window): Rename from Qmouse_face_window.
1602 (handle_one_term_event): Use Gpm_DrawPointer.
1603 (Fgpm_mouse_start): Rename from Fterm_open_connection.
1604 Signal errors instead of returning nil. Always return nil.
1605 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
1606 Make it a noop if gpm-mouse was not activated.
1607 (syms_of_term): Update names.
1609 2007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
1611 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
1612 (init_sys_modes): Check that gpm_tty is the current tty.
1614 * alloc.c (allocate_terminal): Set the vector size to only count the
1615 lisp fields. Initialize those to nil.
1616 (mark_object): Don't treat terminals specially.
1617 (mark_terminal): Remove.
1618 (mark_terminals): Use mark_object instead.
1620 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
1621 the GC to the beginning.
1624 * indent.c: Use EMACS_INT for ints coming from Elisp data.
1626 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
1628 2007-09-25 Jason Rumney <jasonr@gnu.org>
1630 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
1632 * w32console.c (create_w32cons_output): Remove.
1634 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
1636 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
1637 (reset_sys_modes): Use reset_terminal_modes_hook.
1639 2007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
1641 * eval.c (do_autoload): Don't output any message.
1643 2007-09-24 Juri Linkov <juri@jurta.org>
1645 * emacs.c (standard_args): Change priority of "--no-splash"
1646 from 40 to 3. Add "--no-desktop" with the same priority.
1648 2007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
1650 * alloc.c (gc_sweep): Check cons cell mark bits word by word
1651 and optimize the case where they are all 1.
1653 2007-09-23 Johannes Weiner <hannes@saeurebad.de>
1655 * lisp.h (abs): Define if not defined.
1656 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
1657 Don't define `abs', since it's defined in lisp.h.
1659 2007-09-22 Eli Zaretskii <eliz@gnu.org>
1661 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
1662 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
1663 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
1664 (init_tty): Use DEV_TTY instead of "/dev/tty".
1665 [WINDOWSNT]: No need to protect from NAME arg being null.
1667 2007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
1669 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
1672 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
1674 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
1675 (gpm_tty): Change its type.
1676 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
1677 (gpm_tty): Change its type and initialize it.
1678 (Fterm_open_connection): Check the frame is indeed a tty.
1679 Use the new gpm_tty.
1680 (Fterm_close_connection): Use the new gpm_tty.
1681 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
1682 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
1684 2007-09-21 Juanma Barranquero <lekktu@gmail.com>
1686 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
1687 underline_color, to draw strike-through.
1689 2007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
1691 * lisp.h (allocate_terminal): Declare.
1693 * window.c (candidate_window_p): Consider frames that are being placed
1694 by the user as somewhere between visible and iconified.
1695 (window_loop): Prefer windows on the current frame.
1696 (Fselect_window): Move the use of select-frame to the beginning so we
1697 can just delegate all the work (it'll call us back anyway).
1699 * frame.c (Qdisplay_environment_variable):
1700 * frame.h (Qdisplay_environment_variable): Delete.
1702 * .gdbinit (xbacktrace): Print the arg's address rather than the value
1703 of the first arg, since that value may be a union.
1705 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
1706 parameter rather than Qdisplay_environment_variable. If all else
1707 fails, look for DISPLAY in initial-environment.
1709 2007-09-21 Glenn Morris <rgm@gnu.org>
1711 * Makefile.in (emacstool): Remove target.
1712 (lisp, shortlisp): Remove termdev.elc.
1714 2007-09-21 Markus Triska <markus.triska@gmx.at>
1716 * xterm.c (x_delete_display): Compile session management conditionally.
1718 2007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
1720 * callproc.c (getenv_internal_1): New function.
1721 (getenv_internal): Use it.
1722 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
1724 * terminal.c (get_terminal): Don't accept ints to represent terminals.
1725 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
1726 (Fset_terminal_parameter): Work with dead terminals as well.
1727 (Fmodify_terminal_parameters): Remove.
1729 * terminal.c (get_terminal): Handle terminals.
1730 Make sure the terminal returned is live.
1731 (create_terminal): Use allocate_terminal.
1732 (mark_terminals): Move to alloc.c.
1733 (delete_terminal): Use terminal->name as liveness status.
1734 NULL out fields after freeing their contents.
1735 Don't deallocate the object.
1736 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
1738 (Fterminal_live_p): Accept non-integer arguments.
1739 (Fterminal_list): Return terminal objects rather than an ints.
1741 * alloc.c (enum mem_type): New member for `terminal' objects.
1742 (allocate_terminal): New function.
1743 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
1745 (mark_terminal): New fun.
1746 (mark_terminals): Move from terminal.c.
1748 * term.c (get_tty_terminal): Don't treat output_initial specially.
1749 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
1750 (delete_tty): Use terminal->name as liveness status.
1752 * termhooks.h (struct terminal): Make it into a pseudovector.
1753 Remove `deleted' replaced by checking `name's nullness.
1755 * print.c (print_object): Handle terminals.
1757 * lisp.h (enum pvec_type): New `terminal' pseudovector.
1758 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
1760 * frame.c (make_terminal_frame):
1761 * keyboard.c (tty_read_avail_input):
1762 * w32term.c (x_delete_terminal):
1763 * xfns.c (Fx_create_frame, x_create_tip_frame):
1764 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
1766 2007-09-20 Glenn Morris <rgm@gnu.org>
1768 * process.c (Fmake_network_process): Doc fix.
1770 2007-09-19 Jason Rumney <jasonr@gnu.org>
1772 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
1774 2007-09-19 Micha
\e,Ak
\e(Bl Cadilhac <michael@cadilhac.name>
1776 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
1777 Fix a C warning regarding variable constness.
1779 * xterm.c (handle_one_xevent): Fix a C warning.
1781 2007-09-18 Jason Rumney <jasonr@gnu.org>
1783 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
1785 2007-09-17 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
1787 * gtkutil.c (gdpy_def): New variable.
1788 (xg_initialize): Initialize gdpy_def.
1789 (xg_display_close): If no other display exists, set gdpy_def to a
1792 2007-09-16 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
1794 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
1795 when we have no file name for the icon.
1796 (xg_tool_bar_expose_callback): Remove.
1797 (xg_create_tool_bar): Don't connect expose signal to
1798 xg_tool_bar_expose_callback.
1799 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
1801 2007-09-16 Andreas Schwab <schwab@suse.de>
1803 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
1804 values instead of zapping them.
1806 2007-09-14 Glenn Morris <rgm@gnu.org>
1808 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
1809 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
1810 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
1811 scope and rename to omfib_buffer for clarity.
1812 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
1814 2007-09-14 Kenichi Handa <handa@m17n.org>
1816 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
1818 2007-09-13 Jason Rumney <jasonr@gnu.org>
1820 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
1822 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
1824 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
1825 (mac_term_init): Call here instead, passing rif.
1827 2007-09-13 Glenn Morris <rgm@gnu.org>
1829 * s/hpux.h: No longer define `static' as nothing.
1831 2007-09-13 Johan Bockg
\e,Ae
\e(Brd <bojohan@gnu.org>
1833 * callint.c (Fcall_interactively): Remove unused var `fun'.
1835 2007-09-12 Romain Francoise <romain@orebokech.com>
1837 * window.c (prefer_window_split_horizontally, display_buffer):
1838 Revert 2007-09-08 change.
1840 2007-09-12 Glenn Morris <rgm@gnu.org>
1842 * alloca.c: Remove file.
1843 * Makefile.in (alloca): Do not undef.
1844 (allocaobj, alloca.o): Remove.
1845 (otherobj): Remove allocaobj.
1846 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
1847 * regex.c (C_ALLOCA): Remove all references and code that was only
1848 used when this was defined.
1849 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
1850 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
1851 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
1853 * Makefile.in (SOURCES, unlock, relock): Delete.
1855 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
1856 (menu_grab_callback): All uses changed.
1858 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
1859 (x_reply_selection_request): All uses changed.
1861 2007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1863 * lread.c (load_warn_old_style_backquotes): Change message to look
1864 better when it appears in the middle of byte-compiler messages.
1866 2007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
1868 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
1870 * xterm.c (x_create_terminal): Add comment.
1872 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
1874 2007-09-10 Richard Stallman <rms@gnu.org>
1876 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
1878 2007-09-10 Micha
\e,Ak
\e(Bl Cadilhac <michael@cadilhac.name>
1880 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
1881 (DEFUN): Document `intspec', use it instead of `prompt'.
1883 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
1885 * data.c (Finteractive_form): If the interactive specification starts
1886 with a `(', use it as a Lisp form.
1888 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
1889 name and file modes.
1891 * callint.c (Fcall_interactively): Comment fixes.
1893 2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
1895 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
1896 and compiled functions.
1898 2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
1900 * window.c (prefer_window_split_horizontally): New variable.
1901 (display_buffer): Consider splitting window horizontally depending
1902 on prefer_window_split_horizontally.
1904 2007-09-08 Eli Zaretskii <eliz@gnu.org>
1906 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
1908 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1910 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
1912 * frame.c (x_set_frame_parameters): Check number is positive before
1915 * window.c (freeze_window_start): Don't presume selected_window holds
1917 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
1919 2007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
1921 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
1923 2007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
1925 * window.c (Vsplit_window_preferred_function): New var.
1926 (Fdisplay_buffer): Use it.
1927 (syms_of_window): Export, and initialize it.
1929 2007-09-06 Pixel <pixel@mandriva.com> (tiny change)
1931 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
1933 2007-09-06 Glenn Morris <rgm@gnu.org>
1935 * gtkutil.c (menu_grab_callback) <cnt>:
1936 * xselect.c (x_reply_selection_request) <cnt>: Move static
1937 variable to file scope.
1939 2007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
1941 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
1942 consistent values of selected_frame and selected_window.
1944 2007-09-04 Jason Rumney <jasonr@gnu.org>
1946 * w32console.c (initialize_w32_display): Zero unused hooks.
1948 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
1950 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
1951 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
1953 2007-09-04 Jason Rumney <jasonr@gnu.org>
1955 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
1956 in w32console.c. Set up input. Remove XXX comments that have been
1957 confirmed as correct.
1959 * s/ms-w32.h (MULTI_KBOARD): Define.
1961 * w32console.c (one_and_only_w32cons): Remove.
1962 (initialize_w32_display): Take terminal argument.
1964 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
1965 initialize_w32_display.
1966 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
1968 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
1970 * keyboard.c (discard_mouse_events): Discard it.
1971 (make_lispy_event): Translate it to a lisp event.
1972 (lispy_wheel_names): Add wheel-left and right events.
1973 (syms_of_keyboard): Enlarge wheel_syms.
1975 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
1976 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
1978 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
1980 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
1981 from WM_MOUSEHWHEEL.
1982 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
1984 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
1987 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
1988 keyboard for the terminal.
1990 2007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
1992 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
1993 (Vresume_tty_hook): Rename from Vresume_tty_functions.
1994 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
1995 and resume-tty-function to resume-tty-hook.
1996 (Fsuspend_tty, Fresume_tty): Use new names.
1998 2007-09-02 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2000 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
2001 if it starts with "n:".
2003 2007-08-31 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2005 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
2007 2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2010 * frame.c (Qterm_environment_variable): Remove.
2011 (syms_of_frame): Don't init and staticpro it.
2013 * callproc.c (getenv_internal): Remove special case for $TERM.
2015 * callproc.c (Vinitial_environment): New variable.
2016 (set_initial_environment): Initialize it.
2017 (syms_of_callproc): Declare it.
2018 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
2019 TERM under which a process runs is never related to the TERM in which
2022 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
2024 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
2025 * s/darwin.h: ... do it here.
2027 2007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
2029 * lisp.h (set_initial_environment): Rename from set_global_environment.
2031 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
2032 removed by mistake on the multi-tty branch.
2034 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
2035 (Fmodify_frame_parameters): Return a value.
2037 * image.c (png_load): Comment-out var only used in commented-out code.
2039 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
2040 before passing it to mark_object.
2042 * xfaces.c (internal_resolve_face_name): Return a value.
2043 (internal_resolve_face_name, resolve_face_name_error): Comment out.
2045 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
2046 (x_icon): Comment-out var only used in commented-out code.
2048 2007-08-29 Romain Francoise <romain@orebokech.com>
2050 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
2051 QUIT hasn't been provided.
2053 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
2055 * callproc.c (child_setup, getenv_internal): Use the
2056 display-environment-variable and term-environment-variable frame params.
2057 (set_initial_environment): Initialise Vprocess_environment.
2059 * config.in: Disable multi-keyboard support on a mac.
2061 * frame.c (Qterm_environment_variable)
2062 (Qdisplay_environment_variable): New variables.
2063 (syms_of_frame): Intern and staticpro them.
2064 (Fmake_terminal_frame): Disable output method test.
2066 * frame.h: Declare them here.
2068 * macfns.c (x_set_mouse_color): Get rif from the frame.
2069 (x_set_tool_bar_lines): Don't use updating_frame.
2070 (mac_window): Add 2 new parameters for consistency with other systems.
2071 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
2072 frame parameters following what is done in X11 and w32. Don't use
2073 FRAME_MAC_DISPLAY_INFO.
2074 (Fx_open_connection, start_hourglass): Remove window-system check.
2075 (x_create_tip_frame): Get the keyboard from the terminal.
2077 * macmenu.c: Reorder includes.
2078 (Fx_popup_menu): Use terminal specific mouse_position_hook.
2080 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
2082 (x_clear_frame): Add a frame parameter.
2083 (note_mouse_movement): Get rif from the frame.
2084 (mac_term_init): Initialize the terminal.
2085 (mac_initialize): Make static and move terminal initialization ...
2086 (mac_create_terminal): ... to this new function.
2088 * macterm.h (struct mac_display_info): Add terminal.
2089 (mac_initialize): Delete declaration.
2091 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
2093 * sysdep.c: Comment out text after #endif.
2095 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
2096 is defined. Better initialize ttys in windows. Use terminal
2097 specific mouse_position_hook.
2099 * termhooks.h (union display_info): Add mac_display_info.
2101 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
2102 Set the default minibuffer frame, window_system and the rest of the
2103 frame parameters following what is done in X11.
2105 * w32term.c (w32_initialize): Make static.
2107 * xselect.c (x_handle_selection_clear): Only access
2108 terminal->kboard when MULTI_KBOARD is defined.
2110 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
2111 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
2113 2007-08-29 Jason Rumney <jasonr@gnu.org>
2115 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
2116 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
2118 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
2119 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
2121 * keyboard.c (restore_kboard_configuration): Only define when
2122 MULTI_KBOARD defined.
2124 * makefile.w32-in: Update dependancies from Makefile.in.
2125 (OBJ1): Add terminal.$(O)
2127 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
2128 Don't define function body.
2129 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
2131 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
2133 * w32.c (request_sigio, unrequest_sigio): Remove.
2135 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
2136 (w32con_clear_frame, w32con_clear_end_of_line)
2137 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
2138 (w32con_delete_glyphs, w32con_set_terminal_window)
2139 (scroll_line, w32_sys_ring_bell): Add frame arg.
2140 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
2142 (PICK_FRAME): Remove.
2143 (w32con_write_glyphs): Use frame specific terminal coding.
2144 (one_and_only_w32cons): New global variable.
2145 (initialize_w32_display): Use it for storing hooks.
2146 (create_w32cons_output): New function.
2148 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
2151 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
2153 (x_set_tool_bar_lines): Don't use updating_frame.
2154 (Fx_create_frame): Set terminal and ref count.
2155 (Fx_open_connection): Remove window-system check.
2157 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
2159 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
2160 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
2161 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
2163 (x_delete_terminal, w32_create_terminal): New functions.
2164 (w32_term_init): Create a terminal.
2165 (w32_initialize): Move terminal specific initialization to
2166 w32_create_terminal.
2168 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
2169 (w32_clear_rect, w32_clear_area): Use background from frame.
2170 (w32_display_info): Add terminal.
2171 (w32_sys_ring_bell, x_delete_display): Declare here.
2173 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
2175 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
2177 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
2179 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
2180 Fix get_named_tty calls for the controlling tty.
2182 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
2184 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
2186 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
2188 * term.c (tty_insert_glyphs): Add missing first parameter.
2190 2007-08-29 K
\e,Aa
\e(Broly L
\e$,1 q
\e(Brentey <karoly@lorentey.hu>
2192 * buffer.c (Fbuffer_list, Fbury_buffer):
2193 Take frame->buried_buffer_list into account.
2195 * cm.c (current_tty): New variable, for cmputc().
2197 (cmcheckmagic): Add tty parameter, look up terminal streams there.
2198 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
2199 (cmgoto): Add tty parameter. Pass it on to calccost().
2200 Use emacs_tputs() instead of tputs().
2202 * cm.h (emacs_tputs): New macro to set current_tty, and then call
2204 (current_tty): New variable, for cmputc().
2205 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
2207 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
2208 (internal_condition_case, internal_condition_case_1)
2209 (internal_condition_case_2): Don't abort when x_catching_errors.
2211 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
2212 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
2213 prevent crashes caused by bogus longjmps in read_char.
2215 * keymap.h (Fset_keymap_parent): Add EXFUN.
2217 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
2218 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
2219 Remove redundant definition.
2221 * macfns.c (x_set_mouse_color, x_make_gc):
2222 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
2224 * w32term.c (x_free_frame_resources):
2225 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
2226 (w32_initialize): Use the accessor macros for terminal characteristics.
2228 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
2229 Use the accessor macros for terminal characteristics.
2230 * msdos.c (internal_terminal_init): Use the accessor macros for
2231 terminal characteristics.
2232 (ScreenVisualBell, internal_terminal_init):
2233 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
2235 * termopts.h (no_redraw_on_reenter): Declare.
2237 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
2238 (mark_terminals, mark_ttys): Declare.
2239 (Fgarbage_collect): Call them.
2240 (mark_object): Mark buried_buffer_list.
2242 * prefix-args.c: Include stdlib.h for exit.
2244 * syssignal.h: Add comment.
2246 * indent.c: Include stdio.h.
2248 * window.h (Vinitial_window_system): Declare.
2249 (Vwindow_system): Delete declaration.
2251 * fontset.c (Finternal_char_font): Use FRAME_RIF.
2253 * image.c (lookup_image): Don't initialize `c' until the xasserts
2256 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
2257 FRAME_FOREGROUND_PIXEL.
2259 * print.c (print_preprocess): Don't lose print_depth levels while
2262 * widget.c (update_from_various_frame_slots):
2263 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
2265 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
2267 (window_internal_height): Remove bogus make_number call.
2268 (init_window_once): Call make_terminal_frame with two zero parameters.
2270 * fileio.c (Fread_file_name): Update comment.
2272 * callint.c (Fcall_interactively):
2273 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
2274 Make sure it is correctly unwound.
2276 * xsmfns.c (x_session_close): New function.
2278 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
2279 Delete declarations.
2281 * xterm.h: Remove declaration for x_fully_uncatch_errors.
2282 (x_output): Remove background_pixel and foreground_pixel fields.
2283 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
2285 (x_session_close): Declare.
2287 * lread.c: Include setjmp.h. Update declaration of `read_char'.
2288 (read_filtered_event): Call `read_char' with a local
2289 `wrong_kboard_jmpbuf'.
2291 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
2292 Don't call single_kboard_state. Use FRAME_RIF.
2294 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
2297 * lisp.h (set_process_environment): Rename to `set_global_environment'.
2298 (Fframe_with_environment, Fset_input_meta_mode)
2299 (Fset_quit_char): EXFUN.
2300 (x_create_device, tty_output, terminal, tty_display_info): Declare.
2301 (init_sys_modes, reset_sys_modes): Update prototypes.
2302 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
2304 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
2305 Vlocal_key_translation_map, and Vkeyboard_translate_table.
2306 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
2307 Delete declarations.
2308 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
2309 (temporarily_switch_to_single_kboard, tty_read_avail_input):
2312 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
2313 already does that during init_display(). Call syms_of_keymap
2314 before syms_of_keyboard. Call `syms_of_terminal'.
2315 Call set_initial_environment, not set_process_environment.
2316 (shut_down_emacs): Call reset_all_sys_modes() instead of
2319 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
2320 (internal_resolve_face_name, resolve_face_name_error): New functions.
2321 (resolve_face_name): Protect against loops and errors thrown by Fget.
2322 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
2323 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
2325 * scroll.c: Replace CURTTY() with local variables throughout the
2326 file (where applicable).
2327 (calculate_scrolling, calculate_direct_scrolling)
2328 (scrolling_1, scroll_cost): Use the accessor macros for terminal
2331 * keymap.c (Vfunction_key_map): Remove.
2332 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
2333 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
2334 (Vkey_translation_map): Remove.
2335 (syms_of_keymap): Remove DEFVAR for key-translation-map.
2336 (Fdescribe_buffer_bindings):
2337 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
2338 Update for terminal-local key-translation-map.
2340 * Makefile.in (callproc.o): Update dependencies.
2341 (lisp, shortlisp): Add termdev.elc.
2342 (obj): Add terminal.o.
2343 (terminal.o): Add dependencies.
2344 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
2345 (data.o, fns.o): Add termhooks.h dependency.
2346 (SOME_MACHINE_LISP): Add dnd.elc.
2347 (minibuf.o): Fix typo.
2348 Update dependencies.
2350 * data.c (do_symval_forwarding, store_symval_forwarding)
2351 (find_symbol_value): Use the selected frame's keyboard, not
2354 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
2357 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
2359 (syms_of_xmenu): Update defsubr.
2360 (mouse_position_for_popup, Fx_popup_menu)
2361 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
2362 (set_frame_menubar, free_frame_menubar)
2363 (create_and_show_popup_menu, xmenu_show, )
2364 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
2367 * xselect.c (x_own_selection): Abort if not an X frame.
2368 (some_frame_on_display): Check if it is an X frame.
2369 (x_handle_selection_clear): Deal with MULTI_KBOARD.
2371 * coding.c: Include frame.h and termhooks.h.
2372 (terminal_coding, keyboard_coding): Delete.
2373 (Fset_terminal_coding_system_internal):
2374 (Fset_keyboard_coding_system_internal):
2375 (Fkeyboard_coding_system):
2376 (Fterminal_coding_system): Add a terminal parameter.
2377 Get terminal_coding from the terminal.
2378 (init_coding_once): Don't call setup_coding_system here.
2380 * dispextern.h (set_scroll_region, turn_off_insert)
2381 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
2382 (tty_clear_end_of_line, tty_setup_colors)
2383 (delete_tty, updating_frame)
2384 (produce_special_glyphs, produce_glyphs, write_glyphs)
2385 (insert_glyphs): Remove.
2386 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
2387 (tty_turn_off_highlight, get_tty_size): Add declaration.
2388 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
2390 * frame.h (enum output_method): Add output_initial.
2391 (struct x_output): Delete.
2392 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
2393 Access foreground_pixel and background_pixel directly from the frame.
2394 (tty_display): Delete.
2395 (struct frame): Add buried_buffer_list, foreground_pixel,
2396 background_pixel and terminal. Delete kboard
2397 (union output_data): Add tty.
2398 (FRAME_KBOARD): Get the kboard from the terminal.
2399 (FRAME_INITIAL_P): New macro.
2400 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
2401 (Qterm_environment_variable, Qdisplay_environment_variable)
2402 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
2405 * termchar.h (tty_output, tty_display_info): New structures.
2406 (tty_list): Declare.
2407 (FRAME_TTY, CURTTY): New macros.
2408 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
2409 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
2410 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
2411 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
2413 * callproc.c: Include frame.h and termhooks.h, for terminal
2415 (add_env): New function.
2416 (child_setup): Use it.
2417 (child_setup, getenv_internal): Handle the new Vprocess_environment.
2418 (getenv_internal): Fix get_terminal_param call.
2419 (Fgetenv_internal, egetenv): Update doc.
2420 (syms_of_callproc): Initialize Vprocess_environment to nil.
2421 Register and initialize them. Remove obsolete defvars. Update doc
2423 (child_setup): Handle Vlocal_environment_variables.
2424 (getenv_internal): Add terminal parameter.
2425 Handle Vlocal_environment_variables.
2426 (Fgetenv_internal): Add terminal parameter.
2427 (child_setup, getenv_internal, Fgetenv_internal): Store the local
2428 environment in a frame (not terminal) parameter. Update doc strings.
2429 (set_initial_environment): Rename from set_global_environment.
2430 Store Emacs environment in initial frame parameter.
2432 * xdisp.c (redisplay_internal): Update references to
2433 `previous_terminal_frame'.
2434 (display_mode_line, Fformat_mode_line): Replace calls to
2435 `push_frame_kboard' with `push_kboard'.
2436 (get_glyph_string_clip_rects): Add extra parentheses and
2437 braces to prevent compiler warnings.
2438 (calc_pixel_width_or_height): Add xassert to check that the
2439 frame is alive. Don't call `lookup_image' on a termcap frame.
2440 (message2_nolog, message3_nolog, redisplay_internal)
2441 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
2442 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
2443 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
2444 (Fx_display_pixel_width, Fx_display_pixel_height)
2445 (Fx_display_planes, Fx_display_color_cells)
2446 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
2447 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
2448 (Fx_display_backing_store, Fx_display_visual_class)
2449 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
2450 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
2452 * xfns.c (x_set_foreground_color x_set_background_color)
2453 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
2454 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
2455 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
2456 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
2457 terminal that is being deleted.
2458 (Fx_create_frame): Use `store_frame_param' to set `window-system'
2459 frame parameter, and make sure it overrides any user-supplied setting.
2460 (Fx_close_connection, Fx_synchronize): Unify argument names with
2461 the rest of the DEFUNs.
2463 * dispnew.c (Fsend_string_to_terminal): Update call to
2465 (Fredraw_frame, Fsend_string_to_terminal)
2466 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
2467 FRAME_TERMCAP_P and FRAME_TTY.
2468 (window_change_signal): Don't believe width/height values that are
2470 (Vinitial_window_system): Rename from Vwindow_system.
2471 (termscript, Wcm, rif): Delete.
2473 * termhooks.h (struct terminal): New struct containing the
2474 previously global text display hooks and new members NAME,
2475 DELETED and PARAM_ALIST.
2476 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
2477 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
2478 (FRAME_RIF): New macros.
2479 (get_terminal_param, get_device): New declarations.
2480 (termscript): Delete declaration.
2482 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
2483 (XTflash, x_free_frame_resources, x_scroll_bar_create)
2484 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
2485 FRAME_FOREGROUND_PIXEL.
2486 (x_fully_uncatch_errors): Disable definition.
2487 (x_scroll_bar_expose): Fix reference to foreground pixel.
2488 (XTread_socket): Disable loop on all X displays.
2489 (x_delete_terminal): Don't set terminal->deleted and let
2490 delete_terminal delete the frames on the terminal.
2491 (x_delete_display): Doc update to reflect changes in
2493 (x_display_info) <terminal>: Move member earlier in the struct.
2494 (deleting_tty): Remove old variable.
2495 (Fsuspend_tty): Call clear_tty_hooks.
2496 (Fresume_tty, init_tty): Call set_tty_hooks.
2497 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
2499 (x_catch_errors_unwind): Abort if x_error_message is NULL.
2500 (handle_one_xevent): Initialize `f' to NULL.
2501 (x_delete_terminal, x_create_terminal): New functions.
2502 (XTset_terminal_modes, XTreset_terminal_modes)
2503 (XTread_socket, x_connection_closed, x_term_init)
2504 (x_term_init, x_delete_display): Add terminal parameter.
2505 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
2508 * frame.c (Fframep): Deal with output_initial.
2509 (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
2510 (Qtty_type, Qwindow_system, Qenvironment)
2511 (Qterm_environment_variable, Qdisplay_environment_variable): New vars.
2512 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
2513 (make_terminal_frame): Don't create frames on a terminal that is
2515 (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
2516 FRAME_FOREGROUND_PIXEL.
2517 (store_frame_param): Check for found_for_frame before calling XFRAME.
2518 (Fmake_terminal_frame): Handle NULL tty names correctly.
2519 (syms_of_frame): Enhance doc string of `default-frame-alist'.
2520 (Fdelete_frame): Remove unused variable `count'.
2521 (Qenvironment): New variable.
2522 (Fdelete_frame): Don't allow other frames to refer to a deleted
2523 frame in their 'environment parameter.
2524 (Fframe_with_environment): New function.
2525 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
2526 (get_future_frame_param): New function.
2527 (Fmake_terminal_frame): Use it.
2528 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
2530 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
2531 * sysdep.c (reset_sys_modes): Update for renames.
2533 * keyboard.c (tty_read_avail_input): New function.
2534 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
2535 (syms_of_keyboard): Defsubr them.
2536 (Fset_input_meta_mode, Fset_quit_char): New functions.
2537 (Fset_input_mode): Split to above functions.
2539 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
2540 parameter. Use it in call to `read_char'.
2541 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
2542 Set wrong_kboard_jmpbuf correctly in recursive calls.
2543 Use current_kboard to access Vkeyboard_translate_table.
2544 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
2545 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
2546 Update longjmp invocations. Remember the original current_kboard,
2547 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
2548 changes it. Comment out unnecessary calls to
2549 `record_single_kboard_state' and `any_kboard_state'.
2550 Update recursive calls.
2551 (wrong_kboard_jmpbuf): Remove global variable.
2552 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
2553 Handle deleted interrupted_kboards correctly; that is a legal
2554 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
2555 and read_char calls. Abort if interrupted_kboard died in read_char.
2556 (any_kboard_state, single_kboard_state)
2557 (push_frame_kboard): Remove function.
2558 (pop_kboard): Switch out of single_kboard mode if the kboard has
2559 been deleted. Remove unused variable. Help debugging by not
2560 changing current_kboard unnecessarily. Set current_kboard to the
2561 kboard of the selected frame when the stored kboard object has
2562 been deleted before pop_kboard.
2563 (temporarily_switch_to_single_kboard): Change first parameter to a
2564 frame pointer. Throw an error when caller wants to change kboards
2565 while in single_kboard mode. Don't push_kboard if we weren't in
2566 single kboard state. Don't pop_kboard if we popped into any
2568 (restore_kboard_configuration): Abort if pop_kboard changed the
2569 kboard in single_kboard mode. Call pop_kboard only after setting
2570 up single_kboard mode.
2571 (Frecursive_edit): Switch to single_kboard mode only in nested
2573 (cmd_error, command_loop, command_loop_1, timer_check):
2574 Comment out unnecessary call to `any_kboard_state' and
2575 `record_single_kboard_state'.
2576 (delete_kboard): Exit single_kboard mode if we have just deleted
2577 that kboard. Use FRAME_KBOARD.
2578 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
2579 `fatal_error_signal'.
2580 (record_single_kboard_state): Don't push_kboard if we weren't in
2581 single kboard state. Don't pop_kboard if we popped into any
2583 (push_frame_kboard): Rename to push_kboard.
2584 (kbd_buffer_get_event): Use FRAME_TERMINAL.
2585 (read_avail_input): Read input from all terminals.
2586 (mark_kboards): Also mark Vkeyboard_translate_table.
2587 (kbd_buffer_store_event_hold): Simplify condition.
2588 (read_key_sequence): Reinitialize fkey and keytran at each replay.
2589 (Vkeyboard_translate_table): Move to struct kboard.
2590 (init_kboard): Initialize Vkeyboard_translate_table.
2591 (syms_of_keyboard): Use DEFVAR_KBOARD to define
2592 Vkeyboard_translate_table. Update doc strings. Update docs of
2593 local-function-key-map and function-key-map.
2595 * terminal.c: New file.
2597 * term.c: Include errno.h.
2598 (Vring_bell_function, device_list, initial_device)
2599 (next_device_id, ring_bell, update_begin, update_end)
2600 (set_terminal_window, cursor_to, raw_cursor_to)
2601 (clear_to_end, clear_frame, clear_end_of_line)
2602 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
2603 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
2604 (syms_of_term): Move their initialization to terminal.c.
2605 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
2606 (Ftty_display_color_cells)
2607 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
2608 (clear_tty_hooks, set_tty_hooks)
2609 (init_tty, maybe_fatal): New functions.
2610 (Ftty_type): Return nil if terminal is not on a tty instead of
2611 throwing an error. Doc update.
2612 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
2613 Doc update. Initialize new subrs and variables.
2614 (delete_tty): Use terminal->deleted.
2615 (tty_set_terminal_modes): Rename from set_terminal_modes.
2616 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
2617 (set_scroll_region): Rename to `tty_set_scroll_region'.
2618 (turn_on_insert): Rename to `tty_turn_on_insert'.
2619 (turn_off_insert): Rename to `tty_turn_off_insert'.
2620 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
2621 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
2622 (toggle_highligh): Rename to `tty_toggle_highlight'.
2623 (background_highlight): Rename to `tty_background_highlight'.
2624 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
2625 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
2626 (tty_set_scroll_region, tty_background_highlight)
2627 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
2628 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
2629 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
2630 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
2631 Add static modifier.
2632 (tty_reset_terminal_modes, tty_set_terminal_window)
2633 (tty_set_scroll_region, tty_background_highlight)
2634 (tty_highlight_if_desired, tty_cursor_to)
2635 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
2636 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
2637 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
2640 2007-08-28 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2642 * keyboard.c: Qrtl is new.
2643 (parse_tool_bar_item): Handle :rtl keyword.
2644 (syms_of_keyboard): Intern :rtl keyword.
2646 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
2648 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
2649 so no Lisp code is executed.
2650 (file_for_image, find_rtl_image): New functions.
2651 (xg_get_image_for_pixmap): Use file_for_image
2652 (update_frame_tool_bar): If direction is RTL, use RTL image if
2653 defined. Use Gtk stock images if defined.
2655 2007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2657 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
2658 for nonexistent or zero-width glyph in composition glyph.
2660 2007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
2662 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
2664 * xdisp.c (Finvisible_p): New function.
2665 (syms_of_xdisp): defsubr it.
2667 2007-08-24 Juanma Barranquero <lekktu@gmail.com>
2669 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
2672 2007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2674 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
2676 2007-08-24 Martin Rudalics <rudalics@gmx.at>
2678 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
2679 whether decoding has modified buffer contents.
2681 2007-08-24 Jason Rumney <jasonr@gnu.org>
2683 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
2684 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
2685 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
2686 (init_svg_functions) [HAVE_NTGUI]: New function.
2687 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
2688 (svg_load_image): Use them.
2689 (svg_load_image) [HAVE_NTGUI]: Implement background.
2691 2007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2693 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
2694 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
2695 (LIBX): Remove @RSVG_LIBS@.
2696 (LIBES): Add $(RSVG_LIBS).
2698 * image.c (svg_load_image): Blend with specified background if exists.
2699 Use IMAGE_BACKGROUND. Add Mac OS Support.
2701 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
2702 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
2704 [MAC_OSX] (socket_callback): Do nothing.
2705 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
2707 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
2709 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
2711 2007-08-22 Glenn Morris <rgm@gnu.org>
2713 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
2715 2007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
2717 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
2719 * image.c: Add support for SVG images. Some additional comments
2720 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
2721 (svg_image_p): New function to test for SVG image.
2722 (svg_load): New function to load SVG image.
2723 (svg_load_image): New function, helper for svg_load.
2724 (Qsvg): New Lisp_object.
2725 (svg_keyword_index): New enum.
2726 (svg_format): New static `image_keyword' struct.
2727 (svg_type): New static `image_type' struct.
2728 (librsvg/rsvg.h): Include it.
2730 2007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
2732 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
2734 2007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
2736 * lread.c (Qold_style_backquotes): New var.
2737 (syms_of_lread): Init and staticpro it.
2738 (load_warn_old_style_backquotes): New fun.
2739 (Fload): Use them to warn about old style backquotes.
2740 (end_of_file_error, Fload): Remove unused vars.
2742 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
2744 * lread.c (Vold_style_backquotes): New var.
2745 (syms_of_lread): Init and export it to Elisp.
2746 (read1): Set it when we find an old-style (back)quote.
2748 2007-08-22 Jason Rumney <jasonr@gnu.org>
2750 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
2752 2007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
2754 * puresize.h (BASE_PURESIZE): Increase to 1140000.
2756 2007-08-19 Richard Stallman <rms@gnu.org>
2758 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
2760 2007-08-19 Andreas Schwab <schwab@suse.de>
2762 * alloc.c (pure): Round PURESIZE up.
2764 2007-08-17 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2766 * xterm.c (handle_one_xevent): Remove check that mouse click is in
2769 2007-08-16 Richard Stallman <rms@gnu.org>
2771 * eval.c (Fcommandp): Add parens to clarify.
2773 * minibuf.c (Fall_completions): Use enum for type of table.
2775 * emacs.c (USAGE2): Improve text.
2777 2007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
2779 * term.c (tty_default_color_capabilities): Declare static
2780 variables in file scope, to avoid HPUX compiler problem.
2782 2007-08-13 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2784 * gtkutil.c (update_frame_tool_bar): Use -1 as index
2785 to gtk_toolbar_insert.
2787 2007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
2789 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
2791 * insdel.c (reset_var_on_error): New fun.
2792 (signal_before_change, signal_after_change):
2793 Use it to reset (after|before)-change-functions to nil in case of error.
2794 Bind inhibit-modification-hooks to t.
2795 Don't bind (after|before)-change-functions to nil while they run.
2797 2007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2799 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
2800 filling pixmap with stippled background.
2802 2007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2804 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
2805 Don't use invisible frame as parent window for repositioning.
2807 2007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
2809 * print.c (new_backquote_output): Rename from old_backquote_output.
2810 (print): Inverse its logic (according to its name) so as to match the
2811 behavior of new_backquote_flag in lread.c.
2813 2007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2815 * gmalloc.c (posix_memalign): New function.
2817 * macterm.c (frame_highlight, frame_unhighlight): Don't call
2818 ActivateControl/DeactivateControl here.
2819 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
2820 frame-notice-user-settings is non-nil.
2821 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
2822 for kEventParamFMFontStyle.
2823 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
2824 mac_pass_command_to_system and mac_pass_control_to_system here.
2825 (XTread_socket): Call ActivateControl/DeactivateControl here.
2826 (XTread_socket) [TARGET_API_MAC_CARBON]:
2827 Check mac_pass_command_to_system and mac_pass_control_to_system here.
2828 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
2829 for window repositioning.
2831 2007-08-08 Glenn Morris <rgm@gnu.org>
2833 * Replace `iff' in doc-strings and comments.
2835 2007-08-07 Chong Yidong <cyd@stupidchicken.com>
2837 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
2839 2007-08-07 Martin Rudalics <rudalics@gmx.at>
2841 * fileio.c (Finsert_file_contents): Run format-decode and
2842 after_insert_file_functions on entire buffer when REPLACE is
2843 non-nil and inhibit modification_hooks and point_motion_hooks.
2844 For consistency, run after_insert_file_functions iff something
2845 got inserted. Move signal_after_change and update_compositions
2846 after code running after_insert_file_functions. Make sure that
2847 undo_list doesn't record intermediate steps of the decoding process.
2849 2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2852 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
2853 Call malloc_enable_thread on interactive startup.
2855 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
2856 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
2857 [USE_PTHREAD]: Conditionalize with it.
2858 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
2859 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
2862 2007-08-06 Chong Yidong <cyd@stupidchicken.com>
2864 * xdisp.c (redisplay_window): When restoring original buffer
2865 position, make sure it is still valid.
2867 * image.c (png_load): Ignore png-supplied background color.
2869 2007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2871 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
2872 Use kCFAbsoluteTimeIntervalSince1970.
2874 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
2876 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
2877 event loop should be quit.
2878 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
2879 Quit dialog event loop if quit_dialog_event_loop is set.
2881 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
2882 (Selection): New typedef. Use instead of ScrapRef.
2883 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
2884 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
2885 (mac_clear_selection): Rename from clear_scrap.
2886 (get_flavor_type_from_symbol): New argument SEL and subsume function of
2887 scrap_has_target_type. All uses changed.
2888 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
2889 (mac_selection_has_target_p): New functions.
2890 (mac_put_selection_value): Rename from put_scrap_string.
2891 (mac_get_selection_value): Rename from get_scrap_string.
2892 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
2893 (put_scrap_private_timestamp, scrap_has_target_type)
2894 (get_scrap_private_timestamp): Remove functions.
2895 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
2896 (x_own_selection, x_get_local_selection):
2897 Use mac_valid_selection_value_p.
2898 (x_own_selection): Don't use put_scrap_private_timestamp.
2899 Record OWNERSHIP-INFO into Vselection_alist instead.
2900 (x_get_local_selection): Don't check type if request is local.
2901 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
2902 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
2904 2007-08-04 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2906 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
2907 add comment explaining why.
2909 2007-08-03 Richard Stallman <rms@gnu.org>
2911 * fileio.c (Fvisited_file_modtime): Use make_time.
2913 2007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
2915 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
2918 2007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
2920 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
2922 2007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
2924 * puresize.h (BASE_PURESIZE): Increase to 1130000.
2926 2007-07-30 Richard Stallman <rms@gnu.org>
2928 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
2930 2007-07-29 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
2932 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
2934 2007-07-28 Nick Roberts <nickrob@snap.net.nz>
2936 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
2937 remote default-directory.
2939 * buffer.c (mode-line-format): Update doc string.
2941 2007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2943 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
2945 (x_scroll_bar_create): Set bar->fringe_extended_p.
2946 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
2947 on frame edge. Check fringe background extension. Don't clear
2948 extended fringe background area.
2950 * w32term.h (struct scroll_bar): New member fringe_extended_p.
2951 (w32_fill_area): Enclose multiple statements with do ... while (0).
2953 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
2954 Extend fringe background to scroll bar gap.
2955 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
2956 Set bar->fringe_extended_p.
2957 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
2958 Put leftmost/rightmost scroll bars on frame edge. Check fringe
2959 background extension. Don't clear extended fringe background area.
2961 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
2962 New member fringe_extended_p.
2964 2007-07-25 Glenn Morris <rgm@gnu.org>
2966 * Relicense all FSF files to GPLv3 or later.
2968 * COPYING: Switch to GPLv3.
2970 2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
2972 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
2974 * data.c (Finteractive_form): Check for the presence of an
2975 `interactive-form' symbol property more thoroughly.
2977 * data.c (Finteractive_form): Use an `interactive-form' property if
2978 present, analogous to the function-documentation property.
2980 2007-07-24 Jason Rumney <jasonr@gnu.org>
2982 * w32fns.c (x_real_positions): Get real position from OS instead of
2985 2007-07-23 Jason Rumney <jasonr@gnu.org>
2987 * filelock.c (current_lock_owner): Allow for @ sign in username.
2989 2007-07-22 Nick Roberts <nickrob@snap.net.nz>
2991 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
2992 remote default-directory.
2994 * buffer.c (mode-line-format): Describe above case in doc string.
2996 2007-07-20 Eli Zaretskii <eliz@gnu.org>
2998 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
2999 Define if not defined.
3001 2007-07-18 Jason Rumney <jasonr@gnu.org>
3003 * w32proc.c (w32_executable_type): Handle 64 bit executables.
3005 2007-07-18 Richard Stallman <rms@gnu.org>
3007 * data.c (Fsetq_default): Doc fix.
3009 * eval.c (Fsetq): Doc fix.
3011 2007-07-18 Juanma Barranquero <lekktu@gmail.com>
3013 * coding.c (Ffind_operation_coding_system):
3014 * eval.c (For, Fand): Doc fixes.
3015 Reported by Johan Bockg
\e,Ae
\e(Brd.
3017 2007-07-18 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
3019 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
3021 * xterm.h: Declare x_ewmh_activate_frame.
3023 * xterm.c (x_ewmh_activate_frame): New function.
3024 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
3026 2007-07-17 Martin Rudalics <rudalics@gmx.at>
3028 * window.c (Fdisplay_buffer): If largest or LRU window is the
3029 only window, split it even if it is not eligible for splitting.
3030 This restores the original behavior broken by the 2007-07-15
3033 2007-07-17 Glenn Morris <rgm@gnu.org>
3035 * abbrev.c (abbrev_check_chars): New function.
3036 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
3037 Call abbrev_check_chars to check abbrev characters are word
3038 constituents. Doc fix.
3040 2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
3042 * process.c (Fstart_process, Fmake_network_process)
3043 (read_process_output): Fix up last changes.
3045 2007-07-16 Eli Zaretskii <eliz@gnu.org>
3047 * makefile.w32-in (clean): Don't delete *~.
3049 2007-07-16 Andreas Schwab <schwab@suse.de>
3051 * window.c (Fdisplay_buffer): Use NILP.
3052 (Fset_window_scroll_bars): Likewise.
3054 2007-07-15 Martin Rudalics <rudalics@gmx.at>
3056 * window.c (window_min_size_2): New function.
3057 (window_min_size_1, size_window, Fdisplay_buffer)
3058 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
3059 windows without mode- or header-lines when window-min-height is
3061 (size_window): Reset nodelete_p after testing it, following an
3062 earlier note by Kim F. Storm.
3063 (display_buffer): Do not set split_height_threshold to twice the
3064 value of window_min_height to avoid changing the value of a
3065 customizable variable. Rather explicitly check whether the
3066 height of the window that shall be splitted is at least as large
3067 as split_height_threshold.
3068 (Fwindow_full_width_p): New defun.
3069 (syms_of_window): Defsubr it.
3071 * window.h: Add EXFUN for Fwindow_full_width_p.
3073 2007-07-14 Jason Rumney <jasonr@gnu.org>
3075 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
3077 2007-07-14 Richard Stallman <rms@gnu.org>
3079 * eval.c (maybe_call_debugger): New function.
3080 (find_handler_clause): Use maybe_call_debugger.
3081 Call it when the handler says `debug'.
3082 Eliminate DEBUGGER_VALUE_PTR.
3083 (Fsignal): Eliminate debugger_value.
3084 (Qdebug): New variable.
3085 (syms_of_eval): Initialize it.
3087 2007-07-14 Juanma Barranquero <lekktu@gmail.com>
3090 * keyboard.c (Ftrack_mouse):
3091 * print.c (Fwith_output_to_temp_buffer):
3092 * window.c (Fsave_window_excursion): Doc fix.
3094 2007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
3096 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
3098 2007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
3100 * process.h (struct Lisp_Process): Turn slots infd, outfd,
3101 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
3102 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
3103 read_output_delay, and read_output_skip from Lisp_Objects to ints.
3104 Remove unused encoding_carryover.
3105 * process.c: Adjust all functions accordingly.
3107 2007-07-12 Richard Stallman <rms@gnu.org>
3109 * term.c: Include unistd.h only if HAVE_UNISTD_H.
3111 2007-07-11 Jason Rumney <jasonr@gnu.org>
3113 * makefile.w32-in (LIBS): Include OLE32.
3115 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
3116 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
3118 2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
3120 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
3121 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
3122 from a Lisp_Object into a bare pointer.
3123 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
3124 Adjust the code correspondingly.
3126 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
3128 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
3129 (term_show_mouse_face): Remove unused var `j'.
3130 (handle_one_term_event): Remove unused vars `i' and `j'.
3131 Don't cast return value of ttyname since it's not necessary.
3133 2007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
3135 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
3136 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
3138 * fns.c (map_char_table): Use an array of int for `indices' rather than
3139 an array of Lisp_Objects (which are only ever integers anyway).
3140 (Fmap_char_table): Update caller.
3141 * lisp.h: Update prototype.
3142 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
3143 * fontset.c (Ffontset_info):
3144 * casetab.c (set_case_table): Update callers.
3146 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
3148 * keymap.c (struct accessible_keymaps_data)
3149 (struct where_is_internal_data): New structures.
3150 (accessible_keymaps_1, where_is_internal_1): Use them to change
3151 interface to adhere to the one used by map_keymap.
3152 (Faccessible_keymaps, where_is_internal): Use map_keymap.
3153 (accessible_keymaps_char_table, where_is_internal_2): Remove.
3155 * keymap.h (map_keymap_function_t): More informative prototype.
3157 2007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
3159 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
3160 (looking_at_1): Don't change search_regs and last_thing_searched
3161 if `inhibit-changing-match-data' is non-nil.
3162 (string_match_1, search_buffer, set_search_regs): Likewise.
3163 (syms_of_search): Add Lisp level definition for
3164 `inhibit-changing-match-data' and set it to nil.
3165 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
3166 start and end of the match, instead of using values in search_regs.
3168 2007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
3170 * minibuf.c (Fcompleting_read): New value `confirm-only'
3171 for `require-match'.
3173 2007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
3175 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
3176 part of the 2007-06-27 change to syms_of_fileio.
3178 2007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3180 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
3181 Check WINDOWP before using XWINDOW. Consolidate return statements.
3183 2007-06-27 Richard Stallman <rms@gnu.org>
3185 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
3187 2007-06-27 Juanma Barranquero <lekktu@gmail.com>
3189 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
3191 2007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3193 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
3194 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
3195 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
3196 (_free_internal, memalign): Use them.
3197 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
3198 Initialize to PTHREAD_MUTEX_INITIALIZER.
3199 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
3200 (morecore_nolock): Rename from morecore. All uses changed.
3201 Use only nolock versions of internal allocation functions.
3202 (_malloc_internal_nolock, _realloc_internal_nolock)
3203 (_free_internal_nolock): New functions created from
3204 _malloc_internal, _realloc_internal, and _free_internal.
3205 (_malloc_internal, _realloc_internal, _free_internal): Use them.
3206 Copy hook value to automatic variable before its use.
3207 (memalign): Copy hook value to automatic variable before its use.
3209 2007-06-26 Kenichi Handa <handa@m17n.org>
3211 * coding.c (Ffind_operation_coding_system): Docstring improved.
3212 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
3214 2007-06-25 David Kastrup <dak@gnu.org>
3216 * keymap.c (Fcurrent_active_maps): Add `position' argument.
3217 (Fwhere_is_internal): Adjust call to `current-active-maps' to
3218 cater for additional parameter.
3220 * keymap.h: Adjust number of parameters to `current-active-maps'.
3222 * doc.c (Fsubstitute_command_keys): Adjust call of
3223 `current-active-maps'.
3225 2007-06-25 David Kastrup <dak@gnu.org>
3227 * callint.c (Fcall_interactively): Make the parsing of interactive
3228 specs somewhat more readable.
3230 2007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3232 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
3233 to scroll bar gap also when bitmap fills fringe. Draw only foreground
3234 if extended background has already been filled.
3236 2007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3238 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
3239 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
3241 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
3242 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
3243 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
3244 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
3245 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
3246 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
3247 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
3248 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
3249 Run timers during dialog popup.
3250 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
3252 2007-06-21 Jason Rumney <jasonr@gnu.org>
3254 * image.c (convert_mono_to_color_image): Swap fore and background.
3256 2007-06-20 Jason Rumney <jasonr@gnu.org>
3258 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
3259 (w32_free_bdf_font): Unmap memory not handle.
3261 2007-06-20 Sam Steingold <sds@gnu.org>
3263 * gmalloc.c (__morecore): Fix the declaration to comply with the
3266 2007-06-20 Juanma Barranquero <lekktu@gmail.com>
3268 * w32term.c (w32_delete_display): Remove leftover declaration.
3269 (w32_define_cursor, w32_initialize): Make static.
3271 * w32.c (_wsa_errlist): Fix typo in error message.
3272 (init_environment): Ignore any environment variable from the
3273 registry having a null value.
3275 2007-06-20 Glenn Morris <rgm@gnu.org>
3277 * Makefile.in (LIBGIF): Default to -lgif.
3279 2007-06-17 Jason Rumney <jasonr@gnu.org>
3281 * w32menu.c (add_menu_item): Don't use multibyte string functions on
3284 2007-06-16 Juanma Barranquero <lekktu@gmail.com>
3286 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
3287 Fix typo in docstring.
3289 2007-06-16 Eli Zaretskii <eliz@gnu.org>
3291 * w32menu.c (add_menu_item): Escape `&' characters in menu items
3292 and their keybindings.
3294 2007-06-15 Chong Yidong <cyd@stupidchicken.com>
3296 * composite.c (update_compositions): Fix last fix.
3298 2007-06-14 Jason Rumney <jasonr@gnu.org>
3300 * w32.c (get_process_times_fn): New function pointer.
3301 (globals_of_w32): Intialize it if present in kernel32.dll.
3302 (w32_get_internal_run_time): New function.
3304 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
3306 2007-06-14 Kenichi Handa <handa@etlken.m17n.org>
3308 * composite.c (update_compositions): Check the validness of
3311 2007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3313 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
3314 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
3316 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
3317 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
3319 * macgui.h (USE_MAC_TOOLBAR): New define.
3321 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
3322 Return immediately unless popup is activated.
3324 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
3325 background to scroll bar gap.
3326 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
3327 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
3328 scroll bars on frame edge. Check fringe background extension.
3329 Don't clear extended fringe background area.
3330 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
3331 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
3332 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
3333 [USE_MAC_TOOLBAR]: New macros.
3334 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
3335 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
3336 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
3337 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
3338 [USE_MAC_TOOLBAR]: New functions.
3339 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
3340 manually if previous repositioning has failed.
3341 (mac_handle_keyboard_event): Use precomputed event kind.
3342 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
3343 as tool bar item click. Handle mouse movement over tool bar items.
3345 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
3346 toolbar_win_gravity.
3347 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
3348 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
3351 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
3352 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
3354 2007-06-14 Chong Yidong <cyd@stupidchicken.com>
3356 * image.c (search_image_cache): Remove unused variable.
3358 2007-06-13 Chong Yidong <cyd@stupidchicken.com>
3360 * xfns.c, xmenu.c: Link to xaw3d if available.
3362 2007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3364 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
3365 frame_foreground and frame_background.
3367 * image.c (lookup_image): Save frame foreground and background colors.
3368 (search_image_cache): Check if saved and current frame colors match.
3370 2007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
3372 * regex.c (regex_compile): Remove the `regnum' counter.
3373 Use bufp->re_nsub instead. Add support for \(?N:RE\).
3375 2007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
3377 * term.c: Include intervals.h to declare Fget_text_property.
3379 2007-06-10 Jason Rumney <jasonr@gnu.org>
3381 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
3383 2007-06-08 Juanma Barranquero <lekktu@gmail.com>
3385 * callint.c (Fcall_interactively):
3386 * editfns.c (Fdelete_and_extract_region):
3387 * fileio.c (Fread_file_name):
3388 * fns.c (Fmapconcat):
3389 * keyboard.c (cmd_error_internal):
3390 * keymap.c (Fkey_description):
3392 * minibuf.c (read_minibuf):
3393 * search.c (wordify):
3394 * sunfns.c (sel_read):
3395 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
3396 * xfns.c (x_default_scroll_bar_color_parameter):
3397 * xmenu.c (menu_help_callback):
3398 * xselect.c (Fx_get_atom_name):
3399 * xterm.c (x_term_init): Use empty_unibyte_string.
3401 2007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
3403 * alloc.c (init_strings): Initialize canonical empty strings.
3404 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
3405 canonical empty string when the requested size is 0.
3407 * emacs.c (empty_unibyte_string): Rename from empty_string.
3408 (empty_multibyte_string): New canonical empty string.
3409 (syms_of_emacs): Don't initialize empty_string.
3411 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
3412 string, if appropriate.
3413 (empty_unibyte_string, empty_multibyte_string): New externs.
3414 (empty_string): Remove extern.
3416 * lread.c (syms_of_lread): Use empty_unibyte_string.
3418 2007-06-07 Jason Rumney <jasonr@gnu.org>
3420 * s/ms-w32.h: Don't define HAVE_TZNAME.
3422 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
3424 2007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3426 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
3428 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
3429 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
3431 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
3432 Don't call next handler.
3433 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
3434 Remove argument. Install handler to application.
3435 (set_frame_menubar): Don't change deep_p.
3436 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
3437 FRAME_OUTER_TO_INNER_DIFF_Y.
3438 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
3439 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
3440 [HAVE_DIALOGS]: New macros.
3441 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
3443 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
3445 * macselect.c [MAC_OSX] (install_service_handler): Rename from
3446 init_service_handler. All callers changed. Return OSStatus value.
3448 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
3449 All callers changed so as not to call SetPortWindowPort.
3450 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
3451 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
3452 mac_draw_string_common.
3453 (mac_draw_image_string_qd): Likewise.
3454 (mac_draw_string_common): Use them. Add INLINE.
3455 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
3456 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
3458 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
3459 and FRAME_OUTER_TO_INNER_DIFF_Y.
3460 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
3461 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
3462 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
3463 repositioning window to mac_handle_window_event.
3464 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
3465 saving window location to mac_handle_window_event
3466 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
3467 (install_menu_target_item_handler): Remove argument in extern.
3468 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
3469 Also accept command events.
3470 (do_keystroke): New function created from XTread_socket.
3471 (init_command_handler): Remove functions.
3472 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
3473 and save window location by kEventWindowShowing and kEventWindowHiding
3474 handlers here. Don't call next handler for window state change and
3476 (mac_handle_application_event, mac_handle_keyboard_event)
3477 [TARGET_API_MAC_CARBON]: New functions.
3478 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
3479 kEventWindowShowing and kEventWindowHiding events. Move installation
3480 of mouse, font, text input and menu target item handlers to
3481 install_application_handler.
3482 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
3483 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3485 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
3487 (XTread_socket) [TARGET_API_MAC_CARBON]:
3488 Consolidate SendEventToEventTarget calls.
3489 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
3490 Move application activation handler to mac_handle_application_event.
3491 Move keyboard handler to mac_handle_keyboard_event.
3492 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
3493 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
3494 init_command_handler. Call install_application_handler.
3496 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
3497 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
3499 2007-06-07 Glenn Morris <rgm@gnu.org>
3501 * emacs.c (main): Use `emacs-copyright' in --version output.
3503 2007-06-06 Chong Yidong <cyd@stupidchicken.com>
3505 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
3507 2007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3509 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
3511 * macgui.h: Replace WindowPtr with WindowRef.
3513 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
3514 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
3515 Replace ControlHandle with ControlRef.
3516 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
3518 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
3519 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
3520 Replace ControlHandle with ControlRef.
3521 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
3522 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
3524 * macterm.h (struct scroll_bar): Rename member control_handle_low
3525 and control_handle_high to control_ref_low and control_ref_high.
3527 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
3528 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
3529 respectively. All uses changed.
3530 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
3531 (install_window_handler, remove_window_handler): Replace WindowPtr
3532 with WindowRef in externs.
3534 2007-06-05 Juanma Barranquero <lekktu@gmail.com>
3536 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
3538 2007-06-03 Nick Roberts <nickrob@snap.net.nz>
3540 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
3542 * frame.c (Fmouse_position, Fmouse_pixel_position):
3543 Condition on HAVE_GPM too.
3545 * term.c (term_mouse_highlight): Remove unused variables.
3546 (Fterm_open_connection): Set gpm_zerobased to 1.
3547 (term_mouse_movement, term_mouse_click, handle_one_term_event):
3548 Use zero based co-ordinates.
3549 (handle_one_term_event): Report a drag as mouse movement too.
3551 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
3553 2007-06-03 Chong Yidong <cyd@stupidchicken.com>
3555 * image.c (search_image_cache): New function. Require background
3556 color match if background color is unspecified in the image spec.
3557 (uncache_image, lookup_image): Use it.
3559 2007-06-01 Juanma Barranquero <lekktu@gmail.com>
3561 * window.c (Fshrink_window): Reflow docstring.
3563 2007-06-02 Chong Yidong <cyd@stupidchicken.com>
3565 * Version 22.1 released.
3567 2007-06-01 Richard Stallman <rms@gnu.org>
3569 * xfns.c (x_encode_text): Add GCPRO.
3571 2007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3573 * xfns.c (x_set_name_internal): Save encoded name before
3574 x_encode_text in case string data is relocated.
3576 2007-05-31 Richard Stallman <rms@gnu.org>
3578 * buffer.c (syms_of_buffer): Doc fix.
3580 2007-05-30 Nick Roberts <nickrob@snap.net.nz>
3582 * sysdep.c (init_sys_modes): Add rather than replace with
3585 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
3588 * termhooks.h (term_mouse_moveto): New extern.
3590 * term.c (mouse_face_window): Rename...
3591 (Qmouse_face_window): ...to this.
3592 (term_show_mouse_face, term_clear_mouse_face)
3593 (term_mouse_highlight): Use Qmouse_face_window.
3594 (term_mouse_moveto): New function.
3595 (term_mouse_position): Make it work.
3596 (syms_of_term): Uncomment assignment to mouse_position_hook.
3597 Staticpro Qmouse_face_window.
3599 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3601 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
3602 around current_column call.
3604 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
3606 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
3607 * xdisp.c (next_element_from_buffer):
3608 * window.c (delete_window):
3609 * term.c (term_mouse_highlight):
3610 * msdos.c (getdefdir):
3611 * macterm.c (mac_create_bitmap_from_bitmap_data)
3612 (init_font_name_table):
3614 * data.c (Fmake_local_variable):
3615 * ccl.c (ccl_driver): Likewise.
3617 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3619 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
3620 Call mac_wakeup_from_rne on window size change.
3622 2007-05-25 Chong Yidong <cyd@stupidchicken.com>
3624 * image.c (uncache_image): Fix typo.
3626 2007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
3628 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
3630 2007-05-22 Richard Stallman <rms@gnu.org>
3632 * xterm.c (x_connection_closed): Remove NO_RETURN.
3634 2007-05-22 Martin Rudalics <rudalics@gmx.at>
3636 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
3638 2007-05-21 Chong Yidong <cyd@stupidchicken.com>
3640 * image.c (uncache_image): New function.
3641 (Fimage_refresh): New function.
3643 2007-05-20 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
3645 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
3647 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
3649 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
3650 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
3652 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
3654 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
3655 conditional on [HAVE_GPM_H].
3657 2007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
3659 * syntax.c (skip_chars): Update syntax-table only after we checked that
3660 the new location is valid.
3662 2007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3664 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
3665 mac_get_window_bounds.
3667 2007-05-20 Nick Roberts <nickrob@snap.net.nz>
3669 * Makefile.in (LIBGPM): Allow it to be set from configure.
3670 If set then link Emacs with it.
3672 * config.in: Regenerate.
3674 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
3677 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
3679 (handle_one_term_event, term_gpm): New externs.
3681 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
3682 and allow it to be interrupted by SIGIO.
3684 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
3685 (wait_reading_process_output): Wait on gpm_fd too.
3686 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
3687 (add_gpm_wait_descriptor_called_flag): New variable.
3688 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
3690 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
3691 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
3692 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
3693 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
3694 (make_lispy_event): Add case GPM_CLICK_EVENT.
3695 (read_avail_input): Handle mouse input.
3697 * term.c (write_glyphs_with_face): New function.
3698 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
3699 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
3700 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
3701 (mouse_face_face_id, term_gpm, pos_x, pos_y)
3702 (last_mouse_x, last_mouse_y): New variables.
3703 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
3704 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
3705 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
3706 (Fterm_close_connection): New functions.
3707 (term_init): Initialise mouse_face_window.
3709 2007-05-19 Chong Yidong <cyd@stupidchicken.com>
3711 * xdisp.c (redisplay_window): If first window line is a
3712 continuation line, recompute the new window start instead of
3715 2007-05-18 Glenn Morris <rgm@gnu.org>
3717 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
3718 Suggested by Alfred M. Szmidt <ams@gnu.org>.
3720 2007-05-17 Glenn Morris <rgm@gnu.org>
3722 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
3724 2007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3726 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
3727 dead key repeat and up events.
3729 2007-05-14 Chong Yidong <cyd@stupidchicken.com>
3731 * image.c (pbm_load): Check image size for monochrome pbm.
3733 2007-05-13 Chong Yidong <cyd@stupidchicken.com>
3735 * xterm.c (XTread_socket): Revert last change.
3737 2007-05-12 Chong Yidong <cyd@stupidchicken.com>
3739 * image.c (pbm_load): Correctly check image size for greyscale pbm.
3741 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
3743 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
3745 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
3748 2007-05-07 Andreas Schwab <schwab@suse.de>
3750 * keymap.c (Flookup_key): Fix typo in last change.
3752 2007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
3754 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
3755 mapping for unibyte strings.
3757 2007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3759 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
3760 (Fx_popup_dialog) [MAC_OSX]: Likewise.
3762 2007-04-29 Richard Stallman <rms@gnu.org>
3764 * insdel.c (replace_range): For undo, record insertion first.
3766 2007-04-29 Andreas Schwab <schwab@suse.de>
3768 * lisp.h (VECSIZE): Use OFFSETOF.
3770 2007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3772 * xdisp.c (try_window_reusing_current_matrix): Fix number of
3775 2007-04-28 Richard Stallman <rms@gnu.org>
3777 * lread.c (read_escape): In a string, \s is always space.
3779 2007-04-27 Jan Dj
\e,Ad
\e(Brv <jan.h.d@swipnet.se>
3781 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
3783 * gtkutil.c (xg_update_menubar, create_menus): Create empty
3784 submenu for menu bar items.
3786 See ChangeLog.10 for earlier changes.
3789 ;; coding: iso-2022-7bit
3790 ;; add-log-time-zone-rule: t
3793 Copyright (C) 2007, 2008 Free Software Foundation, Inc.
3795 This file is part of GNU Emacs.
3797 GNU Emacs is free software; you can redistribute it and/or modify
3798 it under the terms of the GNU General Public License as published by
3799 the Free Software Foundation; either version 3, or (at your option)
3802 GNU Emacs is distributed in the hope that it will be useful,
3803 but WITHOUT ANY WARRANTY; without even the implied warranty of
3804 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3805 GNU General Public License for more details.
3807 You should have received a copy of the GNU General Public License
3808 along with GNU Emacs; see the file COPYING. If not, write to the
3809 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
3810 Boston, MA 02110-1301, USA.
3812 ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40