Update packages

This commit is contained in:
Gergely Polonkai 2016-10-10 10:39:36 +02:00
parent 67638ca262
commit b52b2fb212
122 changed files with 1184 additions and 588 deletions

View File

@ -1,4 +0,0 @@
(define-package "erlang" "20161005.305" "Erlang major mode" 'nil)
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -3,7 +3,7 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "erlang" "erlang.el" (22518 4433 253987 51000))
;;;### (autoloads nil "erlang" "erlang.el" (22523 21259 84519 501000))
;;; Generated autoloads from erlang.el
(autoload 'erlang-mode "erlang" "\
@ -118,8 +118,23 @@ editing control characters:
;;;***
;;;### (autoloads nil "erlang-start" "erlang-start.el" (22518 4433
;;;;;; 225986 910000))
;;;### (autoloads nil "erlang-edoc" "erlang-edoc.el" (22523 21259
;;;;;; 104519 648000))
;;; Generated autoloads from erlang-edoc.el
(autoload 'erlang-edoc-mode "erlang-edoc" "\
Toggle Erlang-Edoc mode on or off.
With a prefix argument ARG, enable Erlang-Edoc mode if ARG is
positive, and disable it otherwise. If called from Lisp, enable
the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'.
\\{erlang-edoc-mode-map}
\(fn &optional ARG)" t nil)
;;;***
;;;### (autoloads nil "erlang-start" "erlang-start.el" (22523 21259
;;;;;; 64519 353000))
;;; Generated autoloads from erlang-start.el
(let ((a '("\\.erl\\'" . erlang-mode)) (b '("\\.hrl\\'" . erlang-mode))) (or (assoc (car a) auto-mode-alist) (setq auto-mode-alist (cons a auto-mode-alist))) (or (assoc (car b) auto-mode-alist) (setq auto-mode-alist (cons b auto-mode-alist))))
@ -132,7 +147,7 @@ editing control characters:
;;;### (autoloads nil nil ("erlang-eunit.el" "erlang-flymake.el"
;;;;;; "erlang-pkg.el" "erlang-skels-old.el" "erlang-skels.el" "erlang-test.el"
;;;;;; "erlang_appwiz.el") (22518 4433 269987 132000))
;;;;;; "erlang_appwiz.el") (22523 21259 100519 619000))
;;;***

View File

