1. 01 Jan, 2019 1 commit
  2. 01 Jan, 2018 1 commit
  3. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
  4. 19 May, 2017 1 commit
  5. 01 Jan, 2017 1 commit
  6. 10 Mar, 2016 1 commit
    • Paul Eggert's avatar
      Rework C source files to avoid ^( · 7352c6c6
      Paul Eggert authored
      Work around Bug#22884 by rewording comments and strings to avoid ‘(’
      at the start of a line unless it starts a function.  This change
      is a short-term hack; in the longer run we plan to fix cc-mode’s
      performance for C files that have ‘(’ at the start of a line in a
      comment or string.
  7. 01 Jan, 2016 1 commit
  8. 01 Jan, 2015 2 commits
  9. 03 May, 2014 1 commit
    • Paul Eggert's avatar
      Handle systems without WCONTINUED consistently. · d355cad6
      Paul Eggert authored
      * lib-src/emacsclient.c (WCONTINUED): Move to ../src/syswait.h.
      * src/process.c (handle_child_signal): Remove WCONTINUED ifdef,
      because WCONTINUED is always defined now.
      * src/syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.
      Fixes: debbugs:15110 debbugs:17339
  10. 16 Jan, 2014 1 commit
  11. 01 Jan, 2014 1 commit
  12. 14 Dec, 2013 1 commit
    • Paul Eggert's avatar
      Use bool for boolean, focusing on headers. · 96c06863
      Paul Eggert authored
      * configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK):
      Use bool for boolean.
      * lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE):
      Remove.  All uses replaced with uncapitalized version.
      * lib-src/emacsclient.c (message):
      * lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names):
      * lib-src/hexl.c (un_flag, iso_flag, endian):
      * lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next)
      Use bool for boolean.
      * lib-src/etags.c (bool): Remove.
      * lib-src/etags.c (globals, members, declarations, no_line_directive)
      (no_duplicates): Use 'int' for boolean values that getopt requires
      to be 'int'.  Formerly, these were 'bool' and 'bool' was 'int',
      but we can no longer rely on this implementation.
      * lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields.
      * lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields.
      * src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c:
      No need to include <stdbool.h>, since conf_post.h does it now.
      * src/ccl.c, src/ccl.h (setup_ccl_program):
      * src/ccl.h (CHECK_CCL_PROGRAM):
      * src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR)
      * src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
      * src/coding.c (decode_coding_ccl, encode_coding_ccl):
      * src/conf_post.h (has_attribute):
      * src/dispextern.h (trace_redisplay_p):
      (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p)
      * src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows)
      (blank_row, prepare_desired_row)
      (build_frame_matrix_from_leaf_window, make_current)
      (mirror_make_current, mirrored_line_dance, mirror_line_dance)
      (update_window, scrolling_window, update_frame_line):
      * src/disptab.h (GLYPH_FOLLOW_ALIASES):
      * src/editfns.c (Fformat):
      * src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P):
      * src/fringe.c (Fdefine_fringe_bitmap):
      * src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask)
      (x_create_bitmap_from_xpm_data, xpm_load_image):
      * src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT)
      (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE)
      * src/keymap.h (KEYMAPP):
      * src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE)
      * src/systime.h (timespec_valid_p):
      * src/term.c (save_and_enable_current_matrix):
      * src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P):
      * src/xdisp.c (in_display_vector_p, display_tool_bar_line)
      (redisplay_internal, try_window_reusing_current_matrix)
      (sync_frame_with_window_matrix_rows, try_window_id)
      (display_menu_bar, display_tty_menu_item, display_mode_line)
      (coords_in_mouse_face_p, cursor_in_mouse_face_p):
      * src/xmenu.c (xmenu_show):
      * src/xterm.c (use_xim, x_term_init):
      * src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET)
      (struct x_bitmap_record):
      Use bool for booleans.
      * src/ccl.c (struct buffer_text):
      * src/ccl.h (struct ccl_program):
      * src/charset.h (struct charset):
      * src/cm.h (struct cm):
      * src/coding.h (struct iso_2022_spec, struct coding_system):
      * src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row)
      (struct glyph_string, struct face, struct face_cache)
      (struct bidi_string_data, struct bidi_it)
      (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo)
      (struct image):
      * src/editfns.c (Fformat):
      * src/frame.h (struct frame):
      * src/fringe.c (struct fringe_bitmap):
      * src/intervals.h (struct interval):
      * src/keyboard.h (struct kboard):
      * src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker)
      (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free)
      (struct Lisp_Buffer_Local_Value, union specbinding):
      * src/macfont.m (struct macfont_info):
      * src/process.h (struct Lisp_Process):
      * src/termchar.h (struct tty_display_info):
      * src/window.h (struct window):
      * src/xterm.h (struct x_output):
      Use bool_bf for boolean bit-fields.
      * src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0.
      All callers changed.
      * src/ccl.h (struct ccl_program): Remove unused members private_state,
      src_multibyte, dst_multibyte, cr_consumed, suppress_error,
      (struct ccl_spec): Remove unused members cr_carryover,
      * src/conf_post.h: Include <stdbool.h>.
      (bool_bf): New type.
      * src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
      Surround statement macro with proper 'do { ... } while (false)' brackets.
      (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool.
      (PRODUCE_GLYPHS): Simplify use of boolean.
      * src/fileio.c (Fcopy_file):
      If I is an integer, prefer 'if (I != 0)' to 'if (I)'.
      * src/lisp.h (UNGCPRO): Return void, not int.
      (FOR_EACH_TAIL): Use void expression, not int expression.
      * src/region-cache.c: Reindent.
      * src/region-cache.h: Copy comments from region-cache.c, to fix
      incorrect remarks about booleans.
  13. 12 Aug, 2013 1 commit
    • Paul Eggert's avatar
      Fix some fd issues when running subprocesses. · 94fcd171
      Paul Eggert authored
      Fix bugs that can leak files or file descriptors on errors.
      Don't unlink open temp files, as that's hard for users to diagnose
      when things go awry (e.g., temp disk exhausted).
      Don't bother to lock temp files.  Check for invalid recursion.
      * callproc.c (synch_process_fd): Remove.  All uses removed.
      (synch_process_tempfile): New var or macro.
      New constants.
      (record_kill_process): New arg, the temp name.  All callers changed.
      (delete_temp_file): Now just a simple wrapper around unlink.
      (call_process_kill): New arg, the call_process_fd array.
      Close them all.  Clear synch_process_pid.  Remove the temp file,
      or arrange for it to be removed.
      (call_process_cleanup) [MSDOS]: Arg no longer contains file name;
      that's been moved to synch_process_tempfile.  Caller changed.
      Do not remove the tempfile; that's now call_process_kill's
      (call_process_cleanup) [!MSDOS]: Do not record unwind-protect for
      call_process_kill; the caller now does that.
      (call_process_cleanup): Do not close the process fd; that's now
      call_process_kill's responsibility.
      (Fcall_process): Implement via new function call_process, which
      has most of the old body of Fcall_process, but with a different API.
      (call_process): New function that does not open or close filefd if
      it is nonnegative.  Record which fds need to be closed, and let
      call_process_kill close (and remove the tempfile, on MSDOS) on error.
      Signal an error if invoked recursively (could be done via a hook).
      Simplify creation of the tempfile in the MSDOS case.
      Don't create the output file until after checking for the executable.
      Report any failure to open /dev/null.
      Don't open /dev/null for writing twice; once is enough.
      Don't create pipe if all output is being discarded or sent to file.
      Don't worry about setting up the coding system or reading from the
      pipe if all output is being discarded.
      Hoist fd_error local into top level, to lessen block nesting.
      Don't record deleted pid here; now done by Fcall_process_region.
      (Fcall_process) [MSDOS]: Report mktemp failure immediately,
      and note its success in synch_process_tempfile.
      Do not leak resources when child_setup fails.
      (Fcall_process) [!MSDOS && !WINDOWSNT]: Remove duplicate assignment
      to child_errno.  Remove unnecessary close of fd0; it's close-on-exec.
      (create_temp_file): Now returns open fd, with an additional
      Lisp_Object * argument to return the name.  All callers changed.
      Do not close the file; rewind it instead, and leave it open for
      the caller.  Do not lock the temp file.  Unwind-protect the file
      and the file-descriptor.
      (Fcall_process_region): If the input is /dev/null, unwind-protect it.
      If an asynchrounous process, record it here, not in call_process.
      (syms_of_callproc) [MSDOS]: Initialize synch_process_tempfile.
      * eval.c (set_unwind_protect): New function.
      * fileio.c (write_region): New function, generalized from the
      old Fwrite_region.  Do not lock temp files.
      (Fwrite_region): Use it.
      * lisp.h (set_unwind_protect, write_region): New decls.
      * process.c: Include <verify.h>.
      (make_process): Mark fds as initially closed.
      (deleted_pid_list): Now a list of pid-filename pairs.
      All uses changed.
      (close_process_fd): New function.
      New constants.  Verify that their number matches PROCESS_OPEN_FDS.
      (create_process, create_pty, Fmake_serial_process)
      (server_accept_connection): Record which fds need to be closed,
      and let deactivate_process close them.
      (Fmake_network_process): Do not discard the unwind-protect
      until it's safe to do so.
      (deactivate_process): Close the fds opened by create_process etc.
      (Fprocess_send_eof): Adjust to new way of recording open fds.
      Report an error if /dev/null can't be opened, instead of aborting.
      * process.h (PROCESS_OPEN_FDS): New constant.
      (struct Lisp_Process): New member open_fds.
      (record_kill_process, record_deleted_pid): Adjust signatures.
      (record_deleted_pid): Move decl here ...
      * syswait.h (record_deleted_pid): ... from here.
      Fixes: debbugs:15035
  14. 01 Jan, 2013 1 commit
  15. 03 Dec, 2012 1 commit
    • Paul Eggert's avatar
      Don't let call-process be a zombie factory. · bb5f74ee
      Paul Eggert authored
      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
      (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
  16. 23 Sep, 2012 1 commit
  17. 02 Aug, 2012 1 commit
    • Paul Eggert's avatar
      Port to Solaris 8. · 13294f95
      Paul Eggert authored
      Without this change, 'configure' fails because the recently-added
      wait3 prototype in config.h messes up later 'configure' tests.
      Fix this problem by droping wait3 and WRETCODE, as they're
      no longer needed on hosts that are current porting targets.
      * configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
      All uses changed to waitpid and WEXITSTATUS.
      * src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
  18. 11 Jan, 2012 1 commit
  19. 05 Jan, 2012 1 commit
  20. 25 Jan, 2011 1 commit
  21. 15 Jan, 2011 1 commit
  22. 02 Jan, 2011 1 commit
  23. 13 Jan, 2010 1 commit
  24. 08 Jan, 2009 1 commit
  25. 31 Jul, 2008 1 commit
    • Dan Nicolaescu's avatar
      * bitmaps/README: · 7c2fb837
      Dan Nicolaescu authored
      * xfns.c:
      * termcap.c:
      * term.c:
      * syswait.h:
      * systty.h:
      * systime.h:
      * syssignal.h:
      * sysdep.c:
      * process.h:
      * process.c:
      * print.c:
      * ndir.h:
      * lread.c:
      * keyboard.c:
      * getpagesize.h:
      * floatfns.c:
      * fileio.c:
      * emacs.c:
      * doc.c:
      * dispnew.c:
      * dired.c:
      * data.c:
      * callproc.c:
      * buffer.c:
      * README:
      * Makefile.in:
      * s/template.h:
      * s/msdos.h:
      * m/vax.h: Remove VMS support.
      * s/vms.h:
      * vlimit.h:
      * uaf.h:
      * temacs.opt:
      * param.h:
      * ioctl.h: Remove file.
      * descrip.mms:
      * compile.com: Remove file.
      * Create.c: Remove VMS support.
      * message.el (Module):
      * gnus-start.el (Module):
      * gnus-registry.el (Module):
      * textmodes/texinfmt.el:
      * nxml/nxml-enc.el:
      * mail/feedmail.el:
      * international/mule.el:
      * international/latexenc.el:
      * emulation/viper-util.el:
      * emulation/viper-init.el:
      * emulation/viper-ex.el:
      * emacs-lisp/bytecomp.el:
      * version.el:
      * subr.el:
      * startup.el:
      * sort.el:
      * shadowfile.el:
      * recentf.el:
      * printing.el:
      * paths.el:
      * minibuffer.el:
      * ls-lisp.el:
      * loadup.el:
      * hippie-exp.el:
      * finder.el:
      * files.el:
      * ediff-util.el:
      * ediff-ptch.el:
      * ediff-init.el:
      * ediff-diff.el:
      * dired.el:
      * dired-aux.el:
      * cus-edit.el:
      * bindings.el:
      * arc-mode.el:
      * add-log.el: Remove VMS support.
      * obsolete/vmsproc.el:
      * obsolete/vms-pmail.el:
      * obsolete/vms-patch.el: Remove file.
      * etags.c:
      * emacsclient.c: Remove VMS support.
      * termcap.src: Remove file.
      * README:
      * PROBLEMS:
      * MACHINES: Remove VMS info.
      * ediff.texi: Remove VMS support.
      * os.texi:
      * intro.texi:
      * files.texi: Remove VMS support.
      * emacs.texi: Remove VMS support.
      * make-dist:
      * README: Remove VMS support.
      * vms: Remove directory.
  26. 12 Jul, 2008 1 commit
    • Dan Nicolaescu's avatar
      * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was · bba104c1
      Dan Nicolaescu authored
      always defined as int.
      * s/gnu-linux.h (HAVE_WAIT_HEADER):
      * s/freebsd.h (HAVE_WAIT_HEADER):
      * s/bsd-common.h (HAVE_UNION_WAIT):
      * s/aix4-2.h (HAVE_WAIT_HEADER):
      * m/mips.h (HAVE_UNION_WAIT):
      * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
      (COFF, static): Do not define, they are undefined later in the file.
      * process.c (update_status): Don't use a union.
      (sigchld_handler): Use int instead of WAITTYPE.
      * movemail.c (main): Use int instead of WAITTYPE.
  27. 26 Jun, 2008 1 commit
    • Dan Nicolaescu's avatar
      * unexnext.c: · f2a77c3a
      Dan Nicolaescu authored
      * m/ews4800.h:
      * m/hp9000s300.h:
      * m/ibm370aix.h:
      * m/mips-siemens.h:
      * m/ncr386.h:
      * m/next.h:
      * m/pmax.h:
      * m/powerpcle.h:
      * m/tandem-s2.h:
      * s/386bsd.h:
      * s/bsd386.h:
      * s/bsd4-1.h:
      * s/bsd4-2.h:
      * s/bsdos2-1.h:
      * s/bsdos2.h:
      * s/bsdos3.h:
      * s/bsdos4.h:
      * s/nextstep.h:
      * s/ultrix4-3.h:
      * s/usg5-0.h:
      * s/usg5-2-2.h:
      * s/usg5-2.h:
      * s/usg5-4-3.h:
      * s/ux4800.h:
      * s/uxpds.h:
      * s/uxpv.h: Remove support for obsolete systems.
      * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
      Remove, insert contents in s/hpux-10.20.h
      * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
      Remove, insert contents in s/aix-4.2.h
      * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
      * s/bsd4-3.h: Rename to ..
      * s/bsd-common.h: ... this.
      * src/data.c:
      * src/doc.c:
      * src/ecrt0.c:
      * src/emacs.c:
      * src/fileio.c:
      * src/floatfns.c:
      * src/keyboard.c:
      * src/mem-limits.h:
      * src/print.c:
      * src/process.c:
      * src/sysdep.c:
      * src/syssignal.h:
      * src/systty.h:
      * src/syswait.h:
      * src/term.c:
      * src/unexec.c:
      * src/unexelf.c:
      * src/unexhp9k800.c:
      * src/m/hp800.h:
      * src/m/ibmrs6000.h:
      * src/m/mips.h:
      * src/m/vax.h:
      * src/s/darwin.h:
      * src/s/freebsd.h:
      * src/s/gnu.h:
      * src/s/ms-w32.h:
      * src/s/msdos.h:
      * src/s/netbsd.h:
      * src/s/template.h: Remove references to obsolete variables.
      * Makefile.in: Add dependencies for all unexec files.
      (admindir): Remove unused variable.
      (UNEXEC_SRC): Remove references.
      * config.nt: Remove reference to UNEXEC_SRC.
      * lwlib.c: Remove references to obsolete variables.
      * fakemail.c: Remove references to obsolete variables.
      * os.texi: Remove references to obsolete systems.
      * configure.in:
      * configure: Remove references to obsolete systems.
  28. 15 May, 2008 1 commit
  29. 13 Jan, 2008 1 commit
    • Dan Nicolaescu's avatar
      * movemail.c: · e39a993c
      Dan Nicolaescu authored
      * make-docfile.c: Remove reference to symbols defined by systems
      not supported anymore: MAC_OS8, XENIX and STRIDE.
      * (src/m/mips.h):
      * (src/m/intel386.h):
      * callproc.c:
      * config.in:
      * ecrt0.c:
      * emacs.c:
      * fileio.c:
      * frame.c:
      * getpagesize.h:
      * keyboard.c:
      * lread.c:
      * process.c:
      * puresize.h:
      * sysdep.c:
      * systty.h:
      * syswait.h:
      * unexec.c:
      * xdisp.c:
      * alloc.c: Remove code containing references to symbols defined by
      unsupported systems.
  30. 08 Jan, 2008 1 commit
  31. 25 Jul, 2007 1 commit
  32. 14 Jan, 2007 1 commit
  33. 06 Feb, 2006 1 commit
  34. 07 Aug, 2005 1 commit
  35. 04 Jul, 2005 1 commit
  36. 16 Apr, 2004 1 commit
  37. 08 Sep, 2003 1 commit
  38. 01 Sep, 2003 1 commit
  39. 04 Feb, 2003 1 commit