1. 27 Mar, 2020 4 commits
    • Michael Albinus's avatar
    • Michael Albinus's avatar
      ; * etc/NEWS: Fix typos. · e4f8098b
      Michael Albinus authored
      e4f8098b
    • Yuan Fu's avatar
      Add manual and NEWS entries for previous gdb-mi changes · ac242ed3
      Yuan Fu authored
      * etc/NEWS: Add entries for saving and restoring GDB window
      configurations.
      * doc/emacs/building.texi (GDB User Interface Layout): Add
      documentation for 'gdb-save-window-configuration',
      'gdb-load-window-configuration',
      'gdb-default-window-configuration-file',
      'gdb-window-configuration-directory',
      'gdb-restore-window-configuration-after-quit'.  Change 'many-windows
      layout' to 'default layout'.
      ac242ed3
    • Paul Eggert's avatar
      Treat out-of-range positions consistently · de00a933
      Paul Eggert authored
      If a position argument to get-byte etc. is an out-of-range integer,
      treat it the same regardless of whether it is a fixnum or a bignum.
      * src/buffer.c (fix_position): New function.
      * src/buffer.c (validate_region):
      * src/character.c (Fget_byte):
      * src/coding.c (Ffind_coding_systems_region_internal)
      (Fcheck_coding_systems_region):
      * src/composite.c (Ffind_composition_internal):
      * src/editfns.c (Fposition_bytes, Fchar_after, Fchar_before)
      (Finsert_buffer_substring, Fcompare_buffer_substrings)
      (Fnarrow_to_region):
      * src/fns.c (Fsecure_hash_algorithms):
      * src/font.c (Finternal_char_font, Ffont_at):
      * src/fringe.c (Ffringe_bitmaps_at_pos):
      * src/search.c (search_command):
      * src/textprop.c (get_char_property_and_overlay):
      * src/window.c (Fpos_visible_in_window_p):
      * src/xdisp.c (Fwindow_text_pixel_size):
      Use it instead of CHECK_FIXNUM_COERCE_MARKER, so that
      the code is simpler and treats bignums consistently with fixnums.
      * src/buffer.h (CHECK_FIXNUM_COERCE_MARKER): Define here
      rather than in lisp.h, and reimplement in terms of fix_position
      so that it treats bignums consistently with fixnums.
      * src/lisp.h (CHECK_FIXNUM_COERCE_MARKER): Move to buffer.h.
      * src/textprop.c (validate_interval_range): Signal with original
      bounds rather than modified ones.
      de00a933
  2. 26 Mar, 2020 7 commits
    • Juri Linkov's avatar
      Disable enable-local-variables for hunk-only in diff-syntax-fontify-props · 10bedb75
      Juri Linkov authored
      * lisp/vc/diff-mode.el (diff-syntax-fontify-props): Let-bind
      enable-local-variables to nil when hunk-only is non-nil (bug#39190)
      10bedb75
    • Paul Eggert's avatar
      Refactor and fix typo in CHECK_*_COERCE_MARKER · 57f5a63d
      Paul Eggert authored
      * src/data.c (check_integer_coerce_marker)
      (check_number_coerce_marker): New functions.
      Also, fix a typo in the former, by having it use
      Qinteger_or_marker_p not Qnumber_or_marker_p.
      (arithcompare, floatop_arith_driver, bignum_arith_driver)
      (arith_driver, Fplus, Fminus, Ftimes, Fquo, Frem, Fmod)
      (minmax_driver, Flogand, Flogior, Flogxor, Fadd1, Fsub1):
      Use them in place of the similarly-named macros.
      * src/lisp.h (CHECK_NUMBER_COERCE_MARKER)
      (CHECK_INTEGER_COERCE_MARKER): Remove; no longer used.
      57f5a63d
    • Philipp Stephani's avatar
      Add a module function to open a file descriptor connected to a pipe. · d28b0047
      Philipp Stephani authored
      A common complaint about the module API is that modules can't
      communicate asynchronously with Emacs.  While it isn't possible to
      call arbitrary Emacs functions asynchronously, writing to a pipe
      should always be fine and is a pretty low-hanging fruit.
      
      This patch implements a function that adapts an existing pipe
      process.  That way, users can use familiar tools like process filters
      or 'accept-process-output'.
      
      * src/module-env-28.h: Add 'open_channel' module function.
      
      * src/emacs-module.c (module_open_channel): Provide definition for
      'open_channel'.
      (initialize_environment): Use it.
      
      * src/process.c (open_channel_for_module): New helper function.
      (syms_of_process): Define necessary symbol.
      
      * test/src/emacs-module-tests.el (module/async-pipe): New unit test.
      
      * test/data/emacs-module/mod-test.c (signal_system_error): New helper
      function.
      (signal_errno): Use it.
      (write_to_pipe): New function running in the background.
      (Fmod_test_async_pipe): New test module function.
      (emacs_module_init): Export it.
      
      * doc/lispref/internals.texi (Module Misc): Document new module
      function.
      
      * doc/lispref/processes.texi (Asynchronous Processes): New anchor
      for pipe processes.
      
      * etc/NEWS: Document 'open_channel' function.
      d28b0047
    • Paul Eggert's avatar
      Remove COERCE_MARKER · 934b3c9e
      Paul Eggert authored
      * src/xdisp.c (COERCE_MARKER): Remove.  All uses replaced by
      Fmarker_position; this is simpler as the macro was invoked only on
      markers.
      934b3c9e
    • Paul Eggert's avatar
      line-beginning-position args can be bignums · fe6b8c91
      Paul Eggert authored
      * src/editfns.c (Fline_beginning_position, Fline_end_position):
      Do not restrict integer arguments to fixnums.
      fe6b8c91
    • Paul Eggert's avatar
      Fix integer overflow in internal_self_insert · 98546d9c
      Paul Eggert authored
      * src/cmds.c (internal_self_insert): Avoid undefined behavior
      on integer overflow by using saturated add.
      98546d9c
    • Paul Eggert's avatar
      Fix integer overflow in forward-point · e4b6151f
      Paul Eggert authored
      * lisp/subr.el (forward-point): Rewrite in Lisp and move here ...
      * src/cmds.c (Fforward_point): ... from here.  This fixes an
      integer overflow bug with (forward-point most-positive-fixnum).
      e4b6151f
  3. 25 Mar, 2020 6 commits
  4. 24 Mar, 2020 7 commits
  5. 23 Mar, 2020 11 commits
    • Noam Postavsky's avatar
      Make cl-concatenate an alias of seq-concatenate · 78f76fe1
      Noam Postavsky authored
      * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use defalias instead
      of apply.  This is simpler and more efficient.
      78f76fe1
    • Glenn Morris's avatar
      Merge from origin/emacs-27 · 5d5d5d49
      Glenn Morris authored
      d66331ae (origin/emacs-27) Don't build the Gnulib 'utimens' module ...
      f2351a68 Add Harfbuzz dependency
      8944310d Don't signal during backtrace unrewind (Bug#40088)
      8709aadd Fix a couple of problems in changelog generating functions
      9ab85f08 Fix cl-concatenate (Bug#40180)
      561e9fb9 Improve documentation of project.el commands
      b28a9a6c Make svg images with links valid
      7515252c * lisp/tab-line.el (tab-line-new-button-show): New defcustom.
      
      # Conflicts:
      #	etc/NEWS
      #	nt/gnulib-cfg.mk
      5d5d5d49
    • Glenn Morris's avatar
      ; Merge from origin/emacs-27 · 7832e619
      Glenn Morris authored
      The following commit was skipped:
      
      d801d1d8 Don't have exif bugging out on short strings
      7832e619
    • Glenn Morris's avatar
      Merge from origin/emacs-27 · d5cfc4ac
      Glenn Morris authored
      bed04c50 Use correct registry name for windows-1251 charset
      1aa15293 ERC: Update maintainer address
      d5cfc4ac
    • Eli Zaretskii's avatar
      Don't build the Gnulib 'utimens' module on MinGW · d66331ae
      Eli Zaretskii authored
      * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_utimens): Omit the
      'utimens' module in the MinGW build: 'utimens' is not used by
      Emacs, and 'fdutimens' is implemented in w32.c.
      d66331ae
    • Phillip Lord's avatar
      Add Harfbuzz dependency · f2351a68
      Phillip Lord authored
      * admin/nt/dist-build/build-dep-zips.py: Add harfbuzz as a dependency.
      f2351a68
    • Noam Postavsky's avatar
      Don't signal during backtrace unrewind (Bug#40088) · 8944310d
      Noam Postavsky authored
      backtrace_eval_unrewind is used to temporarily reverse
      let-bindings (it's called with a positive argument to reverse
      bindings, and then a negative argument to re-apply them) by
      backtrace--locals and backtrace-eval.  For the SPECPDL_LET_DEFAULT and
      SPECPDL_LET_LOCAL cases (which occur for let-bindings on buffer-local
      variables), the code calls Fdefault_value and Fbuffer_local_value on
      the symbol.
      
      For symbols which are unbound at top-level, the first (with positive
      argument) call to backtrace_eval_unrewind will set the symbol's value
      to unbound (putting the current value in the specpdl's "old value"
      slot).  On the second (with negative argument) call,
      backtrace_eval_unrewind attempts to retrieve the symbol's value with
      Fdefault_value or Fbuffer_local_value, but that raises a void-variable
      signal.  This interrupts the restoration of the let-bindings, so any
      other variables more recent on the stack will now have the wrong
      value.
      
      * src/data.c (default_value): Make non-static.
      * src/lisp.h: Declare it.
      * src/eval.c (backtrace_eval_unrewind): Replace the calls to
      Fdefault_value and Fbuffer_local_value with default_value and
      buffer_local_value, respectively.  The latter do exactly the same as
      the former, except if the symbol's value is Qunbound they just return
      it instead of signaling void-variable.
      8944310d
    • Noam Postavsky's avatar
      Fix a couple of problems in changelog generating functions · 8709aadd
      Noam Postavsky authored
      * lisp/vc/diff-mode.el (diff-add-log-current-defuns): If there is a
      scan-error when calling end-of-defun, go to end of hunk.  This can
      easily happen since we are calling end-of-defun on a partial code
      fragment from a diff.
      * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): Bind
      display-buffer-overriding-action around the log-edit-show-diff call
      only.  Otherwise, it can affect, for example, debugger windows
      triggered by the diff-add-log-current-defuns call.
      8709aadd
    • Noam Postavsky's avatar
      Fix cl-concatenate (Bug#40180) · 9ab85f08
      Noam Postavsky authored
      * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Use apply, to avoid
      adding extra nesting of args.
      * test/lisp/emacs-lisp/cl-extra-tests.el (cl-concatenate): New test.
      9ab85f08
    • Noam Postavsky's avatar
      Avoid extra "changed on disk" prompt in save-buffer (Bug#18336) · 8f694831
      Noam Postavsky authored
      * src/filelock.c (lock_file): Don't query the user if the current
      session already owns the lock.
      8f694831
    • Juri Linkov's avatar
      * lisp/dired.el (dired-mark-region): New defcustom (bug#39902) · 3b7cb5f3
      Juri Linkov authored
      * lisp/dired.el (dired-mark-if): Use dired-mark-region.
      (dired-mark): Use dired-mark-region.  Fix docstring.
      (dired-mark-files-regexp, dired-mark-files-containing-regexp)
      (dired-mark-symlinks, dired-mark-directories)
      (dired-mark-executables, dired-flag-auto-save-files)
      (dired-flag-backup-files): Mention dired-mark-region in docstring.
      
      * lisp/dired-aux.el (dired-compare-directories):
      * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
      Mention dired-mark-region in docstring.
      3b7cb5f3
  6. 22 Mar, 2020 1 commit
  7. 21 Mar, 2020 4 commits
    • Eric Abrahamsen's avatar
    • Eli Zaretskii's avatar
      Improve documentation of project.el commands · 561e9fb9
      Eli Zaretskii authored
      * lisp/progmodes/project.el (project-find-regexp): Require 'grep'
      to be able to call 'grep-read-files'.
      (project-search, project-query-replace-regexp): Doc fixes.
      
      * doc/emacs/maintaining.texi (Projects): New section.
      * doc/emacs/emacs.texi (Top): Add "Projects" to the detailed menu.
      561e9fb9
    • Michael Albinus's avatar
      Fix Bug#40156 in Tramp · 8158337c
      Michael Albinus authored
      * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Copy to temp file
      only if FILENAME exists.  (Bug#40156)
      
      * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Extend test.
      8158337c
    • Stefan Kangas's avatar
      Remove more XEmacs compat code from ediff*.el · 0a22747c
      Stefan Kangas authored
      * lisp/vc/ediff-init.el (ediff-H-glyph):
      * lisp/vc/ediff-util.el (ediff-inferior-compare-regions)
      (ediff-setup-keymap):
      * lisp/vc/ediff-wind.el (ediff-control-frame-parameters)
      (ediff-prefer-iconified-control-frame)
      (ediff-setup-control-frame, ediff-xemacs-select-frame-hook): Remove
      XEmacs compat code and declare compatibility functions obsolete.
      
      * lisp/vc/ediff-init.el (ediff-temp-file-prefix): Redefine as
      obsolete variable alias for 'temporary-file-directory'.
      * lisp/vc/ediff-util.el (ediff-make-temp-file): Don't use obsolete
      variable name.
      0a22747c