2008-01-21 YAMAMOTO Mitsuharu * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p. (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p is set even without positional changes. (x_scroll_bar_clear): Set bar->redraw_needed_p. * macterm.h (struct scroll_bar): New member `redraw_needed_p'. 2008-01-17 Jason Rumney * xterm.c (handle_one_xevent): Revert to counting chars not bytes. * w32term.c (w32_read_socket) : Decode characters outside the unicode range available in MULE by locale-coding-system. Improve dbcs lead byte detection. Set event timestamp and modifiers earlier. 2008-01-11 YAMAMOTO Mitsuharu * mac.c (mac_emacs_pid) [MAC_OSX]: New variable. [MAC_OSX] (init_mac_osx_environment): Initialize it. [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0 when used on child processes. 2008-01-21 Michael Albinus * dbusbind.el (Fdbus_method_return_internal): Renamed from Fdbus_method_return. (Fdbus_unregister_object): Moved to dbus.el. (Fdbus_call_method, Fdbus_method_return_internal) (Fdbus_send_signal): Debug messages improved. 2008-01-20 Martin Rudalics * undo.c (undo_inhibit_record_point): New variable. (syms_of_undo): Initialize it. (record_point): Don't record point when undo_inhibit_record_point is set. 2008-01-19 Stefan Monnier * process.c (list_processes_1): Don't use SCHARS on a nil buffer name. * xdisp.c (Qauto_hscroll_mode): New var. (syms_of_xdisp): Initialize it. (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each window's buffer. (hscroll_windows): Don't check automatic_hscrolling_p here. * window.c (set_window_buffer): Don't unnecessarily reset hscroll and vscroll if we're setting window-buffer to the value it already has. 2008-01-18 Dan Nicolaescu * m/intel386.h: Remove references to XENIX. 2008-01-17 Andreas Schwab * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR instead of HAVE_X86_64_LIB64_DIR. * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise. 2008-01-17 Glenn Morris * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according to HAVE_X86_64_LIB64_DIR. 2008-01-16 Dan Nicolaescu * s/irix3-3.h: * s/irix4-0.h: * s/386-ix.h: * s/domain.h: * s/hpux9-x11r4.h: * s/hpux9shxr4.h: Remove files for systems no longer supported. * sysdep.c: Remove code containing references to symbols defined by unsupported systems. 2008-01-16 Glenn Morris * coding.c (select-safe-coding-system-function): Doc fix. 2008-01-15 Glenn Morris * config.in: Revert 2008-01-13 change: this is a generated file. 2008-01-13 Tom Tromey * lisp.h: Fix typo. 2008-01-13 Dan Nicolaescu * m/sequent-ptx.h: * m/sequent.h: * s/ptx.h: * s/ptx4-2.h: * s/ptx4.h: Remove files for systems no longer supported. * callproc.c (Fcall_process): Fix previous change. 2008-01-13 Dan Nicolaescu * unexsunos4.c: Remove file, system not supported anymore. * src/m/mips.h: * src/m/intel386.h: * callproc.c: * config.in: * ecrt0.c: * emacs.c: * fileio.c: * frame.c: * getpagesize.h: * keyboard.c: * lread.c: * process.c: * puresize.h: * sysdep.c: * systty.h: * syswait.h: * unexec.c: * xdisp.c: * alloc.c: Remove code containing references to symbols defined by unsupported systems. 2008-01-11 Kenichi Handa * coding.c (detect_coding_mask): Fix previous change. 2008-01-10 Chong Yidong * process.c (wait_reading_process_output): Check for window changes caused by timers. 2008-01-09 Kenichi Handa * coding.c (detect_coding_iso2022): New arg latin_extra_code_state. Allow Latin extra codes only when *latin_extra_code_state is nonzero. (detect_coding_mask): If there is a NULL byte, detect the encoding as UTF-16 or binary. If Latin extra codes exist, detect the encoding as ISO-2022 only when there's no other proper encoding is found. 2008-01-08 YAMAMOTO Mitsuharu * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of #ifdef MAC_OS. 2008-01-08 Richard Stallman * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes. 2008-01-06 Nick Roberts * keyboard.c (parse_menu_item): Don't enclose key bindings on menu bar in parentheses. 2008-01-06 Dan Nicolaescu * m/7300.h: * m/acorn.h: * m/alliant-2800.h: * m/alliant.h: * m/alliant1.h: * m/alliant4.h: * m/altos.h: * m/amdahl.h: * m/apollo.h: * m/att3b.h: * m/aviion-intel.h: * m/aviion.h: * m/celerity.h: * m/clipper.h: * m/cnvrgnt.h: * m/convex.h: * m/cydra5.h: * m/delta88k.h: * m/dpx2.h: * m/dual.h: * m/elxsi.h: * m/f301.h: * m/gould-np1.h: * m/gould.h: * m/i860.h: * m/ibmps2-aix.h: * m/ibmrt-aix.h: * m/ibmrt.h: * m/irist.h: * m/is386.h: * m/isi-ov.h: * m/mega68.h: * m/mg1.h: * m/news-r6.h: * m/news-risc.h: * m/news.h: * m/nh3000.h: * m/nh4000.h: * m/ns16000.h: * m/ns32000.h: * m/nu.h: * m/orion.h: * m/orion105.h: * m/paragon.h: * m/pfa50.h: * m/plexus.h: * m/pyramid.h: * m/pyrmips.h: * m/sh3el.h: * m/sps7.h: * m/sr2k.h: * m/stride.h: * m/sun1.h: * m/sun2.h: * m/sun3-68881.h: * m/sun3-fpa.h: * m/sun3-soft.h: * m/sun3.h: * m/sun386.h: * m/symmetry.h: * m/tad68k.h: * m/tahoe.h: * m/targon31.h: * m/tek4300.h: * m/tekxd88.h: * m/tower32.h: * m/tower32v3.h: * m/ustation.h: * m/wicat.h: * m/xps100.h: * s/cxux.h: * s/cxux7.h: * s/dgux.h: * s/dgux4.h: * s/dgux5-4-3.h: * s/dgux5-4r2.h: * s/esix.h: * s/esix5r4.h: * s/hiuxmpp.h: * s/hiuxwe2.h: * s/iris3-5.h: * s/iris3-6.h: * s/isc2-2.h: * s/isc3-0.h: * s/isc4-0.h: * s/isc4-1.h: * s/newsos5.h: * s/newsos6.h: * s/osf1.h: * s/osf5-0.h: * s/riscix1-1.h: * s/riscix12.h: * s/sco4.h: * s/sco5.h: * s/sunos4-0.h: * s/sunos4-1.h: * s/sunos413.h: * s/sunos4shr.h: * s/umax.h: * s/unipl5-2.h: * s/xenix.h: * cxux-crt0.s: * unexapollo.c: * unexconvex.c: * unexenix.c: * unexsni.c: Remove files for systems no longer supported. * m/intel386.h: Remove references to unsupported systems. * w32.c (get_emacs_configuration): Remove reference to i860. * sysdep.c: Remove dead code. 2008-01-05 Dan Nicolaescu * s/rtu.h: * m/masscomp.h: Remove files. Platform is obsolete. 2008-01-04 Michael Albinus * dbusbind.c (Fdbus_method_return): New function. (xd_read_message): Add the serial number to the event. (Fdbus_register_method): Activate the function. 2008-01-03 Stefan Monnier * keyboard.c (read_key_sequence): Fix typo. 2008-01-03 Michael Albinus * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE. (xd_signature, xd_append_arg): Handle element type detection for empty arrays. (Fdbus_call_method, Fdbus_send_signal): Undo type casting for SDATA () calls; this must be solved more general. (Fdbus_register_signal): Use SBYTES instead of strlen. 2008-01-03 Magnus Henoch * dbusbind.c (xd_append_arg): Use unsigned char instead of unsigned int for byte values (necessary for big-endian platform). (Fdbus_call_method): Handle the case of no returned arguments. 2007-12-31 Tom Tromey (tiny change) * dbusbind.c (xd_read_message): Use non-static input_event struct. 2007-12-31 Magnus Henoch * dbusbind.c (xd_signature): Signature of variant is just "v". 2007-12-30 Michael Albinus * dbusbind.c: Fix several errors and compiler warnings. Reported by Tom Tromey (XD_ERROR, XD_DEBUG_MESSAGE) (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)". (xd_append_arg): Part for basic D-Bus types rewitten. (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not appropriate. (xd_read_message): Return Qnil. Don't signal an error; it is not useful during event reading. (Fdbus_register_signal): Signal an error if the check for FUNCTIONP fails. (Fdbus_register_method): New function. The implementation is not complete, the call of the function signals an error therefore. (Fdbus_unregister_object): New function, renamed from Fdbus_unregister_signal. The initial check signals an error, if the object is not well formed. 2007-12-30 Richard Stallman * textprop.c (get_char_property_and_overlay): Signal error if POSITION is out of range in a buffer. 2007-12-29 Martin Rudalics * w32fns.c (Fx_create_frame): Make copy of frame parameters because the original parameters are in pure storage now. 2007-12-24 YAMAMOTO Mitsuharu * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area. 2007-12-22 Eli Zaretskii * callint.c (syms_of_callint) : Add reference to history-length in the doc string. 2007-12-17 Jason Rumney * w32fns.c (w32_wnd_proc) : Cast char to unsigned before passing as wParam. 2007-12-22 Michael Albinus * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE, DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64, DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE. Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit as number. (Fdbus_call_method): Fix docstring. 2007-12-21 Michael Albinus * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE): New macros. (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE. (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE. Simplify. (xd_signature): New function. (xd_append_arg): Compute also signatures. Major rewrite. (xd_retrieve_arg): Make debug messages friendly. (Fdbus_call_method, Fdbus_send_signal): Extend docstring. Check for signatures of arguments. 2007-12-19 Michael Albinus * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean) (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32) (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64) (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path) (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant) (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols. (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro. (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types. (xd_retrieve_value): Remove. Functionality included in ... (xd_append_arg): New function. (Fdbus_call_method, Fdbus_send_signal): Apply it. 2007-12-16 Michael Albinus * dbusbind.c (top): Include . (Fdbus_call_method, Fdbus_send_signal): Apply type cast in dbus_message_new_method_call and dbus_message_new_signal. (Fdbus_register_signal): Rename unique_name to uname. Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of non-existing unique name. Fix typos in matching rule. Return an object which is useful in Fdbus_unregister_signal. (Fdbus_unregister_signal): Reimplementation, in order to remove only the corresponding entry. (Vdbus_registered_functions_table): Change the order of entries. Apply these changes in xd_read_message and Fdbus_register_signal. 2007-12-16 Andreas Schwab * fileio.c (Finsert_file_contents): Fix overflow check to not depend on undefined integer overflow. 2007-12-14 Jason Rumney * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT for characters above 127. 2007-12-13 Jason Rumney * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check before dereferencing array. (lookup_vk_code): Remove zero comparison. 2007-12-14 Michael Albinus * dbusbind.c (xd_retrieve_value, xd_retrieve_arg) (Fdbus_call_method, Fdbus_send_signal, xd_read_message): Use `unsigned int' instead of `uint'. (xd_read_message, Fdbus_register_signal): Split expressions into multiple lines before operators "&&" and "||", according to the GNU Coding Standards. 2007-12-14 Eli Zaretskii * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT. 2007-12-12 Juri Linkov * buffer.c (Frename_buffer): In interactive spec replace `read-buffer' with `read-string' that uses `buffer-name-history' as history, and the current buffer's name as default. 2007-12-10 Stefan Monnier * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of manipulating the backtrace manually. (make_lispy_event): Merge the ASCII and MULTIBYTE cases. (struct backtrace, backtrace_list): Remove. (command_loop_1): Remove dead var `no_direct'. * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also preserve non-built-in buffer-local variables. (Fkill_all_local_variables): Don't re-create&re-set permanent buffer-local variables. 2007-12-09 Juri Linkov * buffer.c (Frename_buffer): Change interactive spec from "s" to Lisp code that uses `read-buffer' with current buffer as default. 2007-12-08 Michael Albinus * dbusbind.c (xd_read_message): Generate an event for every registered handler. There might be several handlers registered for the same signal. (Fdbus_register_signal): Don't overwrite a registration for the same signal. Add a new registration if handlers are different. (Vdbus_registered_functions_table): Rework doc string. 2007-12-07 Michael Albinus * dbusbind.c (Fdbus_get_unique_name, xd_read_message) (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths. (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal): Unify argument lists. (xd_read_message, Fdbus_register_signal): Reorder and extend event arguments and hash table keys. Use unique name for service. (Fdbus_unregister_signal): Remove checks. (Vdbus_registered_functions_table): Fix doc string. 2007-12-05 Magnus Henoch * process.c (make_process): Initialize pty_flag to 0. 2007-12-05 Jason Rumney * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly specified XBMs. 2007-12-05 Richard Stallman * xdisp.c (syms_of_xdisp) : Doc fix. 2007-12-05 YAMAMOTO Mitsuharu * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]: New variable. (mac_try_close_socket) [MAC_OSX]: New function. [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Update cfsockets_for_select. Replace invalid CFRunLoop source. * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]: Use mac_try_close_socket. 2007-12-05 YAMAMOTO Mitsuharu * unexmacosx.c (unrelocate): New argument BASE. Use it instead of reloc_base. (copy_dysymtab): Compute relocation base here. (rebase_reloc_address) [__ppc64__]: New function. (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be changed. 2007-12-05 Jason Rumney * w32proc.c (sys_spawnve): Quote args with wildcards. 2007-12-05 YAMAMOTO Mitsuharu * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and __objc_* sections. (unrelocate) [_LP64]: Set relocation base to address of data segment. 2007-12-05 Michael Albinus * dbusbind.c (xd_read_message): Return value is a Lisp_Object. Move check for Vdbus_registered_functions_table to xd_read_queued_messages. (xd_read_queued_messages): Protect xd_read_message calls by internal_condition_case_1. 2007-12-04 Michael Albinus * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from Qdbus_system_bus and Qdbus_session_bus, respectively. (Vdbus_intern_symbols): Remove. (Vdbus_registered_functions_table): New hash table. (XD_SYMBOL_INTERN_SYMBOL): Remove. (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal): Rewrite in order to manage registered functions by hash table Vdbus_registered_functions_table. 2007-12-03 Jan Dj,Ad(Brv * xterm.c: Update URL to Window Manager Specification in comment. 2007-12-02 Michael Albinus * config.in (HAVE_DBUS): Add. * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined. (ALL_CFLAGS): Add ${DBUS_CFLAGS}. (obj): Add $(DBUS_OBJ). (LIBES): Add $(DBUS_LIBS). (dbusbind.o): New target. * dbusbind.c: New file. * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined. * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS". (Qdbus_event): New Lisp symbol. (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT. (gobble_input): Call xd_read_queued_messages, reading D-Bus messages. (keys_of_keyboard ): Define dbus-event. * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined. 2007-12-01 Richard Stallman * search.c (syms_of_search) : Doc fix. 2007-11-30 Jason Rumney * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window. (w32con_reset_terminal_modes): Clear screen buffer. (w32_face_attributes): Don't use color indexes that are out of range. Only reverse the default colors. * xfaces.c (map_tty_color, tty_color_name): Remove special case for WINDOWSNT. * w32console.c, w32term.h (vga_stdcolor_name): Remove. 2007-11-29 Jason Rumney * w32console.c: Leave HAVE_WINDOW_SYSTEM defined. (w32_face_attributes): Use Vtty_defined_color_alist to determine if the terminal colors are initialized. (unspecified_fg, unspecified_bg): Remove unused declarations. 2007-11-29 Andreas Schwab * keyboard.c (apply_modifiers): Fix typo. 2007-11-29 Richard Stallman * keymap.c (Fcurrent_local_map): Doc fix. 2007-11-28 Petr Salinger (tiny change) * s/gnu-kfreebsd.h: New file. 2007-11-28 Stefan Monnier * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't cast redundantly. * keyboard.c (KEY_TO_CHAR): New macro. (parse_modifiers, apply_modifiers): Accept integer arguments. (read_key_sequence): Use them to unify the "shift->unshift" mapping for chars and symbol keys. After doing such remapping, apply function-key-map again. 2007-11-27 Dan Nicolaescu * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not compiled anymore. 2007-11-26 Andreas Schwab * process.c (list_processes_1): Fix indentation level of the command column. 2007-11-23 Andreas Schwab * editfns.c (Fformat): Handle %c specially since it requires the argument to be of type int. 2007-11-23 Markus Triska * emacs.c (main): Call init_editfns before init_process, since init_process sets Vprocess_connection_type depending on OS release 2007-11-22 Stefan Monnier * data.c (do_symval_forwarding): Use same code as in find_symbol_value. (find_symbol_value): Use do_symval_forwarding. * data.c (set_internal): Set the value in the `cons-cell' (for Buffer_Local_values) not only for frame-local variables. 2007-11-22 Andreas Schwab * data.c (Fnumber_to_string): Add cast when passing EMACS_INT values to sprintf. * keymap.c (Fsingle_key_description): Likewise. * print.c (print_object): Likewise. 2007-11-22 Jan Dj,Ad(Brv * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if file for image is nil. 2007-11-22 Dan Nicolaescu * term.c: Include stdarg.h. (fatal): Implement using varargs. * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change). 2007-11-21 Stefan Monnier * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field. * data.c (store_symval_forwarding): Get type from buffer_objfwd. Update call to buffer_slot_type_mismatch. * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove. (buffer_slot_type_mismatch): Update. * buffer.c (buffer_local_types): Remove. (buffer_slot_type_mismatch): Get the symbol and type as arguments. (defvar_per_buffer): Set the type in the buffer_objfwd. 2007-11-21 Jason Rumney * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font): CreateFileMapping returns NULL on failure. 2007-11-21 Stefan Monnier * search.c (Fset_match_data): Remove the `evaporate' feature. (unwind_set_match_data): Don't use the `evaporate' feature. 2007-11-21 Jason Rumney * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type. * w32console.c (w32con_write_glyphs): Remove unused variables. 2007-11-20 Dan Nicolaescu * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor. * s/darwin.h (MULTI_KBOARD): Remove. * macfns.c (x_create_tip_frame, Fx_create_frame) (x_create_tip_frame): Don't deal with MULTI_KBOARD. 2007-11-19 Stefan Monnier * buffer.c (Fbuffer_local_value): Remove redundant test. (swap_out_buffer_local_variables): Swap out binding in `buffer' rather than in `current-buffer' to match the comment. Do the swap using swap_in_global_binding. * data.c (store_symval_forwarding, set_internal): * eval.c (specbind): Remove dead code. * coding.c (detect_coding, Fupdate_coding_systems_internal): * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE Since we do not want to see internal Lisp_*fwd objects here. 2007-11-18 Jan Dj,Ad(Brv * sysdep.c (init_system_name): Use getaddrinfo if available. * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click) (x_scroll_bar_note_movement): start, end, with, height in struct scroll_bar are integers and not Lisp_Object, so remove XINT for them. 2007-11-17 Dan Nicolaescu * puresize.h (BASE_PURESIZE): Increase to 1190000. 2007-11-16 Stefan Monnier * buffer.h (struct buffer): Move `undo_list' back to before `name'. This undoes Richard's change of 14-Oct-2002. * alloc.c (allocate_other_vector): * lisp.h (allocate_other_vector): Remove. * window.c (struct save_window_data): Move non-lisp data to the end and make it `int' rather than Lisp_Object. (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR. Done wrap/unwrap integer values. (Fset_window_configuration, compare_window_configurations): Update use of fields to their new types. * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data. Turn integer fields into `int'. Merge x_window_low and x_window_high. (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW) (SET_SCROLL_BAR_X_WINDOW): Remove. (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET): Access the new x_window field directly. * xterm.c (x_scroll_bar_create): Use a pseudovector. Don't wrap/unwrap integers into Lisp_Objects. (XTset_vertical_scroll_bar, x_scroll_bar_handle_click) (x_scroll_bar_report_motion): Don't wrap/unwrap integers into Lisp_Objects. (x_term_init): Use SDATA. (x_window_to_scroll_bar, x_create_toolkit_scroll_bar) (x_scroll_bar_set_handle, x_scroll_bar_remove) (XTset_vertical_scroll_bar, x_scroll_bar_expose) (x_scroll_bar_report_motion, x_scroll_bar_clear): * xfns.c (x_set_background_color): * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb): Access the new x_window field directly. * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h. (allocate_pseudovector): Make non-static. * lisp.h (enum pvec_type): New tag PVEC_OTHER. (allocate_pseudovector): Declare. (ALLOCATE_PSEUDOVECTOR): Move from alloc.c 2007-11-15 Andreas Schwab * editfns.c (Fformat): Correctly format EMACS_INT values. Also take precision into account when formatting an integer. * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration. 2007-11-15 Stefan Monnier * keyboard.c (Fevent_symbol_parse_modifiers): New function. (syms_of_keyboard): Defsubr it. * data.c (swap_in_global_binding): Fix longstanding bug where store_symval_forwarding was not called with the right second argument, thus causing objfwd-ing from being dropped. 2007-11-14 Juanma Barranquero * macfns.c (Fx_create_frame, Fx_display_pixel_width) (Fx_display_pixel_height, Fx_display_planes) (Fx_display_color_cells, Fx_server_max_request_size) (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) (Fx_display_visual_class, Fx_display_save_under): * w32fns.c (Fx_create_frame, Fx_display_pixel_width) (Fx_display_pixel_height, Fx_display_planes) (Fx_display_color_cells, Fx_server_max_request_size) (Fx_server_vendor, Fx_server_version, Fx_display_screens) (Fx_display_mm_height, Fx_display_mm_width) (Fx_display_backing_store, Fx_display_visual_class) (Fw32_select_font, Fx_display_save_under): * xfns.c (Fx_create_frame, Fx_display_pixel_width) (Fx_display_pixel_height, Fx_display_planes) (Fx_display_color_cells, Fx_server_max_request_size) (Fx_server_vendor, Fx_server_version, Fx_display_backing_store) (Fx_display_save_under): Fix typos in docstrings. 2007-11-14 Juanma Barranquero * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values corresponding to deleted entries; they are an implementation detail. (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits): Remove variables. (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames) (w32_pass_multimedia_buttons_to_system, w32_strict_painting) (Vw32_charset_info_alist, w32_to_x_color, w32_init_class) (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers) (w32_grabbed_keys, cancel_all_deferred_msgs): Make static. (Fw32_define_rgb_color, Fw32_load_color_file) (syms_of_w32fns) : Fix typos in docstrings. (Fx_server_version): Reflow docstring. (Fw32_shell_execute): Doc fixes. 2007-11-13 Juanma Barranquero * w32fns.c (Fw32_register_hot_key): Don't try to register hot key if w32_parse_hot_key returned nil. 2007-11-10 Stefan Monnier * xdisp.c (load_overlay_strings): Fix copy&paste typo. 2007-11-09 Jason Rumney * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define. * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT. * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]: Remove W32_SCROLL_BAR_CLICK_EVENT. * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise. Add MULTIMEDIA_KEY_EVENT. * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys. (lispy_multimedia_keys) [WINDOWSNT]: New array. (make_lispy_event) [WINDOWSNT]: Use it to translate MULTIMEDIA_KEY_EVENT. * w32term.h (WM_APPCOMMAND): Define if not already. (GET_APPCOMMAND_LPARAM): Likewise. * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from WM_APPCOMMAND. * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option. (syms_of_w32fns): Export and initialize it. (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket. 2007-11-09 Chong Yidong * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE twice. * xdisp.c (handle_face_prop): Fix last change. 2007-11-09 Richard Stallman * xdisp.c (handle_face_prop): Test for strings that came from overlays, not just for after-strings and before-strings. Call face_for_overlay_string and pass the overlay to it. (handle_display_prop): Determine whether property came from an overlay. Pass OVERLAY arg to handle_single_display_spec. (handle_single_display_spec): New arg OVERLAY sets it->from_overlay. (load_overlay_strings): Fill in it->string_overlays. (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays. * xfaces.c (face_for_overlay_string): Function renamed from face_at_buffer_position_no_overlays, and add arg OVERLAY. * dispextern.h (struct it): New elt string_overlays. New elt from_overlay, also in stack. Rearrange a few elements. (face_for_overlay_string): Decl renamed from face_at_buffer_position_no_overlays, and add argument. 2007-11-09 Richard Stallman * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays to get the base face for an overlay string. * dispextern.h (face_at_buffer_position_no_overlays): Add decl. * xfaces.c (face_at_buffer_position_no_overlays): New function. * xdisp.c (handle_stop): Move some code out of loop. 2007-11-09 YAMAMOTO Mitsuharu * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes): Fix conversion from Lisp object to ATSUFontID. 2007-11-09 Jason Rumney * xdisp.c (Fformat_mode_line): Do nothing when noninteractive. 2007-11-09 YAMAMOTO Mitsuharu * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge): Don't assume regions are aligned to page boundary. (print_load_command_name): Add LC_UUID if defined. 2007-11-09 Richard Stallman * emacs.c (syms_of_emacs) : Reflow docstring. 2007-11-07 Jason Rumney * s/windows95.h: Remove. 2007-11-06 Jan Dj,Ad(Brv * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and abort with a message on unhandled store_type values. 2007-11-01 Jan Dj,Ad(Brv * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h: Remove HAVE_X11R5 and HAVE_X11R4. 2007-11-01 Dan Nicolaescu * Makefile.in: Remove references to sunfns.c and sunfns.o. 2007-11-01 Johan Bockg,Ae(Brd * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string): Don't set s->stippled_p here, since it has already been set by x_set_glyph_string_gc from x_draw_glyph_string. 2007-11-01 Dan Nicolaescu * sunfns.c: Remove file * m/sun386.h: * m/sun2.h: * m/sparc.h: Remove Sun windows code. 2007-10-31 Stefan Monnier * keyboard.c (syms_of_keyboard): Initialize the initial_kboard. (init_keyboard): Set current_kboard's window-system to nil. (tty_read_avail_input): Typo. * frame.c (make_initial_frame): Don't initialize the initial_kboard. 2007-10-31 Dan Nicolaescu * s/usg5-4.h: * s/usg5-3.h: * s/ptx.h: * m/is386.h: * m/ibmps2-aix.h: * Makefile.in: Remove all mentions of X10 * dispnew.c (syms_of_display): Don't mention version 10. 2007-10-28 Juanma Barranquero * makefile.w32-in (OBJ1): Remove abbrev.$(O). ($(BLD)/abbrev.$(O)): Remove. 2007-10-28 Stefan Monnier Rewrite abbrev.c in Elisp. * image.c (Qcount): Don't declare as extern. (syms_of_image): Initialize and staticpro `Qcount'. * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions. * emacs.c (main): Don't call syms_of_abbrev. * Makefile.in (obj): Remove abbrev.o. (abbrev.o): Remove. * abbrev.c: Remove. 2007-10-26 Martin Rudalics * window.c (window_min_size_2): Don't count header-line. 2007-10-26 Dan Nicolaescu * frame.h (struct frame): Move all bit fields after the first bit field to take advantage of the available space. Group all the chars together to reduce wasted space due to padding. 2007-10-26 Juanma Barranquero * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings. * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings) (Vdead, dont_register_blocks, staticvec, staticidx, interval_block) (n_interval_blocks, init_strings, check_string_bytes, check_sblock) (init_float, free_float, n_cons_blocks, init_cons, all_vectors) (n_vectors, symbol_block, symbol_block_index, symbol_free_list) (n_symbol_blocks, init_symbol, marker_block, marker_free_list) (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float) (last_marked, mark_object_loop_halt): Make static. * frame.c (syms_of_frame) : Fix typo in docstring. 2007-10-25 Juanma Barranquero * w32.c (init_environment): Fix tiny memory leak. (w32_get_resource): Remove unused variable `ok'. 2007-10-25 Stefan Monnier Make `window-system' into a keyboard-local variable (rather than frame-local as done originally by multi-tty). * keyboard.h (struct kboard): Add Vwindow_system. * keyboard.c (init_kboard): Set a default for Vwindow_system. (mark_kboards): Mark Vwindow_system. * dispnew.c (syms_of_display) : Declare terminal-local. (init_display): Don't set the obsolete `window-system' frame-param. * xterm.c (x_term_init): * w32term.c (w32_create_terminal): * term.c (init_tty): Set Vwindow_system. * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system. * xfns.c (Fx_create_frame, x_create_tip_frame): * w32fns.c (Fx_create_frame, x_create_tip_frame): * macfns.c (Fx_create_frame): Don't set the obsolete `window-system' frame-param. * frame.h (Qwindow_system): Remove. * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well. (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param. 2007-10-24 Richard Stallman * frame.c (x_figure_window_size): For fullscreen case, set USPosition | PPosition without clobbering rest of window_prompting. * keyboard.c (Fcurrent_idle_time): Doc fix. * print.c (Fwith_output_to_temp_buffer): Doc fix. 2007-10-23 Stefan Monnier * process.c (unwind_request_sigio): Only define if __ultrix__. * callproc.c (child_setup): Remove spurious *. * lisp.h (Fget_text_property): Declare. (have_menus_p): Declare it here rather than in sys-dep header files. * macterm.h (have_menus_p): * msdos.h (have_menus_p): * xterm.h (have_menus_p): Remove. * data.c (Fmake_variable_buffer_local, Fmake_local_variable) (Fmake_variable_frame_local): Just check the variable's const-ness rather than checking nil or t. 2007-10-22 Jason Rumney * w32fns.c: Include math.h. (w32_abort): Declaration moved to nt/config.nt. * s/ms-w32.h (HAVE_STDLIB_H): Define. (abort): Redefinition moved to nt/config.nt. * m/windowsnt.h: Remove. 2007-10-22 Juanma Barranquero * emacs.c (Fdump_emacs): Fix typo in message. (syms_of_emacs) : Fix typo in docstring. : Reflow docstring. 2007-10-22 Juri Linkov * minibuf.c: Allow minibuffer default to be a list of default values. With empty input use the first element of this list as returned default. (string_to_object) (read_minibuf_noninteractive): If defalt is cons, set val to its car. (read_minibuf): If defalt is cons, set histstring to its car. (Fread_string): If default_value is cons, set val to its car. (Fread_buffer): If def is cons, use its car. (Fcompleting_read): If defalt is cons, set val to its car. 2007-10-21 Michael Albinus * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid. 2007-10-20 Juanma Barranquero * doc.c (Fdocumentation): Check for advice in all cases. 2007-10-19 Chong Yidong * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags. 2007-10-19 Richard Stallman * doc.c (Fdocumentation): Check for and handle an advised function. 2007-10-19 Juanma Barranquero * process.c (Fset_process_filter): Doc fix. 2007-10-18 Stefan Monnier * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty which caused key-translation-map to applied repeatedly (thus breaking double-mode). 2007-10-17 Stefan Monnier * xselect.c (x_own_selection, x_handle_selection_clear) (x_clear_frame_selections): * w32menu.c (list_of_panes, list_of_items): * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list): * textprop.c (validate_plist, interval_has_all_properties) (interval_has_some_properties, interval_has_some_properties_list) (add_properties, text_property_list): * process.c (Fget_buffer_process, list_processes_1, status_notify): * minibuf.c (Fassoc_string): * macselect.c (x_own_selection, x_clear_frame_selections) (Fx_disown_selection_internal): * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree): Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r. 2007-10-17 Chong Yidong * process.c: Link to libs for calling res_init() if available. (Fmake_network_process): Call res_init() before getaddrinfo or gethostbyname, if possible. 2007-10-17 Stefan Monnier * lread.c (read1): Set pvectype for char_tables. * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY) (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE): Add type checks. (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove. * alloc.c (free_misc): Use XMISCTYPE. (live_misc_p, gc_sweep): Use Lisp_Misc_Any. 2007-10-17 Glenn Morris * minibuf.c (Qcompletion_ignore_case): New Lisp_Object. (syms_of_minibuf): Add Qcompletion_ignore_case. * dired.c (Qcompletion_ignore_case): Change to external. (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case. * fileio.c (Qcompletion_ignore_case): New external Lisp_Object. (Fread_file_name): Use it rather than intern'ing. * coding.c (Qcompletion_ignore_case): New external Lisp_Object. (Fread_coding_system): Ignore case of user input. 2007-10-16 YAMAMOTO Mitsuharu * xdisp.c (handle_display_prop): Ignore display specs after replacing one when string text is being replaced. (handle_single_display_spec): Pretend as if characters with display property haven't been consumed only when buffer text is being replaced. 2007-10-16 Stefan Monnier * xfns.c (Fx_create_frame, Fx_display_list): * window.c (window_fixed_size_p, enlarge_window) (shrink_window_lowest_first): * macterm.c (init_font_name_table): * macfns.c (Fx_create_frame, Fx_display_list): * lread.c (close_load_descs): * keyboard.c (read_char_x_menu_prompt): * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent): * coding.c (code_convert_region_unwind): Test the type of an object rather than just !NILP before extracting data from it. * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors. * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value. (XMISCANY): New macro. (XMISCTYPE): Use it. (struct Lisp_Misc_Any): New type. (union Lisp_Misc): Use it. (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit. * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding) (find_symbol_value, set_internal, default_value, Fset_default) (Fmake_variable_buffer_local, Fmake_local_variable) (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p) (Flocal_variable_if_set_p, Fvariable_binding_locus): The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set. * alloc.c (allocate_buffer): Set the size and tag. (allocate_misc, mark_maybe_object, mark_object, survives_gc_p): Use XMISCANY. (die): Follow the GNU convention for error messages. * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set. * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the tag any more. (set_buffer_internal_1): * frame.c (store_frame_param): * eval.c (specbind): * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP. * doc.c (Fsnarf_documentation): Simplify. 2007-10-14 Juanma Barranquero * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static. (syms_of_w32term) : Fix typo in docstring. 2007-10-14 Stefan Monnier * buffer.c (Fmake_indirect_buffer): Set the buffer's tag. 2007-10-14 Juanma Barranquero * eval.c (do_autoload): Don't save autoloads. * data.c (Ffset): Save autoload of the function being set. 2007-10-07 John Paul Wallington * xfns.c (x_create_tip_frame): Set the `display-type' frame parameter before setting up faces. 2007-10-13 Eli Zaretskii * ccl.c (Fregister_code_conversion_map): * keyboard.c (append_tool_bar_item): Reformat last change. * lisp.h (eabs): Rename from `abs'. All callers changed. 2007-10-05 Dmitry Antipov * buffer.c (add_overlay_mod_hooklist): * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map): * fontset.c (make_fontset): * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item) (append_tool_bar_item): * macmenu.c (grow_menu_items): * w32menu.c (grow_menu_items): * xmenu.c (grow_menu_items): Use larger_vector. 2007-10-13 Eli Zaretskii * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving selected frame'' on MSDOS). 2007-10-12 Martin Rudalics * frame.c (Qexplicit_name): New variable. (x_report_frame_params): Report it in parameter alist. (syms_of_frame): Intern and staticpro it. 2007-10-10 Patrick Mahan (tiny change) * macfns.c (x_create_tip_frame): Set terminal for frame. 2007-10-10 Stefan Monnier * frame.c (Qenvironment): Remove. (syms_of_frame) : Don't initialize. (Fdelete_frame): Don't treat the `environment' param specially. * frame.h (Qenvironment): Don't declare. * callproc.c (set_initial_environment): Don't set unused frame param. * frame.c (Fframe_with_environment): Remove. (syms_of_frame) : Don't declare. * lisp.h (Fframe_with_environment): Don't declare. 2007-10-10 Juanma Barranquero * indent.c (indent_tabs_mode, last_known_column) (last_known_column_modified): Make static. (syms_of_indent) : Remove redundant info in docstring. 2007-10-10 Katsumi Yamaoka * puresize.h (BASE_PURESIZE): Increase to 1170000. 2007-10-09 Jason Rumney * w32term.c (x_set_window_size): Disable code that attempts to tell Lisp code about a size change before it actually happens. 2007-10-09 Richard Stallman * xdisp.c (handle_invisible_prop): After setting up an ellipsis, return HANDLED_RETURN. 2007-10-08 Martin Rudalics * keyboard.c (kbd_buffer_get_event): Break loop waiting for input when there's an unread command event. * frame.c (focus_follows_mouse): Move here from frame.el to allow window autoselection act appropriately when leaving selected frame. (syms_of_frame): Initialize focus_follows_mouse. * frame.h (focus_follows_mouse): Extern it. * macterm.c (XTread_socket): When focus_follows_mouse is nil make SELECT_WINDOW_EVENT only if we don't leave the selected frame. * msdos.c (dos_rawgetc): Likewise. * w32term.c (w32_read_socket): Likewise. * xterm.c (handle_one_xevent): Likewise. * xdisp.c (syms_of_xdisp): In doc-string of mouse-autoselect-window mention focus-follows-mouse. 2007-10-08 YAMAMOTO Mitsuharu * macterm.c (mac_load_query_font): Fix missing return value. [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap): Add BLOCK_INPUT. 2007-10-08 Richard Stallman * xdisp.c (get_window_cursor_type): Implement documented behavior for cursor-in-non-selected-windows = t. 2007-10-08 Jason Rumney * w32.c (w32_get_resource): Always close registry keys. 2007-10-08 Jason Rumney * makefile.w32-in (LIBS): Add COMCTL32. * w32fns.c (globals_of_w32fns): Init common controls. 2007-10-08 Richard Stallman * image.c (our_memory_buffer): Rename from omfib_buffer. 2007-10-08 Richard Stallman * buffer.c (Foverlays_at): Doc fix. 2007-10-08 Stefan Monnier * fns.c (Fplist_put): Preserve uneven tail data. 2007-10-08 Peter O'Gorman (tiny change) * termhooks.h (enum event_kind): Remove trailing comma. * frame.h (enum): Remove trailing comma. 2007-10-08 Dhuvra Krishnamurthy (tiny change) * w32proc.c (delete_child): Don't terminate threads of zombies. 2007-10-08 Martin Rudalics * keyboard.h (struct kboard): New elt Vlast_repeatable_command. * keyboard.c (syms_of_keyboard): Set up new Lisp variable last-repeatable-command. (init_kboard): Initialize Vlast_repeatable_command. (command_loop_1): Set it to real_this_command unless that was bound to an input event. (mark_kboards): Mark it. 2007-10-08 Richard Stallman * eval.c (condition-case): Doc fix. 2007-10-08 Masatake YAMATO * xfaces.c (tty_supports_face_attributes_p): Fix code for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code was copied and not edited. 2007-10-09 Stefan Monnier Add new `input-decode-map' keymap and use it for terminal escape sequences. * keyboard.h (struct kboard): Add Vinput_decode_map. Remove Vlocal_key_translation_map. * keyboard.c (read_key_sequence): Add support for input-decode-map. (init_kboard): Init input-decode-map. Replace local-key-translation-map back with key-translation-map. (syms_of_keyboard): Declare input-decode-map. Remove local-key-translation-map. Update docstrings. (mark_kboards): Mark Vinput_decode_map. Don't mark Vlocal_key_translation_map. * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map. Replace local-key-translation-map back with key-translation-map. * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN): Bind in input-decode-map rather than function-key-map. * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore. This was made redundant by the previous introduction of XSETPVECTYPE. 2007-10-09 Richard Stallman * image.c (free_bitmap_record): Rename from Free_Bitmap_Record. 2007-09-29 Richard Stallman * eval.c (internal_condition_case_2, internal_condition_case_1) (internal_condition_case): Reenable abort if x_catching_errors () to see if that really happens and why. 2007-10-06 Andreas Schwab * fileio.c (Fwrite_region): Ignore EINVAL error from fsync. 2007-10-04 Juanma Barranquero * image.c (syms_of_image) : Fix typo in docstring. 2007-10-03 Stefan Monnier * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used. 2007-10-02 Stefan Monnier * window.h (struct window): * window.c (struct save_window_data, struct saved_window): * termhooks.h (struct terminal): * process.h (struct Lisp_Process): * frame.h (struct frame): * buffer.h (struct buffer): * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table) (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table): The size field of (pseudo)vectors is now unsigned. (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly. * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end. Turn `count' into an integer. * fns.c (make_hash_table, hash_put, hash_remove, hash_clear) (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count): * print.c (print_object) : `count' is an int. * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR. (mark_object) : Use mark_vectorlike. * alloc.c (allocate_pseudovector): New fun. (ALLOCATE_PSEUDOVECTOR): New macro. (allocate_window, allocate_terminal, allocate_frame) (allocate_process): Use it. (mark_vectorlike): New function. (mark_object) : Use it. (mark_terminals): Use it. (Fmake_bool_vector, Fmake_char_table, make_sub_char_table) (Fmake_byte_code): Use XSETPVECTYPE. * frame.c (Fframe_parameters): Minor simplification. * insdel.c (adjust_markers_for_insert): Generalize assertion checks. * marker.c (Fmarker_buffer): Make test for odd case into a failure. * buffer.c (Fget_buffer_create, init_buffer_once): * lread.c (defsubr): * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE. * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be defined differently in the m/*.h files. (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking. (XSETPVECTYPE): New macro. (XSETPSEUDOVECTOR): Use it. * buffer.c (syms_of_buffer) : Move from abbrev.c. (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c. * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER): * lread.c (defvar_per_buffer): * abbrev.c (syms_of_abbrev) : Move to buffer.c. * window.c (candidate_window_p): Only consider as visible frames that are on the same terminal. * m/ibms390x.h (MARKBIT): Remove unused macro. 2007-10-01 Juanma Barranquero * lread.c (Fload): Fix typo in docstring. 2007-10-01 Micha,Ak(Bl Cadilhac * floatfns.c (Fexpt): Manually check for overflows, so that a power of a non-zero value can't yield zero. 2007-09-29 Stefan Monnier * term.c (term_clear_mouse_face, term_mouse_highlight) (tty_write_glyphs_with_face): Only define is HAVE_GPM. * print.c (safe_debug_print): Use XHASH. * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of Lisp elements such as tags. (XHASH): New macro. (EQ): Use it. (SREF, SSET, STRING_COPYIN): Use SDATA. (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove. * alloc.c (mark_terminal): Remove left-over declaration. (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE. (allocate_vectorlike): Remove type argument. Adjust callers. (live_vector_p, mark_maybe_pointer, valid_lisp_object_p): Only handle the one remaining MEM_TYPE_VECTORLIKE. * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used. (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc) (lisp_align_free, make_interval, allocate_string, allocate_string_data) (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc): Use them. * xfaces.c (load_face_font, free_realized_face, clear_face_gcs): Don't let signal handlers run when a GC is freed but not yet NULL'ed. (x_free_gc): Remove BLOCK_INPUT since it's now redundant. 2007-09-28 Dan Nicolaescu * Makefile.in (lisp, shortlisp): Delete server.elc, it is not loaded by default. 2007-09-28 Stefan Monnier * term.c (Fgpm_mouse_start): Don't signal an error if already activated on this tty. (Fgpm_mouse_stop): Only deactivate if it was activated on this tty. * term.c (mouse_face_window): Rename from Qmouse_face_window. Update all users. (handle_one_term_event): Use Gpm_DrawPointer. (Fgpm_mouse_start): Rename from Fterm_open_connection. Signal errors instead of returning nil. Always return nil. (Fgpm_mouse_stop): Rename from Fterm_close_connection. Make it a noop if gpm-mouse was not activated. (syms_of_term): Update names. 2007-09-27 Stefan Monnier * sysdep.c (narrow_foreground_group, widen_foreground_group): Static. (init_sys_modes): Check that gpm_tty is the current tty. * alloc.c (allocate_terminal): Set the vector size to only count the lisp fields. Initialize those to nil. (mark_object): Don't treat terminals specially. (mark_terminal): Remove. (mark_terminals): Use mark_object instead. * termhooks.h (struct terminal): Move all Lisp_Object fields traced by the GC to the beginning. * indent.h: * indent.c: Use EMACS_INT for ints coming from Elisp data. * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions. 2007-09-25 Jason Rumney * frame.c (make_terminal_frame): Remove special case for WINDOWSNT. * w32console.c (create_w32cons_output): Remove. * term.c (init_tty): Call init_sys_modes on WINDOWSNT also. * sysdep.c (init_sys_modes): Use set_terminal_modes_hook. (reset_sys_modes): Use reset_terminal_modes_hook. 2007-09-24 Stefan Monnier * eval.c (do_autoload): Don't output any message. 2007-09-24 Juri Linkov * emacs.c (standard_args): Change priority of "--no-splash" from 40 to 3. Add "--no-desktop" with the same priority. 2007-09-23 Dmitry Antipov * alloc.c (gc_sweep): Check cons cell mark bits word by word and optimize the case where they are all 1. 2007-09-23 Johannes Weiner * lisp.h (abs): Define if not defined. * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c: Don't define `abs', since it's defined in lisp.h. 2007-09-22 Eli Zaretskii * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows. (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero. (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty) (init_tty): Use DEV_TTY instead of "/dev/tty". [WINDOWSNT]: No need to protect from NAME arg being null. 2007-09-21 Dan Nicolaescu * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning up the tty state. 2007-09-21 Stefan Monnier * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead. (gpm_tty): Change its type. * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead. (gpm_tty): Change its type and initialize it. (Fterm_open_connection): Check the frame is indeed a tty. Use the new gpm_tty. (Fterm_close_connection): Use the new gpm_tty. * keyboard.c (tty_read_avail_input): Use the new gpm_tty. * sysdep.c (init_sys_modes): term_gpm -> gpm_tty. 2007-09-21 Juanma Barranquero * w32term.c (x_draw_glyph_string): Use strike_through_color, not underline_color, to draw strike-through. 2007-09-21 Stefan Monnier * lisp.h (allocate_terminal): Declare. * window.c (candidate_window_p): Consider frames that are being placed by the user as somewhere between visible and iconified. (window_loop): Prefer windows on the current frame. (Fselect_window): Move the use of select-frame to the beginning so we can just delegate all the work (it'll call us back anyway). * frame.c (Qdisplay_environment_variable): * frame.h (Qdisplay_environment_variable): Delete. * .gdbinit (xbacktrace): Print the arg's address rather than the value of the first arg, since that value may be a union. * callproc.c (child_setup, getenv_internal): Use the frame's `display' parameter rather than Qdisplay_environment_variable. If all else fails, look for DISPLAY in initial-environment. 2007-09-21 Glenn Morris * Makefile.in (emacstool): Remove target. (lisp, shortlisp): Remove termdev.elc. 2007-09-21 Markus Triska * xterm.c (x_delete_display): Compile session management conditionally. 2007-09-20 Stefan Monnier * callproc.c (getenv_internal_1): New function. (getenv_internal): Use it. (Fgetenv_internal): Use it. Accept an env-list as optional arg. * terminal.c (get_terminal): Don't accept ints to represent terminals. (Fterminal_name, Fterminal_parameters, Fterminal_parameter) (Fset_terminal_parameter): Work with dead terminals as well. (Fmodify_terminal_parameters): Remove. * terminal.c (get_terminal): Handle terminals. Make sure the terminal returned is live. (create_terminal): Use allocate_terminal. (mark_terminals): Move to alloc.c. (delete_terminal): Use terminal->name as liveness status. NULL out fields after freeing their contents. Don't deallocate the object. (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object rather than an int. (Fterminal_live_p): Accept non-integer arguments. (Fterminal_list): Return terminal objects rather than an ints. * alloc.c (enum mem_type): New member for `terminal' objects. (allocate_terminal): New function. (mark_maybe_pointer, valid_lisp_object_p, mark_object): Handle terminals. (mark_terminal): New fun. (mark_terminals): Move from terminal.c. * term.c (get_tty_terminal): Don't treat output_initial specially. (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints. (delete_tty): Use terminal->name as liveness status. * termhooks.h (struct terminal): Make it into a pseudovector. Remove `deleted' replaced by checking `name's nullness. * print.c (print_object): Handle terminals. * lisp.h (enum pvec_type): New `terminal' pseudovector. (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros. * frame.c (make_terminal_frame): * keyboard.c (tty_read_avail_input): * w32term.c (x_delete_terminal): * xfns.c (Fx_create_frame, x_create_tip_frame): * xterm.c (x_delete_terminal): Use terminal->name as liveness status. 2007-09-20 Glenn Morris * process.c (Fmake_network_process): Doc fix. 2007-09-19 Jason Rumney * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument. 2007-09-19 Micha,Ak(Bl Cadilhac * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form): Fix a C warning regarding variable constness. * xterm.c (handle_one_xevent): Fix a C warning. 2007-09-18 Jason Rumney * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame. 2007-09-17 Jan Dj,Ad(Brv * gtkutil.c (gdpy_def): New variable. (xg_initialize): Initialize gdpy_def. (xg_display_close): If no other display exists, set gdpy_def to a new connection. 2007-09-16 Jan Dj,Ad(Brv * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf when we have no file name for the icon. (xg_tool_bar_expose_callback): Remove. (xg_create_tool_bar): Don't connect expose signal to xg_tool_bar_expose_callback. (xg_get_file_with_chooser): Move GCPRO1 after declarations. 2007-09-16 Andreas Schwab * alloc.c (reset_malloc_hooks): Set the hooks to the previous values instead of zapping them. 2007-09-14 Glenn Morris * fringe.c (init_fringe_bitmap) : Move to file scope. * gtkutil.c (xg_separator_p) : Move to file scope. * image.c (our_memory_fill_input_buffer) : Move to file scope and rename to omfib_buffer for clarity. (gif_load) : Move to file scope. 2007-09-14 Kenichi Handa * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero. 2007-09-13 Jason Rumney * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument. * w32term.c (w32_term_init): Pass rif to w32_init_fringe. * macterm.c (mac_initialize): Don't call mac_init_fringe here. (mac_term_init): Call here instead, passing rif. 2007-09-13 Glenn Morris * s/hpux.h: No longer define `static' as nothing. 2007-09-13 Johan Bockg,Ae(Brd * callint.c (Fcall_interactively): Remove unused var `fun'. 2007-09-12 Romain Francoise * window.c (prefer_window_split_horizontally, display_buffer): Revert 2007-09-08 change. 2007-09-12 Glenn Morris * alloca.c: Remove file. * Makefile.in (alloca): Do not undef. (allocaobj, alloca.o): Remove. (otherobj): Remove allocaobj. * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block. * regex.c (C_ALLOCA): Remove all references and code that was only used when this was defined. * search.c (boyer_moore): Remove #ifdef C_ALLOCA block. * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block. * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this. * Makefile.in (SOURCES, unlock, relock): Delete. * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity. (menu_grab_callback): All uses changed. * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity. (x_reply_selection_request): All uses changed. 2007-09-11 Stefan Monnier * lread.c (load_warn_old_style_backquotes): Change message to look better when it appears in the middle of byte-compiler messages. 2007-09-10 Dan Nicolaescu * s/darwin.h (MULTI_KBOARD): Only define for Carbon. * xterm.c (x_create_terminal): Add comment. * term.c (clear_tty_hooks, set_tty_hooks): Add comments. 2007-09-10 Richard Stallman * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME. 2007-09-10 Micha,Ak(Bl Cadilhac * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'. (DEFUN): Document `intspec', use it instead of `prompt'. * eval.c (Fcommandp): Change `->prompt' to `->intspec'. * data.c (Finteractive_form): If the interactive specification starts with a `(', use it as a Lisp form. * fileio.c (Fset_file_modes): Add an interactive spec that reads a file name and file modes. * callint.c (Fcall_interactively): Comment fixes. 2007-09-10 Stefan Monnier * callint.c (Fcall_interactively): Use Finteractive_form also for subrs and compiled functions. 2007-09-08 Fredrik Axelsson * window.c (prefer_window_split_horizontally): New variable. (display_buffer): Consider splitting window horizontally depending on prefer_window_split_horizontally. 2007-09-08 Eli Zaretskii * sysdep.c [WINDOWSNT]: Don't include sysselect.h. 2007-09-07 Stefan Monnier * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking. * frame.c (x_set_frame_parameters): Check number is positive before using XFASTINT. * window.c (freeze_window_start): Don't presume selected_window holds a window object. (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd. 2007-09-07 Angelo Graziosi (tiny change) * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN. 2007-09-07 Stefan Monnier * window.c (Vsplit_window_preferred_function): New var. (Fdisplay_buffer): Use it. (syms_of_window): Export, and initialize it. 2007-09-06 Pixel (tiny change) * image.c (gif_load): Fix bug: Handle nonexistent colormap. 2007-09-06 Glenn Morris * gtkutil.c (menu_grab_callback) : * xselect.c (x_reply_selection_request) : Move static variable to file scope. 2007-09-06 Stefan Monnier * xdisp.c (redisplay_internal): Make sure Elisp code always sees consistent values of selected_frame and selected_window. 2007-09-04 Jason Rumney * w32console.c (initialize_w32_display): Zero unused hooks. 2007-09-04 Dan Nicolaescu * term.c (Vsuspend_tty_functions, Vresume_tty_functions) (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change. 2007-09-04 Jason Rumney * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible in w32console.c. Set up input. Remove XXX comments that have been confirmed as correct. * s/ms-w32.h (MULTI_KBOARD): Define. * w32console.c (one_and_only_w32cons): Remove. (initialize_w32_display): Take terminal argument. * term.c (init_tty) [WINDOWSNT]: Pass terminal to initialize_w32_display. (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too. * termhooks.h (enum event_kind) : New event. * keyboard.c (discard_mouse_events): Discard it. (make_lispy_event): Translate it to a lisp event. (lispy_wheel_names): Add wheel-left and right events. (syms_of_keyboard): Enlarge wheel_syms. * w32fns.c (w32_wnd_proc) : Merge with WM_MOUSEWHEEL. : Pass new system message to lisp. * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't. * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT from WM_MOUSEHWHEEL. (w32_read_socket) : Treat as WM_MOUSEWHEEL. * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from terminal. * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new keyboard for the terminal. 2007-09-04 Dan Nicolaescu * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions. (Vresume_tty_hook): Rename from Vresume_tty_functions. (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook and resume-tty-function to resume-tty-hook. (Fsuspend_tty, Fresume_tty): Use new names. 2007-09-02 Jan Dj,Ad(Brv * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon if it starts with "n:". 2007-08-31 Jan Dj,Ad(Brv * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL. 2007-08-31 Stefan Monnier * frame.h: * frame.c (Qterm_environment_variable): Remove. (syms_of_frame): Don't init and staticpro it. * callproc.c (getenv_internal): Remove special case for $TERM. * callproc.c (Vinitial_environment): New variable. (set_initial_environment): Initialize it. (syms_of_callproc): Declare it. (child_setup): Don't mess with TERM via Qterm_environment_variable; the TERM under which a process runs is never related to the TERM in which Emacs is running. 2007-08-29 Dan Nicolaescu * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here... * s/darwin.h: ... do it here. 2007-08-29 Stefan Monnier * lisp.h (set_initial_environment): Rename from set_global_environment. * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been removed by mistake on the multi-tty branch. * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup. (Fmodify_frame_parameters): Return a value. * image.c (png_load): Comment-out var only used in commented-out code. * term.c (mark_ttys): Don't bother checking top_frame (incorrectly) before passing it to mark_object. * xfaces.c (internal_resolve_face_name): Return a value. (internal_resolve_face_name, resolve_face_name_error): Comment out. * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup. (x_icon): Comment-out var only used in commented-out code. 2007-08-29 Romain Francoise * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if QUIT hasn't been provided. 2007-08-29 Dan Nicolaescu * callproc.c (child_setup, getenv_internal): Use the display-environment-variable and term-environment-variable frame params. (set_initial_environment): Initialise Vprocess_environment. * config.in: Disable multi-keyboard support on a mac. * frame.c (Qterm_environment_variable) (Qdisplay_environment_variable): New variables. (syms_of_frame): Intern and staticpro them. (Fmake_terminal_frame): Disable output method test. * frame.h: Declare them here. * macfns.c (x_set_mouse_color): Get rif from the frame. (x_set_tool_bar_lines): Don't use updating_frame. (mac_window): Add 2 new parameters for consistency with other systems. (Fx_create_frame): Fix doc string. Rename the parameter. Set the frame parameters following what is done in X11 and w32. Don't use FRAME_MAC_DISPLAY_INFO. (Fx_open_connection, start_hourglass): Remove window-system check. (x_create_tip_frame): Get the keyboard from the terminal. * macmenu.c: Reorder includes. (Fx_popup_menu): Use terminal specific mouse_position_hook. * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a terminal parameter. (x_clear_frame): Add a frame parameter. (note_mouse_movement): Get rif from the frame. (mac_term_init): Initialize the terminal. (mac_initialize): Make static and move terminal initialization ... (mac_create_terminal): ... to this new function. * macterm.h (struct mac_display_info): Add terminal. (mac_initialize): Delete declaration. * puresize.h (BASE_PURESIZE): Increase base value to 1164000. * sysdep.c: Comment out text after #endif. * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD is defined. Better initialize ttys in windows. Use terminal specific mouse_position_hook. * termhooks.h (union display_info): Add mac_display_info. * w32fns.c (Fx_create_frame): Use kboard from the terminal. Set the default minibuffer frame, window_system and the rest of the frame parameters following what is done in X11. * w32term.c (w32_initialize): Make static. * xselect.c (x_handle_selection_clear): Only access terminal->kboard when MULTI_KBOARD is defined. * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here. (SYSTEM_PURESIZE_EXTRA): Only define on Carbon. 2007-08-29 Jason Rumney * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined. (make_terminal_frame) [WINDOWSNT]: Initialize terminal. * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]: (mac_init_fringe) [MAC_OS]: Get rif from selected_frame. * keyboard.c (restore_kboard_configuration): Only define when MULTI_KBOARD defined. * makefile.w32-in: Update dependancies from Makefile.in. (OBJ1): Add terminal.$(O) * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: Don't define function body. (init_tty) [WINDOWSNT]: Use selected_frame for initializing. * termhooks.h (display_info) [WINDOWSNT]: Add w32. * w32.c (request_sigio, unrequest_sigio): Remove. * w32console.c (w32con_move_cursor, w32con_clear_to_end) (w32con_clear_frame, w32con_clear_end_of_line) (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs) (w32con_delete_glyphs, w32con_set_terminal_window) (scroll_line, w32_sys_ring_bell): Add frame arg. (w32con_set_terminal_modes, w32con_reset_terminal_modes): Add terminal arg. (PICK_FRAME): Remove. (w32con_write_glyphs): Use frame specific terminal coding. (one_and_only_w32cons): New global variable. (initialize_w32_display): Use it for storing hooks. (create_w32cons_output): New function. * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first arg a frame. * w32fns.c (x_create_tip_frame): Set terminal and ref count. Set window_system. (x_set_tool_bar_lines): Don't use updating_frame. (Fx_create_frame): Set terminal and ref count. (Fx_open_connection): Remove window-system check. * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook. * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor. (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg. (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines): Add frame arg. (x_delete_terminal, w32_create_terminal): New functions. (w32_term_init): Create a terminal. (w32_initialize): Move terminal specific initialization to w32_create_terminal. * w32term.h (x_output): Remove foreground_pixel and background_pixel. (w32_clear_rect, w32_clear_area): Use background from frame. (w32_display_info): Add terminal. (w32_sys_ring_bell, x_delete_display): Declare here. * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type. * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k. 2007-08-29 Kalle Olavi Niemitalo (tiny change) * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char): Fix get_named_tty calls for the controlling tty. 2007-08-29 ARISAWA Akihiro (tiny change) * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error. 2007-08-29 Yoshiaki Kasahara (tiny change) * term.c (tty_insert_glyphs): Add missing first parameter. 2007-08-29 K,Aa(Broly L$,1 q(Brentey * buffer.c (Fbuffer_list, Fbury_buffer): Take frame->buried_buffer_list into account. * cm.c (current_tty): New variable, for cmputc(). (cmputc): Use it. (cmcheckmagic): Add tty parameter, look up terminal streams there. (calccost): Add tty parameter. Use emacs_tputs() instead of tputs(). (cmgoto): Add tty parameter. Pass it on to calccost(). Use emacs_tputs() instead of tputs(). * cm.h (emacs_tputs): New macro to set current_tty, and then call tputs(). (current_tty): New variable, for cmputc(). (cmcheckmagic, cmputc, cmgoto): Add prototypes. * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors. (internal_condition_case, internal_condition_case_1) (internal_condition_case_2): Don't abort when x_catching_errors. * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals. (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to prevent crashes caused by bogus longjmps in read_char. * keymap.h (Fset_keymap_parent): Add EXFUN. * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL) * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Remove redundant definition. * macfns.c (x_set_mouse_color, x_make_gc): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. * w32term.c (x_free_frame_resources): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. (w32_initialize): Use the accessor macros for terminal characteristics. * macterm.c (mac_initialize): Use Fset_input_interrupt_mode. Use the accessor macros for terminal characteristics. * msdos.c (internal_terminal_init): Use the accessor macros for terminal characteristics. (ScreenVisualBell, internal_terminal_init): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. * termopts.h (no_redraw_on_reenter): Declare. * alloc.c (emacs_blocked_malloc): Disable mallopt call. (mark_terminals, mark_ttys): Declare. (Fgarbage_collect): Call them. (mark_object): Mark buried_buffer_list. * prefix-args.c: Include stdlib.h for exit. * syssignal.h: Add comment. * indent.c: Include stdio.h. * window.h (Vinitial_window_system): Declare. (Vwindow_system): Delete declaration. * fontset.c (Finternal_char_font): Use FRAME_RIF. * image.c (lookup_image): Don't initialize `c' until the xasserts have been run. * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. * print.c (print_preprocess): Don't lose print_depth levels while iterating. * widget.c (update_from_various_frame_slots): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. * window.c (set_window_buffer): Don't call clear_mouse_face on tty frames. (window_internal_height): Remove bogus make_number call. (init_window_once): Call make_terminal_frame with two zero parameters. * fileio.c (Fread_file_name): Update comment. * callint.c (Fcall_interactively): Use temporarily_switch_to_single_kboard instead of single_kboard_state. Make sure it is correctly unwound. * xsmfns.c (x_session_close): New function. * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding): Delete declarations. * xterm.h: Remove declaration for x_fully_uncatch_errors. (x_output): Remove background_pixel and foreground_pixel fields. (x_display_info): Add new field TERMINAL. Remove KBOARD field. (x_delete_device): (x_session_close): Declare. * lread.c: Include setjmp.h. Update declaration of `read_char'. (read_filtered_event): Call `read_char' with a local `wrong_kboard_jmpbuf'. * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard. Don't call single_kboard_state. Use FRAME_RIF. * process.c (Fmake_network_process): Don't unrequest_sigio on modern systems. * lisp.h (set_process_environment): Rename to `set_global_environment'. (Fframe_with_environment, Fset_input_meta_mode) (Fset_quit_char): EXFUN. (x_create_device, tty_output, terminal, tty_display_info): Declare. (init_sys_modes, reset_sys_modes): Update prototypes. (init_all_sys_modes, reset_all_sys_modes): New prototypes. * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map, Vlocal_key_translation_map, and Vkeyboard_translate_table. (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state): Delete declarations. (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard) (temporarily_switch_to_single_kboard, tty_read_avail_input): New declarations. * emacs.c (main): Don't call init_sys_modes(), the new term_init() already does that during init_display(). Call syms_of_keymap before syms_of_keyboard. Call `syms_of_terminal'. Call set_initial_environment, not set_process_environment. (shut_down_emacs): Call reset_all_sys_modes() instead of reset_sys_modes(). * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG. (internal_resolve_face_name, resolve_face_name_error): New functions. (resolve_face_name): Protect against loops and errors thrown by Fget. (realize_default_face): Don't use FRAME_FONT unless frame is an X frame. (Ftty_supports_face_attributes_p): Update tty_capable_p call. * scroll.c: Replace CURTTY() with local variables throughout the file (where applicable). (calculate_scrolling, calculate_direct_scrolling) (scrolling_1, scroll_cost): Use the accessor macros for terminal characteristics. * keymap.c (Vfunction_key_map): Remove. (Fdescribe_buffer_bindings): Update references to Vfunction_key_map. (syms_of_keymap): Remove DEFVAR for Vfunction_key_map. (Vkey_translation_map): Remove. (syms_of_keymap): Remove DEFVAR for key-translation-map. (Fdescribe_buffer_bindings): (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards): Update for terminal-local key-translation-map. * Makefile.in (callproc.o): Update dependencies. (lisp, shortlisp): Add termdev.elc. (obj): Add terminal.o. (terminal.o): Add dependencies. [HAVE_CARBON]: Make terminal.o depend on macgui.h. (data.o, fns.o): Add termhooks.h dependency. (SOME_MACHINE_LISP): Add dnd.elc. (minibuf.o): Fix typo. Update dependencies. * data.c (do_symval_forwarding, store_symval_forwarding) (find_symbol_value): Use the selected frame's keyboard, not current_kboard. * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of Vwindow_system. * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from Fmenu_bar_open. (syms_of_xmenu): Update defsubr. (mouse_position_for_popup, Fx_popup_menu) (Fx_popup_dialog, x_activate_menubar, update_frame_menubar) (set_frame_menubar, free_frame_menubar) (create_and_show_popup_menu, xmenu_show, ) (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not an X frame. * xselect.c (x_own_selection): Abort if not an X frame. (some_frame_on_display): Check if it is an X frame. (x_handle_selection_clear): Deal with MULTI_KBOARD. * coding.c: Include frame.h and termhooks.h. (terminal_coding, keyboard_coding): Delete. (Fset_terminal_coding_system_internal): (Fset_keyboard_coding_system_internal): (Fkeyboard_coding_system): (Fterminal_coding_system): Add a terminal parameter. Get terminal_coding from the terminal. (init_coding_once): Don't call setup_coding_system here. * dispextern.h (set_scroll_region, turn_off_insert) (turn_off_highlight, background_highlight, clear_end_of_line_raw) (tty_clear_end_of_line, tty_setup_colors) (delete_tty, updating_frame) (produce_special_glyphs, produce_glyphs, write_glyphs) (insert_glyphs): Remove. (raw_cursor_to, clear_to_end, tty_turn_off_insert) (tty_turn_off_highlight, get_tty_size): Add declaration. (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes. * frame.h (enum output_method): Add output_initial. (struct x_output): Delete. (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Access foreground_pixel and background_pixel directly from the frame. (tty_display): Delete. (struct frame): Add buried_buffer_list, foreground_pixel, background_pixel and terminal. Delete kboard (union output_data): Add tty. (FRAME_KBOARD): Get the kboard from the terminal. (FRAME_INITIAL_P): New macro. (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment) (Qterm_environment_variable, Qdisplay_environment_variable) (make_terminal_frame, Qburied_buffer_list, Qwindow_system): New declarations. * termchar.h (tty_output, tty_display_info): New structures. (tty_list): Declare. (FRAME_TTY, CURTTY): New macros. (must_write_spaces, min_padding_speed, fast_clear_end_of_line) (line_ins_del_ok, char_ins_del_ok, scroll_region_ok) (scroll_region_cost, memory_below_frame, fast_clear_end_of_line) (dont_calculate_costs, no_redraw_on_reenter): Remove declarations. * callproc.c: Include frame.h and termhooks.h, for terminal parameters. (add_env): New function. (child_setup): Use it. (child_setup, getenv_internal): Handle the new Vprocess_environment. (getenv_internal): Fix get_terminal_param call. (Fgetenv_internal, egetenv): Update doc. (syms_of_callproc): Initialize Vprocess_environment to nil. Register and initialize them. Remove obsolete defvars. Update doc strings. (child_setup): Handle Vlocal_environment_variables. (getenv_internal): Add terminal parameter. Handle Vlocal_environment_variables. (Fgetenv_internal): Add terminal parameter. (child_setup, getenv_internal, Fgetenv_internal): Store the local environment in a frame (not terminal) parameter. Update doc strings. (set_initial_environment): Rename from set_global_environment. Store Emacs environment in initial frame parameter. * xdisp.c (redisplay_internal): Update references to `previous_terminal_frame'. (display_mode_line, Fformat_mode_line): Replace calls to `push_frame_kboard' with `push_kboard'. (get_glyph_string_clip_rects): Add extra parentheses and braces to prevent compiler warnings. (calc_pixel_width_or_height): Add xassert to check that the frame is alive. Don't call `lookup_image' on a termcap frame. (message2_nolog, message3_nolog, redisplay_internal) (set_vertical_scroll_bar, redisplay_window, check_x_display_info) (x_set_scroll_bar_foreground, x_set_scroll_bar_background) (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p) (Fx_display_pixel_width, Fx_display_pixel_height) (Fx_display_planes, Fx_display_color_cells) (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width) (Fx_display_backing_store, Fx_display_visual_class) (Fx_display_save_under, Fx_close_connection, x_create_tip_frame): Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF. * xfns.c (x_set_foreground_color x_set_background_color) (x_set_mouse_color, x_set_cursor_color, x_make_gc): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. (Fx_create_frame, x_create_tip_frame, build_string, x_window) (Fx_create_frame, x_create_tip_frame): Don't create frames on a terminal that is being deleted. (Fx_create_frame): Use `store_frame_param' to set `window-system' frame parameter, and make sure it overrides any user-supplied setting. (Fx_close_connection, Fx_synchronize): Unify argument names with the rest of the DEFUNs. * dispnew.c (Fsend_string_to_terminal): Update call to `get_tty_terminal'. (Fredraw_frame, Fsend_string_to_terminal) (Fsend_string_to_terminal, init_display): Use FRAME_RIF, FRAME_TERMCAP_P and FRAME_TTY. (window_change_signal): Don't believe width/height values that are impossibly small. (Vinitial_window_system): Rename from Vwindow_system. (termscript, Wcm, rif): Delete. * termhooks.h (struct terminal): New struct containing the previously global text display hooks and new members NAME, DELETED and PARAM_ALIST. (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING) (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P) (FRAME_RIF): New macros. (get_terminal_param, get_device): New declarations. (termscript): Delete declaration. * xterm.c (x_initialize): Use Fset_input_interrupt_mode. (XTflash, x_free_frame_resources, x_scroll_bar_create) (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. (x_fully_uncatch_errors): Disable definition. (x_scroll_bar_expose): Fix reference to foreground pixel. (XTread_socket): Disable loop on all X displays. (x_delete_terminal): Don't set terminal->deleted and let delete_terminal delete the frames on the terminal. (x_delete_display): Doc update to reflect changes in delete_terminal. (x_display_info) : Move member earlier in the struct. (deleting_tty): Remove old variable. (Fsuspend_tty): Call clear_tty_hooks. (Fresume_tty, init_tty): Call set_tty_hooks. (Ftty_display_color_p, Ftty_display_color_cells): Don't throw errors on X frames. (x_catch_errors_unwind): Abort if x_error_message is NULL. (handle_one_xevent): Initialize `f' to NULL. (x_delete_terminal, x_create_terminal): New functions. (XTset_terminal_modes, XTreset_terminal_modes) (XTread_socket, x_connection_closed, x_term_init) (x_term_init, x_delete_display): Add terminal parameter. (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary X connections. * frame.c (Fframep): Deal with output_initial. (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty) (Qtty_type, Qwindow_system, Qenvironment) (Qterm_environment_variable, Qdisplay_environment_variable): New vars. (x_set_screen_gamma, store_frame_param): Fix compilation errors. (make_terminal_frame): Don't create frames on a terminal that is being deleted. (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL. (store_frame_param): Check for found_for_frame before calling XFRAME. (Fmake_terminal_frame): Handle NULL tty names correctly. (syms_of_frame): Enhance doc string of `default-frame-alist'. (Fdelete_frame): Remove unused variable `count'. (Qenvironment): New variable. (Fdelete_frame): Don't allow other frames to refer to a deleted frame in their 'environment parameter. (Fframe_with_environment): New function. (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment. (get_future_frame_param): New function. (Fmake_terminal_frame): Use it. (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF. * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames. * sysdep.c (reset_sys_modes): Update for renames. * keyboard.c (tty_read_avail_input): New function. (Fset_input_interrupt_mode, Fset_output_flow_control): New functions. (syms_of_keyboard): Defsubr them. (Fset_input_meta_mode, Fset_quit_char): New functions. (Fset_input_mode): Split to above functions. (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf parameter. Use it in call to `read_char'. (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'. Set wrong_kboard_jmpbuf correctly in recursive calls. Use current_kboard to access Vkeyboard_translate_table. Enhance comment before extra longjmp to wrong_kboard_jmpbuf. Add wrong_kboard_jmpbuf parameter to allow for recursive calls. Update longjmp invocations. Remember the original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel changes it. Comment out unnecessary calls to `record_single_kboard_state' and `any_kboard_state'. Update recursive calls. (wrong_kboard_jmpbuf): Remove global variable. (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf. Handle deleted interrupted_kboards correctly; that is a legal case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp and read_char calls. Abort if interrupted_kboard died in read_char. (any_kboard_state, single_kboard_state) (push_frame_kboard): Remove function. (pop_kboard): Switch out of single_kboard mode if the kboard has been deleted. Remove unused variable. Help debugging by not changing current_kboard unnecessarily. Set current_kboard to the kboard of the selected frame when the stored kboard object has been deleted before pop_kboard. (temporarily_switch_to_single_kboard): Change first parameter to a frame pointer. Throw an error when caller wants to change kboards while in single_kboard mode. Don't push_kboard if we weren't in single kboard state. Don't pop_kboard if we popped into any kboard state. (restore_kboard_configuration): Abort if pop_kboard changed the kboard in single_kboard mode. Call pop_kboard only after setting up single_kboard mode. (Frecursive_edit): Switch to single_kboard mode only in nested command loops. (cmd_error, command_loop, command_loop_1, timer_check): Comment out unnecessary call to `any_kboard_state' and `record_single_kboard_state'. (delete_kboard): Exit single_kboard mode if we have just deleted that kboard. Use FRAME_KBOARD. (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not `fatal_error_signal'. (record_single_kboard_state): Don't push_kboard if we weren't in single kboard state. Don't pop_kboard if we popped into any kboard state. (push_frame_kboard): Rename to push_kboard. (kbd_buffer_get_event): Use FRAME_TERMINAL. (read_avail_input): Read input from all terminals. (mark_kboards): Also mark Vkeyboard_translate_table. (kbd_buffer_store_event_hold): Simplify condition. (read_key_sequence): Reinitialize fkey and keytran at each replay. (Vkeyboard_translate_table): Move to struct kboard. (init_kboard): Initialize Vkeyboard_translate_table. (syms_of_keyboard): Use DEFVAR_KBOARD to define Vkeyboard_translate_table. Update doc strings. Update docs of local-function-key-map and function-key-map. * terminal.c: New file. * term.c: Include errno.h. (Vring_bell_function, device_list, initial_device) (next_device_id, ring_bell, update_begin, update_end) (set_terminal_window, cursor_to, raw_cursor_to) (clear_to_end, clear_frame, clear_end_of_line) (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines) (Fdisplay_name, create_device, delete_device): Move to terminal.c. (syms_of_term): Move their initialization to terminal.c. (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p) (Ftty_display_color_cells) (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output) (clear_tty_hooks, set_tty_hooks) (init_tty, maybe_fatal): New functions. (Ftty_type): Return nil if terminal is not on a tty instead of throwing an error. Doc update. (syms_of_term) : Doc update. Initialize new subrs and variables. (delete_tty): Use terminal->deleted. (tty_set_terminal_modes): Rename from set_terminal_modes. (tty_reset_terminal_modes): Rename from reset_terminal_modes. (set_scroll_region): Rename to `tty_set_scroll_region'. (turn_on_insert): Rename to `tty_turn_on_insert'. (turn_off_insert): Rename to `tty_turn_off_insert'. (turn_off_highlight): Rename to `tty_turn_off_highlight'. (turn_on_highlight): Rename to `tty_turn_on_highlight'. (toggle_highligh): Rename to `tty_toggle_highlight'. (background_highlight): Rename to `tty_background_highlight'. (highlight_if_desired): Rename to `tty_highlight_if_desired'. (tty_ring_bell, tty_update_end, tty_set_terminal_window) (tty_set_scroll_region, tty_background_highlight) (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end) (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs) (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines) (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty): Add static modifier. (tty_reset_terminal_modes, tty_set_terminal_window) (tty_set_scroll_region, tty_background_highlight) (tty_highlight_if_desired, tty_cursor_to) (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame) (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs) (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for renames. 2007-08-28 Jan Dj,Ad(Brv * keyboard.c: Qrtl is new. (parse_tool_bar_item): Handle :rtl keyword. (syms_of_keyboard): Intern :rtl keyword. * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE. * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED so no Lisp code is executed. (file_for_image, find_rtl_image): New functions. (xg_get_image_for_pixmap): Use file_for_image (update_frame_tool_bar): If direction is RTL, use RTL image if defined. Use Gtk stock images if defined. 2007-08-27 YAMAMOTO Mitsuharu * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle for nonexistent or zero-width glyph in composition glyph. 2007-08-25 Stefan Monnier * m/amdx86-64.h: Redirect to intel386.h if compiling for i386. * xdisp.c (Finvisible_p): New function. (syms_of_xdisp): defsubr it. 2007-08-24 Juanma Barranquero * image.c (syms_of_image) : Doc fixes. 2007-08-24 YAMAMOTO Mitsuharu * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes. 2007-08-24 Martin Rudalics * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell whether decoding has modified buffer contents. 2007-08-24 Jason Rumney * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG. (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols. (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them. (init_svg_functions) [HAVE_NTGUI]: New function. (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines. (svg_load_image): Use them. (svg_load_image) [HAVE_NTGUI]: Implement background. 2007-08-23 YAMAMOTO Mitsuharu * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables. (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@. (LIBX): Remove @RSVG_LIBS@. (LIBES): Add $(RSVG_LIBS). * image.c (svg_load_image): Blend with specified background if exists. Use IMAGE_BACKGROUND. Add Mac OS Support. * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable. (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]: Remove macros. [MAC_OSX] (socket_callback): Do nothing. [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of ReceiveNextEvent. [MAC_OSX] (sys_select): Likewise. Don't set context as argument to socket_callback. (mac_wakeup_from_rne) [MAC_OSX]: Do nothing. 2007-08-22 Glenn Morris * image.c (x_find_image_file): Search in etc/images/ rather than etc/. 2007-08-22 Paul Pogonyshev * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS. * image.c: Add support for SVG images. Some additional comments by Joakim Verona . When HAVE_RSVG is defined: (svg_image_p): New function to test for SVG image. (svg_load): New function to load SVG image. (svg_load_image): New function, helper for svg_load. (Qsvg): New Lisp_object. (svg_keyword_index): New enum. (svg_format): New static `image_keyword' struct. (svg_type): New static `image_type' struct. (librsvg/rsvg.h): Include it. 2007-08-23 Stefan Monnier * lread.c (load_warn_old_style_backquotes): Fix up array size typo. 2007-08-22 Stefan Monnier * lread.c (Qold_style_backquotes): New var. (syms_of_lread): Init and staticpro it. (load_warn_old_style_backquotes): New fun. (Fload): Use them to warn about old style backquotes. (end_of_file_error, Fload): Remove unused vars. * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare. * lread.c (Vold_style_backquotes): New var. (syms_of_lread): Init and export it to Elisp. (read1): Set it when we find an old-style (back)quote. 2007-08-22 Jason Rumney * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator. 2007-08-22 Katsumi Yamaoka * puresize.h (BASE_PURESIZE): Increase to 1140000. 2007-08-19 Richard Stallman * eval.c (Ffunction, Fquote): Signal error if not 1 argument. 2007-08-19 Andreas Schwab * alloc.c (pure): Round PURESIZE up. 2007-08-17 Jan Dj,Ad(Brv * xterm.c (handle_one_xevent): Remove check that mouse click is in active frame. 2007-08-16 Richard Stallman * eval.c (Fcommandp): Add parens to clarify. * minibuf.c (Fall_completions): Use enum for type of table. * emacs.c (USAGE2): Improve text. 2007-08-15 Philippe Waroquiers * term.c (tty_default_color_capabilities): Declare static variables in file scope, to avoid HPUX compiler problem. 2007-08-13 Jan Dj,Ad(Brv * gtkutil.c (update_frame_tool_bar): Use -1 as index to gtk_toolbar_insert. 2007-08-13 Stefan Monnier * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup. * insdel.c (reset_var_on_error): New fun. (signal_before_change, signal_after_change): Use it to reset (after|before)-change-functions to nil in case of error. Bind inhibit-modification-hooks to t. Don't bind (after|before)-change-functions to nil while they run. 2007-08-11 YAMAMOTO Mitsuharu * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when filling pixmap with stippled background. 2007-08-10 YAMAMOTO Mitsuharu * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event): Don't use invisible frame as parent window for repositioning. 2007-08-10 Stefan Monnier * print.c (new_backquote_output): Rename from old_backquote_output. (print): Inverse its logic (according to its name) so as to match the behavior of new_backquote_flag in lread.c. 2007-08-09 YAMAMOTO Mitsuharu * gmalloc.c (posix_memalign): New function. * macterm.c (frame_highlight, frame_unhighlight): Don't call ActivateControl/DeactivateControl here. [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when frame-notice-user-settings is non-nil. [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter for kEventParamFMFontStyle. [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check mac_pass_command_to_system and mac_pass_control_to_system here. (XTread_socket): Call ActivateControl/DeactivateControl here. (XTread_socket) [TARGET_API_MAC_CARBON]: Check mac_pass_command_to_system and mac_pass_control_to_system here. (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround for window repositioning. 2007-08-08 Glenn Morris * Replace `iff' in doc-strings and comments. 2007-08-07 Chong Yidong * xdisp.c (move_it_by_lines): Remove incorrect optimization. 2007-08-07 Martin Rudalics * fileio.c (Finsert_file_contents): Run format-decode and after_insert_file_functions on entire buffer when REPLACE is non-nil and inhibit modification_hooks and point_motion_hooks. For consistency, run after_insert_file_functions iff something got inserted. Move signal_after_change and update_compositions after code running after_insert_file_functions. Make sure that undo_list doesn't record intermediate steps of the decoding process. 2007-08-07 YAMAMOTO Mitsuharu * emacs.c (main) [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]: Call malloc_enable_thread on interactive startup. * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable. (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS) [USE_PTHREAD]: Conditionalize with it. (malloc_atfork_handler_prepare, malloc_atfork_handler_parent) (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]: New functions. 2007-08-06 Chong Yidong * xdisp.c (redisplay_window): When restoring original buffer position, make sure it is still valid. * image.c (png_load): Ignore png-supplied background color. 2007-08-06 YAMAMOTO Mitsuharu * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value. Use kCFAbsoluteTimeIntervalSince1970. * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: New variable. [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog event loop should be quit. [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]: Quit dialog event loop if quit_dialog_event_loop is set. * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h. (Selection): New typedef. Use instead of ScrapRef. (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol. (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p. (mac_clear_selection): Rename from clear_scrap. (get_flavor_type_from_symbol): New argument SEL and subsume function of scrap_has_target_type. All uses changed. (mac_get_selection_ownership_info, mac_valid_selection_value_p) (mac_selection_has_target_p): New functions. (mac_put_selection_value): Rename from put_scrap_string. (mac_get_selection_value): Rename from get_scrap_string. (mac_get_selection_target_list): Rename from get_scrap_target_type_list. (put_scrap_private_timestamp, scrap_has_target_type) (get_scrap_private_timestamp): Remove functions. (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define. (x_own_selection, x_get_local_selection): Use mac_valid_selection_value_p. (x_own_selection): Don't use put_scrap_private_timestamp. Record OWNERSHIP-INFO into Vselection_alist instead. (x_get_local_selection): Don't check type if request is local. (Fx_selection_owner_p): Don't use get_scrap_private_timestamp. Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead. 2007-08-04 Jan Dj,Ad(Brv * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s, add comment explaining why. 2007-08-03 Richard Stallman * fileio.c (Fvisited_file_modtime): Use make_time. 2007-08-01 Ryo Yoshitake (tiny change) * mac.c (init_mac_osx_environment): Adjust load-path on self-contained build. 2007-07-31 Stefan Monnier * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT. 2007-07-30 Katsumi Yamaoka * puresize.h (BASE_PURESIZE): Increase to 1130000. 2007-07-30 Richard Stallman * lread.c (readevalloop, read1): Treat NBSP as whitespace. 2007-07-29 Jan Dj,Ad(Brv * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed. 2007-07-28 Nick Roberts * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for remote default-directory. * buffer.c (mode-line-format): Update doc string. 2007-07-27 YAMAMOTO Mitsuharu * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to scroll bar gap. (x_scroll_bar_create): Set bar->fringe_extended_p. (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars on frame edge. Check fringe background extension. Don't clear extended fringe background area. * w32term.h (struct scroll_bar): New member fringe_extended_p. (w32_fill_area): Enclose multiple statements with do ... while (0). * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Extend fringe background to scroll bar gap. (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Set bar->fringe_extended_p. (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: Put leftmost/rightmost scroll bars on frame edge. Check fringe background extension. Don't clear extended fringe background area. * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]: New member fringe_extended_p. 2007-07-25 Glenn Morris * Relicense all FSF files to GPLv3 or later. * COPYING: Switch to GPLv3. 2007-07-25 Stefan Monnier * eval.c (Fcommandp): Pay attention to the `interactive-form' property. * data.c (Finteractive_form): Check for the presence of an `interactive-form' symbol property more thoroughly. * data.c (Finteractive_form): Use an `interactive-form' property if present, analogous to the function-documentation property. 2007-07-24 Jason Rumney * w32fns.c (x_real_positions): Get real position from OS instead of calculating it. 2007-07-23 Jason Rumney * filelock.c (current_lock_owner): Allow for @ sign in username. 2007-07-22 Nick Roberts * xdisp.c (decode_mode_spec): Add case 'R' for to test for remote default-directory. * buffer.c (mode-line-format): Describe above case in doc string. 2007-07-20 Eli Zaretskii * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32): Define if not defined. 2007-07-18 Jason Rumney * w32proc.c (w32_executable_type): Handle 64 bit executables. 2007-07-18 Richard Stallman * data.c (Fsetq_default): Doc fix. * eval.c (Fsetq): Doc fix. 2007-07-18 Juanma Barranquero * coding.c (Ffind_operation_coding_system): * eval.c (For, Fand): Doc fixes. Reported by Johan Bockg,Ae(Brd. 2007-07-18 Jan Dj,Ad(Brv * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame. * xterm.h: Declare x_ewmh_activate_frame. * xterm.c (x_ewmh_activate_frame): New function. (XTframe_raise_lower): Move code to x_ewmh_activate_frame. 2007-07-17 Martin Rudalics * window.c (Fdisplay_buffer): If largest or LRU window is the only window, split it even if it is not eligible for splitting. This restores the original behavior broken by the 2007-07-15 change. 2007-07-17 Glenn Morris * abbrev.c (abbrev_check_chars): New function. (Fdefine_global_abbrev, Fdefine_mode_abbrev): Call abbrev_check_chars to check abbrev characters are word constituents. Doc fix. 2007-07-17 Stefan Monnier * process.c (Fstart_process, Fmake_network_process) (read_process_output): Fix up last changes. 2007-07-16 Eli Zaretskii * makefile.w32-in (clean): Don't delete *~. 2007-07-16 Andreas Schwab * window.c (Fdisplay_buffer): Use NILP. (Fset_window_scroll_bars): Likewise. 2007-07-15 Martin Rudalics * window.c (window_min_size_2): New function. (window_min_size_1, size_window, Fdisplay_buffer) (Fsplit_window, adjust_window_trailing_edge): Use it to avoid windows without mode- or header-lines when window-min-height is too small. (size_window): Reset nodelete_p after testing it, following an earlier note by Kim F. Storm. (display_buffer): Do not set split_height_threshold to twice the value of window_min_height to avoid changing the value of a customizable variable. Rather explicitly check whether the height of the window that shall be splitted is at least as large as split_height_threshold. (Fwindow_full_width_p): New defun. (syms_of_window): Defsubr it. * window.h: Add EXFUN for Fwindow_full_width_p. 2007-07-14 Jason Rumney * process.c [WINDOWSNT]: Don't undefine AF_INET6. 2007-07-14 Richard Stallman * eval.c (maybe_call_debugger): New function. (find_handler_clause): Use maybe_call_debugger. Call it when the handler says `debug'. Eliminate DEBUGGER_VALUE_PTR. (Fsignal): Eliminate debugger_value. (Qdebug): New variable. (syms_of_eval): Initialize it. 2007-07-14 Juanma Barranquero * eval.c (Fprogn): * keyboard.c (Ftrack_mouse): * print.c (Fwith_output_to_temp_buffer): * window.c (Fsave_window_excursion): Doc fix. 2007-07-13 Stefan Monnier * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400. 2007-07-12 Stefan Monnier * process.h (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag, tick, update_tick, decoding_carryover, inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering, read_output_delay, and read_output_skip from Lisp_Objects to ints. Remove unused encoding_carryover. * process.c: Adjust all functions accordingly. 2007-07-12 Richard Stallman * term.c: Include unistd.h only if HAVE_UNISTD_H. 2007-07-11 Jason Rumney * makefile.w32-in (LIBS): Include OLE32. * w32fns.c (w32_msg_pump) : Initialize COM. (w32_msg_pump) : Uninitialize COM. 2007-07-11 Stefan Monnier * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer. * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned from a Lisp_Object into a bare pointer. (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns): Adjust the code correspondingly. * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'. * term.c: Include unistd.h for ttyname, used in handle_one_term_event. (term_show_mouse_face): Remove unused var `j'. (handle_one_term_event): Remove unused vars `i' and `j'. Don't cast return value of ttyname since it's not necessary. 2007-07-10 Stefan Monnier * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using USE_LSB_TAG. Suggested by Dmitry Antipov . * fns.c (map_char_table): Use an array of int for `indices' rather than an array of Lisp_Objects (which are only ever integers anyway). (Fmap_char_table): Update caller. * lisp.h: Update prototype. * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap): * fontset.c (Ffontset_info): * casetab.c (set_case_table): Update callers. * editfns.c (Ftranspose_regions): Use EMACS_INT for positions. * keymap.c (struct accessible_keymaps_data) (struct where_is_internal_data): New structures. (accessible_keymaps_1, where_is_internal_1): Use them to change interface to adhere to the one used by map_keymap. (Faccessible_keymaps, where_is_internal): Use map_keymap. (accessible_keymaps_char_table, where_is_internal_2): Remove. * keymap.h (map_keymap_function_t): More informative prototype. 2007-07-10 Guanpeng Xu * search.c (Vinhibit_changing_match_data, search_regs_1): New vars. (looking_at_1): Don't change search_regs and last_thing_searched if `inhibit-changing-match-data' is non-nil. (string_match_1, search_buffer, set_search_regs): Likewise. (syms_of_search): Add Lisp level definition for `inhibit-changing-match-data' and set it to nil. (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute start and end of the match, instead of using values in search_regs. 2007-07-01 Stefan Monnier * minibuf.c (Fcompleting_read): New value `confirm-only' for `require-match'. 2007-06-28 Stefan Monnier * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as part of the 2007-06-27 change to syms_of_fileio. 2007-06-28 YAMAMOTO Mitsuharu * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event): Check WINDOWP before using XWINDOW. Consolidate return statements. 2007-06-27 Richard Stallman * fileio.c (syms_of_fileio) : Doc fix. 2007-06-27 Juanma Barranquero * buffer.c (syms_of_buffer) : Fix typo in docstring. 2007-06-26 YAMAMOTO Mitsuharu * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h. (_aligned_blocks_mutex) [USE_PTHREAD]: New variable. (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros. (_free_internal, memalign): Use them. (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]: Initialize to PTHREAD_MUTEX_INITIALIZER. (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex. (morecore_nolock): Rename from morecore. All uses changed. Use only nolock versions of internal allocation functions. (_malloc_internal_nolock, _realloc_internal_nolock) (_free_internal_nolock): New functions created from _malloc_internal, _realloc_internal, and _free_internal. (_malloc_internal, _realloc_internal, _free_internal): Use them. Copy hook value to automatic variable before its use. (memalign): Copy hook value to automatic variable before its use. 2007-06-26 Kenichi Handa * coding.c (Ffind_operation_coding_system): Docstring improved. (syms_of_coding): Docstring of `file-coding-system-alist' improved. 2007-06-25 David Kastrup * keymap.c (Fcurrent_active_maps): Add `position' argument. (Fwhere_is_internal): Adjust call to `current-active-maps' to cater for additional parameter. * keymap.h: Adjust number of parameters to `current-active-maps'. * doc.c (Fsubstitute_command_keys): Adjust call of `current-active-maps'. 2007-06-25 David Kastrup * callint.c (Fcall_interactively): Make the parsing of interactive specs somewhat more readable. 2007-06-23 YAMAMOTO Mitsuharu * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background to scroll bar gap also when bitmap fills fringe. Draw only foreground if extended background has already been filled. 2007-06-22 YAMAMOTO Mitsuharu * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI. (USE_MAC_TOOLBAR): Require USE_CG_DRAWING. * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]: Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p in #if 0 as it is not compatible with y-or-n-p-with-timeout. (timer_check) [TARGET_API_MAC_CARBON]: Add extern. [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls. (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function. [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind. Run timers during dialog popup. (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated. 2007-06-21 Jason Rumney * image.c (convert_mono_to_color_image): Swap fore and background. 2007-06-20 Jason Rumney * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished. (w32_free_bdf_font): Unmap memory not handle. 2007-06-20 Sam Steingold * gmalloc.c (__morecore): Fix the declaration to comply with the definition. 2007-06-20 Juanma Barranquero * w32term.c (w32_delete_display): Remove leftover declaration. (w32_define_cursor, w32_initialize): Make static. * w32.c (_wsa_errlist): Fix typo in error message. (init_environment): Ignore any environment variable from the registry having a null value. 2007-06-20 Glenn Morris * Makefile.in (LIBGIF): Default to -lgif. 2007-06-17 Jason Rumney * w32menu.c (add_menu_item): Don't use multibyte string functions on unicode strings. 2007-06-16 Juanma Barranquero * xdisp.c (syms_of_xdisp) : Fix typo in docstring. 2007-06-16 Eli Zaretskii * w32menu.c (add_menu_item): Escape `&' characters in menu items and their keybindings. 2007-06-15 Chong Yidong * composite.c (update_compositions): Fix last fix. 2007-06-14 Jason Rumney * w32.c (get_process_times_fn): New function pointer. (globals_of_w32): Intialize it if present in kernel32.dll. (w32_get_internal_run_time): New function. * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it. 2007-06-14 Kenichi Handa * composite.c (update_compositions): Check the validness of compositions. 2007-06-14 YAMAMOTO Mitsuharu * frame.h (struct frame) [MAC_OS]: New member external_tool_bar. (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it. * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. * macgui.h (USE_MAC_TOOLBAR): New define. * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): Return immediately unless popup is activated. * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background to scroll bar gap. (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p. (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost scroll bars on frame edge. Check fringe background extension. Don't clear extended fringe background area. (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER) (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P) (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID): [USE_MAC_TOOLBAR]: New macros. (mac_move_window_with_gravity, mac_get_window_origin_with_gravity) (mac_handle_toolbar_event, mac_image_spec_to_cg_image) (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar) (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event) [USE_MAC_TOOLBAR]: New functions. (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window manually if previous repositioning has failed. (mac_handle_keyboard_event): Use precomputed event kind. (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region as tool bar item click. Handle mouse movement over tool bar items. * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member toolbar_win_gravity. (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p. (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]: Add externs. * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window) [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display. 2007-06-14 Chong Yidong * image.c (search_image_cache): Remove unused variable. 2007-06-13 Chong Yidong * xfns.c, xmenu.c: Link to xaw3d if available. 2007-06-13 YAMAMOTO Mitsuharu * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members frame_foreground and frame_background. * image.c (lookup_image): Save frame foreground and background colors. (search_image_cache): Check if saved and current frame colors match. 2007-06-12 Stefan Monnier * regex.c (regex_compile): Remove the `regnum' counter. Use bufp->re_nsub instead. Add support for \(?N:RE\). 2007-06-11 Stefan Monnier * term.c: Include intervals.h to declare Fget_text_property. 2007-06-10 Jason Rumney * w32fns.c (Fx_file_dialog): Take size from struct not pointer. 2007-06-08 Juanma Barranquero * callint.c (Fcall_interactively): * editfns.c (Fdelete_and_extract_region): * fileio.c (Fread_file_name): * fns.c (Fmapconcat): * keyboard.c (cmd_error_internal): * keymap.c (Fkey_description): * lread.c (openp): * minibuf.c (read_minibuf): * search.c (wordify): * sunfns.c (sel_read): * xdisp.c (Fformat_mode_line, syms_of_xdisp): * xfns.c (x_default_scroll_bar_color_parameter): * xmenu.c (menu_help_callback): * xselect.c (Fx_get_atom_name): * xterm.c (x_term_init): Use empty_unibyte_string. 2007-06-08 Dmitry Antipov (tiny change) * alloc.c (init_strings): Initialize canonical empty strings. (make_uninit_string, make_uninit_multibyte_string): Return appropriate canonical empty string when the requested size is 0. * emacs.c (empty_unibyte_string): Rename from empty_string. (empty_multibyte_string): New canonical empty string. (syms_of_emacs): Don't initialize empty_string. * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte string, if appropriate. (empty_unibyte_string, empty_multibyte_string): New externs. (empty_string): Remove extern. * lread.c (syms_of_lread): Use empty_unibyte_string. 2007-06-07 Jason Rumney * s/ms-w32.h: Don't define HAVE_TZNAME. * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows. 2007-06-07 YAMAMOTO Mitsuharu * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT. * macfns.c (mac_get_window_bounds): Move extern to macterm.h. (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse. * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler): Don't call next handler. [TARGET_API_MAC_CARBON] (install_menu_target_item_handler): Remove argument. Install handler to application. (set_frame_menubar): Don't change deep_p. (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y. (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P) (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID) [HAVE_DIALOGS]: New macros. [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog): Use them. (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString. * macselect.c [MAC_OSX] (install_service_handler): Rename from init_service_handler. All callers changed. Return OSStatus value. * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort. All callers changed so as not to call SetPortWindowPort. (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw. (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from mac_draw_string_common. (mac_draw_image_string_qd): Likewise. (mac_draw_string_common): Use them. Add INLINE. (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]: Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and GetGlobalMouse. (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y. [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise. [USE_MAC_TSM] (mac_handle_text_input_event): Likewise. (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for repositioning window to mac_handle_window_event. (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for saving window location to mac_handle_window_event [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here. (install_menu_target_item_handler): Remove argument in extern. [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers): Also accept command events. (do_keystroke): New function created from XTread_socket. (init_command_handler): Remove functions. [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window and save window location by kEventWindowShowing and kEventWindowHiding handlers here. Don't call next handler for window state change and focus events. (mac_handle_application_event, mac_handle_keyboard_event) [TARGET_API_MAC_CARBON]: New functions. (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for kEventWindowShowing and kEventWindowHiding events. Move installation of mouse, font, text input and menu target item handlers to install_application_handler. (install_application_handler) [TARGET_API_MAC_CARBON]: New function. (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function. (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Register it. (XTread_socket) [TARGET_API_MAC_CARBON]: Consolidate SendEventToEventTarget calls. Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y. Move application activation handler to mac_handle_application_event. Move keyboard handler to mac_handle_keyboard_event. (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke. (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call init_command_handler. Call install_application_handler. * macterm.h (mac_get_window_bounds): Move extern from macfns.c. (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros. 2007-06-07 Glenn Morris * emacs.c (main): Use `emacs-copyright' in --version output. 2007-06-06 Chong Yidong * image.c (xpm_load): Remove spurious call to xpm_init_color_cache. 2007-06-06 YAMAMOTO Mitsuharu * macfns.c (mac_window): Replace WindowPtr with WindowRef. * macgui.h: Replace WindowPtr with WindowRef. * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and GetMenuRef, respectively. Replace WindowPtr with WindowRef. Replace ControlHandle with ControlRef. (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU. * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and GetMenuRef, respectively. Replace WindowPtr with WindowRef. Replace ControlHandle with ControlRef. (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead. [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'. * macterm.h (struct scroll_bar): Rename member control_handle_low and control_handle_high to control_ref_low and control_ref_high. All uses changed. (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE, respectively. All uses changed. (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground) (install_window_handler, remove_window_handler): Replace WindowPtr with WindowRef in externs. 2007-06-05 Juanma Barranquero * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops. 2007-06-03 Nick Roberts * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case. * frame.c (Fmouse_position, Fmouse_pixel_position): Condition on HAVE_GPM too. * term.c (term_mouse_highlight): Remove unused variables. (Fterm_open_connection): Set gpm_zerobased to 1. (term_mouse_movement, term_mouse_click, handle_one_term_event): Use zero based co-ordinates. (handle_one_term_event): Report a drag as mouse movement too. * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM. 2007-06-03 Chong Yidong * image.c (search_image_cache): New function. Require background color match if background color is unspecified in the image spec. (uncache_image, lookup_image): Use it. 2007-06-01 Juanma Barranquero * window.c (Fshrink_window): Reflow docstring. 2007-06-02 Chong Yidong * Version 22.1 released. 2007-06-01 Richard Stallman * xfns.c (x_encode_text): Add GCPRO. 2007-06-01 YAMAMOTO Mitsuharu * xfns.c (x_set_name_internal): Save encoded name before x_encode_text in case string data is relocated. 2007-05-31 Richard Stallman * buffer.c (syms_of_buffer): Doc fix. 2007-05-30 Nick Roberts * sysdep.c (init_sys_modes): Add rather than replace with O_NONBLOCK. * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to term_mouse_moveto. * termhooks.h (term_mouse_moveto): New extern. * term.c (mouse_face_window): Rename... (Qmouse_face_window): ...to this. (term_show_mouse_face, term_clear_mouse_face) (term_mouse_highlight): Use Qmouse_face_window. (term_mouse_moveto): New function. (term_mouse_position): Make it work. (syms_of_term): Uncomment assignment to mouse_position_hook. Staticpro Qmouse_face_window. 2007-05-28 YAMAMOTO Mitsuharu * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t around current_column call. 2007-05-26 Dan Nicolaescu * xfaces.c (syms_of_xfaces): Delete stray semicolon. * xdisp.c (next_element_from_buffer): * window.c (delete_window): * term.c (term_mouse_highlight): * msdos.c (getdefdir): * macterm.c (mac_create_bitmap_from_bitmap_data) (init_font_name_table): * fns.c (Fsxhash): * data.c (Fmake_local_variable): * ccl.c (ccl_driver): Likewise. 2007-05-24 YAMAMOTO Mitsuharu * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): Call mac_wakeup_from_rne on window size change. 2007-05-25 Chong Yidong * image.c (uncache_image): Fix typo. 2007-05-23 Johannes Weiner (tiny change) * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too. 2007-05-22 Richard Stallman * xterm.c (x_connection_closed): Remove NO_RETURN. 2007-05-22 Martin Rudalics * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD. 2007-05-21 Chong Yidong * image.c (uncache_image): New function. (Fimage_refresh): New function. 2007-05-20 Jan Dj,Ad(Brv * Makefile.in: Move GPM check outside HAVE_X_WINDOWS. 2007-05-20 Nick Roberts * config.in, keyboard.c, Makefile.in, sysdep.c, term.c, * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H. 2007-05-20 Nick Roberts * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT conditional on [HAVE_GPM_H]. 2007-05-19 Stefan Monnier * syntax.c (skip_chars): Update syntax-table only after we checked that the new location is valid. 2007-05-19 YAMAMOTO Mitsuharu * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around mac_get_window_bounds. 2007-05-20 Nick Roberts * Makefile.in (LIBGPM): Allow it to be set from configure. If set then link Emacs with it. * config.in: Regenerate. * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): New externs. * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT. Include gpm.h. (handle_one_term_event, term_gpm): New externs. * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking and allow it to be interrupted by SIGIO. * process.c (gpm_wait_mask, max_gpm_desc): New variables. (wait_reading_process_output): Wait on gpm_fd too. (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions. (add_gpm_wait_descriptor_called_flag): New variable. (delete_keyboard_wait_descriptor): Check gpm_wait_mask. * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message) (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved) (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard): Extend HAVE_MOUSE ifdefs to HAVE_GPM_H. (make_lispy_event): Add case GPM_CLICK_EVENT. (read_avail_input): Handle mouse input. * term.c (write_glyphs_with_face): New function. [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h. (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row) (mouse_face_end_col, mouse_face_past_end, mouse_face_window) (mouse_face_face_id, term_gpm, pos_x, pos_y) (last_mouse_x, last_mouse_y): New variables. (term_show_mouse_face, term_clear_mouse_face, fast_find_position) (term_mouse_highlight, term_mouse_movement, term_mouse_position) (term_mouse_click, handle_one_term_event, Fterm_open_connection) (Fterm_close_connection): New functions. (term_init): Initialise mouse_face_window. 2007-05-19 Chong Yidong * xdisp.c (redisplay_window): If first window line is a continuation line, recompute the new window start instead of recentering. 2007-05-18 Glenn Morris * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD. Suggested by Alfred M. Szmidt . 2007-05-17 Glenn Morris * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD. 2007-05-16 YAMAMOTO Mitsuharu * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert dead key repeat and up events. 2007-05-14 Chong Yidong * image.c (pbm_load): Check image size for monochrome pbm. 2007-05-13 Chong Yidong * xterm.c (XTread_socket): Revert last change. 2007-05-12 Chong Yidong * image.c (pbm_load): Correctly check image size for greyscale pbm. * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC). 2007-05-07 Stefan Monnier * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object mixup (YAILOM). 2007-05-07 Andreas Schwab * keymap.c (Flookup_key): Fix typo in last change. 2007-05-07 Stefan Monnier * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier mapping for unibyte strings. 2007-05-01 YAMAMOTO Mitsuharu * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c. (Fx_popup_dialog) [MAC_OSX]: Likewise. 2007-04-29 Richard Stallman * insdel.c (replace_range): For undo, record insertion first. 2007-04-29 Andreas Schwab * lisp.h (VECSIZE): Use OFFSETOF. 2007-04-29 YAMAMOTO Mitsuharu * xdisp.c (try_window_reusing_current_matrix): Fix number of disabled lines. 2007-04-28 Richard Stallman * lread.c (read_escape): In a string, \s is always space. 2007-04-27 Jan Dj,Ad(Brv * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. * gtkutil.c (xg_update_menubar, create_menus): Create empty submenu for menu bar items. See ChangeLog.10 for earlier changes. ;; Local Variables: ;; coding: iso-2022-7bit ;; add-log-time-zone-rule: t ;; End: Copyright (C) 2007, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40