@ -0,0 +1,172 @@
;;; erlang-edoc.el --- EDoc support for Erlang mode -*- lexical-binding: t; -*-
;; %CopyrightBegin%
;;
;; Copyright Ericsson AB 1996-2016. All Rights Reserved.
;;
;; Licensed under the Apache License, Version 2.0 (the "License");
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;; http://www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.
;;
;; %CopyrightEnd%
;;; Commentary:
;; Ref: http://www.erlang.org/doc/apps/edoc/users_guide.html
;;
;; To use: (add-hook 'erlang-mode-hook 'erlang-edoc-mode)
;;; Code:
(defcustom erlang-edoc-indent-level 2
"Indentation level of xhtml in Erlang edoc."
:safe 'integerp
:group 'erlang)
(defvar erlang-edoc-generic-tags
'("clear" "docfile" "end" "headerfile" "todo" "TODO" "type")
"Tags that can be used anywhere within a module.")
(defvar erlang-edoc-overview-tags
'("author" "copyright" "reference" "see" "since" "title" "version")
"Tags that can be used in an overview file.")
(defvar erlang-edoc-module-tags
'("author" "copyright" "deprecated" "doc" "hidden" "private" "reference"
"see" "since" "version")
"Tags that can be used before a module declaration.")
(defvar erlang-edoc-function-tags
'("deprecated" "doc" "equiv" "hidden" "private" "see" "since" "spec"
"throws" "type")
"Tags that can be used before a function definition.")
(defvar erlang-edoc-predefined-macros
'("date" "docRoot" "link" "module" "package" "section" "time"
"type" "version"))
(defface erlang-edoc-tag '((t (:inherit font-lock-constant-face)))
"Face used to highlight edoc tags."
:group 'erlang)
(defface erlang-edoc-macro '((t (:inherit font-lock-preprocessor-face)))
"Face used to highlight edoc macros."
:group 'erlang)
(defface erlang-edoc-verbatim
'((t (:family "Monospace" :inherit font-lock-keyword-face)))
"Face used to highlight verbatim text."
:group 'erlang)
(defface erlang-edoc-todo '((t (:inherit font-lock-warning-face)))
"Face used to highlight edoc macros."
:group 'erlang)
(defface erlang-edoc-heading '((t (:inherit bold)))
"Face used to highlight edoc headings."
:group 'erlang)
(defvar erlang-edoc-font-lock-keywords
'(("^%+\\s-*\\(@\\w+\\)\\_>" 1 'erlang-edoc-tag prepend)
("^%+\\s-*" ("{\\(@\\w+\\)\\_>" nil nil (1 'erlang-edoc-macro prepend)))
("^%+\\s-*" ("\\(?:@@\\)*\\(@[@{}]\\)" nil nil (1 'escape-glyph prepend)))
("^%+\\s-*@\\(deprecated\\)\\_>" 1 font-lock-warning-face prepend)
;; http://www.erlang.org/doc/apps/edoc/chapter.html#Wiki_notation
("^%+\\s-*" ("[^`]`\\([^`]?\\|[^`].*?[^']\\)'"
(forward-char -1) nil (1 'erlang-edoc-verbatim prepend)))
("^%+\\s-*" ("\\[\\(\\(?:https?\\|file\\|ftp\\)://[^][]+\\)\\]"
nil nil (1 'link prepend)))
("^%+\\s-*\\(?:\\(?1:@todo\\|@TODO\\)\\_>\\|\\(?1:TODO\\):\\)"
1 'erlang-edoc-todo prepend)
("^%+\\s-*\\(\\(=\\{2,4\\}\\)[^=\n].*[^=\n]\\2\\)\\s-*$"
1 'erlang-edoc-heading prepend)))
(defun erlang-edoc-xml-context ()
"Parse edoc x(ht)ml context at comment start of current line."
(eval-and-compile (require 'xmltok))
(save-excursion
(beginning-of-line)
(when (looking-at "^%+\\s-*")
(let ((pt (match-end 0)) context)
(forward-comment (- (point)))
(while (< (point) pt)
(xmltok-forward)
(cond ((eq xmltok-type 'start-tag)
(push (cons xmltok-type xmltok-start) context))
((eq xmltok-type 'end-tag)
(pop context))))
(goto-char pt)
(xmltok-forward)
(push (car (memq xmltok-type '(start-tag end-tag))) context)
context))))
(defun erlang-edoc-indent-line ()
(let ((context (erlang-edoc-xml-context)))
(when context
(save-excursion
(beginning-of-line)
(re-search-forward "^%+\\s-*" (line-end-position))
(when (or (car context) (cadr context))
(let ((pad (when (cadr context)
(save-excursion
(goto-char (cdr (cadr context)))
(- (current-column)
(progn
(beginning-of-line)
(skip-chars-forward "%")
(current-column)))))))
(just-one-space (cond ((not pad) 1)
((eq (car context) 'end-tag) pad)
(t (+ erlang-edoc-indent-level pad)))))))
(when (looking-back "^%*\\s-*" (line-beginning-position))
(re-search-forward "\\=%*\\s-*")))))
(defun erlang-edoc-before-module-declaration-p ()
(save-excursion
(beginning-of-line)
(forward-comment (point-max))
(or (eobp) (re-search-forward "^-module\\s-*(" nil t))))
(defun erlang-edoc-completion-at-point ()
(when (eq (syntax-ppss-context (syntax-ppss)) 'comment)
(save-excursion
(skip-syntax-backward "w_")
(when (= (preceding-char) ?@)
(let* ((is-tag (looking-back "^%+\\s-*@" (line-beginning-position)))
(beg (point))
(end (progn (skip-syntax-forward "w_") (point)))
(table (cond
((not is-tag)
erlang-edoc-predefined-macros)
((erlang-edoc-before-module-declaration-p)
(append erlang-edoc-module-tags
erlang-edoc-generic-tags))
(t (append erlang-edoc-function-tags
erlang-edoc-generic-tags)))))
(list beg end table))))))
;;;###autoload
(define-minor-mode erlang-edoc-mode nil
:lighter " EDoc"
(cond (erlang-edoc-mode
(add-hook 'erlang-indent-line-hook #'erlang-edoc-indent-line nil t)
(font-lock-add-keywords nil erlang-edoc-font-lock-keywords t)
(add-hook 'completion-at-point-functions
#'erlang-edoc-completion-at-point nil t))
(t
(remove-hook 'erlang-indent-line-hook #'erlang-edoc-indent-line t)
(font-lock-remove-keywords nil erlang-edoc-font-lock-keywords)
(remove-hook 'completion-at-point-functions
#'erlang-edoc-completion-at-point t)))
(jit-lock-refontify))
(provide 'erlang-edoc)
;;; erlang-edoc.el ends here

View File

@ -0,0 +1,4 @@
(define-package "erlang" "20161007.57" "Erlang major mode" 'nil)
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -78,6 +78,7 @@
(autoload 'erlang-find-tag-other-window "erlang"
"Like `find-tag-other-window'. Capable of retreiving Erlang modules.")
(autoload 'erlang-edoc-mode "erlang-edoc" "Toggle Erlang-Edoc mode on or off." t)
;;
;; Associate files extensions ".erl" and ".hrl" with Erlang mode.

View File

@ -78,6 +78,10 @@
;; Variables:
(defgroup erlang nil
"The Erlang programming language."
:group 'languages)
(defconst erlang-version "2.7"
"The version number of Erlang mode.")
@ -2444,6 +2448,7 @@ Return the amount the indentation changed by."
;; after the indentation. Else stay at same point in text.
(if (> (- (point-max) pos) (point))
(goto-char (- (point-max) pos)))
(run-hooks 'erlang-indent-line-hook)
shift-amt))

View File

@ -3,8 +3,8 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "flycheck" "flycheck.el" (22516 57907 641537
;;;;;; 759000))
;;;### (autoloads nil "flycheck" "flycheck.el" (22523 21256 196498
;;;;;; 256000))
;;; Generated autoloads from flycheck.el
(autoload 'flycheck-manual "flycheck" "\
@ -228,7 +228,7 @@ Use this together with the `option', `option-list' and
;;;***
;;;### (autoloads nil nil ("flycheck-buttercup.el" "flycheck-ert.el"
;;;;;; "flycheck-pkg.el") (22516 57907 637537 741000))
;;;;;; "flycheck-pkg.el") (22523 21256 192498 226000))
;;;***

View File

@ -1,4 +1,4 @@
(define-package "flycheck" "20161004.1257" "On-the-fly syntax checking"
(define-package "flycheck" "20161007.427" "On-the-fly syntax checking"
'((dash "2.12.1")
(pkg-info "0.4")
(let-alist "1.0.4")

View File

@ -807,6 +807,13 @@ This variable is a normal hook. See Info node `(elisp)Hooks'."
:group 'flycheck-faces
:package-version '(flycheck . "0.22"))
(defface flycheck-error-list-id-with-explainer
'((t :inherit flycheck-error-list-id
:box (:style released-button)))
"Face for the error ID in the error list, for errors that have an explainer."
:group 'flycheck-faces
:package-version '(flycheck . "30"))
(defface flycheck-error-list-checker-name
'((t :inherit font-lock-function-name-face))
"Face for the syntax checker name in the error list."
@ -829,9 +836,9 @@ This variable is a normal hook. See Info node `(elisp)Hooks'."
(define-key map "l" #'flycheck-list-errors)
(define-key map (kbd "C-w") #'flycheck-copy-errors-as-kill)
(define-key map "s" #'flycheck-select-checker)
(define-key map "e" #'flycheck-set-checker-executable)
(define-key map "?" #'flycheck-describe-checker)
(define-key map "h" #'flycheck-display-error-at-point)
(define-key map "e" #'flycheck-explain-error-at-point)
(define-key map "H" #'display-local-help)
(define-key map "i" #'flycheck-manual)
(define-key map "V" #'flycheck-version)
@ -982,6 +989,7 @@ Only has effect when variable `global-flycheck-mode' is non-nil."
"---"
["Copy messages at point" flycheck-copy-errors-as-kill
(flycheck-overlays-at (point))]
["Explain error at point" flycheck-explain-error-at-point]
"---"
["Select syntax checker" flycheck-select-checker flycheck-mode]
["Disable syntax checker" flycheck-disable-checker flycheck-mode]
@ -1661,6 +1669,16 @@ are mandatory.
This property is optional. The default filter is
`identity'.
`:error-explainer FUNCTION'
A function to return an explanation text for errors
generated by this checker.
FUNCTION is called with a `flycheck-error' object and shall
return an explanation message for this error as a string, or
nil if there is no explanation for this error.
This property is optional.
`:next-checkers NEXT-CHECKERS'
A list denoting syntax checkers to apply after this syntax
checker, in what we call \"chaining\" of syntax checkers.
@ -1711,6 +1729,7 @@ Signal an error, if any property has an invalid value."
(verify (plist-get properties :verify))
(enabled (plist-get properties :enabled))
(filter (or (plist-get properties :error-filter) #'identity))
(explainer (plist-get properties :error-explainer))
(next-checkers (plist-get properties :next-checkers))
(file (flycheck-current-load-file))
(working-directory (plist-get properties :working-directory)))
@ -1744,6 +1763,9 @@ Signal an error, if any property has an invalid value."
(unless (functionp filter)
(error ":error-filter %S of syntax checker %s is not a function"
filter symbol))
(unless (or (null explainer) (functionp explainer))
(error ":error-explainer %S of syntax checker %S is not a function"
explainer symbol))
(dolist (checker next-checkers)
(flycheck-validate-next-checker checker))
@ -1774,6 +1796,7 @@ Try to reinstall the package defining this syntax checker." symbol)
(verify . ,verify)
(enabled . ,real-enabled)
(error-filter . ,filter)
(error-explainer . ,explainer)
(next-checkers . ,next-checkers)
(documentation . ,docstring)
(file . ,file)
@ -3814,6 +3837,7 @@ the beginning of the buffer."
(define-key map (kbd "n") #'flycheck-error-list-next-error)
(define-key map (kbd "p") #'flycheck-error-list-previous-error)
(define-key map (kbd "g") #'flycheck-error-list-check-source)
(define-key map (kbd "e") #'flycheck-error-list-explain-error)
(define-key map (kbd "RET") #'flycheck-error-list-goto-error)
map)
"The keymap of `flycheck-error-list-mode'.")
@ -3903,7 +3927,15 @@ message to stretch arbitrarily far."
"Go to the error at BUTTON."
(flycheck-error-list-goto-error (button-start button)))
(defsubst flycheck-error-list-make-cell (text &optional face help-echo)
(define-button-type 'flycheck-error-list-explain-error
'action #'flycheck-error-list-button-explain-error
'help-echo "mouse-2, RET: explain error")
(defun flycheck-error-list-button-explain-error (button)
"Explain the error at BUTTON."
(flycheck-error-list-explain-error (button-start button)))
(defsubst flycheck-error-list-make-cell (text &optional face help-echo type)
"Make an error list cell with TEXT and FACE.
If FACE is nil don't set a FACE on TEXT. If TEXT already has
@ -3914,8 +3946,12 @@ list, do specify a FACE explicitly!
If HELP-ECHO is non-nil, set a help-echo property on TEXT, with
value HELP-ECHO. This is convenient if you expect TEXT to be
truncated."
(append (list text 'type 'flycheck-error-list)
truncated.
The cell will have the type TYPE unless TYPE is nil, and the
default type `flycheck-error-list' will be used instead."
(append (list text 'type (if type type
'flycheck-error-list))
(and face (list 'face face))
(and help-echo (list 'help-echo help-echo))))
@ -3942,7 +3978,8 @@ Return a list with the contents of the table cell."
(id (flycheck-error-id error))
(id-str (if id (format "%s" id) ""))
(checker (flycheck-error-checker error))
(msg-and-checker (flycheck-error-list-make-last-column flushed-msg checker)))
(msg-and-checker (flycheck-error-list-make-last-column flushed-msg checker))
(explainer (flycheck-checker-get checker 'error-explainer)))
(list error
(vector (flycheck-error-list-make-number-cell
line 'flycheck-error-list-line-number)
@ -3950,8 +3987,11 @@ Return a list with the contents of the table cell."
column 'flycheck-error-list-column-number)
(flycheck-error-list-make-cell
(symbol-name (flycheck-error-level error)) level-face)
;; Error ID use a different face when an error-explainer is present
(flycheck-error-list-make-cell
id-str 'flycheck-error-list-id id-str)
id-str (if explainer 'flycheck-error-list-id-with-explainer
'flycheck-error-list-id)
id-str 'flycheck-error-list-explain-error)
(flycheck-error-list-make-cell
msg-and-checker nil msg-and-checker)))))
@ -4120,6 +4160,17 @@ POS defaults to `point'."
;; Re-highlight the errors
(flycheck-error-list-highlight-errors 'preserve-pos))))
(defun flycheck-error-list-explain-error (&optional pos)
"Explain the error at POS in the error list.
POS defaults to `point'."
(interactive)
(-when-let* ((error (tabulated-list-get-id pos))
(explainer (flycheck-checker-get (flycheck-error-checker error)
'error-explainer))
(explanation (funcall explainer error)))
(flycheck-display-error-explanation explanation)))
(defun flycheck-error-list-next-error-pos (pos &optional n)
"Starting from POS get the N'th next error in the error list.
@ -4343,6 +4394,34 @@ universal prefix arg, and only the id with normal prefix arg."
(seq-do #'kill-new (reverse messages))
(message (string-join messages "\n")))))
(defun flycheck-explain-error-at-point ()
"Display an explanation for the first explainable error at point.
The first explainable error at point is the first error at point
with a non-nil `:error-explainer' function defined in its
checker. The `:error-explainer' function is then called with
this error to produce the explanation to display."
(interactive)
(-when-let* ((first-error
;; Get the first error at point that has an `error-explainer'.
(seq-find (lambda (error)
(flycheck-checker-get
(flycheck-error-checker error) 'error-explainer))
(flycheck-overlay-errors-at (point))))
(explainer
(flycheck-checker-get (flycheck-error-checker first-error)
'error-explainer))
(explanation (funcall explainer first-error)))
(flycheck-display-error-explanation explanation)))
(defconst flycheck-explain-error-buffer "*Flycheck error explanation*"
"The name of the buffer to show error explanations.")
(defun flycheck-display-error-explanation (explanation)
"Display the EXPLANATION string in a help buffer."
(with-help-window (get-buffer-create flycheck-explain-error-buffer)
(princ explanation)))
;;; Syntax checkers using external commands
(defun flycheck-command-argument-p (arg)
@ -5534,6 +5613,23 @@ about TSLint."
(and (not (string-empty-p output))
(json-read-from-string output)))))
(defun flycheck-parse-rust-collect-spans (span)
"Return a list of spans contained in a SPAN object."
(let ((spans))
(let-alist span
;; With macro expansion errors, some spans will point to phony file names
;; to indicate an error inside the std rust lib. We skip these spans as
;; they won't appear in flycheck anyway.
(unless (string= .file_name "<std macros>")
(push span spans))
;; Macro expansion errors will have a span in the 'expansion' field, so we
;; recursively collect it.
(if .expansion.span
(append (flycheck-parse-rust-collect-spans .expansion.span)
spans)
spans))))
(defun flycheck-parse-rust (output checker buffer)
"Parse rust errors from OUTPUT and return a list of `flycheck-error'.
@ -5562,12 +5658,15 @@ https://github.com/rust-lang/rust/blob/master/src/libsyntax/json.rs#L67-L139"
;; level (error, warning), while the spans have a filename, line, column,
;; and an optional label. The primary span points to the root cause of the
;; error in the source text, while non-primary spans point to related
;; causes. In addition, each diagnostic can also have children diagnostics
;; that are used to provide additional information through their message
;; field, but do not seem to contain any spans (yet).
;; causes. Spans may have an 'expansion' field for macro expansion errors;
;; these expansion fields will contain another span (and so on). In
;; addition, each diagnostic can also have children diagnostics that are
;; used to provide additional information through their message field, but
;; do not seem to contain any spans (yet).
;;
;; We first iterate over diagnostics and their spans to turn every span into
;; a flycheck error object, that we collect into the `errors' list.
;; We first iterate over diagnostics, get all their spans and turn every
;; span into a flycheck error object, that we collect into the `errors'
;; list.
(dolist (diagnostic diagnostics)
(let ((error-message)
(error-level)
@ -5589,9 +5688,11 @@ https://github.com/rust-lang/rust/blob/master/src/libsyntax/json.rs#L67-L139"
;; The 'code' field of the diagnostic contains the actual error
;; code and an optional explanation that we ignore
error-code .code.code
spans .spans
;; Collect all spans recursively
spans (seq-mapcat #'flycheck-parse-rust-collect-spans .spans)
children .children))
;; Turn each span into a flycheck error
(dolist (span spans)
(let-alist span
;; Children lack any filename/line/column information, so we use
@ -5610,7 +5711,9 @@ https://github.com/rust-lang/rust/blob/master/src/libsyntax/json.rs#L67-L139"
;; Primary spans may have labels with additional information
(concat error-message (when .label
(format " (%s)" .label)))
.label)
;; If the label is empty, fallback on the error message,
;; otherwise we won't be able to display anything
(or .label error-message))
:id error-code
:checker checker
:buffer buffer
@ -5730,6 +5833,7 @@ SYMBOL with `flycheck-def-executable-var'."
(let ((command (plist-get properties :command))
(parser (plist-get properties :error-parser))
(filter (plist-get properties :error-filter))
(explainer (plist-get properties :error-explainer))
(predicate (plist-get properties :predicate))
(enabled-fn (plist-get properties :enabled))
(verify-fn (plist-get properties :verify)))
@ -5745,6 +5849,8 @@ SYMBOL with `flycheck-def-executable-var'."
:error-patterns ',(plist-get properties :error-patterns)
,@(when filter
`(:error-filter #',filter))
,@(when explainer
`(:error-explainer #',explainer))
:modes ',(plist-get properties :modes)
,@(when predicate
`(:predicate #',predicate))
@ -8557,6 +8663,12 @@ Relative paths are relative to the file being checked."
:safe #'flycheck-string-list-p
:package-version '(flycheck . "0.18"))
(defun flycheck-rust-error-explainer (error)
"Return an explanation text for the given `flycheck-error' ERROR."
(-when-let (error-code (flycheck-error-id error))
(with-output-to-string
(call-process "rustc" nil standard-output nil "--explain" error-code))))
(flycheck-define-checker rust-cargo
"A Rust syntax checker using Cargo.
@ -8578,6 +8690,7 @@ rustc command. See URL `https://www.rust-lang.org'."
(option-list "-L" flycheck-rust-library-path concat)
(eval flycheck-rust-args))
:error-parser flycheck-parse-rust
:error-explainer flycheck-rust-error-explainer
:modes rust-mode
:predicate (lambda ()
;; Since we build the entire project with cargo rustc we require
@ -8604,6 +8717,7 @@ This syntax checker needs Rust 1.7 or newer. See URL
(eval (or flycheck-rust-crate-root
(flycheck-substitute-argument 'source-inplace 'rust))))
:error-parser flycheck-parse-rust
:error-explainer flycheck-rust-error-explainer
:modes rust-mode
:predicate (lambda ()
(and (not flycheck-rust-crate-root) (flycheck-buffer-saved-p))))

View File

@ -3,8 +3,8 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "git-commit" "git-commit.el" (22514 17681 480743
;;;;;; 481000))
;;;### (autoloads nil "git-commit" "git-commit.el" (22523 21254 332484
;;;;;; 538000))
;;; Generated autoloads from git-commit.el
(defvar global-git-commit-mode t "\

View File

@ -1,2 +1,2 @@
;;; -*- no-byte-compile: t -*-
(define-package "git-commit" "20160929.801" "Edit Git commit messages" '((emacs "24.4") (dash "20160820.501") (with-editor "20160812.1457")) :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc"))
(define-package "git-commit" "20161009.252" "Edit Git commit messages" '((emacs "24.4") (dash "20160820.501") (with-editor "20160812.1457")) :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc"))

View File

@ -12,7 +12,7 @@
;; Maintainer: Jonas Bernoulli <jonas@bernoul.li>
;; Package-Requires: ((emacs "24.4") (dash "20160820.501") (with-editor "20160812.1457"))
;; Package-Version: 20160929.801
;; Package-Version: 20161009.252
;; Keywords: git tools vc
;; Homepage: https://github.com/magit/magit
@ -102,11 +102,10 @@
;; files.
;; Finally this package highlights style errors, like lines that are
;; too long, or when the second line is not empty. It may even nag you
;; when you attempt to finish the commit without having fixed these
;; issues. Some people like that nagging, I don't, so you'll have to
;; enable it. Which brings me to the last point. Like any
;; respectable Emacs package, this one too is highly customizable:
;; too long, or when the second line is not empty. It may even nag
;; you when you attempt to finish the commit without having fixed
;; these issues. The style checks and many other settings can easily
;; be configured:
;;
;; M-x customize-group RET git-commit RET
@ -124,6 +123,8 @@
;;;; Declarations
(defvar flyspell-generic-check-word-predicate)
(defvar font-lock-beg)
(defvar font-lock-end)
(declare-function magit-expand-git-file-name 'magit-git)
@ -177,8 +178,7 @@ The major mode configured here is turned on by the minor mode
"Hook run at the end of `git-commit-setup'."
:group 'git-commit
:type 'hook
:options '(
git-commit-save-message
:options '(git-commit-save-message
git-commit-setup-changelog-support
git-commit-turn-on-auto-fill
git-commit-turn-on-flyspell
@ -202,8 +202,23 @@ usually honor this wish and return non-nil."
:type 'hook
:group 'git-commit)
(defcustom git-commit-summary-max-length 50
"Fontify characters beyond this column in summary lines as errors."
(defcustom git-commit-style-convention-checks '(non-empty-second-line)
"List of checks performed by `git-commit-check-style-conventions'.
Valid members are `non-empty-second-line' and `overlong-first-line'.
That function is a member of `git-commit-finish-query-functions'."
:options '(non-empty-second-line overlong-summary-line)
:type '(list :convert-widget custom-hook-convert-widget)
:group 'git-commit)
(defcustom git-commit-summary-max-length 68
"Column beyond which characters in the summary lines are highlighted.
The highlighting indicates that the summary is getting too long
by some standards. It does in no way imply that going over the
limit a few characters or in some cases even many characters is
anything that deserves shaming. It's just a friendly reminder
that if you can make the summary shorter, then you might want
to consider doing so."
:group 'git-commit
:safe 'numberp
:type 'number)
@ -460,18 +475,23 @@ finally check current non-comment text."
(defun git-commit-check-style-conventions (force)
"Check for violations of certain basic style conventions.
For each violation ask the user if she wants to proceed anyway.
This makes sure the summary line isn't too long and that the
second line is empty."
Option `git-commit-check-style-conventions' controls which
conventions are checked."
(or force
(save-excursion
(goto-char (point-min))
(re-search-forward (git-commit-summary-regexp) nil t)
(if (equal (match-string 1) "")
t ; Just try; we don't know whether --allow-empty-message was used.
(and (or (equal (match-string 2) "")
(and (or (not (memq 'overlong-summary-line
git-commit-style-convention-checks))
(equal (match-string 2) "")
(y-or-n-p "Summary line is too long. Commit anyway? "))
(or (not (match-string 3))
(or (not (memq 'non-empty-second-line
git-commit-style-convention-checks))
(not (match-string 3))
(y-or-n-p "Second line is not empty. Commit anyway? ")))))))
(defun git-commit-cancel-message ()
@ -620,11 +640,6 @@ With a numeric prefix ARG, go forward ARG comments."
;; Non-empty non-comment second line
(format "\\(?:\n%s\\|\n\\(.+\\)\\)?" comment-start)))
;; These are let-bound while `font-lock-extend-region-functions' are
;; run.
(defvar font-lock-beg)
(defvar font-lock-end)
(defun git-commit-extend-region-summary-line ()
"Identify the multiline summary-regexp construct.
Added to `font-lock-extend-region-functions'."

View File

@ -3,8 +3,8 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "helm-adaptive" "helm-adaptive.el" (22516 57904
;;;;;; 857525 192000))
;;;### (autoloads nil "helm-adaptive" "helm-adaptive.el" (22523 21252
;;;;;; 592471 731000))
;;; Generated autoloads from helm-adaptive.el
(defvar helm-adaptive-mode nil "\
@ -30,8 +30,8 @@ Useful when you have a old or corrupted `helm-adaptive-history-file'.
;;;***
;;;### (autoloads nil "helm-apt" "helm-apt.el" (22516 57904 817525
;;;;;; 11000))
;;;### (autoloads nil "helm-apt" "helm-apt.el" (22523 21252 552471
;;;;;; 436000))
;;; Generated autoloads from helm-apt.el
(autoload 'helm-apt "helm-apt" "\
@ -42,8 +42,8 @@ With a prefix arg reload cache.
;;;***
;;;### (autoloads nil "helm-bookmark" "helm-bookmark.el" (22516 57904
;;;;;; 909525 426000))
;;;### (autoloads nil "helm-bookmark" "helm-bookmark.el" (22523 21252
;;;;;; 652472 172000))
;;; Generated autoloads from helm-bookmark.el
(autoload 'helm-bookmarks "helm-bookmark" "\
@ -60,8 +60,8 @@ only if external library addressbook-bookmark.el is available.
;;;***
;;;### (autoloads nil "helm-buffers" "helm-buffers.el" (22516 57904
;;;;;; 809524 975000))
;;;### (autoloads nil "helm-buffers" "helm-buffers.el" (22523 21252
;;;;;; 540471 347000))
;;; Generated autoloads from helm-buffers.el
(autoload 'helm-buffers-list "helm-buffers" "\
@ -76,8 +76,8 @@ Preconfigured `helm' lightweight version (buffer -> recentf).
;;;***
;;;### (autoloads nil "helm-color" "helm-color.el" (22516 57904 889525
;;;;;; 336000))
;;;### (autoloads nil "helm-color" "helm-color.el" (22523 21252 624471
;;;;;; 966000))
;;; Generated autoloads from helm-color.el
(autoload 'helm-colors "helm-color" "\
@ -87,8 +87,8 @@ Preconfigured `helm' for color.
;;;***
;;;### (autoloads nil "helm-command" "helm-command.el" (22516 57904
;;;;;; 761524 758000))
;;;### (autoloads nil "helm-command" "helm-command.el" (22523 21252
;;;;;; 492470 995000))
;;; Generated autoloads from helm-command.el
(autoload 'helm-M-x "helm-command" "\
@ -106,8 +106,8 @@ You can get help on each command by persistent action.
;;;***
;;;### (autoloads nil "helm-config" "helm-config.el" (22516 57904
;;;;;; 901525 390000))
;;;### (autoloads nil "helm-config" "helm-config.el" (22523 21252
;;;;;; 648472 143000))
;;; Generated autoloads from helm-config.el
(autoload 'helm-configuration "helm-config" "\
@ -117,8 +117,8 @@ Customize `helm'.
;;;***
;;;### (autoloads nil "helm-dabbrev" "helm-dabbrev.el" (22516 57904
;;;;;; 829525 65000))
;;;### (autoloads nil "helm-dabbrev" "helm-dabbrev.el" (22523 21252
;;;;;; 564471 525000))
;;; Generated autoloads from helm-dabbrev.el
(autoload 'helm-dabbrev "helm-dabbrev" "\
@ -128,8 +128,8 @@ Preconfigured helm for dynamic abbreviations.
;;;***
;;;### (autoloads nil "helm-elisp" "helm-elisp.el" (22516 57904 893525
;;;;;; 354000))
;;;### (autoloads nil "helm-elisp" "helm-elisp.el" (22523 21252 640472
;;;;;; 85000))
;;; Generated autoloads from helm-elisp.el
(autoload 'helm-lisp-completion-at-point "helm-elisp" "\
@ -183,7 +183,7 @@ Preconfigured helm for complex command history.
;;;***
;;;### (autoloads nil "helm-elisp-package" "helm-elisp-package.el"
;;;;;; (22516 57904 765524 776000))
;;;;;; (22523 21252 496471 24000))
;;; Generated autoloads from helm-elisp-package.el
(autoload 'helm-list-elisp-packages "helm-elisp-package" "\
@ -199,8 +199,8 @@ Same as `helm-list-elisp-packages' but don't fetch packages on remote.
;;;***
;;;### (autoloads nil "helm-elscreen" "helm-elscreen.el" (22516 57904
;;;;;; 753524 722000))
;;;### (autoloads nil "helm-elscreen" "helm-elscreen.el" (22523 21252
;;;;;; 484470 935000))
;;; Generated autoloads from helm-elscreen.el
(autoload 'helm-elscreen "helm-elscreen" "\
@ -215,8 +215,8 @@ Preconfigured helm to list elscreen in history order.
;;;***
;;;### (autoloads nil "helm-eshell" "helm-eshell.el" (22516 57904
;;;;;; 789524 885000))
;;;### (autoloads nil "helm-eshell" "helm-eshell.el" (22523 21252
;;;;;; 520471 201000))
;;; Generated autoloads from helm-eshell.el
(autoload 'helm-esh-pcomplete "helm-eshell" "\
@ -231,8 +231,8 @@ Preconfigured helm for eshell history.
;;;***
;;;### (autoloads nil "helm-eval" "helm-eval.el" (22516 57904 861525
;;;;;; 209000))
;;;### (autoloads nil "helm-eval" "helm-eval.el" (22523 21252 596471
;;;;;; 760000))
;;; Generated autoloads from helm-eval.el
(autoload 'helm-eval-expression "helm-eval" "\
@ -252,8 +252,8 @@ Preconfigured helm for `helm-source-calculation-result'.
;;;***
;;;### (autoloads nil "helm-external" "helm-external.el" (22516 57904
;;;;;; 741524 668000))
;;;### (autoloads nil "helm-external" "helm-external.el" (22523 21252
;;;;;; 468470 818000))
;;; Generated autoloads from helm-external.el
(autoload 'helm-run-external-command "helm-external" "\
@ -266,8 +266,8 @@ You can set your own list of commands with
;;;***
;;;### (autoloads nil "helm-files" "helm-files.el" (22516 57904 837525
;;;;;; 102000))
;;;### (autoloads nil "helm-files" "helm-files.el" (22523 21252 568471
;;;;;; 554000))
;;; Generated autoloads from helm-files.el
(autoload 'helm-projects-history "helm-files" "\
@ -355,8 +355,8 @@ It allows additionally to delete more than one connection at once.
;;;***
;;;### (autoloads nil "helm-font" "helm-font.el" (22516 57904 793524
;;;;;; 903000))
;;;### (autoloads nil "helm-font" "helm-font.el" (22523 21252 524471
;;;;;; 230000))
;;; Generated autoloads from helm-font.el
(autoload 'helm-select-xfont "helm-font" "\
@ -371,8 +371,8 @@ Preconfigured helm for `ucs-names' math symbols.
;;;***
;;;### (autoloads nil "helm-grep" "helm-grep.el" (22516 57904 917525
;;;;;; 462000))
;;;### (autoloads nil "helm-grep" "helm-grep.el" (22523 21252 656472
;;;;;; 201000))
;;; Generated autoloads from helm-grep.el
(autoload 'helm-goto-precedent-file "helm-grep" "\
@ -399,8 +399,8 @@ With a prefix arg ARG git-grep the whole repository.
;;;***
;;;### (autoloads nil "helm-help" "helm-help.el" (22516 57904 733524
;;;;;; 632000))
;;;### (autoloads nil "helm-help" "helm-help.el" (22523 21252 464470
;;;;;; 789000))
;;; Generated autoloads from helm-help.el
(autoload 'helm-documentation "helm-help" "\
@ -420,8 +420,8 @@ String displayed in mode-line in `helm-source-find-files'.")
;;;***
;;;### (autoloads nil "helm-id-utils" "helm-id-utils.el" (22516 57904
;;;;;; 813524 993000))
;;;### (autoloads nil "helm-id-utils" "helm-id-utils.el" (22523 21252
;;;;;; 544471 378000))
;;; Generated autoloads from helm-id-utils.el
(autoload 'helm-gid "helm-id-utils" "\
@ -435,8 +435,8 @@ See <https://www.gnu.org/software/idutils/>.
;;;***
;;;### (autoloads nil "helm-imenu" "helm-imenu.el" (22516 57904 801524
;;;;;; 939000))
;;;### (autoloads nil "helm-imenu" "helm-imenu.el" (22523 21252 532471
;;;;;; 289000))
;;; Generated autoloads from helm-imenu.el
(autoload 'helm-imenu "helm-imenu" "\
@ -453,8 +453,8 @@ or it have an association in `helm-imenu-all-buffer-assoc'.
;;;***
;;;### (autoloads nil "helm-info" "helm-info.el" (22516 57904 797524
;;;;;; 921000))
;;;### (autoloads nil "helm-info" "helm-info.el" (22523 21252 528471
;;;;;; 259000))
;;; Generated autoloads from helm-info.el
(autoload 'helm-info "helm-info" "\
@ -470,8 +470,8 @@ With a prefix-arg insert symbol at point.
;;;***
;;;### (autoloads nil "helm-locate" "helm-locate.el" (22516 57904
;;;;;; 745524 686000))
;;;### (autoloads nil "helm-locate" "helm-locate.el" (22523 21252
;;;;;; 476470 877000))
;;; Generated autoloads from helm-locate.el
(autoload 'helm-projects-find-files "helm-locate" "\
@ -498,8 +498,8 @@ Where db_path is a filename matched by
;;;***
;;;### (autoloads nil "helm-man" "helm-man.el" (22516 57904 869525
;;;;;; 246000))
;;;### (autoloads nil "helm-man" "helm-man.el" (22523 21252 604471
;;;;;; 819000))
;;; Generated autoloads from helm-man.el
(autoload 'helm-man-woman "helm-man" "\
@ -510,8 +510,8 @@ With a prefix arg reinitialize the cache.
;;;***
;;;### (autoloads nil "helm-misc" "helm-misc.el" (22516 57904 853525
;;;;;; 174000))
;;;### (autoloads nil "helm-misc" "helm-misc.el" (22523 21252 584471
;;;;;; 672000))
;;; Generated autoloads from helm-misc.el
(autoload 'helm-browse-menubar "helm-misc" "\
@ -552,8 +552,8 @@ Preconfigured `helm' that provide completion of `comint' history.
;;;***
;;;### (autoloads nil "helm-mode" "helm-mode.el" (22516 57904 717524
;;;;;; 560000))
;;;### (autoloads nil "helm-mode" "helm-mode.el" (22523 21252 448470
;;;;;; 672000))
;;; Generated autoloads from helm-mode.el
(autoload 'helm-comp-read "helm-mode" "\
@ -724,8 +724,8 @@ Note: This mode is incompatible with Emacs23.
;;;***
;;;### (autoloads nil "helm-net" "helm-net.el" (22516 57904 885525
;;;;;; 318000))
;;;### (autoloads nil "helm-net" "helm-net.el" (22523 21252 616471
;;;;;; 907000))
;;; Generated autoloads from helm-net.el
(autoload 'helm-surfraw "helm-net" "\
@ -745,8 +745,8 @@ Preconfigured `helm' for Wikipedia lookup with Wikipedia suggest.
;;;***
;;;### (autoloads nil "helm-org" "helm-org.el" (22516 57904 921525
;;;;;; 481000))
;;;### (autoloads nil "helm-org" "helm-org.el" (22523 21252 664472
;;;;;; 261000))
;;; Generated autoloads from helm-org.el
(autoload 'helm-org-agenda-files-headings "helm-org" "\
@ -777,8 +777,8 @@ Preconfigured helm for org templates.
;;;***
;;;### (autoloads nil "helm-regexp" "helm-regexp.el" (22516 57904
;;;;;; 881525 300000))
;;;### (autoloads nil "helm-regexp" "helm-regexp.el" (22523 21252
;;;;;; 612471 878000))
;;; Generated autoloads from helm-regexp.el
(autoload 'helm-moccur-mode "helm-regexp" "\
@ -817,8 +817,8 @@ The prefix arg can be set before calling
;;;***
;;;### (autoloads nil "helm-ring" "helm-ring.el" (22516 57904 729524
;;;;;; 614000))
;;;### (autoloads nil "helm-ring" "helm-ring.el" (22523 21252 460470
;;;;;; 759000))
;;; Generated autoloads from helm-ring.el
(defvar helm-push-mark-mode nil "\
@ -876,8 +876,8 @@ This command is useful when used with persistent action.
;;;***
;;;### (autoloads nil "helm-semantic" "helm-semantic.el" (22516 57904
;;;;;; 805524 957000))
;;;### (autoloads nil "helm-semantic" "helm-semantic.el" (22523 21252
;;;;;; 536471 318000))
;;; Generated autoloads from helm-semantic.el
(autoload 'helm-semantic "helm-semantic" "\
@ -899,8 +899,8 @@ Fill in the symbol at point by default.
;;;***
;;;### (autoloads nil "helm-sys" "helm-sys.el" (22516 57904 825525
;;;;;; 47000))
;;;### (autoloads nil "helm-sys" "helm-sys.el" (22523 21252 556471
;;;;;; 465000))
;;; Generated autoloads from helm-sys.el
(defvar helm-top-poll-mode nil "\
@ -935,8 +935,8 @@ Preconfigured helm for xrandr.
;;;***
;;;### (autoloads nil "helm-tags" "helm-tags.el" (22516 57904 781524
;;;;;; 849000))
;;;### (autoloads nil "helm-tags" "helm-tags.el" (22523 21252 512471
;;;;;; 142000))
;;; Generated autoloads from helm-tags.el
(autoload 'helm-etags-select "helm-tags" "\
@ -955,8 +955,8 @@ This function aggregates three sources of tag files:
;;;***
;;;### (autoloads nil "helm-utils" "helm-utils.el" (22516 57904 757524
;;;;;; 740000))
;;;### (autoloads nil "helm-utils" "helm-utils.el" (22523 21252 488470
;;;;;; 966000))
;;; Generated autoloads from helm-utils.el
(defvar helm-popup-tip-mode nil "\
@ -977,7 +977,7 @@ Show help-echo informations in a popup tip at end of line.
;;;***
;;;### (autoloads nil nil ("helm-easymenu.el" "helm-pkg.el" "helm-types.el")
;;;;;; (22516 57904 925525 499000))
;;;;;; (22523 21252 672472 320000))
;;;***

