1. 24 Jan, 2017 12 commits
    • Nikolaus Rath's avatar
      nnimap.el: support additional expunge options · 4e9baea6
      Nikolaus Rath authored
      * lisp/gnus/nnimap.el (nnimap-close-group)
      (nnimap-request-expire-articles, nnimap-delete-article)
      (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
      settings for nnimap-expunge (bug#20670).
      4e9baea6
    • Lars Ingebrigtsen's avatar
      Don't tag Gnus bugs with "gnus" · b6fa5807
      Lars Ingebrigtsen authored
      * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
      
      * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
      have its own package any more in the bug tracker.
      b6fa5807
    • Lars Ingebrigtsen's avatar
      Tweak TLS error messaging on closed connections · 42e23674
      Lars Ingebrigtsen authored
      * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
      peer-closed-connection "The TLS connection was non-properly
      terminated" message to a lower level so that it isn't shown to
      the user by default.
      42e23674
    • Lars Ingebrigtsen's avatar
      Avoid having eww unexpectedly open external browsers · 456696a8
      Lars Ingebrigtsen authored
      * lisp/net/eww.el (eww-render): Instead of opening unsupported
      content types like audio/mpeg directly in an external browser
      (which can be very confusing especially when something
      redirects to a file like that), just display a simple
      interstitial that people can choose to click on or not
      (bug#22671).
      456696a8
    • Lars Ingebrigtsen's avatar
      When opening new eww buffers, use buffer names based on the host name · fd42a192
      Lars Ingebrigtsen authored
      * lisp/net/eww.el (eww-browse-url): When opening in a new
      window, use a buffer name based on the host name (bug#23738).
      (eww--dwim-expand-url): Refactored out into its own function
      for easier reuse.
      fd42a192
    • David Engster's avatar
      xml: Fix parsing of default namespace with quoted names · aea67018
      David Engster authored
      * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
        parsing is done with quoted symbol names (bug#23440).
      * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
        (xml-parse-test-default-namespace-qnames): Test for the above.
      aea67018
    • Lars Ingebrigtsen's avatar
      Fix rendering of some complex SVG images · 267c98ae
      Lars Ingebrigtsen authored
      * lisp/net/shr.el (shr-parse-image-data): Don't transform
      SVG->DOM->XML unless we're blocking images, as this is apt to
      destroy the SVG (bug#24111).
      267c98ae
    • Lars Ingebrigtsen's avatar
      Clarify the last clarification · 3180deac
      Lars Ingebrigtsen authored
      * lisp/net/shr.el (shr-width): Clarify the interaction with
      `shr-use-fonts' (bug#24928).
      3180deac
    • Lars Ingebrigtsen's avatar
      shr-width doc clarification · 253fdf79
      Lars Ingebrigtsen authored
      * lisp/net/shr.el (shr-width): Clarify the interaction with
      `shr-use-fonts' (bug#24928).
      253fdf79
    • Lars Ingebrigtsen's avatar
      Allow passing in max-width/height · 37567393
      Lars Ingebrigtsen authored
      * lisp/net/shr.el (shr-rescale-image): Allow passing in
      max-width/height (bug#25287).
      37567393
    • Stefan Monnier's avatar
      * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars · 52a87c89
      Stefan Monnier authored
      Require `cl' for `pushnew'.
      (vhdl-scan-project-contents, vhdl-compose-wire-components)
      (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
      52a87c89
    • Noam Postavsky's avatar
      Fix comment detection on open parens · 201dfe31
      Noam Postavsky authored
      Characters having both open paren syntax and comment start syntax were
      being detected as open parens even when they should have been part a
      comment starter (Bug#24870).
      
      * src/syntax.c (in_2char_comment_start): New function, extracted from
      `scan_sexps_forward'.
      (scan_sexps_forward): Add check for a 2-char comment starter before the
      loop.  Inside the loop, do that check after incrementing the 'from'
      character index.  Move the single char comment syntax cases into the
      switch instead of special casing them before.
      * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
      (parse-partial-sexp-continue-over-comment-marker): New tests.
      201dfe31
  2. 23 Jan, 2017 1 commit
    • Alan Mackenzie's avatar
      Give , and .@ doc strings. Fixes bug #24561. · 0c31ff43
      Alan Mackenzie authored
      Also make *Help* links to ``' possible.  Also make usable as such doc strings
      on the function-documentation property of a symbol.
      
      * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
      function-documentation property.  Also give these symbols a reader-construct
      property.
      
      * lisp/help-fns.el (describe-function): Allow the function-documentation
      property to work.  Use princ rather than prin1 to print the function's name
      when it has a reader-construct property.
      (help-fns-signature): Don't insert `high-usage' for a reader-construct.
      (describe-function-1): Adapt to process documentation on the
      function-documentation property.  Print "a reader construct" when appropriate.
      
      * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
      ``'.
      0c31ff43
  3. 22 Jan, 2017 3 commits
    • Mark Oteiza's avatar
      ; Fix previous commit · 03de82fe
      Mark Oteiza authored
      * lisp/play/dunnet.el (dun-drop): Nix assignment of nonexistent binding.
      03de82fe
    • Paul Eggert's avatar
      Improve uses of CHECK_LIST etc. · 0a49f158
      Paul Eggert authored
      * src/eval.c (FletX): Report an error for invalid constructs like
      ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
      (lambda_arity): Use plain CHECK_CONS.
      * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
      (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
      concat does that for us.
      (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
      Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
      runtime check out of the loop.
      (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
      (Fassq, Fassoc, Frassq, Frassoc):
      Simplify and use CHECK_LIST_END instead of CAR.
      (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
      (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
      * src/fontset.c (Fnew_fontset):
      * src/frame.c (Fmodify_frame_parameters):
      Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
      more-complete check.
      * src/gfilenotify.c (Fgfile_add_watch):
      Omit unnecessary CHECK_LIST, since Fmember does that for us.
      * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
      Remove; no longer used.
      (CHECK_LIST_END): New inline function.
      0a49f158
    • Tino Calancha's avatar
      Prevent to use tabulated-list--near-rows unbound · ade0652c
      Tino Calancha authored
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
      Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
      ade0652c
  4. 21 Jan, 2017 6 commits
    • Juri Linkov's avatar
    • Eli Zaretskii's avatar
    • Alan Mackenzie's avatar
      Fix low-level handling of (big) C macros. · de333605
      Alan Mackenzie authored
      In particular, ensure that a comment detected by its syntax is not a CPP
      construct marked with generic comment delimiter syntax-table text
      properties.
      
      * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
      c-macro-cache-syntactic to nil when the cached macro changes.
      (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
      (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
      (c-state-pp-to-literal, c-parse-ps-state-to-cache)
      (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
      (c-determine-limit): When checking a parse syntax for a comment, check that
      we're not in a CPP construct marked by syntax-table generic comment delimiter
      text property.
      (c-state-pp-to-literal): Change from a defsubst to a defun.
      
      * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
      parse syntax as described above under cc-engine.el.
      de333605
    • Noam Postavsky's avatar
      Don't wait for frame to become visible · 6a788d2f
      Noam Postavsky authored
      * src/xterm.c (x_make_frame_visible): Remove code that waits for the
      frame to become visible.  We have to deal with invisible frames anyway,
      the loop could sometimes before the frame turned visible, and for some
      window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
      busy loop (Bug#24091).
      6a788d2f
    • 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
  5. 20 Jan, 2017 1 commit
  6. 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
  7. 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
  8. 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
  9. 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