1. 19 Apr, 2019 29 commits
  2. 18 Apr, 2019 10 commits
    • Philipp Stephani's avatar
      Refactoring: have CATCHER_ALL also catch signals. · 23a82cba
      Philipp Stephani authored
      In all cases where we use a CATCHER_ALL handler we also want to catch
      signals.  Therefore have 'signal' respect CATCHER_ALL.  Adapt internal
      interfaces so that handlers can distinguish among the two types of
      nonlocal exits in CATCHER_ALL handlers.
      
      * src/lisp.h (enum nonlocal_exit): New enum.
      (struct handler): Add member 'nonlocal_exit' to hold the type of
      nonlocal exit during stack unwinding.
      
      * src/eval.c (signal_or_quit): Also respect CATCHER_ALL handlers.
      (unwind_to_catch): Store nonlocal exit type in catch structure.
      (Fthrow, signal_or_quit): Adapt callers.
      (internal_catch_all): Install only one handler.  Give handler a
      nonlocal exit type argument.
      (internal_catch_all_1): Remove, no longer needed.
      
      * src/emacs-module.c (MODULE_SETJMP): Install only one handler.
      (module_handle_nonlocal_exit): New function to handle all nonlocal
      exits.
      (MODULE_SETJMP_1): Pass nonlocal exit type to handler function.
      (module_handle_signal, module_handle_throw): Remove, no longer needed.
      
      * src/json.c (json_handle_nonlocal_exit): New helper function.
      (json_insert_callback): Adapt to change in 'internal_catch_all'.
      23a82cba
    • Philipp Stephani's avatar
      Update module documentation for bignum support. · e712a8fe
      Philipp Stephani authored
      * doc/lispref/internals.texi (Module Values): Update documentation for
      'make_integer' and 'extract_integer' for bignum support.
      e712a8fe
    • Philipp Stephani's avatar
      ee4ba5c8
    • Philipp Stephani's avatar
    • Philipp Stephani's avatar
    • Paul Eggert's avatar
      Fix make-fingerprint off-by-one bug · df5ca4f7
      Paul Eggert authored
      Problem reported by Alex Gramiak in:
      https://lists.gnu.org/r/emacs-devel/2019-04/msg00784.html
      * lib-src/make-fingerprint.c (main): Fix recently-introduced
      off-by-one bug when accessing args after -r.
      df5ca4f7
    • Michael Albinus's avatar
    • Eric Abrahamsen's avatar
      Only encode Gnus group names if they come from symbol-name · a18336a8
      Eric Abrahamsen authored
      * lisp/gnus/gnus-start.el (gnus-active-to-gnus-format): Names that
        were strings to begin with should already be properly encoded.
      a18336a8
    • Paul Eggert's avatar
      Mark _Noreturn error functions as cold · 6d6c55db
      Paul Eggert authored
      On my platform this made ‘make compile-always’ 1.3% faster.
      Suggested by Alex Gramiak in:
      https://lists.gnu.org/r/emacs-devel/2019-04/msg00684.html
      * configure.ac (nw): Don’t use -Wsuggest-attribute=cold.
      * lib-src/make-docfile.c (write_globals):
      Mark noreturn functions as cold.
      * src/callproc.c (exec_failed):
      * src/data.c (wrong_length_argument, wrong_type_argument):
      * src/emacs-module.c (module_abort):
      * src/emacs.c (terminate_due_to_signal):
      * src/eval.c (unwind_to_catch):
      * src/image.c (my_png_error, my_error_exit):
      * src/json.c (json_out_of_memory, json_parse_error):
      * src/keyboard.c (quit_throw_to_read_char, user_error):
      * src/lisp.h (die, wrong_type_argument, wrong_choice)
      (args_out_of_range, args_out_of_range_3, circular_list)
      (buffer_overflow, memory_full, buffer_memory_full)
      (string_overflow, xsignal, xsignal0, xsignal1, xsignal2)
      (xsignal3, signal_error, overflow_error, error, verror)
      (nsberror, report_file_errno, report_file_error)
      (report_file_notify_error, terminate_due_to_signal)
      (emacs_abort, fatal):
      * src/lread.c (load_error_old_style_backquotes)
      (end_of_file_error, invalid_syntax):
      * src/pdumper.c (error_unsupported_dump_object):
      * src/puresize.h (pure_write_error):
      * src/search.c (matcher_overflow):
      * src/sound.c (sound_perror, alsa_sound_perror):
      * src/sysdep.c (handle_arith_signal):
      * src/systime.h (time_overflow):
      * src/term.c (maybe_fatal, vfatal):
      * src/textprop.c (text_read_only):
      * src/timefns.c (invalid_time_zone_specification)
      (time_error, invalid_hz):
      * src/xterm.c (x_connection_closed):
      Use AVOID instead of _Noreturn void, so that it’s marked cold.
      * src/conf_post.h (__has_attribute_cold) [!__has_attribute]:
      New macro.
      (ATTRIBUTE_COLD): New macro.
      * src/frame.h (WINDOW_SYSTEM_RETURN): Add ATTRIBUTE_COLD.
      * src/lisp.h (AVOID): New macro.
      * src/xterm.c: Omit unnecessary static decls, so that we needn’t
      worry about which functions should be marked cold.
      (x_io_error_quitter): Mark as cold.
      6d6c55db
    • YAMAMOTO Mitsuharu's avatar
  3. 17 Apr, 2019 1 commit