1. 11 Oct, 2015 1 commit
    • Paul Eggert's avatar
      Use ‘echo’ safely with ‘\’ or leading ‘-’ · 29dfca23
      Paul Eggert authored
      POSIX says that ‘echo FOO’ produces implementation-defined output
      if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
      behavior in that case.
      * Makefile.in (removenullpaths): Remove.
      (epaths-force): Rewrite to avoid the need for ‘echo’.
      (install-etc): Be clearer about escaping the shell metacharacters
      ‘\’ and ‘$’.
      * Makefile.in (install-arch-indep, install-etcdoc):
      * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
      * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
      * configure.ac, lib-src/rcs2log, make-dist:
      * src/Makefile.in (lisp.mk):
      Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
      For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
      if $foo can contain arbitrary characters.
      * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
      * doc/lispref/two-volume.make (vol1.pdf):
      * test/etags/make-src/Makefile (web ftp publ...
  2. 16 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Add -Wswitch to --enable-gcc-warnings · 8865587c
      Paul Eggert authored
      Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
      * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
      * lib-src/etags.c (main, consider_token, C_entries):
      * src/coding.c (encode_invocation_designation):
      * src/data.c (Ftype_of):
      * src/eval.c (Fdefvaralias, default_toplevel_binding)
      (Fbacktrace__locals, mark_specpdl):
      * src/lisp.h (record_xmalloc):
      * src/syntax.c (scan_lists, scan_sexps_forward):
      * src/window.c (window_relative_x_coord):
      * src/xdisp.c (push_it, pop_it):
      * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
      Error out or do nothing (as appropriate) if a switch statement
      with an enum value does not cover all of the enum.
      * src/dispextern.h (struct iterator_stack_entry.u.comp):
      Remove unused member discovered by using -Wswitch.
      * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
      * src/vm-limit.c (check_memory_limits):
      Simplify warning-diagnostic computation by using a table.
  3. 13 Sep, 2015 1 commit
  4. 09 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Improvements for curved quotes on Linux consule · 6e5d81ff
      Paul Eggert authored
      This should help Emacs work better out-of-the-box on Linux consoles,
      which have only limited support for displaying Unicode characters.
      Also, undo the recent change that caused text-quoting-style to
      affect quote display on terminals, so that the two features are
      independent.  See Alan Mackenzie in:
      Finally, add a style parameter to startup--setup-quote-display,
      so that this function can also be invoked after startup, with
      different styles depending on user preference at the time.
      * configure.ac: Check for linux/kd.h header.
      * doc/emacs/display.texi (Text Display): Document quote display.
      * doc/lispref/display.texi (Active Display Table):
      * etc/NEWS:
      * lisp/startup.el (startup--setup-quote-display, command-line):
      text-quoting-style no longer affects quote display.
      * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
      * lisp/international/mule-util.el (char-displayable-p):
      * lisp/startup.el (startup--setup-quote-display):
      On a text terminal supporting glyph codes, use the reported
      glyph codes instead of the terminal coding system, as this
      is more accurate on the Linux console.
      * lisp/startup.el (startup--setup-quote-display):
      New optional arg STYLE.
      * src/fontset.c (Finternal_char_font):
      Report glyph codes for a text terminal, if they are available.
      Currently this is supported only for the Linux console.
      * src/termhooks.h (struct terminal): New member glyph-code-table.
      * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
      (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
      (terminal_glyph_code): New function.
  5. 15 Aug, 2015 1 commit
    • Paul Eggert's avatar
      Default to inotify instead of gfile · 200c2b10
      Paul Eggert authored
      * configure.ac (with_file_notification): Fix typo that
      prevented suppression of file notification if HAVE_NS.
      (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
      with_file_notification is 'yes' (Bug#21241).
      * etc/NEWS: Mention this.
  6. 08 Aug, 2015 2 commits
    • Paul Eggert's avatar
    • Eli Zaretskii's avatar
      Support recovery from C stack overflow on MS-Windows · 7afa4f30
      Eli Zaretskii authored
      * src/w32fns.c (w32_reset_stack_overflow_guard)
      (stack_overflow_handler): New functions for handling C stack
      overflow exceptions.
      (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
      specially, and zero out except_addr if we do.
      (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
      * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
      the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
      the MinGW build, but the code guarded by that is for Posix hosts.
      * src/keyboard.c (command_loop) [WINDOWSNT]: Call
      * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
      (sigsetjmp): New macro.
      (w32_reset_stack_overflow_guard): Declare the prototype.
      * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
  7. 29 Jul, 2015 1 commit
  8. 26 Jul, 2015 1 commit
    • Paul Eggert's avatar
      New optional ZONE arg for format-time-string etc. · af32fa95
      Paul Eggert authored
      This simplifies time conversions in other time zones.
      It also prevents display-time-world tampering with TZ (Bug#21020).
      * admin/admin.el (add-release-logs):
      Use improved add-log-time-format API.
      * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
      (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
      * configure.ac (tzalloc): Remove test for this, since
      Emacs no longer uses HAVE_TZALLOC directly.
      * doc/lispref/os.texi (Time of Day, Time Conversion)
      (Time Parsing):
      * etc/NEWS: Document the new behavior.
      Merge from gnulib, incorporating:
      2015-07-25 strftime: fix newly-introduced bug on Solaris
      2015-07-23 fprintftime, strftime: use timezone_t args
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
      * m4/time_h.m4:
      Update from gnulib.
      * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
      New files from gnulib.
      * lisp/time-stamp.el (time-stamp-string):
      * lisp/time.el (display-time-world-list)
      Use new API, with time zone arg.
      * lisp/time.el (display-time-world-display):
      Fix race when current-time advances while we're running.
      * lisp/vc/add-log.el (add-log-iso8601-time-zone)
      (add-log-iso8601-time-string): Accept optional time zone arg.
      * lisp/vc/add-log.el (add-change-log-entry):
      * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
      * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
      Add rules for the time module, since they're now needed
      for tzalloc etc.
      * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
      (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
      * src/editfns.c: Include errno.h.
      (set_time_zone_rule): Omit unnecessary forward decl.
      (initial_tz): Remove, replacing with ...
      (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
      (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
      (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
      (tzlookup): New static functions.
      (init_editfns): New arg DUMPING.  All uses changed.
      (init_editfns): Omit most initialization if dumping, not if
      !initialized.  Initialize wall_clock_tz and local_tz.
      (emacs_nmemftime, format_time_string): Time zone argument can now
      be any time zone, not just a boolean for UTC or local time.  All
      callers changed.
      (Fformat_time_string, Fencode_time, Fcurrent_time_string)
      (Fcurrent_time_zone): New optional arg ZONE.
      (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
      the same form as with the other new additions.
      (decode_time_zone): Remove; no longer needed.
      (tzvalbuf): Now file-scope.
      (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
      (syms_of_editfns): Define Qwall.
      * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
      * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
      Remove; now supplied by gnulib.
      * src/emacs.c (main):
      * src/lisp.h (init_editfns): Adjust to init_editfns API change.
  9. 30 Jun, 2015 1 commit
  10. 23 Jun, 2015 1 commit
  11. 12 Jun, 2015 1 commit
    • Paul Eggert's avatar
      Port to Solaris 10 sparc + Sun C 5.13 · 00119c6c
      Paul Eggert authored
      * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
      Adjust to process.c change.
      * src/process.c (create_process): Declare volatile variables at
      top level of this function, so that they're less likely to be
      reused later in the function in the code executed by the vforked
      child.  Do not declare locals used only in the vforked child, as
      they might share memory with locals still live in the parent.
      Instead, use the same variables in the child as in the parent.
      This works around a subtle bug that causes a garbage collector
      crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
  12. 11 Jun, 2015 1 commit
    • Paul Eggert's avatar
      Fix "not a tty" bug on Solaris 10 · 32e53667
      Paul Eggert authored
      * configure.ac (PTY_OPEN): Define to plain 'open'
      on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
      * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
      calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
      hosts that call grantpt which does its work via a setuid subcommand
      (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
      Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
      seems relevant in that case too.
  13. 03 Jun, 2015 3 commits
  14. 22 May, 2015 1 commit
    • Glenn Morris's avatar
      Generate admin/charsets Makefile via configure, and make more portable. · e7bc85db
      Glenn Morris authored
      * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
      (admin/charsets/Makefile): Generate it.
      * admin/charsets/Makefile.in: Rename from Makefile.
      (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
      New variables, set by configure.
      (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
      (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
      (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
      (TRANS_TABLE, CHARSETS): Add directory prefix to value.
      (all): Declare PHONY.
      (local): New PHONY target.
      (map_template): New template.  Use to define short PHONY aliases.
      (*.map): Add directory prefixes to targets and prerequisites.
      Respect make verbosity.
      (JISC6226.map): Replace non-portable sed append without newline.
      (install): Remove rule.
      (clean): Only delete temporary sedscript.
      (bootstrap-clean, distclean, maintainer-clean, extraclean)
      (totalclean): New PHONY rules.
      * admin/charsets/mapconv (BASE): Replace basename with expr.
      (FILE): Add "mapfiles" subdirectory.
      (AWK): New variable.  Use throughout in place of "awk".
      (main): Use "gunzip -c" in place of "zcat".
      Don't leave whitespace before "p", for older sed.
      * admin/charsets/mapfiles/PTCP154: Add final newline,
      to make older sed versions happy.
      ; * .gitignore: Ignore admin/charsets/Makefile.
  15. 16 May, 2015 1 commit
    • Glenn Morris's avatar
      Replace AC_SUBST_FILE in configure with include in Makefiles. · 48e384d7
      Glenn Morris authored
      * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
      (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
      (AUTO_DEPEND): New output variable.
      * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
      (DEPFLAGS, MKDEPDIR): Set directly via conditional.
      (lwlib_deps_frag): Replace by conditional include.
      * lwlib/autodeps.mk: Remove file.
      * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
      (DEPFLAGS, MKDEPDIR): Set directly via conditional.
      (oldxmenu_deps_frag): Replace by conditional include.
      * oldXMenu/autodeps.mk: Remove file.
      * src/Makefile.in (AUTO_DEPEND): New, set by configure.
      (DEPFLAGS, MKDEPDIR): Set directly via conditional.
      (lisp_frag): Replace by an include.
      (deps_frag): Replace by conditional include.
      * src/autodeps.mk: Remove file.
  16. 07 May, 2015 1 commit
  17. 19 Apr, 2015 1 commit
    • Paul Eggert's avatar
      Quote 'like this' in top-level files · 9099d45d
      Paul Eggert authored
      * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
      Prefer to single-quote 'like this' (instead of the older style
      `like this').
      * configure.ac: Fix some space-before-tab problems that 'git commit'
      complained about.
  18. 16 Apr, 2015 3 commits
  19. 12 Apr, 2015 1 commit
  20. 11 Apr, 2015 3 commits
    • Jan D's avatar
      Support GIF and Tiff with cairo. · ac00e0a0
      Jan D authored
      * configure.ac: Allow jpeg with cairo.
      Allow tiff and gif with cairo.
      * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
      (tiff_load): Create cairo image surface if USE_CAIRO.
      (gif_load): Ditto.
    • Jan D's avatar
      Support JPEG with USE_CAIRO. · be008ff0
      Jan D authored
      * configure.ac: Allow jpeg with cairo.
      * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
    • Ulrich Müller's avatar
      Bump Emacs version to 24.5.50. · 82e2ce9d
      Ulrich Müller authored
  21. 05 Apr, 2015 1 commit
    • Jan D's avatar
      Support RSVG and cairo. · 69a8655d
      Jan D authored
      * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
      * src/dispextern.h (struct image): add cr_data2 if cairo.
      * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
      (x_clear_image): Free cr_data and cr_data2 if set.
      (xpm_load): Assign data to cr_data2.
      (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
  22. 04 Apr, 2015 1 commit
  23. 03 Apr, 2015 3 commits
    • Paul Eggert's avatar
      Port 'configure' to clang 3.5 · 95ef69e7
      Paul Eggert authored
      * configure.ac: Add -Wno-unknown-attributes if clang; otherwise
      clang 3.5.0 (Fedora 21 x86-64) complains
      "/usr/include/glib-2.0/glib/gmem.h: ... warning: unknown attribute
      '__alloc_size__' ignored".  Use -Werror when checking for -nopie;
      otherwise clang warns about -nopie instead of failing, and then
      later it warns everytime the build uses -nopie.
    • Jan D's avatar
      Introduce limited Xpm support (32 bit ZPixmap) for Cairo. · 74c4ce27
      Jan D authored
      * configure.ac (HAVE_RSVG): Move after cairo.
      (USE_CAIRO): Disable rsvg, don't disable Xpm.
      * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
      (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
      don't return early.
      (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
      (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
      and create a surface.
    • Ulrich Müller's avatar
      configure.ac: Add -nopie to LD_SWITCH_SYSTEM_TEMACS. · 2d45a5be
      Ulrich Müller authored
      * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Add -nopie option if it
      is supported, in order to avoid segfaults in temacs.  (Bug#18784)
  24. 31 Mar, 2015 1 commit
  25. 27 Mar, 2015 1 commit
  26. 23 Mar, 2015 1 commit
  27. 20 Mar, 2015 1 commit
  28. 19 Mar, 2015 1 commit
    • Paul Eggert's avatar
      Better port of pthread usage to FreeBSD · a68aa2e1
      Paul Eggert authored
      * configure.ac (ac_func_list): Omit pthread_sigmask, since
      we check for that ourselves rather than relying on gnulib.
      (HAVE_PTHREAD, LIB_PTHREAD, _THREAD_SAFE): Port better to FreeBSD,
      by also checking for pthread_create, pthread_self, pthread_sigmask.
      Tighten the test for pthread_atfork while we're at it.
      Fixes: bug#20136
  29. 08 Mar, 2015 1 commit
  30. 02 Mar, 2015 1 commit
  31. 27 Feb, 2015 1 commit
    • Paul Eggert's avatar
      Don't require GNU putenv · 6ef14349
      Paul Eggert authored
      * configure.ac: Use system putenv even if it lacks GNU features, as
      we don't need them.  This works around a bug in FreeBSD 10.1 getenv.
      Fixes: bug#19874