1. 24 Nov, 2012 3 commits
  2. 23 Nov, 2012 22 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
    • Jay Belanger's avatar
      * doc/misc/calc.texi (Date Formatting Codes): Mention the new · 678a34f4
      Jay Belanger authored
        beginning of the date numbering system.
      678a34f4
    • 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
    • Stefan Monnier's avatar
      * lisp/erc/erc-backend.el: Fix last change that missed calls to `second'. · 277c8f21
      Stefan Monnier authored
      Fixes: debbugs:12970
      277c8f21
    • Juanma Barranquero's avatar
      nt/config.nt: Sync with autogen/config.in. · 0414b37b
      Juanma Barranquero authored
      (BROKEN_GETWD, HAVE_CLOSEDIR, HAVE_DIRENT_H, HAVE_FCNTL_H, HAVE_GETWD): Remove.
      0414b37b
    • Dmitry Antipov's avatar
      * frame.h (struct frame): Remove display_preempted member · f418b22e
      Dmitry Antipov authored
      since all users are dead long ago.
      * nsterm.h (struct x_output): Use the only dummy member.
      * w32menu.c (pending_menu_activation): Remove since not
      really used.
      (set_frame_menubar): Adjust user.
      * w32term.h (struct x_output): Drop outdated #if 0 code.
      (struct w32_output): Use bitfields for explicit_parent,
      asked_for_visible and menubar_active members.  Drop
      unused pending_menu_activation member.
      * xterm.h (struct x_output): Drop outdated #if 0 code.
      Use bitfields for explicit_parent, asked_for_visible,
      has_been_visible and net_wm_state_hidden_seen members.
      f418b22e
    • 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
    • Glenn Morris's avatar
      Auto-commit of generated files. · e7d0e5ee
      Glenn Morris authored
      e7d0e5ee
    • Eli Zaretskii's avatar
      Fix bug #12955 with building under MSYS Bash. · a879f0ea
      Eli Zaretskii authored
       src/makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead
       of a literal "/".
       (gl-stamp): Invoke fc.exe directly, not through cmd.
      a879f0ea
    • Chong Yidong's avatar
      Add some missing find options to find-cmd.el. · 930a6273
      Chong Yidong authored
      * find-cmd.el (find-constituents): Add executable, ipath,
      readable, samefile, writable, daystart, regextype.
      
      Fixes: debbugs:12856
      930a6273
    • Chong Yidong's avatar
      * modes.texi (%-Constructs): Fix statement about mode construct padding. · 90d99fdf
      Chong Yidong authored
      Fixes: debbugs:12866
      90d99fdf
    • Paul Eggert's avatar
      movemail: treat EACCES etc. failures as permanent · e6bac876
      Paul Eggert authored
      * movemail.c (main): Treat any link failure other than EEXIST as a
      permanent failure, not just EPERM.  EACCES, for example.
      e6bac876
    • 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
    • Paul Eggert's avatar
      Assume POSIX 1003.1-1988 or later for dirent.h. · 95ef7787
      Paul Eggert authored
      * admin/CPP-DEFINES (HAVE_CLOSEDIR, HAVE_DIRENT_H): Remove.
      * admin/notes/copyright: Adjust to src/ndir.h -> nt/inc/dirent.h renaming.
      * configure.ac: Do not check for dirent.h or closdir.
      * nt/inc/dirent.h: Rename from ../src/ndir.h, with these changes:
      (struct dirent): Rename from struct direct.  All uses changed.
      * nt/inc/sys/dir.h: Remove.
      * src/dired.c: Assume HAVE_DIRENT_H.
      (NAMLEN): Remove, replacing with ...
      (dirent_namelen): New function.  All uses changed.  Use the GNU macro
      _D_EXACT_NAMELEN if available, as it's faster than strlen.
      (DIRENTRY): Remove, replacing all uses with 'struct dirent'.
      (DIRENTRY_NONEMPTY): Remove.  All callers now assume it's nonzero.
      * src/makefile.w32-in (DIR_H): Remove.  All uses replaced with
      $(NT_INC)/dirent.h.
      ($(BLD)/w32.$(O)): Do not depend on $(SRC)/ndir.h.
      * src/ndir.h: Rename to ../nt/inc/dirent.h.
      * src/sysdep.h (closedir) [!HAVE_CLOSEDIR]: Remove.
      Do not include <dirent.h>; no longer needed.
      * src/w32.c: Include <dirent.h> rather than "ndir.h".
      
      Fixes: debbugs:12958
      95ef7787
    • Paul Eggert's avatar
      Add Bug# to Nov 17 ChangeLog entries. · 6f6b82d6
      Paul Eggert authored
      6f6b82d6
    • 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
    • Chong Yidong's avatar
      12645ae6
    • Stefan Monnier's avatar
  3. 22 Nov, 2012 8 commits
  4. 21 Nov, 2012 7 commits