1. 24 Nov, 2012 4 commits
  2. 23 Nov, 2012 10 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
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Setup default value for · 002c019c
      Stefan Monnier authored
      lexical-binding.
      
      Fixes: debbugs:12938
      002c019c
    • Wolfgang Jenkner's avatar
      lisp/image-mode.el (image-transform-check-size): Use assertions only · 977f9325
      Wolfgang Jenkner authored
      for images of type imagemagick.
      
      Otherwise no error, image-transform-fit-to-{width,height} is
      silently ignored, as before.  Doc fix.
      977f9325
    • Martin Rudalics's avatar
      Correct and reword recent changes to window.texi. · 0d4bb04f
      Martin Rudalics authored
      * windows.texi (Basic Windows): Fix typo.
      (Windows and Frames): Fix example.  Move description of
      window-in-direction here.
      (Recombining Windows): Fix example.
      (Buffers and Windows): Fix description of
      replace-buffer-in-windows.
      (Switching Buffers): Reword.
      (Display Action Functions): Minor adjustments.
      (Choosing Window Options): Minor fixes.
      (Window History): Minor rewording.
      (Dedicated Windows): Correct and reword part describing how
      dedicatedness affects functions removing buffers or windows.
      * buffers.texi (The Buffer List): Fix description of
      bury-buffer.
      0d4bb04f
    • Chong Yidong's avatar
      * modes.texi (%-Constructs): Fix statement about mode construct padding. · 90d99fdf
      Chong Yidong authored
      Fixes: debbugs:12866
      90d99fdf
    • 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
    • Juri Linkov's avatar
      * lisp/dired.el (dired-mark): Add optional arg `interactive'. · 61a2a122
      Juri Linkov authored
      Check for `use-region-p' if `interactive' is non-nil.
      (dired-unmark, dired-flag-file-deletion): Add optional arg
      `interactive'.  Call `dired-mark' with the arg `interactive'.
      
      Fixes: debbugs:10624
      61a2a122
    • Chong Yidong's avatar
      * faces.el (color-defined-p): Doc fix. · bccffa83
      Chong Yidong authored
      Fixes: debbugs:12853
      bccffa83
    • 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
    • Juri Linkov's avatar
      * lisp/wdired.el: Revert 2012-10-17 change partly and replace it with · cc4c01bd
      Juri Linkov authored
      Patch by Christopher Schmidt <christopher@ch.ristopher.com>.
      (wdired-finish-edit): Add marks for new file names to
      `wdired-old-marks'.  Restore marks using `dired-mark-remembered'
      after `revert-buffer'.
      (wdired-do-renames): Remove calls to `dired-remove-file',
      `dired-add-file', `dired-add-entry'.
      
      Fixes: debbugs:11795
      cc4c01bd
  3. 21 Nov, 2012 8 commits
  4. 20 Nov, 2012 9 commits
  5. 19 Nov, 2012 6 commits
  6. 18 Nov, 2012 3 commits