mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-28 00:01:33 -08:00
3126 lines
127 KiB
Text
3126 lines
127 KiB
Text
2013-07-19 Richard Stallman <rms@gnu.org>
|
|
|
|
* coding.c (decode_coding_utf_8): Add simple loop for fast
|
|
processing of ASCII characters.
|
|
|
|
2013-07-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.
|
|
|
|
2013-07-19 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
|
|
unportable 'struct x_display_info'.
|
|
(DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
|
|
is a portable type.
|
|
|
|
2013-07-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.
|
|
(procfs_ttyname): Don't use uninitialized storage if emacs_fopen
|
|
or fscanf fails.
|
|
(system_process_attributes): Prefer plain char to unsigned char
|
|
when either will do. Clean up properly if interrupted or if
|
|
memory allocations fail. Don't assume sscanf succeeds. Remove
|
|
no-longer-needed workaround to stop GCC from whining. Read
|
|
command-line once, instead of multiple times. Check read status a
|
|
bit more carefully.
|
|
|
|
Fix obscure porting bug with varargs functions.
|
|
The code assumed that int is treated like ptrdiff_t in a vararg
|
|
function, which is not a portable assumption. There was a similar
|
|
-- though these days less likely -- porting problem with various
|
|
assumptions that pointers of different types all smell the same as
|
|
far as vararg functions is conserved. To make this problem less
|
|
likely in the future, redo the API to use varargs functions.
|
|
* alloc.c (make_save_value): Remove this vararg function.
|
|
All uses changed to ...
|
|
(make_save_int_int_int, make_save_obj_obj_obj_obj)
|
|
(make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory):
|
|
New functions.
|
|
(make_save_ptr): Rename from make_save_pointer, for consistency with
|
|
the above. Define only on platforms that need it. All uses changed.
|
|
|
|
2013-07-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c: Try to fix typos in previous change.
|
|
(DISPLAY_LIST_INFO): New macro.
|
|
(kbd_buffer_get_event): Do not access members that are not present
|
|
in X11. Revert inadvertent change of "!=" to "=".
|
|
|
|
2013-07-18 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* keyboard.c (kbd_buffer_get_event):
|
|
* w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
|
|
Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
|
|
|
|
2013-07-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* filelock.c: Fix unlikely file descriptor leaks.
|
|
(get_boot_time_1): Rework to avoid using emacs_open.
|
|
This doesn't actually fix a leak, but is better anyway.
|
|
(read_lock_data): Use read, not emacs_read.
|
|
|
|
* doc.c: Fix minor memory and file descriptor leaks.
|
|
* doc.c (get_doc_string): Fix memory leak when doc file absent.
|
|
(get_doc_string, Fsnarf_documentation):
|
|
Fix file descriptor leak on error.
|
|
|
|
* term.c: Fix minor fdopen-related file descriptor leaks.
|
|
* term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails.
|
|
(init_tty) [!DOS_NT]: Likewise. Also close fd if isatty (fd) fails.
|
|
|
|
* charset.c: Fix file descriptor leaks and errno issues.
|
|
Include <errno.h>.
|
|
(load_charset_map_from_file): Don't leak file descriptor on error.
|
|
Use plain record_xmalloc since the allocation is larger than
|
|
MAX_ALLOCA; that's simpler here. Simplify test for exhaustion
|
|
of entries.
|
|
* eval.c (record_unwind_protect_nothing):
|
|
* fileio.c (fclose_unwind):
|
|
New functions.
|
|
* lread.c (load_unwind): Remove. All uses replaced by fclose_unwind.
|
|
The replacement doesn't block input, but that no longer seems
|
|
necessary.
|
|
|
|
2013-07-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* lread.c: Fix file descriptor leaks and errno issues.
|
|
(Fload): Close some races that leaked fds or streams when 'load'
|
|
was interrupted.
|
|
(Fload, openp): Report error number of last nontrivial failure to open.
|
|
ENOENT counts as trivial.
|
|
* eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr):
|
|
New functions.
|
|
* fileio.c (close_file_unwind): No need to test whether FD is nonnegative,
|
|
now that the function is always called with a nonnegative arg.
|
|
* lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove.
|
|
All uses replaced with ...
|
|
(clear_unwind_protect, set_unwind_protect_ptr): New decls.
|
|
|
|
A few more minor file errno-reporting bugs.
|
|
* callproc.c (Fcall_process):
|
|
* doc.c (Fsnarf_documentation):
|
|
* fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
|
|
* process.c (set_socket_option):
|
|
Don't let a constructor trash errno.
|
|
* doc.c: Include <errno.h>.
|
|
|
|
2013-07-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* w32fns.c (unwind_create_tip_frame): Fix declaration.
|
|
|
|
2013-07-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix w32 bug with call-process-region (Bug#14885).
|
|
* callproc.c (Fcall_process_region): Pass nil, not "/dev/null",
|
|
to Fcall_process when the input is empty. This simplifies the
|
|
code a bit. It makes no difference on POSIXish platforms but
|
|
apparently it fixes a bug on w32.
|
|
|
|
Fix bug where insert-file-contents closes a file twice. (Bug#14839).
|
|
* fileio.c (close_file_unwind): Don't close if FD is negative;
|
|
this can happen when unwinding a zapped file descriptor.
|
|
(Finsert_file_contents): Unwind-protect the fd before the point marker,
|
|
in case Emacs runs out of memory between the two unwind-protects.
|
|
Don't trash errno when closing FD.
|
|
Zap the FD in the specpdl when closing it, instead of deferring
|
|
the removal of the unwind-protect; this fixes a bug where a child
|
|
function unwinds the stack past us.
|
|
|
|
New unwind-protect flavors to better type-check C callbacks.
|
|
This also lessens the need to write wrappers for callbacks,
|
|
and the need for make_save_pointer.
|
|
* alloca.c (free_save_value):
|
|
* atimer.c (run_all_atimers):
|
|
Now extern.
|
|
* alloc.c (safe_alloca_unwind):
|
|
* atimer.c (unwind_stop_other_atimers):
|
|
* keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]:
|
|
* menu.c (cleanup_popup_menu) [HAVE_NS]:
|
|
* minibuf.c (choose_minibuf_frame_1):
|
|
* process.c (make_serial_process_unwind):
|
|
* xdisp.h (pop_message_unwind):
|
|
* xselect.c (queue_selection_requests_unwind):
|
|
Remove no-longer-needed wrapper. All uses replaced by the wrappee.
|
|
* alloca.c (record_xmalloc):
|
|
Prefer record_unwind_protect_ptr to record_unwind_protect with
|
|
make_save_pointer.
|
|
* alloca.c (Fgarbage_collect):
|
|
Prefer record_unwind_protect_void to passing a dummy.
|
|
* buffer.c (restore_buffer):
|
|
* window.c (restore_window_configuration):
|
|
* xfns.c, w32fns.c (do_unwind_create_frame)
|
|
New wrapper. All record-unwind uses of wrappee changed.
|
|
* buffer.c (set_buffer_if_live):
|
|
* callproc.c (call_process_cleanup, delete_temp_file):
|
|
* coding.c (code_conversion_restore):
|
|
* dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
|
|
* editfns.c (save_excursion_restore)
|
|
(subst_char_in_region_unwind, subst_char_in_region_unwind_1)
|
|
(save_restriction_restore):
|
|
* eval.c (restore_stack_limits, un_autoload):
|
|
* fns.c (require_unwind):
|
|
* keyboard.c (recursive_edit_unwind, tracking_off):
|
|
* lread.c (record_load_unwind, load_warn_old_style_backquotes):
|
|
* macros.c (pop_kbd_macro, restore_menu_items):
|
|
* nsfns.m (unwind_create_frame):
|
|
* print.c (print_unwind):
|
|
* process.c (start_process_unwind):
|
|
* search.c (unwind_set_match_data):
|
|
* window.c (select_window_norecord, select_frame_norecord):
|
|
* xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line)
|
|
(fast_set_selected_frame):
|
|
* xfns.c, w32fns.c (unwind_create_tip_frame):
|
|
Return void, not a dummy Lisp_Object. All uses changed.
|
|
* buffer.h (set_buffer_if_live): Move decl here from lisp.h.
|
|
* callproc.c (call_process_kill):
|
|
* fileio.c (restore_point_unwind, decide_coding_unwind)
|
|
(build_annotations_unwind):
|
|
* insdel.c (Fcombine_after_change_execute_1):
|
|
* keyboard.c (read_char_help_form_unwind):
|
|
* menu.c (unuse_menu_items):
|
|
* minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind):
|
|
* sound.c (sound_cleanup):
|
|
* xdisp.c (unwind_redisplay):
|
|
* xfns.c (clean_up_dialog):
|
|
* xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind):
|
|
Accept no args and return void, instead of accepting and returning
|
|
a dummy Lisp_Object. All uses changed.
|
|
* cygw32.c (fchdir_unwind):
|
|
* fileio.c (close_file_unwind):
|
|
* keyboard.c (restore_kboard_configuration):
|
|
* lread.c (readevalllop_1):
|
|
* process.c (wait_reading_process_output_unwind):
|
|
Accept int and return void, rather than accepting an Emacs integer
|
|
and returning a dummy object. In some cases this fixes an
|
|
unlikely bug when the corresponding int is outside Emacs integer
|
|
range. All uses changed.
|
|
* dired.c (directory_files_internal_unwind):
|
|
* fileio.c (do_auto_save_unwind):
|
|
* gtkutil.c (pop_down_dialog):
|
|
* insdel.c (reset_var_on_error):
|
|
* lread.c (load_unwind):
|
|
* xfns.c (clean_up_file_dialog):
|
|
* xmenu.c, nsmenu.m (pop_down_menu):
|
|
* xmenu.c (cleanup_widget_value_tree):
|
|
* xselect.c (wait_for_property_change_unwind):
|
|
Accept pointer and return void, rather than accepting an Emacs
|
|
save value encapsulating the pointer and returning a dummy object.
|
|
All uses changed.
|
|
* editfns.c (Fformat): Update the saved pointer directly via
|
|
set_unwind_protect_ptr rather than indirectly via make_save_pointer.
|
|
* eval.c (specpdl_func): Remove. All uses replaced by definiens.
|
|
(unwind_body): New function.
|
|
(record_unwind_protect): First arg is now a function returning void,
|
|
not a dummy Lisp_Object.
|
|
(record_unwind_protect_ptr, record_unwind_protect_int)
|
|
(record_unwind_protect_void): New functions.
|
|
(unbind_to): Support SPECPDL_UNWIND_PTR etc.
|
|
* fileio.c (struct auto_save_unwind): New type.
|
|
(do_auto_save_unwind): Use it.
|
|
(do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind.
|
|
* insdel.c (struct rvoe_arg): New type.
|
|
(reset_var_on_error): Use it.
|
|
* lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID):
|
|
New constants.
|
|
(specbinding_func): Remove; there are now several such functions.
|
|
(union specbinding): New members unwind_ptr, unwind_int, unwind_void.
|
|
(set_unwind_protect_ptr): New function.
|
|
* xselect.c: Remove unnecessary forward decls, to simplify maintenance.
|
|
|
|
Be simpler and more consistent about reporting I/O errors.
|
|
* fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
|
|
Say "Read error" and "Write error", rather than "I/O error", or
|
|
"IO error reading", or "IO error writing", when a read or write
|
|
error occurs.
|
|
* process.c (Fmake_network_process, wait_reading_process_output)
|
|
(send_process, Fprocess_send_eof, wait_reading_process_output):
|
|
Capitalize diagnostics consistently. Put "failed foo" at the
|
|
start of the diagnostic, so that we don't capitalize the
|
|
function name "foo". Consistently say "failed" for such
|
|
diagnostics.
|
|
* sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string.
|
|
All callers changed. This is so it can use report_file_error.
|
|
* sysdep.c (serial_open, serial_configure): Capitalize I/O
|
|
diagnostics consistently as above.
|
|
|
|
* fileio.c (report_file_errno): Fix errno reporting bug.
|
|
If the file name is neither null nor a pair, package it up as a
|
|
singleton list. All callers changed, both to this function and to
|
|
report_file_error. This fixes a bug where the memory allocator
|
|
invoked by list1 set errno so that the immediately following
|
|
report_file_error reported the wrong errno value.
|
|
|
|
Fix minor problems found by --enable-gcc-warnings.
|
|
* frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value.
|
|
* keyboard.c (kbd_buffer_get_event): Remove unused local.
|
|
|
|
2013-07-16 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
|
|
Set event->arg to Qt if switch-event shall be generated.
|
|
Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.
|
|
|
|
* termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.
|
|
|
|
* nsterm.m (windowDidResignKey): If this is the focused frame, generate
|
|
FOCUS_OUT_EVENT.
|
|
|
|
* keyboard.c (Qfocus_in, Qfocus_out): New static objects.
|
|
(make_lispy_focus_in, make_lispy_focus_out): Declare and define.
|
|
(kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
|
|
switch frame event is made. Check ! NILP (event->arg) if X11 (moved
|
|
from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
|
|
and there is a focused frame.
|
|
(head_table): Add focus-in and focus-out.
|
|
(keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
|
|
bind to handle-focus-in/out.
|
|
|
|
* frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
|
|
(Fhandle_switch_frame): Call Fhandle_focus_in.
|
|
(syms_of_frame): defsubr handle-focus-in/out.
|
|
|
|
2013-07-16 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix porting bug to older POSIXish platforms (Bug#14862).
|
|
* sysdep.c (emacs_pipe): New function, that implements
|
|
pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC.
|
|
This should port better to CentOS 5 and to Mac OS X 10.6.
|
|
All calls to pipe2 changed.
|
|
|
|
Prefer list1 (X) to Fcons (X, Qnil) when building lists.
|
|
This makes the code easier to read and the executable a bit smaller.
|
|
Do not replace all calls to Fcons that happen to create lists,
|
|
just calls that are intended to create lists. For example, when
|
|
creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
|
|
rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
|
|
Similarly for list2 through list5.
|
|
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
|
|
* bytecode.c (exec_byte_code):
|
|
* callint.c (quotify_arg, Fcall_interactively):
|
|
* callproc.c (Fcall_process, create_temp_file):
|
|
* charset.c (load_charset_map_from_file)
|
|
(Fdefine_charset_internal, init_charset):
|
|
* coding.c (get_translation_table, detect_coding_system)
|
|
(Fcheck_coding_systems_region)
|
|
(Fset_terminal_coding_system_internal)
|
|
(Fdefine_coding_system_internal, Fdefine_coding_system_alias):
|
|
* composite.c (update_compositions, Ffind_composition_internal):
|
|
* dired.c (directory_files_internal, file_name_completion)
|
|
(Fsystem_users):
|
|
* dispnew.c (Fopen_termscript, bitch_at_user, init_display):
|
|
* doc.c (Fsnarf_documentation):
|
|
* editfns.c (Fmessage_box):
|
|
* emacs.c (main):
|
|
* eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
|
|
(Feval, eval_sub, Ffuncall, apply_lambda):
|
|
* fileio.c (make_temp_name, Fcopy_file, Faccess_file)
|
|
(Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
|
|
(Fset_file_times, Finsert_file_contents)
|
|
(Fchoose_write_coding_system, Fwrite_region):
|
|
* fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
|
|
* font.c (font_registry_charsets, font_parse_fcname)
|
|
(font_prepare_cache, font_update_drivers, Flist_fonts):
|
|
* fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
|
|
* frame.c (make_frame, Fmake_terminal_frame)
|
|
(x_set_frame_parameters, x_report_frame_params)
|
|
(x_default_parameter, Fx_parse_geometry):
|
|
* ftfont.c (syms_of_ftfont):
|
|
* image.c (gif_load):
|
|
* keyboard.c (command_loop_1):
|
|
* keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
|
|
(Fcopy_keymap, append_key, Fcurrent_active_maps)
|
|
(Fminor_mode_key_binding, accessible_keymaps_1)
|
|
(Faccessible_keymaps, Fwhere_is_internal):
|
|
* lread.c (read_emacs_mule_char):
|
|
* menu.c (find_and_return_menu_selection):
|
|
* minibuf.c (get_minibuffer):
|
|
* nsfns.m (Fns_perform_service):
|
|
* nsfont.m (ns_script_to_charset):
|
|
* nsmenu.m (ns_popup_dialog):
|
|
* nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
|
|
(Fx_own_selection_internal):
|
|
* nsterm.m (append2):
|
|
* print.c (Fredirect_debugging_output)
|
|
(print_prune_string_charset):
|
|
* process.c (Fdelete_process, Fprocess_contact)
|
|
(Fformat_network_address, set_socket_option)
|
|
(read_and_dispose_of_process_output, write_queue_push)
|
|
(send_process, exec_sentinel):
|
|
* sound.c (Fplay_sound_internal):
|
|
* textprop.c (validate_plist, add_properties)
|
|
(Fput_text_property, Fadd_face_text_property)
|
|
(copy_text_properties, text_property_list, syms_of_textprop):
|
|
* unexaix.c (report_error):
|
|
* unexcoff.c (report_error):
|
|
* unexsol.c (unexec):
|
|
* xdisp.c (redisplay_tool_bar, store_mode_line_string)
|
|
(Fformat_mode_line, syms_of_xdisp):
|
|
* xfaces.c (set_font_frame_param)
|
|
(Finternal_lisp_face_attribute_values)
|
|
(Finternal_merge_in_global_face, syms_of_xfaces):
|
|
* xfns.c (x_default_scroll_bar_color_parameter)
|
|
(x_default_font_parameter, x_create_tip_frame):
|
|
* xfont.c (xfont_supported_scripts):
|
|
* xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
|
|
(menu_help_callback, xmenu_show):
|
|
* xml.c (make_dom):
|
|
* xterm.c (set_wm_state):
|
|
Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
|
|
and similarly for list2 through list5.
|
|
|
|
2013-07-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* callproc.c (Fcall_process_region): Fix minor race and tune.
|
|
(create_temp_file): New function, with the temp-file-creation part
|
|
of the old Fcall_process_region. Use Fcopy_sequence to create the
|
|
temp file name, rather than alloca + build_string, for simplicity.
|
|
Don't bother to block input around the temp file creation;
|
|
shouldn't be needed. Simplify use of mktemp. Use
|
|
record_unwind_protect immediately after creating the temp file;
|
|
this closes an unlikely race where the temp file was not removed.
|
|
Use memcpy rather than an open-coded loop.
|
|
(Fcall_process_region): Use the new function. If the input is
|
|
empty, redirect from /dev/null rather than from a newly created
|
|
empty temp file; this avoids unnecessary file system traffic.
|
|
|
|
2013-07-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]:
|
|
Simplify by making this case like the other two. This is a bit
|
|
slower on obsolete hosts, but the extra complexity isn't worth it.
|
|
|
|
* callproc.c (child_setup, relocate_fd) [!DOS_NT]:
|
|
* process.c (create_process) [!DOS_NT]:
|
|
Remove now-unnecessary calls to emacs_close.
|
|
|
|
2013-07-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (x_draw_hollow_cursor): Delete the brush object when
|
|
returning early. (Bug#14850)
|
|
|
|
* coding.c (syms_of_coding): Set up inhibit-null-byte-detection
|
|
and inhibit-iso-escape-detection attributes of 'undecided'.
|
|
(Bug#14822)
|
|
|
|
2013-07-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.
|
|
Reported by Herbert J. Skuhra in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>.
|
|
|
|
Don't lose top specpdl entry when memory is exhausted.
|
|
* eval.c (grow_specpdl): Increment specpdl top by 1 and check for
|
|
specpdl overflow here, to simplify callers; all callers changed.
|
|
Always reserve an unused entry at the stack top; this avoids
|
|
losing the top entry's information when memory is exhausted.
|
|
|
|
2013-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Clean up errno reporting and fix some errno-reporting bugs.
|
|
* callproc.c (Fcall_process):
|
|
* fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
|
|
* process.c (create_process, Fmake_network_process):
|
|
* unexaix.c (report_error):
|
|
* unexcoff.c (report_error):
|
|
Be more careful about reporting the errno of failed operations.
|
|
The code previously reported the wrong errno sometimes.
|
|
Also, prefer report_file_errno to setting errno + report_file_error.
|
|
(Fcall_process): Look at openp return value rather than at path,
|
|
as that's a bit faster and clearer when there's a numeric predicate.
|
|
* fileio.c (report_file_errno): New function, with most of the
|
|
old contents of report_file_error.
|
|
(report_file_error): Use it.
|
|
(Ffile_exists_p, Ffile_accessible_directory_p):
|
|
Set errno to 0 when it is junk.
|
|
* fileio.c (Faccess_file):
|
|
* image.c (x_create_bitmap_from_file):
|
|
Use faccessat rather than opening the file, to avoid the hassle of
|
|
having a file descriptor open.
|
|
* lisp.h (report_file_errno): New decl.
|
|
* lread.c (Flocate_file_internal): File descriptor 0 is valid, too.
|
|
|
|
Minor EBADF fixes.
|
|
* process.c (create_process, wait_reading_process_output) [AIX]:
|
|
Remove obsolete SIGHUP-related code, as Emacs no longer disables
|
|
SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in
|
|
a multithreaded environment anyway).
|
|
* sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1).
|
|
|
|
2013-07-12 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* image.c (x_find_image_file): Don't close a remote file handle.
|
|
|
|
2013-07-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix races with threads and file descriptors.
|
|
* callproc.c (Fcall_process_region):
|
|
* dired.c (open_directory):
|
|
* emacs.c (main, Fdaemon_initialized):
|
|
* image.c (x_find_image_file):
|
|
* inotify.c (Finotify_rm_watch):
|
|
* lread.c (Flocate_file_internal):
|
|
* process.c (Fnetwork_interface_list, Fnetwork_interface_info):
|
|
* term.c (term_mouse_moveto, init_tty):
|
|
* termcap.c (tgetent):
|
|
* unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
|
|
* unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec):
|
|
* unexhp9k800.c, unexmacosx.c (unexec):
|
|
* callproc.c (Fcall_process_region):
|
|
Use emacs_close, not close.
|
|
* sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
|
|
New macro and function, which emulates the POSIX_CLOSE_RESTART macro
|
|
and posix_close function on current platforms (which all lack them).
|
|
(emacs_close): Use it. This should fix the races on GNU/Linux and
|
|
on AIX and on future platforms that support POSIX_CLOSE_RESTART,
|
|
and it should avoid closing random victim file descriptors on
|
|
other platforms.
|
|
|
|
2013-07-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* inotify.c (uninitialized): Remove. All uses replaced by -1.
|
|
(Finotify_add_watch): Simplify, since -1 means uninitialized now.
|
|
Touch up doc a bit.
|
|
|
|
* eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE.
|
|
This is for .gdbinit xbacktrace.
|
|
|
|
* sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes.
|
|
* sysdep.c (emacs_get_tty): Return void, since nobody uses the value.
|
|
(emacs_set_tty): Now static.
|
|
* sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close):
|
|
* term.c (tty_capable_p, tty_default_color_capabilities)
|
|
(get_tty_terminal, term_mouse_movement)
|
|
(handle_one_term_event, init_tty, maybe_fatal):
|
|
* termcap.c (tgetst1, struct termcap_buffer, valid_filename_p)
|
|
(tgetent, scan_file, name_match, compare_contin):
|
|
* terminal.c (get_terminal):
|
|
Use bool for boolean.
|
|
* sysdep.c (init_system_name): Don't overflow stack on huge hostname.
|
|
Prefer char to unsigned char if either will do.
|
|
* term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int.
|
|
(tty_write_glyphs): Prefer int to unsigned.
|
|
(produce_glyphless_glyph): Remove 2nd (unused) int arg.
|
|
All callers changed.
|
|
* termcap.c (tprint, main) [TEST]: Remove non-working test.
|
|
|
|
2013-07-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port to C89.
|
|
* bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
|
|
(B__dummy__): New dummy symbol, to pacify C89.
|
|
* dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
|
|
they can't grok varargs macros.
|
|
* dispnew.c (add_window_display_history)
|
|
(add_frame_display_history):
|
|
* print.c (print_object):
|
|
* xdisp.c (debug_method_add):
|
|
Use %p printf format only for void pointers.
|
|
* emacs.c (usage_message): New constant, replacing ...
|
|
(USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
|
|
(main): Adjust to usage reorg.
|
|
* fns.c (syms_of_fns):
|
|
* profiler.c (syms_of_profiler):
|
|
Don't use non-constant struct initializers.
|
|
* gnutls.h (gnutls_initstage_t):
|
|
* lisp.h (enum Lisp_Fwd_Type):
|
|
* lread.c (lisp_file_lexically_bound_p):
|
|
* xsettings.c (anonymous enum):
|
|
Remove trailing comma.
|
|
* xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
|
|
* lisp.h (ENUM_BF): Use unsigned if pedantic.
|
|
(DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
|
|
(DEFUN): Use it.
|
|
* regex.c (const_re_char): New type, to pacify strict C89.
|
|
All uses of 'const re_char' replaced to use it.
|
|
* regex.h (_Restrict_): Rename from __restrict, to avoid clash
|
|
with glibc when strict C89. This change is imported from gnulib.
|
|
All uses changed.
|
|
(_Restrict_arr_): Rename from __restrict_arr, similarly.
|
|
* sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
|
|
Omit GNU_LINUX implementation, since it requires long long.
|
|
* xterm.c (x_draw_underwave):
|
|
Do not assume the traditional order of struct's members.
|
|
(x_term_init): Rewrite to avoid the need for non-constant structure
|
|
initializers.
|
|
|
|
Syntax cleanup, mostly replacing macros with functions.
|
|
` This removes the need for the syntax_temp hack.
|
|
* search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
|
|
* syntax.c (SYNTAX_INLINE): New macro.
|
|
(SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
|
|
(SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND)
|
|
(SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB)
|
|
(SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2)
|
|
(SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE)
|
|
(SYNTAX_COMEND_FIRST): Now functions, not macros.
|
|
(ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE):
|
|
Now constants, not macros.
|
|
(syntax_temp) [!__GNUC__]: Remove.
|
|
(SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p.
|
|
(syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here.
|
|
(SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH)
|
|
(SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
|
|
Move here from syntax.h; now functions, not macros. Except for the
|
|
last function, these are static since only syntax.c uses them.
|
|
(syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK.
|
|
All uses changed. Now a function, not a macro; use this fact
|
|
to simplify the code.
|
|
(scan_lists, scan_sexps_forward): Remove workarounds for ancient
|
|
compiler bugs; no longer relevant.
|
|
* syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
|
|
(SYNTAX_INLINE): New macro.
|
|
(struct gl_state_s, gl_state): Move earlier, so that it's in scope
|
|
for the new functions. Use bool for boolean member.
|
|
(SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH)
|
|
(SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD)
|
|
(UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
|
|
(SETUP_BUFFER_SYNTAX_TABLE):
|
|
Now extern inline functions, not macros.
|
|
(CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT):
|
|
Remove; all uses replaced by implementation.
|
|
(syntax_temp) [!__GNUC__]: Remove decl.
|
|
(SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl.
|
|
|
|
2013-07-10 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* emacs.c (main): Fix syntax error.
|
|
|
|
2013-07-10 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Timestamp fixes for undo (Bug#14824).
|
|
* atimer.c (schedule_atimer):
|
|
* fileio.c (Ffile_newer_than_file_p):
|
|
Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
|
|
* buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
|
|
* fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
|
|
(syms_of_fileio): Remove Sclear_visited_file_name.
|
|
(Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
|
|
file doesn't exist; this avoids an ambiguity with negative timestamps.
|
|
(Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
|
|
* systime.h (make_emacs_time, invalid_emacs_time):
|
|
Don't assume struct timespec layout; POSIX doesn't guarantee it.
|
|
(EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
|
|
* undo.c (record_first_change): Push (visited-file-modtime) onto
|
|
undo list rather than reimplementing it by hand, incorrectly.
|
|
|
|
2013-07-09 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB.
|
|
|
|
2013-07-09 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update.
|
|
|
|
2013-07-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Handle errno and exit status a bit more carefully.
|
|
* callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error
|
|
number into an exit status. Instead, use EXIT_CANCELED.
|
|
(child_setup) [!MSDOS]: Avoid possible deadlock with vfork.
|
|
* callproc.c (relocate_fd):
|
|
* emacs.c (close_output_streams, main):
|
|
* process.c (create_process):
|
|
* sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]:
|
|
Use emacs_perror for simplicity.
|
|
* callproc.c (relocate_fd, main):
|
|
* sysdep.c (sys_subshell):
|
|
Exit with EXIT_CANCELED etc., not 1, when exec setup fails.
|
|
(shut_down_emacs): Use emacs_write, not write.
|
|
* emacs.c, sysdep.c: Don't include <ignore-value.h>.
|
|
* fileio.c (Fcopy_file, e_write):
|
|
* nsterm.m (ns_select):
|
|
* process.c (send_process):
|
|
* sound.c (vox_write):
|
|
Use emacs_write_sig, not emacs_write.
|
|
* lisp.h (emacs_write_sig, emacs_perror): New decls.
|
|
* process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT):
|
|
New constants.
|
|
* sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value
|
|
of write.
|
|
(emacs_full_write): New function.
|
|
(emacs_write): Rewrite to use it.
|
|
(emacswrite_sig, emacs_perror): New functions.
|
|
* xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
|
|
|
|
2013-07-08 Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
|
|
|
|
* image.c (imagemagick_load_image): Do not use MagickExportImagePixels
|
|
on NS even if it is present. Pixmap on NS is a void*.
|
|
|
|
2013-07-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port to Ubuntu 10 (Bug#14803).
|
|
Problem reported by T.V. Raman.
|
|
* process.c (close_on_exec, accept4, process_socket):
|
|
Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.
|
|
|
|
2013-07-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (sys_dup): Declare prototype.
|
|
|
|
* filelock.c:
|
|
* emacs.c:
|
|
* callproc.c [WINDOWSNT]: Include sys/socket.h.
|
|
|
|
2013-07-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Make file descriptors close-on-exec when possible (Bug#14803).
|
|
This simplifies Emacs a bit, since it no longer needs to worry
|
|
about closing file descriptors by hand in some cases.
|
|
It also fixes some unlikely races. Not all such races, as
|
|
libraries often open files internally without setting
|
|
close-on-exec, but it's an improvement.
|
|
* alloc.c (valid_pointer_p) [!WINDOWSNT]:
|
|
* callproc.c (Fcall_process) [!MSDOS]:
|
|
* emacs.c (main) [!DOS_NT]:
|
|
* nsterm.m (ns_term_init):
|
|
* process.c (create_process):
|
|
Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
|
|
* emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
|
|
* filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
|
|
Prefer mkostemp with O_CLOEXEC to mkstemp.
|
|
* callproc.c (relocate_fd) [!WINDOWSNT]:
|
|
* emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
|
|
No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
|
|
now using pipe2.
|
|
* filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
|
|
Make the resulting file descriptor close-on-exec.
|
|
* lisp.h, lread.c, process.c (close_load_descs, close_process_descs):
|
|
* lread.c (load_descriptor_list, load_descriptor_unwind):
|
|
Remove; no longer needed. All uses removed.
|
|
* process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
|
|
(close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
|
|
New functions.
|
|
(socket) [!SOCK_CLOEXEC]: Supply a substitute.
|
|
(Fmake_network_process, Fnetwork_interface_list):
|
|
(Fnetwork_interface_info, server_accept_connection):
|
|
Make newly-created socket close-on-exec.
|
|
* sysdep.c (emacs_open, emacs_fopen):
|
|
Make new-created descriptor close-on-exec.
|
|
* w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
|
|
* w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg.
|
|
|
|
2013-07-07 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (sendEvent:): Propagate keyboard events to modal windows
|
|
for NS_IMPL_GNUSTEP.
|
|
|
|
2013-07-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix openp errno handling.
|
|
* callproc.c (Fcall_process): Preserve openp errno around close.
|
|
* lread.c (openp): Set errno when returning -1, as some callers
|
|
expect this.
|
|
|
|
2013-07-06 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
|
|
|
|
* nsterm.h (NSSavePanel): Update comment.
|
|
(NSAPP_DATA2_RUNFILEDIALOG): Define.
|
|
(ns_run_file_dialog): Declare.
|
|
|
|
* nsfns.m: Remove panelOK.
|
|
(ns_fd_data): New.
|
|
(ns_run_file_dialog): New function.
|
|
(Fns_read_file_name): Fill in ns_fd_data, post an event and start the
|
|
event loop, so file dialog is popped up by ns_run_file_dialog, called
|
|
by sendEvent (Bug#14578).
|
|
(EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.
|
|
|
|
2013-07-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (default_line_pixel_height): New function.
|
|
(pos_visible_p, move_it_vertically_backward, try_scrolling)
|
|
(try_cursor_movement, redisplay_window, try_window)
|
|
(try_window_id): Use it instead of FRAME_LINE_HEIGHT. (Bug#14771)
|
|
|
|
* window.c (window_scroll_pixel_based): use
|
|
default_line_pixel_height.
|
|
|
|
* dispextern.h (default_line_pixel_height): Add prototype.
|
|
|
|
* frame.c (x_set_line_spacing): Accept a float value for
|
|
line-spacing parameter, per the documentation.
|
|
|
|
* data.c (Fmultibyte_string_p): Doc fix.
|
|
|
|
2013-07-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use emacs_open more consistently when opening files.
|
|
This handles EINTR more consistently now, and makes it easier
|
|
to introduce other uniform changes to file descriptor handling.
|
|
* src/systdio.h: New file.
|
|
* src/buffer.c (mmap_init):
|
|
* cygw32.c (chdir_to_default_directory):
|
|
* dispnew.c (Fopen_termscript):
|
|
* emacs.c (Fdaemon_initialized):
|
|
* fileio.c (Fdo_auto_save):
|
|
* image.c (slurp_file, png_load_body, jpeg_load_body):
|
|
* keyboard.c (Fopen_dribble_file):
|
|
* lread.c (Fload):
|
|
* print.c (Fredirect_debugging_output):
|
|
* sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
|
|
* termcap.c (tgetent):
|
|
* unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
|
|
* unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
|
|
* w32term.c (w32_initialize) [CYGWIN]:
|
|
* xfaces.c (Fx_load_color_file):
|
|
Use emacs_open instead of plain open, and emacs_fopen instead of
|
|
plain fopen.
|
|
* dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
|
|
* xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
|
|
* callproc.c (default_output_mode): New constant.
|
|
(Fcall_process): Use it to call emacs_open instead of plain creat.
|
|
* dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
|
|
* sysdep.c (emacs_open): Add commentary and don't call file name "path".
|
|
(emacs_fopen): New function.
|
|
* unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
|
|
Include <lisp.h>, for emacs_open.
|
|
* unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
|
|
|
|
Remove duplicate #include directives.
|
|
* alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
|
|
* xfaces.c:
|
|
Don't include stdio.h twice.
|
|
* buffer.c [USE_MMAP_FOR_BUFFERS]:
|
|
Don't include sys/types.h or stdio.h twice.
|
|
* fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
|
|
* lread.c: Don't include coding.h twice.
|
|
* nsfont.m: Don't include frame.h twice.
|
|
* process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
|
|
* ralloc.c: Don't include <unistd.h> twice.
|
|
* xdisp.c: Don't include font.h twice.
|
|
* xterm.c: Don't include fontset.h twice.
|
|
* xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Scale ImageMagick images more carefully.
|
|
* image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function.
|
|
(compute_image_size): Use it. Define only if HAVE_IMAGEMAGICK.
|
|
Be more careful about avoiding undefined behavior after
|
|
integer overflow and division by zero.
|
|
|
|
2013-07-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables.
|
|
(syms_of_w32fns): DEFSYM them.
|
|
(MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN)
|
|
(CCHDEVICENAME): Define macros if not defined.
|
|
(struct MONITOR_INFO_EX): New struct.
|
|
(MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes.
|
|
(enum_display_monitors_fn): New variable.
|
|
(globals_of_w32fns): Initialize it.
|
|
(Fx_display_pixel_width, Fx_display_pixel_height)
|
|
(Fx_display_mm_height, Fx_display_mm_width): Mention behavior on
|
|
multi-monitor setups in docstrings.
|
|
(Fx_display_mm_height, Fx_display_mm_width): Approximate whole
|
|
screen size by primary monitor's millimeter per pixel.
|
|
(w32_monitor_enum, w32_display_monitor_attributes_list)
|
|
(w32_display_monitor_attributes_list_fallback)
|
|
(Fw32_display_monitor_attributes_list): New functions.
|
|
(syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list.
|
|
|
|
* w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros
|
|
if not defined.
|
|
(x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics.
|
|
|
|
2013-07-04 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* fileio.c (Qfile_notify_error): New error symbol.
|
|
|
|
* gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
|
|
* inotify.c (inotify_callback, symbol_to_inotifymask)
|
|
(Finotify_add_watch, Finotify_rm_watch): Use it.
|
|
(inotifyevent_to_event): Exchange order of cookie and file name.
|
|
(Finotify_add_watch): Adapt docstring.
|
|
|
|
* lisp.h (Qfile_notify_error): Declare.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569).
|
|
* emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Do not clear _malloc_thread_enabled_p, undoing the previous change,
|
|
which did not work (see <http://bugs.gnu.org/14569#307>).
|
|
(main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP
|
|
&& (!noninteractive || initialized)). This attempts to thread
|
|
the needle between the Scylla of FreeBSD and the Charybdis of Cygwin.
|
|
|
|
2013-07-04 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'.
|
|
(x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'.
|
|
|
|
2013-07-04 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569).
|
|
* emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Clear _malloc_thread_enabled_p at startup. Reported by Ashish SHUKLA in
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>.
|
|
|
|
2013-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
|
|
Define to __sys_siglist.
|
|
|
|
2013-07-02 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow
|
|
word-wrap, so that overflow-newline-into-fringe would work in
|
|
visual-line-mode. (Bug#2749)
|
|
(move_it_in_display_line_to): When the last scanned display
|
|
element fits exactly on the display line, and
|
|
overflow-newline-into-fringe is non-nil, but wrap_it is valid,
|
|
don't return MOVE_NEWLINE_OR_CR, but instead back up to the last
|
|
wrap point and return MOVE_LINE_CONTINUED. Fixes problems with
|
|
finding buffer position that corresponds to pixel coordinates,
|
|
e.g. in buffer_posn_from_coords.
|
|
|
|
2013-07-02 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.c (handle_child_signal): Call catch_child_signal if
|
|
NS_IMPL_GNUSTEP.
|
|
|
|
2013-07-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't convert function pointers to void * and back.
|
|
It isn't portable C, and it's easy enough to avoid.
|
|
* alloc.c: Verify SAVE_FUNCPOINTER bits, too.
|
|
(make_save_value): Add support for SAVE_FUNCPOINTER.
|
|
* keymap.c (map_keymap_char_table_item, map_keymap_internal):
|
|
* print.c (print_object):
|
|
Distinguish function from object pointers.
|
|
* lisp.h (SAVE_FUNCPOINTER): New constant.
|
|
(SAVE_SLOT_BITS): Adjust to it.
|
|
(SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing
|
|
SAVE_TYPE_PTR_PTR_OBJ. Change the only use.
|
|
(voidfuncptr): New typedef.
|
|
(struct Lisp_Save_Value): New member data[0].funcpointer.
|
|
(XSAVE_FUNCPOINTER): New function.
|
|
|
|
Simplify buildobj processing.
|
|
* Makefile.in (buildobj.h): Make it a sequence of strings each
|
|
followed by comma, rather than a single string. Put it into a
|
|
.tmp file in case there's an error while generating it.
|
|
(gl-stamp): Use .tmp for temp files.
|
|
(mostlyclean): Clean .tmp files.
|
|
* doc.c (buildobj): Move to just the routine that needs it.
|
|
It's now an array of strings, so processing is simpler.
|
|
|
|
2013-07-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix bug re noninteractive multithreaded memory allocation (Bug#14569).
|
|
* emacs.c (malloc_enable_thread): Hoist extern decl to top level.
|
|
(main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
|
|
Invoke malloc_enable_thread even when not interactive.
|
|
Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
|
|
* process.c (init_process_emacs) [CYGWIN]: Tickle glib even
|
|
in this case, since the underlying bug has now been fixed.
|
|
|
|
2013-07-01 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before
|
|
unlinking it (bug#14691).
|
|
|
|
2013-06-30 Michal Nazarewicz <mina86@mina86.com>
|
|
|
|
* buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
|
|
before checking whether buffer is modified. This lets
|
|
`kill-buffer-query-functions' cancel killing of the buffer or save
|
|
its content before `kill-buffer' asks user the "Buffer %s
|
|
modified; kill anyway?" question.
|
|
|
|
2013-06-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m (handlePanelKeys): Don't process Command+Function keys.
|
|
Let the super performKeyEquivalent deal with them (Bug#14747).
|
|
|
|
2013-06-30 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* widget.c (resize_cb): Remove unused local.
|
|
|
|
Do not use GTK 3 if it exists but cannot be compiled.
|
|
* xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
|
|
* xterm.c (x_error_handler) [!USE_GTK]:
|
|
Do not use GTK 3.
|
|
|
|
* intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
|
|
|
|
2013-06-30 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* intervals.c (get_local_map): Instead of aborting, clip POSITION
|
|
to the valid range of values. (Bug#14753)
|
|
|
|
* xdisp.c (Fmove_point_visually): Invalidate the cursor position
|
|
when moving point by using the current glyph matrix. This avoids
|
|
the need to force redisplay when this function is called in a
|
|
loop.
|
|
|
|
2013-06-29 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* coding.c (encode_inhibit_flag, inhibit_flag): New functions.
|
|
Redo the latter's body to sidestep GCC parenthesization warnings.
|
|
(setup_coding_system, detect_coding, detect_coding_system): Use them.
|
|
* coding.c (detect_coding, detect_coding_system):
|
|
* coding.h (struct undecided_spec):
|
|
Use bool for boolean.
|
|
* image.c (QCmax_width, QCmax_height): Now static.
|
|
* xdisp.c (Fmove_point_visually): Remove unused local.
|
|
|
|
2013-06-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fmove_point_visually): New function.
|
|
|
|
2013-06-28 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.h (define_coding_undecided_arg_index): New enum.
|
|
(coding_attr_index): New members
|
|
coding_attr_undecided_inhibit_null_byte_detection,
|
|
coding_attr_undecided_inhibit_iso_escape_detection,
|
|
coding_attr_undecided_prefer_utf_8.
|
|
(undecided_spec): New struct.
|
|
(struct coding_system): New member `undecided' of the member
|
|
`spec'.
|
|
|
|
* coding.c (setup_coding_system): Handle CODING->spec.undecided.
|
|
(detect_coding): Likewise.
|
|
(detect_coding_system): Likewise.
|
|
(Fdefine_coding_system_internal): New coding system properties
|
|
:inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
|
|
:prefer-utf-8.
|
|
(syms_of_coding): Adjust for coding_arg_undecided_max.
|
|
|
|
2013-06-28 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (x_from_xcolors): Remove unused local.
|
|
|
|
2013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
Defer image data transfer between X client and server until actual
|
|
display happens.
|
|
|
|
* dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
|
|
and `mask_img'.
|
|
|
|
* image.c (Destroy_Image): Remove.
|
|
(x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
|
|
`mask_p', and `colors_p'. All uses changed.
|
|
(x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
|
|
(CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS):
|
|
New macros for `flags' arg to x_clear_image_1.
|
|
(postprocess_image, xpm_load_image, x_build_heuristic_mask)
|
|
(png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
|
|
(ZPixmap, XGetImage) [HAVE_NS]: Remove.
|
|
(image_get_x_image_or_dc, image_unget_x_image_or_dc)
|
|
(image_get_x_image, image_unget_x_image): New functions or macros.
|
|
(image_background, image_background_transparent, x_to_xcolors)
|
|
(x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
|
|
XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc
|
|
instead of Destroy_Image.
|
|
(image_create_x_image_and_pixmap, image_put_x_image): New functions.
|
|
(xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
|
|
(png_load_body, jpeg_load_body, tiff_load, gif_load)
|
|
(imagemagick_load_image, svg_load_image): Use them instead of
|
|
x_create_x_image_and_pixmap, and x_put_x_image followed by
|
|
x_destroy_x_image, respectively.
|
|
(xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
|
|
XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
|
|
XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and
|
|
background_transparent fields.
|
|
(image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
|
|
(prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
|
|
|
|
2013-06-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
|
|
This mostly consists of undoing recent changes.
|
|
* callproc.c (Fcall_process):
|
|
* process.c (create_process):
|
|
Do not worry about catching SIGCHLD here, undoing previous change.
|
|
* nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
|
|
* process.c, process.h (catch_child_signal):
|
|
No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
|
|
* process.c (catch_child_handler): Don't worry about being called
|
|
lazily and do not assume caller has blocked SIGCHLD, undoing
|
|
previous change. Move first-time stuff back to
|
|
init_process_emacs, undoing 06-22 change. If CYGWIN, do not
|
|
tickle glib, as that causes Cygwin bootstrap to fail. Do not
|
|
set lib_child_handler if it's already initialized, which may
|
|
help avoid problems on GNUStep.
|
|
|
|
2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
|
|
* callproc.c (Fcall_process):
|
|
* process.c (create_process):
|
|
Make sure SIGCHLD is caught before we fork,
|
|
since Emacs startup no arranges to catch SIGCHLD.
|
|
* process.c (lib_child_handler): Initialize to null, not to
|
|
dummy_handler.
|
|
(catch_child_signal): Allow self to be called lazily.
|
|
Do nothing if it's already been called.
|
|
Assume caller has blocked SIGCHLD (all callers do now).
|
|
* emacs.c (main): Do not catch SIGCHLD here; defer it until
|
|
just before it's really needed.
|
|
* nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
|
|
since it hasn't been caught yet.
|
|
|
|
2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* image.c (compute_image_size): New function to implement
|
|
:max-width and :max-height.
|
|
(imagemagick_load_image): Use it.
|
|
|
|
2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Try to avoid malloc SEGVs on Cygwin (Bug#14569).
|
|
* callproc.c, process.h (block_child_signal, unblock_child_signal):
|
|
Now extern.
|
|
* emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
|
|
* process.c (catch_child_signal): Block SIGCHLD while futzing with
|
|
the SIGCHLD handler, since the code is not atomic and (due to glib)
|
|
signals may be arriving now.
|
|
* sysdep.c (init_signals): Do not catch child signals here;
|
|
'main' now does that later, at a safer time.
|
|
|
|
2013-06-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Clean up SIGCHLD handling a bit (Bug#14569).
|
|
* process.c, process.h (catch_child_signal):
|
|
Now always extern, even if !NS_IMPL_GNUSTEP.
|
|
* process.c (catch_child_signal): Move glib tickler here from
|
|
init_process_emacs, so that it's done earlier in Emacs
|
|
initialization. Also move the noninteractive && !initialized
|
|
check here from init_process_emacs. This is all a bit cleaner for
|
|
GNUish platforms, and I hope it works around the Cygwin bug.
|
|
* sysdep.c (init_signals): Invoke catch_child_signal here, so
|
|
that glib signal handling is tickled before glib creates threads.
|
|
|
|
* process.c (wait_reading_process_output): Avoid int overflow
|
|
when reading more than 2 GiB total from a process.
|
|
|
|
2013-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* process.c (create_process): Handle a couple more cases,
|
|
i.e., work even if new_argv and wait_child_setup[i] are cached.
|
|
Use Fcall_process's style for volatile vars.
|
|
|
|
2013-06-21 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* process.c (create_process): Mark PROCESS volatile.
|
|
|
|
2013-06-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use C99-style flexible array members if available.
|
|
This avoids some subtle aliasing issues, which typically
|
|
aren't a problem with GCC but may be a problem elsewhere.
|
|
* alloc.c (sdata): New typedef, replacing the old struct sdata.
|
|
It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
|
|
In either case, it uses a flexible array member rather than
|
|
the old struct hack. All uses changed.
|
|
(SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
|
|
Adjust to sdata reorganization.
|
|
* alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
|
|
Use offsetof (struct, flex_array_member), not sizeof (struct), as
|
|
that ports better to pre-C99 non-GCC.
|
|
* chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
|
|
Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
|
|
as the latter has changed.
|
|
* conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
|
|
and port better to pre-C99 GCC.
|
|
* image.c (struct xpm_cached_color):
|
|
* lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
|
|
(struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
|
|
Use FLEXIBLE_ARRAY_MEMBER.
|
|
* lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
|
|
Move decl to top level so it gets checked against implementation.
|
|
(CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
|
|
* w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
|
|
|
|
2013-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* syntax.c: Integer cleanups.
|
|
(SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
|
|
All uses that need 0-or-2 changed to:
|
|
(SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
|
|
as the old SYNTAX_FLAGS_COMMENT_STYLEC.
|
|
(struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
|
|
(char_quoted, prev_char_comend_first, back_comment)
|
|
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
|
|
(in_classes, forw_comment, scan_lists, scan_sexps_forward):
|
|
Use bool for boolean.
|
|
(update_syntax_table, skip_chars, skip_syntaxes):
|
|
Prefer int to unsigned when either will do.
|
|
(back_comment): Return boolean success flag, like forw_comment,
|
|
instead of positive-or-minus-1 (which might have overflowed int anyway).
|
|
Don't stuff ptrdiff_t into int.
|
|
(syntax_spec_code, syntax_code_spec): Now const.
|
|
(Fmatching_paren, scan_lists, scan_sexps_forward):
|
|
Use enum syntaxcode for syntax code.
|
|
(Fmatching_paren): Check that arg is a character, not just an integer.
|
|
(Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
|
|
(Finternal_describe_syntax_value): Omit no-longer-needed
|
|
comparison to 0.
|
|
(skip_chars): Use char, not unsigned char, when the distinction
|
|
doesn't matter.
|
|
(forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
|
|
* bytecode.c (exec_byte_code):
|
|
* syntax.c (syntax_spec_code, Fchar_syntax)
|
|
(Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
|
|
(init_syntax_once):
|
|
* syntax.h (SYNTAX_WITH_FLAGS):
|
|
Omit unnecessary casts.
|
|
|
|
2013-06-20 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't compute the header line and mode
|
|
line dimensions here, to avoid race conditions with the main
|
|
thread. (Bug#14062, bug#14630, bug#14669)
|
|
|
|
* w32term.c (w32_draw_window_cursor): Compute the header line and
|
|
mode line dimensions here.
|
|
<w32_system_caret_window, w32_system_caret_hdr_height>:
|
|
<w32_system_caret_mode_height>: New variables.
|
|
|
|
* w32term.h: Declare them.
|
|
|
|
2013-06-20 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* alloc.c (die): Move "assertion failed" string here ...
|
|
* lisp.h (eassert): ... from here. Also, suppress evaluation of
|
|
COND when SUPPRESS_CHECKING. This shrinks the executable text
|
|
size by 0.8% to 2.2% when configured with --enable-checking,
|
|
depending on optimization flags (GCC 4.8.1 x86-64).
|
|
|
|
* floatfns.c (Flog10): Move to Lisp (marked obsolete there).
|
|
|
|
2013-06-20 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
|
|
|
* floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
|
|
base is 2; this is more accurate.
|
|
|
|
2013-06-19 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* sound.c (string_default): Move to !WINDOWSNT section.
|
|
(Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
|
|
|
|
2013-06-19 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* sound.c: Integer cleanups.
|
|
Remove unnecessary forward decls.
|
|
(struct sound_device): The 'file' member is now a Lisp_Object, not
|
|
a char *, so that we needn't invoke alloca on a huge size.
|
|
(Fplay_sound_internal): Adjust to this.
|
|
(string_default): New function.
|
|
(vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
|
|
Use it to adjust to the struct sound_device change.
|
|
(parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
|
|
(be2hs) [0]: Remove.
|
|
|
|
* syntax.c (skip_chars): Don't use uninitialized storage
|
|
when searching a multibyte buffer for characters that are not in a
|
|
unibyte string that contains non-ASCII characters.
|
|
|
|
2013-06-18 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.c: Include xgselect.h if HAVE_GLIB. Include glib.h
|
|
if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
|
|
|
|
2013-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
|
|
|
|
2013-06-18 Kenichi Handa <handa@gnu.org>
|
|
|
|
* font.c (Ffont_spec): Signal an error for an invalid font name
|
|
(Bug#14648).
|
|
|
|
2013-06-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
|
|
In particular this ports to 32-bit sparc Sun cc.
|
|
* eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
|
|
array with a dummy element at specpdl[-1], so that its address can
|
|
be taken portably.
|
|
(unbind_to): Do not copy the binding; not needed, now that we
|
|
copy old_value in the one place where the copy is needed.
|
|
* fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
|
|
* lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
|
|
(union specbinding): Rename from struct specbinding. Redo layout
|
|
to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
|
|
which is not portable. With Sun C 5.12 32-bit sparc, the
|
|
declaration causes nargs to be an unsigned bitfield, a behavior
|
|
that the C standard allows; but Emacs wants nargs to be signed.
|
|
The overall type is now a union of structures rather than a
|
|
structure of union of structures, and the 'kind' member is now a
|
|
bitfield, so that the overall type doesn't grow. All uses changed.
|
|
* process.c (Fmake_serial_process): Remove unnecessary initialization.
|
|
|
|
2013-06-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
|
|
Needed if HAVE_NTGUI. Reported by Juanma Barranquero.
|
|
|
|
* nsfont.m (ns_registry_to_script): Parenthesize while expression.
|
|
|
|
2013-06-17 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
|
|
unless we know that the window w's frame is a frame object.
|
|
Another attempt at solving bug#14062 and bug#14630.
|
|
|
|
2013-06-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
|
|
|
* textprop.c (property_set_type): New enum.
|
|
(add_properties): Allow appending/prepending text properties.
|
|
(add_text_properties_1): Factored out of Fadd_text_properties.
|
|
(Fadd_text_properties): Move all the code into
|
|
add_text_properties_1.
|
|
(Fadd_face_text_property): New function that calls
|
|
add_text_properties_1.
|
|
|
|
2013-06-17 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Move functions from lisp.h to individual modules when possible.
|
|
From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
|
|
* alloc.c (XFLOAT_INIT, set_symbol_name):
|
|
* buffer.c (CHECK_OVERLAY):
|
|
* chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
|
|
(set_char_table_parent):
|
|
* coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
|
|
* data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
|
|
(XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
|
|
(blv_value, set_blv_value, set_blv_where, set_blv_defcell)
|
|
(set_blv_valcell):
|
|
* emacs.c (setlocale) [!HAVE_SETLOCALE]:
|
|
* eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
|
|
(specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
|
|
(backtrace_args, backtrace_debug_on_exit):
|
|
* floatfns.c (CHECK_FLOAT):
|
|
* fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
|
|
(set_hash_key_and_value, set_hash_next, set_hash_next_slot)
|
|
(set_hash_hash, set_hash_hash_slot, set_hash_index)
|
|
(set_hash_index_slot):
|
|
* keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
|
|
* marker.c (CHECK_MARKER):
|
|
* textprop.c (CHECK_STRING_OR_BUFFER):
|
|
* window.c (CHECK_WINDOW_CONFIGURATION):
|
|
Move here from lisp.h, and make these functions static rather than
|
|
extern inline.
|
|
* buffer.c (Qoverlayp):
|
|
* data.c (Qsubrp):
|
|
* fns.c (Qhash_table_p):
|
|
* window.c (Qwindow_configuration_p):
|
|
Now static.
|
|
* lisp.h: Remove the abovementioned defns and decls.
|
|
|
|
Use functions, not macros, for XINT etc. (Bug#11935).
|
|
In lisp.h, prefer functions to function-like macros, and
|
|
constants to object-like macros, when either will do. This:
|
|
. simplifies use, as there's no more need to worry about
|
|
arguments' side effects being evaluated multiple times.
|
|
. makes the code easier to debug on some platforms.
|
|
However, when using gcc -O0, keep using function-like macros
|
|
for a few critical operations, for performance reasons.
|
|
This sort of thing isn't needed with gcc -Og, but -Og
|
|
is a GCC 4.8 feature and isn't widely-enough available yet.
|
|
* alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
|
|
Remove enum lsb_bits; no longer needed.
|
|
(allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
|
|
* buffer.c (Qoverlap):
|
|
* data.c (Qsubrp):
|
|
* fns.c (Qhash_table_p):
|
|
Now extern, so lisp.h can use these symbols.
|
|
* dispextern.h: Include character.h, for MAX_CHAR etc.
|
|
(GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
|
|
(SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
|
|
(GLYPH_CODE_P): Move here from lisp.h.
|
|
(GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
|
|
(GLYPH_MODE_LINE_FACE): Now enums, not macros.
|
|
* eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
|
|
XUNTAG now returns void *.
|
|
* lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
|
|
(lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
|
|
(lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
|
|
(lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
|
|
(lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
|
|
(lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
|
|
(lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
|
|
(lisp_h_XPNTR, lisp_h_XSYMBOL):
|
|
New macros, renamed from their sans-lisp_h_ counterparts.
|
|
(XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
|
|
(CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
|
|
(MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
|
|
(VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
|
|
If compiling via GCC without optimization, define these as macros
|
|
in addition to inline functions.
|
|
To disable this, compile with -DINLINING=0.
|
|
(LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
|
|
(check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
|
|
(make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
|
|
hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
|
|
(INTMASK, VALMASK): Now macros, since static values cannot be
|
|
accessed from extern inline functions.
|
|
(VALMASK): Also a constant, for benefit of old GDB.
|
|
(LISP_INT_TAG_P): Remove; no longer needed as the only caller
|
|
is INTEGERP, which can fold it in.
|
|
(XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT)
|
|
(make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
|
|
(XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
|
|
(XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
|
|
(CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
|
|
(CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
|
|
(SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
|
|
(ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
|
|
(CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
|
|
(SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
|
|
(SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
|
|
(SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
|
|
(XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
|
|
(HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
|
|
(XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
|
|
(XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
|
|
(XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
|
|
(RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
|
|
(INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
|
|
(MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
|
|
(BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
|
|
(PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
|
|
(TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
|
|
(SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
|
|
(CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
|
|
(CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
|
|
(CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
|
|
(CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
|
|
(CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
|
|
(CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
|
|
(CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
|
|
(CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
|
|
(CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
|
|
Now functions.
|
|
(check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
|
|
(LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
|
|
(VALMASK): Define in one place rather than in two, merging the
|
|
USE_LSB_TAG parts; this is simpler.
|
|
(aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
|
|
(max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
|
|
Move up, to avoid use before definition.
|
|
Also include "globals.h" earlier, for the same reason.
|
|
(make_natnum): New function.
|
|
(XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
|
|
(union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
|
|
(CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
|
|
(KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
|
|
(PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
|
|
(VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
|
|
(char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
|
|
(Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
|
|
(Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
|
|
(Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
|
|
(initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
|
|
(Qwindow_configuration_p, Qimage): New forward declarations.
|
|
(XSETFASTINT): Simplify by rewriting in terms of make_natnum.
|
|
(STRING_COPYIN): Remove; unused.
|
|
(XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
|
|
(xcar_addr, xcdr_addr): New functions. All uses changed.
|
|
(IEEE_FLOATING_POINT): Now a constant, not a macro.
|
|
(GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
|
|
(SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
|
|
(SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
|
|
(GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
|
|
(TYPE_RANGED_INTEGERP): Simplify.
|
|
(Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
|
|
(setlocale, fixup_locale, synchronize_system_messages_locale)
|
|
(synchronize_system_time_locale) [!HAVE_SETLOCALE]:
|
|
Now empty functions, not macros.
|
|
(functionp): Return bool, not int.
|
|
* window.c (Qwindow_configuration_p): Now extern,
|
|
so window.h can use it.
|
|
* window.h (Qwindowp): Move decl back to lisp.h.
|
|
|
|
2013-06-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (Fline_pixel_height): New function, required for solving
|
|
bug #14567.
|
|
|
|
2013-06-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* fns.c (Fcopy_sequence): Simplify XTYPE calculation.
|
|
|
|
2013-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c (syms_of_lread):
|
|
* fns.c (Fprovide): Adjust to new format of after-load-alist.
|
|
|
|
2013-06-13 Kelly Dean <kellydeanch@yahoo.com> (tiny change)
|
|
|
|
* fileio.c (Fdo_auto_save): Trap errors in auto-save-hook. (Bug#14479)
|
|
|
|
2013-06-12 Xue Fuqiao <xfq.free@gmail.com>
|
|
|
|
* fileio.c (expand_file_name): Doc fix.
|
|
|
|
2013-06-11 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
|
|
* process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
|
|
Wait for self, not for 0. This can't hurt on GNU or similar
|
|
system, and may help with Cygwin.
|
|
|
|
* keyboard.c: Don't use PROP (...) as an lvalue.
|
|
(parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
|
|
Use set_prop (A, B), not PROP (A) = B.
|
|
|
|
2013-06-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (get_it_property): Use it->window instead of generating
|
|
a Lisp object from it->w.
|
|
|
|
2013-06-09 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (get_it_property): If it->object is a buffer, pass to
|
|
get-char-property the window that is being rendered, instead of
|
|
the buffer, to support window-specific overlays. (Bug#14575)
|
|
(compute_display_string_pos): When W is NULL, use the current
|
|
buffer as the object to pass to get-char-property.
|
|
(Fcurrent_bidi_paragraph_direction): Assign NULL to the window
|
|
pointer member of the bidi iterator, since no window is pertinent
|
|
to this function.
|
|
|
|
2013-06-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* bidi.c (bidi_fetch_char): Accept additional argument, the window
|
|
being displayed, and pass it to compute_display_string_pos.
|
|
(bidi_level_of_next_char, bidi_resolve_explicit_1)
|
|
(bidi_paragraph_init): All callers changed.
|
|
|
|
* xdisp.c (init_from_display_pos, init_iterator)
|
|
(handle_single_display_spec, next_overlay_string)
|
|
(get_overlay_strings_1, reseat_1, reseat_to_string)
|
|
(push_prefix_prop, Fcurrent_bidi_paragraph_direction):
|
|
Set bidi_it.w member from it->w.
|
|
(compute_display_string_pos): Accept additional argument, the
|
|
window being displayed, and pass it to Fget_char_property.
|
|
(Bug#14575)
|
|
|
|
* dispextern.h (struct bidi_it): New member w, the window being
|
|
displayed.
|
|
(compute_display_string_pos): Adjust prototype.
|
|
|
|
2013-06-08 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xgselect.c: Remove unneeded include xterm.h.
|
|
|
|
* process.c (wait_reading_process_output): Check for NS before GLIB.
|
|
GLIB may be linked in due to rsvg, but ns_select must be called.
|
|
|
|
* xgselect.c (xg_select): Remove call to window_system_available
|
|
and g_main_context_pending at the top, so Gdk events (i.e. file
|
|
notify) are processed when Emacs is started with -nw.
|
|
|
|
2013-06-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
|
|
(ctagsfiles3): New variable, includes only *.m files.
|
|
(TAGS): Use an explicit language name in the regular expressions,
|
|
to avoid transformation of '/SOMETHING' by MSYS to
|
|
'c:\MSYS\SOMETHING'.
|
|
|
|
2013-06-07 Richard Copley <rcopley@gmail.com> (tiny change)
|
|
|
|
* epaths.in: Fix commentary to PATH_SITELOADSEARCH.
|
|
|
|
2013-06-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (note_mouse_highlight): When mouse-highlight is off,
|
|
still need to set the mouse pointer shape and activate help-echo.
|
|
(Bug#14558)
|
|
|
|
2013-06-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
A few porting etc. fixes for the new file monitor code.
|
|
See the thread containing
|
|
<http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
|
|
* gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
|
|
(Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
|
|
(dir_monitor_callback, Fgfile_rm_watch):
|
|
Use assq_no_quit instead of Fassoc, for speed.
|
|
(dir_monitor_callback, Fgfile_rm_watch):
|
|
eassert that the monitor is a fixnum.
|
|
(dir_monitor_callback): No need for CDR_SAFE.
|
|
Simplify building of lisp with alternative tails.
|
|
(Fgfile_add_watch, Fgfile_rm_watch):
|
|
Do not assume glib functions set errno reliably on failure.
|
|
(Fgfile_add_watch): Check that the monitor survives the XIL trick,
|
|
and signal an error otherwise.
|
|
(Fgfile_rm_watch): Prefer CONSP to !NILP.
|
|
Use Fdelq instead of Fdelete, for speed.
|
|
|
|
2013-06-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
|
|
don't insist on being invoked on a highlighted tool-bar button.
|
|
Avoids losing tool-bar functionality when mouse-highlight is nil.
|
|
(note_tool_bar_highlight, note_mode_line_or_margin_highlight):
|
|
Don't highlight when mouse-highlight is nil.
|
|
(note_mouse_highlight): When mouse-highlight is nil, don't return
|
|
right away; instead, run tool-bar and mode-line highlight
|
|
subroutine, clear any existing highlight, and revert the mouse
|
|
pointer to its default shape. (Bug#14558)
|
|
|
|
2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lisp.mk (lisp): Add prog-mode.el.
|
|
|
|
2013-06-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
|
|
* process.c (dummy_handler): New function.
|
|
(lib_child_handler): New static var.
|
|
(handle_child_signal): Invoke it.
|
|
(catch_child_signal): If a library has set up a signal handler,
|
|
save it into lib_child_handler.
|
|
(init_process_emacs): If using glib and not on Windows, tickle glib's
|
|
child-handling code so that it initializes its private SIGCHLD handler.
|
|
* syssignal.h (SA_SIGINFO): Default to 0.
|
|
* xterm.c (x_term_init): Remove D-bus hack that I installed on May
|
|
31; it should no longer be needed now.
|
|
|
|
2013-06-05 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
|
|
|
|
* gfilenotify.c (globals_of_gfilenotify): New function.
|
|
(syms_of_gfilenotify): Move global initialization there.
|
|
|
|
* lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
|
|
|
|
2013-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
|
|
* keyboard.c (menu_bar_items, tool_bar_items):
|
|
* doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
|
|
not override local keymaps any more.
|
|
|
|
2013-06-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fpos_visible_in_window_p): Doc fix. (Bug#14540)
|
|
|
|
2013-06-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32console.c (initialize_w32_display): Return the dimensions of
|
|
the console window via 2 additional arguments, not via the current
|
|
frame. This avoids crashes due to overrunning the bounds of
|
|
frame's decode_mode_spec_buffer, which is not resized following
|
|
the change of the frame dimensions from the initial 10x10.
|
|
|
|
* w32term.h (w32_initialize_display_info): Adjust prototype.
|
|
|
|
* term.c (init_tty): Take dimensions of the frame from the values
|
|
returned by initialize_w32_display.
|
|
|
|
* Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
|
|
(ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
|
|
(LIBES): Add $(GFILENOTIFY_LIBS).
|
|
|
|
* w32inevt.c (handle_file_notifications): Add dummy implementation
|
|
for !HAVE_W32NOTIFY.
|
|
|
|
* w32term.c: Wrap code with HAVE_W32NOTIFY.
|
|
|
|
2013-06-03 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
|
|
|
|
* process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
|
|
|
|
* Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
|
|
|
|
2013-06-03 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix minor problems found by static checking.
|
|
* data.c (pure_write_error):
|
|
Use xsignal2, not Fsignal, as Fsignal might return.
|
|
* eval.c (set_backtrace_debug_on_exit): Now static.
|
|
(backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
|
|
No longer inline. EXTERN_INLINE is needed only for functions
|
|
defined in .h files. Reindent function header as per GNU style.
|
|
(backtrace_p, backtrace_top, backtrace_next):
|
|
Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
|
|
compiler or linker. Add extern decls to pacify gcc -Wall.
|
|
* frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
|
|
Now static.
|
|
* frame.c (free_monitors): Define only on platforms that need it.
|
|
* nsterm.m (ns_term_init):
|
|
* process.c (catch_child_signal):
|
|
Don't worry about whether SIGCHLD is defined, as SIGCHLD is
|
|
defined on all porting targets these days.
|
|
* process.c, process.h (catch_child_signal):
|
|
Make it extern only if NS_IMPL_GNUSTEP is defined.
|
|
|
|
2013-06-03 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (gettimeofday): Make the signature identical to prototype
|
|
in nt/inc/sys/time.h.
|
|
|
|
2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
|
|
.gdbinit.
|
|
|
|
* keyboard.c (safe_run_hooks_error): Improve error message.
|
|
|
|
* data.c (pure_write_error): Add `object' argument.
|
|
* puresize.h (CHECK_IMPURE): Use it.
|
|
|
|
2013-06-03 Michael Albinus <michael.albinus@gmx.de>
|
|
|
|
* Makefile.in (NOTIFY_OBJ): New variable.
|
|
(base_obj): Replace inotify.o by $(NOTIFY_OBJ).
|
|
|
|
* emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
|
|
Call syms_of_gfilenotify.
|
|
|
|
* gfilenotify.c: New file.
|
|
|
|
* keyboard.c (Qfile_notify): New variable. Replaces Qfile_inotify
|
|
and Qfile_w32notify.
|
|
(top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
|
|
HAVE_W32NOTIFY and USE_FILE_NOTIFY.
|
|
|
|
* lisp.h: Declare syms_of_gfilenotify.
|
|
|
|
* termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
|
|
|
|
2013-06-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
Merge the specpdl and backtrace stacks. Make the structure of the
|
|
specpdl entries more obvious via a tagged union of structs.
|
|
* lisp.h (BITS_PER_PTRDIFF_T): New constant.
|
|
(enum specbind_tag): New enum.
|
|
(struct specbinding): Make it a tagged union of structs.
|
|
Add a case for backtrace records.
|
|
(specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
|
|
(specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
|
|
(backtrace_debug_on_exit): New accessors.
|
|
(struct backtrace): Remove.
|
|
(struct catchtag): Remove backlist field.
|
|
* data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
|
|
Move to eval.c.
|
|
(Flocal_variable_p): Speed up the common case where the binding is
|
|
already loaded.
|
|
* eval.c (backtrace_list): Remove.
|
|
(set_specpdl_symbol, set_specpdl_old_value): Remove.
|
|
(set_backtrace_args, set_backtrace_nargs)
|
|
(set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
|
|
(backtrace_next): New functions.
|
|
(Fdefvaralias, Fdefvar): Adjust to new specpdl format.
|
|
(unwind_to_catch, internal_lisp_condition_case)
|
|
(internal_condition_case, internal_condition_case_1)
|
|
(internal_condition_case_2, internal_condition_case_n): Don't bother
|
|
with backtrace_list any more.
|
|
(Fsignal): Adjust to new backtrace format.
|
|
(grow_specpdl): Move up.
|
|
(record_in_backtrace): New function.
|
|
(eval_sub, Ffuncall): Use it.
|
|
(apply_lambda): Adjust to new backtrace format.
|
|
(let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
|
|
data.c.
|
|
(specbind): Adjust to new specpdl format. Simplify.
|
|
(record_unwind_protect, unbind_to): Adjust to new specpdl format.
|
|
(Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
|
|
backtrace format.
|
|
(mark_backtrace): Remove.
|
|
(mark_specpdl, get_backtrace, backtrace_top_function): New functions.
|
|
* xdisp.c (redisplay_internal): Use record_in_backtrace.
|
|
* alloc.c (Fgarbage_collect): Use record_in_backtrace.
|
|
Use mark_specpdl.
|
|
* profiler.c (record_backtrace): Use get_backtrace.
|
|
(handle_profiler_signal): Use backtrace_top_function.
|
|
* .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
|
|
accessor functions.
|
|
|
|
2013-06-02 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* process.h (catch_child_signal): Declare.
|
|
|
|
* process.c (catch_child_signal): New function.
|
|
(init_process_emacs): Call it.
|
|
|
|
* nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
|
|
(ns_menu_bar_is_hidden, menu_will_open_state): Define only if
|
|
NS_IMPL_COCOA.
|
|
(x_set_cursor_type): Remove declaration.
|
|
(ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
|
|
(ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
|
|
(x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
|
|
(ns_get_color): Use F suffix on float.
|
|
(ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
|
|
(ns_get_rgb_color): Remove.
|
|
(x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
|
|
(note_mouse_movement): x and y are CGFloat.
|
|
(ns_draw_fringe_bitmap): Remove unused rowY.
|
|
Change #if to COCOA && >= 10_6.
|
|
(ns_draw_window_cursor): Remove unused overspill.
|
|
(ns_draw_underwave): width and x are EamcsCGFloat.
|
|
(ns_draw_box): thickness is CGFloat.
|
|
(ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
|
|
(ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
|
|
if not in main thread.
|
|
(ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
|
|
(ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
|
|
(sendFromMainThread:): New method.
|
|
(changeFont:): size is CGFloat.
|
|
(keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
|
|
Disable warning about permanent text.
|
|
(characterIndexForPoint:): Adjust return type depending on GNUStep
|
|
version.
|
|
(mouseDown:): delta is CGFloat.
|
|
(updateFrameSize): Remove unised variable f.
|
|
(initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
|
|
Cast float to EmacsCGFloat.
|
|
(windowWillUseStandardFrame:defaultFrame:): Set maximized_height
|
|
also to -1 when restoring.
|
|
(windowDidExitFullScreen:): Put call to updateCollectionBehaviour
|
|
inside NS_IMPL_COCOA.
|
|
(toggleFullScreen:): Put call to toggleFullScreen inside
|
|
NS_IMPL_COCOA. Cast float to EmacsCGFloat.
|
|
(setPosition:portion:whole:): por is CGFloat.
|
|
(getMouseMotionPart:window:x:y:): Add F suffix to float.
|
|
(mouseDown:): Use CGFloat.
|
|
(mouseDragged:): Remove unised variable edge.
|
|
(EmacsDocument): Implement for NS_IMPL_GNUSTEP.
|
|
|
|
* nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
|
|
of CGFloat differs.
|
|
(EmacsApp): New variable nextappdefined. Declare sendFromMainThread
|
|
when NS_IMPL_GNUSTEP.
|
|
(EmacsDocument): Declare when NS_IMPL_GNUSTEP.
|
|
(EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
|
|
(EmacsToolbar): Add clearAll. Add tag argument to
|
|
addDisplayItemWithImage.
|
|
(EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
|
|
|
|
* nsselect.m (ns_get_local_selection): Remove unused variable type.
|
|
|
|
* nsmenu.m (ns_update_menubar): Make static.
|
|
(x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
|
|
(fillWithWidgetValue:): Add cast to SEL for setAction.
|
|
(addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
|
|
(update_frame_tool_bar): Update code for GNUStep.
|
|
(clearAll): New method.
|
|
(addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
|
|
argument. Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
|
|
Move identifierToItem setObject and activeIdentifiers addObject before
|
|
call to insertItemWithItemIdentifier.
|
|
(validateVisibleItems): Fix indentation.
|
|
(toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
|
|
(initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
|
|
UtilityWindow to aStyle, remove call to setStyleMask.
|
|
|
|
* nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
|
|
|
|
* nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
|
|
(ns_charset_covers, ns_get_covering_families, nsfont_open):
|
|
Use F suffix on floats.
|
|
(ns_char_width): Returns CGFloat.
|
|
(ns_ascii_average_width): w is CGFloat instead of float.
|
|
(nsfont_draw): cbuf and c are unsigned. Cast to char* in call to
|
|
DPSxshow.
|
|
(ns_glyph_metrics): CGFloat instead of float.
|
|
|
|
* nsfns.m (x_set_foreground_color, x_set_background_color):
|
|
Use EmacsCGFloat.
|
|
(ns_implicitly_set_icon_type, Fx_create_frame): Make static,
|
|
remove unused variables.
|
|
(Fns_read_file_name): Keep track if panel is for save.
|
|
Use ns_filename_from_panel/ns_directory_from_panel.
|
|
(Fns_list_services): delegate only used for COCOA.
|
|
(Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
|
|
Just return the input if GNUStep.
|
|
(x_screen_planes): Remove.
|
|
(Fxw_color_values): Use EmacsCGFloat
|
|
(Fns_display_monitor_attributes_list): Only get screen number for
|
|
Cocoa.
|
|
(getDirectory, getFilename): Remove from EmacsOpenPanel and
|
|
EmacsSavePanel.
|
|
(EmacsOpenPanel:ok:): Use ns_filename_from_panel and
|
|
ns_directory_from_panel.
|
|
|
|
2013-06-01 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* process.c (handle_child_signal): Also use WCONTINUED.
|
|
This is so that list-processes doesn't mistakenly list the process
|
|
as stopped, when the process has actually been continued and is
|
|
now running.
|
|
|
|
2013-05-31 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
|
|
* xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
|
|
not already configured.
|
|
|
|
* fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
|
|
|
|
2013-05-29 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* Makefile.in (mostlyclean): Remove *.res files.
|
|
|
|
2013-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* fileio.c (Finsert_file_contents): Preserve undo info when reverting
|
|
a buffer (bug#8447).
|
|
|
|
2013-05-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
|
|
display vector, and we backtrack, handle the case that the
|
|
previous character position is also displayed from a display
|
|
vector or covered by a display string or image. (Bug#14476)
|
|
|
|
2013-05-25 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
|
|
(struct MonitorInfo, free_monitors): Remove.
|
|
(x_make_monitor_attribute_list): Call make_monitor_attribute_list.
|
|
(Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
|
|
(syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
|
|
Qframes, Qsource.
|
|
|
|
* nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
|
|
(struct MonitorInfo, free_monitors): Remove.
|
|
(ns_screen_name): Make static.
|
|
(ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
|
|
(syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
|
|
Qframes, Qsource.
|
|
|
|
* frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
|
|
(struct MonitorInfo): New struct.
|
|
(free_monitors, make_monitor_attribute_list): Declare.
|
|
|
|
* frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
|
|
New Lisp_Object:s.
|
|
(free_monitors, make_monitor_attribute_list): New functions.
|
|
(syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
|
|
Qsource.
|
|
|
|
2013-05-25 Xue Fuqiao <xfq.free@gmail.com>
|
|
|
|
* callproc.c (call_process): Refine the doc string. (Bug#14045)
|
|
|
|
2013-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c: Apply keyboard decoding only to events that come directly
|
|
from the tty, not from unread-command-events (bug#14368).
|
|
(read_event_from_main_queue): New function, extracted from read_char).
|
|
(read_decoded_char): Remove.
|
|
(read_decoded_event_from_main_queue): New function to replace it.
|
|
(read_char): Use it.
|
|
(read_key_sequence): Use read_char rather than read_decoded_char.
|
|
|
|
* keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
|
|
|
|
2013-05-22 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
|
|
|
|
* casetab.c (init_casetab_once): Fix last change (bug#14424).
|
|
|
|
2013-05-22 Kenichi Handa <handa@gnu.org>
|
|
|
|
The following changes are to fix the setting of
|
|
buffer-file-coding-system on, for instance, C-x RET c unix RET
|
|
_FILE_OF_DOS_EOL_TYPE_ RET.
|
|
|
|
* coding.h (struct coding_system): New member detected_utf8_chars.
|
|
|
|
* coding.c (detect_coding_utf_8): Count characters and check EOL
|
|
format. Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
|
|
BOM is there.
|
|
(setup_coding_system): Do not initialize coding->head_ascii.
|
|
(check_ascii): Do not set coding->eol_seen but update it. Do not
|
|
call adjust_coding_eol_type here.
|
|
(detect_coding): Fix detection of BOM for utf-8 and utf-16.
|
|
If the eol-type of CODING is already specified, adjust the eol type
|
|
of the found coding-system.
|
|
(decode_coding_gap): Cancel previous change. Utilize the
|
|
character numbers counted by detect_coding_utf_8. Fix detection
|
|
of BOM for utf-8.
|
|
|
|
2013-05-21 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
|
|
|
|
* search.c (looking_at_1): Only set last_thing_searched if the match
|
|
changed the match-data (bug#14281).
|
|
|
|
2013-05-21 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (reseat_at_previous_visible_line_start):
|
|
Already declared in dispextern.h, so remove it here.
|
|
(move_it_vertically_backward): Likewise.
|
|
|
|
2013-05-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
|
|
* xfns.c (check_x_display_info): Don't use XINT for terminal object.
|
|
(Fx_display_pixel_width, Fx_display_pixel_height)
|
|
(Fx_display_mm_width, Fx_display_mm_height):
|
|
Mention `display-monitor-attributes-list' in docstrings.
|
|
|
|
* nsfns.m (ns_get_screen): Remove function. All uses removed.
|
|
(check_ns_display_info): Sync with check_x_display_info in xfns.c.
|
|
(Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
|
|
(Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
|
|
(Fx_display_backing_store, Fx_display_visual_class)
|
|
(Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
|
|
(Fx_display_grayscale_p, Fx_display_pixel_width)
|
|
(Fx_display_pixel_height, Fx_display_planes)
|
|
(Fx_display_color_cells): Sync args and docstrings with xfns.c.
|
|
(Fx_display_screens): Don't confuse X11 screens with NS screens.
|
|
(Fx_display_mm_width, Fx_display_mm_height)
|
|
(Fx_display_pixel_width, Fx_display_pixel_width): Return width or
|
|
height for all physical monitors as in X11.
|
|
|
|
* nsterm.m (x_display_pixel_width, x_display_pixel_height):
|
|
Return pixel width or height for all physical monitors as in X11.
|
|
|
|
2013-05-18 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port --enable-gcc-warnings to clang.
|
|
* bytecode.c (exec_byte_code):
|
|
* regex.c:
|
|
Redo diagnostic pragmas to pacify clang, too.
|
|
* dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
|
|
* editfns.c (Fencode_time):
|
|
* fileio.c (file_accessible_directory_p):
|
|
* font.c (font_unparse_xlfd):
|
|
Use '&"string"[index]' instead of '"string" + (index)'.
|
|
* undo.c (user_error): Remove; unused.
|
|
|
|
2013-05-16 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* insdel.c (insert_1_both): Document the arguments, instead of
|
|
referring to insert_1, which no longer exists.
|
|
|
|
* xdisp.c (message_dolog): If the *Messages* buffer is shown in
|
|
some window, increment windows_or_buffers_changed, so that
|
|
*Messages* display in that window is updated. (Bug#14408)
|
|
|
|
* w32.c: Include epaths.h.
|
|
(init_environment): Use cmdproxy.exe without leading directories.
|
|
Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
|
|
case.
|
|
(gettimeofday): Adjust signature and return value to Posix
|
|
expectations.
|
|
|
|
* unexw32.c (open_output_file): Delete the existing emacs.exe
|
|
before creating it, to break the hard link to the versioned
|
|
executable.
|
|
|
|
* Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
|
|
(ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
|
|
(FIRSTFILE_OBJ): New variables.
|
|
(W32_RES): Rename to EMACSRES. All users changed.
|
|
(base_obj): Use $(CM_OBJ).
|
|
(ALLOBJS): Use $(FIRSTFILE_OBJ).
|
|
(emacs$(EXEEXT)): Depend on $(ADDSECTION).
|
|
(temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
|
|
$(W32_RES_LINK) before $(LIBES).
|
|
(emacs.res): Depend on $(EMACS_MANIFEST). Put emacs.rc in nt.
|
|
|
|
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* makefile.w32-in (DOC): Use just "DOC".
|
|
|
|
* Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
|
|
|
|
* process.c: Export default filters and sentinels to Elisp.
|
|
(Qinternal_default_process_sentinel, Qinternal_default_process_filter):
|
|
New constants.
|
|
(pset_filter, pset_sentinel, make_process, Fset_process_filter)
|
|
(Fset_process_sentinel, Fformat_network_address):
|
|
Default to them instead of nil.
|
|
(server_accept_connection): Sentinels can't be nil any more.
|
|
(read_and_dispose_of_process_output): New function, extracted from
|
|
read_process_output.
|
|
(read_process_output): Use it; filters can't be nil.
|
|
(Finternal_default_process_filter): New function, extracted from
|
|
read_process_output.
|
|
(exec_sentinel_unwind): Remove function.
|
|
(exec_sentinel): Don't zilch sentinel while running.
|
|
(status_notify): Sentinels can't be nil.
|
|
(Finternal_default_process_sentinel): New function extracted from
|
|
status_notify.
|
|
(setup_process_coding_systems): Default filter is not nil any more.
|
|
(syms_of_process): Export new Elisp functions and initialize
|
|
new constants.
|
|
* lisp.h (make_lisp_proc): New function.
|
|
|
|
2013-05-15 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
|
|
|
|
2013-05-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
|
|
unless we know that the window w is a leaf window.
|
|
Another attempt at solving bug#14062.
|
|
|
|
2013-05-14 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfont.m (ns_spec_to_descriptor): Retain and autorelease
|
|
fdesc (Bug#14375).
|
|
|
|
2013-05-12 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* image.c (gif_load): Check that subimages fit (Bug#14345).
|
|
|
|
2013-05-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lread.c (skip_dyn_eof): New function.
|
|
(read1): Use it to skip the end of a file in response to #@00.
|
|
|
|
* doc.c (get_doc_string): Slightly relax the sanity checking.
|
|
|
|
2013-05-09 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m: Include IOGraphicsLib.h if Cocoa.
|
|
(Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
|
|
(MonitorInfo): New struct.
|
|
(free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
|
|
(Fns_display_monitor_attributes_list): New functions.
|
|
(display-usable-bounds): Remove.
|
|
(syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
|
|
Qsource.
|
|
|
|
2013-05-09 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
|
|
(GTK_CHECK_VERSION): New macro, if not already defined.
|
|
All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
|
|
replaced by GTK_CHECK_VERSION.
|
|
|
|
2013-05-08 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xterm.h (GTK_PREREQ): New macro.
|
|
All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
|
|
to use this macro instead, for consistency and clarity.
|
|
|
|
2013-05-08 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (row_for_charpos_p): New function, with code of
|
|
cursor_row_p, but accepts an additional argument CHARPOS instead
|
|
of using a hardcoded PT.
|
|
(cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
|
|
(row_containing_pos): Call row_for_charpos_p instead of partially
|
|
doing the same. Fixes cursor positioning under longlines-mode
|
|
when longlines-show-effect includes more than one newline, when
|
|
moving the cursor vertically up.
|
|
|
|
2013-05-08 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in (ACL_H): New macro.
|
|
($(BLD)/fileio.$(O)): Update dependencies.
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use Gnulib ACL implementation, for benefit of Solaris etc. (Bug#14295)
|
|
* Makefile.in (LIB_ACL): New macro.
|
|
(LIBACL_LIBS): Remove.
|
|
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
|
|
* fileio.c: Include <acl.h>.
|
|
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
|
|
(ACL_NOT_WELL_SUPPORTED): Remove. All uses replaced by
|
|
!acl_errno_valid.
|
|
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
|
|
it ourselves.
|
|
|
|
* unexelf.c: Don't assume ElfW (Half) fits in int.
|
|
(entry_address, find_section, unexec): Use ptrdiff_t, not int,
|
|
when dealing with ElfW (Half) values, since they can exceed 2**31
|
|
on 64-bit OpenBSD hosts. Problem reported privately by Han Boetes.
|
|
(entry_address): Omit unused NUM arg. All uses changed.
|
|
|
|
2013-05-07 Juri Linkov <juri@jurta.org>
|
|
|
|
* callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
|
|
to the string converted from number with `Fnumber_to_string'.
|
|
(Bug#14254)
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
|
|
This fixes a problem introduced by my previous change.
|
|
|
|
2013-05-07 Glenn Morris <rgm@gnu.org>
|
|
|
|
* lread.c (readchar): Don't read from a dead buffer. (Bug#14280)
|
|
|
|
2013-05-07 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
|
|
|
|
2013-05-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by GCC 4.8.0.
|
|
* xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
|
|
(x_get_monitor_for_frame, x_make_monitor_attribute_list)
|
|
(x_get_monitor_attributes_fallback)
|
|
(x_get_monitor_attributes_xinerama)
|
|
(x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
|
|
Define only if USE_GTK.
|
|
(free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
|
|
(x_get_monitor_attributes_fallback): Omit unused locals.
|
|
(x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
|
|
Use double, not float, to avoid mixed-mode floating point arithmetic.
|
|
|
|
2013-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
|
|
Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
|
|
(XINERAMA_CFLAGS): New macros.
|
|
(ALL_CFLAGS, LIBES): Use them.
|
|
|
|
* xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
|
|
include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
|
|
(Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
|
|
(syms_of_xfns): DEFSYM them.
|
|
(struct MonitorInfo): New struct.
|
|
(x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
|
|
(x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
|
|
(x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
|
|
(x_get_monitor_attributes_xinerama): New functions.
|
|
(Fx_display_monitor_attributes_list): New primitive.
|
|
(syms_of_xfns): Defsubr it.
|
|
|
|
* xterm.h (x_display_info): Add Xatom_net_workarea and
|
|
Xatom_net_current_desktop.
|
|
|
|
* xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
|
|
and dpyinfo->Xatom_net_current_desktop.
|
|
|
|
2013-05-06 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (pos_visible_p): Use the special code for finding the
|
|
beginning of a display property or overlay for any "replacing"
|
|
display property, not just for display strings. This solves
|
|
incorrect reporting of position by posn-at-point. (Bug#14241)
|
|
|
|
2013-05-06 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* unexelf.c: Fix some 32-bit integer problems, notably when debugging.
|
|
Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
|
|
Verify that ElfW (Half) fits in int.
|
|
(fatal): Use same signature as lisp.h.
|
|
(UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
|
|
configure and build with -DUNEXELF_DEBUG without worrying about
|
|
other modules that use DEBUG.
|
|
(DEBUG_LOG) [UNEXELF_DEBUG]: New macro. All debug code that prints
|
|
possibly-wide integers now uses it instead of plain fprintf.
|
|
(entry_address): New function, which avoids problems with 32-bit
|
|
overflow on 64-bit hosts.
|
|
(OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
|
|
(round_up): Don't assume the remainder fits in int.
|
|
(find_section): Use bool for boolean. Simplify debug code.
|
|
(unexec): Don't assume file sizes fit in int or size_t.
|
|
Omit unnecessary trailing newline in 'fatal' format.
|
|
Use strerror rather than outputting decimal error number.
|
|
Remove unused code when emacs is not defined;
|
|
this file relies on Emacs now.
|
|
Don't assume e_phnum and e_shnum are positive.
|
|
|
|
* regex.c: Fix problems when DEBUG is defined.
|
|
(extract_number, extract_number_and_incr): Define regardless of
|
|
whether DEBUG is defined; that's simpler and makes the code less
|
|
likely to go stale in the normal case when DEBUG is not defined.
|
|
Return int rather than taking an int * arg. All callers changed.
|
|
(DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
|
|
Remove, replacing with ...
|
|
(DEBUG_PRINT): New macro. All callers changed.
|
|
(DEBUG_COMPILES_ARGUMENTS): New macro.
|
|
(print_fastmap, print_partial_compiled_pattern) [DEBUG]:
|
|
(print_compiled_pattern, print_double_string) [DEBUG]:
|
|
Use prototype rather than old-style definition.
|
|
(print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
|
|
(ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
|
|
(POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
|
|
(POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
|
|
Don't assume ptrdiff_t, size_t, and long are the same width as int.
|
|
(POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
|
|
This matters only when DEBUG is defined.
|
|
|
|
2013-05-05 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* xdisp.c (set_iterator_to_next): Set the
|
|
ignore_overlay_strings_at_pos_p flag only if we are _really_
|
|
iterating over an overlay string, as indicated by the
|
|
current.overlay_string_index member. (Bug#14306)
|
|
|
|
2013-05-05 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
|
|
to where it is used, to avoid autorelease issues (Bug#14050).
|
|
|
|
2013-05-05 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
`write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
|
|
* fileio.c (syms_of_fileio): Implement this.
|
|
* filelock.c (create_lock_file): If symbolic links don't work, so
|
|
we use a regular file as a lock file, do not fsync the lock file;
|
|
it's not needed.
|
|
|
|
2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
|
|
(syms_of_minibuf): Adjust accodingly.
|
|
* lread.c (Fread):
|
|
* callint.c (Fcall_interactively): Adjust calls accordingly.
|
|
|
|
2013-05-04 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
|
|
w->contents is a buffer before computing everything else.
|
|
Use parentheses to disambiguate last part of the condition.
|
|
|
|
* w32fns.c (w32_wnd_proc): Remove temporary code used to trap
|
|
assertion violations. (Bug#14062)
|
|
|
|
2013-05-01 David Reitter <david.reitter@gmail.com>
|
|
|
|
* nsfns.m (ns_tooltip): Initialize.
|
|
|
|
2013-04-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* coding.c (decode_coding_gap): Don't remove the character before
|
|
a newline unless it's a CR character. (Bug#14287)
|
|
|
|
2013-04-28 Dan Nicolaescu <dann@gnu.org>
|
|
|
|
* dispextern.h (struct face): Move enum face_underline_type
|
|
earlier so that bitfields can be in the same word.
|
|
|
|
2013-04-28 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsfns.m (handlePanelKeys): New function.
|
|
(EmacsOpenPanel:performKeyEquivalent:)
|
|
(EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
|
|
arrows/function/control and copy/paste keys (Bug#14296).
|
|
|
|
2013-04-27 Juri Linkov <juri@jurta.org>
|
|
|
|
* callint.c (Fcall_interactively): Call `Qread_number' for
|
|
interactive code letter `n' instead of using duplicate code.
|
|
(Bug#14254)
|
|
|
|
2013-04-27 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* systime.h (make_timeval): Declare as 'const'.
|
|
|
|
2013-04-27 Kenichi Handa <handa@gnu.org>
|
|
|
|
* font.c (font_open_entity): Always open a font of manageable
|
|
size.
|
|
|
|
2013-04-26 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Port better to AIX (Bug#14258).
|
|
* lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
|
|
to pacify AIX xlc.
|
|
|
|
2013-04-24 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (decode_coding_iso_2022): When an invalid escape
|
|
sequence is encountered, reset the invocation and designation
|
|
status to the safest one.
|
|
|
|
2013-04-22 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* Makefile.in (bootstrap-clean): Remove stamp-h1 too.
|
|
Without this fix, "make distclean" leaves stamp-h1 behind.
|
|
|
|
2013-04-20 Erik Charlebois <erikcharlebois@gmail.com>
|
|
|
|
* w32fns.c (w32_fullscreen_rect): New function to compute the
|
|
window rectangle for the given fullscreen mode.
|
|
(w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
|
|
longer tunes the window size. This keeps the window's edges flush
|
|
with the screen and allows the taskbar to hide itself in fullboth.
|
|
|
|
* w32term.c (w32fullscreen_hook): 'fullboth' now shows without
|
|
window decorations and uses the entire screen.
|
|
|
|
* w32term.h (w32_fullscreen_rect) Add prototype.
|
|
(struct w32_output): Replace normal_width, normal_height,
|
|
normal_top, and normal_left members with a single normal_placement
|
|
struct.
|
|
(FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
|
|
Remove macros.
|
|
(FRAME_NORMAL_PLACEMENT): New macro.
|
|
|
|
2013-04-16 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* minibuf.c (Ftest_completion): Silence compiler warning.
|
|
|
|
2013-04-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc): Add more assertions to investigate
|
|
bug#14062.
|
|
|
|
* frame.h (WINDOW_FRAME): Protect macro and its argument with
|
|
parentheses.
|
|
|
|
* dispextern.h (CURRENT_MODE_LINE_HEIGHT)
|
|
(CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
|
|
(WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
|
|
parentheses where appropriate.
|
|
|
|
2013-04-14 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* keyboard.c (timer_start_idle): Remove no-longer-used local.
|
|
|
|
2013-04-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
|
|
<left-fringe-width, right-fringe-width, fringes-outside-margins>:
|
|
Mention in the doc string that setting these variables takes
|
|
effect only after a call to set-window-buffer. (Bug#14200)
|
|
|
|
2013-04-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* indent.c (Fvertical_motion): Don't consider display strings on
|
|
overlay strings as display strings on the buffer position we
|
|
started from. This prevents vertical cursor motion from jumping
|
|
more than one line when there's an overlay string with a display
|
|
property at end of line.
|
|
Reported by Karl Chen <Karl.Chen@quarl.org> in
|
|
http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
|
|
|
|
2013-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (select_window): `record_buffer' even if window is
|
|
already selected (bug#14191).
|
|
|
|
2013-04-11 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* window.c (Fwindow_end): Test more flags, including the buffer's
|
|
last_overlay_modified flag, to determine whether the window's
|
|
display is really up-to-date. Prevents the function from
|
|
returning a stale value. (Bug#14170)
|
|
(Fwindow_line_height): Fix the test for up-to-date-ness of the
|
|
current matrix.
|
|
|
|
2013-04-10 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* frame.c (do_switch_frame): Mark the TTY frame we switch to as
|
|
garbaged only if it is not already the top frame on its TTY.
|
|
This prevents flickering due to constant redrawing of TTY frames when
|
|
there are GUI frames open in the same session. (Bug#13864)
|
|
|
|
2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
|
|
of marking the idle timers directly.
|
|
|
|
2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
|
|
tables (bug#14054).
|
|
|
|
2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* window.c (select_window): Don't record_buffer while the invariant is
|
|
temporarily broken (bug#14161).
|
|
|
|
* fns.c (Fdelq): Don't assume !NILP => CONSP.
|
|
|
|
2013-04-07 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
|
|
|
|
2013-04-07 Romain Francoise <romain@orebokech.com>
|
|
|
|
Ignore additional platform-specific ACL errors (Bug#13702).
|
|
* fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
|
|
(Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
|
|
|
|
2013-03-31 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
|
|
f->output_data.ns.
|
|
|
|
2013-04-07 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
|
|
This bug was introduced by my 2013-02-25 change that simplified
|
|
data_start configuration. Without this change, on GNU/Linux
|
|
an Emacs configured with --enable-profiling fails immediately
|
|
due to a profiler signal.
|
|
* Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
|
|
with these flags. On platforms where special flags are needed
|
|
when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
|
|
(ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
|
|
(.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
|
|
|
|
2013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
Get rid of some platform-specific functions examining window
|
|
system and its capabilities. This is a partial rework of the
|
|
2013-04-05 change.
|
|
* lisp.h (have_menus_p): Remove prototype. This function is
|
|
replaced with platform-independent window_system_available.
|
|
(check_window_system): Move to...
|
|
* frame.h (decode_window_system_frame, window_system_available):
|
|
...here, add new prototypes.
|
|
* frame.c (window_system_available, decode_window_system_frame):
|
|
New functions.
|
|
(check_window_system): Platform-independent now.
|
|
* xterm.h (x_in_use): Remove declaration.
|
|
(check_x_frame):
|
|
* w32term.h (check_x_frame):
|
|
* nsterm.h (check_x_frame): Remove prototypes. This function
|
|
is replaced with platform-independent decode_window_system_frame.
|
|
* msdos.c (have_menus_p): Remove.
|
|
* nsfns.m (check_window_system, have_menus_p, check_ns_frame):
|
|
Remove platform-specific functions. Use check_window_system,
|
|
decode_window_system_frame and check_ns_display_info where
|
|
appropriate. Minor style and comment tweaks.
|
|
* w32fns.c (w32_in_use, check_window_system, have_menus_p)
|
|
(check_x_frame): Likewise.
|
|
* xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
|
|
Likewise.
|
|
* fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
|
|
* nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
|
|
* xmenu.c, xselect.c: All related users changed.
|
|
|
|
2013-04-03 Kenichi Handa <handa@gnu.org>
|
|
|
|
The following changes is to optimize the code for reading UTF-8
|
|
files.
|
|
|
|
* coding.c (check_ascii): Rename from detect_ascii. Return value
|
|
changed. Check EOL format. Do not call adjust_coding_eol_type
|
|
here.
|
|
(check_utf_8): New function.
|
|
(adjust_coding_eol_type): Do nothing if already adjusted.
|
|
(detect_coding): Compare the return value of check_ascii with
|
|
coding->src_bytes. Call adjust_coding_eol_type if necessary.
|
|
(decode_coding_gap): Optimize for valid UTF-8.
|
|
|
|
2013-03-21 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (syms_of_coding): Cancel previous change.
|
|
|
|
* insdel.c (insert_from_gap): Fix previous change.
|
|
|
|
2013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
Consistently use platform-specific function to detect window system.
|
|
* lisp.h (check_window_system): New prototype. This function is
|
|
going to replace check_x, check_w32 and check_ns.
|
|
(have_menus_p): Mention msdos.c in comment.
|
|
* fontset.c (check_window_system_func): Remove. Adjust all users.
|
|
* fontset.h (check_window_system_func): Remove prototype.
|
|
* nsterm.h (check_ns):
|
|
* xterm.h (check_x):
|
|
* w32term.h (check_w32): Likewise.
|
|
* menu.c (Fx_popup_menu): Use check_window_system.
|
|
* msdos.c (check_window_system): Define for MS-DOS.
|
|
* nsfns.m (check_window_system): Define for NS. Adjust all users.
|
|
* w32fns.c (check_window_system): Likewise for MS-Windows.
|
|
* xfns.c (check_window_system): Likewise for X.
|
|
* font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
|
|
* xfaces.c, xmenu.c: Use check_window_system where appropriate.
|
|
|
|
2013-04-02 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Prefer < to > in range checks such as 0 <= i && i < N.
|
|
This makes it easier to visualize quantities on a number line.
|
|
This patch doesn't apply to all such range checks,
|
|
only to the range checks affected by the 2013-03-24 change.
|
|
This patch reverts most of the 2013-03-24 change.
|
|
* alloc.c (xpalloc, Fgarbage_collect):
|
|
* ccl.c (ccl_driver, resolve_symbol_ccl_program):
|
|
* character.c (string_escape_byte8):
|
|
* charset.c (read_hex):
|
|
* data.c (cons_to_unsigned):
|
|
* dispnew.c (update_frame_1):
|
|
* doc.c (Fsubstitute_command_keys):
|
|
* doprnt.c (doprnt):
|
|
* editfns.c (hi_time, decode_time_components):
|
|
* fileio.c (file_offset):
|
|
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
|
|
* font.c (font_intern_prop):
|
|
* frame.c (x_set_alpha):
|
|
* gtkutil.c (get_utf8_string):
|
|
* indent.c (check_display_width):
|
|
* keymap.c (Fkey_description):
|
|
* lisp.h (FIXNUM_OVERFLOW_P, vcopy):
|
|
* lread.c (read1):
|
|
* minibuf.c (read_minibuf_noninteractive):
|
|
* process.c (wait_reading_process_output):
|
|
* search.c (Freplace_match):
|
|
* window.c (get_phys_cursor_glyph):
|
|
* xdisp.c (redisplay_internal):
|
|
* xsmfns.c (smc_save_yourself_CB):
|
|
Prefer < to > for range checks.
|
|
* dispnew.c (sit_for): Don't mishandle NaNs.
|
|
This fixes a bug introduced in the 2013-03-24 change.
|
|
* editfns.c (decode_time_components): Don't hoist comparison.
|
|
This fixes another bug introduced in the 2013-03-24 change.
|
|
|
|
2013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Drop scroll_bottom_vpos
|
|
member becaue all real users are dead long ago.
|
|
(FRAME_SCROLL_BOTTOM_VPOS): Remove.
|
|
* xdisp.c (redisplay_internal): Adjust user.
|
|
|
|
2013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
|
|
|
|
* nsmenu.m (showAtX:Y:for:): setLevel to
|
|
NSPopUpMenuWindowLevel (Bug#13998).
|
|
|
|
2013-03-30 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): Declare.
|
|
|
|
* nsmenu.m (ns_update_menubar): Correct NSTRACE.
|
|
(x_activate_menubar): Update the menu with title that matches
|
|
ns_get_pending_menu_title, and call
|
|
ns_check_pending_openmenu (Bug#12698).
|
|
(menuWillOpen:): New method.
|
|
(menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
|
|
|
|
* nsterm.m (menu_will_open_state, menu_mouse_point)
|
|
(menu_pending_title): New varaibles.
|
|
(ns_get_pending_menu_title, ns_check_menu_open)
|
|
(ns_check_pending_open_menu): New functions.
|
|
|
|
2013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* indent.c (current_column_bol_cache): Remove leftover which is not
|
|
used in Fmove_to_column any more.
|
|
(current_column, scan_for_column): Adjust users.
|
|
* keyboard.c (last_point_position_buffer, last_point_position_window):
|
|
Remove leftovers which are not used for recording undo any more.
|
|
(command_loop_1, syms_of_keyboard): Adjust users.
|
|
* xdisp.c (last_max_ascent): Remove leftover which is not used in
|
|
redisplay_window any more.
|
|
(move_it_to): Adjust user.
|
|
|
|
2013-03-29 Juanma Barranquero <lekktu@gmail.com>
|
|
|
|
* makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
|
|
Update dependencies.
|
|
|
|
2013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
|
|
(set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
|
|
forward references.
|
|
|
|
2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.h (struct window): Replace hchild, vchild and buffer slots
|
|
with the only contents slot. This is possible because each valid
|
|
window may have either the child window (in vertical or horizontal
|
|
combination) or buffer to display (for the leaf window). Using that,
|
|
a lof of operations to traverse and/or change window hierarchies may
|
|
be simplified. New member horizontal is used to distinguish between
|
|
horizontal and vertical combinations of internal windows.
|
|
(WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
|
|
(WINDOW_VERTICAL_COMBINATION_P): New macros.
|
|
(WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
|
|
* window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
|
|
Use contents slot, not buffer, where appropriate.
|
|
(wset_combination): New function.
|
|
(wset_buffer): Add eassert.
|
|
(Fframe_first_window): Simplify the loop reaching first window.
|
|
(Fwindow_buffer): Use WINDOW_LEAF_P.
|
|
(Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
|
|
(Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
|
|
(unshow_buffer): Convert initial debugging check to eassert.
|
|
(replace_window, recombine_windows, Fdelete_other_windows_internal)
|
|
(make_parent_window, window_resize_check, window_resize_apply)
|
|
(resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
|
|
(Fset_window_configuration, delete_all_child_windows, save_window_save):
|
|
Adjust to match struct window changes.
|
|
(window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
|
|
(mark_window_cursors_off, count_windows, get_leaf_windows)
|
|
(foreach_window_1): Simplify the loop.
|
|
* alloc.c (mark_object): Do not check for the leaf window because
|
|
internal windows has no glyph matrices anyway.
|
|
* dispnew.c (clear_window_matrices, showing_window_margins_p)
|
|
(allocate_matrices_for_window_redisplay, fake_current_matrices)
|
|
(allocate_matrices_for_frame_redisplay, free_window_matrices)
|
|
(build_frame_matrix_from_window_tree, mirror_make_current)
|
|
(frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
|
|
(update_window_tree, set_window_update_flags): Simplify the loop.
|
|
(sync_window_with_frame_matrix_rows): Enforce live window.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
|
|
and WINDOW_HORIZONTAL_COMBINATION_P.
|
|
(make_frame_visible_1): Simplify the loop.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* xdisp.c (hscroll_window_tree, mark_window_display_accurate)
|
|
(redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
|
|
(expose_window_tree): Likewise.
|
|
Use contents slot, not buffer, where appropriate.
|
|
* textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
|
|
to avoid deleted windows. Use contents slot instead of buffer.
|
|
* buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
|
|
* indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
|
|
* nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
|
|
* xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
|
|
|
|
2013-03-28 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
|
|
identify the reasons for assertion violations in bug#14062 and
|
|
similar ones.
|
|
(Fx_show_tip): Fix compilation error under
|
|
"--enable-check-lisp-object-type". (Bug#14073)
|
|
|
|
* image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
|
|
Reported by <rzl24ozi@gmail.com>.
|
|
|
|
2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (with_echo_area_buffer_unwind_data): Save window
|
|
start marker...
|
|
(unwind_with_echo_area_buffer): ...to restore it here.
|
|
This is needed to ensure that...
|
|
(redisplay_window): ...both window markers are valid here,
|
|
which is verified by eassert.
|
|
* editfns.c (save_excursion_save): Do not assume that
|
|
selected_window always displays the buffer.
|
|
* buffer.c (Fbuffer_swap_text): Adjust window start markers.
|
|
Fix comment.
|
|
|
|
2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
|
|
the upcase table.
|
|
|
|
2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
|
|
|
|
* image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
|
|
|
|
2013-03-27 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
|
|
since MinGW's w32api headers do. This avoids compiler warnings.
|
|
|
|
* w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
|
|
if already defined.
|
|
|
|
2013-03-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
|
|
|
|
2013-03-26 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* gtkutil.c (style_changed_cb): Check if frame is live and an
|
|
X frame (Bug#14038).
|
|
|
|
2013-03-26 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
|
|
Define only for _WIN32_WINNT less than 0x0500.
|
|
(_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
|
|
MinGW64.
|
|
Move inclusion of time.h before sys/time.h, so that MinGW64 could
|
|
see its own definitions of 'struct timeval' and 'struct timezone'.
|
|
|
|
Fix incompatibilities between MinGW.org and MinGW64 headers.
|
|
* w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
|
|
|
|
* w32.c (REPARSE_DATA_BUFFER): Guard with
|
|
MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
|
|
|
|
2013-03-25 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* xterm.c: Include X11/XKBlib.h
|
|
(XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
|
|
|
|
2013-03-24 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
* alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
|
|
written backwards.
|
|
* blockinput.h (input_blocked_p): Likewise.
|
|
* bytecode.c (exec_byte_code): Likewise.
|
|
* callproc.c (call_process_kill, call_process_cleanup)
|
|
(Fcall_process): Likewise.
|
|
* ccl.c (ccl_driver, resolve_symbol_ccl_program)
|
|
(Fccl_execute_on_string): Likewise.
|
|
* character.c (string_escape_byte8): Likewise.
|
|
* charset.c (read_hex): Likewise.
|
|
* cm.c (calccost): Likewise.
|
|
* data.c (cons_to_unsigned): Likewise.
|
|
* dired.c (directory_files_internal, file_name_completion):
|
|
Likewise.
|
|
* dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
|
|
(sit_for): Likewise.
|
|
* doc.c (Fsubstitute_command_keys): Likewise.
|
|
* doprnt.c (doprnt): Likewise.
|
|
* editfns.c (hi_time, decode_time_components, Fformat): Likewise.
|
|
* emacsgtkfixed.c: Likewise.
|
|
* fileio.c (file_offset, Fwrite_region): Likewise.
|
|
* floatfns.c (Fexpt, fmod_float): Likewise.
|
|
* fns.c (larger_vector, make_hash_table, Fmake_hash_table):
|
|
Likewise.
|
|
* font.c (font_intern_prop): Likewise.
|
|
* frame.c (x_set_alpha): Likewise.
|
|
* gtkutil.c (get_utf8_string): Likewise.
|
|
* indent.c (check_display_width): Likewise.
|
|
* intervals.c (create_root_interval, rotate_right, rotate_left)
|
|
(split_interval_right, split_interval_left)
|
|
(adjust_intervals_for_insertion, delete_node)
|
|
(interval_deletion_adjustment, adjust_intervals_for_deletion)
|
|
(merge_interval_right, merge_interval_left, copy_intervals)
|
|
(set_intervals_multibyte_1): Likewise.
|
|
* keyboard.c (gobble_input, append_tool_bar_item): Likewise.
|
|
* keymap.c (Fkey_description): Likewise.
|
|
* lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
|
|
* lread.c (openp, read_integer, read1, string_to_number):
|
|
Likewise.
|
|
* menu.c (ensure_menu_items): Likewise.
|
|
* minibuf.c (read_minibuf_noninteractive): Likewise.
|
|
* print.c (printchar, strout): Likewise.
|
|
* process.c (create_process, Faccept_process_output)
|
|
(wait_reading_process_output, read_process_output, send_process)
|
|
(wait_reading_process_output): Likewise.
|
|
* profiler.c (make_log, handle_profiler_signal): Likewise.
|
|
* regex.c (re_exec): Likewise.
|
|
* regex.h: Likewise.
|
|
* search.c (looking_at_1, Freplace_match): Likewise.
|
|
* sysdep.c (get_child_status, procfs_ttyname)
|
|
(procfs_get_total_memory): Likewise.
|
|
* systime.h (EMACS_TIME_VALID_P): Likewise.
|
|
* term.c (dissociate_if_controlling_tty): Likewise.
|
|
* window.c (get_phys_cursor_glyph): Likewise.
|
|
* xdisp.c (init_iterator, redisplay_internal, redisplay_window)
|
|
(try_window_reusing_current_matrix, try_window_id, pint2hrstr):
|
|
Likewise.
|
|
* xfns.c (Fx_window_property): Likewise.
|
|
* xmenu.c (set_frame_menubar): Likewise.
|
|
* xselect.c (x_get_window_property, x_handle_dnd_message):
|
|
Likewise.
|
|
* xsmfns.c (smc_save_yourself_CB): Likewise.
|
|
* xterm.c (x_scroll_bar_set_handle): Likewise.
|
|
|
|
2013-03-24 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
|
|
to be optional or nil. Adjust comment and convert it to docstring.
|
|
* xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
|
|
* frame.c (display_x_get_resource, Fx_get_resource): Break long line.
|
|
|
|
2013-03-24 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by GCC 4.8-20130319.
|
|
* image.c (gif_load): Assume pass < 3 to pacify GCC.
|
|
* process.c (Fset_process_datagram_address)
|
|
(Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
|
|
* xdisp.c (get_char_face_and_encoding):
|
|
(get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
|
|
(get_glyph_face_and_encoding): Prepare face before possibly using it.
|
|
(get_per_char_metric): Don't use CHAR2B if it might not be initialized.
|
|
|
|
2013-03-24 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
|
|
fix compilation on 64-bit Cygwin, where underscores are not
|
|
automatically prepended.
|
|
|
|
* w32term.c (w32_initialize): Silence compiler warning.
|
|
|
|
2013-03-23 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
|
|
FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
|
|
variables, to save and restore frame dimensions.
|
|
Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
|
|
after returning from a 'fullscreen' configuration.
|
|
use SendMessage instead of PostMessage to send the SC_RESTORE message,
|
|
to avoid races between the main thread and the input thread.
|
|
|
|
* w32term.h (struct w32_output): New members normal_width,
|
|
normal_height, normal_top, normal_left, and prev_fsmode.
|
|
(FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
|
|
(FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
|
|
members of a frame.
|
|
|
|
* w32term.c (w32fullscreen_hook): Record last value of the frame's
|
|
'fullscreen' parameter. Always record previous width and height
|
|
of the frame, except when switching out of maximized modes, so
|
|
that they could be restored correctly, instead of resetting to the
|
|
default frame dimensions. Send SC_RESTORE command to the frame,
|
|
unless we are going to send SC_MAXIMIZE, to restore the frame
|
|
resize hints in the mouse pointer shown by the window manager.
|
|
(Bug#14032)
|
|
|
|
* frame.c (get_frame_param): Now extern for WINDOWSNT as well.
|
|
|
|
* lisp.h (get_frame_param): Adjust conditions for prototype
|
|
declaration.
|
|
|
|
2013-03-22 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* unexcw.c: Drop unneeded inclusion of w32common.h.
|
|
(report_sheap_usage): Declare.
|
|
(read_exe_header): Add magic numbers for x86_64.
|
|
(fixup_executable): Fix printf format specifier for unsigned long
|
|
argument.
|
|
|
|
2013-03-22 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Put menu_bar_window under #ifdef
|
|
because this member is not needed when X toolkit is in use.
|
|
(fset_menu_bar_window):
|
|
* dispnew.c (clear_current_matrices, clear_desired_matrices)
|
|
(free_glyphs, update_frame):
|
|
* xdisp.c (expose_frame): Likewise.
|
|
(display_menu_bar): Likewise. Remove redundant eassert.
|
|
* window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
|
|
toolkit is in use.
|
|
|
|
2013-03-21 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Use functions and constants to manipulate Lisp_Save_Value objects.
|
|
This replaces code that used macros and strings and token-pasting.
|
|
The change makes the C source a bit easier to follow,
|
|
and shrinks the Emacs executable a bit.
|
|
* alloc.c: Verify some properties of Lisp_Save_Value's representation.
|
|
(make_save_value): Change 1st arg from string to enum. All callers
|
|
changed.
|
|
(INTX): Remove.
|
|
(mark_object): Use if, not #if, for GC_MARK_STACK.
|
|
* lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
|
|
(XSAVE_OBJECT): Now functions, not macros.
|
|
(STRING_BYTES_BOUND): Now just a macro, not a constant too;
|
|
the constant was never used.
|
|
(SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
|
|
(SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
|
|
(SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
|
|
(SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
|
|
New constants.
|
|
(struct Lisp_Save_Value): Replace members area, type0, type1, type2,
|
|
type3 with a single member save_type. All uses changed.
|
|
(save_type, set_save_pointer, set_save_integer): New functions.
|
|
* print.c (PRINTX): Remove.
|
|
|
|
* alloc.c: Remove redundant static declarations.
|
|
|
|
2013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.h (struct window): Convert left_col, top_line, total_lines
|
|
and total_cols from Lisp_Objects to integers. Adjust comments.
|
|
(wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
|
|
Remove.
|
|
(WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
|
|
(WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
|
|
* dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
|
|
Adjust users where appropriate.
|
|
|
|
2013-03-20 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* frame.h (struct frame): Drop resx and resy because the same data is
|
|
available from window system-specific output context. Adjust users.
|
|
(default_pixels_per_inch_x, default_pixels_per_inch_y):
|
|
New functions to provide defaults when no window system available.
|
|
(FRAME_RES_X, FRAME_RES_Y): New macros.
|
|
(NUMVAL): Move from xdisp.c.
|
|
* font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
|
|
(Ffont_face_attributes, Fopen_font):
|
|
* image.c (gs_load):
|
|
* w32font.c (fill_in_logfont):
|
|
* xdisp.c (calc_pixel_width_or_height):
|
|
* xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
|
|
* xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
|
|
|
|
2013-03-20 Kenichi Handa <handa@gnu.org>
|
|
|
|
* coding.c (syms_of_coding): Initialize disable_ascii_optimization
|
|
to 1 (temporary workaround until a bug related to ASCII
|
|
optimization is fixed).
|
|
|
|
2013-03-19 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.c (Fwindow_combination_limit, Fset_window_combination_limit):
|
|
Signal error if window is not internal. Adjust docstring.
|
|
(delete_all_child_windows): Use combination_limit to save the buffer.
|
|
(Fset_window_configuration): Adjust accordingly.
|
|
* print.c (syms_of_print): Initialize debugging output not here...
|
|
(init_print_once): ...but in a new function here.
|
|
* lisp.h (init_print_once): Add prototype.
|
|
* emacs.c (main): Add call to init_print_once. Adjust comments.
|
|
|
|
2013-03-18 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* window.c (window_resize_check, window_resize_apply)
|
|
(window_from_coordinates, recombine_windows, set_window_buffer)
|
|
(make_parent_window, Fwindow_resize_apply, resize_frame_windows)
|
|
(Fsplit_window_internal, Fdelete_window_internal)
|
|
(freeze_window_starts): Use bool for booleans.
|
|
* window.h (window_frame_coordinates, resize_frame_windows)
|
|
(freeze_window_starts, set_window_buffer): Adjust prototypes.
|
|
|
|
2013-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
|
|
|
|
* dispnew.c (bitch_at_user): Use `user-error'.
|
|
|
|
2013-03-17 Ken Brown <kbrown@cornell.edu>
|
|
|
|
* dispextern.h (RGB_PIXEL_COLOR): Move here from image.c. Use it
|
|
as return type of image_background. (Bug#13981)
|
|
* image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
|
|
|
|
2013-03-16 Jan Djärv <jan.h.d@swipnet.se>
|
|
|
|
* nsterm.m (updateFrameSize:): Change resize increments if needed.
|
|
(ns_select): Don't return with result uninitialized.
|
|
|
|
* nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
|
|
and getDirectory.
|
|
|
|
* nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
|
|
New functions.
|
|
(Fns_read_file_name): ret is BOOL. If ! dir_only_p, don't choose
|
|
directories. If filename is nil, get directory name (Bug#13932).
|
|
Use getFilename and getDirectory.
|
|
(getFilename, getDirectory): New methods for EmacsSavePanel and
|
|
EmacsOpenPanel.
|
|
(ok:): In EmacsOpenPanel, if we can't choose directories, just return.
|
|
|
|
2013-03-15 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
* coding.c (decode_coding_gap): Fix typo caught by static checking.
|
|
|
|
2013-03-15 Kenichi Handa <handa@gnu.org>
|
|
|
|
* insdel.c (insert_from_gap): New arg text_at_gap_tail.
|
|
(adjust_after_replace): Make it back to static. Delete the third
|
|
arg text_at_gap_tail. Cancel the code for handling it.
|
|
|
|
* coding.h (struct coding_system): New member eol_seen.
|
|
|
|
* coding.c (detect_ascii): New function.
|
|
(detect_coding): Set coding->head_ascii and coding->eol_seen only
|
|
when the source bytes are actually scanned. On detecting for
|
|
coding_category_utf_8_auto, call detect_ascii instead of scanning
|
|
source bytes directly.
|
|
(produce_chars): Call insert_from_gap with the new arg 0.
|
|
(encode_coding): Likewise.
|
|
(decode_coding_gap): Control ASCII optimization by the variable
|
|
disable_ascii_optimization instead of #ifndef .. #endif.
|
|
Deccode EOL format according to coding->eol_seen.
|
|
(syms_of_coding): Declare disable-ascii-optimization as a Lisp
|
|
variable.
|
|
|
|
* lisp.h (adjust_after_replace): Cancel externing it.
|
|
(insert_from_gap): Adjust prototype.
|
|
|
|
2013-03-15 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
|
|
FULLSCREEN_MAXIMIZED. (Bug#13935)
|
|
|
|
2013-03-15 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* region-cache.c (find_cache_boundary, move_cache_gap)
|
|
(insert_cache_boundary, delete_cache_boundaries, set_cache_region):
|
|
Simplify debugging check and convert to eassert. Adjust comment.
|
|
(pp_cache): Put under ENABLE_CHECKING.
|
|
|
|
2013-03-14 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
|
|
and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
|
|
and WM_ACTIVATEAPP.
|
|
(w32fullscreen_hook): If the frame is visible, reset
|
|
f->want_fullscreen flag after changing the frame size. If the
|
|
frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
|
|
(Bug#13953)
|
|
|
|
2013-03-13 Daniel Colascione <dancol@dancol.org>
|
|
|
|
* emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
|
|
too so that these builds can use Cygwin's file conversion
|
|
functions. (We've been building and linking cygw32.o all along
|
|
and just not using it.)
|
|
|
|
2013-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
File synchronization fixes (Bug#13944).
|
|
* Makefile.in (LIB_FDATASYNC): New macro.
|
|
(LIBES): Use it.
|
|
* conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
|
|
* fileio.c (Fwrite_region, write_region_inhibit_fsync):
|
|
Don't worry about HAVE_FSYNC, since a substitute fsync is
|
|
available if the system lacks one.
|
|
(Fwrite_regin): Retry fsync if interrupted.
|
|
|
|
2013-03-13 Eli Zaretskii <eliz@gnu.org>
|
|
|
|
* w32term.c (w32_read_socket): If the Emacs frame is being
|
|
activated, call w32fullscreen_hook, to make sure the new frame
|
|
dimensions are in effect. (Bug#13937)
|
|
|
|
2013-03-13 Dmitry Antipov <dmantipov@yandex.ru>
|
|
|
|
* xdisp.c (init_iterator): Simplify because both character and byte
|
|
positions are either specified or -1. Add eassert. Adjust comment.
|
|
* window.c (Fscroll_other_window): Use SET_PT_BOTH because both
|
|
character and byte positions can be obtained from marker.
|
|
|
|
2013-03-13 Paul Eggert <eggert@cs.ucla.edu>
|
|
|
|
Static checking by Sun C 5.12.
|
|
* alloc.c (buffer_memory_full) [REL_ALLOC]:
|
|
* bytecode.c (exec_byte_code):
|
|
* dispnew.c (init_display):
|
|
* eval.c (error):
|
|
* fileio.c (Fsubstitute_in_file_name):
|
|
* keyboard.c (Fevent_convert_list):
|
|
* keymap.c (Fsingle_key_description):
|
|
* term.c (maybe_fatal, fatal):
|
|
* xfns.c (Fx_display_backing_store, Fx_display_visual_class):
|
|
* xsmfns.c (Fhandle_save_session):
|
|
Omit unreachable code.
|
|
* keymap.c (map_keymap_char_table_item): Cast void * to
|
|
a function pointer type; the C Standard requires this.
|
|
|
|
* sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
|
|
Include <sys/param.h> unconditionally, as that works elsewhere and
|
|
is simpler here. Include <sys/sysctl.h> if DARWIN_OS ||
|
|
__FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
|
|
and FreeBSD now.
|
|
|
|
See ChangeLog.12 for earlier changes.
|
|
|
|
;; Local Variables:
|
|
;; coding: utf-8
|
|
;; End:
|
|
|
|
Copyright (C) 2011-2013 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
|