1. 03 Nov, 2012 3 commits
    • Eli Zaretskii's avatar
      Fix Windows build as fallout from 2012-11-03T18:54:17Z!eggert@cs.ucla.edu. · 3a7089c1
      Eli Zaretskii authored
       nt/config.nt (PENDING_OUTPUT_N_BYTES): Define.
      
       lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/fpending.$(O) and
       $(BLD)/close-stream.$(O).
       ($(BLD)/close-stream.$(O)):
       ($(BLD)/fpending.$(O)): New dependencies.
      
      Fixes: debbugs:9574
      3a7089c1
    • Paul Eggert's avatar
      Fix data-loss with --batch. · 7ccfb720
      Paul Eggert authored
      * admin/merge-gnulib (GNULIB_MODULES): Add close-stream.
      * lib/close-stream.c, lib/close-stream.h, lib/fpending.c
      * lib/fpending.h, m4/close-stream.m4, m4/fpending.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * src/emacs.c: Include <close-stream.h>.
      (close_output_streams): New function.
      (main): Pass it to atexit, so that Emacs closes stdout and stderr
      and handles errors appropriately.
      (Fkill_emacs): Don't worry about flushing, as close_output_stream
      does that now.
      
      Fixes: debbugs:9574
      7ccfb720
    • Eli Zaretskii's avatar
      b3cf17f6
  2. 02 Nov, 2012 1 commit
  3. 26 Oct, 2012 3 commits
  4. 24 Oct, 2012 2 commits
  5. 23 Oct, 2012 2 commits
  6. 21 Oct, 2012 2 commits
    • Glenn Morris's avatar
      Put back old Emacs 22 icons, just don't install them · ad483434
      Glenn Morris authored
      Some people prefer them to the newer icon
      
      * Makefile.in (install-etc): Don't install emacs22 icons.
      
      * etc/images/icons/hicolor/32x32/apps/emacs22.png:
      * etc/images/icons/hicolor/16x16/apps/emacs22.png:
      * etc/images/icons/hicolor/48x48/apps/emacs22.png:
      * etc/images/icons/hicolor/24x24/apps/emacs22.png: Restore old icons.
      
      * etc/images/icons/README: Restore info about emacs22 icons
      ad483434
    • Glenn Morris's avatar
      In Makefile.in, use a make variable rather than a shell variable. · 8dc2a723
      Glenn Morris authored
      * Makefile.in (emacs_transform): New variable.
      (install-etc): Prefer a make variable to a shell variable.
      8dc2a723
  7. 19 Oct, 2012 2 commits
    • Paul Eggert's avatar
      Undo faccessat change. · f0a80175
      Paul Eggert authored
      f0a80175
    • Paul Eggert's avatar
      Use faccessat, not access, when checking file permissions. · e752e0b0
      Paul Eggert authored
      * .bzrignore: Add lib/fcntl.h.
      * configure.ac (euidaccess): Remove check; gnulib does this for us now.
      (gl_FCNTL_O_FLAGS): Define a dummy version.
      * lib/at-func.c, lib/euidaccess.c, lib/faccessat.c, lib/fcntl.in.h:
      * lib/getgroups.c, lib/group-member.c, lib/root-uid.h:
      * lib/xalloc-oversized.h, m4/euidaccess.m4, m4/faccessat.m4:
      * m4/fcntl_h.m4, m4/getgroups.m4, m4/group-member.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * admin/merge-gnulib (GNULIB_MODULES): Add faccessat.
      (GNULIB_TOOL_FLAGS): Avoid at-internal, fchdir, malloc-posix,
      openat-die, openat-h, save-cwd.  Do not avoid fcntl-h.
      Omit gnulib's m4/fcntl-o.m4.
      * nt/inc/ms-w32.h (AT_FDCWD, AT_EACCESS): New symbols.
      (access): Remove.
      (faccessat): New macro.
      * src/Makefile.in (LIB_EACCESS): New macro.
      (LIBES): Use it.
      * src/callproc.c (init_callproc):
      * src/charset.c (init_charset):
      * src/fileio.c (check_existing, check_executable):
      * src/lread.c (openp, load_path_check):
      * src/process.c (allocate_pty):
      * src/xrdb.c (file_p):
      Use faccessat, not access or euidaccess.  Use symbolic names
      instead of integers for the flags, as they're portable now.
      * src/charset.c, src/xrdb.c: Include <fcntl.h>, for the new flags used.
      * src/fileio.c (Ffile_readable_p):
      Use faccessat, not stat + open + close.
      (file_directory_p): New function, which uses 'stat' on most places
      but 'access' (for efficiency) if WINDOWSNT.
      * src/fileio.c (Ffile_directory_p, Fset_file_times):
      * src/xrdb.c (file_p): Use file_directory_p.
      * src/lisp.h (file_directory_p): New decl.
      * src/lread.c (openp): When opening a file, use fstat rather than
      stat, as that avoids a permissions race.  When not opening a file,
      use file_directory_p rather than stat.
      * src/process.c, src/sysdep.c, src/term.c: All uses of '#ifdef O_NONBLOCK'
      changed to '#if O_NONBLOCK', to accommodate gnulib O_* tyle.
      * src/w32.c (sys_faccessat): Rename from sys_access and switch to
      faccessat's API.  All uses changed.
      
      Fixes: debbugs:12632
      e752e0b0
  8. 18 Oct, 2012 1 commit
  9. 17 Oct, 2012 1 commit
  10. 15 Oct, 2012 1 commit
  11. 11 Oct, 2012 1 commit
  12. 08 Oct, 2012 1 commit
  13. 07 Oct, 2012 2 commits
    • Jan Djärv's avatar
      Check for OSX >= 10.4 to match what the maunal says and what we actually support. · 335f5ae4
      Jan Djärv authored
      * configure.ac: Check that OSX is 10.4 or newer.
      
      * etc/NEWS (NextStep/OSX port changes): OSX 10.4 or newer is required.
      
      * src/nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
      (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
      
      * src/nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
      
      * src/nsmenu.m (fillWithWidgetValue:): Remove code for < MAC_OS_X_VERSION_10_2.
      
      * src/nsselect.m (ns_string_from_pasteboard): Remove check for >=
      MAC_OS_X_VERSION_10_4.
      
      * src/nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
      (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
      (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
      335f5ae4
    • Paul Eggert's avatar
      Improve sys_siglist detection. · c622b48f
      Paul Eggert authored
      * configure.ac (sys_siglist): Look for its decl in <signal.h>.
      Otherwise, it's not found in either Fedora 17 or Solaris 11.
      * src/sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
      defined as a macro, as is done in Solaris.
      (sys_siglist_entries): New macro.
      (save_strsignal): Use it.
      * src/syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
      GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
      c622b48f
  14. 04 Oct, 2012 3 commits
    • Paul Eggert's avatar
      Move ChangeLog entry to proper file. · 7509f454
      Paul Eggert authored
      7509f454
    • Paul Eggert's avatar
      Merge from gnulib. · bb1dfdad
      Paul Eggert authored
      bb1dfdad
    • Paul Eggert's avatar
      Port timers to OpenBSD, plus check for timer failures. · 2b794d69
      Paul Eggert authored
      OpenBSD problem reported by Han Boetes.
      * profiler.c (setup_cpu_timer): Check for failure of timer_settime
      and/or setitimer.
      (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER.
      * syssignal.h (HAVE_ITIMERSPEC): New macro.  This is for platforms
      like OpenBSD, which has timer_settime but does not declare it.
      OpenBSD does not define SIGEV_SIGNAL, so use that when deciding
      whether to use itimerspec-related primitives.  All uses of
      HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC.
      2b794d69
  15. 30 Sep, 2012 1 commit
  16. 27 Sep, 2012 2 commits
  17. 24 Sep, 2012 1 commit
    • Stefan Monnier's avatar
      Rewrite sampler to use Elisp hash-tables. · 3d80c99f
      Stefan Monnier authored
      * src/profiler.c: Remove filtering functionality.
      (is_in_trace, Qgc): Remove vars.
      (make_log, record_backtrace, Fsample_profiler_log):
      Rewrite, using Elisp hash-tables.
      (approximate_median, evict_lower_half): New functions.
      (cpu_log): Rename from sample_log.
      (cpu_gc_count): New var.
      (Fsample_profiler_reset, Fmemory_profiler_reset): Remove.
      (sigprof_handler): Add count to cpu_gc_count during GC, detected via
      backtrace_list.
      (block_sigprof, unblock_sigprof): Remove.
      (gc_probe, mark_profiler): Remove functions.
      (syms_of_profiler): Staticpro cpu_log and memory_log.
      
      * lisp/profiler.el (profiler-sample-interval): Move before first use.
      Change default to 1ms.
      (profiler-entry=, profiler-backtrace-reverse, profiler-log-fixup-slot)
      (profiler-calltree-elapsed<, profiler-calltree-elapsed>): Remove functions.
      (profiler-entry-format): Don't use type-of.
      (profiler-slot, profiler-log): Remove structs.
      (profiler-log-timestamp, profiler-log-type, profiler-log-diff-p):
      Redefine for new log representation.
      (profiler-log-diff, profiler-log-fixup, profiler-calltree-build-1):
      Rewrite for new log representation.
      (profiler-calltree): Remove `elapsed' fields.
      (profiler-calltree-count<, profiler-report-make-entry-part):
      Remove gc special case.
      (profiler-calltree-find): Use equal.
      (profiler-calltree-walk): Remove `args'; rely on closures instead.
      (profiler-calltree-compute-percentages-1): Remove; inlined.
      (profiler-calltree-compute-percentages): Simplify.
      (profiler-report-log, profiler-report-reversed)
      (profiler-report-order): Use defvar-local.
      (profiler-report-line-format): Remove `elapsed', do a bit of CSE.
      (profiler-report-mode-map): Remove up/down bindings.
      (profiler-report-make-buffer-name): Simplify by CSE.
      (profiler-report-mode): Remove redundant code.
      (profiler-report-expand-entry, profiler-report-collapse-entry):
      Use inhibit-read-only.
      (profiler-report-render-calltree-1): Simplify by CSE.
      (profiler-reset): Rewrite for new subroutines.
      (profiler--report-cpu): Rename from sample-profiler-report.
      (profiler--report-memory): Rename from memory-profiler-report.
      
      * src/alloc.c (Fgarbage_collect): Record itself in backtrace_list.
      Don't set is_in_trace any more.  Don't call mark_profiler.
      Only call gc_probe for the memory profiler.
      (syms_of_alloc): Define Qautomatic_gc.
      
      * src/lisp.h (SXHASH_COMBINE): Move back to...
      * src/fns.c (SXHASH_COMBINE): ...here.
      
      * src/xdisp.c (Qautomatic_redisplay): New constant.
      (redisplay_internal): Record itself in backtrace_list.
      (syms_of_xdisp): Define Qautomatic_redisplay.
      
      * .dir-locals.el (indent-tabs-mode): Remove personal preference.
      3d80c99f
  18. 23 Sep, 2012 1 commit
  19. 22 Sep, 2012 2 commits
  20. 19 Sep, 2012 1 commit
    • Tassilo Horn's avatar
      New feature: set optimal slice from BoundingBox information. · db8a5a18
      Tassilo Horn authored
      * doc-view.el (doc-view-mode-map): Add keybinding.
      (doc-view-menu): Add menu entry.
      (doc-view-set-slice): Adapt docstring.
      (doc-view-get-bounding-box, doc-view-guess-paper-size)
      (doc-view-scale-bounding-box)
      (doc-view-set-slice-from-bounding-box): New functions.
      (doc-view-paper-sizes): New defvar.
      
      * doc/emacs/misc.texi (DocView Slicing): Document new slice from
      BoundingBox feature.
      db8a5a18
  21. 18 Sep, 2012 1 commit
  22. 17 Sep, 2012 5 commits
    • Andreas Schwab's avatar
      * Makefile.in (bootstrap): Revert last change. Run config.status · d3612ac3
      Andreas Schwab authored
      after config.status --recheck, run configure from $(srcdir).
      (config.status): Run configure from $(srcdir).
      d3612ac3
    • Paul Eggert's avatar
      * Makefile.in: Run autogen/copy_autogen if autogen.sh fails, · dee26dfa
      Paul Eggert authored
      to create 'configure'; problem reported by Andreas Schwab in
      <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00438.html>.
      * autogen.sh: Exit with status 1 when failing due to missing tools,
      reverting the 2012-09-10 change to this file.
      * autogen/copy_autogen: Fail if one of the subsidiary actions fail.
      Use 'cp -f' for the build-aux files, since the destinations are
      typically read-only.
      dee26dfa
    • Paul Eggert's avatar
      * Makefile.in: Fix build error on FreeBSD. · 50bfc824
      Paul Eggert authored
      ($(MAKEFILE_NAME)): Pass MAKE='$(MAKE)' to config.status's env.
      Suggested by Wolfgang Jenker in
      <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00430.html>.
      (MAKE_CONFIG_STATUS): Remove.  Remaining use expanded.
      This undoes part of the 2012-09-10 patch.
      (bootstrap): Run ./configure, rather than trying to run config.status
      if it exists.  That builds src/epaths.h more reliably.
      50bfc824
    • Paul Eggert's avatar
      Remove no-longer-needed Solaris 2.4 vfork bug workaround. · eeceac93
      Paul Eggert authored
      The workaround was for improving performance on Solaris 2.4, but
      is getting in the way now.  Emacs will still work if someone is
      still running Solaris 2.4 in a museum somewhere; Sun dropped
      support for Solaris 2.4 in 2003.
      * configure.ac (ac_cv_func_vfork_works): Default to 'no' on
      Solaris 2.4, so that AC_FUNC_VFORK doesn't think vfork works.
      * src/callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
      * src/process.c (create_process) [HAVE_WORKING_VFORK]:
      Omit now-unnecessary workaround for the Solaris 2.4 vfork bug,
      since Emacs no longer uses vfork on that platform.
      eeceac93
    • Glenn Morris's avatar
      Reduce the number of versioned files storing the short copyright string · 78f83752
      Glenn Morris authored
      * configure.ac (copyright): New output variable.
      (COPYRIGHT): New AC_DEFINE.
      
      * admin/admin.el (set-copyright): No more need to set copyrights for
      nextstep, or .c files.  Add configure.ac and config.nt.
      
      * lib-src/ebrowse.c (version):
      * lib-src/etags.c (print_version): Use COPYRIGHT.
      
      * nextstep/templates/Info-gnustep.plist.in:
      * nextstep/templates/InfoPlist.strings.in:
      * nextstep/templates/Info.plist.in: Let configure set copyright.
      
      * nt/config.nt (COPYRIGHT): New.
      
      * src/emacs.c: Use COPYRIGHT.
      78f83752
  23. 16 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Remove configure's --without-sync-input option. · 0caaedb1
      Paul Eggert authored
      When auditing signal-handling in preparation for cleaning it up,
      I found that SYNC_INPUT has race conditions and would be a real
      pain to fix.  Since it's an undocumented and deprecated
      configure-time option, now seems like a good time to remove it.
      Also see <http://bugs.gnu.org/11080#16>.
      * configure.ac (SYNC_INPUT, BROKEN_SA_RESTART): Remove.
      * admin/CPP-DEFINES (BROKEN_SA_RESTART, SA_RESTART): Remove.
      * etc/TODO (Make SYNC_INPUT the default): Remove, as the code now
      behaves as if SYNC_INPUT is always true.
      * src/alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
      (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls.
      (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
      (malloc_hysteresis):
      (check_depth) [XMALLOC_OVERRUN_CHECK]:
      (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT):
      (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED)
      (dont_register_blocks, bytes_used_when_reconsidered)
      (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
      (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
      [!SYSTEM_MALLOC && !SYNC_INPUT]:
      Remove. All uses removed.
      (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
      implementation, one that depends on whether the new macro
      XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
      is defined.
      * src/atimer.c (run_timers, handle_alarm_signal):
      * src/keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
      (handle_async_input, process_pending_signals)
      (handle_input_available_signal, init_keyboard):
      * src/nsterm.m (ns_read_socket):
      * src/process.c (wait_reading_process_output):
      * src/regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
      * src/sysdep.c (emacs_sigaction_init) [SA_RESTART]:
      (emacs_write):
      * src/xterm.c (XTread_socket):
      Assume SYNC_INPUT.
      * src/conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
      * src/eval.c (handling_signal): Remove.  All uses removed.
      * src/lisp.h (ELSE_PENDING_SIGNALS): Remove.
      All uses replaced with the SYNC_INPUT version.
      (reset_malloc_hooks, uninterrupt_malloc, handling_signal):
      Remove decls.
      * src/sysdep.c, src/syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
      Now static.
      
      Fixes: debbugs:12450
      0caaedb1