diff --git a/elpa/company-20160730.1516/company-abbrev.el b/elpa/company-20160829.1206/company-abbrev.el similarity index 100% rename from elpa/company-20160730.1516/company-abbrev.el rename to elpa/company-20160829.1206/company-abbrev.el diff --git a/elpa/company-20160730.1516/company-autoloads.el b/elpa/company-20160829.1206/company-autoloads.el similarity index 81% rename from elpa/company-20160730.1516/company-autoloads.el rename to elpa/company-20160829.1206/company-autoloads.el index 745ff6c..4d4f0ac 100644 --- a/elpa/company-20160730.1516/company-autoloads.el +++ b/elpa/company-20160829.1206/company-autoloads.el @@ -1,9 +1,10 @@ ;;; company-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "company" "company.el" (22454 5294 352599 524000)) +;;;### (autoloads nil "company" "company.el" (22490 24940 331394 +;;;;;; 500000)) ;;; Generated autoloads from company.el (autoload 'company-mode "company" "\ @@ -37,9 +38,8 @@ keymap during active completions (`company-active-map'): \(fn &optional ARG)" t nil) (defvar global-company-mode nil "\ -Non-nil if Global Company mode is enabled. -See the `global-company-mode' command -for a description of this minor mode. +Non-nil if Global-Company mode is enabled. +See the command `global-company-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `global-company-mode'.") @@ -48,7 +48,7 @@ or call the function `global-company-mode'.") (autoload 'global-company-mode "company" "\ Toggle Company mode in all buffers. -With prefix ARG, enable Global Company mode if ARG is positive; +With prefix ARG, enable Global-Company mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. @@ -73,8 +73,8 @@ inserted. ;;;*** -;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (22454 -;;;;;; 5294 949613 562000)) +;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (22490 +;;;;;; 24940 399394 311000)) ;;; Generated autoloads from company-abbrev.el (autoload 'company-abbrev "company-abbrev" "\ @@ -84,8 +84,8 @@ inserted. ;;;*** -;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (22454 5294 -;;;;;; 768609 306000)) +;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (22490 24940 +;;;;;; 379394 367000)) ;;; Generated autoloads from company-bbdb.el (autoload 'company-bbdb "company-bbdb" "\ @@ -95,8 +95,8 @@ inserted. ;;;*** -;;;### (autoloads nil "company-css" "company-css.el" (22454 5294 -;;;;;; 307598 466000)) +;;;### (autoloads nil "company-css" "company-css.el" (22490 24940 +;;;;;; 327394 512000)) ;;; Generated autoloads from company-css.el (autoload 'company-css "company-css" "\ @@ -106,8 +106,8 @@ inserted. ;;;*** -;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (22454 -;;;;;; 5294 565604 532000)) +;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (22490 +;;;;;; 24940 355394 433000)) ;;; Generated autoloads from company-dabbrev.el (autoload 'company-dabbrev "company-dabbrev" "\ @@ -118,7 +118,7 @@ dabbrev-like `company-mode' completion backend. ;;;*** ;;;### (autoloads nil "company-dabbrev-code" "company-dabbrev-code.el" -;;;;;; (22454 5294 475602 417000)) +;;;;;; (22490 24940 347394 456000)) ;;; Generated autoloads from company-dabbrev-code.el (autoload 'company-dabbrev-code "company-dabbrev-code" "\ @@ -130,8 +130,8 @@ comments or strings. ;;;*** -;;;### (autoloads nil "company-elisp" "company-elisp.el" (22454 5295 -;;;;;; 17615 161000)) +;;;### (autoloads nil "company-elisp" "company-elisp.el" (22490 24940 +;;;;;; 407394 288000)) ;;; Generated autoloads from company-elisp.el (autoload 'company-elisp "company-elisp" "\ @@ -141,8 +141,8 @@ comments or strings. ;;;*** -;;;### (autoloads nil "company-etags" "company-etags.el" (22454 5294 -;;;;;; 396600 559000)) +;;;### (autoloads nil "company-etags" "company-etags.el" (22490 24940 +;;;;;; 339394 478000)) ;;; Generated autoloads from company-etags.el (autoload 'company-etags "company-etags" "\ @@ -152,8 +152,8 @@ comments or strings. ;;;*** -;;;### (autoloads nil "company-files" "company-files.el" (22454 5294 -;;;;;; 611605 614000)) +;;;### (autoloads nil "company-files" "company-files.el" (22490 24940 +;;;;;; 363394 410000)) ;;; Generated autoloads from company-files.el (autoload 'company-files "company-files" "\ @@ -165,8 +165,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-gtags" "company-gtags.el" (22454 5294 -;;;;;; 137594 469000)) +;;;### (autoloads nil "company-gtags" "company-gtags.el" (22490 24940 +;;;;;; 299394 590000)) ;;; Generated autoloads from company-gtags.el (autoload 'company-gtags "company-gtags" "\ @@ -176,8 +176,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-ispell" "company-ispell.el" (22454 -;;;;;; 5294 983614 361000)) +;;;### (autoloads nil "company-ispell" "company-ispell.el" (22490 +;;;;;; 24940 403394 299000)) ;;; Generated autoloads from company-ispell.el (autoload 'company-ispell "company-ispell" "\ @@ -187,8 +187,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-keywords" "company-keywords.el" (22454 -;;;;;; 5294 678607 190000)) +;;;### (autoloads nil "company-keywords" "company-keywords.el" (22490 +;;;;;; 24940 371394 389000)) ;;; Generated autoloads from company-keywords.el (autoload 'company-keywords "company-keywords" "\ @@ -198,8 +198,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-nxml" "company-nxml.el" (22454 5294 -;;;;;; 802610 105000)) +;;;### (autoloads nil "company-nxml" "company-nxml.el" (22490 24940 +;;;;;; 383394 355000)) ;;; Generated autoloads from company-nxml.el (autoload 'company-nxml "company-nxml" "\ @@ -209,8 +209,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (22454 -;;;;;; 5294 239596 867000)) +;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (22490 +;;;;;; 24940 319394 534000)) ;;; Generated autoloads from company-oddmuse.el (autoload 'company-oddmuse "company-oddmuse" "\ @@ -220,8 +220,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-semantic" "company-semantic.el" (22454 -;;;;;; 5294 171595 268000)) +;;;### (autoloads nil "company-semantic" "company-semantic.el" (22490 +;;;;;; 24940 303394 579000)) ;;; Generated autoloads from company-semantic.el (autoload 'company-semantic "company-semantic" "\ @@ -231,8 +231,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-tempo" "company-tempo.el" (22454 5294 -;;;;;; 520603 474000)) +;;;### (autoloads nil "company-tempo" "company-tempo.el" (22490 24940 +;;;;;; 351394 444000)) ;;; Generated autoloads from company-tempo.el (autoload 'company-tempo "company-tempo" "\ @@ -242,8 +242,8 @@ File paths with spaces are only supported inside strings. ;;;*** -;;;### (autoloads nil "company-xcode" "company-xcode.el" (22454 5294 -;;;;;; 871611 728000)) +;;;### (autoloads nil "company-xcode" "company-xcode.el" (22490 24940 +;;;;;; 395394 322000)) ;;; Generated autoloads from company-xcode.el (autoload 'company-xcode "company-xcode" "\ @@ -254,7 +254,7 @@ File paths with spaces are only supported inside strings. ;;;*** ;;;### (autoloads nil "company-yasnippet" "company-yasnippet.el" -;;;;;; (22454 5294 837610 928000)) +;;;;;; (22490 24940 391394 333000)) ;;; Generated autoloads from company-yasnippet.el (autoload 'company-yasnippet "company-yasnippet" "\ @@ -286,7 +286,7 @@ shadow backends that come after it. Recommended usages: ;;;### (autoloads nil nil ("company-capf.el" "company-clang.el" "company-cmake.el" ;;;;;; "company-eclim.el" "company-pkg.el" "company-template.el") -;;;;;; (22454 5294 726608 318000)) +;;;;;; (22490 24940 420783 348000)) ;;;*** diff --git a/elpa/company-20160730.1516/company-bbdb.el b/elpa/company-20160829.1206/company-bbdb.el similarity index 100% rename from elpa/company-20160730.1516/company-bbdb.el rename to elpa/company-20160829.1206/company-bbdb.el diff --git a/elpa/company-20160730.1516/company-capf.el b/elpa/company-20160829.1206/company-capf.el similarity index 100% rename from elpa/company-20160730.1516/company-capf.el rename to elpa/company-20160829.1206/company-capf.el diff --git a/elpa/company-20160730.1516/company-clang.el b/elpa/company-20160829.1206/company-clang.el similarity index 100% rename from elpa/company-20160730.1516/company-clang.el rename to elpa/company-20160829.1206/company-clang.el diff --git a/elpa/company-20160730.1516/company-cmake.el b/elpa/company-20160829.1206/company-cmake.el similarity index 100% rename from elpa/company-20160730.1516/company-cmake.el rename to elpa/company-20160829.1206/company-cmake.el diff --git a/elpa/company-20160730.1516/company-css.el b/elpa/company-20160829.1206/company-css.el similarity index 100% rename from elpa/company-20160730.1516/company-css.el rename to elpa/company-20160829.1206/company-css.el diff --git a/elpa/company-20160730.1516/company-dabbrev-code.el b/elpa/company-20160829.1206/company-dabbrev-code.el similarity index 100% rename from elpa/company-20160730.1516/company-dabbrev-code.el rename to elpa/company-20160829.1206/company-dabbrev-code.el diff --git a/elpa/company-20160730.1516/company-dabbrev.el b/elpa/company-20160829.1206/company-dabbrev.el similarity index 100% rename from elpa/company-20160730.1516/company-dabbrev.el rename to elpa/company-20160829.1206/company-dabbrev.el diff --git a/elpa/company-20160730.1516/company-eclim.el b/elpa/company-20160829.1206/company-eclim.el similarity index 100% rename from elpa/company-20160730.1516/company-eclim.el rename to elpa/company-20160829.1206/company-eclim.el diff --git a/elpa/company-20160730.1516/company-elisp.el b/elpa/company-20160829.1206/company-elisp.el similarity index 100% rename from elpa/company-20160730.1516/company-elisp.el rename to elpa/company-20160829.1206/company-elisp.el diff --git a/elpa/company-20160730.1516/company-etags.el b/elpa/company-20160829.1206/company-etags.el similarity index 100% rename from elpa/company-20160730.1516/company-etags.el rename to elpa/company-20160829.1206/company-etags.el diff --git a/elpa/company-20160730.1516/company-files.el b/elpa/company-20160829.1206/company-files.el similarity index 100% rename from elpa/company-20160730.1516/company-files.el rename to elpa/company-20160829.1206/company-files.el diff --git a/elpa/company-20160730.1516/company-gtags.el b/elpa/company-20160829.1206/company-gtags.el similarity index 97% rename from elpa/company-20160730.1516/company-gtags.el rename to elpa/company-20160829.1206/company-gtags.el index 5050783..82b8032 100644 --- a/elpa/company-20160730.1516/company-gtags.el +++ b/elpa/company-20160829.1206/company-gtags.el @@ -66,7 +66,8 @@ completion." (with-temp-buffer (let (tags) (when (= 0 (call-process company-gtags-executable nil - (list (current-buffer) nil) nil "-xGq" (concat "^" prefix))) + ;; "-T" goes through all the tag files listed in GTAGSLIBPATH + (list (current-buffer) nil) nil "-xGqT" (concat "^" prefix))) (goto-char (point-min)) (cl-loop while (re-search-forward (concat diff --git a/elpa/company-20160730.1516/company-ispell.el b/elpa/company-20160829.1206/company-ispell.el similarity index 100% rename from elpa/company-20160730.1516/company-ispell.el rename to elpa/company-20160829.1206/company-ispell.el diff --git a/elpa/company-20160730.1516/company-keywords.el b/elpa/company-20160829.1206/company-keywords.el similarity index 96% rename from elpa/company-20160730.1516/company-keywords.el rename to elpa/company-20160829.1206/company-keywords.el index e59eaa2..fac37f5 100644 --- a/elpa/company-20160730.1516/company-keywords.el +++ b/elpa/company-20160829.1206/company-keywords.el @@ -210,6 +210,14 @@ "do" "else" "elsif" "end" "ensure" "false" "for" "if" "in" "module" "next" "nil" "not" "or" "redo" "rescue" "retry" "return" "self" "super" "then" "true" "undef" "unless" "until" "when" "while" "yield") + ;; From https://doc.rust-lang.org/grammar.html#keywords + ;; but excluding unused reserved words: https://www.reddit.com/r/rust/comments/34fq0k/is_there_a_good_list_of_rusts_keywords/cqucvnj + (rust-mode + "Self" + "as" "box" "break" "const" "continue" "crate" "else" "enum" "extern" + "false" "fn" "for" "if" "impl" "in" "let" "loop" "macro" "match" "mod" + "move" "mut" "pub" "ref" "return" "self" "static" "struct" "super" + "trait" "true" "type" "unsafe" "use" "where" "while") (scala-mode "abstract" "case" "catch" "class" "def" "do" "else" "extends" "false" "final" "finally" "for" "forSome" "if" "implicit" "import" "lazy" "match" @@ -225,8 +233,10 @@ ) ;; aliases (js2-mode . javascript-mode) + (js2-jsx-mode . javascript-mode) (espresso-mode . javascript-mode) (js-mode . javascript-mode) + (js-jsx-mode . javascript-mode) (cperl-mode . perl-mode) (jde-mode . java-mode) (ess-julia-mode . julia-mode)) diff --git a/elpa/company-20160730.1516/company-nxml.el b/elpa/company-20160829.1206/company-nxml.el similarity index 100% rename from elpa/company-20160730.1516/company-nxml.el rename to elpa/company-20160829.1206/company-nxml.el diff --git a/elpa/company-20160730.1516/company-oddmuse.el b/elpa/company-20160829.1206/company-oddmuse.el similarity index 100% rename from elpa/company-20160730.1516/company-oddmuse.el rename to elpa/company-20160829.1206/company-oddmuse.el diff --git a/elpa/company-20160730.1516/company-pkg.el b/elpa/company-20160829.1206/company-pkg.el similarity index 75% rename from elpa/company-20160730.1516/company-pkg.el rename to elpa/company-20160829.1206/company-pkg.el index f55faf6..3ec2f77 100644 --- a/elpa/company-20160730.1516/company-pkg.el +++ b/elpa/company-20160829.1206/company-pkg.el @@ -1,4 +1,4 @@ -(define-package "company" "20160730.1516" "Modular text completion framework" +(define-package "company" "20160829.1206" "Modular text completion framework" '((emacs "24.1") (cl-lib "0.5")) :url "http://company-mode.github.io/" :keywords diff --git a/elpa/company-20160730.1516/company-semantic.el b/elpa/company-20160829.1206/company-semantic.el similarity index 100% rename from elpa/company-20160730.1516/company-semantic.el rename to elpa/company-20160829.1206/company-semantic.el diff --git a/elpa/company-20160730.1516/company-template.el b/elpa/company-20160829.1206/company-template.el similarity index 100% rename from elpa/company-20160730.1516/company-template.el rename to elpa/company-20160829.1206/company-template.el diff --git a/elpa/company-20160730.1516/company-tempo.el b/elpa/company-20160829.1206/company-tempo.el similarity index 100% rename from elpa/company-20160730.1516/company-tempo.el rename to elpa/company-20160829.1206/company-tempo.el diff --git a/elpa/company-20160730.1516/company-xcode.el b/elpa/company-20160829.1206/company-xcode.el similarity index 100% rename from elpa/company-20160730.1516/company-xcode.el rename to elpa/company-20160829.1206/company-xcode.el diff --git a/elpa/company-20160730.1516/company-yasnippet.el b/elpa/company-20160829.1206/company-yasnippet.el similarity index 100% rename from elpa/company-20160730.1516/company-yasnippet.el rename to elpa/company-20160829.1206/company-yasnippet.el diff --git a/elpa/company-20160730.1516/company.el b/elpa/company-20160829.1206/company.el similarity index 99% rename from elpa/company-20160730.1516/company.el rename to elpa/company-20160829.1206/company.el index d297bd3..d46e96a 100644 --- a/elpa/company-20160730.1516/company.el +++ b/elpa/company-20160829.1206/company.el @@ -118,9 +118,13 @@ attention to case differences." "Face used for the selection in the tooltip.") (defface company-tooltip-search - '((default :inherit company-tooltip-selection)) + '((default :inherit highlight)) "Face used for the search string in the tooltip.") +(defface company-tooltip-search-selection + '((default :inherit highlight)) + "Face used for the search string inside the selection in the tooltip.") + (defface company-tooltip-mouse '((default :inherit highlight)) "Face used for the tooltip item under the mouse.") @@ -2475,22 +2479,24 @@ If SHOW-VERSION is non-nil, show the version in the echo area." 'company-tooltip-common-selection 'company-tooltip-common) line) - (when selected - (if (let ((re (funcall company-search-regexp-function + (when (let ((re (funcall company-search-regexp-function company-search-string))) (and (not (string= re "")) (string-match re value (length company-prefix)))) - (pcase-dolist (`(,mbeg . ,mend) (company--search-chunks)) - (let ((beg (+ margin mbeg)) - (end (+ margin mend)) - (width (- width (length right)))) - (when (< beg width) - (font-lock-prepend-text-property beg (min end width) - 'face 'company-tooltip-search - line)))) - (font-lock-append-text-property 0 width 'face - 'company-tooltip-selection - line))) + (pcase-dolist (`(,mbeg . ,mend) (company--search-chunks)) + (let ((beg (+ margin mbeg)) + (end (+ margin mend)) + (width (- width (length right)))) + (when (< beg width) + (font-lock-prepend-text-property beg (min end width) 'face + (if selected + 'company-tooltip-search-selection + 'company-tooltip-search) + line))))) + (when selected + (font-lock-append-text-property 0 width 'face + 'company-tooltip-selection + line)) (font-lock-append-text-property 0 width 'face 'company-tooltip line) diff --git a/elpa/company-quickhelp-20160211.718/company-quickhelp-autoloads.el b/elpa/company-quickhelp-20160826.806/company-quickhelp-autoloads.el similarity index 96% rename from elpa/company-quickhelp-20160211.718/company-quickhelp-autoloads.el rename to elpa/company-quickhelp-20160826.806/company-quickhelp-autoloads.el index 0939619..449ad5b 100644 --- a/elpa/company-quickhelp-20160211.718/company-quickhelp-autoloads.el +++ b/elpa/company-quickhelp-20160826.806/company-quickhelp-autoloads.el @@ -4,7 +4,7 @@ (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) ;;;### (autoloads nil "company-quickhelp" "company-quickhelp.el" -;;;;;; (22297 53348 410925 167000)) +;;;;;; (22490 24939 611396 515000)) ;;; Generated autoloads from company-quickhelp.el (defvar company-quickhelp-mode nil "\ diff --git a/elpa/company-quickhelp-20160211.718/company-quickhelp-pkg.el b/elpa/company-quickhelp-20160826.806/company-quickhelp-pkg.el similarity index 76% rename from elpa/company-quickhelp-20160211.718/company-quickhelp-pkg.el rename to elpa/company-quickhelp-20160826.806/company-quickhelp-pkg.el index f220fe6..023b924 100644 --- a/elpa/company-quickhelp-20160211.718/company-quickhelp-pkg.el +++ b/elpa/company-quickhelp-20160826.806/company-quickhelp-pkg.el @@ -1 +1 @@ -(define-package "company-quickhelp" "20160211.718" "Popup documentation for completion candidates" '((emacs "24.4") (company "0.8.9") (pos-tip "0.4.6")) :url "https://www.github.com/expez/company-quickhelp" :keywords '("company" "popup" "documentation" "quickhelp")) +(define-package "company-quickhelp" "20160826.806" "Popup documentation for completion candidates" '((emacs "24.4") (company "0.8.9") (pos-tip "0.4.6")) :url "https://www.github.com/expez/company-quickhelp" :keywords '("company" "popup" "documentation" "quickhelp")) diff --git a/elpa/company-quickhelp-20160211.718/company-quickhelp.el b/elpa/company-quickhelp-20160826.806/company-quickhelp.el similarity index 95% rename from elpa/company-quickhelp-20160211.718/company-quickhelp.el rename to elpa/company-quickhelp-20160826.806/company-quickhelp.el index c287b69..a0a00a5 100644 --- a/elpa/company-quickhelp-20160211.718/company-quickhelp.el +++ b/elpa/company-quickhelp-20160826.806/company-quickhelp.el @@ -1,12 +1,12 @@ ;;; company-quickhelp.el --- Popup documentation for completion candidates -;; Copyright (C) 2015, Lars Andersen +;; Copyright (C) 2016, Lars Andersen ;; Author: Lars Andersen ;; URL: https://www.github.com/expez/company-quickhelp -;; Package-Version: 20160211.718 +;; Package-Version: 20160826.806 ;; Keywords: company popup documentation quickhelp -;; Version: 1.3.0 +;; Version: 1.4.0 ;; Package-Requires: ((emacs "24.4") (company "0.8.9") (pos-tip "0.4.6")) ;; This file is not part of GNU Emacs. @@ -60,12 +60,6 @@ be triggered manually using `company-quickhelp-show'." (const :tag "Don't limit the number of lines shown" nil)) :group 'company-quickhelp) -(defvar company-quickhelp-mode-map - (let ((keymap (make-sparse-keymap))) - (define-key keymap (kbd "M-h") #'company-quickhelp-manual-begin) - keymap) - "The keymap used by `company-quickhelp'.") - (defvar company-quickhelp--timer nil "Quickhelp idle timer.") @@ -200,7 +194,7 @@ Most likely this means you're on a mac with an Emacs build using Cocoa instead o ;;;###autoload (define-minor-mode company-quickhelp-mode "Provides documentation popups for `company-mode' using `pos-tip'." - :global t :keymap company-quickhelp-mode-map + :global t (if company-quickhelp-mode (company-quickhelp--enable) (company-quickhelp--disable))) diff --git a/elpa/dash-20160813.951/dash-pkg.el b/elpa/dash-20160813.951/dash-pkg.el deleted file mode 100644 index 527f212..0000000 --- a/elpa/dash-20160813.951/dash-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "dash" "20160813.951" "A modern list library for Emacs" 'nil :keywords '("lists")) diff --git a/elpa/dash-20160813.951/dash-autoloads.el b/elpa/dash-20160820.501/dash-autoloads.el similarity index 57% rename from elpa/dash-20160813.951/dash-autoloads.el rename to elpa/dash-20160820.501/dash-autoloads.el index b4ee5eb..6f3c75c 100644 --- a/elpa/dash-20160813.951/dash-autoloads.el +++ b/elpa/dash-20160820.501/dash-autoloads.el @@ -1,9 +1,10 @@ ;;; dash-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil nil ("dash.el") (22454 5337 8602 510000)) +;;;### (autoloads nil nil ("dash-pkg.el" "dash.el") (22490 24939 +;;;;;; 339398 67000)) ;;;*** diff --git a/elpa/dash-20160820.501/dash-pkg.el b/elpa/dash-20160820.501/dash-pkg.el new file mode 100644 index 0000000..44a7c53 --- /dev/null +++ b/elpa/dash-20160820.501/dash-pkg.el @@ -0,0 +1 @@ +(define-package "dash" "20160820.501" "A modern list library for Emacs" 'nil :keywords '("lists")) diff --git a/elpa/dash-20160813.951/dash.el b/elpa/dash-20160820.501/dash.el similarity index 99% rename from elpa/dash-20160813.951/dash.el rename to elpa/dash-20160820.501/dash.el index f4917b9..d446b70 100644 --- a/elpa/dash-20160813.951/dash.el +++ b/elpa/dash-20160820.501/dash.el @@ -4,7 +4,7 @@ ;; Author: Magnar Sveen ;; Version: 2.13.0 -;; Package-Version: 20160813.951 +;; Package-Version: 20160820.501 ;; Keywords: lists ;; This program is free software; you can redistribute it and/or modify @@ -358,7 +358,7 @@ See also: `-each-indexed'." (nreverse ,r)))) (defun -map-when (pred rep list) - "Return a new list where the elements in LIST that does not match the PRED function + "Return a new list where the elements in LIST that do not match the PRED function are unchanged, and where the elements in LIST that do match the PRED function are mapped through the REP function. diff --git a/elpa/erlang-20160719.535/erlang-pkg.el b/elpa/erlang-20160719.535/erlang-pkg.el deleted file mode 100644 index 71976f9..0000000 --- a/elpa/erlang-20160719.535/erlang-pkg.el +++ /dev/null @@ -1,4 +0,0 @@ -(define-package "erlang" "20160719.535" "Erlang major mode" 'nil) -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/erlang-20160719.535/erlang-autoloads.el b/elpa/erlang-20160831.740/erlang-autoloads.el similarity index 94% rename from elpa/erlang-20160719.535/erlang-autoloads.el rename to elpa/erlang-20160831.740/erlang-autoloads.el index a41a3d9..e55240f 100644 --- a/elpa/erlang-20160719.535/erlang-autoloads.el +++ b/elpa/erlang-20160831.740/erlang-autoloads.el @@ -1,9 +1,9 @@ ;;; erlang-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "erlang" "erlang.el" (22454 5334 245537 541000)) +;;;### (autoloads nil "erlang" "erlang.el" (22490 24938 259400 312000)) ;;; Generated autoloads from erlang.el (autoload 'erlang-mode "erlang" "\ @@ -118,8 +118,8 @@ editing control characters: ;;;*** -;;;### (autoloads nil "erlang-start" "erlang-start.el" (22454 5334 -;;;;;; 87533 826000)) +;;;### (autoloads nil "erlang-start" "erlang-start.el" (22490 24938 +;;;;;; 243400 358000)) ;;; 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 +132,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") (22454 5334 358540 198000)) +;;;;;; "erlang_appwiz.el") (22490 24938 297767 827000)) ;;;*** diff --git a/elpa/erlang-20160719.535/erlang-eunit.el b/elpa/erlang-20160831.740/erlang-eunit.el similarity index 100% rename from elpa/erlang-20160719.535/erlang-eunit.el rename to elpa/erlang-20160831.740/erlang-eunit.el diff --git a/elpa/erlang-20160719.535/erlang-flymake.el b/elpa/erlang-20160831.740/erlang-flymake.el similarity index 100% rename from elpa/erlang-20160719.535/erlang-flymake.el rename to elpa/erlang-20160831.740/erlang-flymake.el diff --git a/elpa/erlang-20160831.740/erlang-pkg.el b/elpa/erlang-20160831.740/erlang-pkg.el new file mode 100644 index 0000000..6f710dd --- /dev/null +++ b/elpa/erlang-20160831.740/erlang-pkg.el @@ -0,0 +1,4 @@ +(define-package "erlang" "20160831.740" "Erlang major mode" 'nil) +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/erlang-20160719.535/erlang-skels-old.el b/elpa/erlang-20160831.740/erlang-skels-old.el similarity index 100% rename from elpa/erlang-20160719.535/erlang-skels-old.el rename to elpa/erlang-20160831.740/erlang-skels-old.el diff --git a/elpa/erlang-20160719.535/erlang-skels.el b/elpa/erlang-20160831.740/erlang-skels.el similarity index 92% rename from elpa/erlang-20160719.535/erlang-skels.el rename to elpa/erlang-20160831.740/erlang-skels.el index c1152f3..0284c9d 100644 --- a/elpa/erlang-20160719.535/erlang-skels.el +++ b/elpa/erlang-20160831.740/erlang-skels.el @@ -56,8 +56,10 @@ erlang-skel-gen-event erlang-skel-header) ("gen_fsm" "gen-fsm" erlang-skel-gen-fsm erlang-skel-header) - ("gen_statem" "gen-statem" - erlang-skel-gen-statem erlang-skel-header) + ("gen_statem (StateName/3)" "gen-statem-StateName" + erlang-skel-gen-statem-StateName erlang-skel-header) + ("gen_statem (handle_event/4)" "gen-statem-handle-event" + erlang-skel-gen-statem-handle-event erlang-skel-header) ("wx_object" "wx-object" erlang-skel-wx-object erlang-skel-header) ("Library module" "gen-lib" @@ -497,6 +499,7 @@ Please see the function `tempo-define-template'.") "%% {stop, Reason}" n (erlang-skel-separator-end 2) "init([]) ->" n> + "process_flag(trap_exit, true)," n> "{ok, #state{}}." n n (erlang-skel-separator-start 2) @@ -740,6 +743,7 @@ Please see the function `tempo-define-template'.") "%% {stop, StopReason}" n (erlang-skel-separator-end 2) "init([]) ->" n> + "process_flag(trap_exit, true)," n> "{ok, state_name, #state{}}." n n (erlang-skel-separator-start 2) @@ -860,7 +864,7 @@ Please see the function `tempo-define-template'.") "*The template of a gen_fsm. Please see the function `tempo-define-template'.") -(defvar erlang-skel-gen-statem +(defvar erlang-skel-gen-statem-StateName '((erlang-skel-include erlang-skel-large-header) "-behaviour(gen_statem)." n n @@ -868,8 +872,118 @@ Please see the function `tempo-define-template'.") "-export([start_link/0])." n n "%% gen_statem callbacks" n - "-export([init/1, terminate/3, code_change/4])." n + "-export([callback_mode/0, init/1, terminate/3, code_change/4])." n "-export([state_name/3])." n + n + "-define(SERVER, ?MODULE)." n + n + "-record(data, {})." n + n + (erlang-skel-double-separator-start 3) + "%%% API" n + (erlang-skel-double-separator-end 3) n + (erlang-skel-separator-start 2) + "%% @doc" n + "%% Creates a gen_statem process which calls Module:init/1 to" n + "%% initialize. To ensure a synchronized start-up procedure, this" n + "%% function does not return until Module:init/1 has returned." n + "%%" n + (erlang-skel-separator-end 2) + "-spec start_link() ->" n> + "{ok, Pid :: pid()} |" n> + "ignore |" n> + "{error, Error :: term()}." n + "start_link() ->" n> + "gen_statem:start_link({local, ?SERVER}, ?MODULE, [], [])." n + n + (erlang-skel-double-separator-start 3) + "%%% gen_statem callbacks" n + (erlang-skel-double-separator-end 3) n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n + "%% Define the callback_mode() for this callback module." n + (erlang-skel-separator-end 2) + "-spec callback_mode() -> gen_statem:callback_mode()." n + "callback_mode() -> state_functions." n + n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n + "%% Whenever a gen_statem is started using gen_statem:start/[3,4] or" n + "%% gen_statem:start_link/[3,4], this function is called by the new" n + "%% process to initialize." n + (erlang-skel-separator-end 2) + "-spec init(Args :: term()) ->" n> + "{ok, State :: term(), Data :: term()} |" n> + "{ok, State :: term(), Data :: term()," n> + "[gen_statem:action()] | gen_statem:action()} |" n> + "ignore |" n> + "{stop, Reason :: term()}." n + "init([]) ->" n> + "process_flag(trap_exit, true)," n> + "{ok, state_name, #data{}}." n + n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n + "%% There should be one function like this for each state name." n + "%% Whenever a gen_statem receives an event, the function " n + "%% with the name of the current state (StateName) " n + "%% is called to handle the event." n + "%%" n + "%% NOTE: If there is an exported function handle_event/4, it is called" n + "%% instead of StateName/3 functions like this!" n + (erlang-skel-separator-end 2) + "-spec state_name(" n> + "gen_statem:event_type(), Msg :: term()," n> + "Data :: term()) ->" n> + "gen_statem:state_function_result()." n + "state_name({call,Caller}, _Msg, Data) ->" n> + "{next_state, state_name, Data, [{reply,Caller,ok}]}." n + n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n + "%% This function is called by a gen_statem when it is about to" n + "%% terminate. It should be the opposite of Module:init/1 and do any" n + "%% necessary cleaning up. When it returns, the gen_statem terminates with" n + "%% Reason. The return value is ignored." n + (erlang-skel-separator-end 2) + "-spec terminate(Reason :: term(), State :: term(), Data :: term()) ->" n> + "any()." n + "terminate(_Reason, _State, _Data) ->" n> + "void." n + n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n + "%% Convert process state when code is changed" n + (erlang-skel-separator-end 2) + "-spec code_change(" n> + "OldVsn :: term() | {down,term()}," n> + "State :: term(), Data :: term(), Extra :: term()) ->" n> + "{ok, NewState :: term(), NewData :: term()} |" n> + "(Reason :: term())." n + "code_change(_OldVsn, State, Data, _Extra) ->" n> + "{ok, State, Data}." n + n + (erlang-skel-double-separator-start 3) + "%%% Internal functions" n + (erlang-skel-double-separator-end 3) + ) + "*The template of a gen_statem (StateName/3). +Please see the function `tempo-define-template'.") + +(defvar erlang-skel-gen-statem-handle-event + '((erlang-skel-include erlang-skel-large-header) + "-behaviour(gen_statem)." n n + + "%% API" n + "-export([start_link/0])." n + n + "%% gen_statem callbacks" n + "-export([callback_mode/0, init/1, terminate/3, code_change/4])." n "-export([handle_event/4])." n n "-define(SERVER, ?MODULE)." n @@ -899,43 +1013,35 @@ Please see the function `tempo-define-template'.") (erlang-skel-separator-start 2) "%% @private" n "%% @doc" n + "%% Define the callback_mode() for this callback module." n + (erlang-skel-separator-end 2) + "-spec callback_mode() -> gen_statem:callback_mode()." n + "callback_mode() -> handle_event_function." n + n + (erlang-skel-separator-start 2) + "%% @private" n + "%% @doc" n "%% Whenever a gen_statem is started using gen_statem:start/[3,4] or" n "%% gen_statem:start_link/[3,4], this function is called by the new" n "%% process to initialize." n (erlang-skel-separator-end 2) "-spec init(Args :: term()) ->" n> - "{gen_statem:callback_mode()," n> - "State :: term(), Data :: term()} |" n> - "{gen_statem:callback_mode()," n> - "State :: term(), Data :: term()," n> + "{ok, State :: term(), Data :: term()} |" n> + "{ok, State :: term(), Data :: term()," n> "[gen_statem:action()] | gen_statem:action()} |" n> "ignore |" n> "{stop, Reason :: term()}." n "init([]) ->" n> - "{state_functions, state_name, #data{}}." n + "process_flag(trap_exit, true)," n> + "{ok, state_name, #data{}}." n n (erlang-skel-separator-start 2) "%% @private" n "%% @doc" n - "%% If the gen_statem runs with CallbackMode =:= state_functions" n - "%% there should be one instance of this function for each possible" n - "%% state name. Whenever a gen_statem receives an event," n - "%% the instance of this function with the same name" n - "%% as the current state name StateName is called to" n - "%% handle the event." n - (erlang-skel-separator-end 2) - "-spec state_name(" n> - "gen_statem:event_type(), Msg :: term()," n> - "Data :: term()) ->" n> - "gen_statem:state_function_result()." n - "state_name({call,Caller}, _Msg, Data) ->" n> - "{next_state, state_name, Data, [{reply,Caller,ok}]}." n - n - (erlang-skel-separator-start 2) - "%% @private" n - "%% @doc" n - "%% If the gen_statem runs with CallbackMode =:= handle_event_function" n - "%% this function is called for every event a gen_statem receives." n + "%% This function is called for every event a gen_statem receives." n + "%%" n + "%% NOTE: If there is no exported function handle_event/4," n + "%% StateName/3 functions are called instead!" n (erlang-skel-separator-end 2) "-spec handle_event(" n> "gen_statem:event_type(), Msg :: term()," n> @@ -965,17 +1071,16 @@ Please see the function `tempo-define-template'.") "-spec code_change(" n> "OldVsn :: term() | {down,term()}," n> "State :: term(), Data :: term(), Extra :: term()) ->" n> - "{gen_statem:callback_mode()," n> - "NewState :: term(), NewData :: term()} |" n> + "{ok, NewState :: term(), NewData :: term()} |" n> "(Reason :: term())." n "code_change(_OldVsn, State, Data, _Extra) ->" n> - "{state_functions, State, Data}." n + "{ok, State, Data}." n n (erlang-skel-double-separator-start 3) "%%% Internal functions" n (erlang-skel-double-separator-end 3) ) - "*The template of a gen_statem. + "*The template of a gen_statem (handle_event/4). Please see the function `tempo-define-template'.") (defvar erlang-skel-wx-object diff --git a/elpa/erlang-20160719.535/erlang-start.el b/elpa/erlang-20160831.740/erlang-start.el similarity index 100% rename from elpa/erlang-20160719.535/erlang-start.el rename to elpa/erlang-20160831.740/erlang-start.el diff --git a/elpa/erlang-20160719.535/erlang-test.el b/elpa/erlang-20160831.740/erlang-test.el similarity index 52% rename from elpa/erlang-20160719.535/erlang-test.el rename to elpa/erlang-20160831.740/erlang-test.el index 9a14663..ba6190d 100644 --- a/elpa/erlang-20160719.535/erlang-test.el +++ b/elpa/erlang-20160831.740/erlang-test.el @@ -52,28 +52,42 @@ concatenated to form an erlang file to test on.") (ert-deftest erlang-test-tags () (let* ((dir (make-temp-file "erlang-test" t)) - (erlang-file (expand-file-name "erlang_test.erl" dir)) - (tags-file (expand-file-name "TAGS" dir)) - tags-file-name tags-table-list erlang-buffer) - (unwind-protect - (progn - (erlang-test-create-erlang-file erlang-file) - (erlang-test-compile-tags erlang-file tags-file) - (setq erlang-buffer (find-file-noselect erlang-file)) - (with-current-buffer erlang-buffer - (setq-local tags-file-name tags-file)) - ;; Setting global tags-file-name is a workaround for - ;; GNU Emacs bug#23164. - (setq tags-file-name tags-file) - (erlang-test-completion-table) - (erlang-test-xref-find-definitions erlang-file erlang-buffer)) - (when (buffer-live-p erlang-buffer) - (kill-buffer erlang-buffer)) - (let ((tags-buffer (find-buffer-visiting tags-file))) - (when (buffer-live-p tags-buffer) - (kill-buffer tags-buffer))) - (when (file-exists-p dir) - (delete-directory dir t))))) + (erlang-file (expand-file-name "erlang_test.erl" dir)) + (tags-file (expand-file-name "TAGS" dir)) + (old-tags-file-name (default-value 'tags-file-name)) + (old-tags-table-list (default-value 'tags-table-list)) + tags-file-name + tags-table-list + tags-table-set-list + erlang-buffer + erlang-mode-hook + prog-mode-hook + erlang-shell-mode-hook + tags-add-tables) + (unwind-protect + (progn + (setq-default tags-file-name nil) + (setq-default tags-table-list nil) + (erlang-test-create-erlang-file erlang-file) + (erlang-test-compile-tags erlang-file tags-file) + (setq erlang-buffer (find-file-noselect erlang-file)) + (with-current-buffer erlang-buffer + (setq-local tags-file-name tags-file)) + ;; Setting global tags-file-name is a workaround for + ;; GNU Emacs bug#23164. + (setq tags-file-name tags-file) + (erlang-test-complete-at-point tags-file) + (erlang-test-completion-table) + (erlang-test-xref-find-definitions erlang-file erlang-buffer)) + (when (buffer-live-p erlang-buffer) + (kill-buffer erlang-buffer)) + (let ((tags-buffer (find-buffer-visiting tags-file))) + (when (buffer-live-p tags-buffer) + (kill-buffer tags-buffer))) + (when (file-exists-p dir) + (delete-directory dir t)) + (setq-default tags-file-name old-tags-file-name) + (setq-default tags-table-list old-tags-table-list)))) (defun erlang-test-create-erlang-file (erlang-file) (with-temp-file erlang-file @@ -116,6 +130,54 @@ concatenated to form an erlang file to test on.") (should (eq expected-line (line-number-at-pos))) (should (= (point-at-bol) (point)))) +(defun erlang-test-complete-at-point (tags-file) + (with-temp-buffer + (erlang-mode) + (setq-local tags-file-name tags-file) + (insert "\nerlang_test:fun") + (erlang-complete-tag) + (should (looking-back "erlang_test:function")) + (insert "\nfun") + (erlang-complete-tag) + (should (looking-back "function")) + (insert "\nerlang_") + (erlang-complete-tag) + (should (looking-back "erlang_test:")))) + + +(ert-deftest erlang-test-compile-options () + (erlang-test-format-opt t + "t") + (erlang-test-format-opt nil + "nil") + (erlang-test-format-opt (cons 1 2) + "{1, 2}") + (erlang-test-format-opt (list 1) + "[1]") + (erlang-test-format-opt (list 1 2) + "[1, 2]") + (erlang-test-format-opt (list 1 2 3) + "[1, 2, 3]") + (erlang-test-format-opt 'symbol + "symbol") + (erlang-test-format-opt "string" + "\"string\"") + (erlang-test-format-opt [] + "{}") + (erlang-test-format-opt [1] + "{1}") + (erlang-test-format-opt [1 2] + "{1, 2}") + (erlang-test-format-opt [1 2 (3 [4 5 6] 7)] + "{1, 2, [3, {4, 5, 6}, 7]}")) + +(defun erlang-test-format-opt (elisp &optional expected-erlang) + (let ((erlang (inferior-erlang-format-opt elisp))) + (message "%s -> %s" elisp erlang) + (when expected-erlang + (should (equal erlang expected-erlang))) + erlang)) + (provide 'erlang-test) diff --git a/elpa/erlang-20160719.535/erlang.el b/elpa/erlang-20160831.740/erlang.el similarity index 98% rename from elpa/erlang-20160719.535/erlang.el rename to elpa/erlang-20160831.740/erlang.el index a206218..73c6b8d 100644 --- a/elpa/erlang-20160719.535/erlang.el +++ b/elpa/erlang-20160831.740/erlang.el @@ -1436,8 +1436,6 @@ Other commands: (erlang-skel-init) (when (fboundp 'tempo-use-tag-list) (tempo-use-tag-list 'erlang-tempo-tags)) - (when (boundp 'xref-backend-functions) - (add-hook 'xref-backend-functions #'erlang-etags--xref-backend nil t)) (run-hooks 'erlang-mode-hook) (if (zerop (buffer-size)) (run-hooks 'erlang-new-file-hook))) @@ -1548,9 +1546,7 @@ Other commands: (set (make-local-variable 'outline-regexp) "[[:lower:]0-9_]+ *(.*) *-> *$") (set (make-local-variable 'outline-level) (lambda () 1)) (set (make-local-variable 'add-log-current-defun-function) - 'erlang-current-defun) - (set (make-local-variable 'find-tag-default-function) - 'erlang-find-tag-for-completion)) + 'erlang-current-defun)) (defun erlang-font-lock-init () "Initialize Font Lock for Erlang mode." @@ -3233,18 +3229,16 @@ With argument, do this that many times." (interactive "p") (or arg (setq arg 1)) (while (and (looking-at "[ \t]*[%\n]") - (zerop (forward-line 1)))) + (zerop (forward-line 1)))) ;; Move to the next clause. (erlang-beginning-of-clause (- arg)) (beginning-of-line);; Just to be sure... (let ((continue t)) (while (and (not (bobp)) continue) (forward-line -1) - (skip-chars-forward " \t") - (if (looking-at "[%\n]") - nil - (end-of-line) - (setq continue nil))))) + (unless (looking-at "[ \t]*[%\n]") + (end-of-line) + (setq continue nil))))) (defun erlang-mark-clause () "Put mark at end of clause, point at beginning." @@ -4352,11 +4346,6 @@ as on the old form `tag'. In the completion list, `module:tag' and `module:' shows up. -Call this function from an appropriate init file, or add it to -Erlang mode hook with the commands: - (add-hook 'erlang-mode-hook 'erlang-tags-init) - (add-hook 'erlang-shell-mode-hook 'erlang-tags-init) - This function only works under Emacs 18 and Emacs 19. Currently, It is not implemented under XEmacs. (Hint: The Emacs 19 etags module works under XEmacs.)" @@ -4367,11 +4356,16 @@ works under XEmacs.)" (setq erlang-tags-installed t)) (t (require 'etags) - ;; Test on a function available in the Emacs 19 version - ;; of tags but not in the XEmacs version. - (when (fboundp 'find-tag-noselect) - (erlang-tags-define-keys (current-local-map)) - (setq erlang-tags-installed t))))) + (set (make-local-variable 'find-tag-default-function) + 'erlang-find-tag-for-completion) + (if (>= emacs-major-version 25) + (add-hook 'xref-backend-functions + #'erlang-etags--xref-backend nil t) + ;; Test on a function available in the Emacs 19 version + ;; of tags but not in the XEmacs version. + (when (fboundp 'find-tag-noselect) + (erlang-tags-define-keys (current-local-map)) + (setq erlang-tags-installed t)))))) @@ -4775,8 +4769,6 @@ for a tag on the form `module:tag'." ;;; completion-table' containing all normal tags plus tags on the form ;;; `module:tag' and `module:'. -;; PENDING - Should probably make use of the -;; `completion-at-point-functions' hook instead of this advice. (when (and (locate-library "etags") (require 'etags) (fboundp 'etags-tags-completion-table) @@ -4784,11 +4776,7 @@ for a tag on the form `module:tag'." (if (fboundp 'advice-add) ;; Emacs 24.4+ (advice-add 'etags-tags-completion-table :around - (lambda (oldfun) - (if erlang-replace-etags-tags-completion-table - (erlang-etags-tags-completion-table) - (funcall oldfun))) - (list :name 'erlang-replace-tags-table)) + #'erlang-etags-tags-completion-table-advice) ;; Emacs 23.1-24.3 (defadvice etags-tags-completion-table (around erlang-replace-tags-table @@ -4797,6 +4785,11 @@ for a tag on the form `module:tag'." (setq ad-return-value (erlang-etags-tags-completion-table)) ad-do-it)))) +(defun erlang-etags-tags-completion-table-advice (oldfun) + (if erlang-replace-etags-tags-completion-table + (erlang-etags-tags-completion-table) + (funcall oldfun))) + (defun erlang-complete-tag () "Perform tags completion on the text around point. Completes to the set of names listed in the current tags table. @@ -4807,8 +4800,7 @@ about Erlang modules." (condition-case nil (require 'etags) (error nil)) - (cond ((and erlang-tags-installed - (fboundp 'etags-tags-completion-table) + (cond ((and (fboundp 'etags-tags-completion-table) (fboundp 'tags-lazy-completion-table)) ; Emacs 23.1+ (let ((erlang-replace-etags-tags-completion-table t)) (complete-tag))) @@ -5213,19 +5205,10 @@ The following special commands are available: (setq comint-input-ignoredups t) (setq comint-scroll-show-maximum-output t) (setq comint-scroll-to-bottom-on-output t) - ;; In Emacs 19.30, `add-hook' has got a `local' flag, use it. If - ;; the call fails, just call the normal `add-hook'. - (condition-case nil - (progn - (add-hook 'comint-output-filter-functions - 'inferior-erlang-strip-delete nil t) - (add-hook 'comint-output-filter-functions - 'inferior-erlang-strip-ctrl-m nil t)) - (error - (funcall (symbol-function 'make-local-hook) - 'comint-output-filter-functions) ; obsolete as of Emacs 21.1 - (add-hook 'comint-output-filter-functions 'inferior-erlang-strip-delete) - (add-hook 'comint-output-filter-functions 'inferior-erlang-strip-ctrl-m))) + (add-hook 'comint-output-filter-functions + 'inferior-erlang-strip-delete nil t) + (add-hook 'comint-output-filter-functions + 'inferior-erlang-strip-ctrl-m nil t) ;; Some older versions of comint don't have an input ring. (if (fboundp 'comint-read-input-ring) (progn @@ -5251,6 +5234,7 @@ The following special commands are available: (define-key map [menu-bar compilation] (cons "Errors" compilation-menu-map))) map))))) + (erlang-tags-init) (run-hooks 'erlang-shell-mode-hook)) @@ -5730,31 +5714,29 @@ unless the optional NO-DISPLAY is non-nil." (defun inferior-erlang-format-comma-opts (opts) (if (null opts) "" - (concat ", " (inferior-erlang-format-opts opts)))) - -(defun inferior-erlang-format-opts (opts) - (concat "[" (inferior-erlang-string-join (mapcar 'inferior-erlang-format-opt - opts) - ", ") - "]")) + (concat ", " (inferior-erlang-format-opt opts)))) (defun inferior-erlang-format-opt (opt) (cond ((stringp opt) (concat "\"" opt "\"")) - ((atom opt) (format "%s" opt)) - ((consp opt) (concat "{" (inferior-erlang-string-join - (mapcar 'inferior-erlang-format-opt - (list (car opt) (cdr opt))) - ", ") - "}")) - (t (error (format "Unexpected opt %s" opt))))) + ((vectorp opt) (inferior-erlang-tuple (append opt nil))) + ((atom opt) (format "%s" opt)) + ((consp opt) (if (listp (cdr opt)) + (inferior-erlang-list opt) + (inferior-erlang-tuple (list (car opt) (cdr opt))))) + (t (error "Unexpected erlang compile option %s" opt)))) + +(defun inferior-erlang-tuple (opts) + (concat "{" (mapconcat 'inferior-erlang-format-opt + opts + ", ") + "}")) + +(defun inferior-erlang-list (opts) + (concat "[" (mapconcat 'inferior-erlang-format-opt + opts + ", ") + "]")) -(defun inferior-erlang-string-join (strs sep) - (let ((result (or (car strs) ""))) - (setq strs (cdr strs)) - (while strs - (setq result (concat result sep (car strs))) - (setq strs (cdr strs))) - result)) (defun erlang-local-buffer-file-name () ;; When editing a file remotely via tramp, diff --git a/elpa/erlang-20160719.535/erlang_appwiz.el b/elpa/erlang-20160831.740/erlang_appwiz.el similarity index 100% rename from elpa/erlang-20160719.535/erlang_appwiz.el rename to elpa/erlang-20160831.740/erlang_appwiz.el diff --git a/elpa/ggtags-20160617.1840/ggtags-pkg.el b/elpa/ggtags-20160617.1840/ggtags-pkg.el deleted file mode 100644 index 5d37fbb..0000000 --- a/elpa/ggtags-20160617.1840/ggtags-pkg.el +++ /dev/null @@ -1 +0,0 @@ -(define-package "ggtags" "20160617.1840" "emacs frontend to GNU Global source code tagging system" '((emacs "24") (cl-lib "0.5")) :url "https://github.com/leoliu/ggtags" :keywords '("tools" "convenience")) diff --git a/elpa/ggtags-20160617.1840/ggtags-autoloads.el b/elpa/ggtags-20160909.813/ggtags-autoloads.el similarity index 94% rename from elpa/ggtags-20160617.1840/ggtags-autoloads.el rename to elpa/ggtags-20160909.813/ggtags-autoloads.el index ea53ff0..2dc54d0 100644 --- a/elpa/ggtags-20160617.1840/ggtags-autoloads.el +++ b/elpa/ggtags-20160909.813/ggtags-autoloads.el @@ -3,7 +3,7 @@ ;;; Code: (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "ggtags" "ggtags.el" (22387 29370 530154 256000)) +;;;### (autoloads nil "ggtags" "ggtags.el" (22490 24937 307403 1000)) ;;; Generated autoloads from ggtags.el (autoload 'ggtags-find-project "ggtags" "\ diff --git a/elpa/ggtags-20160909.813/ggtags-pkg.el b/elpa/ggtags-20160909.813/ggtags-pkg.el new file mode 100644 index 0000000..7a4afc9 --- /dev/null +++ b/elpa/ggtags-20160909.813/ggtags-pkg.el @@ -0,0 +1 @@ +(define-package "ggtags" "20160909.813" "emacs frontend to GNU Global source code tagging system" '((emacs "24") (cl-lib "0.5")) :url "https://github.com/leoliu/ggtags" :keywords '("tools" "convenience")) diff --git a/elpa/ggtags-20160617.1840/ggtags.el b/elpa/ggtags-20160909.813/ggtags.el similarity index 98% rename from elpa/ggtags-20160617.1840/ggtags.el rename to elpa/ggtags-20160909.813/ggtags.el index d1cb9a5..13737ac 100644 --- a/elpa/ggtags-20160617.1840/ggtags.el +++ b/elpa/ggtags-20160909.813/ggtags.el @@ -4,7 +4,7 @@ ;; Author: Leo Liu ;; Version: 0.8.12 -;; Package-Version: 20160617.1840 +;; Package-Version: 20160909.813 ;; Keywords: tools, convenience ;; Created: 2013-01-29 ;; URL: https://github.com/leoliu/ggtags @@ -466,32 +466,36 @@ Set to `nil' to disable tag highlighting." (defun ggtags-make-project (root) (cl-check-type root string) - (pcase (nthcdr 5 (file-attributes (expand-file-name "GTAGS" root))) - (`(,mtime ,_ ,tag-size . ,_) - (let* ((default-directory (file-name-as-directory root)) - (rtags-size (nth 7 (file-attributes "GRTAGS"))) - (has-refs - (when rtags-size - (and (or (> rtags-size (* 32 1024)) - (with-demoted-errors "ggtags-make-project: %S" - (not (equal "" (ggtags-process-string "global" "-crs"))))) - 'has-refs))) - ;; http://thread.gmane.org/gmane.comp.gnu.global.bugs/1518 - (has-path-style - (and (ggtags-process-succeed-p "global" "--path-style" "shorter" "--help") - 'has-path-style)) - ;; http://thread.gmane.org/gmane.comp.gnu.global.bugs/1542 - (has-color (and (ggtags-process-succeed-p "global" "--color" "--help") - 'has-color))) - (puthash default-directory - (ggtags-project--make :root default-directory - :tag-size tag-size - :has-refs has-refs - :has-path-style has-path-style - :has-color has-color - :mtime (float-time mtime) - :timestamp (float-time)) - ggtags-projects))))) + (let* ((default-directory (file-name-as-directory root)) + ;; NOTE: use of GTAGSDBPATH is not recommended. -- GLOBAL(1) + ;; ROOT and DB can be different directories due to GTAGSDBPATH. + (dbdir (concat (file-remote-p root) + (ggtags-process-string "global" "-p")))) + (pcase (nthcdr 5 (file-attributes (expand-file-name "GTAGS" dbdir))) + (`(,mtime ,_ ,tag-size . ,_) + (let* ((rtags-size (nth 7 (file-attributes (expand-file-name "GRTAGS" dbdir)))) + (has-refs + (when rtags-size + (and (or (> rtags-size (* 32 1024)) + (with-demoted-errors "ggtags-make-project: %S" + (not (equal "" (ggtags-process-string "global" "-crs"))))) + 'has-refs))) + ;; http://thread.gmane.org/gmane.comp.gnu.global.bugs/1518 + (has-path-style + (and (ggtags-process-succeed-p "global" "--path-style" "shorter" "--help") + 'has-path-style)) + ;; http://thread.gmane.org/gmane.comp.gnu.global.bugs/1542 + (has-color (and (ggtags-process-succeed-p "global" "--color" "--help") + 'has-color))) + (puthash default-directory + (ggtags-project--make :root default-directory + :tag-size tag-size + :has-refs has-refs + :has-path-style has-path-style + :has-color has-color + :mtime (float-time mtime) + :timestamp (float-time)) + ggtags-projects)))))) (defun ggtags-project-expired-p (project) (or (< (ggtags-project-timestamp project) 0) diff --git a/elpa/git-commit-20160519.950/git-commit-pkg.el b/elpa/git-commit-20160519.950/git-commit-pkg.el deleted file mode 100644 index c1a6afe..0000000 --- a/elpa/git-commit-20160519.950/git-commit-pkg.el +++ /dev/null @@ -1 +0,0 @@ -(define-package "git-commit" "20160519.950" "Edit Git commit messages" '((emacs "24.4") (dash "20151021.113") (with-editor "20160408.201")) :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc")) diff --git a/elpa/git-commit-20160519.950/git-commit-autoloads.el b/elpa/git-commit-20160821.1338/git-commit-autoloads.el similarity index 92% rename from elpa/git-commit-20160519.950/git-commit-autoloads.el rename to elpa/git-commit-20160821.1338/git-commit-autoloads.el index 36a9977..dd99878 100644 --- a/elpa/git-commit-20160519.950/git-commit-autoloads.el +++ b/elpa/git-commit-20160821.1338/git-commit-autoloads.el @@ -3,8 +3,8 @@ ;;; Code: (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "git-commit" "git-commit.el" (22387 29368 875424 -;;;;;; 490000)) +;;;### (autoloads nil "git-commit" "git-commit.el" (22490 24936 815404 +;;;;;; 393000)) ;;; Generated autoloads from git-commit.el (defvar global-git-commit-mode t "\ diff --git a/elpa/git-commit-20160821.1338/git-commit-pkg.el b/elpa/git-commit-20160821.1338/git-commit-pkg.el new file mode 100644 index 0000000..30d9d49 --- /dev/null +++ b/elpa/git-commit-20160821.1338/git-commit-pkg.el @@ -0,0 +1 @@ +(define-package "git-commit" "20160821.1338" "Edit Git commit messages" '((emacs "24.4") (dash "20160820.501") (with-editor "20160812.1457")) :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc")) diff --git a/elpa/git-commit-20160519.950/git-commit.el b/elpa/git-commit-20160821.1338/git-commit.el similarity index 99% rename from elpa/git-commit-20160519.950/git-commit.el rename to elpa/git-commit-20160821.1338/git-commit.el index ccf03e6..9c0f7b2 100644 --- a/elpa/git-commit-20160519.950/git-commit.el +++ b/elpa/git-commit-20160821.1338/git-commit.el @@ -11,8 +11,8 @@ ;; Marius Vollmer ;; Maintainer: Jonas Bernoulli -;; Package-Requires: ((emacs "24.4") (dash "20151021.113") (with-editor "20160408.201")) -;; Package-Version: 20160519.950 +;; Package-Requires: ((emacs "24.4") (dash "20160820.501") (with-editor "20160812.1457")) +;; Package-Version: 20160821.1338 ;; Keywords: git tools vc ;; Homepage: https://github.com/magit/magit diff --git a/elpa/git-gutter-20160702.354/git-gutter-autoloads.el b/elpa/git-gutter-20160903.852/git-gutter-autoloads.el similarity index 94% rename from elpa/git-gutter-20160702.354/git-gutter-autoloads.el rename to elpa/git-gutter-20160903.852/git-gutter-autoloads.el index 0809ed5..c42f63e 100644 --- a/elpa/git-gutter-20160702.354/git-gutter-autoloads.el +++ b/elpa/git-gutter-20160903.852/git-gutter-autoloads.el @@ -3,8 +3,8 @@ ;;; Code: (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "git-gutter" "git-gutter.el" (22404 60266 753885 -;;;;;; 560000)) +;;;### (autoloads nil "git-gutter" "git-gutter.el" (22490 24936 311405 +;;;;;; 824000)) ;;; Generated autoloads from git-gutter.el (autoload 'git-gutter:linum-setup "git-gutter" "\ diff --git a/elpa/git-gutter-20160702.354/git-gutter-pkg.el b/elpa/git-gutter-20160903.852/git-gutter-pkg.el similarity index 61% rename from elpa/git-gutter-20160702.354/git-gutter-pkg.el rename to elpa/git-gutter-20160903.852/git-gutter-pkg.el index 9c3a67d..56d4320 100644 --- a/elpa/git-gutter-20160702.354/git-gutter-pkg.el +++ b/elpa/git-gutter-20160903.852/git-gutter-pkg.el @@ -1 +1 @@ -(define-package "git-gutter" "20160702.354" "Port of Sublime Text plugin GitGutter" '((cl-lib "0.5") (emacs "24")) :url "https://github.com/syohex/emacs-git-gutter") +(define-package "git-gutter" "20160903.852" "Port of Sublime Text plugin GitGutter" '((cl-lib "0.5") (emacs "24")) :url "https://github.com/syohex/emacs-git-gutter") diff --git a/elpa/git-gutter-20160702.354/git-gutter.el b/elpa/git-gutter-20160903.852/git-gutter.el similarity index 99% rename from elpa/git-gutter-20160702.354/git-gutter.el rename to elpa/git-gutter-20160903.852/git-gutter.el index 2b0b0ff..7400862 100644 --- a/elpa/git-gutter-20160702.354/git-gutter.el +++ b/elpa/git-gutter-20160903.852/git-gutter.el @@ -4,8 +4,8 @@ ;; Author: Syohei YOSHIDA ;; URL: https://github.com/syohex/emacs-git-gutter -;; Package-Version: 20160702.354 -;; Version: 0.89 +;; Package-Version: 20160903.852 +;; Version: 0.90 ;; Package-Requires: ((cl-lib "0.5") (emacs "24")) ;; This program is free software; you can redistribute it and/or modify @@ -219,14 +219,14 @@ gutter information of other windows." (zerop (apply #'git-gutter:execute-command cmd nil check-subcmd)) (not (string-match-p (regexp-quote (concat "/" repodir "/")) default-directory)))) -(defsubst git-gutter:vcs-check-function (vcs) +(defun git-gutter:vcs-check-function (vcs) (cl-case vcs (git (git-gutter:in-git-repository-p)) (svn (git-gutter:in-repository-common-p "svn" '("info") ".svn")) (hg (git-gutter:in-repository-common-p "hg" '("root") ".hg")) (bzr (git-gutter:in-repository-common-p "bzr" '("root") ".bzr")))) -(defsubst git-gutter:in-repository-p () +(defun git-gutter:in-repository-p () (cl-loop for vcs in git-gutter:handled-backends when (git-gutter:vcs-check-function vcs) return (set (make-local-variable 'git-gutter:vcs-type) vcs))) @@ -841,6 +841,13 @@ gutter information of other windows." (interactive "p") (git-gutter:next-hunk (- arg))) +(defun git-gutter:end-of-hunk () + "Move to end of current diff hunk" + (interactive) + (git-gutter:awhen (git-gutter:search-here-diffinfo git-gutter:diffinfos) + (let ((lines (- (git-gutter-hunk-end-line it) (line-number-at-pos)))) + (forward-line lines)))) + (defalias 'git-gutter:next-diff 'git-gutter:next-hunk) (make-obsolete 'git-gutter:next-diff 'git-gutter:next-hunk "0.60") (defalias 'git-gutter:previous-diff 'git-gutter:previous-hunk) diff --git a/elpa/go-mode-20160715.205/go-mode-autoloads.el b/elpa/go-mode-20160913.944/go-mode-autoloads.el similarity index 95% rename from elpa/go-mode-20160715.205/go-mode-autoloads.el rename to elpa/go-mode-20160913.944/go-mode-autoloads.el index e47bbb2..79a3195 100644 --- a/elpa/go-mode-20160715.205/go-mode-autoloads.el +++ b/elpa/go-mode-20160913.944/go-mode-autoloads.el @@ -3,7 +3,8 @@ ;;; Code: -;;;### (autoloads nil "go-mode" "go-mode.el" (22454 5326 453354 320000)) +;;;### (autoloads nil "go-mode" "go-mode.el" (22490 24935 827407 +;;;;;; 200000)) ;;; Generated autoloads from go-mode.el (autoload 'go-mode "go-mode" "\ @@ -95,7 +96,8 @@ Tries to look for a URL at point. ;;;*** -;;;### (autoloads nil nil ("go-mode-pkg.el") (22454 5326 404353 168000)) +;;;### (autoloads nil nil ("go-mode-pkg.el") (22490 24935 844909 +;;;;;; 520000)) ;;;*** diff --git a/elpa/go-mode-20160715.205/go-mode-pkg.el b/elpa/go-mode-20160913.944/go-mode-pkg.el similarity index 70% rename from elpa/go-mode-20160715.205/go-mode-pkg.el rename to elpa/go-mode-20160913.944/go-mode-pkg.el index 5248f2c..ca70030 100644 --- a/elpa/go-mode-20160715.205/go-mode-pkg.el +++ b/elpa/go-mode-20160913.944/go-mode-pkg.el @@ -1,4 +1,4 @@ -(define-package "go-mode" "20160715.205" "Major mode for the Go programming language" 'nil :url "https://github.com/dominikh/go-mode.el" :keywords +(define-package "go-mode" "20160913.944" "Major mode for the Go programming language" 'nil :url "https://github.com/dominikh/go-mode.el" :keywords '("languages" "go")) ;; Local Variables: ;; no-byte-compile: t diff --git a/elpa/go-mode-20160715.205/go-mode.el b/elpa/go-mode-20160913.944/go-mode.el similarity index 99% rename from elpa/go-mode-20160715.205/go-mode.el rename to elpa/go-mode-20160913.944/go-mode.el index 8acc0e1..cc6422b 100644 --- a/elpa/go-mode-20160715.205/go-mode.el +++ b/elpa/go-mode-20160913.944/go-mode.el @@ -1527,25 +1527,25 @@ description at POINT." (error "godef does not reliably work in XEmacs, expect bad results")) (if (not (buffer-file-name (go--coverage-origin-buffer))) (error "Cannot use godef on a buffer without a file name") - (let ((outbuf (get-buffer-create "*godef*")) + (let ((outbuf (generate-new-buffer "*godef*")) (coding-system-for-read 'utf-8) (coding-system-for-write 'utf-8)) - (with-current-buffer outbuf - (erase-buffer)) - (call-process-region (point-min) - (point-max) - godef-command - nil - outbuf - nil - "-i" - "-t" - "-f" - (file-truename (buffer-file-name (go--coverage-origin-buffer))) - "-o" - (number-to-string (go--position-bytes point))) - (with-current-buffer outbuf - (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n"))))) + (prog2 + (call-process-region (point-min) + (point-max) + godef-command + nil + outbuf + nil + "-i" + "-t" + "-f" + (file-truename (buffer-file-name (go--coverage-origin-buffer))) + "-o" + (number-to-string (go--position-bytes point))) + (with-current-buffer outbuf + (split-string (buffer-substring-no-properties (point-min) (point-max)) "\n")) + (kill-buffer outbuf))))) (defun godef--successful-p (output) (not (or (string= "-" output) diff --git a/elpa/helm-20160818.623/emacs-helm.sh b/elpa/helm-20160914.813/emacs-helm.sh similarity index 100% rename from elpa/helm-20160818.623/emacs-helm.sh rename to elpa/helm-20160914.813/emacs-helm.sh diff --git a/elpa/helm-20160818.623/helm-adaptive.el b/elpa/helm-20160914.813/helm-adaptive.el similarity index 100% rename from elpa/helm-20160818.623/helm-adaptive.el rename to elpa/helm-20160914.813/helm-adaptive.el diff --git a/elpa/helm-20160818.623/helm-apt.el b/elpa/helm-20160914.813/helm-apt.el similarity index 92% rename from elpa/helm-20160818.623/helm-apt.el rename to elpa/helm-20160914.813/helm-apt.el index d8ea2fa..d65a115 100644 --- a/elpa/helm-20160818.623/helm-apt.el +++ b/elpa/helm-20160914.813/helm-apt.el @@ -244,25 +244,23 @@ Support install, remove and purge actions." (ansi-term (getenv "SHELL") "term apt") (setq helm-apt-term-buffer (buffer-name))) (term-line-mode) - (let ((command (cl-case action - (install "sudo apt-get install ") - (reinstall "sudo apt-get install --reinstall ") - (uninstall "sudo apt-get remove ") - (purge "sudo apt-get purge ") - (t (error "Unknown action")))) - (beg (point)) - end - (cand-list (mapconcat (lambda (x) (format "'%s'" x)) - (helm-marked-candidates) " "))) - (goto-char (point-max)) - (insert (concat command cand-list)) - (setq end (point)) - (if (y-or-n-p (format "%s package(s)" (symbol-name action))) - (progn + (let* ((command (cl-case action + (install "sudo apt-get install ") + (reinstall "sudo apt-get install --reinstall ") + (uninstall "sudo apt-get remove ") + (purge "sudo apt-get purge ") + (t (error "Unknown action")))) + (cands (helm-marked-candidates)) + (cand-list (mapconcat (lambda (x) (format "'%s'" x)) cands " "))) + (with-helm-display-marked-candidates "*apt candidates*" + cands + (when (y-or-n-p (format "%s package(s)" (symbol-name action))) + (with-current-buffer helm-apt-term-buffer + (goto-char (point-max)) + (insert (concat command cand-list)) (setq helm-external-commands-list nil) (setq helm-apt-installed-packages nil) - (term-char-mode) (term-send-input)) - (delete-region beg end)))) + (term-char-mode) (term-send-input)))))) ;;;###autoload (defun helm-apt (arg) diff --git a/elpa/helm-20160818.623/helm-autoloads.el b/elpa/helm-20160914.813/helm-autoloads.el similarity index 84% rename from elpa/helm-20160818.623/helm-autoloads.el rename to elpa/helm-20160914.813/helm-autoloads.el index 9fa8a6b..3b95e9e 100644 --- a/elpa/helm-20160818.623/helm-autoloads.el +++ b/elpa/helm-20160914.813/helm-autoloads.el @@ -1,16 +1,15 @@ ;;; helm-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "helm-adaptive" "helm-adaptive.el" (22454 5322 -;;;;;; 428259 677000)) +;;;### (autoloads nil "helm-adaptive" "helm-adaptive.el" (22490 24935 +;;;;;; 275408 774000)) ;;; Generated autoloads from helm-adaptive.el (defvar helm-adaptive-mode nil "\ Non-nil if Helm-Adaptive mode is enabled. -See the `helm-adaptive-mode' command -for a description of this minor mode. +See the command `helm-adaptive-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `helm-adaptive-mode'.") @@ -30,8 +29,8 @@ Useful when you have a old or corrupted `helm-adaptive-history-file'. ;;;*** -;;;### (autoloads nil "helm-apt" "helm-apt.el" (22454 5322 190254 -;;;;;; 80000)) +;;;### (autoloads nil "helm-apt" "helm-apt.el" (22490 24935 247408 +;;;;;; 853000)) ;;; Generated autoloads from helm-apt.el (autoload 'helm-apt "helm-apt" "\ @@ -42,8 +41,8 @@ With a prefix arg reload cache. ;;;*** -;;;### (autoloads nil "helm-bookmark" "helm-bookmark.el" (22454 5322 -;;;;;; 866269 976000)) +;;;### (autoloads nil "helm-bookmark" "helm-bookmark.el" (22490 24935 +;;;;;; 323408 637000)) ;;; Generated autoloads from helm-bookmark.el (autoload 'helm-bookmarks "helm-bookmark" "\ @@ -60,8 +59,8 @@ only if external library addressbook-bookmark.el is available. ;;;*** -;;;### (autoloads nil "helm-buffers" "helm-buffers.el" (22454 5322 -;;;;;; 122252 481000)) +;;;### (autoloads nil "helm-buffers" "helm-buffers.el" (22490 24935 +;;;;;; 227408 911000)) ;;; Generated autoloads from helm-buffers.el (autoload 'helm-buffers-list "helm-buffers" "\ @@ -76,8 +75,8 @@ Preconfigured `helm' lightweight version (buffer -> recentf). ;;;*** -;;;### (autoloads nil "helm-color" "helm-color.el" (22454 5322 731266 -;;;;;; 803000)) +;;;### (autoloads nil "helm-color" "helm-color.el" (22490 24935 307408 +;;;;;; 682000)) ;;; Generated autoloads from helm-color.el (autoload 'helm-colors "helm-color" "\ @@ -87,8 +86,8 @@ Preconfigured `helm' for color. ;;;*** -;;;### (autoloads nil "helm-command" "helm-command.el" (22454 5321 -;;;;;; 795244 793000)) +;;;### (autoloads nil "helm-command" "helm-command.el" (22490 24935 +;;;;;; 183409 35000)) ;;; Generated autoloads from helm-command.el (autoload 'helm-M-x "helm-command" "\ @@ -106,8 +105,8 @@ You can get help on each command by persistent action. ;;;*** -;;;### (autoloads nil "helm-config" "helm-config.el" (22454 5322 -;;;;;; 821268 918000)) +;;;### (autoloads nil "helm-config" "helm-config.el" (22490 24935 +;;;;;; 315408 659000)) ;;; Generated autoloads from helm-config.el (autoload 'helm-configuration "helm-config" "\ @@ -117,8 +116,8 @@ Customize `helm'. ;;;*** -;;;### (autoloads nil "helm-dabbrev" "helm-dabbrev.el" (22454 5322 -;;;;;; 257255 656000)) +;;;### (autoloads nil "helm-dabbrev" "helm-dabbrev.el" (22490 24935 +;;;;;; 255408 831000)) ;;; Generated autoloads from helm-dabbrev.el (autoload 'helm-dabbrev "helm-dabbrev" "\ @@ -128,8 +127,8 @@ Preconfigured helm for dynamic abbreviations. ;;;*** -;;;### (autoloads nil "helm-elisp" "helm-elisp.el" (22454 5322 777267 -;;;;;; 884000)) +;;;### (autoloads nil "helm-elisp" "helm-elisp.el" (22490 24935 311408 +;;;;;; 670000)) ;;; Generated autoloads from helm-elisp.el (autoload 'helm-lisp-completion-at-point "helm-elisp" "\ @@ -183,7 +182,7 @@ Preconfigured helm for complex command history. ;;;*** ;;;### (autoloads nil "helm-elisp-package" "helm-elisp-package.el" -;;;;;; (22454 5321 829245 592000)) +;;;;;; (22490 24935 191409 13000)) ;;; Generated autoloads from helm-elisp-package.el (autoload 'helm-list-elisp-packages "helm-elisp-package" "\ @@ -199,8 +198,8 @@ Same as `helm-list-elisp-packages' but don't fetch packages on remote. ;;;*** -;;;### (autoloads nil "helm-elscreen" "helm-elscreen.el" (22454 5321 -;;;;;; 728243 218000)) +;;;### (autoloads nil "helm-elscreen" "helm-elscreen.el" (22490 24935 +;;;;;; 171409 70000)) ;;; Generated autoloads from helm-elscreen.el (autoload 'helm-elscreen "helm-elscreen" "\ @@ -215,8 +214,8 @@ Preconfigured helm to list elscreen in history order. ;;;*** -;;;### (autoloads nil "helm-eshell" "helm-eshell.el" (22454 5321 -;;;;;; 942248 250000)) +;;;### (autoloads nil "helm-eshell" "helm-eshell.el" (22490 24935 +;;;;;; 203408 979000)) ;;; Generated autoloads from helm-eshell.el (autoload 'helm-esh-pcomplete "helm-eshell" "\ @@ -231,8 +230,8 @@ Preconfigured helm for eshell history. ;;;*** -;;;### (autoloads nil "helm-eval" "helm-eval.el" (22454 5322 518261 -;;;;;; 793000)) +;;;### (autoloads nil "helm-eval" "helm-eval.el" (22490 24935 283408 +;;;;;; 750000)) ;;; Generated autoloads from helm-eval.el (autoload 'helm-eval-expression "helm-eval" "\ @@ -252,8 +251,8 @@ Preconfigured helm for `helm-source-calculation-result'. ;;;*** -;;;### (autoloads nil "helm-external" "helm-external.el" (22454 5321 -;;;;;; 638241 101000)) +;;;### (autoloads nil "helm-external" "helm-external.el" (22490 24935 +;;;;;; 163409 93000)) ;;; Generated autoloads from helm-external.el (autoload 'helm-run-external-command "helm-external" "\ @@ -266,8 +265,8 @@ You can set your own list of commands with ;;;*** -;;;### (autoloads nil "helm-files" "helm-files.el" (22454 5322 291256 -;;;;;; 455000)) +;;;### (autoloads nil "helm-files" "helm-files.el" (22490 24935 259408 +;;;;;; 818000)) ;;; Generated autoloads from helm-files.el (autoload 'helm-projects-history "helm-files" "\ @@ -345,8 +344,8 @@ Preconfigured `helm' for `recentf'. ;;;*** -;;;### (autoloads nil "helm-font" "helm-font.el" (22454 5321 987249 -;;;;;; 307000)) +;;;### (autoloads nil "helm-font" "helm-font.el" (22490 24935 207408 +;;;;;; 967000)) ;;; Generated autoloads from helm-font.el (autoload 'helm-select-xfont "helm-font" "\ @@ -361,8 +360,8 @@ Preconfigured helm for `ucs-names' math symbols. ;;;*** -;;;### (autoloads nil "helm-grep" "helm-grep.el" (22454 5322 912271 -;;;;;; 58000)) +;;;### (autoloads nil "helm-grep" "helm-grep.el" (22490 24935 327408 +;;;;;; 625000)) ;;; Generated autoloads from helm-grep.el (autoload 'helm-goto-precedent-file "helm-grep" "\ @@ -389,8 +388,8 @@ With a prefix arg ARG git-grep the whole repository. ;;;*** -;;;### (autoloads nil "helm-help" "helm-help.el" (22454 5321 593240 -;;;;;; 43000)) +;;;### (autoloads nil "helm-help" "helm-help.el" (22490 24935 159409 +;;;;;; 104000)) ;;; Generated autoloads from helm-help.el (autoload 'helm-documentation "helm-help" "\ @@ -410,8 +409,8 @@ String displayed in mode-line in `helm-source-find-files'.") ;;;*** -;;;### (autoloads nil "helm-id-utils" "helm-id-utils.el" (22454 5322 -;;;;;; 156253 281000)) +;;;### (autoloads nil "helm-id-utils" "helm-id-utils.el" (22490 24935 +;;;;;; 239408 876000)) ;;; Generated autoloads from helm-id-utils.el (autoload 'helm-gid "helm-id-utils" "\ @@ -425,8 +424,8 @@ See . ;;;*** -;;;### (autoloads nil "helm-imenu" "helm-imenu.el" (22454 5322 54250 -;;;;;; 883000)) +;;;### (autoloads nil "helm-imenu" "helm-imenu.el" (22490 24935 219408 +;;;;;; 933000)) ;;; Generated autoloads from helm-imenu.el (autoload 'helm-imenu "helm-imenu" "\ @@ -443,8 +442,8 @@ or it have an association in `helm-imenu-all-buffer-assoc'. ;;;*** -;;;### (autoloads nil "helm-info" "helm-info.el" (22454 5322 20250 -;;;;;; 83000)) +;;;### (autoloads nil "helm-info" "helm-info.el" (22490 24935 215408 +;;;;;; 945000)) ;;; Generated autoloads from helm-info.el (autoload 'helm-info "helm-info" "\ @@ -460,8 +459,8 @@ With a prefix-arg insert symbol at point. ;;;*** -;;;### (autoloads nil "helm-locate" "helm-locate.el" (22454 5321 -;;;;;; 683242 159000)) +;;;### (autoloads nil "helm-locate" "helm-locate.el" (22490 24935 +;;;;;; 167409 82000)) ;;; Generated autoloads from helm-locate.el (autoload 'helm-projects-find-files "helm-locate" "\ @@ -488,8 +487,8 @@ Where db_path is a filename matched by ;;;*** -;;;### (autoloads nil "helm-man" "helm-man.el" (22454 5322 563262 -;;;;;; 851000)) +;;;### (autoloads nil "helm-man" "helm-man.el" (22490 24935 291408 +;;;;;; 728000)) ;;; Generated autoloads from helm-man.el (autoload 'helm-man-woman "helm-man" "\ @@ -500,8 +499,8 @@ With a prefix arg reinitialize the cache. ;;;*** -;;;### (autoloads nil "helm-misc" "helm-misc.el" (22454 5322 383258 -;;;;;; 619000)) +;;;### (autoloads nil "helm-misc" "helm-misc.el" (22490 24935 271408 +;;;;;; 785000)) ;;; Generated autoloads from helm-misc.el (autoload 'helm-browse-menubar "helm-misc" "\ @@ -542,8 +541,8 @@ Preconfigured `helm' that provide completion of `comint' history. ;;;*** -;;;### (autoloads nil "helm-mode" "helm-mode.el" (22454 5321 482237 -;;;;;; 433000)) +;;;### (autoloads nil "helm-mode" "helm-mode.el" (22490 24935 143409 +;;;;;; 149000)) ;;; Generated autoloads from helm-mode.el (autoload 'helm-comp-read "helm-mode" "\ @@ -640,7 +639,7 @@ in `helm-current-prefix-arg', otherwise if prefix args were given before That's mean you can pass prefix args before or after calling a command that use `helm-comp-read' See `helm-M-x' for example. -\(fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (BUFFER \"*Helm Completions*\") MUST-MATCH FUZZY REVERSE-HISTORY (REQUIRES-PATTERN 0) HISTORY INPUT-HISTORY (CASE-FOLD helm-comp-read-case-fold-search) (DEL-INPUT t) (PERSISTENT-ACTION nil) (PERSISTENT-HELP \"DoNothing\") (MODE-LINE helm-comp-read-mode-line) HELP-MESSAGE (KEYMAP helm-comp-read-map) (NAME \"Helm Completions\") CANDIDATES-IN-BUFFER MATCH-PART EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (VOLATILE t) SORT (FC-TRANSFORMER \\='helm-cr-default-transformer) HIST-FC-TRANSFORMER MARKED-CANDIDATES NOMARK (ALISTP t) (CANDIDATE-NUMBER-LIMIT helm-candidate-number-limit))" nil nil) +\(fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (buffer \"*Helm Completions*\") MUST-MATCH FUZZY REVERSE-HISTORY (requires-pattern 0) HISTORY INPUT-HISTORY (case-fold helm-comp-read-case-fold-search) (del-input t) (persistent-action nil) (persistent-help \"DoNothing\") (mode-line helm-comp-read-mode-line) HELP-MESSAGE (keymap helm-comp-read-map) (name \"Helm Completions\") CANDIDATES-IN-BUFFER MATCH-PART EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (volatile t) SORT (fc-transformer (quote helm-cr-default-transformer)) HIST-FC-TRANSFORMER MARKED-CANDIDATES NOMARK (alistp t) (candidate-number-limit helm-candidate-number-limit))" nil nil) (autoload 'helm-read-file-name "helm-mode" "\ Read a file name with helm completion. @@ -678,12 +677,11 @@ Keys description: - MODE-LINE: A mode line message, default is `helm-read-file-name-mode-line-string'. -\(fn PROMPT &key (NAME \"Read File Name\") (INITIAL-INPUT default-directory) (BUFFER \"*Helm file completions*\") TEST (CASE-FOLD helm-file-name-case-fold-search) PRESELECT HISTORY MUST-MATCH DEFAULT MARKED-CANDIDATES (CANDIDATE-NUMBER-LIMIT helm-ff-candidate-number-limit) NOMARK (ALISTP t) (PERSISTENT-ACTION \\='helm-find-files-persistent-action) (PERSISTENT-HELP \"Hit1 Expand Candidate, Hit2 or (C-u) Find file\") (MODE-LINE helm-read-file-name-mode-line-string))" nil nil) +\(fn PROMPT &key (name \"Read File Name\") (initial-input default-directory) (buffer \"*Helm file completions*\") TEST (case-fold helm-file-name-case-fold-search) PRESELECT HISTORY MUST-MATCH DEFAULT MARKED-CANDIDATES (candidate-number-limit helm-ff-candidate-number-limit) NOMARK (alistp t) (persistent-action (quote helm-find-files-persistent-action)) (persistent-help \"Hit1 Expand Candidate, Hit2 or (C-u) Find file\") (mode-line helm-read-file-name-mode-line-string))" nil nil) (defvar helm-mode nil "\ Non-nil if Helm mode is enabled. -See the `helm-mode' command -for a description of this minor mode. +See the command `helm-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `helm-mode'.") @@ -714,8 +712,8 @@ Note: This mode is incompatible with Emacs23. ;;;*** -;;;### (autoloads nil "helm-net" "helm-net.el" (22454 5322 686265 -;;;;;; 744000)) +;;;### (autoloads nil "helm-net" "helm-net.el" (22490 24935 303408 +;;;;;; 694000)) ;;; Generated autoloads from helm-net.el (autoload 'helm-surfraw "helm-net" "\ @@ -735,8 +733,8 @@ Preconfigured `helm' for Wikipedia lookup with Wikipedia suggest. ;;;*** -;;;### (autoloads nil "helm-org" "helm-org.el" (22454 5322 957272 -;;;;;; 116000)) +;;;### (autoloads nil "helm-org" "helm-org.el" (22490 24935 331408 +;;;;;; 613000)) ;;; Generated autoloads from helm-org.el (autoload 'helm-org-agenda-files-headings "helm-org" "\ @@ -767,8 +765,8 @@ Preconfigured helm for org templates. ;;;*** -;;;### (autoloads nil "helm-regexp" "helm-regexp.el" (22454 5322 -;;;;;; 642264 709000)) +;;;### (autoloads nil "helm-regexp" "helm-regexp.el" (22490 24935 +;;;;;; 299408 706000)) ;;; Generated autoloads from helm-regexp.el (autoload 'helm-moccur-mode "helm-regexp" "\ @@ -807,14 +805,13 @@ The prefix arg can be set before calling ;;;*** -;;;### (autoloads nil "helm-ring" "helm-ring.el" (22454 5321 548238 -;;;;;; 985000)) +;;;### (autoloads nil "helm-ring" "helm-ring.el" (22490 24935 151409 +;;;;;; 127000)) ;;; Generated autoloads from helm-ring.el (defvar helm-push-mark-mode nil "\ Non-nil if Helm-Push-Mark mode is enabled. -See the `helm-push-mark-mode' command -for a description of this minor mode. +See the command `helm-push-mark-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `helm-push-mark-mode'.") @@ -866,8 +863,8 @@ This command is useful when used with persistent action. ;;;*** -;;;### (autoloads nil "helm-semantic" "helm-semantic.el" (22454 5322 -;;;;;; 88251 682000)) +;;;### (autoloads nil "helm-semantic" "helm-semantic.el" (22490 24935 +;;;;;; 223408 922000)) ;;; Generated autoloads from helm-semantic.el (autoload 'helm-semantic "helm-semantic" "\ @@ -889,14 +886,13 @@ Fill in the symbol at point by default. ;;;*** -;;;### (autoloads nil "helm-sys" "helm-sys.el" (22454 5322 223254 -;;;;;; 856000)) +;;;### (autoloads nil "helm-sys" "helm-sys.el" (22490 24935 251408 +;;;;;; 842000)) ;;; Generated autoloads from helm-sys.el (defvar helm-top-poll-mode nil "\ Non-nil if Helm-Top-Poll mode is enabled. -See the `helm-top-poll-mode' command -for a description of this minor mode. +See the command `helm-top-poll-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `helm-top-poll-mode'.") @@ -925,8 +921,8 @@ Preconfigured helm for xrandr. ;;;*** -;;;### (autoloads nil "helm-tags" "helm-tags.el" (22454 5321 897247 -;;;;;; 191000)) +;;;### (autoloads nil "helm-tags" "helm-tags.el" (22490 24935 199408 +;;;;;; 990000)) ;;; Generated autoloads from helm-tags.el (autoload 'helm-etags-select "helm-tags" "\ @@ -945,14 +941,13 @@ This function aggregates three sources of tag files: ;;;*** -;;;### (autoloads nil "helm-utils" "helm-utils.el" (22454 5321 761243 -;;;;;; 994000)) +;;;### (autoloads nil "helm-utils" "helm-utils.el" (22490 24935 179409 +;;;;;; 47000)) ;;; Generated autoloads from helm-utils.el (defvar helm-popup-tip-mode nil "\ Non-nil if Helm-Popup-Tip mode is enabled. -See the `helm-popup-tip-mode' command -for a description of this minor mode. +See the command `helm-popup-tip-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `helm-popup-tip-mode'.") @@ -966,8 +961,8 @@ Show help-echo informations in a popup tip at end of line. ;;;*** -;;;### (autoloads nil nil ("helm-easymenu.el" "helm-multi-match.el" -;;;;;; "helm-pkg.el" "helm-types.el") (22454 5323 1273 151000)) +;;;### (autoloads nil nil ("helm-easymenu.el" "helm-pkg.el" "helm-types.el") +;;;;;; (22490 24935 351383 40000)) ;;;*** diff --git a/elpa/helm-20160818.623/helm-bookmark.el b/elpa/helm-20160914.813/helm-bookmark.el similarity index 99% rename from elpa/helm-20160818.623/helm-bookmark.el rename to elpa/helm-20160914.813/helm-bookmark.el index b14e85e..d513fad 100644 --- a/elpa/helm-20160818.623/helm-bookmark.el +++ b/elpa/helm-20160914.813/helm-bookmark.el @@ -19,6 +19,7 @@ (require 'cl-lib) (require 'bookmark) (require 'helm) +(require 'helm-lib) (require 'helm-help) (require 'helm-types) (require 'helm-utils) @@ -477,9 +478,10 @@ than `w3m-browse-url' use it." (define-key map (kbd "C-x C-d") 'helm-bookmark-run-browse-project) map)) -(defclass helm-bookmark-overwrite-inheritor (helm-source) ()) +(defclass helm-bookmark-override-inheritor (helm-source) ()) -(defmethod helm--setup-source ((source helm-bookmark-overwrite-inheritor)) +(defmethod helm--setup-source ((source helm-bookmark-override-inheritor)) + ;; Ensure `helm-source-in-buffer' method is called. (call-next-method) (setf (slot-value source 'action) (helm-append-at-nth @@ -489,7 +491,7 @@ than `w3m-browse-url' use it." (setf (slot-value source 'keymap) helm-bookmark-find-files-map)) (defclass helm-bookmark-find-files-class (helm-source-filtered-bookmarks - helm-bookmark-overwrite-inheritor) + helm-bookmark-override-inheritor) ()) (defvar helm-source-bookmark-helm-find-files diff --git a/elpa/helm-20160818.623/helm-buffers.el b/elpa/helm-20160914.813/helm-buffers.el similarity index 98% rename from elpa/helm-20160818.623/helm-buffers.el rename to elpa/helm-20160914.813/helm-buffers.el index 14b3cfd..8f62e1d 100644 --- a/elpa/helm-20160818.623/helm-buffers.el +++ b/elpa/helm-20160914.813/helm-buffers.el @@ -435,8 +435,9 @@ Should be called after others transformers i.e (boring buffers)." (defun helm-buffers-mark-similar-buffers-1 () (with-helm-window - (let ((type (get-text-property - 0 'type (helm-get-selection nil 'withprop)))) + (let* ((src (helm-get-current-source)) + (type (get-text-property + 0 'type (helm-get-selection nil 'withprop src)))) (save-excursion (goto-char (helm-get-previous-header-pos)) (helm-next-line) @@ -449,13 +450,13 @@ Should be called after others transformers i.e (boring buffers)." (maxpoint (or end (point-max)))) (while (< (point) maxpoint) (helm-mark-current-line) - (let ((cand (helm-get-selection nil 'withprop))) + (let ((cand (helm-get-selection nil 'withprop src))) (when (and (not (helm-this-visible-mark)) (eq (get-text-property 0 'type cand) type)) (helm-make-visible-mark))) (forward-line 1) (end-of-line)))) (helm-mark-current-line) - (helm-display-mode-line (helm-get-current-source) t) + (helm-display-mode-line src t) (message "%s candidates marked" (length helm-marked-candidates))))) (defun helm-buffers-mark-similar-buffers () @@ -593,11 +594,10 @@ If REGEXP-FLAG is given use `query-replace-regexp'." (defun helm-buffer-toggle-diff (candidate) "Toggle diff buffer CANDIDATE with it's file." - (let (helm-persistent-action-use-special-display) - (helm-aif (get-buffer-window "*Diff*") - (progn (kill-buffer "*Diff*") - (set-window-buffer it helm-current-buffer)) - (diff-buffer-with-file (get-buffer candidate))))) + (helm-aif (get-buffer-window "*Diff*") + (progn (kill-buffer "*Diff*") + (set-window-buffer it helm-current-buffer)) + (diff-buffer-with-file (get-buffer candidate)))) (defun helm-buffer-diff-persistent () "Toggle diff buffer without quitting helm." @@ -783,7 +783,8 @@ If REGEXP-FLAG is given use `query-replace-regexp'." (defun helm-buffers-list-persistent-action (candidate) (let ((current (window-buffer helm-persistent-action-display-window))) - (if (or (eql current (get-buffer helm-current-buffer)) + (if (or (helm-follow-mode-p) + (eql current (get-buffer helm-current-buffer)) (not (eql current (get-buffer candidate)))) (switch-to-buffer candidate) (switch-to-buffer helm-current-buffer)))) diff --git a/elpa/helm-20160818.623/helm-color.el b/elpa/helm-20160914.813/helm-color.el similarity index 100% rename from elpa/helm-20160818.623/helm-color.el rename to elpa/helm-20160914.813/helm-color.el diff --git a/elpa/helm-20160818.623/helm-command.el b/elpa/helm-20160914.813/helm-command.el similarity index 100% rename from elpa/helm-20160818.623/helm-command.el rename to elpa/helm-20160914.813/helm-command.el diff --git a/elpa/helm-20160818.623/helm-config.el b/elpa/helm-20160914.813/helm-config.el similarity index 98% rename from elpa/helm-20160818.623/helm-config.el rename to elpa/helm-20160914.813/helm-config.el index cea6bdc..8963209 100644 --- a/elpa/helm-20160818.623/helm-config.el +++ b/elpa/helm-20160914.813/helm-config.el @@ -144,7 +144,6 @@ ("(\\<\\(with-helm-buffer\\)\\>" 1 font-lock-keyword-face) ("(\\<\\(with-helm-show-completion\\)\\>" 1 font-lock-keyword-face) ("(\\<\\(with-helm-default-directory\\)\\>" 1 font-lock-keyword-face) - ("(\\<\\(with-helm-display-same-window\\)\\>" 1 font-lock-keyword-face) ("(\\<\\(with-helm-restore-variables\\)\\>" 1 font-lock-keyword-face) ("(\\<\\(helm-multi-key-defun\\)\\>" 1 font-lock-keyword-face) ("(\\<\\(helm-while-no-input\\)\\>" 1 font-lock-keyword-face) diff --git a/elpa/helm-20160818.623/helm-dabbrev.el b/elpa/helm-20160914.813/helm-dabbrev.el similarity index 100% rename from elpa/helm-20160818.623/helm-dabbrev.el rename to elpa/helm-20160914.813/helm-dabbrev.el diff --git a/elpa/helm-20160818.623/helm-easymenu.el b/elpa/helm-20160914.813/helm-easymenu.el similarity index 100% rename from elpa/helm-20160818.623/helm-easymenu.el rename to elpa/helm-20160914.813/helm-easymenu.el diff --git a/elpa/helm-20160818.623/helm-elisp-package.el b/elpa/helm-20160914.813/helm-elisp-package.el similarity index 97% rename from elpa/helm-20160818.623/helm-elisp-package.el rename to elpa/helm-20160914.813/helm-elisp-package.el index f9147d9..a639133 100644 --- a/elpa/helm-20160818.623/helm-elisp-package.el +++ b/elpa/helm-20160914.813/helm-elisp-package.el @@ -71,7 +71,7 @@ (setq helm-el-package--upgrades (helm-el-package-menu--find-upgrades)) (if helm--force-updating-p (if helm-el-package--upgrades - (message "%d package(s) can be upgraded, Refreshing packages list done" + (message "Refreshing packages list done, [%d] package(s) to upgrade" (length helm-el-package--upgrades)) (message "Refreshing packages list done, no upgrades available")) (setq helm-el-package--show-only (if helm-el-package--upgrades @@ -130,7 +130,7 @@ (helm-exit-and-execute-action 'helm-el-package-install))) (put 'helm-el-run-package-install 'helm-only t) -(defun helm-el-package-uninstall-1 (pkg-list) +(defun helm-el-package-uninstall-1 (pkg-list &optional force) (cl-loop with mkd = pkg-list for p in mkd for id = (get-text-property 0 'tabulated-list-id p) @@ -139,7 +139,10 @@ (with-no-warnings (if (fboundp 'package-desc-full-name) ;; emacs 24.4 - (package-delete id) + (condition-case nil + (package-delete id force) + (wrong-number-of-arguments + (package-delete id))) ;; emacs 24.3 (package-delete (symbol-name (car id)) (package-version-join (cdr id))))) @@ -171,7 +174,7 @@ "No package deleted"))) (defun helm-el-package-uninstall (_candidate) - (helm-el-package-uninstall-1 (helm-marked-candidates))) + (helm-el-package-uninstall-1 (helm-marked-candidates) helm-current-prefix-arg)) (defun helm-el-run-package-uninstall () (interactive) diff --git a/elpa/helm-20160818.623/helm-elisp.el b/elpa/helm-20160914.813/helm-elisp.el similarity index 89% rename from elpa/helm-20160818.623/helm-elisp.el rename to elpa/helm-20160914.813/helm-elisp.el index abcf49d..4766112 100644 --- a/elpa/helm-20160818.623/helm-elisp.el +++ b/elpa/helm-20160914.813/helm-elisp.el @@ -94,6 +94,13 @@ fuzzy completion is not available in `completion-at-point'." :group 'helm-elisp :type '(repeat (choice symbol))) +(defcustom helm-apropos-defaut-info-lookup-sources '(helm-source-info-elisp + helm-source-info-cl + helm-source-info-eieio) + "A list of sources to look into when searching info page of a symbol." + :group 'helm-elisp + :type '(repeat (choice symbol))) + ;;; Faces ;; @@ -309,12 +316,12 @@ Return a cons \(beg . end\)." :persistent-help (helm-lisp-completion-persistent-help) :filtered-candidate-transformer 'helm-lisp-completion-transformer - :action `(lambda (candidate) - (with-helm-current-buffer - (run-with-timer - 0.01 nil - 'helm-insert-completion-at-point - ,beg ,end candidate)))) + :action (lambda (candidate) + (with-helm-current-buffer + (run-with-timer + 0.01 nil + 'helm-insert-completion-at-point + beg end candidate)))) :input (if helm-lisp-fuzzy-completion target (concat target " ")) :resume 'noresume @@ -495,9 +502,9 @@ Filename completion happen if string start after or between a double quote." (defun helm-def-source--emacs-variables (&optional default) (helm-build-in-buffer-source "Variables" - :init `(lambda () - (helm-apropos-init - (lambda (x) (and (boundp x) (not (keywordp x)))) ,default)) + :init (lambda () + (helm-apropos-init + (lambda (x) (and (boundp x) (not (keywordp x)))) default)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) 'helm-apropos-default-sort-fn) @@ -552,8 +559,8 @@ Filename completion happen if string start after or between a double quote." (defun helm-def-source--emacs-commands (&optional default) (helm-build-in-buffer-source "Commands" - :init `(lambda () - (helm-apropos-init 'commandp ,default)) + :init (lambda () + (helm-apropos-init 'commandp default)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) 'helm-apropos-default-sort-fn) @@ -568,13 +575,13 @@ Filename completion happen if string start after or between a double quote." (defun helm-def-source--emacs-functions (&optional default) (helm-build-in-buffer-source "Functions" - :init `(lambda () - (helm-apropos-init (lambda (x) - (and (fboundp x) - (not (commandp x)) - (not (generic-p x)) - (not (class-p x)))) - ,default)) + :init (lambda () + (helm-apropos-init (lambda (x) + (and (fboundp x) + (not (commandp x)) + (not (generic-p x)) + (not (class-p x)))) + default)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) 'helm-apropos-default-sort-fn) @@ -589,10 +596,10 @@ Filename completion happen if string start after or between a double quote." (defun helm-def-source--eieio-classes (&optional default) (helm-build-in-buffer-source "Classes" - :init `(lambda () - (helm-apropos-init (lambda (x) - (class-p x)) - ,default)) + :init (lambda () + (helm-apropos-init (lambda (x) + (class-p x)) + default)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) 'helm-apropos-default-sort-fn) @@ -607,10 +614,10 @@ Filename completion happen if string start after or between a double quote." (defun helm-def-source--eieio-generic (&optional default) (helm-build-in-buffer-source "Generic functions" - :init `(lambda () - (helm-apropos-init (lambda (x) - (generic-p x)) - ,default)) + :init (lambda () + (helm-apropos-init (lambda (x) + (generic-p x)) + default)) :fuzzy-match helm-apropos-fuzzy-match :filtered-candidate-transformer (and (null helm-apropos-fuzzy-match) 'helm-apropos-default-sort-fn) @@ -623,36 +630,67 @@ Filename completion happen if string start after or between a double quote." ("Find function" . helm-find-function) ("Info lookup" . helm-info-lookup-symbol)))) +(defun helm-info-lookup-fallback-source (candidate) + (let ((sym (helm-symbolify candidate)) + src-name fn) + (cond ((class-p sym) + (setq fn #'helm-describe-function + src-name "Describe class")) + ((generic-p sym) + (setq fn #'helm-describe-function + src-name "Describe generic function")) + ((fboundp sym) + (setq fn #'helm-describe-function + src-name "Describe function")) + ((facep sym) + (setq fn #'helm-describe-face + src-name "Describe face")) + (t + (setq fn #'helm-describe-variable + src-name "Describe variable"))) + (helm-build-sync-source src-name + :candidates (list candidate) + :persistent-action (lambda (candidate) + (helm-elisp--persistent-help + candidate fn)) + :persistent-help src-name + :nomark t + :action fn))) + (defun helm-info-lookup-symbol-1 (c) - (let ((helm-execute-action-at-once-if-one t) - (helm-quit-if-no-candidate - `(lambda () - (message "`%s' Not Documented as a symbol" ,c)))) - (helm :sources '(helm-source-info-elisp - helm-source-info-cl - helm-source-info-eieio) + (let ((helm-execute-action-at-once-if-one 'current-source)) + (helm :sources (append helm-apropos-defaut-info-lookup-sources + (list (helm-info-lookup-fallback-source c))) :resume 'noresume :buffer "*helm lookup*" :input c))) (defun helm-info-lookup-symbol (candidate) - (run-with-timer 0.01 nil #'helm-info-lookup-symbol-1 candidate)) + ;; Running an idle-timer allow not catching RET + ;; when exiting with the fallback source. + (run-with-idle-timer 0.01 nil #'helm-info-lookup-symbol-1 candidate)) (defun helm-elisp--persistent-help (candidate fun &optional name) (let ((hbuf (get-buffer (help-buffer)))) - (if (and (helm-attr 'help-running-p) - (string= candidate (helm-attr 'help-current-symbol)) - (null helm-persistent-action-use-special-display)) - (progn - ;; When started from a help buffer, - ;; Don't kill this buffer as it is helm-current-buffer. - (unless (equal hbuf helm-current-buffer) - (kill-buffer hbuf) - (set-window-buffer (get-buffer-window hbuf) - helm-current-buffer)) - (helm-attrset 'help-running-p nil)) - (if name (funcall fun candidate name) (funcall fun candidate)) - (helm-attrset 'help-running-p t)) + (cond ((helm-follow-mode-p) + (if name + (funcall fun candidate name) + (funcall fun candidate))) + ((or (and (helm-attr 'help-running-p) + (string= candidate (helm-attr 'help-current-symbol)))) + (progn + ;; When started from a help buffer, + ;; Don't kill this buffer as it is helm-current-buffer. + (unless (equal hbuf helm-current-buffer) + (kill-buffer hbuf) + (set-window-buffer (get-buffer-window hbuf) + helm-current-buffer)) + (helm-attrset 'help-running-p nil))) + (t + (if name + (funcall fun candidate name) + (funcall fun candidate)) + (helm-attrset 'help-running-p t))) (helm-attrset 'help-current-symbol candidate))) ;;;###autoload @@ -734,11 +772,11 @@ i.e the `symbol-name' of any existing symbol." ;; (defun helm-locate-library-scan-list () (cl-loop for dir in load-path - when (file-directory-p dir) - append (directory-files dir t (concat (regexp-opt (get-load-suffixes)) - "\\'")) - into lst - finally return (helm-fast-remove-dups lst :test 'equal))) + with load-suffixes = '(".el") + when (file-directory-p dir) + append (directory-files + dir t (concat (regexp-opt (get-load-suffixes)) + "\\'")))) ;;;###autoload (defun helm-locate-library () diff --git a/elpa/helm-20160818.623/helm-elscreen.el b/elpa/helm-20160914.813/helm-elscreen.el similarity index 100% rename from elpa/helm-20160818.623/helm-elscreen.el rename to elpa/helm-20160914.813/helm-elscreen.el diff --git a/elpa/helm-20160818.623/helm-eshell.el b/elpa/helm-20160914.813/helm-eshell.el similarity index 97% rename from elpa/helm-20160818.623/helm-eshell.el rename to elpa/helm-20160914.813/helm-eshell.el index b8473d6..5dc0788 100644 --- a/elpa/helm-20160818.623/helm-eshell.el +++ b/elpa/helm-20160914.813/helm-eshell.el @@ -44,6 +44,12 @@ "Helm eshell completion and history." :group 'helm) + +(defcustom helm-eshell-fuzzy-match nil + "Enable fuzzy matching in `helm-esh-pcomplete' when non--nil." + :group 'helm-eshell + :type 'boolean) + (defvar helm-eshell-history-map (let ((map (make-sparse-keymap))) @@ -222,7 +228,8 @@ The function that call this should set `helm-ec-target' to thing at point." (car (last (ignore-errors (pcomplete-parse-arguments)))))) (with-helm-show-completion beg end - (or (helm :sources (helm-make-source "Eshell completions" 'helm-esh-source) + (or (helm :sources (helm-make-source "Eshell completions" 'helm-esh-source + :fuzzy-match helm-eshell-fuzzy-match) :buffer "*helm pcomplete*" :keymap helm-esh-completion-map :resume 'noresume diff --git a/elpa/helm-20160818.623/helm-eval.el b/elpa/helm-20160914.813/helm-eval.el similarity index 100% rename from elpa/helm-20160818.623/helm-eval.el rename to elpa/helm-20160914.813/helm-eval.el diff --git a/elpa/helm-20160818.623/helm-external.el b/elpa/helm-20160914.813/helm-external.el similarity index 100% rename from elpa/helm-20160818.623/helm-external.el rename to elpa/helm-20160914.813/helm-external.el diff --git a/elpa/helm-20160818.623/helm-files.el b/elpa/helm-20160914.813/helm-files.el similarity index 94% rename from elpa/helm-20160818.623/helm-files.el rename to elpa/helm-20160914.813/helm-files.el index 13944ea..a205fe6 100644 --- a/elpa/helm-20160818.623/helm-files.el +++ b/elpa/helm-20160914.813/helm-files.el @@ -447,6 +447,7 @@ Don't set it directly, use instead `helm-ff-auto-update-initial-value'.") (defvar helm-multi-files--toggle-locate nil) (defvar helm-ff--move-to-first-real-candidate t) (defvar helm-find-files--toggle-bookmark nil) +(defvar helm-ff--tramp-methods nil) ;;; Helm-find-files @@ -1434,30 +1435,31 @@ The checksum is copied to kill-ring." If prefix numeric arg is given go ARG level up." (interactive "p") (with-helm-alive-p - (when (and (helm-file-completion-source-p) - (not (helm-ff-invalid-tramp-name-p))) - (with-helm-window - (when helm-follow-mode - (helm-follow-mode -1) (message nil))) - ;; When going up one level we want to be at the line - ;; corresponding to actual directory, so store this info - ;; in `helm-ff-last-expanded'. - (let ((cur-cand (helm-get-selection)) - (new-pattern (helm-reduce-file-name helm-pattern arg))) - (cond ((file-directory-p helm-pattern) - (setq helm-ff-last-expanded helm-ff-default-directory)) - ((file-exists-p helm-pattern) - (setq helm-ff-last-expanded helm-pattern)) - ((and cur-cand (file-exists-p cur-cand)) - (setq helm-ff-last-expanded cur-cand))) - (unless helm-find-files--level-tree - (setq helm-find-files--level-tree - (cons helm-ff-default-directory - helm-find-files--level-tree))) - (setq helm-find-files--level-tree-iterator nil) - (push new-pattern helm-find-files--level-tree) - (helm-set-pattern new-pattern helm-suspend-update-flag) - (with-helm-after-update-hook (helm-ff-retrieve-last-expanded)))))) + (let ((src (helm-get-current-source))) + (when (and (helm-file-completion-source-p src) + (not (helm-ff-invalid-tramp-name-p))) + (with-helm-window + (when (helm-follow-mode-p) + (helm-follow-mode -1) (message nil))) + ;; When going up one level we want to be at the line + ;; corresponding to actual directory, so store this info + ;; in `helm-ff-last-expanded'. + (let ((cur-cand (helm-get-selection nil nil src)) + (new-pattern (helm-reduce-file-name helm-pattern arg))) + (cond ((file-directory-p helm-pattern) + (setq helm-ff-last-expanded helm-ff-default-directory)) + ((file-exists-p helm-pattern) + (setq helm-ff-last-expanded helm-pattern)) + ((and cur-cand (file-exists-p cur-cand)) + (setq helm-ff-last-expanded cur-cand))) + (unless helm-find-files--level-tree + (setq helm-find-files--level-tree + (cons helm-ff-default-directory + helm-find-files--level-tree))) + (setq helm-find-files--level-tree-iterator nil) + (push new-pattern helm-find-files--level-tree) + (helm-set-pattern new-pattern helm-suspend-update-flag) + (with-helm-after-update-hook (helm-ff-retrieve-last-expanded))))))) (put 'helm-find-files-up-one-level 'helm-only t) (defun helm-find-files-down-last-level () @@ -1500,18 +1502,19 @@ or hitting C-j on \"..\"." (defun helm-ff-move-to-first-real-candidate () "When candidate is an incomplete file name move to first real candidate." - (helm-aif (and (helm-file-completion-source-p) - (not (helm-empty-source-p)) - (not (string-match - "\\`[Dd]ired-" - (assoc-default 'name (helm-get-current-source)))) - helm-ff--move-to-first-real-candidate - (helm-get-selection)) - (unless (or (not (stringp it)) - (and (string-match helm-tramp-file-name-regexp it) - (not (file-remote-p it nil t))) - (file-exists-p it)) - (helm-next-line)))) + (let ((src (helm-get-current-source))) + (helm-aif (and (helm-file-completion-source-p src) + (not (helm-empty-source-p)) + (not (string-match + "\\`[Dd]ired-" + (assoc-default 'name (helm-get-current-source)))) + helm-ff--move-to-first-real-candidate + (helm-get-selection nil nil src)) + (unless (or (not (stringp it)) + (and (string-match helm-tramp-file-name-regexp it) + (not (file-remote-p it nil t))) + (file-exists-p it)) + (helm-next-line))))) ;;; Auto-update - helm-find-files auto expansion of directories. ;; @@ -1522,81 +1525,81 @@ When only one candidate is remaining and it is a directory, expand to this directory. This happen only when `helm-ff-auto-update-flag' is non--nil or when `helm-pattern' is equal to \"~/\"." - (when (and (helm-file-completion-source-p) - (not (helm-ff-invalid-tramp-name-p))) - (with-helm-window - (let* ((history-p (string= (assoc-default - 'name (helm-get-current-source)) - "Read File Name History")) - (pat (if (string-match helm-tramp-file-name-regexp - helm-pattern) - (helm-create-tramp-name helm-pattern) - helm-pattern)) - (completed-p (string= (file-name-as-directory - (expand-file-name - (substitute-in-file-name pat))) - helm-ff-default-directory)) - (candnum (helm-get-candidate-number)) - (lt2-p (and (<= candnum 2) - (>= (string-width (helm-basename helm-pattern)) 2))) - (cur-cand (prog2 - (unless (or completed-p - (file-exists-p pat) - history-p (null lt2-p)) - ;; Only one non--existing candidate - ;; and one directory candidate, move to it, - ;; but not when renaming, copying etc..., - ;; so for this use - ;; `helm-ff-move-to-first-real-candidate' - ;; instead of `helm-next-line' (Issue #910). - (helm-ff-move-to-first-real-candidate)) - (helm-get-selection)))) - (when (and (or (and helm-ff-auto-update-flag - (null helm-ff--deleting-char-backward) - (not (get-buffer-window helm-action-buffer 'visible)) - ;; Issue #295 - ;; File predicates are returning t - ;; with paths like //home/foo. - ;; So check it is not the case by regexp - ;; to allow user to do C-a / to start e.g - ;; entering a tramp method e.g /sudo::. - (not (string-match "\\`//" helm-pattern)) - (not (eq last-command 'helm-yank-text-at-point))) - ;; Fix issue #542. - (string= helm-pattern "~/") - ;; Only one remaining directory, expand it. - (and (= candnum 1) - helm-ff--auto-update-state - (file-accessible-directory-p pat) - (null helm-ff--deleting-char-backward))) - (or - ;; Only one candidate remaining - ;; and at least 2 char in basename. - lt2-p - ;; Already completed. - completed-p) - (not history-p) ; Don't try to auto complete in history. - (stringp cur-cand) - (file-accessible-directory-p cur-cand)) - (if (and (not (helm-dir-is-dot cur-cand)) ; [1] - ;; Maybe we are here because completed-p is true - ;; but check this again to be sure. (Windows fix) - (<= candnum 2)) ; [2] - ;; If after going to next line the candidate - ;; is not one of "." or ".." [1] - ;; and only one candidate is remaining [2], - ;; assume candidate is a new directory to expand, and do it. - (helm-set-pattern (file-name-as-directory cur-cand)) - ;; The candidate is one of "." or ".." - ;; that mean we have entered the last letter of the directory name - ;; in prompt, so expansion is already done, just add the "/" at end - ;; of name unless helm-pattern ends with "." - ;; (i.e we are writing something starting with ".") - (unless (string-match "\\`.*[.]\\{1\\}\\'" helm-pattern) - (helm-set-pattern - ;; Need to expand-file-name to avoid e.g /ssh:host:./ in prompt. - (expand-file-name (file-name-as-directory helm-pattern))))) - (helm-check-minibuffer-input)))))) + (let ((src (helm-get-current-source))) + (when (and (helm-file-completion-source-p src) + (not (helm-ff-invalid-tramp-name-p))) + (with-helm-window + (let* ((history-p (string= (assoc-default 'name src) + "Read File Name History")) + (pat (if (string-match helm-tramp-file-name-regexp + helm-pattern) + (helm-create-tramp-name helm-pattern) + helm-pattern)) + (completed-p (string= (file-name-as-directory + (expand-file-name + (substitute-in-file-name pat))) + helm-ff-default-directory)) + (candnum (helm-get-candidate-number)) + (lt2-p (and (<= candnum 2) + (>= (string-width (helm-basename helm-pattern)) 2))) + (cur-cand (prog2 + (unless (or completed-p + (file-exists-p pat) + history-p (null lt2-p)) + ;; Only one non--existing candidate + ;; and one directory candidate, move to it, + ;; but not when renaming, copying etc..., + ;; so for this use + ;; `helm-ff-move-to-first-real-candidate' + ;; instead of `helm-next-line' (Issue #910). + (helm-ff-move-to-first-real-candidate)) + (helm-get-selection nil nil src)))) + (when (and (or (and helm-ff-auto-update-flag + (null helm-ff--deleting-char-backward) + (not (get-buffer-window helm-action-buffer 'visible)) + ;; Issue #295 + ;; File predicates are returning t + ;; with paths like //home/foo. + ;; So check it is not the case by regexp + ;; to allow user to do C-a / to start e.g + ;; entering a tramp method e.g /sudo::. + (not (string-match "\\`//" helm-pattern)) + (not (eq last-command 'helm-yank-text-at-point))) + ;; Fix issue #542. + (string= helm-pattern "~/") + ;; Only one remaining directory, expand it. + (and (= candnum 1) + helm-ff--auto-update-state + (file-accessible-directory-p pat) + (null helm-ff--deleting-char-backward))) + (or + ;; Only one candidate remaining + ;; and at least 2 char in basename. + lt2-p + ;; Already completed. + completed-p) + (not history-p) ; Don't try to auto complete in history. + (stringp cur-cand) + (file-accessible-directory-p cur-cand)) + (if (and (not (helm-dir-is-dot cur-cand)) ; [1] + ;; Maybe we are here because completed-p is true + ;; but check this again to be sure. (Windows fix) + (<= candnum 2)) ; [2] + ;; If after going to next line the candidate + ;; is not one of "." or ".." [1] + ;; and only one candidate is remaining [2], + ;; assume candidate is a new directory to expand, and do it. + (helm-set-pattern (file-name-as-directory cur-cand)) + ;; The candidate is one of "." or ".." + ;; that mean we have entered the last letter of the directory name + ;; in prompt, so expansion is already done, just add the "/" at end + ;; of name unless helm-pattern ends with "." + ;; (i.e we are writing something starting with ".") + (unless (string-match "\\`.*[.]\\{1\\}\\'" helm-pattern) + (helm-set-pattern + ;; Need to expand-file-name to avoid e.g /ssh:host:./ in prompt. + (expand-file-name (file-name-as-directory helm-pattern))))) + (helm-check-minibuffer-input))))))) (defun helm-ff-auto-expand-to-home-or-root () "Allow expanding to home/user directory or root or text yanked after pattern." @@ -1680,6 +1683,11 @@ and should be used carefully elsewhere, or not at all, using (cl-loop with v = (tramp-dissect-file-name fname) for i across v collect i))) +(defun helm-ff-get-tramp-methods () + "Returns a list of the car of `tramp-methods'." + (or helm-ff--tramp-methods + (setq helm-ff--tramp-methods (mapcar 'car tramp-methods)))) + (cl-defun helm-ff-tramp-hostnames (&optional (pattern helm-pattern)) "Get a list of hosts for tramp method found in `helm-pattern'. Argument PATTERN default to `helm-pattern', it is here only for debugging @@ -1687,7 +1695,7 @@ purpose." (when (string-match helm-tramp-file-name-regexp pattern) (let ((method (match-string 1 pattern)) (tn (match-string 0 pattern)) - (all-methods (mapcar 'car tramp-methods))) + (all-methods (helm-ff-get-tramp-methods))) (helm-fast-remove-dups (cl-loop for (f . h) in (tramp-get-completion-function method) append (cl-loop for e in (funcall f (car h)) @@ -1698,8 +1706,9 @@ purpose." (defun helm-ff-before-action-hook-fn () "Exit helm when user try to execute action on an invalid tramp fname." - (let ((cand (helm-get-selection))) - (when (and (helm-file-completion-source-p) + (let* ((src (helm-get-current-source)) + (cand (helm-get-selection nil nil src))) + (when (and (helm-file-completion-source-p src) (stringp cand) (helm-ff-invalid-tramp-name-p cand) ; Check candidate. (helm-ff-invalid-tramp-name-p)) ; check helm-pattern. @@ -1711,11 +1720,27 @@ purpose." (string= (helm-ff-set-pattern pattern) "Invalid tramp file name")) +(defun helm-ff-tramp-postfixed-p (str methods) + (let (result) + (save-match-data + (with-temp-buffer + (save-excursion (insert str)) + (helm-awhile (search-forward ":" nil t) + (if (save-excursion + (forward-char -1) + (looking-back (mapconcat 'identity methods "\\|") + (point-at-bol))) + (setq result nil) + (setq result it))))) + result)) + (defun helm-ff-set-pattern (pattern) "Handle tramp filenames in `helm-pattern'." - (let ((methods (mapcar 'car tramp-methods)) - (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:") - cur-method tramp-name) + (let* ((methods (helm-ff-get-tramp-methods)) + ;; Returns the position of last ":" entered. + (postfixed (helm-ff-tramp-postfixed-p pattern methods)) + (reg "\\`/\\([^[/:]+\\|[^/]+]\\):.*:") + cur-method tramp-name) ;; In some rare cases tramp can return a nil input, ;; so be sure pattern is a string for safety (Issue #476). (unless pattern (setq pattern "")) @@ -1728,11 +1753,12 @@ purpose." ((string-match ".*\\(~?/?[.]\\{1\\}/\\)\\'" pattern) (expand-file-name default-directory)) ((string-match ".*\\(~//\\|//\\)\\'" pattern) - (expand-file-name "/")) ; Expand to "/" or "c:/" + (expand-file-name "/")) ; Expand to "/" or "c:/" ((string-match "\\`\\(~/\\|.*/~/\\)\\'" pattern) (expand-file-name "~/")) ;; Match "/method:maybe_hostname:~" ((and (string-match (concat reg "~") pattern) + postfixed (setq cur-method (match-string 1 pattern)) (member cur-method methods)) (setq tramp-name (expand-file-name @@ -1741,20 +1767,22 @@ purpose." (replace-match tramp-name nil t pattern)) ;; Match "/method:maybe_hostname:" ((and (string-match reg pattern) + postfixed (setq cur-method (match-string 1 pattern)) (member cur-method methods)) (setq tramp-name (helm-create-tramp-name (match-string 0 pattern))) (replace-match tramp-name nil t pattern)) ;; Match "/hostname:" - ((and (string-match helm-tramp-file-name-regexp pattern) + ((and (string-match helm-tramp-file-name-regexp pattern) + postfixed (setq cur-method (match-string 1 pattern)) (and cur-method (not (member cur-method methods)))) (setq tramp-name (helm-create-tramp-name (match-string 0 pattern))) (replace-match tramp-name nil t pattern)) ;; Match "/method:" in this case don't try to connect. - ((and (not (string-match reg pattern)) + ((and (null postfixed) (string-match helm-tramp-file-name-regexp pattern) (member (match-string 1 pattern) methods)) "Invalid tramp file name") ; Write in helm-buffer. @@ -1779,6 +1807,9 @@ purpose." (string= path "Invalid tramp file name") ;; An empty pattern (string= path "") + (and (string-match-p ":\\'" path) + (helm-ff-tramp-postfixed-p + path (helm-ff-get-tramp-methods))) ;; Check if base directory of PATH is valid. (helm-aif (file-name-directory path) ;; If PATH is a valid directory IT=PATH, @@ -1803,6 +1834,7 @@ purpose." helm-ff--deleting-char-backward (and dir-p (not (string-match-p "/\\'" path)))) (or (>= (length (helm-basename path)) 3) dir-p))) + ;; At this point the tramp connection is triggered. (setq helm-pattern (helm-ff--transform-pattern-for-completion path)) ;; This have to be set after [1] to allow deleting char backward. (setq basedir (expand-file-name @@ -1810,8 +1842,8 @@ purpose." ;; Add the final "/" to path ;; when `helm-ff-auto-update-flag' is enabled. (file-name-as-directory path) - (if (string= path "") "/" - (file-name-directory path))))) + (if (string= path "") + "/" (file-name-directory path))))) (setq helm-ff-default-directory (if (string= helm-pattern "") (expand-file-name "/") ; Expand to "/" or "c:/" @@ -1820,6 +1852,9 @@ purpose." (and ffap-url-regexp (string-match ffap-url-regexp path))) basedir)))) + (when (and (string-match ":\\'" path) + (file-remote-p basedir nil t)) + (setq helm-pattern basedir)) (cond ((string= path "Invalid tramp file name") (or (helm-ff-tramp-hostnames) ; Hostnames completion. (prog2 @@ -1909,6 +1944,7 @@ If PATTERN is a valid directory name,return PATTERN unchanged." (setq pattern (helm-ff-handle-backslash pattern)) (let ((bn (helm-basename pattern)) (bd (or (helm-basedir pattern) "")) + ;; Trigger tramp connection with file-directory-p. (dir-p (file-directory-p pattern)) (tramp-p (cl-loop for (m . f) in tramp-methods thereis (string-match m pattern)))) @@ -1960,8 +1996,9 @@ Note that only existing directories are saved here." (defun helm-files-save-file-name-history (&optional force) "Save selected file to `file-name-history'." - (let ((src-name (assoc-default 'name (helm-get-current-source)))) - (when (or force (helm-file-completion-source-p) + (let* ((src (helm-get-current-source)) + (src-name (assoc-default 'name src))) + (when (or force (helm-file-completion-source-p src) (member src-name helm-files-save-history-extra-sources)) (let ((mkd (helm-marked-candidates)) (history-delete-duplicates t)) @@ -2363,9 +2400,7 @@ If CANDIDATE is alone, open file CANDIDATE filename. That's mean: First hit on C-j expand CANDIDATE second hit open file. If a prefix arg is given or `helm-follow-mode' is on open file." - (let* ((follow (or (buffer-local-value - 'helm-follow-mode - (get-buffer-create helm-buffer)) + (let* ((follow (or (helm-follow-mode-p) helm--temp-follow-flag)) (new-pattern (helm-get-selection)) (num-lines-buf (with-current-buffer helm-buffer @@ -2556,7 +2591,8 @@ Use it for non--interactive calls of `helm-find-files'." (not (minibuffer-window-active-p (minibuffer-window))))) (tap (thing-at-point 'filename)) (def (and tap (or (file-remote-p tap) - (expand-file-name tap))))) + (expand-file-name tap)))) + helm-follow-mode-persistent) (unless helm-source-find-files (setq helm-source-find-files (helm-make-source "Find Files" 'helm-source-ffiles))) @@ -2575,11 +2611,11 @@ Use it for non--interactive calls of `helm-find-files'." :default def :prompt "Find files or url: " :buffer "*helm find files*") - (helm-attrset 'resume `(lambda () - (setq helm-ff-default-directory - ,helm-ff-default-directory - helm-ff-last-expanded - ,helm-ff-last-expanded)) + (helm-attrset 'resume (lambda () + (setq helm-ff-default-directory + helm-ff-default-directory + helm-ff-last-expanded + helm-ff-last-expanded)) helm-source-find-files) (setq helm-ff-default-directory nil)))) @@ -3183,6 +3219,7 @@ Set `recentf-max-saved-items' to a bigger value if default is too small.") for bn = (buffer-file-name (get-buffer b)) if (or (and bn (file-in-directory-p bn root-directory)) (and (null bn) + (not (file-remote-p cd)) (file-in-directory-p cd root-directory))) collect b)) diff --git a/elpa/helm-20160818.623/helm-font.el b/elpa/helm-20160914.813/helm-font.el similarity index 100% rename from elpa/helm-20160818.623/helm-font.el rename to elpa/helm-20160914.813/helm-font.el diff --git a/elpa/helm-20160818.623/helm-grep.el b/elpa/helm-20160914.813/helm-grep.el similarity index 96% rename from elpa/helm-20160818.623/helm-grep.el rename to elpa/helm-20160914.813/helm-grep.el index bd5422b..1bba752 100644 --- a/elpa/helm-20160818.623/helm-grep.el +++ b/elpa/helm-20160914.813/helm-grep.el @@ -632,6 +632,7 @@ If N is positive go forward otherwise go backward." (goto-char it) (forward-line 1)) (funcall mark-maybe))) + (helm-follow-execute-persistent-action-maybe) (helm-log-run-hook 'helm-move-selection-after-hook))) ;;;###autoload @@ -900,6 +901,13 @@ These extensions will be added to command line with --include arg of grep." (keymap :initform helm-grep-map) (nohighlight :initform t) (nomark :initform t) + (backend :initarg :backend + :initform nil + :documentation + " The grep backend that will be used. + It is actually used only as an internal flag + and don't set the backend by itself. + You probably don't want to modify this.") (candidate-number-limit :initform 9999) (help-message :initform 'helm-grep-help-message) (history :initform 'helm-grep-history) @@ -910,11 +918,21 @@ These extensions will be added to command line with --include arg of grep." (defvar helm-source-grep nil) -(defun helm-do-grep-1 (targets &optional recurse grep exts default-input input) - "Launch grep on a list of TARGETS files. +(defmethod helm--setup-source ((source helm-grep-class)) + (call-next-method) + (helm-aif (and helm-follow-mode-persistent + (if (eq (slot-value source 'backend) 'git) + helm-source-grep-git + helm-source-grep)) + (setf (slot-value source 'follow) + (assoc-default 'follow it)))) -When RECURSE is given use -r option of grep and prompt user -for EXTS to set the --include args of grep. +(cl-defun helm-do-grep-1 (targets &optional recurse backend exts + default-input input (source 'helm-source-grep)) + "Launch helm using backend BACKEND on a list of TARGETS files. + +When RECURSE is given and BACKEND is 'grep' use -r option of +BACKEND and prompt user for EXTS to set the --include args of BACKEND. Interactively you can give more than one arg separated by space at prompt. e.g $Pattern: *.el *.py *.tex @@ -927,9 +945,9 @@ If prompt is empty `helm-grep-ignored-files' are added to --exclude. Argument DEFAULT-INPUT is use as `default' arg of `helm' and INPUT is used as `input' arg of `helm', See `helm' docstring. -Arg GREP when non--nil specify which grep to use -It is used actually to specify 'zgrep or 'git. -When zgrep is used don't prompt for a choice +Arg BACKEND when non--nil specify which backend to use +It is used actually to specify 'zgrep' or 'git'. +When BACKEND 'zgrep' is used don't prompt for a choice in recurse, and ignore EXTS, search being made recursively on files matching `helm-zgrep-file-extension-regexp' only." (when (and (helm-grep-use-ack-p) @@ -939,7 +957,7 @@ in recurse, and ignore EXTS, search being made recursively on files matching (let* (non-essential (exts (and recurse ;; [FIXME] I could handle this from helm-walk-directory. - (not (eq grep 'zgrep)) ; zgrep doesn't handle -r opt. + (not (eq backend 'zgrep)) ; zgrep doesn't handle -r opt. (not (helm-grep-use-ack-p :where 'recursive)) (or exts (helm-grep-get-file-extensions targets)))) (include-files @@ -951,16 +969,14 @@ in recurse, and ignore EXTS, search being made recursively on files matching (remove "*" exts) exts) " "))) (types (and (not include-files) - (not (eq grep 'zgrep)) + (not (eq backend 'zgrep)) recurse (helm-grep-use-ack-p :where 'recursive) ;; When %e format spec is not specified ;; ignore types and do not prompt for choice. (string-match "%e" helm-grep-default-command) (helm-grep-read-ack-type))) - (follow (and helm-follow-mode-persistent - (assoc-default 'follow helm-source-grep))) - (src-name (capitalize (helm-grep-command recurse grep)))) + (src-name (capitalize (helm-grep-command recurse backend)))) ;; When called as action from an other source e.g *-find-files ;; we have to kill action buffer. (when (get-buffer helm-action-buffer) @@ -973,14 +989,14 @@ in recurse, and ignore EXTS, search being made recursively on files matching ;; We need to store these vars locally ;; to pass infos later to `helm-resume'. (helm-set-local-variable - 'helm-zgrep-recurse-flag (and recurse (eq grep 'zgrep)) + 'helm-zgrep-recurse-flag (and recurse (eq backend 'zgrep)) 'helm-grep-last-targets targets 'helm-grep-include-files (or include-files types) 'helm-grep-in-recurse recurse - 'helm-grep-use-zgrep (eq grep 'zgrep) + 'helm-grep-use-zgrep (eq backend 'zgrep) 'helm-grep-default-command - (cond ((eq grep 'zgrep) helm-default-zgrep-command) - ((eq grep 'git) helm-grep-git-grep-command) + (cond ((eq backend 'zgrep) helm-default-zgrep-command) + ((eq backend 'git) helm-grep-git-grep-command) (recurse helm-grep-default-recurse-command) ;; When resuming, the local value of ;; `helm-grep-default-command' is used, only git-grep @@ -988,11 +1004,11 @@ in recurse, and ignore EXTS, search being made recursively on files matching (t helm-grep-default-command)) 'default-directory helm-ff-default-directory) ;; [1] ;; Setup the source. - (setq helm-source-grep (helm-make-source src-name 'helm-grep-class - :follow follow)) + (set source (helm-make-source src-name 'helm-grep-class + :backend backend)) (helm - :sources 'helm-source-grep - :buffer (format "*helm %s*" (helm-grep-command recurse grep)) + :sources source + :buffer (format "*helm %s*" (helm-grep-command recurse backend)) :default default-input :input input :keymap helm-grep-map @@ -1354,6 +1370,13 @@ if available with current AG version." (defvar helm-source-grep-ag nil) +(defmethod helm--setup-source ((source helm-grep-ag-class)) + (call-next-method) + (helm-aif (and helm-follow-mode-persistent + helm-source-grep-ag + (assoc-default 'follow helm-source-grep-ag)) + (setf (slot-value source 'follow) it))) + (defun helm-grep-ag-1 (directory &optional type) "Start helm ag in DIRECTORY maybe searching in files of type TYPE." (setq helm-source-grep-ag @@ -1384,6 +1407,8 @@ When WITH-TYPES is non-nil provide completion on AG types." ;;; Git grep ;; ;; +(defvar helm-source-grep-git nil) + (defcustom helm-grep-git-grep-command "git --no-pager grep -n%cH --color=always --exclude-standard --no-index --full-name -e %p -- %f" "The git grep default command line. @@ -1415,7 +1440,7 @@ arg INPUT is what you will have by default at prompt on startup." (helm-ff-default-directory (funcall helm-grep-default-directory-fn))) (cl-assert helm-ff-default-directory nil "Not inside a Git repository") (helm-do-grep-1 (if all '("") `(,(expand-file-name directory))) - nil 'git nil default input))) + nil 'git nil default input 'helm-source-grep-git))) ;;;###autoload @@ -1424,7 +1449,7 @@ arg INPUT is what you will have by default at prompt on startup." With prefix-arg prompt for type if available with your AG version." (interactive "P") (require 'helm-files) - (helm-grep-ag default-directory arg)) + (helm-grep-ag (expand-file-name default-directory) arg)) ;;;###autoload (defun helm-grep-do-git-grep (arg) diff --git a/elpa/helm-20160818.623/helm-help.el b/elpa/helm-20160914.813/helm-help.el similarity index 100% rename from elpa/helm-20160818.623/helm-help.el rename to elpa/helm-20160914.813/helm-help.el diff --git a/elpa/helm-20160818.623/helm-id-utils.el b/elpa/helm-20160914.813/helm-id-utils.el similarity index 100% rename from elpa/helm-20160818.623/helm-id-utils.el rename to elpa/helm-20160914.813/helm-id-utils.el diff --git a/elpa/helm-20160818.623/helm-imenu.el b/elpa/helm-20160914.813/helm-imenu.el similarity index 100% rename from elpa/helm-20160818.623/helm-imenu.el rename to elpa/helm-20160914.813/helm-imenu.el diff --git a/elpa/helm-20160818.623/helm-info.el b/elpa/helm-20160914.813/helm-info.el similarity index 100% rename from elpa/helm-20160818.623/helm-info.el rename to elpa/helm-20160914.813/helm-info.el diff --git a/elpa/helm-20160818.623/helm-locate.el b/elpa/helm-20160914.813/helm-locate.el similarity index 95% rename from elpa/helm-20160818.623/helm-locate.el rename to elpa/helm-20160914.813/helm-locate.el index 1298202..ac12a6b 100644 --- a/elpa/helm-20160818.623/helm-locate.el +++ b/elpa/helm-20160914.813/helm-locate.el @@ -144,23 +144,13 @@ For Windows and `es' use something like \"es -r ^%s.*%s.*$\"." "Try to find if a local locatedb file is available. The search is done in `helm-ff-default-directory' or fall back to `default-directory' if FROM-FF is nil." - (when helm-ff-locate-db-filename - (cond ((and helm-ff-default-directory - from-ff - (file-exists-p (expand-file-name - helm-ff-locate-db-filename - helm-ff-default-directory)) - (expand-file-name - helm-ff-locate-db-filename - helm-ff-default-directory))) - ((and (not from-ff) - (file-exists-p (expand-file-name - helm-ff-locate-db-filename - default-directory)) - (expand-file-name - helm-ff-locate-db-filename - default-directory)))))) - + (helm-aif (and helm-ff-locate-db-filename + (locate-dominating-file + (or (and from-ff + helm-ff-default-directory) + default-directory) + helm-ff-locate-db-filename)) + (expand-file-name helm-ff-locate-db-filename it))) (defun helm-locate-create-db-default-function (db-name directory) "Default function used to create a locale locate db file. diff --git a/elpa/helm-20160818.623/helm-man.el b/elpa/helm-20160914.813/helm-man.el similarity index 100% rename from elpa/helm-20160818.623/helm-man.el rename to elpa/helm-20160914.813/helm-man.el diff --git a/elpa/helm-20160818.623/helm-misc.el b/elpa/helm-20160914.813/helm-misc.el similarity index 100% rename from elpa/helm-20160818.623/helm-misc.el rename to elpa/helm-20160914.813/helm-misc.el diff --git a/elpa/helm-20160818.623/helm-mode.el b/elpa/helm-20160914.813/helm-mode.el similarity index 99% rename from elpa/helm-20160818.623/helm-mode.el rename to elpa/helm-20160914.813/helm-mode.el index aea5460..003141f 100644 --- a/elpa/helm-20160818.623/helm-mode.el +++ b/elpa/helm-20160914.813/helm-mode.el @@ -19,6 +19,7 @@ (require 'cl-lib) (require 'helm) +(require 'helm-lib) (require 'helm-files) @@ -219,13 +220,13 @@ If COLLECTION is an `obarray', a TEST should be needed. See `obarray'." ;; Also, the history collections generally collect their ;; elements as string, so intern them to call predicate. ((and (symbolp collection) (boundp collection) test) - (let ((predicate `(lambda (elm) - (condition-case err - (if (eq (quote ,test) 'commandp) - (funcall (quote ,test) (intern elm)) - (funcall (quote ,test) elm)) - (wrong-type-argument - (funcall (quote ,test) (intern elm))))))) + (let ((predicate (lambda (elm) + (condition-case _err + (if (eq test 'commandp) + (funcall test (intern elm)) + (funcall test elm)) + (wrong-type-argument + (funcall test (intern elm))))))) (all-completions input (symbol-value collection) predicate))) ((and (symbolp collection) (boundp collection)) (all-completions input (symbol-value collection))) @@ -826,6 +827,7 @@ Keys description: (and helm-ff-auto-update-initial-value (not (minibuffer-window-active-p (minibuffer-window))))) helm-full-frame + helm-follow-mode-persistent (hist (and history (helm-comp-read-get-candidates history nil nil alistp))) (minibuffer-completion-confirm must-match) diff --git a/elpa/helm-20160818.623/helm-net.el b/elpa/helm-20160914.813/helm-net.el similarity index 99% rename from elpa/helm-20160818.623/helm-net.el rename to elpa/helm-20160914.813/helm-net.el index 26c007b..fd8464a 100644 --- a/elpa/helm-20160818.623/helm-net.el +++ b/elpa/helm-20160914.813/helm-net.el @@ -96,11 +96,6 @@ This is a format string, don't forget the `%s'." :type 'string :group 'helm-net) -(defcustom helm-wikipedia-follow-delay 2 - "Delay before wikipedia summary popup." - :type 'number - :group 'helm-net) - (defcustom helm-search-suggest-action-youtube-url "http://www.youtube.com/results?aq=f&search_query=%s" "The Youtube search url. @@ -359,10 +354,9 @@ Can be \"-new-tab\" (default) or \"-new-window\"." helm-search-suggest-action-wikipedia-url candidate)))) :persistent-action #'helm-wikipedia-persistent-action + :persistent-help "show summary" :volatile t :keymap helm-map - :follow 1 - :follow-delay helm-wikipedia-follow-delay :requires-pattern 3)) diff --git a/elpa/helm-20160818.623/helm-org.el b/elpa/helm-20160914.813/helm-org.el similarity index 90% rename from elpa/helm-20160818.623/helm-org.el rename to elpa/helm-20160914.813/helm-org.el index 33b0695..6f50178 100644 --- a/elpa/helm-20160818.623/helm-org.el +++ b/elpa/helm-20160914.813/helm-org.el @@ -57,9 +57,9 @@ Note this have no effect in `helm-org-in-buffer-headings'." (defcustom helm-org-headings-actions '(("Go to heading" . helm-org-goto-marker) - ("Open in indirect buffer `C-RET'" . helm-org--open-heading-in-indirect-buffer) - ("Refile to this heading `C-w`''" . helm-org-heading-refile) - ("Insert link to this heading `C-l`''" . helm-org-insert-link-to-heading-at-marker)) + ("Open in indirect buffer `C-c i'" . helm-org--open-heading-in-indirect-buffer) + ("Refile to this heading `C-c w`" . helm-org-heading-refile) + ("Insert link to this heading `C-c l`" . helm-org-insert-link-to-heading-at-marker)) "Default actions alist for `helm-source-org-headings-for-files'." :group 'helm-org @@ -100,19 +100,19 @@ Note this have no effect in `helm-org-in-buffer-headings'." (set-window-prev-buffers nil (append (cdr (window-prev-buffers)) (car (window-prev-buffers))))) -(defun helm-org--run-open-heading-in-indirect-buffer () +(defun helm-org-run-open-heading-in-indirect-buffer () "Open selected Org heading in an indirect buffer." (interactive) (with-helm-alive-p (helm-exit-and-execute-action #'helm-org--open-heading-in-indirect-buffer))) -(put 'helm-org--run-open-heading-in-indirect-buffer 'helm-only t) +(put 'helm-org-run-open-heading-in-indirect-buffer 'helm-only t) (defvar helm-org-headings-map (let ((map (make-sparse-keymap))) (set-keymap-parent map helm-map) - (define-key map (kbd "") 'helm-org--run-open-heading-in-indirect-buffer) - (define-key map (kbd "C-w") 'helm-org-heading-refile) - (define-key map (kbd "C-l") 'helm-org-insert-link-to-heading-at-marker) + (define-key map (kbd "") 'helm-org-run-open-heading-in-indirect-buffer) + (define-key map (kbd "C-c w") 'helm-org-run-heading-refile) + (define-key map (kbd "C-c l") 'helm-org-run-insert-link-to-heading-at-marker) map) "Keymap for `helm-source-org-headings-for-files'.") @@ -218,6 +218,12 @@ Note this have no effect in `helm-org-in-buffer-headings'." (org-insert-link file-name (concat "file:" file-name "::*" heading-name)))))) +(defun helm-org-run-insert-link-to-heading-at-marker () + (interactive) + (with-helm-alive-p + (helm-exit-and-execute-action + 'helm-org-insert-link-to-heading-at-marker))) + (defun helm-org-heading-refile (marker) (save-selected-window (when (eq major-mode 'org-agenda-mode) @@ -230,6 +236,19 @@ Note this have no effect in `helm-org-in-buffer-headings'." (org-end-of-subtree t t) (org-paste-subtree (+ target-level 1))))) +(defun helm-org-in-buffer-preselect () + (if (org-on-heading-p) + (buffer-substring-no-properties (point-at-bol) (point-at-eol)) + (save-excursion + (outline-previous-visible-heading 1) + (buffer-substring-no-properties (point-at-bol) (point-at-eol))))) + +(defun helm-org-run-heading-refile () + (interactive) + (with-helm-alive-p + (helm-exit-and-execute-action 'helm-org-heading-refile))) +(put 'helm-org-run-heading-refile 'helm-only t) + ;;;###autoload (defun helm-org-agenda-files-headings () "Preconfigured helm for org files headings." @@ -243,10 +262,11 @@ Note this have no effect in `helm-org-in-buffer-headings'." (defun helm-org-in-buffer-headings () "Preconfigured helm for org buffer headings." (interactive) - (let ((helm-org-show-filename nil)) + (let (helm-org-show-filename helm-org-format-outline-path) (helm :sources (helm-source-org-headings-for-files (list (current-buffer))) :candidate-number-limit 99999 + :preselect (helm-org-in-buffer-preselect) :truncate-lines helm-org-truncate-lines :buffer "*helm org inbuffer*"))) diff --git a/elpa/helm-20160818.623/helm-pkg.el b/elpa/helm-20160914.813/helm-pkg.el similarity index 60% rename from elpa/helm-20160818.623/helm-pkg.el rename to elpa/helm-20160914.813/helm-pkg.el index 0db855e..e364960 100644 --- a/elpa/helm-20160818.623/helm-pkg.el +++ b/elpa/helm-20160914.813/helm-pkg.el @@ -1,8 +1,8 @@ -(define-package "helm" "20160818.623" "Helm is an Emacs incremental and narrowing framework" - '((emacs "24.3") +(define-package "helm" "20160914.813" "Helm is an Emacs incremental and narrowing framework" + '((emacs "24.4") (async "1.9") (popup "0.5.3") - (helm-core "1.9.9")) + (helm-core "2.1.0")) :url "https://emacs-helm.github.io/helm/") ;; Local Variables: ;; no-byte-compile: t diff --git a/elpa/helm-20160818.623/helm-regexp.el b/elpa/helm-20160914.813/helm-regexp.el similarity index 99% rename from elpa/helm-20160818.623/helm-regexp.el rename to elpa/helm-20160914.813/helm-regexp.el index 6d06e92..b67a145 100644 --- a/elpa/helm-20160818.623/helm-regexp.el +++ b/elpa/helm-20160914.813/helm-regexp.el @@ -164,7 +164,7 @@ i.e Don't replace inside a word, regexp is surrounded with \\bregexp\\b." (helm-highlight-current-line)) (defun helm-regexp-kill-new (input) - (kill-new input) + (kill-new (substring-no-properties input)) (message "Killed: %s" input)) diff --git a/elpa/helm-20160818.623/helm-ring.el b/elpa/helm-20160914.813/helm-ring.el similarity index 98% rename from elpa/helm-20160818.623/helm-ring.el rename to elpa/helm-20160914.813/helm-ring.el index 3221af6..65af573 100644 --- a/elpa/helm-20160818.623/helm-ring.el +++ b/elpa/helm-20160914.813/helm-ring.el @@ -249,9 +249,6 @@ replace with STR as yanked string." (set-mark (mark t))) nil) -(defadvice push-mark (around helm-push-mark-mode) - (helm--push-mark location nomsg activate)) - ;;;###autoload (define-minor-mode helm-push-mark-mode "Provide an improved version of `push-mark'. @@ -260,12 +257,8 @@ the `global-mark-ring' after each new visit." :group 'helm-ring :global t (if helm-push-mark-mode - (if (fboundp 'advice-add) - (advice-add 'push-mark :override #'helm--push-mark) - (ad-activate 'push-mark)) - (if (fboundp 'advice-remove) - (advice-remove 'push-mark #'helm--push-mark) - (ad-deactivate 'push-mark)))) + (advice-add 'push-mark :override #'helm--push-mark) + (advice-remove 'push-mark #'helm--push-mark))) ;;;; ;;; Insert from register diff --git a/elpa/helm-20160818.623/helm-semantic.el b/elpa/helm-20160914.813/helm-semantic.el similarity index 100% rename from elpa/helm-20160818.623/helm-semantic.el rename to elpa/helm-20160914.813/helm-semantic.el diff --git a/elpa/helm-20160818.623/helm-sys.el b/elpa/helm-20160914.813/helm-sys.el similarity index 80% rename from elpa/helm-20160818.623/helm-sys.el rename to elpa/helm-20160914.813/helm-sys.el index 8346b5a..3230a0c 100644 --- a/elpa/helm-20160818.623/helm-sys.el +++ b/elpa/helm-20160914.813/helm-sys.el @@ -35,22 +35,41 @@ (defcustom helm-top-command (cl-case system-type - (darwin "env COLUMNS=%s ps -axo pid,user,pri,nice,ucomm,tty,start,vsz,%%cpu,%%mem,etime,command") + (darwin "env COLUMNS=%s ps -axo pid,user,pri,nice,ucomm,tty,start_time,vsz,%%cpu,%%mem,etime,command") (t "env COLUMNS=%s top -b -n 1")) "Top command used to display output of top. -To use top command, a version supporting batch mode (-b option) is needed. -On Mac OSX top command doesn't support this, so ps command -is used by default instead. -If you modify this the number and order of elements displayed -should be the same as top command to have the sort commands -working properly, that is 12 elements with the 2 first being -PID and USER and the last 4 being %CPU, %MEM, TIME and COMMAND. -A format string where %s will be replaced with `frame-width'." +A format string where %s will be replaced with `frame-width'. + +To use 'top' command, a version supporting batch mode (-b option) is needed. +On Mac OSX 'top' command doesn't support this, so ps command +is used instead by default. +Normally 'top' command output have 12 columns, but in some versions you may +have less than this, so you can either customize top to use 12 columns with the +interactives 'f' and 'W' commands of top, or modify +`helm-top-sort-colums-alist' to fit with the number of columns +your 'top' command is using. + +If you modify 'ps' command be sure that 'pid' comes in first +and \"env COLUMNS=%s\" is specified at beginning of command. +Ensure also that no elements contain spaces (e.g use start_time and not start). +Same as for 'top' you can customize `helm-top-sort-colums-alist' to make sort commands +working properly according to your settings." :group 'helm-sys :type 'string) +(defcustom helm-top-sort-colums-alist '((com . 11) + (mem . 9) + (cpu . 8) + (user . 1)) + "Allow defining which column to use when sorting output of top/ps command. +Only com, mem, cpu and user are sorted, so no need to put something else there, +it will have no effect. +Note that column numbers are counted from zero, i.e column 1 is the nth 0 column." + :group 'helm-sys + :type '(alist :key-type symbol :value-type (integer :tag "Column number"))) + (defcustom helm-top-poll-delay 1.5 - "Helm top poll after this dealy when `helm-top-poll-mode' is enabled. + "Helm top poll after this delay when `helm-top-poll-mode' is enabled. The minimal delay allowed is 1.5, if less than this helm-top will use 1.5." :group 'helm-sys :type 'float) @@ -64,7 +83,8 @@ being idle." (defcustom helm-top-poll-preselection 'linum "Stay on same line or follow candidate when `helm-top-poll' update display. -Possible values are 'candidate or 'linum." +Possible values are 'candidate or 'linum. +This affect also sorting functions in the same way." :group'helm-sys :type '(radio :tag "Preferred preselection action for helm-top" (const :tag "Follow candidate" candidate) @@ -164,6 +184,7 @@ Possible values are 'candidate or 'linum." :persistent-action #'helm-top-sh-persistent-action :persistent-help "SIGTERM" :help-message 'helm-top-help-message + :mode-line 'helm-top-mode-line :follow 'never :keymap helm-top-map :filtered-candidate-transformer #'helm-top-sort-transformer @@ -183,10 +204,11 @@ Return empty string for non--valid candidates." (cons helm-top--line lst)))) (defun helm-top--skip-top-line () - (let ((src-name (assoc-default 'name (helm-get-current-source)))) + (let* ((src (helm-get-current-source)) + (src-name (assoc-default 'name src))) (helm-aif (and (stringp src-name) (string= src-name "Top") - (helm-get-selection nil t)) + (helm-get-selection nil t src)) (when (string-match-p "^ *PID" it) (helm-next-line))))) @@ -258,55 +280,69 @@ Show actions only on line starting by a PID." (defun helm-top-sort-by-com (s1 s2) (let* ((split-1 (split-string s1)) (split-2 (split-string s2)) - (com-1 (nth 11 split-1)) - (com-2 (nth 11 split-2))) + (col (cdr (assq 'com helm-top-sort-colums-alist))) + (com-1 (nth col split-1)) + (com-2 (nth col split-2))) (string< com-1 com-2))) (defun helm-top-sort-by-mem (s1 s2) (let* ((split-1 (split-string s1)) (split-2 (split-string s2)) - (mem-1 (string-to-number (nth 9 split-1))) - (mem-2 (string-to-number (nth 9 split-2)))) + (col (cdr (assq 'mem helm-top-sort-colums-alist))) + (mem-1 (string-to-number (nth col split-1))) + (mem-2 (string-to-number (nth col split-2)))) (> mem-1 mem-2))) +(defun helm-top-sort-by-cpu (s1 s2) + (let* ((split-1 (split-string s1)) + (split-2 (split-string s2)) + (col (cdr (assq 'cpu helm-top-sort-colums-alist))) + (cpu-1 (string-to-number (nth col split-1))) + (cpu-2 (string-to-number (nth col split-2)))) + (> cpu-1 cpu-2))) + (defun helm-top-sort-by-user (s1 s2) (let* ((split-1 (split-string s1)) (split-2 (split-string s2)) - (user-1 (nth 1 split-1)) - (user-2 (nth 1 split-2))) + (col (cdr (assq 'user helm-top-sort-colums-alist))) + (user-1 (nth col split-1)) + (user-2 (nth col split-2))) (string< user-1 user-2))) +(defun helm-top--preselect-fn () + (if (eq helm-top-poll-preselection 'linum) + `(lambda () + (goto-char (point-min)) + (forward-line ,(helm-candidate-number-at-point))) + (replace-regexp-in-string + "[0-9]+" "[0-9]+" + (regexp-quote (helm-get-selection nil t))))) + (defun helm-top-run-sort-by-com () (interactive) (helm-top-set-mode-line "COM") (setq helm-top-sort-fn 'helm-top-sort-by-com) - (helm-update (replace-regexp-in-string - "[0-9]+" "[0-9]+" - (regexp-quote (helm-get-selection nil t))))) + (helm-update (helm-top--preselect-fn))) (defun helm-top-run-sort-by-cpu () (interactive) - (helm-top-set-mode-line "CPU") - (setq helm-top-sort-fn nil) - (helm-update (replace-regexp-in-string - "[0-9]+" "[0-9]+" - (regexp-quote (helm-get-selection nil t))))) + (let ((com (nth 2 (split-string helm-top-command)))) + (helm-top-set-mode-line "CPU") + (setq helm-top-sort-fn (and (null (string= com "top")) + 'helm-top-sort-by-cpu)) + (helm-update (helm-top--preselect-fn)))) (defun helm-top-run-sort-by-mem () (interactive) (helm-top-set-mode-line "MEM") (setq helm-top-sort-fn 'helm-top-sort-by-mem) - (helm-update (replace-regexp-in-string - "[0-9]+" "[0-9]+" - (regexp-quote (helm-get-selection nil t))))) + (helm-update (helm-top--preselect-fn))) (defun helm-top-run-sort-by-user () (interactive) (helm-top-set-mode-line "USER") (setq helm-top-sort-fn 'helm-top-sort-by-user) - (helm-update (replace-regexp-in-string - "[0-9]+" "[0-9]+" - (regexp-quote (helm-get-selection nil t))))) + (helm-update (helm-top--preselect-fn))) ;;; X RandR resolution change diff --git a/elpa/helm-20160818.623/helm-tags.el b/elpa/helm-20160914.813/helm-tags.el similarity index 100% rename from elpa/helm-20160818.623/helm-tags.el rename to elpa/helm-20160914.813/helm-tags.el diff --git a/elpa/helm-20160818.623/helm-types.el b/elpa/helm-20160914.813/helm-types.el similarity index 99% rename from elpa/helm-20160818.623/helm-types.el rename to elpa/helm-20160914.813/helm-types.el index fcf8f48..0314671 100644 --- a/elpa/helm-20160818.623/helm-types.el +++ b/elpa/helm-20160914.813/helm-types.el @@ -115,7 +115,8 @@ (setf (slot-value source 'keymap) helm-bookmark-map) (setf (slot-value source 'mode-line) (list "Bookmark(s)" helm-mode-line-string)) (setf (slot-value source 'help-message) 'helm-bookmark-help-message) - (setf (slot-value source 'migemo) t)) + (setf (slot-value source 'migemo) t) + (setf (slot-value source 'follow) 'never)) ;; Buffers diff --git a/elpa/helm-20160818.623/helm-utils.el b/elpa/helm-20160914.813/helm-utils.el similarity index 98% rename from elpa/helm-20160818.623/helm-utils.el rename to elpa/helm-20160914.813/helm-utils.el index 52aef3f..7722266 100644 --- a/elpa/helm-20160818.623/helm-utils.el +++ b/elpa/helm-20160914.813/helm-utils.el @@ -211,16 +211,6 @@ In this case last position is added to the register "Face used to highlight item matched in a selected line." :group 'helm-faces) - -;; CUA workaround -(defadvice cua-delete-region (around helm-avoid-cua activate) - (ignore-errors ad-do-it)) - -(defadvice copy-region-as-kill (around helm-avoid-cua activate) - (if cua-mode - (ignore-errors ad-do-it) - ad-do-it)) - ;;; Utils functions ;; @@ -680,15 +670,16 @@ If STRING is non--nil return instead a space separated string." (member (assoc-default 'name (helm-get-current-source)) helm-sources-using-help-echo-popup)) (setq helm--show-help-echo-timer - (run-with-idle-timer + (run-with-timer 1 nil (lambda () - (with-helm-window - (helm-aif (get-text-property (point-at-bol) 'help-echo) - (popup-tip (concat " " (abbreviate-file-name it)) - :around nil - :point (save-excursion - (end-of-visual-line) (point)))))))))) + (save-selected-window + (with-helm-window + (helm-aif (get-text-property (point-at-bol) 'help-echo) + (popup-tip (concat " " (abbreviate-file-name it)) + :around nil + :point (save-excursion + (end-of-visual-line) (point))))))))))) ;;;###autoload (define-minor-mode helm-popup-tip-mode diff --git a/elpa/helm-core-20160818.5/helm-multi-match.el b/elpa/helm-core-20160818.5/helm-multi-match.el deleted file mode 100644 index ce6ed00..0000000 --- a/elpa/helm-core-20160818.5/helm-multi-match.el +++ /dev/null @@ -1,373 +0,0 @@ -;;; helm-multi-match.el --- Multiple regexp matching methods for helm -*- lexical-binding: t -*- - -;; Original Author: rubikitch - -;; Copyright (C) 2008 ~ 2011 rubikitch -;; Copyright (C) 2011 ~ 2016 Thierry Volpiatto - -;; Author: Thierry Volpiatto -;; URL: http://github.com/emacs-helm/helm - -;; This program is free software; you can redistribute it 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 program 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. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Code: - -(require 'cl-lib) -(require 'helm-lib) - - -(defgroup helm-multi-match nil - "Helm multi match." - :group 'helm) - -(defcustom helm-mm-matching-method 'multi3 - "Matching method for helm match plugin. -You can set here different methods to match candidates in helm. -Here are the possible value of this symbol and their meaning: -- multi1: Respect order, prefix of pattern must match. -- multi2: Same but with partial match. -- multi3: The best, multiple regexp match, allow negation. -- multi3p: Same but prefix must match. - -Default is multi3, you should keep this for a better experience. - -Note that multi1 and multi3p are incompatible with fuzzy matching -in file completion and by the way fuzzy matching will be disabled there -when these options are used." - :type '(radio :tag "Matching methods for helm" - (const :tag "Multiple regexp 1 ordered with prefix match" multi1) - (const :tag "Multiple regexp 2 ordered with partial match" multi2) - (const :tag "Multiple regexp 3 matching no order, partial, best." multi3) - (const :tag "Multiple regexp 3p matching with prefix match" multi3p)) - :group 'helm-multi-match) - - -;; Internal -(defvar helm-mm-default-match-functions - '(helm-mm-exact-match helm-mm-match)) -(defvar helm-mm-default-search-functions - '(helm-mm-exact-search helm-mm-search)) - - -;;; Build regexps -;; -;; -(defvar helm-mm-space-regexp "[\\ ] " - "Regexp to represent space itself in multiple regexp match.") - -(defun helm-mm-split-pattern (pattern) - "Split PATTERN if it contain spaces and return resulting list. -If spaces in PATTERN are escaped, don't split at this place. -i.e \"foo bar\"=> (\"foo\" \"bar\") -but \"foo\ bar\"=> (\"foobar\")." - (if (string= pattern "") - '("") - (cl-loop for s in (split-string - (replace-regexp-in-string helm-mm-space-regexp - "\000\000" pattern) - " " t) - collect (replace-regexp-in-string "\000\000" " " s)))) - -(defun helm-mm-1-make-regexp (pattern) - "Replace spaces in PATTERN with \"\.*\"." - (mapconcat 'identity (helm-mm-split-pattern pattern) ".*")) - - -;;; Exact match. -;; -;; -;; Internal. -(defvar helm-mm-exact-pattern-str nil) -(defvar helm-mm-exact-pattern-real nil) - -(defun helm-mm-exact-get-pattern (pattern) - (unless (equal pattern helm-mm-exact-pattern-str) - (setq helm-mm-exact-pattern-str pattern - helm-mm-exact-pattern-real (concat "\n" pattern "\n"))) - helm-mm-exact-pattern-real) - - -(cl-defun helm-mm-exact-match (str &optional (pattern helm-pattern)) - (if case-fold-search - (progn - (setq str (downcase str) - pattern (downcase pattern)) - (string= str pattern)) - (string= str pattern))) - -(defun helm-mm-exact-search (pattern &rest _ignore) - (and (search-forward (helm-mm-exact-get-pattern pattern) nil t) - (forward-line -1))) - - -;;; Prefix match -;; -;; -;; Internal -(defvar helm-mm-prefix-pattern-str nil) -(defvar helm-mm-prefix-pattern-real nil) - -(defun helm-mm-prefix-get-pattern (pattern) - (unless (equal pattern helm-mm-prefix-pattern-str) - (setq helm-mm-prefix-pattern-str pattern - helm-mm-prefix-pattern-real (concat "\n" pattern))) - helm-mm-prefix-pattern-real) - -(defun helm-mm-prefix-match (str &optional pattern) - ;; In filename completion basename and basedir may be - ;; quoted, unquote them for string comparison (Issue #1283). - (setq pattern (replace-regexp-in-string - "\\\\" "" (or pattern helm-pattern))) - (let ((len (length pattern))) - (and (<= len (length str)) - (string= (substring str 0 len) pattern )))) - -(defun helm-mm-prefix-search (pattern &rest _ignore) - (search-forward (helm-mm-prefix-get-pattern pattern) nil t)) - - -;;; Multiple regexp patterns 1 (order is preserved / prefix). -;; -;; -;; Internal -(defvar helm-mm-1-pattern-str nil) -(defvar helm-mm-1-pattern-real nil) - -(defun helm-mm-1-get-pattern (pattern) - (unless (equal pattern helm-mm-1-pattern-str) - (setq helm-mm-1-pattern-str pattern - helm-mm-1-pattern-real - (concat "^" (helm-mm-1-make-regexp pattern)))) - helm-mm-1-pattern-real) - -(cl-defun helm-mm-1-match (str &optional (pattern helm-pattern)) - (string-match (helm-mm-1-get-pattern pattern) str)) - -(defun helm-mm-1-search (pattern &rest _ignore) - (re-search-forward (helm-mm-1-get-pattern pattern) nil t)) - - -;;; Multiple regexp patterns 2 (order is preserved / partial). -;; -;; -;; Internal -(defvar helm-mm-2-pattern-str nil) -(defvar helm-mm-2-pattern-real nil) - -(defun helm-mm-2-get-pattern (pattern) - (unless (equal pattern helm-mm-2-pattern-str) - (setq helm-mm-2-pattern-str pattern - helm-mm-2-pattern-real - (concat "^.*" (helm-mm-1-make-regexp pattern)))) - helm-mm-2-pattern-real) - -(cl-defun helm-mm-2-match (str &optional (pattern helm-pattern)) - (string-match (helm-mm-2-get-pattern pattern) str)) - -(defun helm-mm-2-search (pattern &rest _ignore) - (re-search-forward (helm-mm-2-get-pattern pattern) nil t)) - - -;;; Multiple regexp patterns 3 (permutation). -;; -;; -;; Internal -(defvar helm-mm-3-pattern-str nil) -(defvar helm-mm-3-pattern-list nil) - -(defun helm-mm-3-get-patterns (pattern) - "Return `helm-mm-3-pattern-list', a list of predicate/regexp cons cells. -e.g ((identity . \"foo\") (identity . \"bar\")). -This is done only if `helm-mm-3-pattern-str' is same as PATTERN." - (unless (equal pattern helm-mm-3-pattern-str) - (setq helm-mm-3-pattern-str pattern - helm-mm-3-pattern-list - (helm-mm-3-get-patterns-internal pattern))) - helm-mm-3-pattern-list) - -(defun helm-mm-3-get-patterns-internal (pattern) - "Return a list of predicate/regexp cons cells. -e.g ((identity . \"foo\") (identity . \"bar\"))." - (unless (string= pattern "") - (cl-loop for pat in (helm-mm-split-pattern pattern) - collect (if (string= "!" (substring pat 0 1)) - (cons 'not (substring pat 1)) - (cons 'identity pat))))) - -(cl-defun helm-mm-3-match (str &optional (pattern helm-pattern)) - "Check if PATTERN match STR. -When PATTERN contain a space, it is splitted and matching is done -with the several resulting regexps against STR. -e.g \"bar foo\" will match \"foobar\" and \"barfoo\". -Argument PATTERN, a string, is transformed in a list of -cons cell with `helm-mm-3-get-patterns' if it contain a space. -e.g \"foo bar\"=>((identity . \"foo\") (identity . \"bar\")). -Then each predicate of cons cell(s) is called with regexp of same -cons cell against STR (a candidate). -i.e (identity (string-match \"foo\" \"foo bar\")) => t." - (let ((pat (helm-mm-3-get-patterns pattern))) - (cl-loop for (predicate . regexp) in pat - always (funcall predicate - (condition-case _err - ;; FIXME: Probably do nothing when - ;; using fuzzy leaving the job - ;; to the fuzzy fn. - (string-match regexp str) - (invalid-regexp nil)))))) - -(defun helm-mm-3-search-base (pattern searchfn1 searchfn2) - "Try to find PATTERN in `helm-buffer' with SEARCHFN1 and SEARCHFN2. -This is the search function for `candidates-in-buffer' enabled sources. -Use the same method as `helm-mm-3-match' except it search in buffer -instead of matching on a string. -i.e (identity (re-search-forward \"foo\" (point-at-eol) t)) => t." - (cl-loop with pat = (if (stringp pattern) - (helm-mm-3-get-patterns pattern) - pattern) - when (eq (caar pat) 'not) return - ;; Pass the job to `helm-search-match-part'. - (prog1 (list (point-at-bol) (point-at-eol)) - (forward-line 1)) - while (condition-case _err - (funcall searchfn1 (or (cdar pat) "") nil t) - (invalid-regexp nil)) - for bol = (point-at-bol) - for eol = (point-at-eol) - if (cl-loop for (pred . str) in (cdr pat) always - (progn (goto-char bol) - (funcall pred (condition-case _err - (funcall searchfn2 str eol t) - (invalid-regexp nil))))) - do (goto-char eol) and return t - else do (goto-char eol) - finally return nil)) - -(defun helm-mm-3-search (pattern &rest _ignore) - (when (stringp pattern) - (setq pattern (helm-mm-3-get-patterns pattern))) - (helm-mm-3-search-base - pattern 're-search-forward 're-search-forward)) - -;;; mp-3 with migemo -;; -;; -(defvar helm-mm--previous-migemo-info nil - "[Internal] Cache previous migemo query.") -(make-local-variable 'helm-mm--previous-migemo-info) - -(declare-function migemo-get-pattern "ext:migemo.el") -(declare-function migemo-search-pattern-get "ext:migemo.el") - -(define-minor-mode helm-migemo-mode - "Enable migemo in helm. -It will be available in the sources handling it, -i.e the sources which have the slot :migemo with non--nil value." - :lighter " Hmio" - :group 'helm - :global t - (cl-assert (featurep 'migemo) - nil "No feature called migemo found, install migemo.el.")) - -(defun helm-mm-migemo-get-pattern (pattern) - (let ((regex (migemo-get-pattern pattern))) - (if (ignore-errors (string-match regex "") t) - (concat regex "\\|" pattern) pattern))) - -(defun helm-mm-migemo-search-pattern-get (pattern) - (let ((regex (migemo-search-pattern-get pattern))) - (if (ignore-errors (string-match regex "") t) - (concat regex "\\|" pattern) pattern))) - -(defun helm-mm-migemo-string-match (pattern str) - "Migemo version of `string-match'." - (unless (assoc pattern helm-mm--previous-migemo-info) - (with-helm-buffer - (setq helm-mm--previous-migemo-info - (push (cons pattern (helm-mm-migemo-get-pattern pattern)) - helm-mm--previous-migemo-info)))) - (string-match (assoc-default pattern helm-mm--previous-migemo-info) str)) - -(cl-defun helm-mm-3-migemo-match (str &optional (pattern helm-pattern)) - (and helm-migemo-mode - (cl-loop for (pred . re) in (helm-mm-3-get-patterns pattern) - always (funcall pred (helm-mm-migemo-string-match re str))))) - -(defun helm-mm-migemo-forward (word &optional bound noerror count) - (with-helm-buffer - (unless (assoc word helm-mm--previous-migemo-info) - (setq helm-mm--previous-migemo-info - (push (cons word (if (delq 'ascii (find-charset-string word)) - word - (helm-mm-migemo-search-pattern-get word))) - helm-mm--previous-migemo-info)))) - (re-search-forward - (assoc-default word helm-mm--previous-migemo-info) bound noerror count)) - -(defun helm-mm-3-migemo-search (pattern &rest _ignore) - (and helm-migemo-mode - (helm-mm-3-search-base - pattern 'helm-mm-migemo-forward 'helm-mm-migemo-forward))) - - -;;; mp-3p- (multiple regexp pattern 3 with prefix search) -;; -;; -(defun helm-mm-3p-match (str &optional pattern) - "Check if PATTERN match STR. -Same as `helm-mm-3-match' but more strict, matching against prefix also. -e.g \"bar foo\" will match \"barfoo\" but not \"foobar\" contrarily to -`helm-mm-3-match'." - (let* ((pat (helm-mm-3-get-patterns (or pattern helm-pattern))) - (first (car pat))) - (and (funcall (car first) (helm-mm-prefix-match str (cdr first))) - (cl-loop for (predicate . regexp) in (cdr pat) - always (funcall predicate (string-match regexp str)))))) - -(defun helm-mm-3p-search (pattern &rest _ignore) - (when (stringp pattern) - (setq pattern (helm-mm-3-get-patterns pattern))) - (helm-mm-3-search-base - pattern 'helm-mm-prefix-search 're-search-forward)) - - -;;; Generic multi-match/search functions -;; -;; -(cl-defun helm-mm-match (str &optional (pattern helm-pattern)) - (let ((fun (cl-ecase helm-mm-matching-method - (multi1 #'helm-mm-1-match) - (multi2 #'helm-mm-2-match) - (multi3 #'helm-mm-3-match) - (multi3p #'helm-mm-3p-match)))) - (funcall fun str pattern))) - -(defun helm-mm-search (pattern &rest _ignore) - (let ((fun (cl-ecase helm-mm-matching-method - (multi1 #'helm-mm-1-search) - (multi2 #'helm-mm-2-search) - (multi3 #'helm-mm-3-search) - (multi3p #'helm-mm-3p-search)))) - (funcall fun pattern))) - - -(provide 'helm-multi-match) - - -;; Local Variables: -;; byte-compile-warnings: (not cl-functions obsolete) -;; coding: utf-8 -;; indent-tabs-mode: nil -;; End: - -;;; helm-multi-match.el ends here diff --git a/elpa/helm-core-20160818.5/helm-core-autoloads.el b/elpa/helm-core-20160913.219/helm-core-autoloads.el similarity index 92% rename from elpa/helm-core-20160818.5/helm-core-autoloads.el rename to elpa/helm-core-20160913.219/helm-core-autoloads.el index aded00f..948a69c 100644 --- a/elpa/helm-core-20160818.5/helm-core-autoloads.el +++ b/elpa/helm-core-20160913.219/helm-core-autoloads.el @@ -1,14 +1,14 @@ ;;; helm-core-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "helm" "helm.el" (22454 5318 318163 35000)) +;;;### (autoloads nil "helm" "helm.el" (22490 24934 255411 690000)) ;;; Generated autoloads from helm.el (autoload 'helm-define-multi-key "helm" "\ In KEYMAP, define key sequence KEY for function list FUNCTIONS. -Each function runs sequentially for each KEY press. +Each function runs sequentially for each KEY press. If DELAY is specified, switch back to initial function of FUNCTIONS list after DELAY seconds. The functions in FUNCTIONS list take no args. @@ -22,8 +22,8 @@ e.g \(helm-define-multi-key global-map \" q\" '(foo bar baz) 2) -Each time \" q\" is pressed, the next function is executed. Waiting -more than 2 seconds between key presses switches back to executing the first +Each time \" q\" is pressed, the next function is executed. Waiting +more than 2 seconds between key presses switches back to executing the first function on the next hit. \(fn KEYMAP KEY FUNCTIONS &optional DELAY)" nil nil) @@ -35,7 +35,7 @@ See `helm-define-multi-key'. \(fn NAME DOCSTRING FUNS &optional DELAY)" nil t) -(function-put 'helm-multi-key-defun 'lisp-indent-function '2) +(put 'helm-multi-key-defun 'lisp-indent-function '2) (autoload 'helm-define-key-with-subkeys "helm" "\ Defines in MAP a KEY and SUBKEY to COMMAND. @@ -57,19 +57,19 @@ In this example, `C-x v n' will run `git-gutter:next-hunk' subsequent \"n\"'s run this command again and subsequent \"p\"'s run `git-gutter:previous-hunk'. -Arg MENU is a string displayed in minibuffer that +Arg MENU is a string displayed in minibuffer that describes SUBKEY and OTHER-SUBKEYS. Arg EXIT-FN specifies a function to run on exit. For any other keys pressed, run their assigned command as defined in MAP and then exit the loop running EXIT-FN, if specified. -NOTE: SUBKEY and OTHER-SUBKEYS bindings support char syntax only +NOTE: SUBKEY and OTHER-SUBKEYS bindings support char syntax only \(e.g ?n), so don't use strings or vectors to define them. \(fn MAP KEY SUBKEY COMMAND &optional OTHER-SUBKEYS MENU EXIT-FN)" nil nil) -(function-put 'helm-define-key-with-subkeys 'lisp-indent-function '1) +(put 'helm-define-key-with-subkeys 'lisp-indent-function '1) (autoload 'helm-debug-open-last-log "helm" "\ Open helm log file or buffer of last helm session. @@ -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") (22454 5318 397164 892000)) +;;;;;; "helm-source.el") (22490 24934 280627 285000)) ;;;*** diff --git a/elpa/helm-core-20160818.5/helm-core-pkg.el b/elpa/helm-core-20160913.219/helm-core-pkg.el similarity index 55% rename from elpa/helm-core-20160818.5/helm-core-pkg.el rename to elpa/helm-core-20160913.219/helm-core-pkg.el index 83b9873..3d9946d 100644 --- a/elpa/helm-core-20160818.5/helm-core-pkg.el +++ b/elpa/helm-core-20160913.219/helm-core-pkg.el @@ -1,5 +1,5 @@ -(define-package "helm-core" "20160818.5" "Development files for Helm" - '((emacs "24.3") +(define-package "helm-core" "20160913.219" "Development files for Helm" + '((emacs "24.4") (async "1.9")) :url "https://emacs-helm.github.io/helm/") ;; Local Variables: diff --git a/elpa/helm-core-20160818.5/helm-lib.el b/elpa/helm-core-20160913.219/helm-lib.el similarity index 93% rename from elpa/helm-core-20160818.5/helm-lib.el rename to elpa/helm-core-20160913.219/helm-lib.el index d829faa..d7d3fd6 100644 --- a/elpa/helm-core-20160818.5/helm-lib.el +++ b/elpa/helm-core-20160913.219/helm-lib.el @@ -104,6 +104,33 @@ When only `add-text-properties' is available APPEND is ignored." symbols) ,@body)) +;;; Command loop helper +;; +(defun helm-this-command () + "Returns the actual command in action. +Like `this-command' but return the real command, +and not `exit-minibuffer' or other unwanted functions." + (cl-loop with bl = '(helm-maybe-exit-minibuffer + helm-confirm-and-exit-minibuffer + helm-exit-minibuffer + exit-minibuffer) + for count from 1 to 50 + for btf = (backtrace-frame count) + for fn = (cl-second btf) + if (and + ;; In some case we may have in the way an + ;; advice compiled resulting in byte-code, + ;; ignore it (Issue #691). + (symbolp fn) + (commandp fn) + (not (memq fn bl))) + return fn + else + if (and (eq fn 'call-interactively) + (> (length btf) 2)) + return (cadr (cdr btf)))) + + ;;; Iterators ;; (defun helm-iter-list (seq) @@ -167,9 +194,6 @@ of `cl-return' is possible to exit the loop." (progn ,@(cdr clause1)) (helm-acond ,@(cdr clauses)))))))) -(defun helm-current-line-contents () - "Current line string without properties." - (buffer-substring-no-properties (point-at-bol) (point-at-eol))) ;;; Fuzzy matching routines ;; @@ -403,6 +427,35 @@ ARGS is (cand1 cand2 ...) or ((disp1 . real1) (disp2 . real2) ...) collect (cons (car arg) (funcall function (cdr arg))) else collect (funcall function arg))) + +(defun helm-append-at-nth (seq elm index) + "Append ELM at INDEX in SEQ." + (let ((len (length seq))) + (cond ((> index len) (setq index len)) + ((< index 0) (setq index 0))) + (if (zerop index) + (append elm seq) + (cl-loop for i in seq + for count from 1 collect i + when (= count index) + if (listp elm) append elm + else collect elm)))) + +(defun helm-source-by-name (name &optional sources) + "Get a Helm source in SOURCES by NAME. + +Optional argument SOURCES is a list of Helm sources. The default +value is computed with `helm-get-sources' which is faster +than specifying SOURCES because sources are cached." + (cl-loop with src-list = (if sources + (cl-loop for src in sources + collect (if (listp src) + src + (symbol-value src))) + (helm-get-sources)) + for source in src-list + thereis (and (string= name (assoc-default 'name source)) source))) + ;;; Strings processing. ;; @@ -465,6 +518,10 @@ Add spaces at end if needed to reach WIDTH when STR is shorter than WIDTH." "Quote whitespace, if some, in string CANDIDATE." (replace-regexp-in-string " " "\\\\ " candidate)) +(defun helm-current-line-contents () + "Current line string without properties." + (buffer-substring-no-properties (point-at-bol) (point-at-eol))) + ;;; Symbols routines ;; diff --git a/elpa/helm-20160818.623/helm-multi-match.el b/elpa/helm-core-20160913.219/helm-multi-match.el similarity index 100% rename from elpa/helm-20160818.623/helm-multi-match.el rename to elpa/helm-core-20160913.219/helm-multi-match.el diff --git a/elpa/helm-core-20160818.5/helm-source.el b/elpa/helm-core-20160913.219/helm-source.el similarity index 98% rename from elpa/helm-core-20160818.5/helm-source.el rename to elpa/helm-core-20160913.219/helm-source.el index 048f7ae..facc342 100644 --- a/elpa/helm-core-20160818.5/helm-source.el +++ b/elpa/helm-core-20160913.219/helm-source.el @@ -469,9 +469,7 @@ :custom integer :documentation " Enable `helm-follow-mode' for this source only. - You must give it a value of 1 or -1, though giving a -1 value - is surely not what you want, e.g: (follow . 1) - +With a value of 1 enable, a value of -1 or nil disable the mode. See `helm-follow-mode' for more infos.") (follow-delay @@ -482,7 +480,7 @@ " `helm-follow-mode' will execute persistent-action after this delay. Otherwise value of `helm-follow-input-idle-delay' is used if non--nil, If none of these are found fallback to `helm-input-idle-delay'.") - + (multimatch :initarg :multimatch :initform t @@ -495,7 +493,7 @@ It is the standard way of matching in helm and is enabled by default. It can be used with fuzzy-matching enabled, but as soon helm detect a space, each pattern will match by regexp and will not be fuzzy.") - + (match-part :initarg :match-part :initform nil @@ -802,11 +800,11 @@ an eieio class." (let* ((actions (slot-value source 'action)) (action-transformers (slot-value source 'action-transformer)) (new-action (list (cons name fn))) - (transformer `(lambda (actions candidate) - (cond ((funcall (quote ,predicate) candidate) - (helm-append-at-nth - actions (quote ,new-action) ,index)) - (t actions))))) + (transformer (lambda (actions candidate) + (cond ((funcall predicate candidate) + (helm-append-at-nth + actions new-action index)) + (t actions))))) (if (functionp actions) (setf (slot-value source 'action) (list (cons "Default action" actions))) (setf (slot-value source 'action) (helm-interpret-value actions source))) diff --git a/elpa/helm-core-20160818.5/helm.el b/elpa/helm-core-20160913.219/helm.el similarity index 93% rename from elpa/helm-core-20160818.5/helm.el rename to elpa/helm-core-20160913.219/helm.el index ac5195e..aa64094 100644 --- a/elpa/helm-core-20160818.5/helm.el +++ b/elpa/helm-core-20160913.219/helm.el @@ -41,7 +41,7 @@ ;;;###autoload (defun helm-define-multi-key (keymap key functions &optional delay) "In KEYMAP, define key sequence KEY for function list FUNCTIONS. -Each function runs sequentially for each KEY press. +Each function runs sequentially for each KEY press. If DELAY is specified, switch back to initial function of FUNCTIONS list after DELAY seconds. The functions in FUNCTIONS list take no args. @@ -55,8 +55,8 @@ e.g \(helm-define-multi-key global-map \" q\" '(foo bar baz) 2) -Each time \" q\" is pressed, the next function is executed. Waiting -more than 2 seconds between key presses switches back to executing the first +Each time \" q\" is pressed, the next function is executed. Waiting +more than 2 seconds between key presses switches back to executing the first function on the next hit." (define-key keymap key (helm-make-multi-command functions delay))) @@ -94,8 +94,8 @@ Run each function in the FUNCTIONS list in turn when called within DELAY seconds (set iterator (helm-iter-list (funcall fn))) (setq next (helm-iter-next (symbol-value iterator)))) (and next (symbol-value iterator) (call-interactively (nth (1- next) functions))) - (when delay (run-with-idle-timer delay nil `(lambda () - (setq ,iterator nil)))))) + (when delay (run-with-idle-timer delay nil (lambda () + (setq iterator nil)))))) (helm-multi-key-defun helm-toggle-resplit-and-swap-windows "Multi key command to re-split and swap helm window. @@ -126,14 +126,14 @@ In this example, `C-x v n' will run `git-gutter:next-hunk' subsequent \"n\"'s run this command again and subsequent \"p\"'s run `git-gutter:previous-hunk'. -Arg MENU is a string displayed in minibuffer that +Arg MENU is a string displayed in minibuffer that describes SUBKEY and OTHER-SUBKEYS. Arg EXIT-FN specifies a function to run on exit. For any other keys pressed, run their assigned command as defined in MAP and then exit the loop running EXIT-FN, if specified. -NOTE: SUBKEY and OTHER-SUBKEYS bindings support char syntax only +NOTE: SUBKEY and OTHER-SUBKEYS bindings support char syntax only \(e.g ?n), so don't use strings or vectors to define them." (declare (indent 1)) (define-key map key @@ -340,11 +340,6 @@ the default has changed now to avoid flickering." :group 'helm :type 'sexp) -(defcustom helm-persistent-action-use-special-display nil - "If non-`nil', use `special-display-function' in persistent action." - :group 'helm - :type 'boolean) - (defcustom helm-display-function 'helm-default-display-buffer "Function to display *helm* buffer. By default, it is `helm-default-display-buffer', which affects @@ -355,7 +350,7 @@ By default, it is `helm-default-display-buffer', which affects (defcustom helm-case-fold-search 'smart "Adds 'smart' option to `case-fold-search'. Smart option ignores case for searches as long as there are no -upper case characters in the pattern. +upper case characters in the pattern. Use nil or t to turn off smart behavior and use `case-fold-search' behavior. @@ -415,11 +410,23 @@ NOTE: this have no effect if `helm-split-window-preferred-function' is not :group 'helm :type 'symbol) -(defcustom helm-display-buffer-default-size nil +(defcustom helm-display-buffer-default-height nil "Initial height of `helm-buffer', specified as an integer or a function. + The function should take one arg and the responsibility for -re-sizing the window; function's return value is ignored. See -`display-buffer' for more info." +re-sizing the window; function's return value is ignored. +Note that this have no effect when the split is vertical. +See `display-buffer' for more info." + :group 'helm + :type '(choice integer function)) + +(defcustom helm-display-buffer-default-width nil + "Initial width of `helm-buffer', specified as an integer or a function. + +The function should take one arg and the responsibility for +re-sizing the window; function's return value is ignored. +Note that this have no effect when the split is horizontal. +See `display-buffer' for more info." :group 'helm :type '(choice integer function)) @@ -456,7 +463,10 @@ set to `other'." helm-source-etags-select helm-source-man-pages helm-source-occur - helm-source-moccur) + helm-source-moccur + helm-source-grep-ag + helm-source-grep-git + helm-source-grep) "List of helm sources that need to use `helm--maybe-use-default-as-input'. When a source is a member of this list, default `thing-at-point' will be used as input." @@ -471,19 +481,36 @@ See documentation for `helm-delete-minibuffer-contents'." :type 'boolean) (defcustom helm-follow-mode-persistent nil - "When non-`nil', use last state of `helm-follow-mode' for the next helm session. -To make this behavior persistent across emacs sessions, set the -`follow' attribute explicitly in the source." + "When non-`nil', save last state of `helm-follow-mode' for the next emacs sessions. + +Each time you turn on or off `helm-follow-mode', the current source name will be stored +or removed from `helm-source-names-using-follow'. + +Note that this may be disabled in some places where it is unsafe to use +because persistent action is changing according to context." :group 'helm :type 'boolean) +(defcustom helm-source-names-using-follow nil + "A list of source names to have follow enabled. +This list of source names will be used only +when `helm-follow-mode-persistent' is non-nil. + +You don't have to customize this yourself unless you really want and +know what you are doing, instead just set +`helm-follow-mode-persistent' to non-nil and as soon you turn on or +off `helm-follow-mode' (C-c C-f) in a source, helm will save or remove +source name in this variable." + :group 'helm + :type '(repeat (choice string))) + (defcustom helm-prevent-escaping-from-minibuffer t "Prevent escape from minibuffer during the helm session." :group 'helm :type 'boolean) (defcustom helm-move-to-line-cycle-in-source nil - "Cycle to the beginning or end of the list after reaching the bottom or top. + "Cycle to the beginning or end of the list after reaching the bottom or top. This applies when using `helm-next/previous-line'." :group 'helm :type 'boolean) @@ -500,7 +527,7 @@ This applies when using `helm-next/previous-line'." (defcustom helm-fuzzy-sort-fn 'helm-fuzzy-matching-default-sort-fn "The sort transformer function used in fuzzy matching. -When nil, sorting is not done." +When nil, sorting is not done." :group 'helm :type 'function) @@ -528,7 +555,7 @@ See `fit-window-to-buffer' for details." (defcustom helm-input-method-verbose-flag nil "The default value for `input-method-verbose-flag' used in helm minibuffer. It is nil by default, which does not turn off input method. Helm -updates and exits without interruption -- necessary for complex methods. +updates and exits without interruption -- necessary for complex methods. If set to any other value as per `input-method-verbose-flag', then use `C-\\' to disable the `current-input-method' to exit or update helm" @@ -743,9 +770,11 @@ minibuffer abnormally (e.g. via `helm-keyboard-quit').") "Variables restored after an `helm' invocation.") (defvar helm-execute-action-at-once-if-one nil - "With the only remaining candidate, executes the default action and then exits. -This variable accepts a function with no args and returns a boolean -value.") + "When non--nil executes the default action and then exits if only one candidate. +If symbol 'current-source is given as value exit if only one candidate +in current source. +This variable accepts a function with no args that should returns a boolean +value or 'current-source.") (defvar helm-quit-if-no-candidate nil "When non-`nil', quits if there are no candidates. @@ -763,9 +792,6 @@ If `nil', `helm-debug-output' includes only variables with Default is `nil', which disables writing log messages because the size of `helm-debug-buffer' grows quickly.") -(defvar helm-compile-source-functions nil - "Functions to compile elements of `helm-sources' (plug-in).") - (defvar helm-mode-line-string "\ \\\ \\[helm-help]:Help \ @@ -841,10 +867,20 @@ navigation keys. Also note that Helm candidates list by default do not display line numbers. Line numbers can be enabled with the linum-relative package. -** Visible Marks +** Marked candidates -Visible marks are displayed next to selected candidates, if any. -Some Helm actions operate on marked candidates. +You can mark candidates to execute an action on them instead +of the current selected candidate only (See binding below). +Most Helm actions operate on marked candidates unless marking candidates +is prevented explicitely for a specific source. + +** Follow candidates + +You can execute automatically an action specified in the source as persistent-action +while moving up and down in helm-window or while updating the list of candidates by +turning on `helm-follow-mode' while in helm. +The follow behavior will be saved and used in next emacs sessions when `helm-follow-mode-persistent' +is non-nil. ** Frequently Used Commands @@ -924,7 +960,6 @@ It also accepts function or variable symbol.") (defvar helm-issued-errors nil) (defvar helm--last-log-file nil "The name of the log file of the last helm session.") -(defvar helm-follow-mode nil) (defvar helm--local-variables nil) (defvar helm-split-window-state nil) (defvar helm--window-side-state nil) @@ -939,7 +974,7 @@ It also accepts function or variable symbol.") "Flag to inform if helm did exit or quit. 0 means helm did exit when executing an action. 1 means helm did quit with \\[keyboard-quit] -Knowing this exit-status could help restore a window config when helm aborts +Knowing this exit-status could help restore a window config when helm aborts in some special circumstances. See `helm-exit-minibuffer' and `helm-keyboard-quit'.") (defvar helm-minibuffer-confirm-state nil) @@ -979,7 +1014,7 @@ precedence on :default.") '("Find Files" "Read File Name" "Read File Name History") "Sources that use the *find-files mechanism can be added here. Sources generated by `helm-mode' don't need to be added here -because they are automatically added. +because they are automatically added. You should not modify this yourself unless you know what you are doing.") ;; Same as `ffap-url-regexp' but keep it here to ensure `ffap-url-regexp' is not nil. @@ -1075,46 +1110,6 @@ Messages are logged to a file named with todays date and time in this directory. (message "Helm issued errors: %s" (mapconcat 'identity (reverse helm-issued-errors) "\n")))) - -;; Programming Tools - -(defun helm-this-command () - "Returns the actual command in action. -Like `this-command' but return the real command, -and not `exit-minibuffer' or other unwanted functions." - (cl-loop with bl = '(helm-maybe-exit-minibuffer - helm-confirm-and-exit-minibuffer - helm-exit-minibuffer - exit-minibuffer) - for count from 1 to 50 - for btf = (backtrace-frame count) - for fn = (cl-second btf) - if (and - ;; In some case we may have in the way an - ;; advice compiled resulting in byte-code, - ;; ignore it (Issue #691). - (symbolp fn) - (commandp fn) - (not (memq fn bl))) - return fn - else - if (and (eq fn 'call-interactively) - (> (length btf) 2)) - return (cadr (cdr btf)))) - -(defun helm-append-at-nth (seq elm index) - "Append ELM at INDEX in SEQ." - (let ((len (length seq))) - (cond ((> index len) (setq index len)) - ((< index 0) (setq index 0))) - (if (zerop index) - (append elm seq) - (cl-loop for i in seq - for count from 1 collect i - when (= count index) - if (listp elm) append elm - else collect elm)))) - ;; Test tools (defmacro with-helm-time-after-update (&rest body) @@ -1274,11 +1269,11 @@ only when predicate helm-ff-candidates-lisp-p return non-`nil': (let* ((actions (helm-attr 'action source 'ignorefn)) (action-transformers (helm-attr 'action-transformer source)) (new-action (list (cons name fn))) - (transformer `(lambda (actions candidate) - (cond ((funcall (quote ,predicate) candidate) - (helm-append-at-nth - actions (quote ,new-action) ,index)) - (t actions))))) + (transformer (lambda (actions candidate) + (cond ((funcall predicate candidate) + (helm-append-at-nth + actions new-action index)) + (t actions))))) (when (functionp actions) (helm-attrset 'action (list (cons "Default action" actions)) source)) (when (or (symbolp action-transformers) (functionp action-transformers)) @@ -1366,7 +1361,7 @@ If NO-UPDATE is non-`nil', skip executing `helm-update'." helm-sources)) (helm-log "helm-compiled-sources = %S" helm-compiled-sources))))) -(defun helm-get-selection (&optional buffer force-display-part) +(defun helm-get-selection (&optional buffer force-display-part source) "Return the currently selected item or nil. if BUFFER is nil or unspecified, use helm-buffer as default value. If FORCE-DISPLAY-PART is non-`nil', return the display string. @@ -1390,37 +1385,38 @@ with its properties." disp-fn (overlay-start helm-selection-overlay) (1- (overlay-end helm-selection-overlay)))) - (source (helm-get-current-source))) + (src (or source (helm-get-current-source)))) (helm-aif (and (not force-display-part) - (assoc-default 'display-to-real source)) + (assoc-default 'display-to-real src)) (helm-funcall-with-source source it disp) disp))))) (unless (equal selection "") (helm-log "selection = %S" selection) selection))))) -(defun helm-get-actions-from-current-source () +(defun helm-get-actions-from-current-source (&optional source) "Return the associated action for the selected candidate. It is a function symbol \(sole action\) or list of \(action-display . function\)." (unless (helm-empty-buffer-p (helm-buffer-get)) - (helm-aif (helm-attr 'action-transformer) - (helm-funcall-with-source - (helm-get-current-source) it - (helm-attr 'action nil 'ignorefn) - ;; Check if the first given transformer - ;; returns the same set of actions for each - ;; candidate in marked candidates. - ;; If so use the car of marked to determine - ;; the set of actions, otherwise use the selection. - (if (cl-loop with marked = (helm-marked-candidates) - with act = (car (helm-mklist it)) - with acts = (funcall act nil (car marked)) - for c in marked - always (equal (funcall act nil c) acts)) - (car (helm-marked-candidates)) - (helm-get-selection))) - (helm-attr 'action nil 'ignorefn)))) + (let ((src (helm-get-current-source))) + (helm-aif (helm-attr 'action-transformer) + (helm-funcall-with-source + (or source src) it + (helm-attr 'action nil 'ignorefn) + ;; Check if the first given transformer + ;; returns the same set of actions for each + ;; candidate in marked candidates. + ;; If so use the car of marked to determine + ;; the set of actions, otherwise use the selection. + (if (cl-loop with marked = (helm-marked-candidates) + with act = (car (helm-mklist it)) + with acts = (funcall act nil (car marked)) + for c in marked + always (equal (funcall act nil c) acts)) + (car (helm-marked-candidates)) + (helm-get-selection nil nil src))) + (helm-attr 'action nil 'ignorefn))))) (defun helm-get-current-source () "Return the source for the current selection. @@ -1820,13 +1816,14 @@ example, :candidate-number-limit is bound to "The internal helm function called by `helm'. For ANY-SOURCES ANY-INPUT ANY-PROMPT ANY-RESUME ANY-PRESELECT ANY-BUFFER and ANY-KEYMAP ANY-DEFAULT ANY-HISTORY See `helm'." - ;; Activate the advice for `tramp-read-passwd'. - (if (fboundp 'advice-add) - (progn - (advice-add 'tramp-read-passwd :around #'helm--advice-tramp-read-passwd) - (advice-add 'ange-ftp-get-passwd :around #'helm--advice-ange-ftp-get-passwd)) - (ad-activate 'tramp-read-passwd) - (ad-activate 'ange-ftp-get-passwd)) + ;; Activate the advice for `tramp-read-passwd' and cua. + ;; Advices will be available only in >=emacs-24.4, but + ;; allow compiling without errors on lower emacs. + (when (fboundp 'advice-add) + (advice-add 'tramp-read-passwd :around #'helm--advice-tramp-read-passwd) + (advice-add 'ange-ftp-get-passwd :around #'helm--advice-ange-ftp-get-passwd) + (advice-add 'cua-delete-region :around #'cua-delete-region--advice) + (advice-add 'copy-region-as-kill :around #'copy-region-as-kill--advice)) (helm-log (concat "[Start session] " (make-string 41 ?+))) (helm-log "any-prompt = %S" any-prompt) (helm-log "any-preselect = %S" any-preselect) @@ -1839,6 +1836,7 @@ ANY-KEYMAP ANY-DEFAULT ANY-HISTORY See `helm'." ;; Prevent mouse jumping to the upper-right ;; hand corner of the frame (#1538). mouse-autoselect-window + mode-line-in-non-selected-windows focus-follows-mouse (input-method-verbose-flag helm-input-method-verbose-flag) (old--cua cua-mode) @@ -1882,14 +1880,11 @@ ANY-KEYMAP ANY-DEFAULT ANY-HISTORY See `helm'." (helm-restore-position-on-quit) (helm-log (concat "[End session (quit)] " (make-string 34 ?-))) nil)) - (if (fboundp 'advice-add) - (progn - (advice-remove 'tramp-read-passwd - #'helm--advice-tramp-read-passwd) - (advice-remove 'ange-ftp-get-passwd - #'helm--advice-ange-ftp-get-passwd)) - (ad-deactivate 'tramp-read-passwd) - (ad-deactivate 'ange-ftp-get-passwd)) + (when (fboundp 'advice-remove) + (advice-remove 'tramp-read-passwd #'helm--advice-tramp-read-passwd) + (advice-remove 'ange-ftp-get-passwd #'helm--advice-ange-ftp-get-passwd) + (advice-remove 'cua-delete-region #'cua-delete-region--advice) + (advice-remove 'copy-region-as-kill #'copy-region-as-kill--advice)) (helm-log "helm-alive-p = %S" (setq helm-alive-p nil)) (helm--remap-mouse-mode -1) ; Reenable mouse bindings. (setq helm-alive-p nil) @@ -1949,7 +1944,7 @@ as a string with ARG." (interactive "p") (with-helm-alive-p (if (> (length helm-buffers) arg) - (helm-run-after-exit `(lambda () (helm-resume (nth ,arg helm-buffers)))) + (helm-run-after-exit (lambda () (helm-resume (nth arg helm-buffers)))) (message "No previous helm sessions available for resuming!")))) (put 'helm-resume-previous-session-after-quit 'helm-only t) @@ -2173,7 +2168,8 @@ value of `helm-full-frame' or `helm-split-window-default-side'." (not helm-split-window-in-side-p)) (delete-other-windows)) (display-buffer - buffer `(nil . ((window-height . ,helm-display-buffer-default-size)))) + buffer `(nil . ((window-height . ,helm-display-buffer-default-height) + (window-width . ,helm-display-buffer-default-width)))) (helm-log-run-hook 'helm-window-configuration-hook))) @@ -2342,7 +2338,6 @@ Unuseful when used outside helm, don't use it.") (erase-buffer) (set (make-local-variable 'helm-map) helm-map) (make-local-variable 'helm-sources) - (set (make-local-variable 'helm-follow-mode) nil) (set (make-local-variable 'helm-display-function) helm-display-function) (set (make-local-variable 'helm-selection-point) nil) (set (make-local-variable 'scroll-margin) @@ -2438,7 +2433,8 @@ For ANY-PRESELECT ANY-RESUME ANY-KEYMAP ANY-DEFAULT ANY-HISTORY, See `helm'." (cond ((and (if (functionp helm-execute-action-at-once-if-one) (funcall helm-execute-action-at-once-if-one) helm-execute-action-at-once-if-one) - (= (helm-get-candidate-number) 1)) + (= (helm-get-candidate-number + (eq helm-execute-action-at-once-if-one 'current-source)) 1)) (ignore)) ; Don't enter the minibuffer loop. ((and helm-quit-if-no-candidate (= (helm-get-candidate-number) 0)) @@ -2497,20 +2493,6 @@ This can be useful for example for quietly writing a complex regexp." "Helm update re-enabled!")))) (put 'helm-toggle-suspend-update 'helm-only t) -(defadvice tramp-read-passwd (around disable-helm-update) - ;; Suspend update when prompting for a tramp password. - (setq helm-suspend-update-flag t) - (setq overriding-terminal-local-map nil) - (setq helm--reading-passwd-or-string t) - (let (stimers) - (unwind-protect - (progn - (setq stimers (with-timeout-suspend)) - ad-do-it) - (with-timeout-unsuspend stimers) - (setq helm--reading-passwd-or-string nil) - (setq helm-suspend-update-flag nil)))) - (defun helm--advice-tramp-read-passwd (old--fn &rest args) ;; Suspend update when prompting for a tramp password. (setq helm-suspend-update-flag t) @@ -2533,15 +2515,15 @@ This can be useful for example for quietly writing a complex regexp." (setq helm--reading-passwd-or-string nil) (setq helm-suspend-update-flag nil))) -(defadvice ange-ftp-get-passwd (around disable-helm-update) - ;; Suspend update when prompting for a ange password. - (setq helm-suspend-update-flag t) - (setq overriding-terminal-local-map nil) - (setq helm--reading-passwd-or-string t) - (unwind-protect - ad-do-it - (setq helm--reading-passwd-or-string nil) - (setq helm-suspend-update-flag nil))) +;; CUA workaround +(defun cua-delete-region--advice (old--fn &rest args) + (ignore-errors + (apply old--fn args))) + +(defun copy-region-as-kill--advice (old--fn &rest args) + (if cua-mode + (ignore-errors (apply old--fn args)) + (apply old--fn args))) (defun helm--maybe-update-keymap (&optional map) "Handle different keymaps in multiples sources. @@ -2792,11 +2774,11 @@ functions if some, otherwise return CANDIDATES." (helm-aif (assoc-default 'real-to-display source) (setq candidates (helm-funcall-with-source source 'mapcar - (lambda (cand_) - (if (consp cand_) + (lambda (cand) + (if (consp cand) ;; override DISPLAY from candidate-transformer - (cons (funcall it (cdr cand_)) (cdr cand_)) - (cons (funcall it cand_) cand_))) + (cons (funcall it (cdr cand)) (cdr cand)) + (cons (funcall it cand) cand))) candidates)) candidates)) @@ -3290,7 +3272,7 @@ to a particular place after finishing update." (goto-char (point-min)) (helm-move-selection-common :where 'line :direction 'next - :follow nil)) + :follow t)) (defun helm-force-update (&optional preselect) "Force recalculation and update of candidates. @@ -3302,10 +3284,10 @@ pattern has changed. Selection is preserved to current candidate or moved to PRESELECT, if specified." - (let ((source (helm-get-current-source)) - (selection (helm-aif (helm-get-selection nil t) - (regexp-quote it) - it))) + (let* ((source (helm-get-current-source)) + (selection (helm-aif (helm-get-selection nil t source) + (regexp-quote it) + it))) (setq helm--force-updating-p t) (when source (mapc 'helm-force-update--reinit @@ -3465,6 +3447,8 @@ this additional info after the source name by overlay." (with-selected-window it (helm-skip-noncandidate-line 'next) (helm-mark-current-line) + ;; FIXME Don't hardcode follow delay. + (helm-follow-execute-persistent-action-maybe 0.5) (helm-display-mode-line (helm-get-current-source)) (helm-log-run-hook 'helm-after-update-hook)))) @@ -3540,7 +3524,7 @@ If PRESERVE-SAVED-ACTION is non-`nil', then save the action." (setq selection (helm-coerce-selection (or selection helm-saved-selection - (helm-get-selection) + (helm-get-selection nil nil source) (and (assoc 'accept-empty source) "")) source)) (unless preserve-saved-action (setq helm-saved-action nil)) @@ -3564,30 +3548,34 @@ Coerce source with coerce function." If action buffer is selected, back to the helm buffer." (interactive) (with-helm-alive-p - (helm-log-run-hook 'helm-select-action-hook) - (setq helm-saved-selection (helm-get-selection)) - (with-selected-frame (with-helm-window (selected-frame)) - (prog1 - (cond ((get-buffer-window helm-action-buffer 'visible) - (set-window-buffer (get-buffer-window helm-action-buffer) - helm-buffer) - (kill-buffer helm-action-buffer) - (setq helm-saved-selection nil) - (helm-set-pattern helm-input 'noupdate)) - (helm-saved-selection - (setq helm-saved-current-source (helm-get-current-source)) - (let ((actions (helm-get-actions-from-current-source))) - (if (functionp actions) - (message "Sole action: %s" actions) - (helm-show-action-buffer actions) - ;; Be sure the minibuffer is entirely deleted (#907). - (helm--delete-minibuffer-contents-from "") - ;; Make `helm-pattern' differs from the previous value. - (setq helm-pattern 'dummy) - (helm-check-minibuffer-input)))) - (t (message "No Actions available"))) - (helm-display-mode-line (helm-get-current-source)) - (run-hooks 'helm-window-configuration-hook))))) + (let ((src (helm-get-current-source))) + (helm-log-run-hook 'helm-select-action-hook) + (setq helm-saved-selection (helm-get-selection nil nil src)) + (with-selected-frame (with-helm-window (selected-frame)) + (prog1 + (cond ((get-buffer-window helm-action-buffer 'visible) + (set-window-buffer (get-buffer-window helm-action-buffer) + helm-buffer) + (kill-buffer helm-action-buffer) + (setq helm-saved-selection nil) + (helm-set-pattern helm-input 'noupdate)) + (helm-saved-selection + (setq helm-saved-current-source src) + (let ((actions (helm-get-actions-from-current-source src))) + (if (functionp actions) + (message "Sole action: %s" + (if (or (consp actions) + (byte-code-function-p actions)) + "Anonymous" actions)) + (helm-show-action-buffer actions) + ;; Be sure the minibuffer is entirely deleted (#907). + (helm--delete-minibuffer-contents-from "") + ;; Make `helm-pattern' differs from the previous value. + (setq helm-pattern 'dummy) + (helm-check-minibuffer-input)))) + (t (message "No Actions available"))) + (helm-display-mode-line src) + (run-hooks 'helm-window-configuration-hook)))))) (put 'helm-select-action 'helm-only t) (defun helm-show-action-buffer (actions) @@ -3653,13 +3641,22 @@ DIRECTION is either 'next or 'previous." -1 1))))) (defun helm-display-mode-line (source &optional force) - "Setup mode-line and header-line for `helm-buffer'." + "Set up mode line and header line for `helm-buffer'. + +SOURCE is a Helm source object. + +Optional argument FORCE forces redisplay of the Helm buffer's +mode and header lines." (set (make-local-variable 'helm-mode-line-string) (helm-interpret-value (or (and (listp source) ; Check if source is empty. (assoc-default 'mode-line source)) (default-value 'helm-mode-line-string)) source)) - (let ((follow (and (eq (cdr (assq 'follow source)) 1) " (HF)")) + (let ((follow (and (or (helm-follow-mode-p source) + (and helm-follow-mode-persistent + (member (assoc-default 'name source) + helm-source-names-using-follow))) + " (HF)")) (marked (and helm-marked-candidates (cl-loop with cur-name = (assoc-default 'name source) for c in helm-marked-candidates @@ -4018,8 +4015,12 @@ next source)." (eq last-command 'helm-follow-action-backward) (eq last-command 'helm-execute-persistent-action)) (if (> arg 0) - (helm-next-line 1) - (helm-previous-line 1))) + (helm-move-selection-common :where 'line + :direction 'next + :follow nil) + (helm-move-selection-common :where 'line + :direction 'previous + :follow nil))) (helm-execute-persistent-action))) (defun helm-follow-action-forward () @@ -4068,13 +4069,14 @@ don't exit and send message 'no match'." (null helm--reading-passwd-or-string)) (progn (message "[Display not ready]") (sit-for 0.5) (message nil)) - (let* ((empty-buffer-p (with-current-buffer helm-buffer + (let* ((src (helm-get-current-source)) + (empty-buffer-p (with-current-buffer helm-buffer (eq (point-min) (point-max)))) - (sel (helm-get-selection)) + (sel (helm-get-selection nil nil src)) (unknown (and (not empty-buffer-p) (string= (get-text-property 0 'display - (helm-get-selection nil 'withprop)) + (helm-get-selection nil 'withprop src)) "[?]")))) (cond ((and (or empty-buffer-p unknown) (eq minibuffer-completion-confirm 'confirm)) @@ -4247,20 +4249,22 @@ to a list of forms.\n\n") (add-hook 'kill-buffer-hook 'helm-kill-buffer-hook) (defun helm-preselect (candidate-or-regexp &optional source) - "Move `helm-selection-overlay' to CANDIDATE-OR-REGEXP on startup. -Arg CANDIDATE-OR-REGEXP can be a string, a cons cell of two -strings or a function called with no arg which will be in charge -of moving to a specific candidate. -When a cons cell, helm tries jumping to first element of -cons cell and then to the second, and so on. This allows finer -preselection if there are duplicates before the candidate we -want to preselect. -Argument SOURCE will be used only when `helm-preselect' is called -from `helm-force-update' and should be in this case a valid source name -or a source alist." + "Move selection to CANDIDATE-OR-REGEXP on Helm start. + +CANDIDATE-OR-REGEXP can be a: + +- String +- Cons cell of two strings +- Nullary function, which moves to a candidate + +When CANDIDATE-OR-REGEXP is a cons cell, tries moving to first +element of the cons cell, then the second, and so on. This allows +selection of duplicate candidates after the first. + +Optional argument SOURCE is a Helm source object." (with-helm-window (when candidate-or-regexp - (if (and helm--force-updating-p source) + (if source (helm-goto-source source) (goto-char (point-min)) (forward-line 1)) @@ -4280,7 +4284,7 @@ or a source alist." (helm-move--beginning-of-multiline-candidate)) (when (helm-pos-header-line-p) (forward-line 1)) (helm-mark-current-line) - (helm-display-mode-line (helm-get-current-source)) + (helm-display-mode-line (or source (helm-get-current-source))) (helm-log-run-hook 'helm-after-preselection-hook))) (defun helm-delete-current-selection () @@ -4787,16 +4791,17 @@ Possible values are 'left 'right 'below or 'above." ;; Utility: select another action by key (defun helm-select-nth-action (n) "Select the N nth action for the currently selected candidate." - (setq helm-saved-selection (helm-get-selection)) - (unless helm-saved-selection - (error "Nothing is selected")) - (setq helm-saved-action - (helm-get-nth-action - n - (if (get-buffer-window helm-action-buffer 'visible) - (assoc-default 'candidates (helm-get-current-source)) - (helm-get-actions-from-current-source)))) - (helm-maybe-exit-minibuffer)) + (let ((src (helm-get-current-source))) + (setq helm-saved-selection (helm-get-selection nil nil src)) + (unless helm-saved-selection + (error "Nothing is selected")) + (setq helm-saved-action + (helm-get-nth-action + n + (if (get-buffer-window helm-action-buffer 'visible) + (assoc-default 'candidates src) + (helm-get-actions-from-current-source src)))) + (helm-maybe-exit-minibuffer))) (defun helm-get-nth-action (n action) (cond ((and (zerop n) (functionp action)) @@ -4817,15 +4822,9 @@ Possible values are 'left 'right 'below or 'above." (helm-previous-line (lognot (1- linum)))) (setq current-prefix-arg prefarg) (helm-exit-minibuffer))) - -;; Utility: Persistent Action -(defmacro with-helm-display-same-window (&rest body) - "Execute BODY in the window used for persistent action. -Make `pop-to-buffer' and `display-buffer' display in the same window." - (declare (indent 0) (debug t)) - `(let ((display-buffer-function 'helm-persistent-action-display-buffer)) - ,@body)) - + +;;; Persistent Action +;; (defun helm-initialize-persistent-action () (set (make-local-variable 'helm-persistent-action-display-window) nil)) @@ -4842,7 +4841,9 @@ window to maintain visibility." (interactive) (with-helm-alive-p (helm-log "executing persistent-action") - (let* ((attr-val (assoc-default attr (helm-get-current-source))) + (let* ((source (helm-get-current-source)) + (selection (and source (helm-get-selection nil nil source))) + (attr-val (assoc-default attr source)) ;; If attr value is a cons, use its car as persistent function ;; and its car to decide if helm window should be splitted. (fn (if (and (consp attr-val) @@ -4851,18 +4852,23 @@ window to maintain visibility." (car attr-val) attr-val)) (no-split (and (consp attr-val) (not (functionp attr-val)) - (cdr attr-val)))) - (with-helm-window - (save-selected-window - (if no-split - (helm-select-persistent-action-window) - (helm-select-persistent-action-window - (or split-onewindow helm-onewindow-p))) - (helm-log "current-buffer = %S" (current-buffer)) - (let ((helm-in-persistent-action t)) - (with-helm-display-same-window + (cdr attr-val))) + (cursor-in-echo-area t) + mode-line-in-non-selected-windows) + (when source + (with-helm-window + (save-selected-window + (if no-split + (helm-select-persistent-action-window) + (helm-select-persistent-action-window + (or split-onewindow helm-onewindow-p))) + (helm-log "current-buffer = %S" (current-buffer)) + (let ((helm-in-persistent-action t) + (same-window-regexps '(".")) + display-buffer-function pop-up-windows pop-up-frames + special-display-regexps special-display-buffer-names) (helm-execute-selection-action-1 - nil (or fn (helm-get-actions-from-current-source)) t) + selection (or fn (helm-get-actions-from-current-source source)) t) (helm-log-run-hook 'helm-after-persistent-action-hook)) ;; A typical case is when a persistent action delete ;; the buffer already displayed in @@ -4899,44 +4905,6 @@ See `helm-persistent-action-display-window' for how to use SPLIT-ONEWINDOW." (setq minibuffer-scroll-window (helm-persistent-action-display-window split-onewindow)))) -(defun helm-persistent-action-display-buffer (buf &optional action) - "Make `pop-to-buffer' and `display-buffer' display in the same window. -If `helm-persistent-action-use-special-display' is non-`nil' and -BUF is to be displayed by `special-display-function', use it. -Otherwise ignore `special-display-buffer-names' and `special-display-regexps'. -Argument ACTION, when present, is used as second argument of `display-buffer'." - (let* ((name (buffer-name buf)) - display-buffer-function pop-up-windows pop-up-frames - ;; Disable `special-display-regexps' and `special-display-buffer-names' - ;; unless `helm-persistent-action-use-special-display' is non-`nil'. - (special-display-buffer-names - (and helm-persistent-action-use-special-display - special-display-buffer-names)) - (special-display-regexps - (and helm-persistent-action-use-special-display - special-display-regexps)) - (same-window-regexps - (unless (and helm-persistent-action-use-special-display - (or (member name - (mapcar (lambda (x) (or (car-safe x) x)) - special-display-buffer-names)) - (cl-loop for x in special-display-regexps - thereis (string-match (or (car-safe x) x) - name)))) - '(".")))) - ;; Don't loose minibuffer when displaying persistent window in - ;; another frame. - ;; This happen when the displayed persistent buffer-name is one of - ;; `special-display-buffer-names' or match `special-display-regexps' - ;; and `helm-persistent-action-use-special-display' is enabled. - (with-selected-window (if (or special-display-regexps - special-display-buffer-names) - (minibuffer-window) - (selected-window)) - ;; Be sure window of BUF is not dedicated. - (set-window-dedicated-p (get-buffer-window buf) nil) - (display-buffer buf action)))) - ;; scroll-other-window(-down)? for persistent-action (defun helm-other-window-base (command &optional scroll-amount) (setq scroll-amount (unless (eq scroll-amount 'noscroll) @@ -4983,30 +4951,31 @@ Argument ACTION, when present, is used as second argument of `display-buffer'." return o)) (defun helm-delete-visible-mark (overlay) - (setq helm-marked-candidates - (remove - (cons (helm-get-current-source) (helm-get-selection)) - helm-marked-candidates)) - (delete-overlay overlay) - (setq helm-visible-mark-overlays - (delq overlay helm-visible-mark-overlays))) + (let ((src (helm-get-current-source))) + (setq helm-marked-candidates + (remove + (cons src (helm-get-selection nil nil src)) + helm-marked-candidates)) + (delete-overlay overlay) + (setq helm-visible-mark-overlays + (delq overlay helm-visible-mark-overlays)))) (defun helm-make-visible-mark (&optional src selection) - (let ((o (make-overlay (point-at-bol) + (let* ((source (or src (helm-get-current-source))) + (sel (or selection (helm-get-selection nil nil src))) + (o (make-overlay (point-at-bol) (if (helm-pos-multiline-p) (or (helm-get-next-candidate-separator-pos) (point-max)) - (1+ (point-at-eol)))))) + (1+ (point-at-eol)))))) (overlay-put o 'priority 0) (overlay-put o 'face 'helm-visible-mark) - (overlay-put o 'source (assoc-default 'name (or src (helm-get-current-source)))) + (overlay-put o 'source (assoc-default 'name source)) (overlay-put o 'string (buffer-substring (overlay-start o) (overlay-end o))) - (overlay-put o 'real (or selection (helm-get-selection))) + (overlay-put o 'real sel) (overlay-put o 'visible-mark t) - (cl-pushnew o helm-visible-mark-overlays)) - (push (cons (or src (helm-get-current-source)) - (or selection (helm-get-selection))) - helm-marked-candidates)) + (cl-pushnew o helm-visible-mark-overlays) + (push (cons source sel) helm-marked-candidates))) (defun helm-toggle-visible-mark () "Toggle helm visible mark at point." @@ -5024,10 +4993,11 @@ Argument ACTION, when present, is used as second argument of `display-buffer'." (helm-next-line))))))) (put 'helm-toggle-visible-mark 'helm-only t) -(defun helm-file-completion-source-p () +(defun helm-file-completion-source-p (&optional source) "Return non-`nil' if current source is a file completion source." (or minibuffer-completing-file-name - (let ((cur-source (cdr (assoc 'name (helm-get-current-source))))) + (let ((cur-source (cdr (assoc 'name + (or source (helm-get-current-source)))))) (cl-loop for i in helm--file-completion-sources thereis (string= cur-source i))))) @@ -5036,11 +5006,11 @@ Argument ACTION, when present, is used as second argument of `display-buffer'." (interactive) (with-helm-alive-p (with-helm-window - (let* ((follow (if helm-follow-mode 1 -1)) - (src (helm-get-current-source)) + (let* ((src (helm-get-current-source)) + (follow (if (helm-follow-mode-p src) 1 -1)) (nomark (assq 'nomark src)) (src-name (assoc-default 'name src)) - (filecomp-p (or (helm-file-completion-source-p) + (filecomp-p (or (helm-file-completion-source-p src) (string= src-name "Files from Current Directory"))) (remote-p (and filecomp-p (file-remote-p helm-pattern)))) (cl-letf (((symbol-function 'message) #'ignore)) @@ -5061,7 +5031,7 @@ Argument ACTION, when present, is used as second argument of `display-buffer'." (while (< (point) maxpoint) (helm-mark-current-line) (let* ((prefix (get-text-property (point-at-bol) 'display)) - (cand (helm-get-selection)) + (cand (helm-get-selection nil nil src)) (bn (and filecomp-p (helm-basename cand)))) ;; Don't mark possibles directories ending with . or .. ;; autosave files/links and non--existent file. @@ -5144,7 +5114,8 @@ selection. When key WITH-WILDCARD is specified, expand it." finally return (or cands (append (helm--compute-marked - (helm-get-selection) current-src + (helm-get-selection nil nil current-src) + current-src with-wildcard) cands))))) (helm-log "Marked candidates = %S" candidates) @@ -5282,6 +5253,11 @@ display values." ;;; Follow-mode: Automatic execution of persistent-action ;; ;; +(defvar helm-follow-input-idle-delay nil + "`helm-follow-mode' will execute its persistent action after this delay. +Note that if the `follow-delay' attr is present in source, +it will take precedence over this.") + (defun helm-follow-mode (&optional arg) "Execute persistent action every time the cursor is moved. @@ -5290,28 +5266,22 @@ This mode is source local, i.e It apply on current source only. This mode can be enabled or disabled interactively at anytime during a helm session with \\[helm-follow-mode]. -It can also be enabled specifically for a source by adding the -`follow' attribute to the source. -Value of this attribute can be -1, 1, or 'never. -If the source is defined with its own class, -you can use `helm-setup-user-source' e.g: - - (defmethod helm-setup-user-source ((source helm-grep-class)) - (setf (slot-value source 'follow) 1)) - -Otherwise, use `helm-attrset' to setup the `follow' attribute of the existing source, -which see. - -Even with `follow' attribute, a source can be interactively disabled or enabled -unless `follow' attribute value is 'never. When enabling interactively `helm-follow-mode' in a source, you can keep it enabled -for next helm sessions by setting `helm-follow-mode-persistent' to a non-nil value. +for next emacs sessions by setting `helm-follow-mode-persistent' to a non-nil value. + +When `helm-follow-mode' is called with a prefix arg and `helm-follow-mode-persistent' +is non-nil `helm-follow-mode' will be persistent only for this emacs session, +but not for next emacs sessions, i.e the current source will not be saved +to `helm-source-names-using-follow'. +A prefix arg with `helm-follow-mode' already enabled will have no effect. Note that you can use instead of this mode the commands `helm-follow-action-forward' and `helm-follow-action-backward' at anytime in all helm sessions. They are bound by default to \\[helm-follow-action-forward] and \\[helm-follow-action-backward]." - (interactive "p") + (interactive (list (helm-aif (and current-prefix-arg + (prefix-numeric-value current-prefix-arg)) + (unless (helm-follow-mode-p) it)))) (with-helm-alive-p (with-current-buffer helm-buffer (let* ((src (helm-get-current-source)) @@ -5322,22 +5292,37 @@ They are bound by default to \\[helm-follow-action-forward] and \\[helm-follow-a 'name (symbol-value s))) thereis (and sname (string= sname name) s))) (fol-attr (assq 'follow src)) - (enabled (or - ;; If `helm-follow-mode' is called with a negative - ;; ARG, assume follow is already enabled. - ;; i.e turn it off now. - (< arg 0) - (eq (cdr fol-attr) 1) - helm-follow-mode))) + (enabled (or (helm-follow-mode-p src) + (and helm-follow-mode-persistent + (member (assoc-default 'name src) + helm-source-names-using-follow))))) (if src (progn (if (eq (cdr fol-attr) 'never) (message "helm-follow-mode not allowed in this source") ;; Make follow attr persistent for this emacs session. - (helm-attrset 'follow (if enabled -1 1) src) - (setq helm-follow-mode (not enabled)) + (helm-follow-mode-set-source + (if (or enabled (and (numberp arg) (< arg 0))) -1 1) + src) + ;; When arg is nil assume the call is interactive. + ;; However if user call helm-follow-mode with a prefix arg, + ;; the call will be considered non--interactive and + ;; src-name will NOT be saved to helm-source-names-using-follow. + ;; When called from lisp (non--interactive) src-name + ;; will never be saved. + (when (and helm-follow-mode-persistent (null arg)) + (if (null enabled) + (unless (member name helm-source-names-using-follow) + (push name helm-source-names-using-follow) + (customize-save-variable 'helm-source-names-using-follow + helm-source-names-using-follow)) + (when (member name helm-source-names-using-follow) + (setq helm-source-names-using-follow + (delete name helm-source-names-using-follow)) + (customize-save-variable 'helm-source-names-using-follow + helm-source-names-using-follow)))) (message "helm-follow-mode is %s" - (if helm-follow-mode + (if (helm-follow-mode-p src) "enabled" "disabled")) (helm-display-mode-line src t)) (unless helm-follow-mode-persistent @@ -5345,25 +5330,37 @@ They are bound by default to \\[helm-follow-action-forward] and \\[helm-follow-a (message "Not enough candidates for helm-follow-mode")))))) (put 'helm-follow-mode 'helm-only t) -(defvar helm-follow-input-idle-delay nil - "`helm-follow-mode' will execute its persistent action after this delay. -Note that if the `follow-delay' attr is present in source, -it will take precedence over this.") -(defun helm-follow-execute-persistent-action-maybe () +(defun helm-follow-execute-persistent-action-maybe (&optional delay) "Execute persistent action in mode `helm-follow-mode'. -This happen after `helm-input-idle-delay' secs." - (let ((src (helm-get-current-source))) - (and (not (get-buffer-window helm-action-buffer 'visible)) - (eq (assoc-default 'follow src) 1) - (sit-for (or (assoc-default 'follow-delay src) - helm-follow-input-idle-delay - (and helm-input-idle-delay - (max helm-input-idle-delay 0.01)))) - (helm-window) - (helm-get-selection) - (save-excursion - (helm-execute-persistent-action))))) +This happen after: DELAY or the 'follow-attr value of current source +or `helm-follow-input-idle-delay' or `helm-input-idle-delay' secs." + (let* ((src (helm-get-current-source)) + (at (or delay + (assoc-default 'follow-delay src) + helm-follow-input-idle-delay + (or (and helm-input-idle-delay + (max helm-input-idle-delay 0.01)) + 0.01)))) + (when (and (not (get-buffer-window helm-action-buffer 'visible)) + (not (helm-pos-header-line-p)) + (or (helm-follow-mode-p src) + (and helm-follow-mode-persistent + (member (assoc-default 'name src) + helm-source-names-using-follow))) + (null (eq (assoc-default 'follow src) 'never)) + (helm-window) + (helm-get-selection nil nil src)) + (helm-follow-mode-set-source 1 src) + (run-with-idle-timer at nil #'helm-execute-persistent-action)))) + +(defun helm-follow-mode-p (&optional source) + (with-helm-buffer + (eq (helm-attr 'follow (or source (helm-get-current-source))) 1))) + +(defun helm-follow-mode-set-source (value &optional source) + (with-helm-buffer + (helm-attrset 'follow value (or source (helm-get-current-source))))) ;;; Auto-resize mode ;; diff --git a/elpa/ht-20160806.1753/ht-pkg.el b/elpa/ht-20160806.1753/ht-pkg.el deleted file mode 100644 index eb0368f..0000000 --- a/elpa/ht-20160806.1753/ht-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "ht" "20160806.1753" "The missing hash table library for Emacs" '((dash "2.12.0")) :keywords '("hash table" "hash map" "hash")) diff --git a/elpa/ht-20160806.1753/ht-autoloads.el b/elpa/ht-20160911.1900/ht-autoloads.el similarity index 57% rename from elpa/ht-20160806.1753/ht-autoloads.el rename to elpa/ht-20160911.1900/ht-autoloads.el index cc73c3c..76d569b 100644 --- a/elpa/ht-20160806.1753/ht-autoloads.el +++ b/elpa/ht-20160911.1900/ht-autoloads.el @@ -1,9 +1,9 @@ ;;; ht-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil nil ("ht.el") (22454 5327 525379 527000)) +;;;### (autoloads nil nil ("ht.el") (22490 24933 409230 911000)) ;;;*** diff --git a/elpa/ht-20160911.1900/ht-pkg.el b/elpa/ht-20160911.1900/ht-pkg.el new file mode 100644 index 0000000..8ed00f8 --- /dev/null +++ b/elpa/ht-20160911.1900/ht-pkg.el @@ -0,0 +1 @@ +(define-package "ht" "20160911.1900" "The missing hash table library for Emacs" '((dash "2.12.0")) :keywords '("hash table" "hash map" "hash")) diff --git a/elpa/ht-20160806.1753/ht.el b/elpa/ht-20160911.1900/ht.el similarity index 90% rename from elpa/ht-20160806.1753/ht.el rename to elpa/ht-20160911.1900/ht.el index 4fe53ad..060a48f 100644 --- a/elpa/ht-20160806.1753/ht.el +++ b/elpa/ht-20160911.1900/ht.el @@ -4,7 +4,7 @@ ;; Author: Wilfred Hughes ;; Version: 2.2 -;; Package-Version: 20160806.1753 +;; Package-Version: 20160911.1900 ;; Keywords: hash table, hash map, hash ;; Package-Requires: ((dash "2.12.0")) @@ -69,30 +69,6 @@ user-supplied test created via `define-hash-table-test'." (defalias 'ht-from-alist 'ht<-alist) -;; based on the excellent -partition from dash.el, but we aim to be self-contained -(defun ht/group-pairs (list) - "Return a new list with the items in LIST grouped into pairs. -Errors if LIST doesn't contain an even number of elements." - (let ((result) - (sublist) - (len 0)) - - (while list - ;; take the head of LIST and push onto SUBLIST - (setq sublist (cons (car list) sublist)) - (setq list (cdr list)) - - (setq len (1+ len)) - - (when (= len 2) - ;; push this two-item list onto RESULT - (setq result (cons (nreverse sublist) result)) - (setq sublist nil) - (setq len 0))) - - (when sublist (error "Expected an even number of elements")) - (nreverse result))) - (defun ht<-plist (plist &optional test) "Create a hash table with initial values according to PLIST. @@ -100,7 +76,7 @@ TEST indicates the function used to compare the hash keys. Default is `equal'. It can be `eq', `eql', `equal' or a user-supplied test created via `define-hash-table-test'." (let ((h (ht-create test))) - (dolist (pair (ht/group-pairs plist) h) + (dolist (pair (-partition 2 plist) h) (let ((key (car pair)) (value (cadr pair))) (ht-set! h key value))))) diff --git a/elpa/js2-mode-20160707.723/js2-imenu-extras.el b/elpa/js2-mode-20160904.1234/js2-imenu-extras.el similarity index 100% rename from elpa/js2-mode-20160707.723/js2-imenu-extras.el rename to elpa/js2-mode-20160904.1234/js2-imenu-extras.el diff --git a/elpa/js2-mode-20160707.723/js2-mode-autoloads.el b/elpa/js2-mode-20160904.1234/js2-mode-autoloads.el similarity index 91% rename from elpa/js2-mode-20160707.723/js2-mode-autoloads.el rename to elpa/js2-mode-20160904.1234/js2-mode-autoloads.el index 1497d98..16c321b 100644 --- a/elpa/js2-mode-20160707.723/js2-mode-autoloads.el +++ b/elpa/js2-mode-20160904.1234/js2-mode-autoloads.el @@ -3,8 +3,8 @@ ;;; Code: (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "js2-imenu-extras" "js2-imenu-extras.el" (22404 -;;;;;; 60250 41798 228000)) +;;;### (autoloads nil "js2-imenu-extras" "js2-imenu-extras.el" (22490 +;;;;;; 24930 491422 560000)) ;;; 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" (22404 60250 57798 -;;;;;; 312000)) +;;;### (autoloads nil "js2-mode" "js2-mode.el" (22490 24930 511422 +;;;;;; 501000)) ;;; 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") -;;;;;; (22404 60250 71483 180000)) +;;;;;; (22490 24930 528528 252000)) ;;;*** diff --git a/elpa/js2-mode-20160707.723/js2-mode-pkg.el b/elpa/js2-mode-20160904.1234/js2-mode-pkg.el similarity index 68% rename from elpa/js2-mode-20160707.723/js2-mode-pkg.el rename to elpa/js2-mode-20160904.1234/js2-mode-pkg.el index 2a7d0e6..443c792 100644 --- a/elpa/js2-mode-20160707.723/js2-mode-pkg.el +++ b/elpa/js2-mode-20160904.1234/js2-mode-pkg.el @@ -1,4 +1,4 @@ -(define-package "js2-mode" "20160707.723" "Improved JavaScript editing mode" +(define-package "js2-mode" "20160904.1234" "Improved JavaScript editing mode" '((emacs "24.1") (cl-lib "0.5")) :url "https://github.com/mooz/js2-mode/" :keywords diff --git a/elpa/js2-mode-20160707.723/js2-mode.el b/elpa/js2-mode-20160904.1234/js2-mode.el similarity index 99% rename from elpa/js2-mode-20160707.723/js2-mode.el rename to elpa/js2-mode-20160904.1234/js2-mode.el index 7866a0a..5f0f3c1 100644 --- a/elpa/js2-mode-20160707.723/js2-mode.el +++ b/elpa/js2-mode-20160904.1234/js2-mode.el @@ -6403,6 +6403,8 @@ its relevant fields and puts it into `js2-ti-tokens'." flags (continue t) (token (js2-new-token 0))) + (js2-record-text-property (1- js2-ts-cursor) js2-ts-cursor + 'syntax-table (string-to-syntax "\"/")) (setq js2-ts-string-buffer nil) (if (eq start-tt js2-ASSIGN_DIV) ;; mis-scanned /= @@ -6429,6 +6431,8 @@ its relevant fields and puts it into `js2-ti-tokens'." (setq in-class nil))) (js2-add-to-string c)))) (unless err + (js2-record-text-property (1- js2-ts-cursor) js2-ts-cursor + 'syntax-table (string-to-syntax "\"/")) (while continue (cond ((js2-match-char ?g) @@ -10430,8 +10434,7 @@ array-literals, array comprehensions and regular expressions." :len (- end px-pos) :value (js2-current-token-string) :flags flags) - (js2-set-face px-pos end 'font-lock-string-face 'record) - (js2-record-text-property px-pos end 'syntax-table '(2))))) + (js2-set-face px-pos end 'font-lock-string-face 'record)))) ((or (= tt js2-NULL) (= tt js2-THIS) (= tt js2-SUPER) @@ -10743,7 +10746,8 @@ If ONLY-OF-P is non-nil, only the 'for (foo of bar)' form is allowed." :name name :extends extends :elems elems)) - (apply #'js2-node-add-children pn (js2-class-node-elems pn)) + (apply #'js2-node-add-children + pn name extends (js2-class-node-elems pn)) pn)) (defun js2-parse-object-literal () diff --git a/elpa/js2-mode-20160707.723/js2-old-indent.el b/elpa/js2-mode-20160904.1234/js2-old-indent.el similarity index 100% rename from elpa/js2-mode-20160707.723/js2-old-indent.el rename to elpa/js2-mode-20160904.1234/js2-old-indent.el diff --git a/elpa/magit-20160815.1946/magit-pkg.el b/elpa/magit-20160815.1946/magit-pkg.el deleted file mode 100644 index 047e3c5..0000000 --- a/elpa/magit-20160815.1946/magit-pkg.el +++ /dev/null @@ -1,12 +0,0 @@ -(define-package "magit" "20160815.1946" "A Git porcelain inside Emacs" - '((emacs "24.4") - (async "20150909.2257") - (dash "20151021.113") - (with-editor "20160408.201") - (git-commit "20160425.430") - (magit-popup "20160512.328")) - :url "https://github.com/magit/magit" :keywords - '("git" "tools" "vc")) -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/magit-20160815.1946/magit.info b/elpa/magit-20160815.1946/magit.info deleted file mode 100644 index 757af3c..0000000 --- a/elpa/magit-20160815.1946/magit.info +++ /dev/null @@ -1,175 +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 - - 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: 313551 - -Tag Table: -(Indirect) -Node: Top1222 -Node: Introduction6390 -Node: Installation11083 -Node: Updating from an older release11458 -Node: Installing from an Elpa archive13053 -Node: Installing from the Git repository14392 -Node: Post-installation tasks17188 -Node: Getting started18577 -Node: Interface concepts24312 -Node: Modes and Buffers24586 -Node: Switching Buffers26331 -Node: Naming Buffers30989 -Node: Quitting Windows33824 -Node: Automatic Refreshing of Magit Buffers35456 -Node: Automatic Saving of File-Visiting Buffers38224 -Node: Automatic Reverting of File-Visiting Buffers39409 -Node: Risk of Reverting Automatically44405 -Node: Sections46788 -Node: Section movement47729 -Node: Section visibility51656 -Node: Section hooks55247 -Node: Section types and values57528 -Node: Section options58798 -Node: Popup buffers and prefix commands59270 -Node: Completion and confirmation60584 -Node: Running Git63490 -Node: Viewing Git output63726 -Node: Running Git manually64726 -Node: Git executable66852 -Node: Global Git arguments68859 -Node: Inspecting69666 -Node: Status buffer70813 -Node: Status sections73678 -Node: Status header sections79087 -Node: Status options81644 -Node: Repository list82368 -Node: Logging84505 -Node: Refreshing logs87243 -Node: Log Buffer88628 -Node: Select from log91924 -Node: Reflog92864 -Node: Diffing93342 -Node: Refreshing diffs96362 -Node: Diff buffer99343 -Node: Diff options101245 -Node: Revision buffer103001 -Node: Ediffing103956 -Node: References buffer107546 -Node: References sections112256 -Node: Bisecting113131 -Node: Visiting blobs114870 -Node: Blaming115379 -Node: Manipulating118809 -Node: Repository setup119125 -Node: Staging and unstaging120165 -Node: Staging from file-visiting buffers124254 -Node: Applying125422 -Node: Committing127315 -Node: Initiating a commit127898 -Node: Editing commit messages131210 -Node: Branching141606 -Node: The two remotes141806 -Node: The branch popup144350 -Node: The branch config popup150577 -Node: Merging156483 -Node: Resolving conflicts158651 -Ref: orgradiotarget1159736 -Node: Rebasing163608 -Node: Editing rebase sequences167249 -Node: Information about in-progress rebase170279 -Ref: Information about in-progress rebase-Footnote-1177115 -Node: Cherry picking177701 -Node: Reverting179307 -Node: Resetting180670 -Node: Stashing182182 -Node: Transferring185356 -Node: Remotes185594 -Node: Fetching186880 -Node: Pulling188246 -Node: Pushing189092 -Node: Creating and sending patches193836 -Node: Applying patches194531 -Node: Miscellaneous195529 -Node: Tagging195832 -Node: Notes196617 -Node: Submodules199142 -Node: Subtree200644 -Node: Common commands201892 -Node: Wip modes203637 -Node: Minor mode for buffers visiting files210373 -Node: Minor mode for buffers visiting blobs213847 -Node: Customizing214652 -Node: Per-repository configuration216324 -Node: Essential settings217958 -Node: Safety218282 -Node: Performance220115 -Node: Plumbing228077 -Node: Calling Git228705 -Node: Getting a value from Git230228 -Node: Calling Git for effect233332 -Node: Section plumbing239836 -Node: Creating sections240064 -Node: Section selection243963 -Node: Matching sections245643 -Node: Refreshing buffers250852 -Node: Conventions253987 -Node: Confirmation and completion254164 -Node: Theming Faces255062 -Node: FAQ263213 -Node: Magit is slow264826 -Node: I changed several thousand files at once and now Magit is unusable265027 -Node: I am having problems committing265743 -Node: Diffs are collapsed after un-/staging266189 -Node: I don't understand how branching and pushing work267667 -Node: I don't like the key binding in v24268042 -Node: I cannot install the pre-requisites for Magit v2268381 -Node: I am using an Emacs release older than v244268846 -Node: I am using a Git release older than v194270459 -Node: I am using MS Windows and cannot push with Magit271446 -Node: I am using OS X and SOMETHING works in shell but not in Magit272050 -Node: How to install the gitman info manual?272841 -Node: How can I show Git's output?275382 -Node: Diffs contain control sequences276169 -Node: Expanding a file to show the diff causes it to disappear277174 -Node: Point is wrong in the ‘COMMIT_EDITMSG’ buffer277709 -Node: The mode-line information isn't always up-to-date278739 -Node: Can Magit be used as ‘ediff-version-control-package’?279807 -Node: How to show diffs for gpg-encrypted files?281851 -Node: Emacs 245 hangs when loading Magit282448 -Node: Symbol's value as function is void ‘--some’283023 -Node: Where is the branch manager283357 -Node: Keystroke Index283648 -Node: Command Index313551 -Node: Function Index343560 -Node: Variable Index357381 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/elpa/magit-20160815.1946/AUTHORS.md b/elpa/magit-20160907.945/AUTHORS.md similarity index 100% rename from elpa/magit-20160815.1946/AUTHORS.md rename to elpa/magit-20160907.945/AUTHORS.md diff --git a/elpa/magit-20160815.1946/COPYING b/elpa/magit-20160907.945/COPYING similarity index 100% rename from elpa/magit-20160815.1946/COPYING rename to elpa/magit-20160907.945/COPYING diff --git a/elpa/magit-20160815.1946/dir b/elpa/magit-20160907.945/dir similarity index 100% rename from elpa/magit-20160815.1946/dir rename to elpa/magit-20160907.945/dir diff --git a/elpa/magit-20160815.1946/git-rebase.el b/elpa/magit-20160907.945/git-rebase.el similarity index 100% rename from elpa/magit-20160815.1946/git-rebase.el rename to elpa/magit-20160907.945/git-rebase.el diff --git a/elpa/magit-20160815.1946/magit-apply.el b/elpa/magit-20160907.945/magit-apply.el similarity index 100% rename from elpa/magit-20160815.1946/magit-apply.el rename to elpa/magit-20160907.945/magit-apply.el diff --git a/elpa/magit-20160815.1946/magit-autoloads.el b/elpa/magit-20160907.945/magit-autoloads.el similarity index 96% rename from elpa/magit-20160815.1946/magit-autoloads.el rename to elpa/magit-20160907.945/magit-autoloads.el index 8cf0582..cb058a9 100644 --- a/elpa/magit-20160815.1946/magit-autoloads.el +++ b/elpa/magit-20160907.945/magit-autoloads.el @@ -1,10 +1,10 @@ ;;; magit-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "git-rebase" "git-rebase.el" (22454 5307 579910 -;;;;;; 542000)) +;;;### (autoloads nil "git-rebase" "git-rebase.el" (22490 24929 563425 +;;;;;; 266000)) ;;; 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" (22454 5308 98922 746000)) +;;;### (autoloads nil "magit" "magit.el" (22490 24929 639425 44000)) ;;; Generated autoloads from magit.el (autoload 'magit-status "magit" "\ @@ -423,9 +423,8 @@ defaulting to the tag at point. (autoload 'magit-file-popup "magit" nil t) (defvar global-magit-file-mode nil "\ -Non-nil if Global Magit-File mode is enabled. -See the `global-magit-file-mode' command -for a description of this minor mode. +Non-nil if Global-Magit-File mode is enabled. +See the command `global-magit-file-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `global-magit-file-mode'.") @@ -434,7 +433,7 @@ or call the function `global-magit-file-mode'.") (autoload 'global-magit-file-mode "magit" "\ Toggle Magit-File mode in all buffers. -With prefix ARG, enable Global Magit-File mode if ARG is positive; +With prefix ARG, enable Global-Magit-File mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. @@ -490,8 +489,8 @@ Git, and Emacs in the echo area. ;;;*** -;;;### (autoloads nil "magit-apply" "magit-apply.el" (22454 5307 -;;;;;; 714913 717000)) +;;;### (autoloads nil "magit-apply" "magit-apply.el" (22490 24929 +;;;;;; 583425 208000)) ;;; Generated autoloads from magit-apply.el (autoload 'magit-stage-file "magit-apply" "\ @@ -527,16 +526,15 @@ Remove all changes from the staging area. ;;;*** -;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22454 -;;;;;; 5307 298903 935000)) +;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22490 +;;;;;; 24929 527425 371000)) ;;; Generated autoloads from magit-autorevert.el (defvar magit-revert-buffers t) (defvar magit-auto-revert-mode (and magit-revert-buffers (not global-auto-revert-mode) (not noninteractive)) "\ Non-nil if Magit-Auto-Revert mode is enabled. -See the `magit-auto-revert-mode' command -for a description of this minor mode. +See the command `magit-auto-revert-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `magit-auto-revert-mode'.") @@ -557,8 +555,8 @@ See `auto-revert-mode' for more information on Auto-Revert mode. ;;;*** -;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22454 5307 -;;;;;; 680912 917000)) +;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22490 24929 +;;;;;; 579425 220000)) ;;; Generated autoloads from magit-bisect.el (autoload 'magit-bisect-popup "magit-bisect" nil t) @@ -609,8 +607,8 @@ bisect run'. ;;;*** -;;;### (autoloads nil "magit-blame" "magit-blame.el" (22454 5308 -;;;;;; 29921 124000)) +;;;### (autoloads nil "magit-blame" "magit-blame.el" (22490 24929 +;;;;;; 623425 91000)) ;;; Generated autoloads from magit-blame.el (autoload 'magit-blame-popup "magit-blame" nil t) @@ -634,8 +632,8 @@ only arguments available from `magit-blame-popup' should be used. ;;;*** -;;;### (autoloads nil "magit-commit" "magit-commit.el" (22454 5307 -;;;;;; 331904 711000)) +;;;### (autoloads nil "magit-commit" "magit-commit.el" (22490 24929 +;;;;;; 531425 360000)) ;;; Generated autoloads from magit-commit.el (autoload 'magit-commit "magit-commit" "\ @@ -717,8 +715,8 @@ Create a squash commit targeting COMMIT and instantly rebase. ;;;*** -;;;### (autoloads nil "magit-diff" "magit-diff.el" (22454 5307 995920 -;;;;;; 324000)) +;;;### (autoloads nil "magit-diff" "magit-diff.el" (22490 24929 615425 +;;;;;; 114000)) ;;; Generated autoloads from magit-diff.el (autoload 'magit-diff-popup "magit-diff" "\ @@ -802,8 +800,8 @@ for a revision. ;;;*** -;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22454 5307 -;;;;;; 928918 749000)) +;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22490 24929 +;;;;;; 603425 149000)) ;;; Generated autoloads from magit-ediff.el (autoload 'magit-ediff-popup "magit-ediff" nil t) @@ -891,8 +889,8 @@ stash that were staged. ;;;*** -;;;### (autoloads nil "magit-extras" "magit-extras.el" (22454 5307 -;;;;;; 365905 510000)) +;;;### (autoloads nil "magit-extras" "magit-extras.el" (22490 24929 +;;;;;; 535425 348000)) ;;; Generated autoloads from magit-extras.el (autoload 'magit-run-git-gui "magit-extras" "\ @@ -962,8 +960,8 @@ on a position in a file-visiting buffer. ;;;*** -;;;### (autoloads nil "magit-log" "magit-log.el" (22454 5307 961919 -;;;;;; 525000)) +;;;### (autoloads nil "magit-log" "magit-log.el" (22490 24929 607425 +;;;;;; 138000)) ;;; Generated autoloads from magit-log.el (autoload 'magit-log-buffer-file-popup "magit-log" "\ @@ -1045,8 +1043,8 @@ Show commits in a branch that are not merged in the upstream branch. ;;;*** -;;;### (autoloads nil "magit-remote" "magit-remote.el" (22454 5308 -;;;;;; 200925 145000)) +;;;### (autoloads nil "magit-remote" "magit-remote.el" (22490 24929 +;;;;;; 655424 997000)) ;;; Generated autoloads from magit-remote.el (autoload 'magit-clone "magit-remote" "\ @@ -1278,8 +1276,8 @@ is asked to pull. START has to be reachable from that commit. ;;;*** -;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22454 -;;;;;; 5308 132923 546000)) +;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22490 +;;;;;; 24929 647425 21000)) ;;; Generated autoloads from magit-sequence.el (autoload 'magit-sequencer-continue "magit-sequence" "\ @@ -1429,8 +1427,8 @@ Abort the current rebase operation, restoring the original branch. ;;;*** -;;;### (autoloads nil "magit-stash" "magit-stash.el" (22454 5307 -;;;;;; 838916 633000)) +;;;### (autoloads nil "magit-stash" "magit-stash.el" (22490 24929 +;;;;;; 595425 172000)) ;;; Generated autoloads from magit-stash.el (autoload 'magit-stash-popup "magit-stash" nil t) @@ -1529,8 +1527,8 @@ Show all diffs of a stash in a buffer. ;;;*** -;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22454 -;;;;;; 5308 335928 319000)) +;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22490 +;;;;;; 24929 671424 951000)) ;;; Generated autoloads from magit-submodule.el (autoload 'magit-submodule-popup "magit-submodule" nil t) @@ -1620,8 +1618,8 @@ Display a list of the current repository's submodules. ;;;*** -;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22454 5307 -;;;;;; 612911 319000)) +;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22490 24929 +;;;;;; 571425 243000)) ;;; Generated autoloads from magit-subtree.el (autoload 'magit-subtree-popup "magit-subtree" nil t) @@ -1657,14 +1655,13 @@ Extract the history of the subtree PREFIX. ;;;*** -;;;### (autoloads nil "magit-wip" "magit-wip.el" (22454 5307 455907 -;;;;;; 627000)) +;;;### (autoloads nil "magit-wip" "magit-wip.el" (22490 24929 547425 +;;;;;; 313000)) ;;; Generated autoloads from magit-wip.el (defvar magit-wip-after-save-mode nil "\ Non-nil if Magit-Wip-After-Save mode is enabled. -See the `magit-wip-after-save-mode' command -for a description of this minor mode. +See the command `magit-wip-after-save-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `magit-wip-after-save-mode'.") @@ -1685,8 +1682,7 @@ See `magit-wip-after-save-local-mode' for more information on Magit-Wip-After-Sa (defvar magit-wip-after-apply-mode nil "\ Non-nil if Magit-Wip-After-Apply mode is enabled. -See the `magit-wip-after-apply-mode' command -for a description of this minor mode.") +See the command `magit-wip-after-apply-mode' for a description of this minor mode.") (custom-autoload 'magit-wip-after-apply-mode "magit-wip" nil) @@ -1704,8 +1700,7 @@ in the index. (defvar magit-wip-before-change-mode nil "\ Non-nil if Magit-Wip-Before-Change mode is enabled. -See the `magit-wip-before-change-mode' command -for a description of this minor mode.") +See the command `magit-wip-before-change-mode' for a description of this minor mode.") (custom-autoload 'magit-wip-before-change-mode "magit-wip" nil) @@ -1728,7 +1723,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") -;;;;;; (22454 5308 256926 461000)) +;;;;;; (22490 24929 686201 65000)) ;;;*** diff --git a/elpa/magit-20160815.1946/magit-autorevert.el b/elpa/magit-20160907.945/magit-autorevert.el similarity index 100% rename from elpa/magit-20160815.1946/magit-autorevert.el rename to elpa/magit-20160907.945/magit-autorevert.el diff --git a/elpa/magit-20160815.1946/magit-bisect.el b/elpa/magit-20160907.945/magit-bisect.el similarity index 100% rename from elpa/magit-20160815.1946/magit-bisect.el rename to elpa/magit-20160907.945/magit-bisect.el diff --git a/elpa/magit-20160815.1946/magit-blame.el b/elpa/magit-20160907.945/magit-blame.el similarity index 99% rename from elpa/magit-20160815.1946/magit-blame.el rename to elpa/magit-20160907.945/magit-blame.el index d0e5f39..e6ed1f2 100644 --- a/elpa/magit-20160815.1946/magit-blame.el +++ b/elpa/magit-20160907.945/magit-blame.el @@ -197,8 +197,8 @@ and then turned on again when turning off the latter." :man-page "git-blame" :switches '((?w "Ignore whitespace" "-w") (?r "Do not treat root commits as boundaries" "--root")) - :options '((?C "Detect lines moved or copied within a file" "-C") - (?M "Detect lines moved or copied between files" "-M")) + :options '((?C "Detect lines moved or copied between files" "-C") + (?M "Detect lines moved or copied within a file" "-M")) :actions '((?b "Blame" magit-blame)) :default-arguments '("-w") :default-action 'magit-blame) diff --git a/elpa/magit-20160815.1946/magit-commit.el b/elpa/magit-20160907.945/magit-commit.el similarity index 96% rename from elpa/magit-20160815.1946/magit-commit.el rename to elpa/magit-20160907.945/magit-commit.el index 255eb2d..dd07939 100644 --- a/elpa/magit-20160815.1946/magit-commit.el +++ b/elpa/magit-20160907.945/magit-commit.el @@ -331,15 +331,18 @@ depending on the value of option `magit-commit-squash-confirm'." (defun magit-read-gpg-secret-key (prompt &optional _initial-input) (require 'epa) - (let ((keys (--map (list (epg-sub-key-id (car (epg-key-sub-key-list it))) - (-when-let (id-obj (car (epg-key-user-id-list it))) - (let ((id-str (epg-user-id-string id-obj))) - (if (stringp id-str) - id-str - (epg-decode-dn id-obj))))) + (let ((keys (--map (concat (epg-sub-key-id (car (epg-key-sub-key-list it))) + " " + (-when-let (id-obj (car (epg-key-user-id-list it))) + (let ((id-str (epg-user-id-string id-obj))) + (if (stringp id-str) + id-str + (epg-decode-dn id-obj))))) (epg-list-keys (epg-make-context epa-protocol) nil t)))) - (magit-completing-read prompt keys nil nil nil 'magit-gpg-secret-key-hist - (car (or magit-gpg-secret-key-hist keys))))) + (car (split-string (magit-completing-read + prompt keys nil nil nil 'magit-gpg-secret-key-hist + (car (or magit-gpg-secret-key-hist keys))) + " ")))) (defvar magit-commit-add-log-insert-function 'magit-commit-add-log-insert "Used by `magit-commit-add-log' to insert a single entry.") diff --git a/elpa/magit-20160815.1946/magit-core.el b/elpa/magit-20160907.945/magit-core.el similarity index 100% rename from elpa/magit-20160815.1946/magit-core.el rename to elpa/magit-20160907.945/magit-core.el diff --git a/elpa/magit-20160815.1946/magit-diff.el b/elpa/magit-20160907.945/magit-diff.el similarity index 100% rename from elpa/magit-20160815.1946/magit-diff.el rename to elpa/magit-20160907.945/magit-diff.el diff --git a/elpa/magit-20160815.1946/magit-ediff.el b/elpa/magit-20160907.945/magit-ediff.el similarity index 100% rename from elpa/magit-20160815.1946/magit-ediff.el rename to elpa/magit-20160907.945/magit-ediff.el diff --git a/elpa/magit-20160815.1946/magit-extras.el b/elpa/magit-20160907.945/magit-extras.el similarity index 100% rename from elpa/magit-20160815.1946/magit-extras.el rename to elpa/magit-20160907.945/magit-extras.el diff --git a/elpa/magit-20160815.1946/magit-git.el b/elpa/magit-20160907.945/magit-git.el similarity index 100% rename from elpa/magit-20160815.1946/magit-git.el rename to elpa/magit-20160907.945/magit-git.el diff --git a/elpa/magit-20160815.1946/magit-log.el b/elpa/magit-20160907.945/magit-log.el similarity index 100% rename from elpa/magit-20160815.1946/magit-log.el rename to elpa/magit-20160907.945/magit-log.el diff --git a/elpa/magit-20160815.1946/magit-mode.el b/elpa/magit-20160907.945/magit-mode.el similarity index 99% rename from elpa/magit-20160815.1946/magit-mode.el rename to elpa/magit-20160907.945/magit-mode.el index 6a0b1ac..03ef94c 100644 --- a/elpa/magit-20160815.1946/magit-mode.el +++ b/elpa/magit-20160907.945/magit-mode.el @@ -288,6 +288,8 @@ starts complicating other things, then it will be removed." (define-key map "\t" 'magit-section-toggle) (define-key map [C-tab] 'magit-section-cycle) (define-key map [M-tab] 'magit-section-cycle-diffs) + (define-key map [S-tab] 'magit-section-cycle-global) + ;; Next two are for backward compatibility. (define-key map [s-tab] 'magit-section-cycle-global) (define-key map [backtab] 'magit-section-cycle-global) (define-key map "^" 'magit-section-up) diff --git a/elpa/magit-20160907.945/magit-pkg.el b/elpa/magit-20160907.945/magit-pkg.el new file mode 100644 index 0000000..eccc33f --- /dev/null +++ b/elpa/magit-20160907.945/magit-pkg.el @@ -0,0 +1,12 @@ +(define-package "magit" "20160907.945" "A Git porcelain inside Emacs" + '((emacs "24.4") + (async "20160711.223") + (dash "20160820.501") + (with-editor "20160812.1457") + (git-commit "20160519.950") + (magit-popup "20160813.642")) + :url "https://github.com/magit/magit" :keywords + '("git" "tools" "vc")) +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/magit-20160815.1946/magit-process.el b/elpa/magit-20160907.945/magit-process.el similarity index 100% rename from elpa/magit-20160815.1946/magit-process.el rename to elpa/magit-20160907.945/magit-process.el diff --git a/elpa/magit-20160815.1946/magit-remote.el b/elpa/magit-20160907.945/magit-remote.el similarity index 99% rename from elpa/magit-20160815.1946/magit-remote.el rename to elpa/magit-20160907.945/magit-remote.el index b509644..a9ead7b 100644 --- a/elpa/magit-20160815.1946/magit-remote.el +++ b/elpa/magit-20160907.945/magit-remote.el @@ -426,9 +426,10 @@ removed after restarting Emacs." "Popup console for push commands." 'magit-commands :man-page "git-push" - :switches `((?f "Force" "--force-with-lease") - (?h "Disable hooks" "--no-verify") - (?d "Dry run" "--dry-run") + :switches `((?f "Force with lease" "--force-with-lease") + (?F "Force" "--force") + (?h "Disable hooks" "--no-verify") + (?d "Dry run" "--dry-run") ,@(and (not magit-push-current-set-remote-if-missing) '((?u "Set upstream" "--set-upstream")))) :actions '("Configure" diff --git a/elpa/magit-20160815.1946/magit-section.el b/elpa/magit-20160907.945/magit-section.el similarity index 100% rename from elpa/magit-20160815.1946/magit-section.el rename to elpa/magit-20160907.945/magit-section.el diff --git a/elpa/magit-20160815.1946/magit-sequence.el b/elpa/magit-20160907.945/magit-sequence.el similarity index 100% rename from elpa/magit-20160815.1946/magit-sequence.el rename to elpa/magit-20160907.945/magit-sequence.el diff --git a/elpa/magit-20160815.1946/magit-stash.el b/elpa/magit-20160907.945/magit-stash.el similarity index 99% rename from elpa/magit-20160815.1946/magit-stash.el rename to elpa/magit-20160907.945/magit-stash.el index bf5a8f1..5bbd216 100644 --- a/elpa/magit-20160815.1946/magit-stash.el +++ b/elpa/magit-20160907.945/magit-stash.el @@ -175,6 +175,7 @@ When the region is active offer to drop all contained stashes." (list stash))) (message "Deleted refs/%s (was %s)" stash (magit-rev-parse "--short" stash)) + (magit-call-git "rev-parse" stash) (magit-call-git "reflog" "delete" "--updateref" "--rewrite" stash)) (-when-let (ref (and (string-match "\\(.+\\)@{[0-9]+}$" stash) (match-string 1 stash))) diff --git a/elpa/magit-20160815.1946/magit-submodule.el b/elpa/magit-20160907.945/magit-submodule.el similarity index 100% rename from elpa/magit-20160815.1946/magit-submodule.el rename to elpa/magit-20160907.945/magit-submodule.el diff --git a/elpa/magit-20160815.1946/magit-subtree.el b/elpa/magit-20160907.945/magit-subtree.el similarity index 100% rename from elpa/magit-20160815.1946/magit-subtree.el rename to elpa/magit-20160907.945/magit-subtree.el diff --git a/elpa/magit-20160815.1946/magit-utils.el b/elpa/magit-20160907.945/magit-utils.el similarity index 100% rename from elpa/magit-20160815.1946/magit-utils.el rename to elpa/magit-20160907.945/magit-utils.el diff --git a/elpa/magit-20160815.1946/magit-wip.el b/elpa/magit-20160907.945/magit-wip.el similarity index 100% rename from elpa/magit-20160815.1946/magit-wip.el rename to elpa/magit-20160907.945/magit-wip.el diff --git a/elpa/magit-20160815.1946/magit.el b/elpa/magit-20160907.945/magit.el similarity index 99% rename from elpa/magit-20160815.1946/magit.el rename to elpa/magit-20160907.945/magit.el index 2799825..59c7dd4 100644 --- a/elpa/magit-20160815.1946/magit.el +++ b/elpa/magit-20160907.945/magit.el @@ -16,7 +16,7 @@ ;; Rémi Vanicat ;; Yann Hodique -;; Package-Requires: ((emacs "24.4") (async "20150909.2257") (dash "20151021.113") (with-editor "20160408.201") (git-commit "20160425.430") (magit-popup "20160512.328")) +;; Package-Requires: ((emacs "24.4") (async "20160711.223") (dash "20160820.501") (with-editor "20160812.1457") (git-commit "20160519.950") (magit-popup "20160813.642")) ;; Keywords: git tools vc ;; Homepage: https://github.com/magit/magit @@ -590,11 +590,12 @@ detached `HEAD'." "Insert a header line about branch usually pulled into current branch." (when pull (magit-insert-section (branch pull) - (insert (format "%-10s" - (or keyword - (if (magit-get-boolean "branch" branch "rebase") - "Rebase: " - "Merge: ")))) + (let ((rebase (magit-git-string "config" + (format "branch.%s.rebase" branch)))) + (if (equal rebase "false") + (setq rebase nil) + (setq rebase (magit-get-boolean "pull.rebase"))) + (insert (format "%-10s" (or keyword (if rebase "Rebase: " "Merge: "))))) (--when-let (and magit-status-show-hashes-in-headers (magit-rev-format "%h" pull)) (insert (propertize it 'face 'magit-hash) ?\s)) @@ -868,13 +869,13 @@ Insert a header line with the name and description of the current branch. The description is taken from the Git variable `branch..description'; if that is undefined then no header line is inserted at all." - (-when-let* ((branch (magit-get-current-branch)) - (desc (magit-get "branch" branch "description")) - (desc-lines (split-string desc "\n"))) - (magit-insert-section (branchdesc branch t) - (magit-insert-heading branch ": " (car desc-lines)) - (insert (mapconcat 'identity (cdr desc-lines) "\n")) - (insert "\n\n")))) + (let ((branch (magit-get-current-branch))) + (--when-let (magit-git-lines + "config" (format "branch.%s.description" branch)) + (magit-insert-section (branchdesc branch t) + (magit-insert-heading branch ": " (car it)) + (insert (mapconcat 'identity (cdr it) "\n")) + (insert "\n\n"))))) (defconst magit-refs-branch-line-re (concat "^" @@ -2809,7 +2810,7 @@ Usually this is just its basename." ;; If there are no tags, use the date in MELPA format. (magit-git-string "show" "--no-patch" "--format=%cd-g%h" "--date=format:%Y%m%d.%H%M")))) - (if (string-match-p "\\`[0-9]" v) + (if (and v (string-match-p "\\`[0-9]" v)) (concat " " v) v))) diff --git a/elpa/magit-20160907.945/magit.info b/elpa/magit-20160907.945/magit.info new file mode 100644 index 0000000..6abb2ef --- /dev/null +++ b/elpa/magit-20160907.945/magit.info @@ -0,0 +1,177 @@ +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 + + 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: 315701 + +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 sections79401 +Node: Status options81958 +Node: Repository list82682 +Node: Logging84840 +Node: Refreshing logs87578 +Node: Log Buffer88963 +Node: Select from log92259 +Node: Reflog93199 +Node: Diffing93677 +Node: Refreshing diffs96697 +Node: Diff buffer99678 +Node: Diff options101580 +Node: Revision buffer103336 +Node: Ediffing104291 +Node: References buffer107881 +Node: References sections112591 +Node: Bisecting113466 +Node: Visiting blobs115205 +Node: Blaming115714 +Node: Manipulating119144 +Node: Repository setup119460 +Node: Staging and unstaging120500 +Node: Staging from file-visiting buffers124589 +Node: Applying125757 +Node: Committing127650 +Node: Initiating a commit128233 +Node: Editing commit messages131545 +Node: Branching141941 +Node: The two remotes142141 +Node: The branch popup144685 +Node: The branch config popup150912 +Node: Merging156818 +Node: Resolving conflicts158986 +Ref: orgradiotarget1160071 +Node: Rebasing163943 +Node: Editing rebase sequences167584 +Node: Information about in-progress rebase170614 +Ref: Information about in-progress rebase-Footnote-1177450 +Node: Cherry picking178036 +Node: Reverting179642 +Node: Resetting181005 +Node: Stashing182517 +Node: Transferring185691 +Node: Remotes185929 +Node: Fetching187215 +Node: Pulling188581 +Node: Pushing189427 +Node: Creating and sending patches194171 +Node: Applying patches194866 +Node: Miscellaneous195864 +Node: Tagging196167 +Node: Notes196952 +Node: Submodules199477 +Node: Listing submodules199692 +Node: Submodule popup201511 +Node: Subtree202794 +Node: Common commands204042 +Node: Wip modes205787 +Node: Minor mode for buffers visiting files212523 +Node: Minor mode for buffers visiting blobs215997 +Node: Customizing216802 +Node: Per-repository configuration218474 +Node: Essential settings220108 +Node: Safety220432 +Node: Performance222265 +Node: Plumbing230227 +Node: Calling Git230855 +Node: Getting a value from Git232378 +Node: Calling Git for effect235482 +Node: Section plumbing241986 +Node: Creating sections242214 +Node: Section selection246113 +Node: Matching sections247793 +Node: Refreshing buffers253002 +Node: Conventions256137 +Node: Confirmation and completion256314 +Node: Theming Faces257212 +Node: FAQ265363 +Node: Magit is slow266976 +Node: I changed several thousand files at once and now Magit is unusable267177 +Node: I am having problems committing267893 +Node: Diffs are collapsed after un-/staging268339 +Node: I don't understand how branching and pushing work269817 +Node: I don't like the key binding in v24270192 +Node: I cannot install the pre-requisites for Magit v2270531 +Node: I am using an Emacs release older than v244270996 +Node: I am using a Git release older than v194272609 +Node: I am using MS Windows and cannot push with Magit273596 +Node: I am using OS X and SOMETHING works in shell but not in Magit274200 +Node: How to install the gitman info manual?274991 +Node: How can I show Git's output?277532 +Node: Diffs contain control sequences278319 +Node: Expanding a file to show the diff causes it to disappear279324 +Node: Point is wrong in the ‘COMMIT_EDITMSG’ buffer279859 +Node: The mode-line information isn't always up-to-date280889 +Node: Can Magit be used as ‘ediff-version-control-package’?281957 +Node: How to show diffs for gpg-encrypted files?284001 +Node: Emacs 245 hangs when loading Magit284598 +Node: Symbol's value as function is void ‘--some’285173 +Node: Where is the branch manager285507 +Node: Keystroke Index285798 +Node: Command Index315701 +Node: Function Index345710 +Node: Variable Index359604 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/elpa/magit-20160815.1946/magit.info-1 b/elpa/magit-20160907.945/magit.info-1 similarity index 98% rename from elpa/magit-20160815.1946/magit.info-1 rename to elpa/magit-20160907.945/magit.info-1 index b39fda4..d805901 100644 --- a/elpa/magit-20160815.1946/magit.info-1 +++ b/elpa/magit-20160907.945/magit.info-1 @@ -228,6 +228,11 @@ Miscellaneous +Submodules + +* Listing submodules:: +* Submodule popup:: + Customizing * Per-repository configuration:: @@ -371,8 +376,8 @@ Git porcelain commands: ‘add’, ‘am’, ‘bisect’, ‘blame’, ‘branc ‘config’, ‘describe’, ‘diff’, ‘fetch’, ‘format-patch’, ‘init’, ‘log’, ‘merge’, ‘merge-tree’, ‘mv’, ‘notes’, ‘pull’, ‘rebase’, ‘reflog’, ‘remote’, ‘request-pull’, ‘reset’, ‘revert’, ‘rm’, ‘show’, ‘stash’, -‘submodule’, and ‘tag’. Many more Magit porcelain commands are -implemented on top of Git plumbing commands. +‘submodule’, ‘subtree’, ‘tag’, and ‘worktree.’ Many more Magit porcelain +commands are implemented on top of Git plumbing commands.  File: magit.info, Node: Installation, Next: Getting started, Prev: Introduction, Up: Top @@ -519,6 +524,8 @@ should. Instead of requiring the feature ‘magit’, you could load just the autoload definitions, by loading the file ‘magit-autoloads.el’. + (load "/path/to/magit/lisp/magit-autoloads") + Instead of running Magit directly from the repository by adding that to the ‘load-path’, you might want to instead install it in some other directory using ‘sudo make install’ and setting ‘load-path’ accordingly. @@ -649,9 +656,9 @@ Write a message and then type ‘C-c C-c’ to actually create the commit. You probably don’t want to push the commit you just created because you just committed some random changes, but if that is not the case you -could push it by typing ‘P’ to bring up the push popup and then ‘P’ -again to push to the configured upstream. (If the upstream is not -configured, then you would be prompted for the push target instead.) +could push it by typing ‘P’ to bring up the push popup and then ‘u’ to +push to the configured upstream. (If the upstream is not configured, +then you would be prompted for the push target instead.) Instead we are going to undo the changes made so far. Bring up the log for the current branch by typing ‘l l’, move to the last commit @@ -772,9 +779,7 @@ File: magit.info, Node: Switching Buffers, Next: Naming Buffers, Up: Modes an Magit provides several functions, listed below, that are suitable values for this option. If you want to use different rules, then a good way of doing that is to start with a copy of one of these - functions and then adjust it to your needs. More functions to - choose from will likely be added in the future, and eventually the - default will change. + functions and then adjust it to your needs. Instead of using a wrapper around ‘display-buffer’, that function itself can be used here, in which case the display actions have to @@ -1364,7 +1369,7 @@ but all you need to get started are the next two. Cycle the visibility of diff-related sections in the current buffer. -‘s-’ (‘magit-section-cycle-global’) +‘S-’ (‘magit-section-cycle-global’) Cycle the visibility of all sections in the current buffer. @@ -2040,8 +2045,13 @@ default the following functions are also members of that hook: -- Function: magit-insert-submodules - Insert sections for all modules. For each section insert the path - and the output of ‘git describe --tags’. + Insert sections for all submodules. For each section insert the + path, the branch, and the output of ‘git describe --tags’. + + Press ‘RET’ on such a submodule section to show its own status + buffer. Press ‘RET’ on the "Modules" section to display a list of + submodules in a separate buffer. This shows additional information + not displayed in the super-repository’s status buffer. -- Function: magit-insert-unpulled-cherries @@ -2168,7 +2178,7 @@ File: magit.info, Node: Repository list, Next: Logging, Prev: Status buffer, -- Command: magit-list-repositories - This command displays a list of repositories. + This command displays a list of repositories in a separate buffer. The options ‘magit-repository-directories’ and ‘magit-repository-directories-depth’ control which repositories are @@ -5385,13 +5395,61 @@ File: magit.info, Node: Submodules, Next: Subtree, Prev: Notes, Up: Miscella Also see *note (gitman)git-submodule:: . +* Menu: + +* Listing submodules:: +* Submodule popup:: + + +File: magit.info, Node: Listing submodules, Next: Submodule popup, Up: Submodules + +8.3.1 Listing submodules +------------------------ + +The command ‘magit-list-submodule’ displays a list of the current +repository’s submodules in a separate buffer. It’s also possible to +display information about submodules directly in the status buffer of +the super-repository by adding ‘magit-insert-submodules’ to the hook +‘magit-status-sections-hook’. + -- Command: magit-list-submodules - This command displays of the current repository’s submodules. + This command displays a list of the current repository’s submodules + in a separate buffer. It can be invoked by pressing ‘RET’ on the section titled "Modules". + -- User Option: magit-submodule-list-columns + + This option controls what columns are displayed by the command + ‘magit-list-submodules’ and how they are displayed. + + Each element has the form ‘(HEADER WIDTH FORMAT PROPS)’. + + HEADER is the string displayed in the header. WIDTH is the width + of the column. FORMAT is a function that is called with one + argument, the repository identification (usually its basename), and + with ‘default-directory’ bound to the toplevel of its working tree. + It has to return a string to be inserted or nil. PROPS is an alist + that supports the keys ‘:right-align’ and ‘:pad-right’. + + -- Function: magit-insert-submodules + + Insert sections for all submodules. For each section insert the + path, the branch, and the output of ‘git describe --tags’. + + Press ‘RET’ on such a submodule section to show its own status + buffer. Press ‘RET’ on the "Modules" section to display a list of + submodules in a separate buffer. This shows additional information + not displayed in the super-repository’s status buffer. + + +File: magit.info, Node: Submodule popup, Prev: Listing submodules, Up: Submodules + +8.3.2 Submodule popup +--------------------- + ‘o’ (‘magit-submodule-popup’) This prefix command shows the following suffix commands along with @@ -7604,21 +7662,21 @@ Appendix B Keystroke Index (line 39) * n <3>: Minor mode for buffers visiting blobs. (line 16) -* o: Submodules. (line 15) +* o: Submodule popup. (line 6) * O: Subtree. (line 8) -* o a: Submodules. (line 20) +* o a: Submodule popup. (line 11) * O a: Subtree. (line 20) -* o b: Submodules. (line 26) +* o b: Submodule popup. (line 17) * O c: Subtree. (line 24) -* o f: Submodules. (line 44) +* o f: Submodule popup. (line 35) * O f: Subtree. (line 32) -* o i: Submodules. (line 31) -* o i <1>: Submodules. (line 48) +* o i: Submodule popup. (line 22) +* o i <1>: Submodule popup. (line 39) * O m: Subtree. (line 28) * O p: Subtree. (line 36) -* o s: Submodules. (line 40) +* o s: Submodule popup. (line 31) * O s: Subtree. (line 41) -* o u: Submodules. (line 35) +* o u: Submodule popup. (line 26) * p: Section movement. (line 10) * p <1>: Blaming. (line 62) * P: Blaming. (line 66) @@ -7666,7 +7724,7 @@ Appendix B Keystroke Index (line 37) * s <1>: Editing rebase sequences. (line 59) -* s-: Section visibility. (line 22) +* S-: Section visibility. (line 22) * SPC: Log Buffer. (line 33) * SPC <1>: Diff buffer. (line 44) * SPC <2>: Blaming. (line 34) diff --git a/elpa/magit-20160815.1946/magit.info-2 b/elpa/magit-20160907.945/magit.info-2 similarity index 98% rename from elpa/magit-20160815.1946/magit.info-2 rename to elpa/magit-20160907.945/magit.info-2 index 778e44d..3279e60 100644 Binary files a/elpa/magit-20160815.1946/magit.info-2 and b/elpa/magit-20160907.945/magit.info-2 differ diff --git a/elpa/magit-popup-20160813.642/magit-popup-pkg.el b/elpa/magit-popup-20160813.642/magit-popup-pkg.el deleted file mode 100644 index 5d556ea..0000000 --- a/elpa/magit-popup-20160813.642/magit-popup-pkg.el +++ /dev/null @@ -1,9 +0,0 @@ -(define-package "magit-popup" "20160813.642" "Define prefix-infix-suffix command combos" - '((emacs "24.4") - (async "20150909.2257") - (dash "20151021.113")) - :url "https://github.com/magit/magit" :keywords - '("bindings")) -;; Local Variables: -;; no-byte-compile: t -;; End: diff --git a/elpa/magit-popup-20160813.642/dir b/elpa/magit-popup-20160821.1338/dir similarity index 100% rename from elpa/magit-popup-20160813.642/dir rename to elpa/magit-popup-20160821.1338/dir diff --git a/elpa/magit-popup-20160813.642/magit-popup-autoloads.el b/elpa/magit-popup-20160821.1338/magit-popup-autoloads.el similarity index 69% rename from elpa/magit-popup-20160813.642/magit-popup-autoloads.el rename to elpa/magit-popup-20160821.1338/magit-popup-autoloads.el index 28edc37..d926244 100644 --- a/elpa/magit-popup-20160813.642/magit-popup-autoloads.el +++ b/elpa/magit-popup-20160821.1338/magit-popup-autoloads.el @@ -1,10 +1,10 @@ ;;; magit-popup-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) ;;;### (autoloads nil nil ("magit-popup-pkg.el" "magit-popup.el") -;;;;;; (22454 5305 392859 118000)) +;;;;;; (22490 24927 780536 396000)) ;;;*** diff --git a/elpa/magit-popup-20160821.1338/magit-popup-pkg.el b/elpa/magit-popup-20160821.1338/magit-popup-pkg.el new file mode 100644 index 0000000..3e2f641 --- /dev/null +++ b/elpa/magit-popup-20160821.1338/magit-popup-pkg.el @@ -0,0 +1,9 @@ +(define-package "magit-popup" "20160821.1338" "Define prefix-infix-suffix command combos" + '((emacs "24.4") + (async "20160711.223") + (dash "20160820.501")) + :url "https://github.com/magit/magit" :keywords + '("bindings")) +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/magit-popup-20160813.642/magit-popup.el b/elpa/magit-popup-20160821.1338/magit-popup.el similarity index 99% rename from elpa/magit-popup-20160813.642/magit-popup.el rename to elpa/magit-popup-20160821.1338/magit-popup.el index a237e3c..01d5042 100644 --- a/elpa/magit-popup-20160813.642/magit-popup.el +++ b/elpa/magit-popup-20160821.1338/magit-popup.el @@ -12,7 +12,7 @@ ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli -;; Package-Requires: ((emacs "24.4") (async "20150909.2257") (dash "20151021.113")) +;; Package-Requires: ((emacs "24.4") (async "20160711.223") (dash "20160820.501")) ;; Keywords: bindings ;; Homepage: https://github.com/magit/magit diff --git a/elpa/magit-popup-20160813.642/magit-popup.info b/elpa/magit-popup-20160821.1338/magit-popup.info similarity index 100% rename from elpa/magit-popup-20160813.642/magit-popup.info rename to elpa/magit-popup-20160821.1338/magit-popup.info diff --git a/elpa/markdown-mode-20160803.1848/markdown-mode-pkg.el b/elpa/markdown-mode-20160803.1848/markdown-mode-pkg.el deleted file mode 100644 index b1767c3..0000000 --- a/elpa/markdown-mode-20160803.1848/markdown-mode-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "markdown-mode" "20160803.1848" "Major mode for Markdown-formatted text" '((emacs "24") (cl-lib "0.5")) :url "http://jblevins.org/projects/markdown-mode/" :keywords '("markdown" "github flavored markdown" "itex")) diff --git a/elpa/markdown-mode-20160803.1848/markdown-mode-autoloads.el b/elpa/markdown-mode-20160830.820/markdown-mode-autoloads.el similarity index 77% rename from elpa/markdown-mode-20160803.1848/markdown-mode-autoloads.el rename to elpa/markdown-mode-20160830.820/markdown-mode-autoloads.el index 0af4993..22eedde 100644 --- a/elpa/markdown-mode-20160803.1848/markdown-mode-autoloads.el +++ b/elpa/markdown-mode-20160830.820/markdown-mode-autoloads.el @@ -1,10 +1,10 @@ ;;; markdown-mode-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "markdown-mode" "markdown-mode.el" (22454 5303 -;;;;;; 617817 380000)) +;;;### (autoloads nil "markdown-mode" "markdown-mode.el" (22490 24926 +;;;;;; 595433 990000)) ;;; Generated autoloads from markdown-mode.el (autoload 'markdown-mode "markdown-mode" "\ diff --git a/elpa/markdown-mode-20160830.820/markdown-mode-pkg.el b/elpa/markdown-mode-20160830.820/markdown-mode-pkg.el new file mode 100644 index 0000000..f1602f6 --- /dev/null +++ b/elpa/markdown-mode-20160830.820/markdown-mode-pkg.el @@ -0,0 +1 @@ +(define-package "markdown-mode" "20160830.820" "Major mode for Markdown-formatted text" '((emacs "24") (cl-lib "0.5")) :url "http://jblevins.org/projects/markdown-mode/" :keywords '("markdown" "github flavored markdown" "itex")) diff --git a/elpa/markdown-mode-20160803.1848/markdown-mode.el b/elpa/markdown-mode-20160830.820/markdown-mode.el similarity index 99% rename from elpa/markdown-mode-20160803.1848/markdown-mode.el rename to elpa/markdown-mode-20160830.820/markdown-mode.el index e3e3400..ca81065 100644 --- a/elpa/markdown-mode-20160803.1848/markdown-mode.el +++ b/elpa/markdown-mode-20160830.820/markdown-mode.el @@ -33,7 +33,7 @@ ;; Maintainer: Jason R. Blevins ;; Created: May 24, 2007 ;; Version: 2.1 -;; Package-Version: 20160803.1848 +;; Package-Version: 20160830.820 ;; Package-Requires: ((emacs "24") (cl-lib "0.5")) ;; Keywords: Markdown, GitHub Flavored Markdown, itex ;; URL: http://jblevins.org/projects/markdown-mode/ @@ -6422,9 +6422,9 @@ This is an exact copy of `line-number-at-pos' for use in emacs21." (forward-line 0) (1+ (count-lines start (point)))))) -(defun markdown-inside-link-text-p () - "Return nil if not currently within link anchor text." - (looking-back "\\[[^]]*" nil)) +(defun markdown-inside-link-p () + "Return t if point is within a link." + (thing-at-point-looking-at (markdown-make-regex-link-generic))) (defun markdown-line-is-reference-definition-p () "Return whether the current line is a (non-footnote) reference defition." @@ -6746,6 +6746,7 @@ or \\[markdown-toggle-inline-images]." ; options really only handle paragraph-starting prefixes, ; not paragraph-ending suffixes: ".* $" ; line ending in two spaces + "^#+" "[ \t]*\\[\\^\\S-*\\]:[ \t]*$") ; just the start of a footnote def "\\|")) (set (make-local-variable 'adaptive-fill-first-line-regexp) @@ -6767,7 +6768,7 @@ or \\[markdown-toggle-inline-images]." ;; Separating out each condition into a separate function so that users can ;; override if desired (with remove-hook) (add-hook 'fill-nobreak-predicate - 'markdown-inside-link-text-p nil t) + 'markdown-inside-link-p nil t) (add-hook 'fill-nobreak-predicate 'markdown-line-is-reference-definition-p nil t) diff --git a/elpa/projectile-20160728.52/projectile-pkg.el b/elpa/projectile-20160728.52/projectile-pkg.el deleted file mode 100644 index c22c65e..0000000 --- a/elpa/projectile-20160728.52/projectile-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "projectile" "20160728.52" "Manage and navigate projects in Emacs easily" '((dash "2.11.0") (pkg-info "0.4")) :url "https://github.com/bbatsov/projectile" :keywords '("project" "convenience")) diff --git a/elpa/projectile-20160728.52/projectile-autoloads.el b/elpa/projectile-20160830.138/projectile-autoloads.el similarity index 98% rename from elpa/projectile-20160728.52/projectile-autoloads.el rename to elpa/projectile-20160830.138/projectile-autoloads.el index 1341476..5fb5932 100644 --- a/elpa/projectile-20160728.52/projectile-autoloads.el +++ b/elpa/projectile-20160830.138/projectile-autoloads.el @@ -1,10 +1,10 @@ ;;; projectile-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "projectile" "projectile.el" (22454 5300 957754 -;;;;;; 833000)) +;;;### (autoloads nil "projectile" "projectile.el" (22490 24925 611436 +;;;;;; 906000)) ;;; Generated autoloads from projectile.el (autoload 'projectile-version "projectile" "\ @@ -425,8 +425,7 @@ Otherwise behave as if called interactively. (defvar projectile-global-mode nil "\ Non-nil if Projectile-Global mode is enabled. -See the `projectile-global-mode' command -for a description of this minor mode. +See the command `projectile-global-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `projectile-global-mode'.") diff --git a/elpa/projectile-20160830.138/projectile-pkg.el b/elpa/projectile-20160830.138/projectile-pkg.el new file mode 100644 index 0000000..51a26d1 --- /dev/null +++ b/elpa/projectile-20160830.138/projectile-pkg.el @@ -0,0 +1 @@ +(define-package "projectile" "20160830.138" "Manage and navigate projects in Emacs easily" '((pkg-info "0.4")) :url "https://github.com/bbatsov/projectile" :keywords '("project" "convenience")) diff --git a/elpa/projectile-20160728.52/projectile.el b/elpa/projectile-20160830.138/projectile.el similarity index 86% rename from elpa/projectile-20160728.52/projectile.el rename to elpa/projectile-20160830.138/projectile.el index 6277a2d..dd38fda 100644 --- a/elpa/projectile-20160728.52/projectile.el +++ b/elpa/projectile-20160830.138/projectile.el @@ -4,10 +4,10 @@ ;; Author: Bozhidar Batsov ;; URL: https://github.com/bbatsov/projectile -;; Package-Version: 20160728.52 +;; Package-Version: 20160830.138 ;; Keywords: project, convenience ;; Version: 0.14.0 -;; Package-Requires: ((dash "2.11.0") (pkg-info "0.4")) +;; Package-Requires: ((pkg-info "0.4")) ;; This file is NOT part of GNU Emacs. @@ -37,8 +37,8 @@ ;; ;;; Code: +(require 'cl-lib) (require 'thingatpt) -(require 'dash) (require 'ibuffer) (require 'ibuf-ext) (require 'compile) @@ -80,7 +80,7 @@ buffer-local wherever it is set." ;; Added in Emacs 24.4 (unless (fboundp 'string-suffix-p) - (defun string-suffix-p (suffix string &optional ignore-case) + (defun string-suffix-p (suffix string &optional ignore-case) "Return non-nil if SUFFIX is a suffix of STRING. If IGNORE-CASE is non-nil, the comparison is done without paying attention to case differences." @@ -115,15 +115,17 @@ attention to case differences." (goto-char (match-end 0)))) (progress-reporter-update progress-reporter (point))) table)))) - table)))) - - ) + table))))) (defun projectile-trim-string (string) "Remove whitespace at the beginning and end of STRING." - (->> string - (replace-regexp-in-string "\\`[ \t\n\r]+" "") - (replace-regexp-in-string "[ \t\n\r]+\\'" ""))) + (replace-regexp-in-string + "[ \n\r]+\\'" + "" + (replace-regexp-in-string + "\\`[ \n\r]+" + "" + string))) ;;; Customization @@ -289,6 +291,7 @@ If variable `projectile-project-name' is non-nil, this function will not be used "build.sbt" ; SBT project file "gradlew" ; Gradle wrapper script "build.gradle" ; Gradle project file + ".ensime" ; Ensime configuration file "Gemfile" ; Bundler file "requirements.txt" ; Pip file "setup.py" ; Setuptools file @@ -364,6 +367,7 @@ containing a root file." (defcustom projectile-globally-ignored-directories '(".idea" + ".ensime_cache" ".eunit" ".git" ".hg" @@ -694,7 +698,7 @@ The cache is created both in memory and on the hard drive." (let* ((project-root (projectile-project-root)) (project-cache (gethash project-root projectile-projects-cache))) (puthash project-root - (--filter (string-prefix-p dir it) project-cache) + (cl-remove-if-not (lambda (str) (string-prefix-p dir str)) project-cache) projectile-projects-cache))) (defun projectile-file-cached-p (file project) @@ -816,41 +820,45 @@ Return the first (topmost) matched directory or nil if not found." (projectile-locate-dominating-file dir (lambda (dir) - (--first (projectile-file-exists-p (expand-file-name it dir)) - (or list projectile-project-root-files))))) + (cl-find-if (lambda (f) (projectile-file-exists-p (expand-file-name f dir))) + (or list projectile-project-root-files))))) (defun projectile-root-bottom-up (dir &optional list) "Identify a project root in DIR by bottom-up search for files in LIST. If LIST is nil, use `projectile-project-root-files-bottom-up' instead. Return the first (bottommost) matched directory or nil if not found." - (--some (projectile-locate-dominating-file dir it) - (or list projectile-project-root-files-bottom-up))) + (cl-some (lambda (name) (projectile-locate-dominating-file dir name)) + (or list projectile-project-root-files-bottom-up))) (defun projectile-root-top-down-recurring (dir &optional list) "Identify a project root in DIR by recurring top-down search for files in LIST. If LIST is nil, use `projectile-project-root-files-top-down-recurring' instead. Return the last (bottommost) matched directory in the topmost sequence of matched directories. Nil otherwise." - (--some (projectile-locate-dominating-file - dir - (lambda (dir) - (and (projectile-file-exists-p (expand-file-name it dir)) - (or (string-match locate-dominating-stop-dir-regexp (projectile-parent dir)) - (not (projectile-file-exists-p (expand-file-name it (projectile-parent dir)))))))) - (or list projectile-project-root-files-top-down-recurring))) + (cl-some + (lambda (f) + (projectile-locate-dominating-file + dir + (lambda (dir) + (and (projectile-file-exists-p (expand-file-name f dir)) + (or (string-match locate-dominating-stop-dir-regexp (projectile-parent dir)) + (not (projectile-file-exists-p (expand-file-name f (projectile-parent dir))))))))) + (or list projectile-project-root-files-top-down-recurring))) (defun projectile-project-root () "Retrieves the root directory of a project if available. The current directory is assumed to be the project's root otherwise." (let ((dir default-directory)) - (or (--some (let* ((cache-key (format "%s-%s" it dir)) - (cache-value (gethash cache-key projectile-project-root-cache))) - (if (and cache-value (file-exists-p cache-value)) - cache-value - (let ((value (funcall it (file-truename dir)))) - (puthash cache-key value projectile-project-root-cache) - value))) - projectile-project-root-files-functions) + (or (cl-some + (lambda (func) + (let* ((cache-key (format "%s-%s" func dir)) + (cache-value (gethash cache-key projectile-project-root-cache))) + (if (and cache-value (file-exists-p cache-value)) + cache-value + (let ((value (funcall func (file-truename dir)))) + (puthash cache-key value projectile-project-root-cache) + value)))) + projectile-project-root-files-functions) (if projectile-require-project-root (error "You're not in a project") default-directory)))) @@ -887,7 +895,7 @@ A thin wrapper around `file-truename' that handles nil." ;;; Project indexing (defun projectile-get-project-directories () "Get the list of project directories that are of interest to the user." - (-map (lambda (subdir) (concat (projectile-project-root) subdir)) + (mapcar (lambda (subdir) (concat (projectile-project-root) subdir)) (or (nth 0 (projectile-parse-dirconfig-file)) '("")))) (defun projectile-dir-files (directory) @@ -911,14 +919,14 @@ Files are returned as relative paths to the project root." (format "Projectile is indexing %s" (propertize directory 'face 'font-lock-keyword-face))))) ;; we need the files with paths relative to the project root - (-map (lambda (file) (file-relative-name file root)) + (mapcar (lambda (file) (file-relative-name file root)) (projectile-index-directory directory (projectile-filtering-patterns) progress-reporter)))) (defun projectile-dir-files-external (root directory) "Get the files for ROOT under DIRECTORY using external tools." (let ((default-directory directory)) - (-map (lambda (file) + (mapcar (lambda (file) (file-relative-name (expand-file-name file directory) root)) (projectile-get-repo-files)))) @@ -993,6 +1001,12 @@ Files are returned as relative paths to the project root." ((eq vcs 'git) projectile-git-ignored-command) (t (error "VCS command for ignored files not implemented yet"))))) +(defun projectile-flatten (lst) + "Take a nested list LST and return its contents as a single, flat list." + (if (and (listp lst) (listp (cdr lst))) + (cl-mapcan 'projectile-flatten lst) + (list lst))) + (defun projectile-get-all-sub-projects (project) "Get all sub-projects for a given project. @@ -1002,7 +1016,7 @@ PROJECT is base directory to start search recursively." ((null submodules) nil) (t - (nconc submodules (-flatten + (nconc submodules (projectile-flatten ;; recursively get sub-projects of each sub-project (mapcar (lambda (s) (projectile-get-all-sub-projects s)) submodules))))))) @@ -1029,14 +1043,15 @@ they are excluded from the results of this function." ;; If project root is inside of an VCS folder, but not actually an ;; VCS root itself, submodules external to the project will be ;; included in the VCS get sub-projects result. Let's remove them. - (-filter (lambda (submodule) - (string-match-p project-child-folder-regex - submodule)) - submodules))) + (cl-remove-if-not + (lambda (submodule) + (string-match-p project-child-folder-regex + submodule)) + submodules))) (defun projectile-get-sub-projects-files () "Get files from sub-projects recursively." - (-flatten + (projectile-flatten (mapcar (lambda (s) (let ((default-directory s)) (mapcar (lambda (f) @@ -1068,18 +1083,20 @@ they are excluded from the results of this function." The function calls itself recursively until all sub-directories have been indexed. The PROGRESS-REPORTER is updated while the function is executing." - (--mapcat - (unless (or (and patterns (projectile-ignored-rel-p it directory patterns)) - (member (file-name-nondirectory (directory-file-name it)) - '("." ".." ".svn" ".cvs"))) - (progress-reporter-update progress-reporter) - (if (file-directory-p it) - (unless (projectile-ignored-directory-p - (file-name-as-directory it)) - (projectile-index-directory it patterns progress-reporter)) - (unless (projectile-ignored-file-p it) - (list it)))) - (directory-files directory t))) + (apply 'append + (mapcar + (lambda (f) + (unless (or (and patterns (projectile-ignored-rel-p f directory patterns)) + (member (file-name-nondirectory (directory-file-name f)) + '("." ".." ".svn" ".cvs"))) + (progress-reporter-update progress-reporter) + (if (file-directory-p f) + (unless (projectile-ignored-directory-p + (file-name-as-directory f)) + (projectile-index-directory f patterns progress-reporter)) + (unless (projectile-ignored-file-p f) + (list f))))) + (directory-files directory t)))) (defun projectile-adjust-files (files) "First remove ignored files from FILES, then add back unignored files." @@ -1093,20 +1110,29 @@ you can filter ignored files in subdirectories by setting SUBDIRECTORIES to a non-nil value." (let ((ignored (append (projectile-ignored-files-rel) (projectile-ignored-directories-rel)))) - (-remove (lambda (file) - (or (--any-p (string-prefix-p it (if subdirectories - (file-name-nondirectory file) - file)) - ignored) - (--any-p (string-suffix-p it file) projectile-globally-ignored-file-suffixes))) - files))) + (cl-remove-if + (lambda (file) + (or (cl-some + (lambda (dir) + (string-prefix-p + dir + (if subdirectories + (file-name-nondirectory file) + file))) + ignored) + (cl-some + (lambda (suf) + (string-suffix-p suf file)) + projectile-globally-ignored-file-suffixes))) + files))) (defun projectile-keep-ignored-files (files) "Filter FILES to retain only those that are ignored." (when files - (-filter (lambda (file) - (--some (string-prefix-p it file) files)) - (projectile-get-repo-ignored-files)))) + (cl-remove-if-not + (lambda (file) + (cl-some (lambda (f) (string-prefix-p f file)) files)) + (projectile-get-repo-ignored-files)))) (defun projectile-add-unignored (files) "This adds unignored files to FILES. @@ -1123,19 +1149,20 @@ this case unignored files will be absent from FILES." (defun projectile-buffers-with-file (buffers) "Return only those BUFFERS backed by files." - (--filter (buffer-file-name it) buffers)) + (cl-remove-if-not (lambda (b) (buffer-file-name b)) buffers)) (defun projectile-buffers-with-file-or-process (buffers) "Return only those BUFFERS backed by files or processes." - (--filter (or (buffer-file-name it) - (get-buffer-process it)) buffers)) + (cl-remove-if-not (lambda (b) (or (buffer-file-name b) + (get-buffer-process b))) buffers)) (defun projectile-project-buffers () "Get a list of project buffers." (let* ((project-root (projectile-project-root)) - (all-buffers (-filter (lambda (buffer) - (projectile-project-buffer-p buffer project-root)) - (buffer-list)))) + (all-buffers (cl-remove-if-not + (lambda (buffer) + (projectile-project-buffer-p buffer project-root)) + (buffer-list)))) (if projectile-buffers-filter-function (funcall projectile-buffers-filter-function all-buffers) all-buffers))) @@ -1149,9 +1176,13 @@ this case unignored files will be absent from FILES." (defun projectile-project-buffer-files () "Get a list of project buffer files." (let ((project-root (projectile-project-root))) - (->> (projectile-buffers-with-file (projectile-project-buffers)) - (-map (lambda (buffer) - (file-relative-name (buffer-file-name buffer) project-root)))))) + (mapcar + (lambda (buffer) + (file-relative-name + (buffer-file-name buffer) + project-root)) + (projectile-buffers-with-file + (projectile-project-buffers))))) (defun projectile-project-buffer-p (buffer project-root) "Check if BUFFER is under PROJECT-ROOT." @@ -1168,9 +1199,16 @@ this case unignored files will be absent from FILES." (or (member (buffer-name buffer) projectile-globally-ignored-buffers) (with-current-buffer buffer - (--any-p (string-match-p (concat "^" it "$") - (symbol-name major-mode)) - projectile-globally-ignored-modes)))) + (cl-some + (lambda (mode) + (string-match-p (concat "^" mode "$") + (symbol-name major-mode))) + projectile-globally-ignored-modes)))) + +(defun projectile-difference (list1 list2) + (cl-remove-if + (lambda (x) (member x list2)) + list1)) (defun projectile-recently-active-files () "Get list of recently active files. @@ -1179,12 +1217,13 @@ Files are ordered by recently active buffers, and then recently opened through use of recentf." (let ((project-buffer-files (projectile-project-buffer-files))) (append project-buffer-files - (-difference (projectile-recentf-files) - project-buffer-files)))) + (projectile-difference + (projectile-recentf-files) + project-buffer-files)))) (defun projectile-project-buffer-names () "Get a list of project buffer names." - (-map #'buffer-name (projectile-project-buffers))) + (mapcar #'buffer-name (projectile-project-buffers))) (defun projectile-prepend-project-name (string) "Prepend the current project's name to STRING." @@ -1197,8 +1236,8 @@ This function excludes the current buffer from the offered choices." (projectile-completing-read prompt - (-remove-item (buffer-name (current-buffer)) - (projectile-project-buffer-names)))) + (delete (buffer-name (current-buffer)) + (projectile-project-buffer-names)))) ;;;###autoload (defun projectile-switch-to-buffer () @@ -1232,9 +1271,10 @@ Only buffers not visible in windows are returned." (defun projectile-project-buffers-non-visible () "Get a list of non visible project buffers." - (-filter (lambda (buffer) - (not (get-buffer-window buffer 'visible))) - (projectile-project-buffers))) + (cl-remove-if-not + (lambda (buffer) + (not (get-buffer-window buffer 'visible))) + (projectile-project-buffers))) ;;;###autoload (defun projectile-multi-occur () @@ -1245,10 +1285,10 @@ Only buffers not visible in windows are returned." (defun projectile-normalise-paths (patterns) "Remove leading `/' from the elements of PATTERNS." - (-non-nil (--map (and (string-prefix-p "/" it) - ;; remove the leading / - (substring it 1)) - patterns))) + (delq nil (mapcar (lambda (pat) (and (string-prefix-p "/" pat) + ;; remove the leading / + (substring pat 1))) + patterns))) (defun projectile-expand-paths (paths) "Expand the elements of PATHS. @@ -1257,7 +1297,7 @@ Elements containing wildcards are expanded and spliced into the resulting paths. The returned PATHS are absolute, based on the projectile project root." (let ((default-directory (projectile-project-root))) - (-flatten (-map + (projectile-flatten (mapcar (lambda (pattern) (or (file-expand-wildcards pattern t) (projectile-expand-root pattern))) @@ -1265,12 +1305,12 @@ projectile project root." (defun projectile-normalise-patterns (patterns) "Remove paths from PATTERNS." - (--remove (string-prefix-p "/" it) patterns)) + (cl-remove-if (lambda (pat) (string-prefix-p "/" pat)) patterns)) (defun projectile-make-relative-to-root (files) "Make FILES relative to the project root." (let ((project-root (projectile-project-root))) - (--map (file-relative-name it project-root) files))) + (mapcar (lambda (f) (file-relative-name f project-root)) files))) (defun projectile-ignored-directory-p (directory) "Check if DIRECTORY should be ignored." @@ -1290,13 +1330,17 @@ projectile project root." "Check if FILE should be ignored relative to DIRECTORY according to PATTERNS: (ignored . unignored)" (let ((default-directory directory)) - (and (--any-p (projectile-check-pattern-p file it) (car patterns)) - (--none-p (projectile-check-pattern-p file it) (cdr patterns))))) + (and (cl-some + (lambda (pat) (projectile-check-pattern-p file pat)) + (car patterns)) + (cl-notany + (lambda (pat) (projectile-check-pattern-p file pat)) + (cdr patterns))))) (defun projectile-ignored-files () "Return list of ignored files." - (-difference - (-map + (projectile-difference + (mapcar #'projectile-expand-root (append projectile-globally-ignored-files @@ -1305,10 +1349,10 @@ according to PATTERNS: (ignored . unignored)" (defun projectile-ignored-directories () "Return list of ignored directories." - (-difference - (-map + (projectile-difference + (mapcar #'file-name-as-directory - (-map + (mapcar #'projectile-expand-root (append projectile-globally-ignored-directories @@ -1326,12 +1370,12 @@ according to PATTERNS: (ignored . unignored)" (defun projectile-project-ignored-files () "Return list of project ignored files. Unignored files are not included." - (-remove 'file-directory-p (projectile-project-ignored))) + (cl-remove-if 'file-directory-p (projectile-project-ignored))) (defun projectile-project-ignored-directories () "Return list of project ignored directories. Unignored directories are not included." - (-filter 'file-directory-p (projectile-project-ignored))) + (cl-remove-if-not 'file-directory-p (projectile-project-ignored))) (defun projectile-paths-to-ignore () "Return a list of ignored project paths." @@ -1349,7 +1393,7 @@ files/directories are not included." (defun projectile-unignored-files () "Return list of unignored files." - (-map + (mapcar #'projectile-expand-root (append projectile-globally-unignored-files @@ -1357,9 +1401,9 @@ files/directories are not included." (defun projectile-unignored-directories () "Return list of unignored directories." - (-map + (mapcar #'file-name-as-directory - (-map + (mapcar #'projectile-expand-root (append projectile-globally-unignored-directories @@ -1375,19 +1419,19 @@ files/directories are not included." (defun projectile-project-unignored-files () "Return list of project unignored files." - (-remove 'file-directory-p (projectile-project-unignored))) + (cl-remove-if 'file-directory-p (projectile-project-unignored))) (defun projectile-project-unignored-directories () "Return list of project unignored directories." - (-filter 'file-directory-p (projectile-project-unignored))) + (cl-remove-if-not 'file-directory-p (projectile-project-unignored))) (defun projectile-paths-to-ensure () "Return a list of unignored project paths." (projectile-normalise-paths (nth 2 (projectile-parse-dirconfig-file)))) (defun projectile-files-to-ensure () - (-flatten (--map (file-expand-wildcards it t) - (projectile-patterns-to-ensure)))) + (projectile-flatten (mapcar (lambda (pat) (file-expand-wildcards pat t)) + (projectile-patterns-to-ensure)))) (defun projectile-patterns-to-ensure () "Return a list of relative file patterns." @@ -1428,14 +1472,14 @@ prefix the string will be assumed to be an ignore string." (?+ (push (buffer-substring (1+ (point)) (line-end-position)) keep)) (?- (push (buffer-substring (1+ (point)) (line-end-position)) ignore)) (?! (push (buffer-substring (1+ (point)) (line-end-position)) ensure)) - (_ (push (buffer-substring (point) (line-end-position)) ignore))) + (_ (push (buffer-substring (point) (line-end-position)) ignore))) (forward-line))) - (list (--map (file-name-as-directory (projectile-trim-string it)) - (delete "" (reverse keep))) - (-map #'projectile-trim-string - (delete "" (reverse ignore))) - (-map #'projectile-trim-string - (delete "" (reverse ensure))))))) + (list (mapcar (lambda (f) (file-name-as-directory (projectile-trim-string f))) + (delete "" (reverse keep))) + (mapcar #'projectile-trim-string + (delete "" (reverse ignore))) + (mapcar #'projectile-trim-string + (delete "" (reverse ensure))))))) (defun projectile-expand-root (name) "Expand NAME to project root. @@ -1483,8 +1527,9 @@ https://github.com/abo-abo/swiper"))) (unless files (when projectile-enable-caching (message "Empty cache. Projectile is initializing cache...")) - (setq files (-mapcat #'projectile-dir-files - (projectile-get-project-directories))) + (setq files (cl-mapcan + #'projectile-dir-files + (projectile-get-project-directories))) ;; cache the resulting list of files (when projectile-enable-caching (projectile-cache-project (projectile-project-root) files))) @@ -1499,9 +1544,10 @@ https://github.com/abo-abo/swiper"))) (defun projectile-current-project-dirs () "Return a list of dirs for the current project." - (-remove #'null (-distinct - (-map #'file-name-directory - (projectile-current-project-files))))) + (delete-dups + (delq nil + (mapcar #'file-name-directory + (projectile-current-project-files))))) (defun projectile-hash-keys (hash) "Return a list of all HASH keys." @@ -1543,11 +1589,20 @@ https://github.com/abo-abo/swiper"))) With FLEX-MATCHING, match any file that contains the base name of current file. Other file extensions can be customized with the variable `projectile-other-file-alist'." (interactive "P") - (-if-let (other-files (projectile-get-other-files (buffer-file-name) (projectile-current-project-files) flex-matching)) - (if (= (length other-files) 1) - (find-file (expand-file-name (car other-files) (projectile-project-root))) - (find-file (expand-file-name (projectile-completing-read "Switch to: " other-files) (projectile-project-root)))) - (error "No other file found"))) + (let (other-files) + (if (setq other-files (projectile-get-other-files + (buffer-file-name) + (projectile-current-project-files) + flex-matching)) + (if (= (length other-files) 1) + (find-file (expand-file-name (car other-files) (projectile-project-root))) + (find-file + (expand-file-name + (projectile-completing-read + "Switch to: " + other-files) + (projectile-project-root)))) + (error "No other file found")))) ;;;###autoload (defun projectile-find-other-file-other-window (&optional flex-matching) @@ -1555,11 +1610,24 @@ Other file extensions can be customized with the variable `projectile-other-file With FLEX-MATCHING, match any file that contains the base name of current file. Other file extensions can be customized with the variable `projectile-other-file-alist'." (interactive "P") - (-if-let (other-files (projectile-get-other-files (buffer-file-name) (projectile-current-project-files) flex-matching)) - (if (= (length other-files) 1) - (find-file-other-window (expand-file-name (car other-files) (projectile-project-root))) - (find-file-other-window (expand-file-name (projectile-completing-read "Switch to: " other-files) (projectile-project-root)))) - (error "No other file found"))) + (let (other-files) + (if (setq other-files + (projectile-get-other-files + (buffer-file-name) + (projectile-current-project-files) + flex-matching)) + (if (= (length other-files) 1) + (find-file-other-window + (expand-file-name + (car other-files) + (projectile-project-root))) + (find-file-other-window + (expand-file-name + (projectile-completing-read + "Switch to: " + other-files) + (projectile-project-root)))) + (error "No other file found")))) (defun projectile--file-name-sans-extensions (file-name) "Return FILE-NAME sans any extensions. @@ -1572,15 +1640,20 @@ The extensions, in a filename, are what follows the first '.', with the exceptio The extensions, in a filename, are what follows the first '.', with the exception of a leading '.'" ;;would it make sense to return nil instead of an empty string if no extensions are found? (setq file-name (file-name-nondirectory file-name)) - (substring file-name (-if-let (extensions-start (string-match "\\..*" file-name 1)) (1+ extensions-start) (length file-name)))) + (let (extensions-start) + (substring file-name + (if (setq extensions-start (string-match "\\..*" file-name 1)) + (1+ extensions-start) + (length file-name))))) (defun projectile-associated-file-name-extensions (file-name) "Return projectile-other-file-extensions associated to FILE-NAME's extensions. If no associated other-file-extensions for the complete (nested) extension are found, remove subextensions from FILENAME's extensions until a match is found." - (let ((current-extensions (projectile--file-name-extensions (file-name-nondirectory file-name)))) + (let ((current-extensions (projectile--file-name-extensions (file-name-nondirectory file-name))) + associated-extensions) (catch 'break (while (not (string= "" current-extensions)) - (-if-let (associated-extensions (cdr (assoc current-extensions projectile-other-file-alist))) + (if (setq associated-extensions (cdr (assoc current-extensions projectile-other-file-alist))) (throw 'break associated-extensions)) (setq current-extensions (projectile--file-name-extensions current-extensions)))))) @@ -1590,39 +1663,41 @@ Returns a list of possible files for users to choose. With FLEX-MATCHING, match any file that contains the base name of current file" (let* ((file-ext-list (projectile-associated-file-name-extensions current-file)) - (fulldirname (if (file-name-directory current-file) - (file-name-directory current-file) "./")) - (dirname (file-name-nondirectory (directory-file-name fulldirname))) + (fulldirname (if (file-name-directory current-file) + (file-name-directory current-file) "./")) + (dirname (file-name-nondirectory (directory-file-name fulldirname))) (filename (projectile--file-name-sans-extensions current-file)) (file-list (mapcar (lambda (ext) (if flex-matching (concat ".*" filename ".*" "\." ext "\\'") (concat "^" filename (unless (equal ext "") - (concat "\." ext)) + (concat "\." ext)) "\\'"))) file-ext-list)) - (candidates (-filter (lambda (project-file) - (string-match filename project-file)) - project-file-list)) + (candidates (cl-remove-if-not + (lambda (project-file) + (string-match filename project-file)) + project-file-list)) (candidates - (-flatten (mapcar + (projectile-flatten (mapcar (lambda (file) - (-filter (lambda (project-file) - (string-match file - (concat (file-name-base project-file) - (unless (equal (file-name-extension project-file) nil) - (concat "\." (file-name-extension project-file)))))) - candidates)) + (cl-remove-if-not + (lambda (project-file) + (string-match file + (concat (file-name-base project-file) + (unless (equal (file-name-extension project-file) nil) + (concat "\." (file-name-extension project-file)))))) + candidates)) file-list))) (candidates - (-filter (lambda (file) (not (backup-file-name-p file))) candidates)) + (cl-remove-if-not (lambda (file) (not (backup-file-name-p file))) candidates)) (candidates - (-sort (lambda (file _) - (let ((candidate-dirname (file-name-nondirectory (directory-file-name (file-name-directory file))))) - (unless (equal fulldirname (file-name-directory file)) - (equal dirname candidate-dirname)))) - candidates))) + (cl-sort (copy-sequence candidates) + (lambda (file _) + (let ((candidate-dirname (file-name-nondirectory (directory-file-name (file-name-directory file))))) + (unless (equal fulldirname (file-name-directory file)) + (equal dirname candidate-dirname))))))) candidates)) (defun projectile-select-files (project-files &optional arg) @@ -1637,9 +1712,10 @@ With a prefix ARG invalidates the cache first." (file-relative-name (file-truename file) (projectile-project-root)) file)) (files (if file - (-filter (lambda (project-file) - (string-match file project-file)) - project-files) + (cl-remove-if-not + (lambda (project-file) + (string-match file project-file)) + project-files) nil))) files)) @@ -1739,42 +1815,44 @@ With a prefix ARG invalidates the cache first." (defun projectile-sort-files (files) "Sort FILES according to `projectile-sort-order'." - (pcase projectile-sort-order - (`default files) - (`recentf (projectile-sort-by-recentf-first files)) - (`recently-active (projectile-sort-by-recently-active-first files)) - (`modification-time (projectile-sort-by-modification-time files)) - (`access-time (projectile-sort-by-access-time files)))) + (cl-case projectile-sort-order + (default files) + (recentf (projectile-sort-by-recentf-first files)) + (recently-active (projectile-sort-by-recently-active-first files)) + (modification-time (projectile-sort-by-modification-time files)) + (access-time (projectile-sort-by-access-time files)))) (defun projectile-sort-by-recentf-first (files) "Sort FILES by a recent first scheme." (let ((project-recentf-files (projectile-recentf-files))) (append project-recentf-files - (-difference files project-recentf-files)))) + (projectile-difference files project-recentf-files)))) (defun projectile-sort-by-recently-active-first (files) "Sort FILES by most recently active buffers or opened files." (let ((project-recently-active-files (projectile-recently-active-files))) (append project-recently-active-files - (-difference files project-recently-active-files)))) + (projectile-difference files project-recently-active-files)))) (defun projectile-sort-by-modification-time (files) "Sort FILES by modification time." (let ((default-directory (projectile-project-root))) - (-sort (lambda (file1 file2) - (let ((file1-mtime (nth 5 (file-attributes file1))) - (file2-mtime (nth 5 (file-attributes file2)))) - (not (time-less-p file1-mtime file2-mtime)))) - files))) + (cl-sort + (copy-sequence files) + (lambda (file1 file2) + (let ((file1-mtime (nth 5 (file-attributes file1))) + (file2-mtime (nth 5 (file-attributes file2)))) + (not (time-less-p file1-mtime file2-mtime))))))) (defun projectile-sort-by-access-time (files) "Sort FILES by access time." (let ((default-directory (projectile-project-root))) - (-sort (lambda (file1 file2) - (let ((file1-atime (nth 4 (file-attributes file1))) - (file2-atime (nth 4 (file-attributes file2)))) - (not (time-less-p file1-atime file2-atime)))) - files))) + (cl-sort + (copy-sequence files) + (lambda (file1 file2) + (let ((file1-atime (nth 4 (file-attributes file1))) + (file2-atime (nth 4 (file-attributes file2)))) + (not (time-less-p file1-atime file2-atime))))))) ;;;###autoload (defun projectile-find-dir (&optional arg) @@ -1819,14 +1897,14 @@ With a prefix ARG invalidates the cache first." (defun projectile-test-files (files) "Return only the test FILES." - (-filter 'projectile-test-file-p files)) + (cl-remove-if-not 'projectile-test-file-p files)) (defun projectile-test-file-p (file) "Check if FILE is a test file." - (or (--any? (string-prefix-p it (file-name-nondirectory file)) - (-non-nil (list (funcall projectile-test-prefix-function (projectile-project-type))))) - (--any? (string-suffix-p it (file-name-sans-extension (file-name-nondirectory file))) - (-non-nil (list (funcall projectile-test-suffix-function (projectile-project-type))))))) + (or (cl-some (lambda (pat) (string-prefix-p pat (file-name-nondirectory file))) + (delq nil (list (funcall projectile-test-prefix-function (projectile-project-type))))) + (cl-some (lambda (pat) (string-suffix-p pat (file-name-sans-extension (file-name-nondirectory file)))) + (delq nil (list (funcall projectile-test-suffix-function (projectile-project-type))))))) (defun projectile-current-project-test-files () "Return a list of test files for the current project." @@ -1854,9 +1932,10 @@ a COMPILE-CMD, a TEST-CMD, and a RUN-CMD." (defun projectile-go () "Check if a project contains Go source files." - (-any? (lambda (file) - (string= (file-name-extension file) "go")) - (projectile-current-project-files))) + (cl-some + (lambda (file) + (string= (file-name-extension file) "go")) + (projectile-current-project-files))) (defcustom projectile-go-function 'projectile-go "Function to determine if project's type is go." @@ -1900,12 +1979,13 @@ Normally you'd set this from .dir-locals.el.") (defun projectile-detect-project-type () "Detect the type of the current project." - (let ((project-type (-first (lambda (project-type) - (let ((marker (plist-get (gethash project-type projectile-project-types) 'marker-files))) - (if (listp marker) - (and (projectile-verify-files marker) project-type) - (and (funcall marker) project-type)))) - (projectile-hash-keys projectile-project-types)))) + (let ((project-type (cl-find-if + (lambda (project-type) + (let ((marker (plist-get (gethash project-type projectile-project-types) 'marker-files))) + (if (listp marker) + (and (projectile-verify-files marker) project-type) + (and (funcall marker) project-type)))) + (projectile-hash-keys projectile-project-types)))) (when project-type (puthash (projectile-project-root) project-type projectile-project-type-cache)) project-type)) @@ -1929,7 +2009,7 @@ Normally you'd set this from .dir-locals.el.") (defun projectile-verify-files (files) "Check whether all FILES exist in the current project." - (-all? 'projectile-verify-file files)) + (cl-every 'projectile-verify-file files)) (defun projectile-verify-file (file) "Check whether FILE exists in the current project. @@ -2047,8 +2127,18 @@ It assumes the test/ folder is at the same level as src/." (defun projectile-group-file-candidates (file candidates) "Group file candidates by dirname matching count." - (--sort (> (car it) (car other)) - (--group-by (projectile-dirname-matching-count file it) candidates))) + (cl-sort (copy-sequence + (let (value result) + (while (setq value (pop candidates)) + (let* ((key (projectile-dirname-matching-count file value)) + (kv (assoc key result))) + (if kv + (setcdr kv (cons value (cdr kv))) + (push (list key value) result)))) + (mapcar (lambda (x) + (cons (car x) (nreverse (cdr x)))) + (nreverse result)))) + (lambda (a b) (> (car a) (car b))))) (defun projectile-find-matching-test (file) "Compute the name of the test matching FILE." @@ -2056,21 +2146,24 @@ It assumes the test/ folder is at the same level as src/." (test-prefix (funcall projectile-test-prefix-function (projectile-project-type))) (test-suffix (funcall projectile-test-suffix-function (projectile-project-type))) (candidates - (-filter (lambda (current-file) - (let ((name (file-name-nondirectory - (file-name-sans-extension current-file)))) - (or (when test-prefix - (string-equal name (concat test-prefix basename))) - (when test-suffix - (string-equal name (concat basename test-suffix)))))) - (projectile-current-project-files)))) + (cl-remove-if-not + (lambda (current-file) + (let ((name (file-name-nondirectory + (file-name-sans-extension current-file)))) + (or (when test-prefix + (string-equal name (concat test-prefix basename))) + (when test-suffix + (string-equal name (concat basename test-suffix)))))) + (projectile-current-project-files)))) (cond ((null candidates) nil) ((= (length candidates) 1) (car candidates)) (t (let ((grouped-candidates (projectile-group-file-candidates file candidates))) (if (= (length (car grouped-candidates)) 2) - (-last-item (car grouped-candidates)) - (projectile-completing-read "Switch to: " (--mapcat (cdr it) grouped-candidates)))))))) + (car (last (car grouped-candidates))) + (projectile-completing-read + "Switch to: " + (apply 'append (mapcar 'cdr grouped-candidates))))))))) (defun projectile-find-matching-file (test-file) "Compute the name of a file matching TEST-FILE." @@ -2078,21 +2171,24 @@ It assumes the test/ folder is at the same level as src/." (test-prefix (funcall projectile-test-prefix-function (projectile-project-type))) (test-suffix (funcall projectile-test-suffix-function (projectile-project-type))) (candidates - (-filter (lambda (current-file) - (let ((name (file-name-nondirectory - (file-name-sans-extension current-file)))) - (or (when test-prefix - (string-equal (concat test-prefix name) basename)) - (when test-suffix - (string-equal (concat name test-suffix) basename))))) - (projectile-current-project-files)))) + (cl-remove-if-not + (lambda (current-file) + (let ((name (file-name-nondirectory + (file-name-sans-extension current-file)))) + (or (when test-prefix + (string-equal (concat test-prefix name) basename)) + (when test-suffix + (string-equal (concat name test-suffix) basename))))) + (projectile-current-project-files)))) (cond ((null candidates) nil) ((= (length candidates) 1) (car candidates)) (t (let ((grouped-candidates (projectile-group-file-candidates test-file candidates))) (if (= (length (car grouped-candidates)) 2) - (-last-item (car grouped-candidates)) - (projectile-completing-read "Switch to: " (--mapcat (cdr it) grouped-candidates)))))))) + (car (last (car grouped-candidates))) + (projectile-completing-read + "Switch to: " + (apply 'append (mapcar 'cdr grouped-candidates))))))))) (defun projectile-grep-default-files () "Try to find a default pattern for `projectile-grep'. @@ -2122,7 +2218,7 @@ This is a subset of `grep-read-files', where either a matching entry from (defun projectile--globally-ignored-file-suffixes-glob () "Return ignored file suffixes as a list of glob patterns." - (--map (concat "*" it) projectile-globally-ignored-file-suffixes)) + (mapcar (lambda (pat) (concat "*" pat)) projectile-globally-ignored-file-suffixes)) ;;;###autoload (defun projectile-grep (&optional regexp arg) @@ -2152,15 +2248,15 @@ With REGEXP given, don't query the user for a regexp." (vc-git-grep search-regexp (or files "") root-dir) ;; paths for find-grep should relative and without trailing / (let ((grep-find-ignored-directories - (-union (--map (directory-file-name (file-relative-name it root-dir)) - (projectile-ignored-directories)) - grep-find-ignored-directories)) + (cl-union (mapcar (lambda (f) (directory-file-name (file-relative-name f root-dir))) + (projectile-ignored-directories)) + grep-find-ignored-directories)) (grep-find-ignored-files - (-union (append (-map (lambda (file) - (file-relative-name file root-dir)) - (projectile-ignored-files)) - (projectile--globally-ignored-file-suffixes-glob)) - grep-find-ignored-files))) + (cl-union (append (mapcar (lambda (file) + (file-relative-name file root-dir)) + (projectile-ignored-files)) + (projectile--globally-ignored-file-suffixes-glob)) + grep-find-ignored-files))) (grep-compute-defaults) (rgrep search-regexp (or files "* .*") root-dir)))) (run-hooks 'projectile-grep-finished-hook))) @@ -2180,7 +2276,7 @@ regular expression." (let ((ag-command (if arg 'ag-regexp 'ag)) (ag-ignore-list (unless (eq (projectile-project-vcs) 'git) ;; ag supports git ignore files - (-union ag-ignore-list + (cl-union ag-ignore-list (append (projectile-ignored-files-rel) (projectile-ignored-directories-rel) (projectile--globally-ignored-file-suffixes-glob) @@ -2324,12 +2420,15 @@ regular expression." "Return a list of files in DIRECTORY." (let ((dir (file-relative-name (expand-file-name directory) (projectile-project-root)))) - (--filter (string-prefix-p dir it) - (projectile-current-project-files)))) + (cl-remove-if-not + (lambda (f) (string-prefix-p dir f)) + (projectile-current-project-files)))) (defun projectile-unixy-system-p () "Check to see if unixy text utilities are installed." - (--all? (executable-find it) '("grep" "cut" "uniq"))) + (cl-every + (lambda (x) (executable-find x)) + '("grep" "cut" "uniq"))) (defun projectile-files-from-cmd (cmd directory) "Use a grep-like CMD to search for files within DIRECTORY. @@ -2338,11 +2437,16 @@ CMD should include the necessary search params and should output equivalently to grep -HlI (only unique matching filenames). Returns a list of expanded filenames." (let ((default-directory directory)) - (--map (concat directory - (if (string-prefix-p "./" it) (substring it 2) it)) - (-> (shell-command-to-string cmd) - projectile-trim-string - (split-string "\n+" t))))) + (mapcar (lambda (str) + (concat directory + (if (string-prefix-p "./" str) + (substring str 2) + str))) + (split-string + (projectile-trim-string + (shell-command-to-string cmd)) + "\n+" + t)))) (defun projectile-files-with-string (string directory) "Return a list of all files containing STRING in DIRECTORY. @@ -2369,8 +2473,9 @@ files in the project." (format "grep -rHlI %s ." search-term))))) (projectile-files-from-cmd cmd directory)) ;; we have to reject directories as a workaround to work with git submodules - (-reject #'file-directory-p - (-map #'projectile-expand-root (projectile-dir-files directory))))) + (cl-remove-if + #'file-directory-p + (mapcar #'projectile-expand-root (projectile-dir-files directory))))) ;;;###autoload (defun projectile-replace (&optional arg) @@ -2425,8 +2530,9 @@ to run the replacement." ;; We can't narrow the list of files with ;; `projectile-files-with-string' because those regexp tools ;; don't support Emacs regular expressions. - (-reject #'file-directory-p - (-map #'projectile-expand-root (projectile-dir-files directory))))) + (cl-remove-if + #'file-directory-p + (mapcar #'projectile-expand-root (projectile-dir-files directory))))) (tags-query-replace old-text new-text nil (cons 'list files)))) (defun projectile-symbol-or-selection-at-point () @@ -2450,14 +2556,14 @@ to run the replacement." (length buffers) name)) ;; we take care not to kill indirect buffers directly ;; as we might encounter them after their base buffers are killed - (mapc #'kill-buffer (-remove 'buffer-base-buffer buffers))))) + (mapc #'kill-buffer (cl-remove-if 'buffer-base-buffer buffers))))) ;;;###autoload (defun projectile-save-project-buffers () "Save all project buffers." (interactive) - (--each (projectile-project-buffers) - (with-current-buffer it + (dolist (buf (projectile-project-buffers)) + (with-current-buffer buf (when buffer-file-name (save-buffer))))) @@ -2476,19 +2582,19 @@ For hg projects `monky-status' is used if available." (interactive) (or project-root (setq project-root (projectile-project-root))) (let ((vcs (projectile-project-vcs project-root))) - (pcase vcs - (`git + (cl-case vcs + (git (cond ((fboundp 'magit-status-internal) (magit-status-internal project-root)) ((fboundp 'magit-status) (with-no-warnings (magit-status project-root))) (t (vc-dir project-root)))) - (`hg + (hg (if (fboundp 'monky-status) (monky-status project-root) (vc-dir project-root))) - (_ (vc-dir project-root))))) + (t (vc-dir project-root))))) ;;;###autoload (defun projectile-recentf () @@ -2502,9 +2608,11 @@ For hg projects `monky-status' is used if available." "Return a list of recently visited files in a project." (and (boundp 'recentf-list) (let ((project-root (projectile-project-root))) - (->> recentf-list - (--filter (string-prefix-p project-root it)) - (--map (file-relative-name it project-root)))))) + (mapcar + (lambda (f) (file-relative-name f project-root)) + (cl-remove-if-not + (lambda (f) (string-prefix-p project-root f)) + recentf-list))))) (defun projectile-serialize-cache () "Serializes the memory cache to the hard drive." @@ -2622,7 +2730,8 @@ with a prefix ARG." (defadvice compilation-find-file (around projectile-compilation-find-file) "Try to find a buffer for FILENAME, if we cannot find it, fallback to the original function." - (let ((filename (ad-get-arg 1))) + (let ((filename (ad-get-arg 1)) + full-filename) (ad-set-arg 1 (or (if (file-exists-p (expand-file-name filename)) @@ -2631,10 +2740,15 @@ fallback to the original function." (and (projectile-project-p) (let ((root (projectile-project-root)) (dirs (cons "" (projectile-current-project-dirs)))) - (-when-let (full-filename (->> dirs - (--map (expand-file-name filename (expand-file-name it root))) - (-filter #'file-exists-p) - (-first-item))) + (when (setq full-filename + (car (cl-remove-if-not + #'file-exists-p + (mapcar + (lambda (f) + (expand-file-name + filename + (expand-file-name f root))) + dirs)))) full-filename))) ;; Fall back to the old argument filename)) @@ -2674,18 +2788,18 @@ with a prefix ARG." (defun projectile-open-projects () "Return a list of all open projects. An open project is a project with any open buffers." - (-distinct - (-non-nil - (-map (lambda (buffer) - (with-current-buffer buffer - (when (projectile-project-p) - (abbreviate-file-name (projectile-project-root))))) - (buffer-list))))) + (delete-dups + (delq nil + (mapcar (lambda (buffer) + (with-current-buffer buffer + (when (projectile-project-p) + (abbreviate-file-name (projectile-project-root))))) + (buffer-list))))) (defun projectile--remove-current-project (projects) "Remove the current project (if any) from the list of PROJECTS." (if (projectile-project-p) - (-difference projects + (projectile-difference projects (list (abbreviate-file-name (projectile-project-root)))) projects)) @@ -2704,11 +2818,12 @@ Invokes the command referenced by `projectile-switch-project-action' on switch. With a prefix ARG invokes `projectile-commander' instead of `projectile-switch-project-action.'" (interactive "P") - (-if-let (projects (projectile-relevant-known-projects)) - (projectile-switch-project-by-name - (projectile-completing-read "Switch to project: " projects) - arg) - (error "There are no known projects"))) + (let (projects) + (if (setq projects (projectile-relevant-known-projects)) + (projectile-switch-project-by-name + (projectile-completing-read "Switch to project: " projects) + arg) + (error "There are no known projects")))) ;;;###autoload (defun projectile-switch-open-project (&optional arg) @@ -2717,11 +2832,12 @@ Invokes the command referenced by `projectile-switch-project-action' on switch. With a prefix ARG invokes `projectile-commander' instead of `projectile-switch-project-action.'" (interactive "P") - (-if-let (projects (projectile-relevant-open-projects)) - (projectile-switch-project-by-name - (projectile-completing-read "Switch to open project: " projects) - arg) - (error "There are no open projects"))) + (let (projects) + (if (setq projects (projectile-relevant-open-projects)) + (projectile-switch-project-by-name + (projectile-completing-read "Switch to open project: " projects) + arg) + (error "There are no open projects")))) (defun projectile-switch-project-by-name (project-to-switch &optional arg) "Switch to project by project name PROJECT-TO-SWITCH. @@ -2755,13 +2871,14 @@ This command will first prompt for the directory the file is in." (defun projectile-all-project-files () "Get a list of all files in all projects." - (-mapcat (lambda (project) - (when (file-exists-p project) - (let ((default-directory project)) - (-map (lambda (file) - (expand-file-name file project)) - (projectile-current-project-files))))) - projectile-known-projects)) + (cl-mapcan + (lambda (project) + (when (file-exists-p project) + (let ((default-directory project)) + (mapcar (lambda (file) + (expand-file-name file project)) + (projectile-current-project-files))))) + projectile-known-projects)) ;;;###autoload (defun projectile-find-file-in-known-projects () @@ -2796,10 +2913,8 @@ See `projectile-cleanup-known-projects'." "Remove known projects that don't exist anymore." (interactive) (projectile-merge-known-projects) - (let* ((separated-projects - (-separate #'projectile-keep-project-p projectile-known-projects)) - (projects-kept (car separated-projects)) - (projects-removed (cadr separated-projects))) + (let ((projects-kept (cl-remove-if-not #'projectile-keep-project-p projectile-known-projects)) + (projects-removed (cl-remove-if #'projectile-keep-project-p projectile-known-projects))) (setq projectile-known-projects projects-kept) (projectile-merge-known-projects) (if projects-removed @@ -2820,7 +2935,9 @@ See `projectile-cleanup-known-projects'." (interactive (list (projectile-completing-read "Remove from known projects: " projectile-known-projects))) (setq projectile-known-projects - (--reject (string= project it) projectile-known-projects)) + (cl-remove-if + (lambda (proj) (string= project proj)) + projectile-known-projects)) (projectile-merge-known-projects) (when projectile-verbose (message "Project %s removed from the list of known projects." project))) @@ -2833,7 +2950,7 @@ See `projectile-cleanup-known-projects'." (defun projectile-ignored-projects () "A list of projects that should not be save in `projectile-known-projects'." - (-map #'file-truename projectile-ignored-projects)) + (mapcar #'file-truename projectile-ignored-projects)) (defun projectile-ignored-project-p (project-root) "Return t if PROJECT-ROOT should not be added to `projectile-known-projects'." @@ -2845,7 +2962,7 @@ See `projectile-cleanup-known-projects'." "Add PROJECT-ROOT to the list of known projects." (unless (projectile-ignored-project-p project-root) (setq projectile-known-projects - (-distinct + (delete-dups (cons (abbreviate-file-name project-root) projectile-known-projects))))) @@ -2878,13 +2995,13 @@ overwriting each other's changes." (known-on-last-sync projectile-known-projects-on-file) (known-on-file (projectile-unserialize projectile-known-projects-file)) - (removed-after-sync (-difference known-on-last-sync known-now)) + (removed-after-sync (projectile-difference known-on-last-sync known-now)) (removed-in-other-process - (-difference known-on-last-sync known-on-file)) - (result (-distinct - (-difference - (-concat known-now known-on-file) - (-concat removed-after-sync removed-in-other-process))))) + (projectile-difference known-on-last-sync known-on-file)) + (result (delete-dups + (projectile-difference + (append known-now known-on-file) + (append removed-after-sync removed-in-other-process))))) (setq projectile-known-projects result) (projectile-save-known-projects))) @@ -2934,10 +3051,10 @@ available actions. See `def-projectile-commander-method' for defining new methods." (interactive) - (-let* ((choices (-map #'car projectile-commander-methods)) - (prompt (concat "Commander [" choices "]: ")) - (ch (read-char-choice prompt choices)) - ((_ _ fn) (assq ch projectile-commander-methods))) + (let* ((choices (mapcar #'car projectile-commander-methods)) + (prompt (concat "Commander [" choices "]: ")) + (ch (read-char-choice prompt choices)) + (fn (nth 2 (assq ch projectile-commander-methods)))) (funcall fn))) (defmacro def-projectile-commander-method (key description &rest body) @@ -2952,17 +3069,17 @@ is chosen." (let ((method `(lambda () ,@body))) `(setq projectile-commander-methods - (--sort (< (car it) (car other)) - (cons (list ,key ,description ,method) - (assq-delete-all ,key projectile-commander-methods)))))) + (cl-sort (copy-sequence + (cons (list ,key ,description ,method) + (assq-delete-all ,key projectile-commander-methods))) + (lambda (a b) (< (car a) (car b))))))) (def-projectile-commander-method ?? "Commander help buffer." (ignore-errors (kill-buffer projectile-commander-help-buffer)) (with-current-buffer (get-buffer-create projectile-commander-help-buffer) (insert "Projectile Commander Methods:\n\n") - (--each projectile-commander-methods - (-let [(key line _) it] - (insert (format "%c:\t%s\n" key line)))) + (dolist (met projectile-commander-methods) + (insert (format "%c:\t%s\n" (car met) (cadr met)))) (goto-char (point-min)) (help-mode) (display-buffer (current-buffer) t)) diff --git a/elpa/with-editor-20160812.1457/dir b/elpa/with-editor-20160828.1025/dir similarity index 100% rename from elpa/with-editor-20160812.1457/dir rename to elpa/with-editor-20160828.1025/dir diff --git a/elpa/with-editor-20160812.1457/with-editor-autoloads.el b/elpa/with-editor-20160828.1025/with-editor-autoloads.el similarity index 69% rename from elpa/with-editor-20160812.1457/with-editor-autoloads.el rename to elpa/with-editor-20160828.1025/with-editor-autoloads.el index 0729892..51c1f00 100644 --- a/elpa/with-editor-20160812.1457/with-editor-autoloads.el +++ b/elpa/with-editor-20160828.1025/with-editor-autoloads.el @@ -1,10 +1,10 @@ ;;; with-editor-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) +(add-to-list 'load-path (or (file-name-directory #$) (car load-path))) ;;;### (autoloads nil nil ("with-editor-pkg.el" "with-editor.el") -;;;;;; (22454 5299 791727 417000)) +;;;;;; (22490 24925 176984 318000)) ;;;*** diff --git a/elpa/with-editor-20160812.1457/with-editor-pkg.el b/elpa/with-editor-20160828.1025/with-editor-pkg.el similarity index 59% rename from elpa/with-editor-20160812.1457/with-editor-pkg.el rename to elpa/with-editor-20160828.1025/with-editor-pkg.el index 50a056a..7598c0c 100644 --- a/elpa/with-editor-20160812.1457/with-editor-pkg.el +++ b/elpa/with-editor-20160828.1025/with-editor-pkg.el @@ -1,7 +1,7 @@ -(define-package "with-editor" "20160812.1457" "Use the Emacsclient as $EDITOR" +(define-package "with-editor" "20160828.1025" "Use the Emacsclient as $EDITOR" '((emacs "24.4") - (async "1.5") - (dash "2.12.1")) + (async "1.9") + (dash "2.13.0")) :url "https://github.com/magit/with-editor" :keywords '("tools")) ;; Local Variables: diff --git a/elpa/with-editor-20160812.1457/with-editor.el b/elpa/with-editor-20160828.1025/with-editor.el similarity index 99% rename from elpa/with-editor-20160812.1457/with-editor.el rename to elpa/with-editor-20160828.1025/with-editor.el index 423db88..babbd81 100644 --- a/elpa/with-editor-20160812.1457/with-editor.el +++ b/elpa/with-editor-20160828.1025/with-editor.el @@ -8,7 +8,7 @@ ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli -;; Package-Requires: ((emacs "24.4") (async "1.5") (dash "2.12.1")) +;; Package-Requires: ((emacs "24.4") (async "1.9") (dash "2.13.0")) ;; Keywords: tools ;; Homepage: https://github.com/magit/with-editor @@ -537,7 +537,7 @@ which may or may not insert the text into the PROCESS' buffer." Set and export the environment variable ENVVAR, by default \"EDITOR\". The value is automatically generated to teach -commands use the current Emacs instance as \"the editor\". +commands to use the current Emacs instance as \"the editor\". This works in `shell-mode', `term-mode' and `eshell-mode'." (interactive (list (with-editor-read-envvar))) @@ -545,7 +545,6 @@ This works in `shell-mode', `term-mode' and `eshell-mode'." ((derived-mode-p 'comint-mode 'term-mode) (let* ((process (get-buffer-process (current-buffer))) (filter (process-filter process))) - (set-process-filter process 'ignore) (goto-char (process-mark process)) (process-send-string process (format "export %s=%s\n" envvar diff --git a/elpa/with-editor-20160812.1457/with-editor.info b/elpa/with-editor-20160828.1025/with-editor.info similarity index 100% rename from elpa/with-editor-20160812.1457/with-editor.info rename to elpa/with-editor-20160828.1025/with-editor.info diff --git a/elpa/yaml-mode-20160528.1400/yaml-mode-pkg.el b/elpa/yaml-mode-20160528.1400/yaml-mode-pkg.el deleted file mode 100644 index a3b53ec..0000000 --- a/elpa/yaml-mode-20160528.1400/yaml-mode-pkg.el +++ /dev/null @@ -1 +0,0 @@ -(define-package "yaml-mode" "20160528.1400" "Major mode for editing YAML files" '((emacs "24.1")) :keywords '("data" "yaml")) diff --git a/elpa/yaml-mode-20160528.1400/yaml-mode-autoloads.el b/elpa/yaml-mode-20160902.1142/yaml-mode-autoloads.el similarity index 78% rename from elpa/yaml-mode-20160528.1400/yaml-mode-autoloads.el rename to elpa/yaml-mode-20160902.1142/yaml-mode-autoloads.el index f92644c..24d0968 100644 --- a/elpa/yaml-mode-20160528.1400/yaml-mode-autoloads.el +++ b/elpa/yaml-mode-20160902.1142/yaml-mode-autoloads.el @@ -3,8 +3,8 @@ ;;; Code: (add-to-list 'load-path (or (file-name-directory #$) (car load-path))) -;;;### (autoloads nil "yaml-mode" "yaml-mode.el" (22387 29353 323496 -;;;;;; 917000)) +;;;### (autoloads nil "yaml-mode" "yaml-mode.el" (22490 24924 623439 +;;;;;; 842000)) ;;; Generated autoloads from yaml-mode.el (let ((loads (get 'yaml 'custom-loads))) (if (member '"yaml-mode" loads) nil (put 'yaml 'custom-loads (cons '"yaml-mode" loads)))) @@ -16,7 +16,7 @@ Simple mode to edit YAML. \(fn)" t nil) -(add-to-list 'auto-mode-alist '("\\.e?ya?ml\\'" . yaml-mode)) +(add-to-list 'auto-mode-alist '("\\.\\(e?ya?\\|ra\\)ml\\'" . yaml-mode)) ;;;*** diff --git a/elpa/yaml-mode-20160902.1142/yaml-mode-pkg.el b/elpa/yaml-mode-20160902.1142/yaml-mode-pkg.el new file mode 100644 index 0000000..7d84b17 --- /dev/null +++ b/elpa/yaml-mode-20160902.1142/yaml-mode-pkg.el @@ -0,0 +1 @@ +(define-package "yaml-mode" "20160902.1142" "Major mode for editing YAML files" '((emacs "24.1")) :keywords '("data" "yaml")) diff --git a/elpa/yaml-mode-20160528.1400/yaml-mode.el b/elpa/yaml-mode-20160902.1142/yaml-mode.el similarity index 98% rename from elpa/yaml-mode-20160528.1400/yaml-mode.el rename to elpa/yaml-mode-20160902.1142/yaml-mode.el index fde60ac..78516a0 100644 --- a/elpa/yaml-mode-20160528.1400/yaml-mode.el +++ b/elpa/yaml-mode-20160902.1142/yaml-mode.el @@ -6,7 +6,7 @@ ;; Marshall T. Vandegrift ;; Maintainer: Vasilij Schneidermann ;; Package-Requires: ((emacs "24.1")) -;; Package-Version: 20160528.1400 +;; Package-Version: 20160902.1142 ;; Keywords: data yaml ;; Version: 0.0.12 @@ -149,7 +149,7 @@ that key is pressed to begin a block literal." (defconst yaml-scalar-context-re (concat "\\(?:^\\(?:--- \\)?\\|{\\|\\(?: *[-,] +\\)+\\) *" "\\(?:" yaml-bare-scalar-re " *: \\)?") - "Regexp indicating the begininng of a scalar context.") + "Regexp indicating the beginning of a scalar context.") (defconst yaml-nested-map-re (concat ".*: *\\(?:&.*\\|{ *\\|" yaml-tag-re " *\\)?$") @@ -433,7 +433,7 @@ cross boundaries of block literals." yaml-mode-version) ;;;###autoload -(add-to-list 'auto-mode-alist '("\\.e?ya?ml\\'" . yaml-mode)) +(add-to-list 'auto-mode-alist '("\\.\\(e?ya?\\|ra\\)ml\\'" . yaml-mode)) (provide 'yaml-mode)