1. 19 Apr, 2019 1 commit
  2. 11 Apr, 2019 1 commit
  3. 01 Jan, 2019 1 commit
  4. 12 Nov, 2018 1 commit
  5. 04 Oct, 2018 1 commit
  6. 24 Aug, 2018 1 commit
    • Glenn Morris's avatar
      Update GNOME bugtracker URLs · 624e7dc7
      Glenn Morris authored
      * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
      * src/emacs.c (main):
      * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
      ; * src/gtkutil.c (xg_display_close):
      ; * src/image.c (svg_load_image): Update URLs in comments.
  7. 08 Jul, 2018 1 commit
  8. 01 Jan, 2018 1 commit
  9. 19 Sep, 2017 1 commit
  10. 13 Sep, 2017 2 commits
    • 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.
    • Mark Oteiza's avatar
      Add lcms2 interface · 5d4c539b
      Mark Oteiza authored
      configure.ac: Add boilerplate for configuring and detecting liblcms2.
      etc/NEWS: Mention new configure option and color-distance change.
      src/Makefile.in: Add references to lcms.c and liblcms.
      src/emacs.c: Define lcms2 symbols.
      src/lcms.c: New file.
      src/lisp.h: Add declaration for lcms2.
      src/xfaces.c: Add optional METRIC argument.
  11. 29 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Align stack bottom properly. · f1fdb5bc
      Paul Eggert authored
      This is needed for gcc -Os -flto on x86-64 (Bug#28213).
      * src/emacs.c (main): Align stack-bottom variable as a pointer,
      since mark_memory requires this.
  12. 22 Jun, 2017 1 commit
    • Paul Eggert's avatar
      Use unlocked stdio more systematically · f6ef15cf
      Paul Eggert authored
      This can improve performance significantly on stdio-bottlenecked code.
      E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
      * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
      * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
      * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
      * lib-src/profile.c, lib-src/update-game-score.c:
      Include unlocked-io.h instead of stdio.h, since these programs are
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
      * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
      * src/lread.c, src/term.c:
      Include sysstdio.h, possibly instead of stdio.h, to define
      the unlocked functions if the system does not provide them.
      * src/charset.c, src/lread.c (getc_unlocked):
      Remove, since sysstdio.h now defines it if needed.
      * src/cm.c (cmputc, cmcheckmagic):
      * src/dispnew.c (update_frame, update_frame_with_menu)
      (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
      * src/emacs.c (main, Fdump_emacs):
      * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
      * src/image.c (slurp_file, png_read_from_file, png_load_body)
      * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
      * src/lread.c (readbyte_from_file):
      * src/minibuf.c (read_minibuf_noninteractive):
      * src/print.c (printchar_to_stream, strout)
      * src/sysdep.c (reset_sys_modes, procfs_ttyname)
      * src/term.c (tty_ring_bell, tty_send_additional_strings)
      (tty_set_terminal_modes, tty_reset_terminal_modes)
      (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
      (tty_write_glyphs_with_face, tty_insert_glyphs)
      * src/xfaces.c (Fx_load_color_file):
      Use unlocked stdio when it should be safe.
      * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
      (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
      (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
      (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
  13. 15 Jun, 2017 1 commit
    • Paul Eggert's avatar
      Pacify clang without munging C source · 21d10e59
      Paul Eggert authored
      * configure.ac (WARN_CFLAGS): With Clang, use
      -Wno-tautological-compare regardless of --enable-gcc-warnings.
      (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
      * lib/strftime.c: Copy from gnulib, reverting Clang-specific
      change which I hope is no longer needed.
      * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
      some older non-POSIX hosts.
  14. 14 Jun, 2017 2 commits
  15. 12 Jun, 2017 1 commit
    • Philipp Stephani's avatar
      Implement module assertions for users · cf971327
      Philipp Stephani authored
      Add a new command-line option '-module-assertions' that users can
      enable developing or debugging a module.  If this option is present,
      Emacs performs additional checks to verify that modules fulfill their
      requirements.  These checks are expensive and crash Emacs if modules
      are invalid, so disable them by default.
      This is a command-line option instead of an ordinary variable because
      changing it while Emacs is running would cause data structure
      * src/emacs.c (main): New command line option '-module-assertions'.
      * src/emacs-module.c (module_assert_main_thread)
      (module_assert_runtime, module_assert_env, module_assert_value):
      New functions to assert module requirements.
      (syms_of_module): New uninterned variable 'module-runtimes'.
      (init_module_assertions, in_main_thread, module_abort): New helper
      (initialize_environment): Initialize value list.  If assertions are
      enabled, use a heap-allocated environment object.
      (finalize_environment): Add assertion that environment list is never
      (finalize_runtime_unwind): Pop module runtime object stack.
      (value_to_lisp): Assert that the value is valid.
      (lisp_to_value): Record new value if assertions are enabled.
      (mark_modules): Mark allocated object list.
      (module_non_local_exit_check, module_non_local_exit_clear)
      (module_non_local_exit_get, module_non_local_exit_signal)
      (module_non_local_exit_throw): Assert thread and environment.
      (module_get_environment): Assert thread and runtime.
      (module_make_function, module_funcall, module_intern)
      (module_funcall, module_make_integer, module_make_float)
      (module_make_string, module_make_user_ptr, module_vec_get)
      (funcall_module, Fmodule_load): Adapt callers.
      (module_make_global_ref): If assertions are enabled, use the global
      environment to store global values.
      (module_free_global_ref): Remove value from global value list.
      * test/Makefile.in (EMACSOPT): Enable module assertions when testing
      * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
      (Fmod_test_invalid_load): New functions to test module assertions.
      (emacs_module_init): Bind the new functions.
      * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
      the Emacs binary file.
      (mod-test-file): New constant for the test module file name.
      (module--test-assertions): New unit test.
  16. 01 Jun, 2017 1 commit
  17. 30 May, 2017 1 commit
  18. 21 May, 2017 1 commit
  19. 16 May, 2017 1 commit
  20. 06 Apr, 2017 2 commits
    • Ken Raeburn's avatar
      In CANNOT_DUMP builds, don't prepare for unexec. · 8ca2bd1c
      Ken Raeburn authored
      Having a command-line argument of "dump" or "bootstrap" would trigger
      behavior like not installing signal handlers.  In CANNOT_DUMP modes,
      we should get signal handlers installed regardless of whatever funny
      file names we decide to edit.
      src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
      alterations to initialization that prepares the process for unexec.
    • Ken Raeburn's avatar
      Fix CANNOT_DUMP build on Darwin/macOS. · d15719d3
      Ken Raeburn authored
      * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
      CANNOT_DUMP]: Don't define as unexec_malloc, etc.
      * src/emacs.c (main): Don't call unexec_init_emacs_zone.
  21. 07 Mar, 2017 1 commit
    • Phillip Lord's avatar
      Revert "Replace ldefs-boot with a much smaller file" · 542a7632
      Phillip Lord authored
      This reverts commit c27b6459.
      This commit has been reverted because the new mechanism was too
      sensitive to changes in the lisp source, generation of new ldefs-boot
      files was platform specific and resulted in warnings about undefined
      See also 11436e2890d.
  22. 23 Feb, 2017 1 commit
    • Paul Eggert's avatar
      Merge from gnulib · 7204577b
      Paul Eggert authored
      This incorporates:
      2017-02-16 xbinary-io: rename from xsetmode
      2017-02-15 xsetmode: new module
      * lib-src/etags.c (main):
      * lib-src/hexl.c (main):
      * src/emacs.c (main) [MSDOS]:
      Prefer set_binary_mode to the obsolescent SET_BINARY.
      * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
  23. 18 Feb, 2017 1 commit
    • Glenn Morris's avatar
      Remove the build number from emacs-version variable · 22b22074
      Glenn Morris authored
      It's a largely internal detail that can confuse users.  (Bug#25590)
      * lisp/version.el (emacs-build-number): New constant.
      (emacs-version): Use emacs-build-number.
      * lisp/loadup.el (top-level): When dumping, increment
      emacs-build-number rather than emacs-version.
      * src/emacs.c (emacs-version): Doc fix.
      * doc/lispref/intro.texi (Version Info): Update emacs-version details.
      Mention emacs-build-number.
      * lisp/gnus/gnus-util.el (gnus-emacs-version):
      * lisp/mail/emacsbug.el (report-emacs-bug):
      * admin/admin.el (set-version): Update for emacs-version change.
      ; * etc/NEWS: Mention this.
  24. 02 Feb, 2017 1 commit
  25. 08 Jan, 2017 1 commit
    • Noam Postavsky's avatar
      Use expanded stack during regex matches · 13c6f1d1
      Noam Postavsky authored
      While the stack is increased in main(), to allow the regex stack
      allocation to use alloca we also need to modify regex.c to actually take
      advantage of the increased stack, and not limit stack allocations to
      SAFE_ALLOCA bytes.
      * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
      allocations in signal handlers which no longer happens and correct
      description about when and why MATCH_MAY_ALLOCATE should be defined.
      (emacs_re_safe_alloca): New variable.
      (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
      of MAX_ALLOCA.
      (emacs_re_max_failures): Rename from `re_max_failures' to avoid
      confusion with glibc's `re_max_failures'.
      * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
      to the stack.  Instead of changing emacs_re_max_failures based on the
      new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
      remains constant regardless, since if we run out stack space SAFE_ALLOCA
      will fall back to heap allocation.
      Co-authored-by: default avatarEli Zaretskii <eliz@gnu.org>
  26. 01 Jan, 2017 1 commit
  27. 30 Dec, 2016 1 commit
    • Paul Eggert's avatar
      Rename main_thread to main_thread_id and simplify · 966d5159
      Paul Eggert authored
      * src/emacs-module.c: Include syssignal.h, for main_thread_id.
      [HAVE_PTHREAD]: Do not include pthread.h.
      (main_thread): Remove.  All uses replaced by main_thread_id,
      or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
      the main_thread_id established by sysdep.c, there is no need for a
      separate copy of the main thread ID here.
      (module_init): Remove.  All uses removed.
      * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
      Rename from main_thread.  All uses changed.  Now extern.
  28. 25 Dec, 2016 1 commit
    • Paul Eggert's avatar
      regex.h now includes sys/types.h · 615cec1d
      Paul Eggert authored
      * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
      Do not include sys/types.h; no longer needed.
      * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
      glibc regex.h does, and POSIX has blessed this since 2008.
  29. 13 Dec, 2016 1 commit
    • Phillip Lord's avatar
      Replace ldefs-boot with a much smaller file · c27b6459
      Phillip Lord authored
       * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
         (bootstrap): Depend on bootstrap-build.
       * admin/ldefs-clean.el: New file.
       * lisp/Makefile.in (compile-first): Depend on loaddefs.el
       * lisp/ldefs-boot.el: Remove.
       * lisp/ldefs-boot-auto.el: New file.
       * lisp/ldefs-boot-manual.el: New file.
       * lisp/loadup.el: Load ldefs-boot-manual.el.
       * src/emacs.c (generating_ldefs_boot): New variable.
         (main): Check whether we are generating ldefs.
       * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
       * src/lisp.h (generating_ldefs_boot): New variable.
       * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
         lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
         lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
       * admin/update_autogen: Alter mechanism for ldefs-boot generation.
  30. 28 Nov, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix 'expand-file-name' during startup on MS-Windows · 5878abf8
      Eli Zaretskii authored
      * src/w32.c (w32_init_file_name_codepage): New function, resets
      file_name_codepage and w32_ansi_code_page to undo the values
      recorded during dumping.
      (codepage_for_filenames): Fix an embarrassing typo.  Ignore the
      cached value of file-name encoding if it is nil, i.e. not
      initialized yet.  Actually cache the last used file-name encoding
      to avoid calling APIs when not necessary.
      * src/w32.h (w32_init_file_name_codepage): Add prototype.
      * src/w32term.c (syms_of_w32term): Set the value of
      w32_unicode_filenames according to the OS version.  This avoids
      resetting it during startup, which then causes temacs to run with
      the incorrect value.
      * src/emacs.c (main): Call w32_init_file_name_codepage early
      during the startup.
      * src/fileio.c (Fexpand_file_name) [WINDOWSNT]: Update 'newdir'
      after converting $HOME to a UTF-8 string, so that 'newdirlim' is
      consistent with it.  (Bug#25038)
      * lisp/international/mule-cmds.el (set-locale-environment): Set
      'default-file-name-coding-system' to the ANSI codepage even in
      non-interactive sessions.
      * lisp/files.el (directory-abbrev-alist, abbreviated-home-dir):
      Doc fix.
      (abbreviate-file-name): Decode 'abbreviated-home-dir' if it is a
      unibyte string.
      * doc/lispref/files.texi (Directory Names): Index
  31. 21 Nov, 2016 3 commits
    • Paul Eggert's avatar
      Fix another CANNOT_DUMP problem · 9de7c675
      Paul Eggert authored
      Reported by Robert Pluim in:
      * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
      * src/lisp.h: ... to here.
    • Paul Eggert's avatar
      Fix undefined refs on some GNU/Linux hosts · cdd05651
      Paul Eggert authored
      Problem reported by Ken Raeburn in:
      * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
      not needed in the CANNOT_UNDUMP case.  All uses removed.  This
      removes unwanted references to my_endbss and my_endbss_static,
      which are not optimized away on some platforms.
    • Paul Eggert's avatar
      Make CANNOT_DUMP work better on GNU/Linux · 0b187fd2
      Paul Eggert authored
      Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
      lets the build succeed again, and fixes the testing framework so
      that most test cases now pass.  About twenty test cases still
      fail, though, and we still have Bug#24974.
      * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
      (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
      be any point to messing with a private memory allocator unless
      Emacs is dumping.
      * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
      * src/image.c (reset_image_types):
      * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
      Do not define if CANNOT_DUMP.
      * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
      (daemon_pipe) [!WINDOWSNT]: Now static.
      * test/Makefile.in (mostlyclean): Remove *.tmp files.
      (make-test-deps.mk): Elide CANNOT_DUMP chatter.
  32. 19 Nov, 2016 1 commit
    • Eli Zaretskii's avatar
      Implement getrlimit and setrlimit for MS-Windows · 4cdd14ea
      Eli Zaretskii authored
      * src/w32heap.c (getrlimit, setrlimit): New functions.
      Include w32.h.
      * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
      should be compatible with 'struct rlimit' members.
      * nt/inc/sys/resource.h: New header file.
      * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
      Set to "yes".
  33. 16 Nov, 2016 1 commit
    • Glenn Morris's avatar
      Add --new-daemon, which runs in the foreground and does not fork · 36b99556
      Glenn Morris authored
      This is intended for modern init systems such as systemd,
      which manage many of the traditional aspects of daemon behavior
      themselves.  (Bug#2677)
      * src/emacs.c (daemon_type): New integer.
      (usage, standard_args): Add --old-daemon and --new-daemon.
      (main): Handle --old-daemon and --new-daemon arguments.
      Restrict all the forking and complicated daemon stuff to old-daemon.
      (Fdaemon_initialized): Handle new-style daemon.
      * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
      Replace daemon_pipe with daemon_type.
      * doc/emacs/cmdargs.texi (Initial Options):
      * doc/emacs/glossary.texi (Glossary):
      * doc/emacs/misc.texi (Emacs Server):
      * doc/lispref/display.texi (Window Systems):
      * doc/lispref/os.texi (Startup Summary): Related doc updates.
      * etc/NEWS: Mention this.
      * etc/emacs.service: Use Type=simple and --new-daemon.
  34. 15 Nov, 2016 2 commits