aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * Move fix for bug#12993 to trunkDaniel Colascione2012-12-101-21/+0
| |
* | * fileio.c (Fcopy_file): Make fstat failure as serious as open failure.Paul Eggert2012-12-121-0/+9
| | | | | | | | | | | | | | | | fstat shouldn't fail, and if it does fail copy-file should not proceed. Remove unnecessary S_ISLNK test, as (contra the comments) this function can't copy symlinks. Improve quality of error message when attempting to copy files that are neither regular files nor directories.
* | * dispnew.c (set_window_cursor_after_update): Use clip_to_bounds.Dmitry Antipov2012-12-121-0/+8
| | | | | | | | | | | | | | * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): * window.c (Frecenter): * xdisp.c (resize_mini_window, hscroll_window_tree, draw_glyphs): * xterm.c (x_set_toolkit_scroll_bar_thumb): Likewise.
* | 2012-12-12 Daniel Colascione <dancol@dancol.org>Daniel Colascione2012-12-111-0/+6
| | | | | | | | | | | | * unexcw.c (fixup_executable): use posix_fallocate to ensure that the dumped Emacs is not a sparse file, greatly improving Cygwin "make bootstrap" performance.
* | Spelling fixes.Paul Eggert2012-12-111-1/+1
| |
* | * inotify.c (inotify_callback): Generate an Emacs event for everyMichael Albinus2012-12-111-0/+5
| | | | | | | | incoming inotify event.
* | Fix part of bug #13011 with display of lines that have a box face.Eli Zaretskii2012-12-111-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | src/xdisp.c (handle_face_prop): Fix logic of computing it->start_of_box_run_p. (append_space_for_newline): If the glyph row is R2L, reset the iterator's end_of_box_run_p flag before prepending the space glyph. (extend_face_to_end_of_line): If the glyph row is R2L, reset the iterator's start_of_box_run_p flag before prepending the stretch. (append_glyph, produce_image_glyph, append_composite_glyph) (append_stretch_glyph, append_glyphless_glyph): Reverse the left_box_line_p and right_box_line_p flags of the glyph for R2L glyph rows.
* | * buffer.c (Fset_buffer_multibyte): Do not force redisplayDmitry Antipov2012-12-111-0/+10
| | | | | | | | | | | | | | | | | | if changed buffer is not shown in a window. * insdel.c (prepare_to_modify_buffer): Likewise. * window.c (replace_buffer_in_windows_safely): Do nothing if buffer is not shown in a window. (Fforce_window_update): Likewise if string or buffer argument is passed.
* | Minor change in variable name in inotify.c.Eli Zaretskii2012-12-111-0/+5
| | | | | | | | | | src/inotify.c (Finotify_add_watch): Rename decoded_file_name to encoded_file_name, which is what it is.
* | Consistently use marker_position and marker_byte_position.Dmitry Antipov2012-12-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * fringe.c (Ffringe_bitmaps_at_pos): * indent.c (Fvertical_motion): * insdel.c (prepare_to_modify_buffer): * keyboard.c (make_lispy_position): * window.c (Fwindow_end, Fpos_visible_in_window_p, unshow_buffer) (window_scroll_pixel_based, displayed_window_lines) (Fset_window_configuration): * xdisp.c (message_dolog, with_echo_area_buffer_unwind_data) (mark_window_display_accurate_1, redisplay_window, decode_mode_spec): Replace direct access to marker fields with calls to marker_position and/or marker_byte_position.
* | (lib-src,src,lib)/makefile.w32-in: Update dependencies.Juanma Barranquero2012-12-111-0/+6
| |
* | Fix cygw32 build breakDaniel Colascione2012-12-101-0/+3
| |
* | Move fix for cygw32 icon issue from emacs-24 branch to trunk as Stefan ↵Daniel Colascione2012-12-101-0/+21
|\ \ | |/ | | | | Monnier requests
| * Compile Windows resources into cygw32 EmacsDaniel Colascione2012-12-091-0/+21
| |
* | Per-buffer window counters.Dmitry Antipov2012-12-101-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * buffer.h (struct buffer): New member window_count. (buffer_window_count): New function. * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Initialize window_count. (Fkill_buffer): Verify window_count for the buffer being killed. (modify_overlay): Do not force redisplay if buffer is not shown in any window. (init_buffer_once): Initialize window_count for buffer_defaults and buffer_local_symbols. * window.h (buffer_shared): Remove declaration. (wset_buffer): Convert from inline ... * window.c (wset_buffer): ... to an ordinary function. (adjust_window_count): New function. (make_parent_window): Use it. * xdisp.c (buffer_shared): Remove. (redisplay_internal, redisplay_window): Adjust users. (buffer_shared_and_changed): Use per-buffer window counter.
* | Final cleanups and updated ChangeLog entries.Eli Zaretskii2012-12-101-34/+58
| |
* | Merge from trunk + rename the event. Not tested yet.Eli Zaretskii2012-12-101-2/+670
|\ \
| * | Support filesystem notification through inotify on GNU/Linux.Rüdiger Sonderfeld2012-12-101-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure.ac (inotify): New option. (HAVE_INOTIFY): Test for inotify. src/termhooks.h (enum event_kind) [HAVE_INOTIFY]: Add FILE_NOTIFY_EVENT. src/lisp.h (syms_of_inotify) [HAVE_INOTIFY]: Add prototype. src/keyboard.c (Qfile_inotify) [HAVE_INOTIFY]: New variable. (syms_of_keyboard): DEFSYM it. (kbd_buffer_get_event) [HAVE_INOTIFY]: Generate FILE_NOTIFY_EVENT. (make_lispy_event): Support FILE_NOTIFY_EVENT by generating Qfile_inotify events. (keys_of_keyboard) [HAVE_INOTIFY]: Bind file-inotify events in special-event-map to inotify-handle-event. src/emacs.c (main) [HAVE_INOTIFY]: Call syms_of_inotify. src/Makefile.in (base_obj): Add inotify.o. src/inotify.c: New file. lisp/subr.el (inotify-event-p, inotify-handle-event): New functions. test/automated/inotify-test.el: New test.
| * | Merge from emacs-24; up to 2012-11-26T19:56:14Z!monnier@iro.umontreal.caGlenn Morris2012-12-091-0/+28
| |\ \ | | |/
| | * * nsterm.m (fd_handler:): FD_ZERO fds.Jan Djärv2012-12-081-1/+5
| | | | | | | | | | | | Fixes: debbugs:13103
| | * Fix incompatibilities with 64-bit Windows builds.Fabrice Popineau2012-12-081-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | src/w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to DWORD_PTR, for compatibility with 64-bit builds. src/w32.c (_PROCESS_MEMORY_COUNTERS_EX): (GetProcessWorkingSetSize_Proc, get_process_working_set_size) (system_process_attributes): Use SIZE_T rather than DWORD, for compatibility with 64-bit builds.
| | * * lread.c (Vload_source_file_function): Doc fix.Christopher Schmidt2012-12-081-0/+4
| | | | | | | | | | | | Fixes: debbugs:11647
| | * Fix bug #13108 introduced by the fix to bug #12930.Eli Zaretskii2012-12-071-0/+6
| | | | | | | | | | | | | | | | | | src/indent.c (Fvertical_motion): If a display string will be displayed on the left or the right margin, don't consider it as a factor in cursor positioning.
| | * Reword doc-string of Fcompare_buffer_substrings.Martin Rudalics2012-12-071-0/+4
| | | | | | | | | | | | * editfns.c (Fcompare_buffer_substrings): Reword doc-string.
| * | * fileio.c (Fsubstitute_in_file_name): Use ptrdiff_t, not int,Paul Eggert2012-12-091-0/+5
| | | | | | | | | | | | for string length.
| * | Fix putenv and unsetenv on MS-Windows.Eli Zaretskii2012-12-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | src/w32.c (unsetenv): Return 0 if the input string is too long. nt/inc/ms-w32.h (sys_putenv): Add prototype. Fixes: debbugs:13070
| * | Use putenv+unsetenv instead of modifying environ directly.Paul Eggert2012-12-081-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/merge-gnulib (GNULIB_MODULES): Add putenv, unsetenv. * lib/putenv.c, lib/unsetenv.c, m4/putenv.m4, m4/setenv.m4: New files, copied automatically from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * src/alloc.c (xputenv): New function. * src/dbusbind.c (Fdbus_init_bus): * src/emacs.c (main): * src/xterm.c (x_term_init): Use xputenv instead of setenv or putenv, to detect memory exhaustion. * src/editfns.c (initial_tz): Move static var decl up. (tzvalbuf_in_environ): New static var. (init_editfns): Initialize these two static vars. (Fencode_time): Don't assume arbitrary limit on EMACS_INT width. Save old TZ value on stack, if it's small. (Fencode_time, set_time_zone_rule): Don't modify 'environ' directly; instead, use xputenv+unsetenv to set and restore TZ. (environbuf): Remove static var. All uses removed. (Fset_time_zone_rule): Do not save TZ and environ; no longer needed here. (set_time_zone_rule_tz1, set_time_zone_rule_tz2) [LOCALTIME_CACHE]: Move to inside set_time_zone_rule; they don't need file scope any more. (set_time_zone_rule): Maintain the TZ=value string separately. (syms_of_editfns): Don't initialize initial_tz; init_editfns now does it. * src/emacs.c (dump_tz) [HAVE_TZSET]: Now const. * src/lisp.h (xputenv): New decl. Fixes: debbugs:13070
| * | w32fns.c (emacs_abort): Don't do arithmetics on void pointers.Fabrice Popineau2012-12-081-0/+4
| | |
| * | Provide unsetenv for MS-Windows and make putenv Posix-compatible.Eli Zaretskii2012-12-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | src/w32.c (unsetenv, sys_putenv): New functions. nt/inc/ms-w32.h (putenv): Redirect to sys_putenv. nt/config.nt (HAVE_UNSETENV): Define to 1. Fixes: debbugs:13070
| * | * src/editfns.c (Finsert_char): Make the error message more informative.Chong Yidong2012-12-081-0/+5
| | | | | | | | | | | | Fixes: debbugs:12992
| * | Simplify get_lim_data.Paul Eggert2012-12-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | * admin/CPP-DEFINES (ULIMIT_BREAK_VALUE): Remove. * configure.ac (ULIMIT_BREAK_VALUE): Remove. * src/vm-limit.c (get_lim_data): Combine RLIMIT_AS and RLIMIT_DATA methods. Remove USG and vlimit methods; no longer used these days. Add #error catchall just in case.
| * | Assume POSIX 1003.1-1988 or later for signal.h.Paul Eggert2012-12-071-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exceptions: do not assume SIGCONT, SIGSTOP, SIGTSTP, SIGTTIN, SIGTTOU, SIGUSR1, SIGUSR2, as Microsoft platforms lack these. * admin/CPP-DEFINES (SIGALRM, SIGCHLD, SIGHUP, SIGKILL, SIGPIPE, SIGQUIT): Remove. (SIGTRAP): Remove this one too, as config.h no longer defines it. * admin/merge-gnulib (GNULIB_MODULES): Add sig2str. * configure.ac (PTY_OPEN, PTY_TTY_NAME_SPRINTF): Use SIGCHLD rather than SIGCLD. * lib/sig2str.c, lib/sig2str.h, m4/sig2str.m4: New files, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/makefile.w32-in (GNULIBOBJS): Add $(BUILD)/sig2str.$(O). * src/process.c [subprocesses]: Include <c-ctype.h>, <sig2str.h>. (deleted_pid_list, Fdelete_process, create_process) (record_child_status_change, handle_child_signal, deliver_child_signal) (init_process_emacs, syms_of_process): Assume SIGCHLD is defined. (parse_signal): Remove. All uses removed. (abbr_to_signal): New static function. (Fsignal_process): Use it to convert signal names to ints. * src/sysdep.c (sys_suspend) [!DOS_NT]: Use kill (0, ...) rather than kill (getpgrp (), ...). (emacs_sigaction_init): Assume SIGCHLD is defined. (init_signals): Assume SIGALRM, SIGCHLD, SIGHUP, SIGKILL, SIGPIPE, and SIGQUIT are defined. Do not worry about SIGCLD any more. * src/syssignal.h (EMACS_KILLPG): Remove. All uses replaced by 'kill' with a negative pid. (SIGCHLD): Remove definition, as we now assume SIGCHLD. * src/w32proc.c (sys_kill): Support negative pids compatibly with POSIX. Fixes: debbugs:13026
| * | * sysdep.c (get_child_status): Abort on internal error (Bug#13086).Paul Eggert2012-12-071-0/+6
| | | | | | | | | | | | | | | This will cause a production Emacs to dump core instead of infinite-looping.
| * | * frame.c (make_frame): Do not set window's buffer to t.Dmitry Antipov2012-12-071-0/+8
| | | | | | | | | | | | | | | | | | | | | * window.c (Fsplit_window_internal): Likewise. Previously it was used to indicate that the window is being set up. Now we use set_window_buffer for all new windows, so the condition in ... (Fset_window_buffer): ... is always true and can be removed.
| * | Convenient macro to check whether the buffer is hidden.Dmitry Antipov2012-12-071-0/+8
| | | | | | | | | | | | | | | | | | | | | * buffer.h (BUFFER_HIDDEN_P): New macro. * frame.c (make_frame): Use it. Adjust comment. * buffer.c (candidate_buffer): New function. (Fother_buffer, other_buffer_safely): Use it.
| * | Avoid busy-waiting for child processes on Windows. (Bug#13086)Eli Zaretskii2012-12-061-0/+6
| | | | | | | | | | | | | | | | | | src/w32proc.c (waitpid): Avoid busy-waiting when called with WNOHANG if the child process is still running. Instead, exit the wait loop and return zero.
| * | * frame.h (x_char_width, x_char_height): Remove prototypes.Dmitry Antipov2012-12-061-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * w32term.h (x_char_width, x_char_height): Likewise. * xfns.c (x_char_width, x_char_height): Remove. * w32fns.c (x_char_width, x_char_height): Likewise. * nsfns.c (x_char_width, x_char_height): Likewise. * frame.c (Fframe_char_width): Use FRAME_COLUMN_WIDTH for all window frames. (Fframe_char_height): Likewise with FRAME_LINE_HEIGHT. * keyboard.c (command_loop_1): Remove prototype. (command_loop_2, top_level_1): Add static to match prototype.
| * | Fix a recently-introduced delete-process race condition.Paul Eggert2012-12-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | * callproc.c, process.h (record_kill_process): New function, containing part of the old call_process_kill. (call_process_kill): Use it. This does not change call_process_kill's behavior. * process.c (Fdelete_process): Use record_kill_process to fix a race condition that could cause Emacs to lose track of a child.
| * | Avoid code duplication between prev_frame and next_frame.Dmitry Antipov2012-12-061-0/+6
| | | | | | | | | | | | | | | * frame.c (candidate_frame): New function. Add comment. (prev_frame, next_frame): Use it. Adjust comment.
| * | Merge from emacs-24; up to 2012-11-24T16:58:43Z!cyd@gnu.orgGlenn Morris2012-12-051-0/+13
| |\ \ | | |/
| | * Don't pass un-encoded file name to mkstemp.Eli Zaretskii2012-12-051-0/+2
| | | | | | | | | | | | | | | src/callproc.c (Fcall_process_region): Encode expanded temp file pattern before passing it to mkstemp or mktemp.
| | * Fix one part of bug #13079 with temporary files in call-process-region.Eli Zaretskii2012-12-051-0/+6
| | | | | | | | | | | | | | | | | | src/callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp fails, signal an error instead of continuing with an empty string.
| | * Fix another instance of bug #12933 with non-ASCII file names on Windows.Eli Zaretskii2012-12-041-0/+7
| | | | | | | | | | | | | | | | | | src/fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]: Encode the file name before passing it to dostounix_filename, in case it will downcase it (under w32-downcase-file-names).
| * | Minor call-process cleanups.Paul Eggert2012-12-051-0/+8
| | | | | | | | | | | | | | | | | | | | | * callproc.c (Fcall_process): Do record-unwind-protect on MSDOS at the same time as other platforms, to simplify analysis. No need for fd0_volatile since we have synch_process_fd. Avoid needless emacs_close; arg is always negative.
| * | * callproc.c (Fcall_process): Fix specpdl nesting for asynchronousAndreas Schwab2012-12-041-0/+5
| | | | | | | | | | | | processes.
| * | * lisp.h (Mouse_HLInfo): Remove set-but-unused mouse_face_image_stateDmitry Antipov2012-12-041-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | member. Adjust users. Convert mouse_face_past_end, mouse_face_defer and mouse_face_hidden members to a bitfields. * frame.h (struct frame): Remove set-but-not-used space_width member. (FRAME_SPACE_WIDTH): Remove. * nsterm.m, w32term.c, xterm.c: Adjust users. * termchar.h (struct tty_display_info): Remove set-but-unused se_is_so member. Adjust users. Convert term_initted, delete_in_insert_mode, costs_set, insert_mode, standout_mode, cursor_hidden and flow_control members to a bitfields.
| * | Don't let call-process be a zombie factory.Paul Eggert2012-12-031-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixing this bug required some cleanup of the signal-handling code. As a side effect, this change also fixes a longstanding rare race condition whereby Emacs could mistakenly kill unrelated processes, and it fixes a bug where a second C-g does not kill a recalcitrant synchronous process in GNU/Linux and similar platforms. The patch should also fix the last vestiges of Bug#9488, a bug which has mostly been fixed on the trunk by other changes. * callproc.c, process.h (synch_process_alive, synch_process_death) (synch_process_termsig, sync_process_retcode): Remove. All uses removed, to simplify analysis and so that less consing is done inside critical sections. * callproc.c (call_process_exited): Remove. All uses replaced with !synch_process_pid. * callproc.c (synch_process_pid, synch_process_fd): New static vars. These take the role of what used to be in unwind-protect arg. All uses changed. (block_child_signal, unblock_child_signal): New functions, to avoid races that could kill innocent-victim processes. (call_process_kill, call_process_cleanup, Fcall_process): Use them. (call_process_kill): Record killed processes as deleted, so that zombies do not clutter up the system. Do this inside a critical section, to avoid a race that would allow the clutter. (call_process_cleanup): Fix code so that the second C-g works again on common platforms such as GNU/Linux. (Fcall_process): Create the child process in a critical section, to fix a race condition. If creating an asynchronous process, record it as deleted so that zombies do not clutter up the system. Do unwind-protect for WINDOWSNT too, as that's simpler in the light of these changes. Omit unnecessary call to emacs_close before failure, as the unwind-protect code does that. * callproc.c (call_process_cleanup): * w32proc.c (waitpid): Simplify now that synch_process_alive is gone. * process.c (record_deleted_pid): New function, containing code refactored out of Fdelete_process. (Fdelete_process): Use it. (process_status_retrieved): Remove. All callers changed to use child_status_change. (record_child_status_change): Remove, folding its contents into ... (handle_child_signal): ... this signal handler. Now, this function is purely a handler for SIGCHLD, and is not called after a synchronous waitpid returns; the synchronous code is moved to wait_for_termination. There is no need to worry about reaping more than one child now. * sysdep.c (get_child_status, child_status_changed): New functions. (wait_for_termination): Now takes int * status and bool interruptible arguments, too. Do not record child status change; that's now the caller's responsibility. All callers changed. Reimplement in terms of get_child_status. (wait_for_termination_1, interruptible_wait_for_termination): Remove. All callers changed to use wait_for_termination. * syswait.h: Include <stdbool.h>, for bool. (record_child_status_change, interruptible_wait_for_termination): Remove decls. (record_deleted_pid, child_status_changed): New decls. (wait_for_termination): Adjust to API changes noted above. Fixes: debbugs:12980
| * | * bytecode.c, lisp.h (Qbytecode): Remove.Paul Eggert2012-12-031-0/+5
| | | | | | | | | | | | No longer needed after 2012-11-20 interactive-p changes.
| * | Fix bug #13055 with cursor positioning inside scroll-margin.Eli Zaretskii2012-12-031-0/+5
| | | | | | | | | | | | | | | src/xdisp.c (redisplay_window): If the cursor is visible, but inside the scroll margin, move point outside the margin.
| * | * gtkutil.c (my_log_handler): New function.Jan Djärv2012-12-031-0/+5
| | | | | | | | | | | | | | | | | | (xg_set_geometry): Set log handler to my_log_handler. Fixes: debbugs:11177