1. 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
  2. 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
  3. 18 Oct, 2012 1 commit
  4. 17 Oct, 2012 1 commit
  5. 15 Oct, 2012 1 commit
  6. 11 Oct, 2012 1 commit
  7. 08 Oct, 2012 1 commit
  8. 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
  9. 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
  10. 30 Sep, 2012 1 commit
  11. 27 Sep, 2012 2 commits
  12. 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
  13. 23 Sep, 2012 1 commit
  14. 22 Sep, 2012 2 commits
  15. 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
  16. 18 Sep, 2012 1 commit
  17. 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
  18. 16 Sep, 2012 3 commits
    • 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
    • Glenn Morris's avatar
      92f7c6f1
    • Glenn Morris's avatar
      Increase compartmentalization of Nextstep builds rules, · 83da1b55
      Glenn Morris authored
      and store Emacs version number in fewer versioned files.
      
      * configure.ac (ns_appsrc): Use relative names.
      (ns_frag): Remove.
      (Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
      (nextstep/Makefile): Generate these nextstep files.
      (SUBDIR_MAKEFILES): Add nextstep.
      
      * Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
      
      * make-dist (nextstep/templates): Add directory.
      (nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
      (nextstep/Cocoa/Emacs.base/Contents)
      (nextstep/GNUstep/Emacs.base/Resources): Update contents.
      
      * .bzrignore: Add some nextstep files.
      
      * admin/admin.el (set-version): No more need to set nextstep versions.
      (set-copyright): Update for moved nextstep files.
      
      * nextstep/Makefile.in: New file.
      * nextstep/templates: New directory.
      * nextstep/templates/Emacs.desktop.in, nextstep/templates/Info-gnustep.plist.in:
      * nextstep/templates/Info.plist.in, nextstep/templates/InfoPlist.strings.in:
      Move here from various Cocoa/, GNUstep/ locations.
      Let configure set the version number.
      * nextstep/Cocoa/Emacs.base/Contents/Info.plist:
      * nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:
      * nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:
      * nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop: Move to templates/.
      * nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj: Remove directory.
      
      * src/Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
      (ns_frag): Remove.
      (ns-app): Move here from ns.mk, and simplify.
      (clean): Simplify nextstep entry.
      * src/ns.mk: Remove file.
      83da1b55
  19. 15 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Port better to POSIX hosts lacking _setjmp. · 0328b6de
      Paul Eggert authored
      * configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
      (_setjmp, _longjmp): Remove.
      * src/lisp.h: Include <setjmp.h> here, since we use its symbols here.
      All instances of '#include <setjmp.h>' removed, if the
      only reason for the instance was because "lisp.h" was included.
      (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
      Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
      and _longjmp with the new symbols.  Emacs already uses _setjmp if
      available, so this change affects only POSIXish hosts that have
      sigsetjmp but not _setjmp, such as some versions of Solaris and
      Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
      * src/image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
      (png_load_body) [HAVE_PNG]:
      (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
      (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
      Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
      since PNG requires jmp_buf.  This is the only exception to the
      general rule that we now use sys_setjmp and sys_longjmp.
      This exception is OK since this code does not change the signal
      mask or longjmp out of a signal handler.
      
      Fixes: debbugs:12446
      0328b6de
  20. 14 Sep, 2012 2 commits
    • Paul Eggert's avatar
      Fix glitches with 'configure --without-sync-input'. · 2af03429
      Paul Eggert authored
      * configure.ac (--without-sync-input): Fix typo in usage message.
      * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
      Include "syssignal.h", for 'main_thread'.
      2af03429
    • Paul Eggert's avatar
      * configure.ac: Port to hosts lacking gtk. · e3141fcf
      Paul Eggert authored
      (PKG_CHECK_MODULES): Capture pkg-config diagnostics
      better, in particular, problems in invoking pkg-config itself.
      This is useful on hosts that don't have pkg-config.
      (GTK_MODULES): Do not exit 'configure' simply because gtk3
      and gtk2 are both missing.  Problem found on Solaris 8.
      e3141fcf
  21. 13 Sep, 2012 3 commits
    • Jan Djärv's avatar
      * configure.ac: Report Gtk+ 3 as GTK. · 4d0b77fc
      Jan Djärv authored
      4d0b77fc
    • Jan Djärv's avatar
      * configure.ac: Reorder Xaw3d messages. · 2c484e75
      Jan Djärv authored
      2c484e75
    • Paul Eggert's avatar
      Simplify SIGIO usage. · 4a4bbad2
      Paul Eggert authored
      The code that dealt with SIGIO was crufty and confusing, e.g., it
      played tricks like "#undef SIGIO" but these tricks were not used
      consistently.  Simplify mostly by not #undeffing standard symbols,
      e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
      or not as we please) rather than "defined SIGIO" (standard symbol
      that we probably shouldn't #undef).
      * configure.ac (NO_TERMIO, BROKEN_FIONREAD, BROKEN_SIGAIO)
      (BROKEN_SIGPOLL, BROKEN_SIGPTY): Remove.
      (USABLE_FIONREAD, USABLE_SIGIO): New symbols.  All uses of
      'defined SIGIO' replaced with 'defined USABLE_SIGIO', with no need
      to #undef SIGIO now (which was error-prone).  Likewise, all uses
      of 'defined FIONREAD' replaced with 'defined USABLE_FIONREAD'.
      * src/admin/CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
      (BROKEN_SIGPTY, NO_TERMIO): Remove.
      * src/conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
      Modules that need it can include it.
      [USG5_4 && emacs]: Likewise, do not include the streams stuff here.
      * src/dispextern.h (ignore_sigio): New decl.
      * src/emacs.c (shut_down_emacs): Invoke unrequest_sigio
      unconditionally, since it's now a no-op if !USABLE_SIGIO.
      * src/emacs.c (shut_down_emacs):
      * src/keyboard.c (kbd_buffer_store_event_hold):
      Use ignore_sigio rather than invoking 'signal' directly.
      * src/keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
      for FIONREAD.
      (FIONREAD, SIGIO): Do not #undef.
      (tty_read_avail_input): Use #error rather than a syntax error.
      * src/process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
      for I_PIPE, used by SETUP_SLAVE_PTY.
      (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
      * src/sysdep.c (croak): Remove; no longer needed.  This bit of
      temporary code, with Fred N. Fish's comment that it's temporary,
      has been in Emacs since at least 1992!
      (init_sigio, reset_sigio, request_sigio, unrequest_sigio):
      Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
      * src/syssignal.h (croak): Remove decl.
      (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
      * src/systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
      now that we're termios-only.
      (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
      * src/term.c (dissociate_if_controlling_tty): Use #error rather than
      a run-time error.
      
      Fixes: debbugs:12408
      4a4bbad2
  22. 12 Sep, 2012 1 commit
  23. 11 Sep, 2012 2 commits
    • Glenn Morris's avatar
      Be more explicit about some Makefile dependencies · 9d9edd4b
      Glenn Morris authored
      * Makefile.in (install-arch-dep, install-arch-indep, install-doc):
      Be more explicit about dependencies, for parallel `make install'.
      
      It is not so unreasonable to run `make -j# install' from a clean state
      for a self-contained NS build, where the "installation" happens within
      the build tree.
      9d9edd4b
    • Paul Eggert's avatar
      Simplify, document, and port floating-point. · c990426a
      Paul Eggert authored
      The porting part of this patch fixes bugs on non-IEEE platforms
      with frexp, ldexp, logb.
      * admin/CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
      * configure.ac (logb, cbrt): Do not check for these functions,
      as they are not being used.
      * doc/lispref/numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
      Document that / and mod (with floating point arguments), along
      with asin, acos, log, log10, expt and sqrt, return special values
      instead of signaling exceptions.
      (Float Basics): Document that logb operates on the absolute value
      of its argument.
      (Math Functions): Document that (log ARG BASE) also returns NaN if
      BASE is negative.  Document that (expt X Y) returns NaN if X is a
      finite negative number and Y a finite non-integer.
      * etc/NEWS: Document NaNs versus signaling-error change.
      * src/data.c, src/lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
      Now static.
      * src/floatfns.c: Simplify discussion of functions that Emacs doesn't
      support, by removing commented-out code and briefly listing the
      C89 functions excluded.  The commented-out stuff was confusing
      maintenance, e.g., we thought we needed cbrt but it was commented out.
      (logb): Remove decl; no longer needed.
      (isfinite): New macro, if not already supplied.
      (isnan): Don't replace any existing macro.
      (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
      are present on all C89 platforms.
      (Ffrexp): Do not special-case zero, as frexp does the right thing
      for that case.
      (Flogb): Do not use logb, as it doesn't have the desired meaning
      on hosts that use non-base-2 floating point.  Instead, stick with
      frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
      frexp, to avoid getting an unspecified result.
      c990426a