1. 21 Jan, 2017 2 commits
    • Tino Calancha's avatar
      diff-hunk-kill independent of point inside headers · e5e42cef
      Tino Calancha authored
      Make diff-apply-hunk and diff-hunk-kill independent of the point
      position in a diff header (Bug#17544).
      This change allows to apply hunks in order.  It also makes possible to
      press M-k repeatedly to kill hunks in the order they appear in the buffer.
      See discussion on #Bug25105.
      * lisp/vc/diff-mode.el (diff-file-junk-re):
      Move definition before it's used.
      (diff--at-diff-header-p): New predicate; return non-nil when point
      is inside a hunk header, a file header, or within a line
      matching diff-file-junk-re.
      (diff-beginning-of-hunk): Use it.
      Check if the point is inside a diff header, in the middle of a hunk,
      or before the first hunk.
      (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
      before apply the hunk.
      (diff-hunk-kill, diff-file-kill):
      Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
      (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
      e5e42cef
    • Tino Calancha's avatar
      ; Revert "Improve diff-mode navigation/manipulation" · 1508b538
      Tino Calancha authored
      This reverts commit 2c8a7e50.
      This change causes regressions:
      https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00738.html
      The following related commits are reverted as well:
      61c6a10e
      a283d655
      6b6abe0d
      e5ef59b8
      73349822
      
      Fixes: debbugs:25105, 25400.
      1508b538
  2. 20 Jan, 2017 1 commit
  3. 19 Jan, 2017 2 commits
    • Philipp Stephani's avatar
      Check that variable lists are actually lists · 9c4e3097
      Philipp Stephani authored
      'let' and 'let*' document that their first argument has to be a list,
      but don't check for that; instead, they allow (and silently ignore)
      other types.  Introduce an explicit type check.
      
      * src/eval.c (Flet, FletX): Check that the variable list is indeed a
      list.
      * test/src/eval-tests.el: Add unit tests.
      9c4e3097
    • Noam Postavsky's avatar
      Avoid inefficient regex in diff-refine-hunk (Bug#25410) · 8c0fcaf6
      Noam Postavsky authored
      * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
      (diff-refine-hunk): Use it instead of trying to match multiple lines
      with a single lines.
      8c0fcaf6
  4. 18 Jan, 2017 3 commits
    • Eli Zaretskii's avatar
      Remove lock file when auto-saving into the visited file · 5304cb98
      Eli Zaretskii authored
      * src/fileio.c (write_region): When auto-saving into the visited
      file, unlock the file whenever we mark the buffer unmodified.
      (Bug#25470)
      5304cb98
    • Eli Zaretskii's avatar
      Fix a bug with signaling a thread that waits for condvar · 5fefaaa8
      Eli Zaretskii authored
      * src/thread.c (lisp_mutex_lock_for_thread): New function,
      with all the guts of lisp_mutex_lock.
      (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
      (condition_wait_callback): Don't call post_acquire_global_lock
      before locking the mutex, as that could cause a signaled thread to
      exit prematurely, because the condvar's mutex is recorded to be
      not owned by any thread, and with-mutex wants to unlock it as part
      of unwinding the stack in response to the signal.
      5fefaaa8
    • Eli Zaretskii's avatar
      Rudimentary error handling for non-main threads · 57153260
      Eli Zaretskii authored
      * src/thread.c (last_thread_error): New static variable.
      (syms_of_threads): Staticpro it.
      (record_thread_error, Fthread_last_error): New functions.
      (syms_of_threads): Defsubr Fthread_last_error.
      
      * doc/lispref/threads.texi (Basic Thread Functions): Document
      thread-last-error.
      
      * test/src/thread-tests.el (thread-errors, thread-signal-early)
      (threads-condvar-wait): Test the values returned by
      thread-last-error.
      57153260
  5. 17 Jan, 2017 11 commits
    • Tom Tromey's avatar
      Add info-lookup help for gdb-script-mode · dbb29d7e
      Tom Tromey authored
      Bug#25464:
      * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
      function.
      Add help for gdb-script-mode.
      dbb29d7e
    • Tom Tromey's avatar
      Treat ":root" as a css-selector · 8083d258
      Tom Tromey authored
      * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
      ":root" as selector.
      8083d258
    • Tom Tromey's avatar
      Fix JS regexp literal syntax propertization in expressions · aa711e0a
      Tom Tromey authored
      Bug#25465:
      * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
      literal after "!", "&", and "|".
      test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
      aa711e0a
    • Mark Oteiza's avatar
      Mark unused arguments and remove unused variables · 14c7d3a6
      Mark Oteiza authored
      * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
      (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
      (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
      (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
      (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
      (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
      (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
      (dungeon-nil): Mark arguments as unused.
      (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
      (dun-restore): Remove unused variable.
      14c7d3a6
    • Michael Albinus's avatar
      Fix auto-save-file-name problem in Tramp on MS Windows · 299b190a
      Michael Albinus authored
      * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
      rather than an ange-ftp regexp.
      
      * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
      Fix a problem when running on MS Windows.
      
      * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
      Adapt test.
      299b190a
    • Paul Eggert's avatar
      ; Spelling fixes · 021d340c
      Paul Eggert authored
      021d340c
    • Paul Eggert's avatar
      Merge from origin/emacs-25 · 2b36ae07
      Paul Eggert authored
      42614faf Update remaining copyright years with admin.el M-x set-copyright
      f17a0069 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
      2b36ae07
    • Paul Eggert's avatar
      ; Merge from origin/emacs-25 · dee6981c
      Paul Eggert authored
      The following commit was skipped:
      
      8dd624c8 Document that functions in 'ffap-alist' can use the match data
      dee6981c
    • Mark Oteiza's avatar
      Nix some uses of eval · 5362ef79
      Mark Oteiza authored
      * lisp/play/dunnet.el: Fix triple negative.
      (dun-doverb): Use funcall instead of eval.
      (dun-echo): Just call dun-mprinc.
      (dun-save-val): Just bind value without eval.
      5362ef79
    • Mark Oteiza's avatar
      ; * lisp/play/dunnet.el: Fix file footer. · 922850bc
      Mark Oteiza authored
      922850bc
    • Tom Tromey's avatar
      Fix comment in css-mode.el · e27239ad
      Tom Tromey authored
      * lisp/textmodes/css-mode.el: Remove obsolete comment.
      e27239ad
  6. 15 Jan, 2017 1 commit
    • Noam Postavsky's avatar
      Improve ffap-gopher-at-point handling of long lines · fd6b829d
      Noam Postavsky authored
      * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
      setting to nil is now supported.
      (ffap--gopher-var-on-line): New function.
      (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
      which could overflow the regexp stack on long lines (Bug#25391).  Use
      `let-alist' instead of calling `set' on local variables.
      * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
      fd6b829d
  7. 14 Jan, 2017 4 commits
  8. 13 Jan, 2017 13 commits
    • Phillip Lord's avatar
      Record autoloads till emacs dump · 72c668a9
      Phillip Lord authored
      * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
      * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
      
      Previously, autoloads were collected till loaddefs.el was generated as
      part of the build. However, bootstrap-emacs does not load
      loaddefs (rather it is dumped), hence we must record autoloads until the
      full emacs binary is dumped.
      72c668a9
    • Tom Tromey's avatar
      Add chained indentation to js-mode · 50239082
      Tom Tromey authored
      Bug#20896
      * lisp/progmodes/js.el (js-chain-indent): New variable.
      (js--skip-term-backward, js--skip-terms-backward)
      (js--chained-expression-p): New functions.
      (js--proper-indentation): Call js--chained-expression-p.
      * test/manual/indent/js-chain.js: New file.
      * test/manual/indent/js.js: Add (non-)chained indentation test.
      50239082
    • Tom Tromey's avatar
      Fix js-mode indentation bug · b47f9721
      Tom Tromey authored
      Bug#15582:
      * lisp/progmodes/js.el (js--find-newline-backward): New function.
      (js--continued-expression-p): Use it.
      * test/manual/indent/js.js: Add new test.
      b47f9721
    • Tom Tromey's avatar
      Fix definition of EMACS in test/manual/indent/Makefile · cab7a385
      Tom Tromey authored
      * test/manual/indent/Makefile (EMACS): Add one more "..".
      cab7a385
    • Tom Tromey's avatar
      Add .jsx to auto-mode-alist · 765920f7
      Tom Tromey authored
      Bug#25389:
      * lisp/files.el (auto-mode-alist): Add entry for .jsx.
      765920f7
    • Tom Tromey's avatar
      Fix two js-mode filling bugs · 05fe74be
      Tom Tromey authored
      Bug#19399 and Bug#22431:
      * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
      c-block-comment-start-regexp.
      * test/lisp/progmodes/js-tests.el: New file.
      05fe74be
    • Eli Zaretskii's avatar
      Fix last change · d018843e
      Eli Zaretskii authored
      * test/src/thread-tests.el (threads-condvar-wait): Revert
      previous change.  Make sure no other threads from previous
      tests are running, to avoid interfering with our thread counts.
      d018843e
    • Eli Zaretskii's avatar
      Fix the new condvar test · 26b5426d
      Eli Zaretskii authored
      * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
      time we sleep in the main thread to let the other thread
      process notifications.
      26b5426d
    • Eli Zaretskii's avatar
      Minor improvements in the new condvar test · 9c4d2afa
      Eli Zaretskii authored
      * test/src/thread-tests.el (threads-test-condvar-wait): Use
      with-mutex instead of emulating it inline.
      (threads-condvar-wait): Improve comments.  Check that the new
      thread is alive before waiting for it to become blocked on the
      conditional variable.
      9c4d2afa
    • Eli Zaretskii's avatar
      Fix a bug in waiting for condition variable · 03e4ab0d
      Eli Zaretskii authored
      * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
      (lisp_mutex_unlock_for_wait, condition_wait_callback)
      (condition_notify_callback): Improve commentary.
      (condition_wait_callback): Call post_acquire_global_lock before
      attempting to lock the mutex, to make sure the lock's owner is
      recorded correctly.
      
      * test/src/thread-tests.el (threads-condvar-wait): New test.
      03e4ab0d
    • Katsumi Yamaoka's avatar
    • Katsumi Yamaoka's avatar
      mm-uu.el: Don't dissect patch part · dd80ee69
      Katsumi Yamaoka authored
      This fixes a bug that the patch part is broken in the article
      <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
      
      * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
      Don't dissect patch part.
      dd80ee69
    • Dmitry Lazurkin's avatar
      Fix extracting async def type and name in python mode imenu · d4a97088
      Dmitry Lazurkin authored
      * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
      New function.
      (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
      extract async or simple def type and name at current
      position (Bug#24820).
      * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
      (python-imenu-create-flat-index-1): Add async def's.
      d4a97088
  9. 12 Jan, 2017 3 commits
    • Katsumi Yamaoka's avatar
      Remove garbage from Content-Transfer-Encoding value (bug#25420) · 55b52658
      Katsumi Yamaoka authored
      * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
      (ietf-drums-remove-garbage): New function.
      (ietf-drums-remove-whitespace): Remove CR as well.
      
      * lisp/mail/mail-parse.el (mail-header-strip-cte):
      Alias to ietf-drums-strip-cte.
      
      * lisp/gnus/gnus-art.el (article-decode-charset):
      * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
      * lisp/gnus/mm-decode.el (mm-dissect-buffer):
      * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
      (nndoc-rfc822-forward-generate-article):
      * lisp/mh-e/mh-mime.el (mh-decode-message-body):
      Replace mail-header-strip with mail-header-strip-cte.
      55b52658
    • Paul Eggert's avatar
      Restore behavior of ‘./autogen.sh autoconf git’ · 70d6f2d1
      Paul Eggert authored
      * autogen.sh: Do both autoconf and git setup when invoked
      as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
      Mention new --no-check option in usage message.  (Bug#25359)
      70d6f2d1
    • Glenn Morris's avatar
      * autogen.sh: Simplify argument parsing. · 3713c7a0
      Glenn Morris authored
      3713c7a0