1. 27 Nov, 2012 1 commit
  2. 26 Nov, 2012 1 commit
  3. 24 Nov, 2012 3 commits
  4. 23 Nov, 2012 3 commits
    • Paul Eggert's avatar
      Fix a race condition with glib (Bug#8855). · 6d4e8f62
      Paul Eggert authored
      This is a backport from the trunk, consisting of:
      
      2012-11-17  Eli Zaretskii  <eliz@gnu.org>
      
      * nt/inc/sys/wait.h: New file, with prototype of waitpid and
      definitions of macros it needs.
      * nt/inc/ms-w32.h (wait): Don't define, 'wait' is not used anymore.
      (sys_wait): Remove prototype.
      * nt/config.nt (HAVE_SYS_WAIT_H): Define to 1.
      * src/w32proc.c (create_child): Don't clip the PID of the child
      process to fit into an Emacs integer, as this is no longer a
      restriction.
      (waitpid): Rename from sys_wait.  Emulate a Posix 'waitpid' by
      reaping only the process specified by PID argument, if that is
      positive.  Use PID instead of dead_child to know which process to
      reap.  Wait for the child to die only if WNOHANG is not in
      OPTIONS.
      (sys_select): Don't set dead_child.
      * src/sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion,
      as it is no longer needed.
      * src/process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions,
      no longer needed.
      (record_child_status_change): Remove the setting of
      record_at_most_one_child for the !WNOHANG case.
      
      2012-11-03  Paul Eggert  <eggert@cs.ucla.edu>
      
      Fix a race condition that causes Emacs to mess up glib (Bug#8855).
      This is a backport from the trunk.
      The symptom is a diagnostic "GLib-WARNING **: In call to
      g_spawn_sync(), exit status of a child process was requested but
      SIGCHLD action was set to SIG_IGN and ECHILD was received by
      waitpid(), so exit status can't be returned."  The diagnostic
      is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
      The real bug is a race condition between Emacs and glib: Emacs
      does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
      so that glib can't find it.  Work around the bug by invoking
      waitpid only on subprocesses that Emacs itself creates.
      * src/process.c (create_process, record_child_status_change):
      Don't use special value -1 in pid field, as the caller now must
      know the pid rather than having the callee infer it.  The
      inference was sometimes incorrect anyway, due to another race.
      (create_process): Set new 'alive' member if child is created.
      (process_status_retrieved): New function.
      (record_child_status_change): Use it.
      Accept negative 1st argument, which means to wait for the
      processes that Emacs already knows about.  Move special-case code
      for DOS_NT (which lacks WNOHANG) here, from caller.  Keep track of
      processes that have already been waited for, by testing and
      clearing new 'alive' member.
      (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
      now does this internally.
      (handle_child_signal): Let record_child_status_change do all
      the work, since we do not want to reap all exited child processes,
      only the child processes that Emacs itself created.
      * src/process.h (Lisp_Process): New boolean member 'alive'.
      6d4e8f62
    • Eli Zaretskii's avatar
      Fix cursor display when several display strings follow each other. · 24becea4
      Eli Zaretskii authored
       src/xdisp.c (set_cursor_from_row): Skip step 2 only if point is not
       between bpos_covered and bpos_max.  This fixes cursor display when
       several display strings follow each other.
      24becea4
    • Eli Zaretskii's avatar
      Fix pgx in .gdbinit when CHECK_LISP_OBJECT_TYPE is defined. · 8654a41b
      Eli Zaretskii authored
       src/.gdbinit (pgx): If the glyph's object is a string, display the
       pointer to string data, rather than the value of the string object
       itself (which barfs under CHECK_LISP_OBJECT_TYPE).
      8654a41b
  5. 21 Nov, 2012 1 commit
  6. 20 Nov, 2012 2 commits
  7. 19 Nov, 2012 1 commit
    • Eli Zaretskii's avatar
      More fixes for bug #12878 with MS-Windows MSVC build. · 88c4a13c
      Eli Zaretskii authored
       src/xdisp.c (start_hourglass) [HAVE_NTGUI]: Don't mix declaration of
       w32_note_current_window with code.  (Backport from trunk.)
       src/w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
       (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]:
       Define for the MSVC compiler.
       src/w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing
       semi-colon.
      
       nt/inc/stdint.h (PTRDIFF_MIN) [!__GNUC__]: Define for MSVC.
      88c4a13c
  8. 18 Nov, 2012 1 commit
  9. 17 Nov, 2012 2 commits
  10. 16 Nov, 2012 2 commits
  11. 15 Nov, 2012 1 commit
  12. 14 Nov, 2012 1 commit
    • Eli Zaretskii's avatar
      Clean up w32 timer thread code in the hope of solving bug #12832. · 730b2d8f
      Eli Zaretskii authored
       src/w32proc.c (timer_loop): Make sure SuspendThread and ResumeThread
       use the same value of thread handle.
       (start_timer_thread): If the timer thread exited (due to error),
       clean up by closing the two handles it used.  Duplicate the caller
       thread's handle here, so it gets duplicated only once, when
       launching the timer thread.  Set priority of the timer thread, not
       the caller thread.
       (getitimer): Don't duplicate the caller thread's handle here.
      730b2d8f
  13. 13 Nov, 2012 1 commit
  14. 12 Nov, 2012 1 commit
  15. 07 Nov, 2012 1 commit
    • Martin Rudalics's avatar
      Fix and rewrite doc on window recombining facilities. · fdaf534a
      Martin Rudalics authored
      * window.c (Fsplit_window_internal): Set combination limit of
      new parent window to t iff Vwindow_combination_limit is t;
      fixing a regression introduced with the change from 2012-09-22.
      (Fwindow_combination_limit, Fset_window_combination_limit): Fix
      doc-strings.
      
      * elisp.texi (Top): Add Recombining Windows to menu.
      * windows.texi (Recombining Windows): New subsection.
      (Splitting Windows): Rewrite text on handling of window
      combinations and move it to new subsection.
      fdaf534a
  16. 06 Nov, 2012 1 commit
    • Eli Zaretskii's avatar
      Fix bug #12811 with scrolling under scroll-up/down-aggressively. · acf93bcf
      Eli Zaretskii authored
       src/xdisp.c (try_scrolling): Fix correction of aggressive-scroll
       amount when the scroll margins are too large.  When scrolling
       backwards in the buffer, give up if cannot reach point or the
       scroll margin within a reasonable number of screen lines.  Fixes
       point position in window under scroll-up/down-aggressively when
       point is positioned many lines beyond the window top/bottom.
      acf93bcf
  17. 05 Nov, 2012 1 commit
  18. 03 Nov, 2012 4 commits
  19. 01 Nov, 2012 1 commit
  20. 31 Oct, 2012 3 commits
    • Paul Eggert's avatar
      Fix crash when using Emacs as commit editor for git. · 322aea6d
      Paul Eggert authored
      * callproc.c (setpgrp): Remove macro, as we now use setpgid
      and it is configured in conf_post.h.
      (Fcall_process): Don't invoke both setsid and setpgid; the former
      is enough, if it exists.
      * callproc.c (Fcall_process, child_setup):
      * process.c (create_process): Use setpgid.
      * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes
      for the real thing.
      * dispnew.c (init_display): Initialize the foreground group
      if we are running a tty display.
      * emacs.c (main): Do not worry about setpgrp; init_display does it now.
      * lisp.h (init_foreground_group): New decl.
      * sysdep.c (inherited_pgroup): New static var.
      (init_foreground_group, tcsetpgrp_without_stopping)
      (narrow_foreground_group, widen_foreground_group): New functions.
      (init_sys_modes): Narrow foreground group.
      (reset_sys_modes): Widen foreground group.
      
      Fixes: debbugs:12697
      322aea6d
    • Michael Albinus's avatar
    • Martin Rudalics's avatar
      Install fixes for Bug#12764 and Bug#12766. · 218e997a
      Martin Rudalics authored
      * window.el (quit-restore-window): If the window has been
      created on an existing frame and ended up as the sole window on
      that frame, do not delete it (Bug#12764).
      
      * minibuf.c (read_minibuf): Restore current buffer since
      choose_minibuf_frame calling Fset_frame_selected_window may
      change it (Bug#12766).
      218e997a
  21. 30 Oct, 2012 3 commits
  22. 29 Oct, 2012 1 commit
    • Daniel Colascione's avatar
      2012-10-29 Daniel Colascione <dancol@dancol.org> · ba116008
      Daniel Colascione authored
      cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode): In
      preparation for fixing bug#12739, move these functions from
      here...
      
      * coding.h, coding.c: ... to here, and compile them only when
      WINDOWSNT or HAVE_NTGUI.  Moving these functions out of cygw32
      proper lets us write cygw32-agnostic code for the HAVE_NTGUI case.
      ba116008
  23. 28 Oct, 2012 3 commits
    • Eli Zaretskii's avatar
      Don't use CLOCKS_PER_SEC in w32 timers. · 640bf8ad
      Eli Zaretskii authored
       src/w32proc.c (TIMER_TICKS_PER_SEC): New macro.
       (timer_loop, getitimer, setitimer): Use it instead of
       CLOCKS_PER_SEC, which is no longer pertinent, since we don't use
       'clock'.
       (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a
       literal 10000.
      640bf8ad
    • Jan Djärv's avatar
      * nsterm.m (NO_APPDEFINED_DATA): New define. · 64ccff5f
      Jan Djärv authored
      (last_appdefined_event_data): New variable
      (last_appdefined_event): Remove.
      (ns_select): Initialize t from last_appdefined_event_data instead
      of [last_appdefined_event data1].
      (sendEvent:): Save [theEvent data1] to last_appdefined_event_data,
      remove last_appdefined_event.
      
      Fixes: debbugs:12698
      64ccff5f
    • Stefan Monnier's avatar
      e483264c
  24. 27 Oct, 2012 1 commit