View File

@ -427,11 +427,14 @@ It is intended to use as a let-bound variable, DON'T set this globaly.")
(pipes
(helm-aif (cdr patterns)
(cl-loop with pipcom = (pcase (helm-grep-command)
;; Use grep for GNU regexp based tools.
((or "grep" "zgrep" "git-grep")
"grep --color=always")
(format "grep --color=always %s"
(if smartcase "-i" "")))
;; Use ack-grep for PCRE based tools.
;; Sometimes ack-grep cmd is ack only.
((and (pred (string-match-p "ack")) ack)
(format "%s --color" ack)))
(format "%s --smart-case --color" ack)))
for p in it concat
(format " | %s %s" pipcom (shell-quote-argument p)))
"")))

View File

@ -1,4 +1,4 @@
(define-package "helm" "20161004.2242" "Helm is an Emacs incremental and narrowing framework"
(define-package "helm" "20161008.1318" "Helm is an Emacs incremental and narrowing framework"
'((emacs "24.4")
(async "1.9")
(popup "0.5.3")

View File

@ -648,7 +648,7 @@ If STRING is non--nil return instead a space separated string."
(set-window-text-height (helm-window) helm-resize-on-pa-text-height)))
(defun helm-match-line-cleanup-pulse ()
(run-with-idle-timer 0.3 nil #'helm-match-line-cleanup))
(run-with-timer 0.3 nil #'helm-match-line-cleanup))
(add-hook 'helm-after-persistent-action-hook 'helm-persistent-autoresize-hook)
(add-hook 'helm-cleanup-hook 'helm-match-line-cleanup)

View File

@ -3,7 +3,7 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "helm" "helm.el" (22516 57898 381495 962000))
;;;### (autoloads nil "helm" "helm.el" (22523 21247 808436 501000))
;;; Generated autoloads from helm.el
(autoload 'helm-define-multi-key "helm" "\
@ -188,7 +188,7 @@ Enable/disable helm debugging from outside of helm session.
;;;***
;;;### (autoloads nil nil ("helm-core-pkg.el" "helm-lib.el" "helm-multi-match.el"
;;;;;; "helm-source.el") (22516 57898 397496 35000))
;;;;;; "helm-source.el") (22523 21247 820436 589000))
;;;***

View File

@ -1,4 +1,4 @@
(define-package "helm-core" "20161004.2301" "Development files for Helm"
(define-package "helm-core" "20161009.405" "Development files for Helm"
'((emacs "24.4")
(async "1.9"))
:url "https://emacs-helm.github.io/helm/")

View File

@ -2382,7 +2382,7 @@ For ANY-PRESELECT ANY-RESUME ANY-KEYMAP ANY-DEFAULT ANY-HISTORY, See `helm'."
(helm-get-current-source))
(helm-mark-current-line t)
(helm-update any-preselect))
(with-current-buffer (helm-buffer-get)
(with-helm-buffer
(let* ((src (helm-get-current-source))
(src-keymap (assoc-default 'keymap src))
(hist (or (and any-history (symbolp any-history) any-history)
@ -4678,30 +4678,33 @@ Returns the resulting buffer."
(helm-prevent-switching-other-window :enabled nil))
(unwind-protect
(with-helm-window
(if (or helm-full-frame (one-window-p t))
(message "Error: Attempt to resplit a single window")
(let ((before-height (window-height)))
(delete-window)
(set-window-buffer
(select-window
(if (= (window-height) before-height) ; initial split was horizontal.
;; Split window vertically with `helm-buffer' placed
;; on the good side according to actual value of
;; `helm-split-window-default-side'.
(prog1
(cond ((or (eq helm-split-window-default-side 'above)
(eq helm-split-window-default-side 'left))
(split-window
(selected-window) nil 'above))
(t (split-window-vertically)))
(setq helm-split-window-state 'vertical))
;; Split window vertically, same comment as above.
(setq helm-split-window-state 'horizontal)
(cond ((or (eq helm-split-window-default-side 'left)
(eq helm-split-window-default-side 'above))
(split-window (selected-window) nil 'left))
(t (split-window-horizontally)))))
helm-buffer)))
(cond ((or helm-full-frame (one-window-p t))
(user-error "Attempt to resplit a single window"))
((helm-action-window)
(user-error "Can't resplit while selecting actions"))
(t
(let ((before-height (window-height)))
(delete-window)
(set-window-buffer
(select-window
(if (= (window-height) before-height) ; initial split was horizontal.
;; Split window vertically with `helm-buffer' placed
;; on the good side according to actual value of
;; `helm-split-window-default-side'.
(prog1
(cond ((or (eq helm-split-window-default-side 'above)
(eq helm-split-window-default-side 'left))
(split-window
(selected-window) nil 'above))
(t (split-window-vertically)))
(setq helm-split-window-state 'vertical))
;; Split window vertically, same comment as above.
(setq helm-split-window-state 'horizontal)
(cond ((or (eq helm-split-window-default-side 'left)
(eq helm-split-window-default-side 'above))
(split-window (selected-window) nil 'left))
(t (split-window-horizontally)))))
helm-buffer))))
(setq helm--window-side-state (helm--get-window-side-state)))
(when helm-prevent-escaping-from-minibuffer
(helm-prevent-switching-other-window :enabled t)))))
@ -4734,43 +4737,46 @@ If N is positive enlarge, if negative narrow."
"Swap window holding `helm-buffer' with other window."
(interactive)
(with-helm-alive-p
(if (and helm-full-frame (one-window-p t))
(error "Error: Can't swap windows in a single window")
(let* ((w1 (helm-window))
(split-state (eq helm-split-window-state 'horizontal))
(w1size (window-total-size w1 split-state))
(b1 (window-buffer w1)) ; helm-buffer
(s1 (window-start w1))
(cur-frame (window-frame w1))
(w2 (with-selected-window (helm-window)
;; Don't try to display helm-buffer
;; in a dedicated window.
(get-window-with-predicate
(lambda (w) (not (window-dedicated-p w)))
1 cur-frame)))
(w2size (window-total-size w2 split-state))
(b2 (window-buffer w2)) ; probably helm-current-buffer
(s2 (window-start w2))
resize)
(with-selected-frame (window-frame w1)
(helm-replace-buffer-in-window w1 b1 b2)
(helm-replace-buffer-in-window w2 b2 b1)
(setq resize
(cond ( ;; helm-window is smaller than other window.
(< w1size w2size)
(- (- (max w2size w1size)
(min w2size w1size))))
( ;; helm-window is larger than other window.
(> w1size w2size)
(- (max w2size w1size)
(min w2size w1size)))
( ;; windows have probably same size.
t nil)))
;; Maybe resize the window holding helm-buffer.
(and resize (window-resize w2 resize split-state))
(set-window-start w1 s2 t)
(set-window-start w2 s1 t))
(setq helm--window-side-state (helm--get-window-side-state))))))
(cond ((and helm-full-frame (one-window-p t))
(user-error "Can't swap windows in a single window"))
((helm-action-window)
(user-error "Can't resplit while selecting actions"))
(t
(let* ((w1 (helm-window))
(split-state (eq helm-split-window-state 'horizontal))
(w1size (window-total-size w1 split-state))
(b1 (window-buffer w1)) ; helm-buffer
(s1 (window-start w1))
(cur-frame (window-frame w1))
(w2 (with-selected-window (helm-window)
;; Don't try to display helm-buffer
;; in a dedicated window.
(get-window-with-predicate
(lambda (w) (not (window-dedicated-p w)))
1 cur-frame)))
(w2size (window-total-size w2 split-state))
(b2 (window-buffer w2)) ; probably helm-current-buffer
(s2 (window-start w2))
resize)
(with-selected-frame (window-frame w1)
(helm-replace-buffer-in-window w1 b1 b2)
(helm-replace-buffer-in-window w2 b2 b1)
(setq resize
(cond ( ;; helm-window is smaller than other window.
(< w1size w2size)
(- (- (max w2size w1size)
(min w2size w1size))))
( ;; helm-window is larger than other window.
(> w1size w2size)
(- (max w2size w1size)
(min w2size w1size)))
( ;; windows have probably same size.
t nil)))
;; Maybe resize the window holding helm-buffer.
(and resize (window-resize w2 resize split-state))
(set-window-start w1 s2 t)
(set-window-start w2 s1 t))
(setq helm--window-side-state (helm--get-window-side-state)))))))
(put 'helm-swap-windows 'helm-only t)
(defun helm--get-window-side-state ()

View File

@ -1 +0,0 @@
(define-package "helm-projectile" "20160922.4" "Helm integration for Projectile" '((helm "1.7.7") (projectile "0.14.0") (cl-lib "0.3")) :url "https://github.com/bbatsov/helm-projectile" :keywords '("project" "convenience"))

View File

@ -1,10 +1,10 @@
;;; helm-projectile-autoloads.el --- automatically extracted autoloads
;;
;;; Code:
(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "helm-projectile" "helm-projectile.el" (22501
;;;;;; 3214 979961 347000))
;;;### (autoloads nil "helm-projectile" "helm-projectile.el" (22523
;;;;;; 21245 720421 118000))
;;; Generated autoloads from helm-projectile.el
(defvar helm-projectile-fuzzy-match t "\

View File

@ -0,0 +1,2 @@
;;; -*- no-byte-compile: t -*-
(define-package "helm-projectile" "20161008.45" "Helm integration for Projectile" '((helm "1.7.7") (projectile "0.14.0") (cl-lib "0.3")) :url "https://github.com/bbatsov/helm-projectile" :keywords '("project" "convenience"))

View File

@ -4,7 +4,7 @@
;; Author: Bozhidar Batsov
;; URL: https://github.com/bbatsov/helm-projectile
;; Package-Version: 20160922.4
;; Package-Version: 20161008.45
;; Created: 2011-31-07
;; Keywords: project, convenience
;; Version: 0.14.0
@ -60,7 +60,7 @@
"Helm support for projectile."
:prefix "helm-projectile-"
:group 'projectile
:link `(url-link :tag "helm-projectile homepage" "https://github.com/bbatsov/projectile"))
:link `(url-link :tag "GitHub" "https://github.com/bbatsov/helm-projectile"))
(defvar helm-projectile-current-project-root)
@ -116,7 +116,7 @@ If an INSTRUCTION is of the form \(FUNCTION . DESCRIPTION\), and
if an action with function name FUNCTION exists in the original
Helm action list, the action in the Helm action list, with
function name FUNCTION will change it's description to
DESCRIPTION. Otherwise, (FUNCTION . DESCRIPTION) will be added to
DESCRIPTION. Otherwise, (FUNCTION . DESCRIPTION) will be added to
the action list.
Please check out how `helm-projectile-file-actions' is defined
@ -284,9 +284,9 @@ CANDIDATE is the selected file, but choose the marked files if available."
(let ((files (cl-remove-if-not
(lambda (f)
(not (string= f "")))
(mapcar (lambda (file)
(replace-regexp-in-string (projectile-project-root) "" file))
(helm-marked-candidates :with-wildcard t))))
(mapcar (lambda (file)
(replace-regexp-in-string (projectile-project-root) "" file))
(helm-marked-candidates :with-wildcard t))))
(new-name (completing-read "Select or enter a new buffer name: "
(helm-projectile-all-dired-buffers)))
(helm--reading-passwd-or-string t)
@ -371,6 +371,12 @@ CANDIDATE is the selected file. Used when no file is explicitly marked."
(list candidate))))
(rename-buffer dired-buffer-name))))))
(advice-add 'helm-find-file-or-marked :after
(lambda (orig-fun &rest args)
"Run `projectile-find-file-hook' if using projectile."
(when (and projectile-mode (projectile-project-p))
(run-hooks 'projectile-find-file-hook))))
(defvar helm-projectile-find-file-map
(let ((map (copy-keymap helm-find-files-map)))
(helm-projectile-define-key map
@ -662,7 +668,7 @@ Other file extensions can be customized with the variable `projectile-other-file
'("Find file" helm-grep-action
"Find file other frame" helm-grep-other-frame
(lambda () (and (locate-library "elscreen")
"Find file in Elscreen"))
"Find file in Elscreen"))
helm-grep-jump-elscreen
"Save results in grep buffer" helm-grep-save-results
"Find file other window" helm-grep-other-window)
@ -670,6 +676,17 @@ Other file extensions can be customized with the variable `projectile-other-file
The contents of this list are passed as the arguments to `helm-make-actions'."
:group 'helm-projectile)
(defcustom helm-projectile-set-input-automatically t
"If non-nil, attempt to set search input automatically.
Automatic input selection uses the region (if there is an active
region), otherwise it uses the current symbol at point (if there
is one). Applies to `helm-projectile-grep' and
`helm-projectile-ack' only. If the `helm-ag' package is
installed, then automatic input behavior for `helm-projectile-ag'
can be customized using `helm-ag-insert-at-point'."
:group 'helm-projectile
:type 'boolean)
(defun helm-projectile-grep-or-ack (&optional dir use-ack-p ack-ignored-pattern ack-executable)
"Perform helm-grep at project root.
DIR directory where to search
@ -716,9 +733,10 @@ If it is nil, or ack/ack-grep not found then use default grep command."
:requires-pattern 2))
(helm
:sources 'helm-source-grep
:input (if (region-active-p)
(buffer-substring-no-properties (region-beginning) (region-end))
(thing-at-point 'symbol))
:input (when helm-projectile-set-input-automatically
(if (region-active-p)
(buffer-substring-no-properties (region-beginning) (region-end))
(thing-at-point 'symbol)))
:buffer (format "*helm %s*" (if use-ack-p
"ack"
"grep"))
@ -747,8 +765,8 @@ If it is nil, or ack/ack-grep not found then use default grep command."
DIR is the project root, if not set then current directory is used"
(interactive)
(let ((project-root (or dir (projectile-project-root) (error "You're not in a project"))))
(funcall'run-with-timer 0.01 nil
#'helm-projectile-grep-or-ack project-root nil)))
(funcall 'run-with-timer 0.01 nil
#'helm-projectile-grep-or-ack project-root nil)))
;;;###autoload
(defun helm-projectile-ack (&optional dir)
@ -766,7 +784,7 @@ DIR is the project root, if not set then current directory is used"
(helm-ack-grep-executable (cond
((executable-find "ack") "ack")
((executable-find "ack-grep") "ack-grep")
(t (error "ack or ack-grep is not available.")))))
(t (error "ack or ack-grep is not available")))))
(funcall 'run-with-timer 0.01 nil
#'helm-projectile-grep-or-ack project-root t ack-ignored helm-ack-grep-executable))))

View File

@ -3,8 +3,8 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "js2-imenu-extras" "js2-imenu-extras.el" (22518
;;;;;; 4413 133886 14000))
;;;### (autoloads nil "js2-imenu-extras" "js2-imenu-extras.el" (22523
;;;;;; 21232 276321 957000))
;;; Generated autoloads from js2-imenu-extras.el
(autoload 'js2-imenu-extras-setup "js2-imenu-extras" "\
@ -19,8 +19,8 @@ Toggle Imenu support for frameworks and structural patterns.
;;;***
;;;### (autoloads nil "js2-mode" "js2-mode.el" (22518 4413 157886
;;;;;; 136000))
;;;### (autoloads nil "js2-mode" "js2-mode.el" (22523 21232 296322
;;;;;; 105000))
;;; Generated autoloads from js2-mode.el
(autoload 'js2-highlight-unused-variables-mode "js2-mode" "\
@ -56,7 +56,7 @@ variables (`sgml-basic-offset' et al) locally, like so:
;;;***
;;;### (autoloads nil nil ("js2-mode-pkg.el" "js2-old-indent.el")
;;;;;; (22518 4413 149886 96000))
;;;;;; (22523 21232 288322 46000))
;;;***

View File

@ -1,4 +1,4 @@
(define-package "js2-mode" "20161005.1411" "Improved JavaScript editing mode"
(define-package "js2-mode" "20161009.341" "Improved JavaScript editing mode"
'((emacs "24.1")
(cl-lib "0.5"))
:url "https://github.com/mooz/js2-mode/" :keywords

View File

@ -7734,14 +7734,14 @@ is only true until the node is added to its parent; i.e., while parsing."
;; Tell cc-engine the bounds of the comment.
(js2-record-text-property beg (1- end) 'c-in-sws t)))))
(defun js2-peek-token ()
(defun js2-peek-token (&optional modifier)
"Return the next token type without consuming it.
If `js2-ti-lookahead' is positive, return the type of next token
from `js2-ti-tokens'. Otherwise, call `js2-get-token'."
(if (not (zerop js2-ti-lookahead))
(js2-token-type
(aref js2-ti-tokens (mod (1+ js2-ti-tokens-cursor) js2-ti-ntokens)))
(let ((tt (js2-get-token-internal nil)))
(let ((tt (js2-get-token-internal modifier)))
(js2-unget-token)
tt)))
@ -10805,7 +10805,7 @@ expression)."
(when (and (>= js2-language-version 200)
(= js2-NAME tt)
(member prop '("get" "set" "async"))
(member (js2-peek-token)
(member (js2-peek-token 'KEYWORD_IS_NAME)
(list js2-NAME js2-STRING js2-NUMBER js2-LB)))
(setq previous-token (js2-current-token)
tt (js2-get-prop-name-token))))

View File

@ -1,177 +0,0 @@
This is magit.info, produced by makeinfo version 5.2 from magit.texi.
Magit is an interface to the version control system Git, implemented as
an Emacs package. Magit aspires to be a complete Git porcelain. While
we cannot (yet) claim that Magit wraps and improves upon each and every
Git command, it is complete enough to allow even experienced Git users
to perform almost all of their daily version control tasks directly from
within Emacs. While many fine Git clients exist, only Magit and Git
itself deserve to be called porcelains.
Copyright (C) 2015-2016 Jonas Bernoulli <jonas@bernoul.li>
You can redistribute this document and/or modify it under the terms
of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version.
This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
INFO-DIR-SECTION Emacs
START-INFO-DIR-ENTRY
* Magit: (magit). Using Git from Emacs with Magit.
END-INFO-DIR-ENTRY

Indirect:
magit.info-1: 1222
magit.info-2: 320085

Tag Table:
(Indirect)
Node: Top1222
Node: Introduction6446
Node: Installation11169
Node: Updating from an older release11544
Node: Installing from an Elpa archive13139
Node: Installing from the Git repository14478
Node: Post-installation tasks17325
Node: Getting started18714
Node: Interface concepts24443
Node: Modes and Buffers24717
Node: Switching Buffers26462
Node: Naming Buffers31003
Node: Quitting Windows33838
Node: Automatic Refreshing of Magit Buffers35470
Node: Automatic Saving of File-Visiting Buffers38238
Node: Automatic Reverting of File-Visiting Buffers39423
Node: Risk of Reverting Automatically44419
Node: Sections46802
Node: Section movement47743
Node: Section visibility51670
Node: Section hooks55261
Node: Section types and values57542
Node: Section options58812
Node: Popup buffers and prefix commands59284
Node: Completion and confirmation60598
Node: Running Git63504
Node: Viewing Git output63740
Node: Running Git manually64740
Node: Git executable66866
Node: Global Git arguments68873
Node: Inspecting69680
Node: Status buffer70827
Node: Status sections73692
Node: Status header sections79571
Node: Status options82128
Node: Repository list82852
Node: Logging85010
Node: Refreshing logs87748
Node: Log Buffer89133
Node: Select from log92429
Node: Reflog93369
Node: Diffing93847
Node: Refreshing diffs96867
Node: Diff buffer99848
Node: Diff options101750
Node: Revision buffer105050
Node: Ediffing106005
Node: References buffer109595
Node: References sections114305
Node: Bisecting115180
Node: Visiting blobs116919
Node: Blaming117428
Node: Manipulating120858
Node: Repository setup121174
Node: Staging and unstaging122214
Node: Staging from file-visiting buffers126303
Node: Applying127471
Node: Committing129364
Node: Initiating a commit129947
Node: Editing commit messages133259
Node: Branching143655
Node: The two remotes143855
Node: The branch popup146399
Node: The branch config popup155100
Node: Merging161006
Node: Resolving conflicts163174
Ref: orgradiotarget1164259
Node: Rebasing168131
Node: Editing rebase sequences171772
Node: Information about in-progress rebase174802
Ref: Information about in-progress rebase-Footnote-1181638
Node: Cherry picking182224
Node: Reverting183830
Node: Resetting185193
Node: Stashing186705
Node: Transferring189879
Node: Remotes190117
Node: Fetching191403
Node: Pulling192769
Node: Pushing193615
Node: Creating and sending patches198359
Node: Applying patches199054
Node: Miscellaneous200052
Node: Tagging200355
Node: Notes201140
Node: Submodules203665
Node: Listing submodules203880
Node: Submodule popup205699
Node: Subtree206982
Node: Common commands208230
Node: Wip modes209975
Node: Minor mode for buffers visiting files216711
Node: Minor mode for buffers visiting blobs220185
Node: Customizing220990
Node: Per-repository configuration222662
Node: Essential settings224296
Node: Safety224620
Node: Performance226453
Node: Plumbing234415
Node: Calling Git235239
Node: Getting a value from Git236762
Node: Calling Git for effect239866
Node: Section plumbing246370
Node: Creating sections246598
Node: Section selection250497
Node: Matching sections252177
Node: Refreshing buffers257386
Node: Conventions260521
Node: Confirmation and completion260698
Node: Theming Faces261596
Node: FAQ269747
Node: Magit is slow271360
Node: I changed several thousand files at once and now Magit is unusable271561
Node: I am having problems committing272277
Node: Diffs are collapsed after un-/staging272723
Node: I don't understand how branching and pushing work274201
Node: I don't like the key binding in v24274576
Node: I cannot install the pre-requisites for Magit v2274915
Node: I am using an Emacs release older than v244275380
Node: I am using a Git release older than v194276993
Node: I am using MS Windows and cannot push with Magit277980
Node: I am using OS X and SOMETHING works in shell but not in Magit278584
Node: How to install the gitman info manual?279375
Node: How can I show Git's output?281916
Node: Diffs contain control sequences282703
Node: Expanding a file to show the diff causes it to disappear283708
Node: Point is wrong in the COMMIT_EDITMSG buffer284243
Node: The mode-line information isn't always up-to-date285273
Node: Can Magit be used as ediff-version-control-package?286341
Node: How to show diffs for gpg-encrypted files?288385
Node: Emacs 245 hangs when loading Magit288982
Node: Symbol's value as function is void --some289557
Node: Where is the branch manager289891
Node: Keystroke Index290182
Node: Command Index320085
Node: Function Index350094
Node: Variable Index363988

End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -419,7 +419,7 @@ running 'man git-rebase' at the command line) for details."
(setq save-place nil)))
(defun git-rebase-cancel-confirm (force)
(or (not (buffer-modified-p)) force (y-or-n-p "Abort this rebase? ")))
(or (not (buffer-modified-p)) force (magit-y-or-n-p "Abort this rebase? ")))
(defun git-rebase-autostash-save ()
(--when-let (magit-file-line (magit-git-dir "rebase-merge/autostash"))

View File

@ -3,8 +3,8 @@
;;; Code:
(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "git-rebase" "git-rebase.el" (22518 23931 262097
;;;;;; 370000))
;;;### (autoloads nil "git-rebase" "git-rebase.el" (22523 21243 636405
;;;;;; 758000))
;;; Generated autoloads from git-rebase.el
(autoload 'git-rebase-mode "git-rebase" "\
@ -23,7 +23,7 @@ running 'man git-rebase' at the command line) for details.
;;;***
;;;### (autoloads nil "magit" "magit.el" (22518 23931 346097 642000))
;;;### (autoloads nil "magit" "magit.el" (22523 21243 716406 348000))
;;; Generated autoloads from magit.el
(autoload 'magit-status "magit" "\
@ -76,7 +76,7 @@ existing one.
(autoload 'magit-dired-jump "magit" "\
Visit file at point using Dired.
With a prefix argument, visit in other window. If there
With a prefix argument, visit in another window. If there
is no file at point then instead visit `default-directory'.
\(fn &optional OTHER-WINDOW)" t nil)
@ -501,8 +501,8 @@ Git, and Emacs in the echo area.
;;;***
;;;### (autoloads nil "magit-apply" "magit-apply.el" (22518 23931
;;;;;; 282097 435000))
;;;### (autoloads nil "magit-apply" "magit-apply.el" (22523 21243
;;;;;; 656405 906000))
;;; Generated autoloads from magit-apply.el
(autoload 'magit-stage-file "magit-apply" "\
@ -538,8 +538,8 @@ Remove all changes from the staging area.
;;;***
;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22518
;;;;;; 23931 218097 227000))
;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22523
;;;;;; 21243 588405 405000))
;;; Generated autoloads from magit-autorevert.el
(defvar magit-revert-buffers t)
@ -568,8 +568,8 @@ See `auto-revert-mode' for more information on Auto-Revert mode.
;;;***
;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22518 23931
;;;;;; 274097 410000))
;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22523 21243
;;;;;; 652405 876000))
;;; Generated autoloads from magit-bisect.el
(autoload 'magit-bisect-popup "magit-bisect" nil t)
@ -620,8 +620,8 @@ bisect run'.
;;;***
;;;### (autoloads nil "magit-blame" "magit-blame.el" (22518 23931
;;;;;; 334097 603000))
;;;### (autoloads nil "magit-blame" "magit-blame.el" (22523 21243
;;;;;; 704406 260000))
;;; Generated autoloads from magit-blame.el
(autoload 'magit-blame-popup "magit-blame" nil t)
@ -645,8 +645,8 @@ only arguments available from `magit-blame-popup' should be used.
;;;***
;;;### (autoloads nil "magit-commit" "magit-commit.el" (22518 23931
;;;;;; 226097 254000))
;;;### (autoloads nil "magit-commit" "magit-commit.el" (22523 21243
;;;;;; 604405 523000))
;;; Generated autoloads from magit-commit.el
(autoload 'magit-commit "magit-commit" "\
@ -728,8 +728,8 @@ Create a squash commit targeting COMMIT and instantly rebase.
;;;***
;;;### (autoloads nil "magit-diff" "magit-diff.el" (22518 23931 326097
;;;;;; 578000))
;;;### (autoloads nil "magit-diff" "magit-diff.el" (22523 21243 696406
;;;;;; 200000))
;;; Generated autoloads from magit-diff.el
(autoload 'magit-diff-popup "magit-diff" "\
@ -813,8 +813,8 @@ for a revision.
;;;***
;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22518 23931
;;;;;; 310097 526000))
;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22523 21243
;;;;;; 684406 112000))
;;; Generated autoloads from magit-ediff.el
(autoload 'magit-ediff-popup "magit-ediff" nil t)
@ -902,8 +902,8 @@ stash that were staged.
;;;***
;;;### (autoloads nil "magit-extras" "magit-extras.el" (22518 23931
;;;;;; 230097 268000))
;;;### (autoloads nil "magit-extras" "magit-extras.el" (22523 21243
;;;;;; 608405 552000))
;;; Generated autoloads from magit-extras.el
(autoload 'magit-run-git-gui "magit-extras" "\
@ -973,8 +973,8 @@ on a position in a file-visiting buffer.
;;;***
;;;### (autoloads nil "magit-log" "magit-log.el" (22518 23931 322097
;;;;;; 564000))
;;;### (autoloads nil "magit-log" "magit-log.el" (22523 21243 692406
;;;;;; 171000))
;;; Generated autoloads from magit-log.el
(autoload 'magit-log-buffer-file-popup "magit-log" "\
@ -1056,8 +1056,8 @@ Show commits in a branch that are not merged in the upstream branch.
;;;***
;;;### (autoloads nil "magit-remote" "magit-remote.el" (22518 23931
;;;;;; 366097 706000))
;;;### (autoloads nil "magit-remote" "magit-remote.el" (22523 21243
;;;;;; 740406 526000))
;;; Generated autoloads from magit-remote.el
(autoload 'magit-clone "magit-remote" "\
@ -1289,8 +1289,8 @@ is asked to pull. START has to be reachable from that commit.
;;;***
;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22518
;;;;;; 23931 354097 668000))
;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22523
;;;;;; 21243 724406 407000))
;;; Generated autoloads from magit-sequence.el
(autoload 'magit-sequencer-continue "magit-sequence" "\
@ -1440,8 +1440,8 @@ Abort the current rebase operation, restoring the original branch.
;;;***
;;;### (autoloads nil "magit-stash" "magit-stash.el" (22518 23931
;;;;;; 298097 487000))
;;;### (autoloads nil "magit-stash" "magit-stash.el" (22523 21243
;;;;;; 672406 24000))
;;; Generated autoloads from magit-stash.el
(autoload 'magit-stash-popup "magit-stash" nil t)
@ -1540,8 +1540,8 @@ Show all diffs of a stash in a buffer.
;;;***
;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22518
;;;;;; 23931 386097 771000))
;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22523
;;;;;; 21243 760406 672000))
;;; Generated autoloads from magit-submodule.el
(autoload 'magit-submodule-popup "magit-submodule" nil t)
@ -1631,8 +1631,8 @@ Display a list of the current repository's submodules.
;;;***
;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22518 23931
;;;;;; 266097 383000))
;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22523 21243
;;;;;; 640405 788000))
;;; Generated autoloads from magit-subtree.el
(autoload 'magit-subtree-popup "magit-subtree" nil t)
@ -1668,8 +1668,8 @@ Extract the history of the subtree PREFIX.
;;;***
;;;### (autoloads nil "magit-wip" "magit-wip.el" (22518 23931 242097
;;;;;; 306000))
;;;### (autoloads nil "magit-wip" "magit-wip.el" (22523 21243 620405
;;;;;; 640000))
;;; Generated autoloads from magit-wip.el
(defvar magit-wip-after-save-mode nil "\
@ -1739,7 +1739,7 @@ command which is about to be called are committed.
;;;### (autoloads nil nil ("magit-core.el" "magit-git.el" "magit-mode.el"
;;;;;; "magit-pkg.el" "magit-process.el" "magit-section.el" "magit-utils.el")
;;;;;; (22518 23931 374097 733000))
;;;;;; (22523 21243 744406 555000))
;;;***

View File

@ -249,12 +249,11 @@ depending on the value of option `magit-commit-squash-confirm'."
(unless edit
(push "--no-edit" args))
(if rebase
(with-editor "GIT_EDITOR"
(let ((magit-process-popup-time -1))
(magit-call-git
"commit" (-remove-first
(apply-partially #'string-match-p "\\`--gpg-sign=")
args))))
(magit-with-editor
(magit-call-git
"commit" (-remove-first
(apply-partially #'string-match-p "\\`--gpg-sign=")
args)))
(magit-run-git-with-editor "commit" args)))
(magit-log-select
`(lambda (commit)

View File

@ -34,7 +34,7 @@
;; For `magit-diff-popup'
(declare-function magit-stash-show 'magit-stash)
;; For `magit-diff-visit-file'
(declare-function magit-dired-jump 'magit)
(declare-function dired-jump 'dired-x)
(declare-function magit-find-file-noselect 'magit)
(declare-function magit-status-internal 'magit)
;; For `magit-diff-while-committing'
@ -112,11 +112,8 @@ instead customize `magit-diff-highlight-hunk-region-functions'."
"Magit 2.9.0")
(defcustom magit-diff-highlight-hunk-region-functions
`(magit-diff-highlight-hunk-region-dim-outside
,@(and magit-diff-show-lines-boundary
(list (if t ;(version< emacs-version "25.1")
'magit-diff-highlight-hunk-region-using-overlays
'magit-diff-highlight-hunk-region-using-underline))))
'(magit-diff-highlight-hunk-region-dim-outside
magit-diff-highlight-hunk-region-using-overlays)
"The functions used to highlight the hunk-internal region.
`magit-diff-highlight-hunk-region-dim-outside' overlays the outside
@ -124,15 +121,12 @@ of the hunk internal selection with a face that causes the added and
removed lines to have the same background color as context lines.
This function should not be removed from the value of this option.
TEMPORARY NOTICE: there is a severe bug in
`magit-diff-highlight-hunk-region-using-underline'
and it has been temporarily removed.
`magit-diff-highlight-hunk-region-using-overlays' and
`magit-diff-highlight-hunk-region-using-underline' emphasize the
region by placing delimiting horizonal lines before and after it.
Which implementation is preferable depends on the Emacs version,
and the more suitable one is part of the default value.
Both of these functions have glitches which cannot be fixed due
to limitations of Emacs' display engine. For more information
see https://github.com/magit/magit/issues/2758 ff.
Instead of, or in addition to, using delimiting horizontal lines,
to emphasize the boundaries, you may which to emphasize the text
@ -146,6 +140,7 @@ calling the face function instead."
:group 'magit-diff
:type 'hook
:options '(magit-diff-highlight-hunk-region-dim-outside
magit-diff-highlight-hunk-region-using-underline
magit-diff-highlight-hunk-region-using-overlays
magit-diff-highlight-hunk-region-using-face))
@ -316,7 +311,7 @@ and https://debbugs.gnu.org/cgi/bugreport.cgi?bug=7847."
:group 'magit-faces)
(defface magit-diff-file-heading-highlight
'((t :inherit (magit-diff-file-heading magit-section-highlight)))
'((t :inherit (magit-section-highlight)))
"Face for current diff file headings."
:group 'magit-faces)
@ -1030,15 +1025,23 @@ Customize variable `magit-diff-refine-hunk' to change the default mode."
(defun magit-diff-visit-file (file &optional other-window force-worktree)
"From a diff, visit the corresponding file at the appropriate position.
When the file is already being displayed in another window of the
same frame, then just select that window and adjust point. With
a prefix argument also display in another window.
If the diff shows changes in the worktree, the index, or `HEAD',
then visit the actual file. Otherwise when the diff is about
an older commit, then visit the respective blob using
`magit-find-file'. Also see `magit-diff-visit-file-worktree'
which, as the name suggests always visits the actual file."
then visit the actual file. Otherwise, when the diff is about an
older commit or a range, then visit the appropriate blob.
If point is on a removed line, then visit the blob for the first
parent of the commit which removed that line, i.e. the last
commit where that line still existed. Otherwise visit the blob
for the commit whose changes are being shown.
When the diff is about a range of commits, then, for the time
being, the point this function jumps to often is only an
approximation.
When the file or blob to be displayed is already being displayed
in another window of the same frame, then just select that window
and adjust point. Otherwise, or with a prefix argument, display
the buffer in another window."
(interactive (list (--if-let (magit-file-at-point)
(expand-file-name it)
(user-error "No file at point"))
@ -1061,17 +1064,25 @@ which, as the name suggests always visits the actual file."
((derived-mode-p 'magit-diff-mode)
(--when-let (car magit-refresh-args)
(and (string-match "\\.\\.\\([^.].*\\)?[ \t]*\\'" it)
(match-string 1 it))))))
(match-string 1 it))))
((derived-mode-p 'magit-status-mode)
(magit-rev-name "HEAD"))))
(unmerged-p (magit-anything-unmerged-p file))
hunk line col buffer)
(when (and rev (magit-rev-head-p rev))
(setq rev nil))
(setq hunk
(pcase (magit-diff-scope)
((or `hunk `region) current)
((or `file `files) (car (magit-section-children current)))
(`list (car (magit-section-children
(car (magit-section-children current)))))))
(pcase (magit-diff-scope)
((or `hunk `region)
(cond ((not rev))
((save-excursion (goto-char (line-beginning-position))
(looking-at "-"))
(setq rev (magit-rev-name (concat rev "~"))))
((magit-rev-head-p rev)
(setq rev nil)))
(setq hunk current))
((or `file `files)
(setq hunk (car (magit-section-children current))))
(`list
(setq hunk (car (magit-section-children
(car (magit-section-children current)))))))
(when (and hunk
;; Currently the `hunk' type is also abused for file
;; mode changes. Luckily such sections have no value.
@ -1138,9 +1149,12 @@ or `HEAD'."
(prefix (- (length value) 2))
(cpos (marker-position (magit-section-content section)))
(stop (line-number-at-pos))
(cstart (save-excursion (goto-char cpos) (line-number-at-pos)))
(line (car (last value))))
(string-match "^\\+\\([0-9]+\\)" line)
(cstart (save-excursion (goto-char cpos)
(line-number-at-pos)))
(prior (save-excursion (goto-char (line-beginning-position))
(looking-at "-")))
(line (nth (if prior 1 2) value)))
(string-match (format "^%s\\([0-9]+\\)" (if prior "-" "\\+")) line)
(setq line (string-to-number (match-string 1 line)))
(when (> cstart stop)
(save-excursion
@ -1151,7 +1165,8 @@ or `HEAD'."
(goto-char cpos)
(while (< (line-number-at-pos) stop)
(unless (string-match-p
"-" (buffer-substring (point) (+ (point) prefix)))
(if prior "\\+" "-")
(buffer-substring (point) (+ (point) prefix)))
(cl-incf line))
(forward-line)))
line))
@ -1166,7 +1181,7 @@ or `HEAD'."
(defun magit-diff-visit-directory (directory &optional other-window)
(if (equal (magit-toplevel directory)
(magit-toplevel))
(magit-dired-jump other-window)
(dired-jump other-window (concat directory "/."))
(let ((display-buffer-overriding-action
(if other-window
'(nil (inhibit-same-window t))
@ -2217,6 +2232,33 @@ other method."
(magit-diff--make-hunk-overlay end (1+ end) 'after-string str))
(magit-diff-highlight-hunk-region-using-face section)))
(defun magit-diff-highlight-hunk-region-using-underline (section)
"Emphasize the hunk-internal region using delimiting horizontal lines.
This is implemented by overlining and underlining the first and
last (visual) lines of the region. In Emacs 24, using this
method causes `move-end-of-line' to jump to the next line, so
we only use it in Emacs 25 where that glitch was fixed (see
https://github.com/magit/magit/pull/2293 for more details)."
(if (window-system)
(let* ((beg (magit-diff-hunk-region-beginning))
(end (magit-diff-hunk-region-end))
(beg-eol (save-excursion (goto-char beg)
(end-of-visual-line)
(point)))
(end-bol (save-excursion (goto-char end)
(beginning-of-visual-line)
(point)))
(color (face-background 'magit-diff-lines-boundary nil t)))
(cl-flet ((ln (b e &rest face)
(magit-diff--make-hunk-overlay
b e 'face face 'after-string
(magit-diff--hunk-after-string face))))
(if (= beg end-bol)
(ln beg beg-eol :overline color :underline color)
(ln beg beg-eol :overline color)
(ln end-bol end :underline color))))
(magit-diff-highlight-hunk-region-using-face section)))
(defun magit-diff--make-hunk-overlay (start end &rest args)
(let ((ov (make-overlay start end nil t)))
(overlay-put ov 'evaporate t)
@ -2227,8 +2269,11 @@ other method."
(defun magit-diff--hunk-after-string (face)
(propertize "\s"
'face face
'display (list 'space :align-to `(+ (,(window-body-width nil t))
,(window-hscroll)))
'display (list 'space :align-to
`(+ (0 . right)
,(min (window-hscroll)
(- (line-end-position)
(line-beginning-position)))))
;; This prevents the cursor from being rendered at the
;; edge of the window.
'cursor t))

View File

@ -96,7 +96,9 @@
:type 'string)
(defcustom magit-git-global-arguments
'("--no-pager" "--literal-pathspecs" "-c" "core.preloadindex=true")
`("--no-pager" "--literal-pathspecs" "-c" "core.preloadindex=true"
,@(and (eq system-type 'windows-nt)
(list "-c" "i18n.logOutputEncoding=UTF-8")))
"Global git arguments.
The arguments set here are used every time the git executable is
@ -110,13 +112,11 @@ anything that is part of the default value, unless you really
know what you are doing. And think very hard before adding
something; it will be used every time Magit runs Git for any
purpose."
:package-version '(magit . "2.1.0")
:package-version '(magit . "2.9.0")
:group 'magit
:group 'magit-process
:type '(repeat string))
(define-obsolete-variable-alias 'magit-git-standard-options
'magit-git-global-arguments "2.1.0")
(defcustom magit-git-debug nil
"Whether to enable additional reporting of git errors.
@ -203,6 +203,25 @@ change the upstream and many which create new branches."
value)))
,@body)))
(defmacro magit-with-editor (&rest body)
"Like `with-editor' but let-bind some more variables."
(declare (indent 0) (debug (body)))
`(let ((magit-process-popup-time -1)
;; The user may have customized `shell-file-name' to
;; something which results in `w32-shell-dos-semantics' nil
;; (which changes the quoting style used by
;; `shell-quote-argument'), but Git for Windows expects shell
;; quoting in the dos style.
(shell-file-name (if (and (eq system-type 'windows-nt)
;; If we have Cygwin mount points
;; the git flavor is cygwin, so dos
;; shell quoting is probably wrong.
(not magit-cygwin-mount-points))
"cmdproxy"
shell-file-name)))
(with-editor "GIT_EDITOR"
,@body)))
(defun magit-process-git-arguments (args)
"Prepare ARGS for a function that invokes Git.
@ -1041,9 +1060,9 @@ where COMMITS is the number of commits in TAG but not in REV."
(defun magit-list-worktrees ()
(let (worktrees worktree)
(dolist (line (let ((magit-git-standard-options
(dolist (line (let ((magit-git-global-arguments
;; KLUDGE At least in v2.8.3 this triggers a segfault.
(remove "--no-pager" magit-git-standard-options)))
(remove "--no-pager" magit-git-global-arguments)))
(magit-git-lines "worktree" "list" "--porcelain")))
(cond ((string-prefix-p "worktree" line)
(push (setq worktree (list (substring line 9) nil nil nil))
@ -1394,18 +1413,20 @@ Return a list of two integers: (A>B B>A)."
(and (not (equal previous branch)) previous)))))
(defun magit-read-starting-point (prompt)
(or (magit-completing-read
(concat prompt " starting at")
(cons "HEAD" (magit-list-refnames))
nil nil nil 'magit-revision-history
(or (let ((r (magit-remote-branch-at-point))
(l (magit-local-branch-at-point)))
(if magit-prefer-remote-upstream (or r l) (or l r)))
(magit-commit-at-point)
(magit-stash-at-point)
(magit-get-current-branch)))
(or (magit-completing-read (concat prompt " starting at")
(cons "HEAD" (magit-list-refnames))
nil nil nil 'magit-revision-history
(magit--default-starting-point))
(user-error "Nothing selected")))
(defun magit--default-starting-point ()
(or (let ((r (magit-remote-branch-at-point))
(l (magit-local-branch-at-point)))
(if magit-prefer-remote-upstream (or r l) (or l r)))
(magit-commit-at-point)
(magit-stash-at-point)
(magit-get-current-branch)))
(defun magit-read-tag (prompt &optional require-match)
(magit-completing-read prompt (magit-list-tags) nil
require-match nil 'magit-revision-history
@ -1437,20 +1458,44 @@ Return a list of two integers: (A>B B>A)."
(magit-remote-at-point)
(magit-get-remote))))
(defun magit-read-module-path (prompt)
(magit-completing-read prompt (magit-get-submodules)))
;;; Variables
(defun magit-config-get-from-cached-list (key)
(gethash
;; `git config --list' downcases first and last components of the key.
(--> key
(replace-regexp-in-string "\\`[^.]+" #'downcase it t t)
(replace-regexp-in-string "[^.]+\\'" #'downcase it t t))
(magit--with-refresh-cache (list 'config (magit-toplevel))
(let ((configs (make-hash-table :test 'equal)))
(dolist (conf (magit-git-items "config" "--list" "-z"))
(let* ((nl-pos (cl-position ?\n conf))
(key (substring conf 0 nl-pos))
(val (if nl-pos (substring conf (1+ nl-pos)) "")))
(puthash key (nconc (gethash key configs) (list val)) configs)))
configs))))
(defun magit-get (&rest keys)
"Return the value of Git config entry specified by KEYS."
(magit-git-str "config" (mapconcat 'identity keys ".")))
(car (last (apply 'magit-get-all keys))))
(defun magit-get-all (&rest keys)
"Return all values of the Git config entry specified by KEYS."
(let ((magit-git-debug nil))
(magit-git-items "config" "-z" "--get-all" (mapconcat 'identity keys "."))))
(let ((magit-git-debug nil)
(key (mapconcat 'identity keys ".")))
(if magit--refresh-cache
(magit-config-get-from-cached-list key)
(magit-git-items "config" "-z" "--get-all" key))))
(defun magit-get-boolean (&rest keys)
"Return the boolean value of Git config entry specified by KEYS."
(magit-git-true "config" "--bool" (mapconcat 'identity keys ".")))
(let ((key (mapconcat 'identity keys ".")))
(if magit--refresh-cache
(equal "true" (car (magit-config-get-from-cached-list key)))
(magit-git-true "config" "--bool" key))))
(defun magit-set (val &rest keys)
"Set Git config settings specified by KEYS to VAL."
@ -1465,6 +1510,8 @@ Return a list of two integers: (A>B B>A)."
;;; magit-git.el ends soon
(define-obsolete-variable-alias 'magit-git-standard-options
'magit-git-global-arguments "Magit 2.1.0")
(define-obsolete-function-alias 'magit-get-tracked-ref
'magit-get-upstream-ref "Magit 2.4.0")
(define-obsolete-function-alias 'magit-get-tracked-branch

View File

@ -282,9 +282,6 @@ the upstream isn't ahead of the current branch) show."
:group 'magit-status
:type '(repeat (string :tag "Argument")))
(define-obsolete-variable-alias 'magit-log-section-args
'magit-log-section-arguments "2.2.0")
;;; Commands
(defvar magit-log-popup
@ -1511,6 +1508,8 @@ and the respective options are `magit-log-show-margin' and
;;; magit-log.el ends soon
(define-obsolete-variable-alias 'magit-log-section-args
'magit-log-section-arguments "Magit 2.2.0")
(define-obsolete-function-alias 'magit-insert-unpulled-or-recent-commits
'magit-insert-unpulled-from-upstream-or-recent "Magit 2.4.0")

View File

@ -465,8 +465,12 @@ Magit is documented in info node `(magit)'."
(defvar-local magit-region-overlays nil)
(defun magit-highlight-region (start end window rol)
(defun magit-delete-region-overlays ()
(mapc #'delete-overlay magit-region-overlays)
(setq magit-region-overlays nil))
(defun magit-highlight-region (start end window rol)
(magit-delete-region-overlays)
(if (and (run-hook-with-args-until-success 'magit-region-highlight-hook
(magit-current-section))
(not magit-keep-region-overlay))
@ -476,7 +480,7 @@ Magit is documented in info node `(magit)'."
(defun magit-unhighlight-region (rol)
(setq magit-section-highlighted-section nil)
(mapc #'delete-overlay magit-region-overlays)
(magit-delete-region-overlays)
(funcall (default-value 'redisplay-unhighlight-region-function) rol))
(defvar-local magit-refresh-args nil

View File

@ -1,4 +1,4 @@
(define-package "magit" "20161006.346" "A Git porcelain inside Emacs"
(define-package "magit" "20161009.1658" "A Git porcelain inside Emacs"
'((emacs "24.4")
(async "20160711.223")
(dash "20160820.501")

View File

@ -45,14 +45,17 @@
;;; Options
(defcustom magit-log-output-coding-system 'utf-8
"Default coding system for receiving log output from Git.
(defcustom magit-git-output-coding-system
(and (eq system-type 'windows-nt) 'utf-8)
"Coding system for receiving output from Git.
Should be consistent with the Git config value `i18n.logOutputEncoding'."
:package-version '(magit . "2.8.0")
If non-nil, the Git config value `i18n.logOutputEncoding' should
be set via `magit-git-global-arguments' to value consistent with
this."
:package-version '(magit . "2.9.0")
:group 'magit-process
:group 'magit-log
:type '(coding-system :tag "Coding system to decode Git log output"))
:type '(choice (coding-system :tag "Coding system to decode Git output")
(const :tag "Use system default" nil)))
(defcustom magit-process-connection-type (not (eq system-type 'cygwin))
"Connection type used for the Git process.
@ -303,8 +306,7 @@ before use.
Process output goes into a new section in the buffer returned by
`magit-process-buffer'."
(run-hooks 'magit-pre-call-git-hook)
(let ((coding-system-for-read
(or coding-system-for-read magit-log-output-coding-system)))
(let ((default-process-coding-system (magit--process-coding-system)))
(apply #'magit-call-process magit-git-executable
(magit-process-git-arguments args))))
@ -410,9 +412,7 @@ current when this function was called (if it is a Magit buffer
and still alive), as well as the respective Magit status buffer.
See `magit-start-process' and `with-editor' for more information."
(with-editor "GIT_EDITOR"
(let ((magit-process-popup-time -1))
(magit-run-git-async args))))
(magit-with-editor (magit-run-git-async args)))
(defun magit-run-git-sequencer (&rest args)
"Export GIT_EDITOR and start Git.
@ -428,9 +428,7 @@ If the sequence stops at a commit, make the section representing
that commit the current section by moving `point' there.
See `magit-start-process' and `with-editor' for more information."
(with-editor "GIT_EDITOR"
(let ((magit-process-popup-time -1))
(magit-run-git-async args)))
(apply #'magit-run-git-with-editor args)
(set-process-sentinel magit-this-process #'magit-sequencer-process-sentinel)
magit-this-process)
@ -454,8 +452,7 @@ and still alive), as well as the respective Magit status buffer.
See `magit-start-process' for more information."
(run-hooks 'magit-pre-start-git-hook)
(let ((coding-system-for-read
(or coding-system-for-read magit-log-output-coding-system)))
(let ((default-process-coding-system (magit--process-coding-system)))
(apply #'magit-start-process magit-git-executable input
(magit-process-git-arguments args))))
@ -593,7 +590,8 @@ Magit status buffer."
"Special sentinel used by `magit-run-git-sequencer'."
(when (memq (process-status process) '(exit signal))
(magit-process-sentinel process event)
(--when-let (magit-mode-get-buffer 'magit-status-mode)
(--when-let (with-current-buffer (process-get process 'command-buf)
(magit-mode-get-buffer 'magit-status-mode))
(with-current-buffer it
(--when-let
(magit-get-section
@ -700,12 +698,13 @@ Return the matched string suffixed with \": \", if needed."
(t (concat prompt ": "))))))
(defun magit--process-coding-system ()
(if magit-process-ensure-unix-line-ending
(cons (coding-system-change-eol-conversion
(car default-process-coding-system) 'unix)
(coding-system-change-eol-conversion
(cdr default-process-coding-system) 'unix))
default-process-coding-system))
(let ((fro (or magit-git-output-coding-system
(car default-process-coding-system)))
(to (cdr default-process-coding-system)))
(if magit-process-ensure-unix-line-ending
(cons (coding-system-change-eol-conversion fro 'unix)
(coding-system-change-eol-conversion to 'unix))
(cons fro to))))
(defvar magit-credential-hook nil
"Hook run before Git needs credentials.")
@ -832,8 +831,10 @@ as argument."
"Git failed")))
(if magit-process-raise-error
(signal 'magit-git-error (list (format "%s (in %s)" msg default-dir)))
(--when-let (magit-mode-get-buffer 'magit-status-mode)
(setq magit-this-error msg))
(--when-let (with-current-buffer command-buf
(magit-mode-get-buffer 'magit-status-mode))
(with-current-buffer it
(setq magit-this-error msg)))
(message "%s ... [%s buffer %s for details]" msg
(-if-let (key (and (buffer-live-p command-buf)
(with-current-buffer command-buf
@ -864,6 +865,10 @@ as argument."
process))))))
;;; magit-process.el ends soon
(define-obsolete-variable-alias 'magit-git-output-coding-system
'magit-log-output-coding-system "Magit 2.9.0")
(provide 'magit-process)
;; Local Variables:
;; indent-tabs-mode: nil

View File

@ -174,7 +174,7 @@ For each section insert the path and the output of `git describe --tags'."
(dolist (module modules)
(let ((default-directory
(expand-file-name (file-name-as-directory module))))
(magit-insert-section (file module t)
(magit-insert-section (submodule module t)
(insert (propertize (format col-format module)
'face 'magit-diff-file-heading))
(if (not (file-exists-p ".git"))
@ -196,6 +196,41 @@ For each section insert the path and the output of `git describe --tags'."
map)
"Keymap for `submodules' sections.")
(defvar magit-submodule-section-map
(let ((map (make-sparse-keymap)))
(define-key map [C-return] 'magit-submodule-visit)
(define-key map "\C-j" 'magit-submodule-visit)
(define-key map [remap magit-visit-thing] 'magit-submodule-visit)
(define-key map [remap magit-delete-thing] 'magit-submodule-deinit)
(define-key map "K" 'magit-file-untrack)
(define-key map "R" 'magit-file-rename)
map)
"Keymap for `submodule' sections.")
(defun magit-submodule-visit (module &optional other-window)
"Visit MODULE by calling `magit-status' on it.
Offer to initialize MODULE if it's not checked out yet.
With a prefix argument, visit in another window."
(interactive (list (or (magit-section-when submodule)
(magit-read-module-path "Visit module"))
current-prefix-arg))
(magit-with-toplevel
(let ((path (expand-file-name module)))
(if (and (not (file-exists-p (expand-file-name ".git" module)))
(not (y-or-n-p (format "Initialize submodule '%s' first?"
module))))
(when (file-exists-p path)
(dired-jump other-window (concat path "/.")))
(magit-run-git-async "submodule" "update" "--init" "--" module)
(set-process-sentinel
magit-this-process
(lambda (process event)
(let ((magit-process-raise-error t))
(magit-process-sentinel process event))
(when (and (eq (process-status process) 'exit)
(= (process-exit-status process) 0))
(magit-diff-visit-directory path other-window))))))))
;;;###autoload
(defun magit-insert-modules-unpulled-from-upstream ()
"Insert sections for modules that haven't been pulled from the upstream.

View File

@ -62,6 +62,34 @@ want Magit to use Helm for completion, you can set this option to
(function-item helm--completing-read-default)
(function :tag "Other")))
(defcustom magit-no-confirm-default nil
"A list of commands which should just use the default choice.
Many commands let the user choose the target they act on offering
a sensible default as default choice. If you think that that
default is so sensible that it should always be used without even
offering other choices, then add that command here.
Commands have to explicitly support this option. Currently only
these commands do:
`magit-branch'
`magit-branch-and-checkout'
`magit-branch-orphan'
`magit-worktree-branch'
For these four commands `magit-branch-read-upstream-first'
must be non-nil, or adding them here has no effect.
`magit-branch-rename'
`magit-tag'"
:package-version '(magit . "2.9.0")
:group 'magit-commands
:type '(list :convert-widget custom-hook-convert-widget)
:options '(magit-branch
magit-branch-and-checkout
magit-branch-orphan
magit-branch-rename
magit-worktree-branch
magit-tag))
(defcustom magit-no-confirm nil
"A list of symbols for actions Magit should not confirm, or t.
@ -153,6 +181,7 @@ Global settings:
as adding all of these symbols individually."
:package-version '(magit . "2.1.0")
:group 'magit
:group 'magit-commands
:type '(choice (const :tag "No confirmation needed" t)
(set (const reverse) (const discard)
(const rename) (const resurrect)
@ -163,6 +192,15 @@ Global settings:
(const stage-all-changes) (const unstage-all-changes)
(const safe-with-wip))))
(defcustom magit-slow-confirm nil
"Whether to ask user \"y or n\" or \"yes or no\" questions.
When this is nil (the default), then `y-or-n-p' is used when the
user has to confirm a potentially destructive action. When this
is non-nil, then `yes-or-no-p' is used instead."
:package-version '(magit . "2.9.0")
:group 'magit-commands
:type 'boolean)
(defcustom magit-no-message nil
"A list of messages Magit should not display.
@ -338,6 +376,13 @@ This is similar to `read-string', but
',(mapcar 'car clauses))
,@(--map `(,(car it) ,@(cddr it)) clauses)))
(defun magit-y-or-n-p (prompt)
"Ask user a \"y or n\" or a \"yes or no\" question.
Also see option `magit-slow-confirm'."
(if magit-slow-confirm
(yes-or-no-p prompt)
(y-or-n-p prompt)))
(cl-defun magit-confirm (action &optional prompt prompt-n (items nil sitems))
(declare (indent defun))
(setq prompt-n (format (concat (or prompt-n prompt) "? ") (length items))
@ -355,9 +400,9 @@ This is similar to `read-string', but
unstage-all-changes))))))
(or (not sitems) items))
((not sitems)
(y-or-n-p prompt))
(magit-y-or-n-p prompt))
((= (length items) 1)
(and (y-or-n-p prompt) items))
(and (magit-y-or-n-p prompt) items))
((> (length items) 1)
(let ((buffer (get-buffer-create " *Magit Confirm*")))
(with-current-buffer buffer
@ -366,7 +411,7 @@ This is similar to `read-string', but
'((window-height . fit-window-to-buffer)))
(lambda (window _value)
(with-selected-window window
(unwind-protect (and (y-or-n-p prompt-n) items)
(unwind-protect (and (magit-y-or-n-p prompt-n) items)
(when (window-live-p window)
(quit-restore-window window 'kill)))))
(dolist (item items)

Some files were not shown because too many files have changed in this diff Show More