Commit 6b7db1f454b2

Vincent Demeester <vincent@sbr.pm>
2017-06-22 19:10:39
Update packages
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent bd51da8
Changed files (1436)
.emacs.d
elpa
async-20170610.2241
company-20170617.1502
counsel-20170605.255
counsel-20170622.758
dash-20170523.219
dash-20170613.151
direnv-20170622.446
editorconfig-20170607.713
git-commit-20170510.910
git-commit-20170609.2310
ivy-20170621.721
ivy-hydra-20170412.30
ivy-hydra-20170609.938
magit-20170531.1739
magit-20170621.710
magit-annex-20170429.756
magit-annex-20170621.1328
magit-popup-20170609.2310
markdown-mode-20170620.2048
spaceline-20170621.45
swiper-20170515.1409
swiper-20170609.938
yasnippet-20170605.1940
snippets
antlr-mode
applescript-mode
c++-mode
c-mode
cc-mode
chef-mode
cider-repl-mode
clojure-mode
cmake-mode
conf-unix-mode
cperl-mode
cpp-omnet-mode
csharp-mode
css-mode
dix-mode
elixir-mode
emacs-lisp-mode
enh-ruby-mode
ensime-mode
erc-mode
erlang-mode
f90-mode
faust-mode
git-commit-mode
go-mode
groovy-mode
haskell-mode
html-mode
java-mode
js-mode
js2-mode
js3-mode
latex-mode
lisp-interaction-mode
lisp-mode
lua-mode
m4-mode
makefile-automake-mode
makefile-bsdmake-mode
makefile-gmake-mode
makefile-mode
malabar-mode
markdown-mode
ned-mode
nesc-mode
nix-mode
nsis-mode
nxml-mode
octave-mode
org-mode
perl-mode
prog-mode
python-mode
rst-mode
ruby-mode
rust-mode
scala-mode
sh-mode
snippet-mode
sql-mode
text-mode
tuareg-mode
typerex-mode
udev-mode
web-mode
yaml-mode
.emacs.d/elpa/async-20170502.2343/async-autoloads.el → .emacs.d/elpa/async-20170610.2241/async-autoloads.el
@@ -3,7 +3,7 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "async" "async.el" (22839 4077 734842 308000))
+;;;### (autoloads nil "async" "async.el" (22859 63763 752112 41000))
 ;;; Generated autoloads from async.el
 
 (autoload 'async-start-process "async" "\
@@ -68,8 +68,8 @@ returns nil.  It can still be useful, however, as an argument to
 
 ;;;***
 
-;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (22839
-;;;;;;  4077 733842 321000))
+;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (22859
+;;;;;;  63763 747112 196000))
 ;;; Generated autoloads from async-bytecomp.el
 
 (autoload 'async-byte-recompile-directory "async-bytecomp" "\
@@ -97,8 +97,8 @@ Async compilation of packages can be controlled by
 
 ;;;***
 
-;;;### (autoloads nil "dired-async" "dired-async.el" (22839 4077
-;;;;;;  719842 498000))
+;;;### (autoloads nil "dired-async" "dired-async.el" (22859 63763
+;;;;;;  736112 537000))
 ;;; Generated autoloads from dired-async.el
 
 (defvar dired-async-mode nil "\
@@ -118,8 +118,8 @@ Do dired actions asynchronously.
 
 ;;;***
 
-;;;### (autoloads nil nil ("async-pkg.el" "smtpmail-async.el") (22839
-;;;;;;  4077 735842 296000))
+;;;### (autoloads nil nil ("async-pkg.el" "smtpmail-async.el") (22859
+;;;;;;  63763 756111 917000))
 
 ;;;***
 
.emacs.d/elpa/async-20170502.2343/async-bytecomp.el → .emacs.d/elpa/async-20170610.2241/async-bytecomp.el
File renamed without changes
.emacs.d/elpa/async-20170502.2343/async-bytecomp.elc → .emacs.d/elpa/async-20170610.2241/async-bytecomp.elc
File renamed without changes
.emacs.d/elpa/async-20170502.2343/async-pkg.el → .emacs.d/elpa/async-20170610.2241/async-pkg.el
@@ -1,4 +1,4 @@
-(define-package "async" "20170502.2343" "Asynchronous processing in Emacs" 'nil :keywords
+(define-package "async" "20170610.2241" "Asynchronous processing in Emacs" 'nil :keywords
   '("async")
   :url "https://github.com/jwiegley/emacs-async")
 ;; Local Variables:
.emacs.d/elpa/async-20170502.2343/async.el → .emacs.d/elpa/async-20170610.2241/async.el
File renamed without changes
.emacs.d/elpa/async-20170502.2343/async.elc → .emacs.d/elpa/async-20170610.2241/async.elc
File renamed without changes
.emacs.d/elpa/async-20170502.2343/dired-async.el → .emacs.d/elpa/async-20170610.2241/dired-async.el
@@ -310,6 +310,19 @@ ESC or `q' to not overwrite any of the remaining files,
       (dired-async--modeline-mode 1)
       (message "%s proceeding asynchronously..." operation))))
 
+(defvar wdired-use-interactive-rename)
+(defun dired-async-wdired-do-renames (old-fn &rest args)
+  ;; Perhaps a better fix would be to ask for renaming BEFORE starting
+  ;; OLD-FN when `wdired-use-interactive-rename' is non-nil.  For now
+  ;; just bind it to nil to ensure no questions will be asked between
+  ;; each rename.
+  (let (wdired-use-interactive-rename)
+    (apply old-fn args)))
+
+(defadvice wdired-do-renames (around wdired-async)
+  (let (wdired-use-interactive-rename)
+    ad-do-it))
+
 (defadvice dired-create-files (around dired-async)
   (dired-async-create-files file-creator operation fn-list
                             name-constructor marker-char))
@@ -321,11 +334,15 @@ ESC or `q' to not overwrite any of the remaining files,
   :global t
   (if dired-async-mode
       (if (fboundp 'advice-add)
-          (advice-add 'dired-create-files :override #'dired-async-create-files)
-          (ad-activate 'dired-create-files))
+          (progn (advice-add 'dired-create-files :override #'dired-async-create-files)
+                 (advice-add 'wdired-do-renames :around #'dired-async-wdired-do-renames))
+        (ad-activate 'dired-create-files)
+        (ad-activate 'wdired-do-renames))
       (if (fboundp 'advice-remove)
-          (advice-remove 'dired-create-files #'dired-async-create-files)
-          (ad-deactivate 'dired-create-files))))
+          (progn (advice-remove 'dired-create-files #'dired-async-create-files)
+                 (advice-remove 'wdired-do-renames #'dired-async-wdired-do-renames))
+          (ad-deactivate 'dired-create-files)
+          (ad-deactivate 'wdired-do-renames))))
 
 
 (provide 'dired-async)
.emacs.d/elpa/async-20170502.2343/dired-async.elc → .emacs.d/elpa/async-20170610.2241/dired-async.elc
Binary file
.emacs.d/elpa/async-20170502.2343/smtpmail-async.el → .emacs.d/elpa/async-20170610.2241/smtpmail-async.el
File renamed without changes
.emacs.d/elpa/async-20170502.2343/smtpmail-async.elc → .emacs.d/elpa/async-20170610.2241/smtpmail-async.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-abbrev.el → .emacs.d/elpa/company-20170617.1502/company-abbrev.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-abbrev.elc → .emacs.d/elpa/company-20170617.1502/company-abbrev.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-autoloads.el → .emacs.d/elpa/company-20170617.1502/company-autoloads.el
@@ -3,7 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "company" "company.el" (22839 4076 129862 672000))
+;;;### (autoloads nil "company" "company.el" (22859 63761 474182
+;;;;;;  616000))
 ;;; Generated autoloads from company.el
 
 (autoload 'company-mode "company" "\
@@ -73,8 +74,8 @@ inserted.
 
 ;;;***
 
-;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (22839
-;;;;;;  4076 143862 494000))
+;;;### (autoloads nil "company-abbrev" "company-abbrev.el" (22859
+;;;;;;  63761 542180 509000))
 ;;; Generated autoloads from company-abbrev.el
 
 (autoload 'company-abbrev "company-abbrev" "\
@@ -84,8 +85,8 @@ inserted.
 
 ;;;***
 
-;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (22839 4076
-;;;;;;  139862 544000))
+;;;### (autoloads nil "company-bbdb" "company-bbdb.el" (22859 63761
+;;;;;;  522181 129000))
 ;;; Generated autoloads from company-bbdb.el
 
 (autoload 'company-bbdb "company-bbdb" "\
@@ -95,8 +96,8 @@ inserted.
 
 ;;;***
 
-;;;### (autoloads nil "company-css" "company-css.el" (22839 4076
-;;;;;;  128862 684000))
+;;;### (autoloads nil "company-css" "company-css.el" (22859 63761
+;;;;;;  469182 770000))
 ;;; Generated autoloads from company-css.el
 
 (autoload 'company-css "company-css" "\
@@ -106,8 +107,8 @@ inserted.
 
 ;;;***
 
-;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (22839
-;;;;;;  4076 135862 595000))
+;;;### (autoloads nil "company-dabbrev" "company-dabbrev.el" (22859
+;;;;;;  63761 498181 872000))
 ;;; Generated autoloads from company-dabbrev.el
 
 (autoload 'company-dabbrev "company-dabbrev" "\
@@ -118,7 +119,7 @@ dabbrev-like `company-mode' completion backend.
 ;;;***
 
 ;;;### (autoloads nil "company-dabbrev-code" "company-dabbrev-code.el"
-;;;;;;  (22839 4076 133862 621000))
+;;;;;;  (22859 63761 489182 151000))
 ;;; Generated autoloads from company-dabbrev-code.el
 
 (autoload 'company-dabbrev-code "company-dabbrev-code" "\
@@ -130,8 +131,8 @@ comments or strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-elisp" "company-elisp.el" (22839 4076
-;;;;;;  145862 468000))
+;;;### (autoloads nil "company-elisp" "company-elisp.el" (22859 63761
+;;;;;;  552180 199000))
 ;;; Generated autoloads from company-elisp.el
 
 (autoload 'company-elisp "company-elisp" "\
@@ -141,8 +142,8 @@ comments or strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-etags" "company-etags.el" (22839 4076
-;;;;;;  131862 646000))
+;;;### (autoloads nil "company-etags" "company-etags.el" (22859 63761
+;;;;;;  479182 461000))
 ;;; Generated autoloads from company-etags.el
 
 (autoload 'company-etags "company-etags" "\
@@ -152,8 +153,8 @@ comments or strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-files" "company-files.el" (22839 4076
-;;;;;;  136862 582000))
+;;;### (autoloads nil "company-files" "company-files.el" (22859 63761
+;;;;;;  503181 717000))
 ;;; Generated autoloads from company-files.el
 
 (autoload 'company-files "company-files" "\
@@ -165,8 +166,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-gtags" "company-gtags.el" (22839 4076
-;;;;;;  124862 735000))
+;;;### (autoloads nil "company-gtags" "company-gtags.el" (22859 63761
+;;;;;;  444183 545000))
 ;;; Generated autoloads from company-gtags.el
 
 (autoload 'company-gtags "company-gtags" "\
@@ -176,8 +177,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-ispell" "company-ispell.el" (22839
-;;;;;;  4076 144862 481000))
+;;;### (autoloads nil "company-ispell" "company-ispell.el" (22859
+;;;;;;  63761 547180 354000))
 ;;; Generated autoloads from company-ispell.el
 
 (autoload 'company-ispell "company-ispell" "\
@@ -187,8 +188,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-keywords" "company-keywords.el" (22839
-;;;;;;  4076 137862 570000))
+;;;### (autoloads nil "company-keywords" "company-keywords.el" (22859
+;;;;;;  63761 512181 439000))
 ;;; Generated autoloads from company-keywords.el
 
 (autoload 'company-keywords "company-keywords" "\
@@ -198,8 +199,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-nxml" "company-nxml.el" (22839 4076
-;;;;;;  140862 532000))
+;;;### (autoloads nil "company-nxml" "company-nxml.el" (22859 63761
+;;;;;;  527180 974000))
 ;;; Generated autoloads from company-nxml.el
 
 (autoload 'company-nxml "company-nxml" "\
@@ -209,8 +210,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (22839
-;;;;;;  4076 127862 697000))
+;;;### (autoloads nil "company-oddmuse" "company-oddmuse.el" (22859
+;;;;;;  63761 459183 80000))
 ;;; Generated autoloads from company-oddmuse.el
 
 (autoload 'company-oddmuse "company-oddmuse" "\
@@ -220,8 +221,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-semantic" "company-semantic.el" (22839
-;;;;;;  4076 125862 722000))
+;;;### (autoloads nil "company-semantic" "company-semantic.el" (22859
+;;;;;;  63761 449183 390000))
 ;;; Generated autoloads from company-semantic.el
 
 (autoload 'company-semantic "company-semantic" "\
@@ -231,8 +232,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-tempo" "company-tempo.el" (22839 4076
-;;;;;;  134862 608000))
+;;;### (autoloads nil "company-tempo" "company-tempo.el" (22859 63761
+;;;;;;  493182 27000))
 ;;; Generated autoloads from company-tempo.el
 
 (autoload 'company-tempo "company-tempo" "\
@@ -242,8 +243,8 @@ File paths with spaces are only supported inside strings.
 
 ;;;***
 
-;;;### (autoloads nil "company-xcode" "company-xcode.el" (22839 4076
-;;;;;;  142862 506000))
+;;;### (autoloads nil "company-xcode" "company-xcode.el" (22859 63761
+;;;;;;  537180 664000))
 ;;; Generated autoloads from company-xcode.el
 
 (autoload 'company-xcode "company-xcode" "\
@@ -254,7 +255,7 @@ File paths with spaces are only supported inside strings.
 ;;;***
 
 ;;;### (autoloads nil "company-yasnippet" "company-yasnippet.el"
-;;;;;;  (22839 4076 141862 519000))
+;;;;;;  (22859 63761 532180 819000))
 ;;; Generated autoloads from company-yasnippet.el
 
 (autoload 'company-yasnippet "company-yasnippet" "\
@@ -286,7 +287,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")
-;;;;;;  (22839 4076 138862 557000))
+;;;;;;  (22859 63761 517181 284000))
 
 ;;;***
 
.emacs.d/elpa/company-20170517.1436/company-bbdb.el → .emacs.d/elpa/company-20170617.1502/company-bbdb.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-bbdb.elc → .emacs.d/elpa/company-20170617.1502/company-bbdb.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-capf.el → .emacs.d/elpa/company-20170617.1502/company-capf.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-capf.elc → .emacs.d/elpa/company-20170617.1502/company-capf.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-clang.el → .emacs.d/elpa/company-20170617.1502/company-clang.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-clang.elc → .emacs.d/elpa/company-20170617.1502/company-clang.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-cmake.el → .emacs.d/elpa/company-20170617.1502/company-cmake.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-cmake.elc → .emacs.d/elpa/company-20170617.1502/company-cmake.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-css.el → .emacs.d/elpa/company-20170617.1502/company-css.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-css.elc → .emacs.d/elpa/company-20170617.1502/company-css.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-dabbrev-code.el → .emacs.d/elpa/company-20170617.1502/company-dabbrev-code.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-dabbrev-code.elc → .emacs.d/elpa/company-20170617.1502/company-dabbrev-code.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-dabbrev.el → .emacs.d/elpa/company-20170617.1502/company-dabbrev.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-dabbrev.elc → .emacs.d/elpa/company-20170617.1502/company-dabbrev.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-eclim.el → .emacs.d/elpa/company-20170617.1502/company-eclim.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-eclim.elc → .emacs.d/elpa/company-20170617.1502/company-eclim.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-elisp.el → .emacs.d/elpa/company-20170617.1502/company-elisp.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-elisp.elc → .emacs.d/elpa/company-20170617.1502/company-elisp.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-etags.el → .emacs.d/elpa/company-20170617.1502/company-etags.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-etags.elc → .emacs.d/elpa/company-20170617.1502/company-etags.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-files.el → .emacs.d/elpa/company-20170617.1502/company-files.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-files.elc → .emacs.d/elpa/company-20170617.1502/company-files.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-gtags.el → .emacs.d/elpa/company-20170617.1502/company-gtags.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-gtags.elc → .emacs.d/elpa/company-20170617.1502/company-gtags.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-ispell.el → .emacs.d/elpa/company-20170617.1502/company-ispell.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-ispell.elc → .emacs.d/elpa/company-20170617.1502/company-ispell.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-keywords.el → .emacs.d/elpa/company-20170617.1502/company-keywords.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-keywords.elc → .emacs.d/elpa/company-20170617.1502/company-keywords.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-nxml.el → .emacs.d/elpa/company-20170617.1502/company-nxml.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-nxml.elc → .emacs.d/elpa/company-20170617.1502/company-nxml.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-oddmuse.el → .emacs.d/elpa/company-20170617.1502/company-oddmuse.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-oddmuse.elc → .emacs.d/elpa/company-20170617.1502/company-oddmuse.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-pkg.el → .emacs.d/elpa/company-20170617.1502/company-pkg.el
@@ -1,4 +1,4 @@
-(define-package "company" "20170517.1436" "Modular text completion framework"
+(define-package "company" "20170617.1502" "Modular text completion framework"
   '((emacs "24.3"))
   :url "http://company-mode.github.io/" :keywords
   '("abbrev" "convenience" "matching"))
.emacs.d/elpa/company-20170517.1436/company-semantic.el → .emacs.d/elpa/company-20170617.1502/company-semantic.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-semantic.elc → .emacs.d/elpa/company-20170617.1502/company-semantic.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-template.el → .emacs.d/elpa/company-20170617.1502/company-template.el
@@ -37,6 +37,7 @@
 
 (defvar company-template-field-map
   (let ((keymap (make-sparse-keymap)))
+    (set-keymap-parent keymap company-template-nav-map)
     (define-key keymap (kbd "C-d") 'company-template-clear-field)
     keymap))
 
.emacs.d/elpa/company-20170517.1436/company-template.elc → .emacs.d/elpa/company-20170617.1502/company-template.elc
Binary file
.emacs.d/elpa/company-20170517.1436/company-tempo.el → .emacs.d/elpa/company-20170617.1502/company-tempo.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-tempo.elc → .emacs.d/elpa/company-20170617.1502/company-tempo.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-xcode.el → .emacs.d/elpa/company-20170617.1502/company-xcode.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-xcode.elc → .emacs.d/elpa/company-20170617.1502/company-xcode.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-yasnippet.el → .emacs.d/elpa/company-20170617.1502/company-yasnippet.el
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company-yasnippet.elc → .emacs.d/elpa/company-20170617.1502/company-yasnippet.elc
File renamed without changes
.emacs.d/elpa/company-20170517.1436/company.el → .emacs.d/elpa/company-20170617.1502/company.el
@@ -341,7 +341,7 @@ of the following:
 `prefix': The backend should return the text to be completed.  It must be
 text immediately before point.  Returning nil from this command passes
 control to the next backend.  The function should return `stop' if it
-should complete but cannot (e.g. if it is in the middle of a string).
+should complete but cannot (e.g. when in the middle of a symbol).
 Instead of a string, the backend may return a cons (PREFIX . LENGTH)
 where LENGTH is a number used in place of PREFIX's length when
 comparing against `company-minimum-prefix-length'.  LENGTH can also
@@ -2340,6 +2340,7 @@ If SHOW-VERSION is non-nil, show the version in the echo area."
   "Pop a buffer with information about completions at point."
   (interactive)
   (let* ((bb company-backends)
+         (mode (symbol-name major-mode))
          backend
          (prefix (cl-loop for b in bb
                           thereis (let ((company-backend b))
@@ -2365,6 +2366,8 @@ If SHOW-VERSION is non-nil, show the version in the echo area."
     (insert "\n")
     (insert "Used backend: " (pp-to-string backend))
     (insert "\n")
+    (insert "Major mode: " mode)
+    (insert "\n")
     (insert "Prefix: " (pp-to-string prefix))
     (insert "\n")
     (insert (message  "Completions:"))
@@ -2569,11 +2572,6 @@ If SHOW-VERSION is non-nil, show the version in the echo area."
           new
           (company-safe-substring old (+ offset (length new)))))
 
-(defsubst company--length-limit (lst limit)
-  (if (nthcdr limit lst)
-      limit
-    (length lst)))
-
 (defsubst company--window-height ()
   (if (fboundp 'window-screen-lines)
       (floor (window-screen-lines))
.emacs.d/elpa/company-20170517.1436/company.elc → .emacs.d/elpa/company-20170617.1502/company.elc
Binary file
.emacs.d/elpa/counsel-20170605.255/counsel-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "counsel" "20170605.255" "Various completion functions using Ivy" '((emacs "24.3") (swiper "0.9.0")) :commit "2d291911ef5d3cf29fd5e44ecc50b6270c1df18a" :url "https://github.com/abo-abo/swiper" :keywords '("completion" "matching"))
.emacs.d/elpa/counsel-20170605.255/counsel-autoloads.el → .emacs.d/elpa/counsel-20170622.758/counsel-autoloads.el
@@ -3,7 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "counsel" "counsel.el" (22839 4072 848904 341000))
+;;;### (autoloads nil "counsel" "counsel.el" (22859 63760 140223
+;;;;;;  945000))
 ;;; Generated autoloads from counsel.el
 
 (autoload 'counsel-el "counsel" "\
@@ -22,7 +23,8 @@ Clojure completion at point.
 \(fn)" t nil)
 
 (autoload 'counsel-unicode-char "counsel" "\
-Insert a Unicode character at point.
+Insert COUNT copies of a Unicode character at point.
+COUNT defaults to 1.
 
 \(fn &optional COUNT)" t nil)
 
@@ -58,6 +60,16 @@ Forward to (`info-lookup-symbol' SYMBOL MODE) with ivy completion.
 
 \(fn SYMBOL &optional MODE)" t nil)
 
+(autoload 'counsel-file-register "counsel" "\
+Search file in register.
+
+You cannot use Emacs' normal register commands to create file
+registers.  Instead you must use the `set-register' function like
+so: `(set-register ?i \"/home/eric/.emacs.d/init.el\")'.  Now you
+can use `C-x r j i' to open that file.
+
+\(fn)" t nil)
+
 (autoload 'counsel-bookmark "counsel" "\
 Forward to `bookmark-jump' or `bookmark-set' if bookmark doesn't exist.
 
@@ -89,15 +101,16 @@ Usable with `ivy-resume', `ivy-next-line-and-call' and
 \(fn)" t nil)
 
 (autoload 'counsel-descbinds "counsel" "\
-Show a list of all defined keys, and their definitions.
-Describe the selected candidate.
+Show a list of all defined keys and their definitions.
+If non-nil, show only bindings that start with PREFIX.
+BUFFER defaults to the current one.
 
 \(fn &optional PREFIX BUFFER)" t nil)
 
 (autoload 'counsel-git "counsel" "\
 Find file in the current Git repository.
 
-\(fn)" t nil)
+\(fn &optional INITIAL-INPUT)" t nil)
 
 (autoload 'counsel-git-grep "counsel" "\
 Grep for a string in the current git repository.
@@ -150,33 +163,41 @@ Call the \"rpm\" shell command.
 \(fn)" t nil)
 
 (autoload 'counsel-file-jump "counsel" "\
-Jump to a file from a list of all files directories
-below the current one.  INITIAL-INPUT can be given as the initial
-minibuffer input.  INITIAL-DIRECTORY, if non-nil, is used as the
-root directory for search.
+Jump to a file below the current directory.
+List all files within the current directory or any of its subdirectories.
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
 
 \(fn &optional INITIAL-INPUT INITIAL-DIRECTORY)" t nil)
 
 (autoload 'counsel-dired-jump "counsel" "\
-Jump to a directory (in dired) from a list of all directories
-below the current one.  INITIAL-INPUT can be given as the initial
-minibuffer input.  INITIAL-DIRECTORY, if non-nil, is used as the
-root directory for search.
+Jump to a directory (in dired) below the current directory.
+List all subdirectories within the current directory.
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
 
 \(fn &optional INITIAL-INPUT INITIAL-DIRECTORY)" t nil)
 
 (autoload 'counsel-ag "counsel" "\
 Grep for a string in the current directory using ag.
-  INITIAL-INPUT can be given as the initial minibuffer input.
-  INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
-  EXTRA-AG-ARGS string, if non-nil, is appended to `counsel-ag-base-command'.
-  AG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument. 
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
+EXTRA-AG-ARGS string, if non-nil, is appended to `counsel-ag-base-command'.
+AG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument.
 
 \(fn &optional INITIAL-INPUT INITIAL-DIRECTORY EXTRA-AG-ARGS AG-PROMPT)" t nil)
 
 (autoload 'counsel-pt "counsel" "\
 Grep for a string in the current directory using pt.
-This uses `counsel-ag' with `counsel-pt-base-command' replacing
+INITIAL-INPUT can be given as the initial minibuffer input.
+This uses `counsel-ag' with `counsel-pt-base-command' instead of
+`counsel-ag-base-command'.
+
+\(fn &optional INITIAL-INPUT)" t nil)
+
+(autoload 'counsel-ack "counsel" "\
+Grep for a string in the current directory using ack.
+This uses `counsel-ag' with `counsel-ack-base-command' replacing
 `counsel-ag-base-command'.
 
 \(fn &optional INITIAL-INPUT)" t nil)
@@ -186,7 +207,7 @@ Grep for a string in the current directory using rg.
 INITIAL-INPUT can be given as the initial minibuffer input.
 INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
 EXTRA-RG-ARGS string, if non-nil, is appended to `counsel-rg-base-command'.
-RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument. 
+RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument.
 
 \(fn &optional INITIAL-INPUT INITIAL-DIRECTORY EXTRA-RG-ARGS RG-PROMPT)" t nil)
 
@@ -201,7 +222,7 @@ Call `swiper' for small buffers and `counsel-grep' for large ones.
 \(fn)" t nil)
 
 (autoload 'counsel-org-tag "counsel" "\
-Add or remove tags in org-mode.
+Add or remove tags in `org-mode'.
 
 \(fn)" t nil)
 
@@ -236,7 +257,7 @@ Jump to a buffer position indexed by imenu.
 \(fn)" t nil)
 
 (autoload 'counsel-list-processes "counsel" "\
-Offer completion for `process-list'
+Offer completion for `process-list'.
 The default action deletes the selected process.
 An extra action allows to switch to the process buffer.
 
@@ -244,13 +265,12 @@ An extra action allows to switch to the process buffer.
 
 (autoload 'counsel-expression-history "counsel" "\
 Select an element of `read-expression-history'.
-And insert it into the minibuffer. Useful during
-`eval-expression'
+And insert it into the minibuffer.  Useful during `eval-expression'.
 
 \(fn)" t nil)
 
 (autoload 'counsel-shell-command-history "counsel" "\
-
+Browse shell command history.
 
 \(fn)" t nil)
 
@@ -312,6 +332,11 @@ a symbol and how to search for them.
 
 \(fn)" t nil)
 
+(autoload 'counsel-switch-to-shell-buffer "counsel" "\
+Switch to a shell buffer, or create one.
+
+\(fn)" t nil)
+
 (defvar counsel-mode nil "\
 Non-nil if Counsel mode is enabled.
 See the `counsel-mode' command
.emacs.d/elpa/counsel-20170622.758/counsel-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "counsel" "20170622.758" "Various completion functions using Ivy" '((emacs "24.3") (swiper "0.9.0")) :commit "36471155b1010321f1805b65f1a4af2f5a41203c" :url "https://github.com/abo-abo/swiper" :keywords '("completion" "matching"))
.emacs.d/elpa/counsel-20170605.255/counsel.el → .emacs.d/elpa/counsel-20170622.758/counsel.el
@@ -4,7 +4,7 @@
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 ;; URL: https://github.com/abo-abo/swiper
-;; Package-Version: 20170605.255
+;; Package-Version: 20170622.758
 ;; Version: 0.9.1
 ;; Package-Requires: ((emacs "24.3") (swiper "0.9.0"))
 ;; Keywords: completion, matching
@@ -52,6 +52,7 @@
         (format "%d chars more" (- n (length ivy-text)))))
 
 (defun counsel-unquote-regex-parens (str)
+  "Unquote regex parenthesis in STR."
   (let ((start 0)
         ms)
     (while (setq start (string-match "\\\\)\\|\\\\(\\|[()]" str start))
@@ -69,7 +70,7 @@
              (setq str (replace-match "\\)" nil t str))
              (setq start (+ start 2)))
             (t
-             (error "unexpected"))))
+             (error "Unexpected"))))
     str))
 
 (defun counsel-directory-parent (dir)
@@ -96,8 +97,8 @@ Or the time of the last minibuffer update.")
 Or the time of the last minibuffer update.")
 
 (defvar counsel--async-duration nil
-  "Store the time in seconds between starting a process and
-  receiving all candidates.")
+  "Store the time a process takes to gather all its candidates.
+The time is measured in seconds.")
 
 (defvar counsel--async-exit-code-plist nil
   "Associates exit codes with reasons.")
@@ -115,6 +116,11 @@ Or the time of the last minibuffer update.")
   "Store the regexp for splitting shell command output.")
 
 (defun counsel--async-command (cmd &optional process-sentinel process-filter)
+  "Start new counsel process by calling CMD.
+If a counsel process is already running, kill it and its associated buffer
+before starting a new one.  If non-nil, use PROCESS-SENTINEL as the sentinel
+function instead of `counsel--async-sentinel'.  If non-nil, use PROCESS-FILTER
+for handling the output of the process instead of `counsel--async-filter'."
   (let* ((counsel--process " *counsel*")
          (proc (get-process counsel--process))
          (buff (get-buffer counsel--process)))
@@ -134,6 +140,8 @@ Or the time of the last minibuffer update.")
 (defvar counsel-grep-last-line nil)
 
 (defun counsel--async-sentinel (process event)
+  "Sentinel function for an asynchronous counsel PROCESS.
+EVENT is a string describing the change."
   (let ((cands
          (cond ((string= event "finished\n")
                 (with-current-buffer (process-buffer process)
@@ -224,6 +232,7 @@ Update the minibuffer with the amount of lines collected every
    (format "%s: " (ivy-state-prompt ivy-last))))
 
 (defun counsel-delete-process ()
+  "Delete current counsel process."
   (let ((process (get-process " *counsel*")))
     (when process
       (delete-process process))))
@@ -360,7 +369,8 @@ Update the minibuffer with the amount of lines collected every
 
 ;;;###autoload
 (defun counsel-unicode-char (&optional count)
-  "Insert a Unicode character at point."
+  "Insert COUNT copies of a Unicode character at point.
+COUNT defaults to 1."
   (interactive "p")
   (let ((minibuffer-allow-text-properties t)
         (ivy-sort-max-size (expt 256 6)))
@@ -644,13 +654,46 @@ input corresponding to the chosen variable."
  'counsel-M-x
  'counsel-M-x-transformer)
 
+;;;###autoload
+(defun counsel-file-register ()
+  "Search file in register.
+
+You cannot use Emacs' normal register commands to create file
+registers.  Instead you must use the `set-register' function like
+so: `(set-register ?i \"/home/eric/.emacs.d/init.el\")'.  Now you
+can use `C-x r j i' to open that file."
+  (interactive)
+  (ivy-read "File Register: "
+            ;; Use the `register-alist' variable to filter out file
+            ;; registers.  Each entry for a file registar will have the
+            ;; following layout:
+            ;;
+            ;;     (NUMBER 'file . "string/path/to/file")
+            ;;
+            ;; So we go through each entry and see if the `cadr' is
+            ;; `eq' to the symbol `file'.  If so then add the filename
+            ;; (`cddr') which `ivy-read' will use for its choices.
+            (mapcar (lambda (register-alist-entry)
+                      (if (eq 'file (cadr register-alist-entry))
+                          (cddr register-alist-entry)))
+                      register-alist)
+            :sort t
+            :require-match t
+            :history 'counsel-file-register
+            :caller 'counsel-file-register
+            :action (lambda (register-file)
+                      (with-ivy-window (find-file register-file)))))
+
+(ivy-set-actions
+ 'counsel-file-register
+ '(("j" find-file-other-window "other window")))
+
 (declare-function bookmark-all-names "bookmark")
 (declare-function bookmark-location "bookmark")
 
 (defcustom counsel-bookmark-avoid-dired nil
-  "If non-nil, choosing a directory in `counsel-bookmark'
-forwards the choice to `counsel-find-file' instead of opening a
-dired buffer."
+  "If non-nil, open directory bookmarks with `counsel-find-file'.
+By default `counsel-bookmark' opens a dired buffer for directories."
   :type 'boolean
   :group 'ivy)
 
@@ -697,7 +740,7 @@ dired buffer."
 (declare-function smex-rank "ext:smex")
 
 (defun counsel--M-x-prompt ()
-  "M-x plus the string representation of `current-prefix-arg'."
+  "String for `M-x' plus the string representation of `current-prefix-arg'."
   (if (not current-prefix-arg)
       "M-x "
     (concat
@@ -857,6 +900,8 @@ Usable with `ivy-resume', `ivy-next-line-and-call' and
   "History for `counsel-descbinds'.")
 
 (defun counsel--descbinds-cands (&optional prefix buffer)
+  "Get key bindings starting with PREFIX in BUFFER.
+See `describe-buffer-bindings' for further information."
   (let ((buffer (or buffer (current-buffer)))
         (re-exclude (regexp-opt
                      '("<vertical-line>" "<bottom-divider>" "<right-divider>"
@@ -891,21 +936,28 @@ Usable with `ivy-resume', `ivy-next-line-and-call' and
     (nreverse res)))
 
 (defun counsel-descbinds-action-describe (x)
+  "Describe function of candidate X.
+See `describe-function' for further information."
   (let ((cmd (cddr x)))
     (describe-function cmd)))
 
 (defun counsel-descbinds-action-find (x)
+  "Find symbol definition of candidate X.
+See `counsel--find-symbol' for further information."
   (let ((cmd (cddr x)))
     (counsel--find-symbol (symbol-name cmd))))
 
 (defun counsel-descbinds-action-info (x)
+  "Display symbol definition of candidate X, as found in the relevant manual.
+See `info-lookup-symbol' for further information."
   (let ((cmd (cddr x)))
     (counsel-info-lookup-symbol (symbol-name cmd))))
 
 ;;;###autoload
 (defun counsel-descbinds (&optional prefix buffer)
-  "Show a list of all defined keys, and their definitions.
-Describe the selected candidate."
+  "Show a list of all defined keys and their definitions.
+If non-nil, show only bindings that start with PREFIX.
+BUFFER defaults to the current one."
   (interactive)
   (ivy-read "Bindings: " (counsel--descbinds-cands prefix buffer)
             :action #'counsel-descbinds-action-describe
@@ -937,7 +989,7 @@ Describe the selected candidate."
    ("x" counsel-find-file-extern "open externally")))
 
 ;;;###autoload
-(defun counsel-git ()
+(defun counsel-git (&optional initial-input)
   "Find file in the current Git repository."
   (interactive)
   (setq counsel--git-dir (locate-dominating-file
@@ -953,10 +1005,12 @@ Describe the selected candidate."
                    "\n"
                    t)))
       (ivy-read "Find file" cands
+                :initial-input initial-input
                 :action #'counsel-git-action
                 :caller 'counsel-git))))
 
 (defun counsel-git-action (x)
+  "Find file X in current Git repository."
   (with-ivy-window
     (let ((default-directory counsel--git-dir))
       (find-file x))))
@@ -1010,20 +1064,26 @@ Typical value: '(recenter)."
                                   (cl-subseq dir-list (- (length dir-list) 3))))
                  directory))))))
 
+(defcustom counsel-git-grep-skip-counting-lines nil
+  "If non-nil, don't count lines before grepping ina git repository."
+  :type 'boolean
+  :group 'ivy)
+
 (defun counsel-git-grep-function (string &optional _pred &rest _unused)
   "Grep in the current git repository for STRING."
-  (if (and (> counsel--git-grep-count 20000)
+  (if (and (or counsel-git-grep-skip-counting-lines (> counsel--git-grep-count 20000))
            (< (length string) 3))
       (counsel-more-chars 3)
     (let* ((default-directory counsel--git-grep-dir)
            (cmd (format counsel-git-grep-cmd
                         (setq ivy--old-re (ivy--regex string t)))))
-      (if (<= counsel--git-grep-count 20000)
+      (if (and (not counsel-git-grep-skip-counting-lines) (<= counsel--git-grep-count 20000))
           (split-string (shell-command-to-string cmd) "\n" t)
         (counsel--gg-candidates (ivy--regex string))
         nil))))
 
 (defun counsel-git-grep-action (x)
+  "Go to occurrence X in current Git repository."
   (when (string-match "\\`\\(.*?\\):\\([0-9]+\\):\\(.*\\)\\'" x)
     (with-ivy-window
       (let ((file-name (match-string-no-properties 1 x))
@@ -1039,6 +1099,7 @@ Typical value: '(recenter)."
           (swiper--add-overlays (ivy--regex ivy-text)))))))
 
 (defun counsel-git-grep-matcher (regexp candidates)
+  "Return REGEXP matching CANDIDATES for `counsel-git-grep'."
   (or (and (equal regexp ivy--old-re)
            ivy--old-cands)
       (prog1
@@ -1114,24 +1175,35 @@ INITIAL-INPUT can be given as the initial minibuffer input."
             (locate-dominating-file default-directory ".git")))
     (if (null counsel--git-grep-dir)
         (error "Not in a git repository")
-      (unless proj
+      (unless (or proj counsel-git-grep-skip-counting-lines)
         (setq counsel--git-grep-count
               (if (eq system-type 'windows-nt)
                   0
                 (counsel--gg-count "" t))))
-      (ivy-read "git grep" (if proj
-                               'counsel-git-grep-proj-function
-                             'counsel-git-grep-function)
-                :initial-input initial-input
-                :matcher #'counsel-git-grep-matcher
-                :dynamic-collection (or proj (> counsel--git-grep-count 20000))
-                :keymap counsel-git-grep-map
-                :action #'counsel-git-grep-action
-                :unwind #'swiper--cleanup
-                :history 'counsel-git-grep-history
-                :caller 'counsel-git-grep))))
+      (cl-flet
+          ((collection-function
+            (if proj
+                #'counsel-git-grep-proj-function
+              #'counsel-git-grep-function))
+           (unwind-function
+            (if proj
+                (lambda ()
+                  (counsel-delete-process)
+                  (swiper--cleanup))
+              (lambda ()
+                (swiper--cleanup)))))
+        (ivy-read "git grep" #'collection-function
+                  :initial-input initial-input
+                  :matcher #'counsel-git-grep-matcher
+                  :dynamic-collection (or proj counsel-git-grep-skip-counting-lines (> counsel--git-grep-count 20000))
+                  :keymap counsel-git-grep-map
+                  :action #'counsel-git-grep-action
+                  :unwind #'unwind-function
+                  :history 'counsel-git-grep-history
+                  :caller 'counsel-git-grep)))))
 
 (defun counsel-git-grep-proj-function (str)
+  "Grep for STR in the current git repository."
   (if (< (length str) 3)
       (counsel-more-chars 3)
     (let ((regex (setq ivy--old-re
@@ -1177,6 +1249,8 @@ INITIAL-INPUT can be given as the initial minibuffer input."
      #'counsel--gg-sentinel)))
 
 (defun counsel--gg-sentinel (process event)
+  "Sentinel function for a `counsel-git-grep' PROCESS.
+EVENT is a string describing the change."
   (if (member event '("finished\n"
                       "exited abnormally with code 141\n"))
       (progn
@@ -1194,8 +1268,9 @@ INITIAL-INPUT can be given as the initial minibuffer input."
           (ivy--exhibit)))))
 
 (defun counsel--gg-count (regex &optional no-async)
-  "Quickly and asynchronously count the amount of git grep REGEX matches.
-When NO-ASYNC is non-nil, do it synchronously."
+  "Count the number of results matching REGEX in `counsel-git-grep'.
+The command to count the matches is called asynchronously.
+If NO-ASYNC is non-nil, do it synchronously instead."
   (let ((default-directory counsel--git-grep-dir)
         (cmd
          (concat
@@ -1278,6 +1353,7 @@ When REVERT is non-nil, regenerate the current *ivy-occur* buffer."
                    (perform-replace from to t t nil)))))))))))
 
 (defun counsel-git-grep-recenter ()
+  "Recenter window according to the selected candidate."
   (interactive)
   (with-ivy-window
     (counsel-git-grep-action (ivy-state-current ivy-last))
@@ -1285,6 +1361,8 @@ When REVERT is non-nil, regenerate the current *ivy-occur* buffer."
 
 ;;** `counsel-git-stash'
 (defun counsel-git-stash-kill-action (x)
+  "Add git stash command to kill ring.
+The git command applies the stash entry where candidate X was found in."
   (when (string-match "\\([^:]+\\):" x)
     (kill-new (message (format "git stash apply %s" (match-string 1 x))))))
 
@@ -1308,6 +1386,7 @@ done") "\n" t)))
   "Command used for \"git log\".")
 
 (defun counsel-git-log-function (input)
+  "Search for INPUT in git log."
   (if (< (length input) 3)
       (counsel-more-chars 3)
     ;; `counsel--yank-pop-format-function' uses this
@@ -1320,6 +1399,7 @@ done") "\n" t)))
     nil))
 
 (defun counsel-git-log-action (x)
+  "Add candidate X to kill ring."
   (message "%S" (kill-new x)))
 
 (defcustom counsel-yank-pop-truncate-radius 2
@@ -1330,9 +1410,9 @@ done") "\n" t)))
 ;;** `counsel-git-change-worktree'
 (autoload 'string-trim-right "subr-x")
 (defun counsel-git-change-worktree-action (git-root-dir tree)
-  "Find the corresponding file in the worktree located at TREE.
-
-The current buffer is assumed to be in a subdirectory of GIT-ROOT-DIR."
+  "Find the corresponding file in the worktree located at tree.
+The current buffer is assumed to be in a subdirectory of GIT-ROOT-DIR.
+TREE is the selected candidate."
   (let* ((new-root-dir (counsel-git-worktree-parse-root tree))
          (tree-filename (file-relative-name (buffer-file-name) git-root-dir))
          (file-name (expand-file-name tree-filename new-root-dir)))
@@ -1346,6 +1426,7 @@ The current buffer is assumed to be in a subdirectory of GIT-ROOT-DIR."
     (delete "" (split-string (string-trim-right cmd-output) "\n"))))
 
 (defun counsel-git-worktree-parse-root (tree)
+  "Return worktree from candidate TREE."
   (substring tree 0 (string-match " " tree)))
 
 ;;;###autoload
@@ -1403,7 +1484,7 @@ The current buffer is assumed to be in a subdirectory of GIT-ROOT-DIR."
   :group 'ivy)
 
 (defun counsel-find-file-as-root (x)
-  "Find file with root privileges."
+  "Find file X with root privileges."
   (let* ((host (file-remote-p x 'host))
          (file-name (format "/%s:%s:%s"
                             counsel-root-command
@@ -1435,7 +1516,7 @@ The current buffer is assumed to be in a subdirectory of GIT-ROOT-DIR."
 These files are un-ignored if `ivy-text' matches them.  The
 common way to show all files is to start `ivy-text' with a dot.
 
-Example value: \"\\(?:\\`[#.]\\)\\|\\(?:[#~]\\'\\)\". This will hide
+Example value: \"\\(?:\\`[#.]\\)\\|\\(?:[#~]\\'\\)\".  This will hide
 temporary and lock files.
 \\<ivy-minibuffer-map>
 Choosing the dotfiles option, \"\\`\\.\", might be convenient,
@@ -1449,7 +1530,7 @@ but the leading dot is a lot faster."
           (regexp :tag "Regex")))
 
 (defun counsel--find-file-matcher (regexp candidates)
-  "Return REGEXP-matching CANDIDATES.
+  "Return REGEXP matching CANDIDATES.
 Skip some dotfiles unless `ivy-text' requires them."
   (let ((res (ivy--re-filter regexp candidates)))
     (if (or (null ivy-use-ignore)
@@ -1636,6 +1717,7 @@ string - the full shell command to run."
            (ivy--regex input t))))
 
 (defun counsel-locate-function (input)
+  "Call the \"locate\" shell command with INPUT."
   (if (< (length input) 3)
       (counsel-more-chars 3)
     (counsel--async-command
@@ -1702,10 +1784,10 @@ INITIAL-INPUT can be given as the initial minibuffer input."
 
 ;;;###autoload
 (defun counsel-file-jump (&optional initial-input initial-directory)
-  "Jump to a file from a list of all files directories
-below the current one.  INITIAL-INPUT can be given as the initial
-minibuffer input.  INITIAL-DIRECTORY, if non-nil, is used as the
-root directory for search."
+  "Jump to a file below the current directory.
+List all files within the current directory or any of its subdirectories.
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search."
   (interactive
    (list nil
          (when current-prefix-arg
@@ -1731,10 +1813,10 @@ root directory for search."
 
 ;;;###autoload
 (defun counsel-dired-jump (&optional initial-input initial-directory)
-  "Jump to a directory (in dired) from a list of all directories
-below the current one.  INITIAL-INPUT can be given as the initial
-minibuffer input.  INITIAL-DIRECTORY, if non-nil, is used as the
-root directory for search."
+  "Jump to a directory (in dired) below the current directory.
+List all subdirectories within the current directory.
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search."
   (interactive
    (list nil
          (when current-prefix-arg
@@ -1749,6 +1831,30 @@ root directory for search."
               :caller 'counsel-dired-jump)))
 
 ;;* Grep
+(defun counsel--grep-mode-occur (git-grep-dir-is-file)
+  "Generate a custom occur buffer for grep like commands.
+If GIT-GREP-DIR-IS-FILE is t, then `counsel--git-grep-dir' is treated as a full
+path to a file rather than a directory (e.g. for `counsel-grep-occur').
+
+This function expects that the candidates have already been filtered.
+It applies no filtering to ivy--all-candidates."
+  (unless (eq major-mode 'ivy-occur-grep-mode)
+    (ivy-occur-grep-mode))
+  (let* ((directory
+          (if git-grep-dir-is-file
+              (file-name-directory counsel--git-grep-dir)
+            counsel--git-grep-dir))
+         (prepend
+          (if git-grep-dir-is-file
+              (concat (file-name-nondirectory counsel--git-grep-dir) ":")
+            "")))
+    (setq default-directory directory)
+    ;; Need precise number of header lines for `wgrep' to work.
+    (insert (format "-*- mode:grep; default-directory: %S -*-\n\n\n" default-directory))
+    (insert (format "%d candidates:\n" (length ivy--all-candidates)))
+    (ivy--occur-insert-lines
+     (mapcar (lambda (cand) (concat "./" prepend cand)) ivy--all-candidates))))
+
 ;;** `counsel-ag'
 (defvar counsel-ag-map
   (let ((map (make-sparse-keymap)))
@@ -1757,9 +1863,9 @@ root directory for search."
     map))
 
 (defcustom counsel-ag-base-command "ag --nocolor --nogroup %s"
-  "Format string to use in `counsel-ag-function' to construct the
-command. The %s will be replaced by optional extra ag arguments followed by the
-regex string. The default is \"ag --nocolor --nogroup %s\"."
+  "Format string to use in `counsel-ag-function' to construct the command.
+The %s will be replaced by optional extra ag arguments followed by the
+regex string.  The default is \"ag --nocolor --nogroup %s\"."
   :type 'string
   :group 'ivy)
 
@@ -1768,8 +1874,8 @@ regex string. The default is \"ag --nocolor --nogroup %s\"."
 (ivy-set-display-transformer 'counsel-ag 'counsel-git-grep-transformer)
 
 (defun counsel-ag-function (string base-cmd extra-ag-args)
-  "Grep in the current directory for STRING.
-If non-nil, EXTRA-AG-ARGS string is appended to BASE-CMD."
+  "Grep in the current directory for STRING using BASE-CMD.
+If non-nil, append EXTRA-AG-ARGS to BASE-CMD."
   (when (null extra-ag-args)
     (setq extra-ag-args ""))
   (if (< (length string) 3)
@@ -1798,10 +1904,10 @@ If non-nil, EXTRA-AG-ARGS string is appended to BASE-CMD."
 ;;;###autoload
 (defun counsel-ag (&optional initial-input initial-directory extra-ag-args ag-prompt)
   "Grep for a string in the current directory using ag.
-  INITIAL-INPUT can be given as the initial minibuffer input.
-  INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
-  EXTRA-AG-ARGS string, if non-nil, is appended to `counsel-ag-base-command'.
-  AG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument. "
+INITIAL-INPUT can be given as the initial minibuffer input.
+INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
+EXTRA-AG-ARGS string, if non-nil, is appended to `counsel-ag-base-command'.
+AG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument."
   (interactive)
   (when current-prefix-arg
     (setq initial-directory
@@ -1833,48 +1939,47 @@ If non-nil, EXTRA-AG-ARGS string is appended to BASE-CMD."
 
 (defun counsel-ag-occur ()
   "Generate a custom occur buffer for `counsel-ag'."
-  (unless (eq major-mode 'ivy-occur-grep-mode)
-    (ivy-occur-grep-mode))
-  (setq default-directory counsel--git-grep-dir)
-  (let* ((regex (counsel-unquote-regex-parens
-                 (setq ivy--old-re
-                       (ivy--regex
-                        (progn (string-match "\"\\(.*\\)\"" (buffer-name))
-                               (match-string 1 (buffer-name)))))))
-         (cands (split-string
-                 (shell-command-to-string
-                  (format counsel-ag-base-command (concat "-- " (shell-quote-argument regex))))
-                 "\n"
-                 t)))
-    ;; Need precise number of header lines for `wgrep' to work.
-    (insert (format "-*- mode:grep; default-directory: %S -*-\n\n\n"
-                    default-directory))
-    (insert (format "%d candidates:\n" (length cands)))
-    (ivy--occur-insert-lines
-     (mapcar
-      (lambda (cand) (concat "./" cand))
-      cands))))
+  (counsel--grep-mode-occur nil))
 
 ;;** `counsel-pt'
 (defcustom counsel-pt-base-command "pt --nocolor --nogroup -e %s"
-  "Used to in place of `counsel-ag-base-command' to search with
-pt using `counsel-ag'."
+  "Alternative to `counsel-ag-base-command' using pt."
   :type 'string
   :group 'ivy)
 
 ;;;###autoload
 (defun counsel-pt (&optional initial-input)
   "Grep for a string in the current directory using pt.
-This uses `counsel-ag' with `counsel-pt-base-command' replacing
+INITIAL-INPUT can be given as the initial minibuffer input.
+This uses `counsel-ag' with `counsel-pt-base-command' instead of
 `counsel-ag-base-command'."
   (interactive)
   (let ((counsel-ag-base-command counsel-pt-base-command))
     (counsel-ag initial-input)))
 
+;;** `counsel-ack'
+(defcustom counsel-ack-base-command
+  (concat
+   (file-name-nondirectory
+    (or (executable-find "ack-grep") "ack"))
+   " --nocolor --nogroup %s")
+  "Alternative to `counsel-ag-base-command' using ack."
+  :type 'string
+  :group 'ivy)
+
+;;;###autoload
+(defun counsel-ack (&optional initial-input)
+  "Grep for a string in the current directory using ack.
+This uses `counsel-ag' with `counsel-ack-base-command' replacing
+`counsel-ag-base-command'."
+  (interactive)
+  (let ((counsel-ag-base-command counsel-ack-base-command))
+    (counsel-ag initial-input)))
+
+
 ;;** `counsel-rg'
-(defcustom counsel-rg-base-command "rg -i --no-heading --line-number --max-columns 150 %s ."
-  "Used to in place of `counsel-rg-base-command' to search with
-ripgrep using `counsel-rg'."
+(defcustom counsel-rg-base-command "rg -i --no-heading --line-number --max-columns 150 --color never %s ."
+  "Alternative to `counsel-ag-base-command' using ripgrep."
   :type 'string
   :group 'ivy)
 
@@ -1888,7 +1993,7 @@ ripgrep using `counsel-rg'."
 INITIAL-INPUT can be given as the initial minibuffer input.
 INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
 EXTRA-RG-ARGS string, if non-nil, is appended to `counsel-rg-base-command'.
-RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument. "
+RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument."
   (interactive
    (list nil
          (when current-prefix-arg
@@ -1912,32 +2017,11 @@ RG-PROMPT, if non-nil, is passed as `ivy-read' prompt argument. "
 
 (defun counsel-rg-occur ()
   "Generate a custom occur buffer for `counsel-rg'."
-  (unless (eq major-mode 'ivy-occur-grep-mode)
-    (ivy-occur-grep-mode))
-  (setq default-directory counsel--git-grep-dir)
-  (let* ((regex (counsel-unquote-regex-parens
-                 (setq ivy--old-re
-                       (ivy--regex
-                        (progn (string-match "\"\\(.*\\)\"" (buffer-name))
-                               (match-string 1 (buffer-name)))))))
-         (cands (split-string
-                 (shell-command-to-string
-                  (format counsel-rg-base-command (shell-quote-argument regex)))
-                 "\n"
-                 t)))
-    ;; Need precise number of header lines for `wgrep' to work.
-    (insert (format "-*- mode:grep; default-directory: %S -*-\n\n\n"
-                    default-directory))
-    (insert (format "%d candidates:\n" (length cands)))
-    (ivy--occur-insert-lines
-     (mapcar
-      (lambda (cand) (concat "./" cand))
-      cands))))
+  (counsel--grep-mode-occur nil))
 
 ;;** `counsel-grep'
 (defcustom counsel-grep-base-command "grep -nE '%s' %s"
-  "Format string to use in `cousel-grep-function' to construct
-the command."
+  "Format string to use in `cousel-grep-function' to construct the command."
   :type 'string
   :group 'ivy)
 
@@ -1954,6 +2038,7 @@ the command."
       nil)))
 
 (defun counsel-grep-action (x)
+  "Go to candidate X."
   (with-ivy-window
     (swiper--cleanup)
     (let ((default-directory (file-name-directory counsel--git-grep-dir))
@@ -1989,28 +2074,7 @@ the command."
 
 (defun counsel-grep-occur ()
   "Generate a custom occur buffer for `counsel-grep'."
-  (unless (eq major-mode 'ivy-occur-grep-mode)
-    (ivy-occur-grep-mode))
-  (let ((cands
-         (split-string
-          (shell-command-to-string
-           (format counsel-grep-base-command
-                   (counsel-unquote-regex-parens
-                    (setq ivy--old-re
-                          (ivy--regex
-                           (progn (string-match "\"\\(.*\\)\"" (buffer-name))
-                                  (match-string 1 (buffer-name))) t)))
-                   (shell-quote-argument counsel--git-grep-dir)))
-          "\n" t))
-        (file (file-name-nondirectory counsel--git-grep-dir)))
-    ;; Need precise number of header lines for `wgrep' to work.
-    (insert (format "-*- mode:grep; default-directory: %S -*-\n\n\n"
-                    default-directory))
-    (insert (format "%d candidates:\n" (length cands)))
-    (ivy--occur-insert-lines
-     (mapcar
-      (lambda (cand) (concat "./" file ":" cand))
-      cands))))
+  (counsel--grep-mode-occur t))
 
 (ivy-set-occur 'counsel-grep 'counsel-grep-occur)
 (counsel-set-async-exit-code 'counsel-grep 1 "")
@@ -2127,6 +2191,7 @@ INITIAL-INPUT can be given as the initial minibuffer input."
 (declare-function org-move-to-column "org-compat")
 
 (defun counsel-org-change-tags (tags)
+  "Change tags of current org headline to TAGS."
   (let ((current (org-get-tags-string))
         (col (current-column))
         level)
@@ -2161,6 +2226,7 @@ INITIAL-INPUT can be given as the initial minibuffer input."
     (org-move-to-column col)))
 
 (defun counsel-org--set-tags ()
+  "Set tags of current org headline to `counsel-org-tags'."
   (counsel-org-change-tags
    (if counsel-org-tags
        (format ":%s:"
@@ -2173,6 +2239,10 @@ INITIAL-INPUT can be given as the initial minibuffer input."
 (declare-function org-agenda-error "org-agenda")
 
 (defun counsel-org-tag-action (x)
+  "Add tag X to `counsel-org-tags'.
+If X is already part of the list, remove it instead.  Quit the selection if
+X is selected by either `ivy-done', `ivy-alt-done' or `ivy-immediate-done',
+otherwise continue prompting for tags."
   (if (member x counsel-org-tags)
       (progn
         (setq counsel-org-tags (delete x counsel-org-tags)))
@@ -2209,6 +2279,7 @@ INITIAL-INPUT can be given as the initial minibuffer input."
            (delete-minibuffer-contents)))))
 
 (defun counsel-org-tag-prompt ()
+  "Return prompt for `counsel-org-tag'."
   (format "Tags (%s): "
           (mapconcat #'identity counsel-org-tags ", ")))
 
@@ -2227,7 +2298,7 @@ INITIAL-INPUT can be given as the initial minibuffer input."
 
 ;;;###autoload
 (defun counsel-org-tag ()
-  "Add or remove tags in org-mode."
+  "Add or remove tags in `org-mode'."
   (interactive)
   (save-excursion
     (if (eq major-mode 'org-agenda-mode)
@@ -2447,7 +2518,7 @@ The face can be customized through `counsel-org-goto-face-style'."
 
 ;;** `counsel-mark-ring'
 (defun counsel--pad (string length)
-  "Pad string to length with spaces."
+  "Pad STRING to LENGTH with spaces."
   (let ((padding (max 0 (- length (length string)))))
     (concat string (make-string padding ?\s))))
 
@@ -2484,10 +2555,9 @@ The face can be customized through `counsel-org-goto-face-style'."
 (defun counsel-package ()
   "Install or delete packages.
 
-Packages not currently installed have a \"+\"
-prepended. Selecting one of these will try to install
-it. Currently installed packages have a \"-\" prepended, and
-selecting one of these will delete the package.
+Packages not currently installed have a \"+\" prepended.  Selecting one
+of these will try to install it.  Currently installed packages have a
+\"-\" prepended, and selecting one of these will delete the package.
 
 Additional Actions:
 
@@ -2507,6 +2577,7 @@ Additional Actions:
               :caller 'counsel-package)))
 
 (defun counsel-package-make-package-cell (pkg)
+  "Make candidate for package PKG."
   (let* ((pkg-sym (car pkg))
          (pkg-name (symbol-name pkg-sym)))
     (cons (format "%s%s"
@@ -2515,6 +2586,7 @@ Additional Actions:
           pkg)))
 
 (defun counsel-package-action (pkg-cons)
+  "Delete or install package in PKG-CONS."
   (let ((pkg (cadr pkg-cons)))
     (if (package-installed-p pkg)
         (package-delete
@@ -2537,7 +2609,8 @@ Additional Actions:
       (browse-url url))))
 
 (defun counsel--package-sort (a b)
-  "Sort function for `counsel-package'."
+  "Sort function for `counsel-package'.
+A is the left hand side, B the right hand side."
   (let* ((a (car a))
          (b (car b))
          (a-inst (equal (substring a 0 1) "+"))
@@ -2588,6 +2661,7 @@ Additional Actions:
 
 ;;** `counsel-yank-pop'
 (defun counsel--yank-pop-truncate (str)
+  "Truncate STR for use in `counsel-yank-pop'."
   (condition-case nil
       (let* ((lines (split-string str "\n" t))
              (n (length lines))
@@ -2616,6 +2690,7 @@ Additional Actions:
   :type 'string)
 
 (defun counsel--yank-pop-format-function (cand-pairs)
+  "Transform CAND-PAIRS into a string for `counsel-yank-pop'."
   (ivy--format-function-generic
    (lambda (str)
      (mapconcat
@@ -2723,12 +2798,14 @@ PREFIX is used to create the key."
 
 ;;** `counsel-list-processes'
 (defun counsel-list-processes-action-delete (x)
+  "Delete process X."
   (delete-process x)
   (setf (ivy-state-collection ivy-last)
         (setq ivy--all-candidates
               (delete x ivy--all-candidates))))
 
 (defun counsel-list-processes-action-switch (x)
+  "Switch to buffer of process X."
   (let* ((proc (get-process x))
          (buf (and proc (process-buffer proc))))
     (if buf
@@ -2737,7 +2814,7 @@ PREFIX is used to create the key."
 
 ;;;###autoload
 (defun counsel-list-processes ()
-  "Offer completion for `process-list'
+  "Offer completion for `process-list'.
 The default action deletes the selected process.
 An extra action allows to switch to the process buffer."
   (interactive)
@@ -2783,8 +2860,7 @@ An extra action allows to switch to the process buffer."
 ;;;###autoload
 (defun counsel-expression-history ()
   "Select an element of `read-expression-history'.
-And insert it into the minibuffer. Useful during
-`eval-expression'"
+And insert it into the minibuffer.  Useful during `eval-expression'."
   (interactive)
   (let ((enable-recursive-minibuffers t))
     (ivy-read "Expr: " (delete-dups read-expression-history)
@@ -2793,6 +2869,7 @@ And insert it into the minibuffer. Useful during
 ;;** `counsel-shell-command-history'
 ;;;###autoload
 (defun counsel-shell-command-history ()
+  "Browse shell command history."
   (interactive)
   (ivy-read "cmd: " shell-command-history
             :action #'insert
@@ -2855,6 +2932,7 @@ And insert it into the minibuffer. Useful during
 (declare-function semantic-fetch-tags "semantic")
 
 (defun counsel-semantic-action (tag)
+  "Got to semantic TAG."
   (with-ivy-window
     (goto-char (semantic-tag-start tag))))
 
@@ -2877,6 +2955,7 @@ And insert it into the minibuffer. Useful during
 
 ;;** `counsel-outline'
 (defun counsel-outline-candidates ()
+  "Return outline candidates."
   (let (cands)
     (save-excursion
       (goto-char (point-min))
@@ -2889,6 +2968,7 @@ And insert it into the minibuffer. Useful during
       (nreverse cands))))
 
 (defun counsel-outline-action (x)
+  "Go to outline X."
   (with-ivy-window
     (goto-char (cdr x))))
 
@@ -2980,7 +3060,7 @@ And insert it into the minibuffer. Useful during
   :type '(list directory))
 
 (defcustom counsel-linux-app-format-function 'counsel-linux-app-format-function-default
-  "Function to format linux application names the `counsel-linux-app' menu.
+  "Function to format Linux application names the `counsel-linux-app' menu.
 The format function will be passed the application's name, comment, and command
 as arguments."
   :group 'counsel
@@ -3007,7 +3087,9 @@ as arguments."
   "The function used to format the cached Linux application menu.")
 
 (defun counsel-linux-app-format-function-default (name comment exec)
-  "Default linux application name formatter."
+  "Default Linux application name formatter.
+NAME is the name of the application, COMMENT its comment and EXEC
+the command to launch it."
   (format "% -45s: %s%s"
           (propertize exec 'face 'font-lock-builtin-face)
           name
@@ -3016,7 +3098,8 @@ as arguments."
             "")))
 
 (defun counsel-linux-app-format-function-name-first (name comment exec)
-  "Format linux application names with the name (and comment) first."
+  "Format Linux application names with the NAME (and COMMENT) first.
+EXEC is the command to launch the application."
   (format "%s%s (%s)"
           name
           (if comment
@@ -3025,7 +3108,7 @@ as arguments."
           (propertize exec 'face 'font-lock-builtin-face)))
 
 (defun counsel-linux-app-format-function-name-only (name comment _exec)
-  "Format linux application names with the name (and comment) only."
+  "Format Linux application names with the NAME (and COMMENT) only."
   (format "%s%s"
           name
           (if comment
@@ -3033,13 +3116,13 @@ as arguments."
             "")))
 
 (defun counsel-linux-app-format-function-command-only (_name _comment exec)
-  "Display only the command (Exec field) when formatting linux application names."
+  "Display only the command EXEC when formatting Linux application names."
   exec)
 
 (defun counsel-linux-apps-list-desktop-files ()
-  "Return an alist of (desktop-name . desktop-file) pairs for all Linux applications.
-
-   This function always returns it's elements in a stable order."
+  "Return an alist of all Linux applications.
+Each list entry is a pair of (desktop-name . desktop-file).
+This function always returns its elements in a stable order."
   (let ((hash (make-hash-table :test #'equal))
         result)
     (dolist (dir counsel-linux-apps-directories)
@@ -3053,9 +3136,10 @@ as arguments."
     result))
 
 (defun counsel-linux-apps-parse (desktop-entries-alist)
-  "Parse the given alist of desktop entries ((id . file-name)).
-
-Any desktop entries that fail to parse are recorded in `counsel-linux-apps-faulty'."
+  "Parse the given alist of Linux desktop entries.
+Each entry in DESKTOP-ENTRIES-ALIST is a pair of ((id . file-name)).
+Any desktop entries that fail to parse are recorded in
+`counsel-linux-apps-faulty'."
   (let (result)
     (setq counsel-linux-apps-faulty nil)
     (dolist (entry desktop-entries-alist result)
@@ -3111,6 +3195,7 @@ Any desktop entries that fail to parse are recorded in `counsel-linux-apps-fault
                result))))))))
 
 (defun counsel-linux-apps-list ()
+  "Return list of all Linux desktop applications."
   (let* ((new-desktop-alist (counsel-linux-apps-list-desktop-files))
          (new-files (mapcar 'cdr new-desktop-alist)))
     (unless (and
@@ -3141,16 +3226,16 @@ Any desktop entries that fail to parse are recorded in `counsel-linux-apps-fault
   (let ((file (read-file-name "Open: ")))
     (if file
         (call-process "gtk-launch" nil nil nil desktop-shortcut file)
-      (user-error "cancelled"))))
+      (user-error "Cancelled"))))
 
 (defun counsel-linux-app-action-open-desktop (desktop-shortcut)
-  "Open DESKTOP-SHORTCUT"
+  "Open DESKTOP-SHORTCUT."
   (setq desktop-shortcut (cdr desktop-shortcut))
   (let ((file
          (cdr (assoc desktop-shortcut (counsel-linux-apps-list-desktop-files)))))
     (if file
         (find-file file)
-      (user-error "cancelled"))))
+      (user-error "Cancelled"))))
 
 (ivy-set-actions
  'counsel-linux-app
@@ -3509,6 +3594,7 @@ selected candidate."
 (defvar counsel--faces-fmt nil)
 
 (defun counsel--faces-format-function (cands)
+  "Transform CANDS into a string for `counsel-faces'."
   (ivy--format-function-generic
    (lambda (str)
      (concat
@@ -3636,6 +3722,7 @@ candidate."
   (irony-completion-candidates-async 'counsel-irony-callback))
 
 (defun counsel-irony-callback (candidates)
+  "Callback function for Irony to search among CANDIDATES."
   (interactive)
   (let* ((symbol-bounds (irony-completion-symbol-bounds))
          (beg (car symbol-bounds))
@@ -3650,6 +3737,7 @@ candidate."
               :action 'ivy-completion-in-region-action)))
 
 (defun counsel-irony-annotate (x)
+  "Make Ivy candidate from Irony candidate X."
   (cons (concat (car x) (irony-completion-annotation x))
         (car x)))
 
@@ -3711,15 +3799,53 @@ a symbol and how to search for them."
                 (pop-mark . counsel-mark-ring)))
       (define-key map (vector 'remap (car binding)) (cdr binding)))
     map)
-  "Map for `counsel-mode'. Remaps built-in functions to counsel
-replacements.")
+  "Map for `counsel-mode'.
+Remaps built-in functions to counsel replacements.")
 
 (defcustom counsel-mode-override-describe-bindings nil
-  "Whether to override `describe-bindings' when `counsel-mode' is
-active."
+  "Whether to override `describe-bindings' when `counsel-mode' is active."
   :group 'ivy
   :type 'boolean)
 
+(defun counsel-list-buffers-with-mode (mode)
+  "List all buffers with `major-mode' MODE.
+
+MODE is a symbol."
+  (save-current-buffer
+    (let (bufs)
+      (dolist (buf (buffer-list))
+        (set-buffer buf)
+        (and (equal major-mode mode)
+             (push (buffer-name buf) bufs)))
+      (nreverse bufs))))
+
+;;;###autoload
+(defun counsel-switch-to-shell-buffer ()
+  "Switch to a shell buffer, or create one."
+  (interactive)
+  (ivy-read "Switch to shell buffer: "
+            (counsel-list-buffers-with-mode 'shell-mode)
+            :action #'counsel-switch-to-buffer-or-window
+            :caller 'counsel-switch-to-shell-buffer))
+
+(defun counsel-switch-to-buffer-or-window (buffer-name)
+  "Display buffer BUFFER-NAME and select its window.
+
+This behaves as `switch-to-buffer', except when the buffer is
+already visible; in that case, select the window corresponding to
+the buffer."
+  (let ((buffer (get-buffer buffer-name)))
+    (if (not buffer)
+        (shell buffer-name)
+      (let (window-of-buffer-visible)
+        (catch 'found
+          (walk-windows (lambda (window)
+                          (and (equal (window-buffer window) buffer)
+                               (throw 'found (setq window-of-buffer-visible window))))))
+        (if window-of-buffer-visible
+            (select-window window-of-buffer-visible)
+          (switch-to-buffer buffer))))))
+
 ;;;###autoload
 (define-minor-mode counsel-mode
   "Toggle Counsel mode on or off.
.emacs.d/elpa/counsel-20170605.255/counsel.elc → .emacs.d/elpa/counsel-20170622.758/counsel.elc
Binary file
.emacs.d/elpa/dash-20170523.219/dash-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "dash" "20170523.219" "A modern list library for Emacs" 'nil :commit "524e6fe86ba240d4405d3de1c862921fb8085c8d" :keywords '("lists"))
.emacs.d/elpa/dash-20170523.219/dash-autoloads.el → .emacs.d/elpa/dash-20170613.151/dash-autoloads.el
@@ -3,7 +3,7 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil nil ("dash.el") (22839 4070 918928 878000))
+;;;### (autoloads nil nil ("dash.el") (22859 63759 436245 756000))
 
 ;;;***
 
.emacs.d/elpa/dash-20170613.151/dash-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "dash" "20170613.151" "A modern list library for Emacs" 'nil :commit "1e14307e2d829d3e4d502991d572eb9a5d7f173f" :keywords '("lists"))
.emacs.d/elpa/dash-20170523.219/dash.el → .emacs.d/elpa/dash-20170613.151/dash.el
@@ -4,7 +4,7 @@
 
 ;; Author: Magnar Sveen <magnars@gmail.com>
 ;; Version: 2.13.0
-;; Package-Version: 20170523.219
+;; Package-Version: 20170613.151
 ;; Keywords: lists
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -1355,17 +1355,29 @@ last item in second form, etc."
                   (list form x)))
    (:else `(->> (->> ,x ,form) ,@more))))
 
-(defmacro --> (x form &rest more)
-  "Thread the expr through the forms. Insert X at the position
-signified by the token `it' in the first form. If there are more
-forms, insert the first form at the position signified by `it' in
-in second form, etc."
-  (declare (debug (form &rest [&or symbolp (sexp &rest [&or "it" form])])))
-  (if (null more)
-      (if (listp form)
-          (--map-when (eq it 'it) x form)
-        (list form x))
-    `(--> (--> ,x ,form) ,@more)))
+(defmacro --> (x &rest forms)
+  "Starting with the value of X, thread each expression through FORMS.
+
+Insert X at the position signified by the token `it' in the first
+form.  If there are more forms, insert the first form at the position
+signified by `it' in in second form, etc."
+  (declare (debug (form body)))
+  `(-as-> ,x it ,@forms))
+
+(defmacro -as-> (value variable &rest forms)
+  "Starting with VALUE, thread VARIABLE through FORMS.
+
+In the first form, bind VARIABLE to VALUE.  In the second form, bind
+VARIABLE to the result of the first form, and so forth."
+  (declare (debug (form symbolp body)))
+  (if (null forms)
+      `,value
+    `(let ((,variable ,value))
+       (-as-> ,(if (symbolp (car forms))
+                 (list (car forms) variable)
+               (car forms))
+            ,variable
+              ,@(cdr forms)))))
 
 (defmacro -some-> (x &optional form &rest more)
   "When expr is non-nil, thread it through the first form (via `->'),
.emacs.d/elpa/dash-20170523.219/dash.elc → .emacs.d/elpa/dash-20170613.151/dash.elc
Binary file
.emacs.d/elpa/direnv-20170501.218/direnv-autoloads.el → .emacs.d/elpa/direnv-20170622.446/direnv-autoloads.el
@@ -3,13 +3,13 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "direnv" "direnv.el" (22807 4892 255909 159000))
+;;;### (autoloads nil "direnv" "direnv.el" (22859 63758 735267 475000))
 ;;; Generated autoloads from direnv.el
 
 (autoload 'direnv-update-environment "direnv" "\
-Update the environment for FILENAME.
+Update the environment for FILE-NAME.
 
-\(fn &optional FILENAME)" t nil)
+\(fn &optional FILE-NAME)" t nil)
 
 (autoload 'direnv-edit "direnv" "\
 Edit the .envrc associated with the current directory.
.emacs.d/elpa/direnv-20170501.218/direnv-pkg.el → .emacs.d/elpa/direnv-20170622.446/direnv-pkg.el
@@ -1,2 +1,2 @@
 ;;; -*- no-byte-compile: t -*-
-(define-package "direnv" "20170501.218" "direnv support for emacs" '((emacs "24.4") (dash "2.13.0") (with-editor "2.5.10")) :commit "2cdf87ea96f9a08dee98762b18b5f8a5198ecf63" :url "https://github.com/wbolster/emacs-direnv" :keywords '("direnv" "environment"))
+(define-package "direnv" "20170622.446" "direnv support for emacs" '((emacs "24.4") (dash "2.13.0") (with-editor "2.5.10")) :commit "53a98dbb3213cba7527948a0373fc240b383bfb9" :url "https://github.com/wbolster/emacs-direnv" :keywords '("direnv" "environment"))
.emacs.d/elpa/direnv-20170501.218/direnv.el → .emacs.d/elpa/direnv-20170622.446/direnv.el
@@ -2,7 +2,7 @@
 
 ;; Author: Wouter Bolsterlee <wouter@bolsterl.ee>
 ;; Version: 1.2.0
-;; Package-Version: 20170501.218
+;; Package-Version: 20170622.446
 ;; Package-Requires: ((emacs "24.4") (dash "2.13.0") (with-editor "2.5.10"))
 ;; Keywords: direnv, environment
 ;; URL: https://github.com/wbolster/emacs-direnv
@@ -93,11 +93,13 @@ usually results in coloured output."
 (defun direnv--maybe-update-environment ()
   "Maybe update the environment."
   (with-current-buffer (window-buffer)
-    (let* ((filename (buffer-file-name (current-buffer))))
-      (when (and filename
-                 (not (string-equal direnv--active-directory (file-name-directory filename)))
-                 (not (file-remote-p filename)))
-        (direnv-update-environment filename)))))
+    (let* ((file-name (buffer-file-name (current-buffer)))
+           (directory-name (when file-name (file-name-directory file-name))))
+      (when (and file-name
+                 (file-directory-p directory-name)
+                 (not (string-equal direnv--active-directory directory-name))
+                 (not (file-remote-p file-name)))
+        (direnv-update-environment file-name)))))
 
 (defun direnv--maybe-enable-with-editor-mode ()
   "Enable with-editor-mode when run via direnv-edit."
@@ -152,16 +154,16 @@ the environment changes."
     (message "direnv: %s%s" summary paths)))
 
 ;;;###autoload
-(defun direnv-update-environment (&optional filename)
-  "Update the environment for FILENAME."
+(defun direnv-update-environment (&optional file-name)
+  "Update the environment for FILE-NAME."
   (interactive)
-  (let ((filename (or filename buffer-file-name))
+  (let ((file-name (or file-name buffer-file-name))
         (old-directory direnv--active-directory))
-    (unless filename
+    (unless file-name
       (user-error "Buffer is not visiting a file"))
-    (when (file-remote-p filename)
+    (when (file-remote-p file-name)
       (user-error "Cannot use direnv for remote files"))
-    (setq direnv--active-directory (file-name-directory filename))
+    (setq direnv--active-directory (file-name-directory file-name))
     (let ((items (direnv--export direnv--active-directory)))
       (when (or direnv-always-show-summary (called-interactively-p 'interactive))
         (direnv--show-summary items old-directory direnv--active-directory))
.emacs.d/elpa/direnv-20170501.218/direnv.elc → .emacs.d/elpa/direnv-20170622.446/direnv.elc
Binary file
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-autoloads.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-autoloads.el
@@ -3,10 +3,15 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "editorconfig" "editorconfig.el" (22839 4059
-;;;;;;  627072 841000))
+;;;### (autoloads nil "editorconfig" "editorconfig.el" (22859 63758
+;;;;;;  58288 449000))
 ;;; Generated autoloads from editorconfig.el
 
+(autoload 'editorconfig-find-current-editorconfig "editorconfig" "\
+Find the closest .editorconfig file for current file.
+
+\(fn)" t nil)
+
 (autoload 'editorconfig-display-current-properties "editorconfig" "\
 Display EditorConfig properties extracted for current buffer.
 
@@ -40,7 +45,7 @@ mode is not listed in `editorconfig-exclude-modes'.
 ;;;***
 
 ;;;### (autoloads nil "editorconfig-conf-mode" "editorconfig-conf-mode.el"
-;;;;;;  (22839 4059 625072 867000))
+;;;;;;  (22859 63758 48288 759000))
 ;;; Generated autoloads from editorconfig-conf-mode.el
 
 (autoload 'editorconfig-conf-mode "editorconfig-conf-mode" "\
@@ -53,9 +58,14 @@ Major mode for editing .editorconfig files.
 ;;;***
 
 ;;;### (autoloads nil "editorconfig-core" "editorconfig-core.el"
-;;;;;;  (22839 4059 624072 880000))
+;;;;;;  (22859 63758 43288 914000))
 ;;; Generated autoloads from editorconfig-core.el
 
+(autoload 'editorconfig-core-get-nearest-editorconfig "editorconfig-core" "\
+Return path to .editorconfig file that is closest to DIRECTORY.
+
+\(fn DIRECTORY)" nil nil)
+
 (autoload 'editorconfig-core-get-properties "editorconfig-core" "\
 Get EditorConfig properties for FILE.
 If FILE is not given, use currently visiting file.
@@ -81,7 +91,7 @@ hash object instead.
 ;;;***
 
 ;;;### (autoloads nil "editorconfig-fnmatch" "editorconfig-fnmatch.el"
-;;;;;;  (22839 4059 621072 918000))
+;;;;;;  (22859 63758 38289 69000))
 ;;; Generated autoloads from editorconfig-fnmatch.el
 
 (autoload 'editorconfig-fnmatch-p "editorconfig-fnmatch" "\
@@ -105,7 +115,7 @@ be used:
 ;;;***
 
 ;;;### (autoloads nil nil ("editorconfig-core-handle.el" "editorconfig-pkg.el")
-;;;;;;  (22839 4059 628072 828000))
+;;;;;;  (22859 63758 63288 294000))
 
 ;;;***
 
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-conf-mode.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-conf-mode.el
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-conf-mode.elc → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-conf-mode.elc
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-core-handle.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-core-handle.el
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-core-handle.elc → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-core-handle.elc
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-core.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-core.el
@@ -65,11 +65,13 @@
 
 ;;; Code:
 
+(require 'cl-lib)
+
 (require 'editorconfig-core-handle)
 
 
 (defconst editorconfig-core-version
-  "0.7.9"
+  "0.7.10"
   "EditorConfig core version.")
 
 (defun editorconfig-core--remove-duplicate (alist)
@@ -109,12 +111,20 @@ RESULT is used internally and normally should not be used."
                      dir)
             (and handle
                  (editorconfig-core-handle-root-p handle)))
-        (cons handle result)
+        (cl-remove-if-not 'identity
+                          (cons handle result))
       (editorconfig-core--get-handles parent
                                       confname
                                       (cons handle
                                             result)))))
 
+;;;###autoload
+(defun editorconfig-core-get-nearest-editorconfig (directory)
+  "Return path to .editorconfig file that is closest to DIRECTORY."
+  (let ((handle (car (last (editorconfig-core--get-handles directory
+                                                           ".editorconfig")))))
+    (when handle
+      (editorconfig-core-handle-path handle))))
 
 ;;;###autoload
 (defun editorconfig-core-get-properties (&optional file confname confversion)
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-core.elc → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-core.elc
Binary file
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-fnmatch.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-fnmatch.el
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-fnmatch.elc → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-fnmatch.elc
File renamed without changes
.emacs.d/elpa/editorconfig-20170518.817/editorconfig-pkg.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig-pkg.el
@@ -1,4 +1,4 @@
-(define-package "editorconfig" "20170518.817" "EditorConfig Emacs Plugin"
+(define-package "editorconfig" "20170607.713" "EditorConfig Emacs Plugin"
   '((cl-lib "0.5"))
   :url "https://github.com/editorconfig/editorconfig-emacs#readme")
 ;; Local Variables:
.emacs.d/elpa/editorconfig-20170518.817/editorconfig.el → .emacs.d/elpa/editorconfig-20170607.713/editorconfig.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2011-2017 EditorConfig Team
 
 ;; Author: EditorConfig Team <editorconfig@googlegroups.com>
-;; Version: 0.7.9
+;; Version: 0.7.10
 ;; URL: https://github.com/editorconfig/editorconfig-emacs#readme
 ;; Package-Requires: ((cl-lib "0.5"))
 
@@ -419,6 +419,16 @@ It calls `editorconfig-get-properties-from-exec' if
     (require 'editorconfig-core)
     (editorconfig-core-get-properties-hash)))
 
+;;;###autoload
+(defun editorconfig-find-current-editorconfig ()
+  "Find the closest .editorconfig file for current file."
+  (interactive)
+  (eval-and-compile (require 'editorconfig-core))
+  (let ((file (editorconfig-core-get-nearest-editorconfig
+               default-directory)))
+    (when file
+      (find-file file))))
+
 ;;;###autoload
 (defun editorconfig-display-current-properties ()
   "Display EditorConfig properties extracted for current buffer."
.emacs.d/elpa/editorconfig-20170518.817/editorconfig.elc → .emacs.d/elpa/editorconfig-20170607.713/editorconfig.elc
Binary file
.emacs.d/elpa/git-commit-20170510.910/git-commit-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "git-commit" "20170510.910" "Edit Git commit messages" '((emacs "24.4") (dash "20170207.2056") (with-editor "20170111.609")) :commit "d783e7b2427ed0c2d25895bcecc7190b9e953b97" :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc"))
.emacs.d/elpa/git-commit-20170510.910/git-commit-autoloads.el → .emacs.d/elpa/git-commit-20170609.2310/git-commit-autoloads.el
@@ -3,8 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "git-commit" "git-commit.el" (22839 4054 318140
-;;;;;;  761000))
+;;;### (autoloads nil "git-commit" "git-commit.el" (22859 63757 136317
+;;;;;;  15000))
 ;;; Generated autoloads from git-commit.el
 
 (defvar global-git-commit-mode t "\
.emacs.d/elpa/git-commit-20170609.2310/git-commit-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "git-commit" "20170609.2310" "Edit Git commit messages" '((emacs "24.4") (dash "20170207.2056") (with-editor "20170111.609")) :commit "622c994183294b02893ff286210bffd5255296df" :url "https://github.com/magit/magit" :keywords '("git" "tools" "vc"))
.emacs.d/elpa/git-commit-20170510.910/git-commit.el → .emacs.d/elpa/git-commit-20170609.2310/git-commit.el
@@ -12,7 +12,7 @@
 ;; Maintainer: Jonas Bernoulli <jonas@bernoul.li>
 
 ;; Package-Requires: ((emacs "24.4") (dash "20170207.2056") (with-editor "20170111.609"))
-;; Package-Version: 20170510.910
+;; Package-Version: 20170609.2310
 ;; Keywords: git tools vc
 ;; Homepage: https://github.com/magit/magit
 
@@ -677,8 +677,8 @@ Added to `font-lock-extend-region-functions'."
               (summary-end (match-end 0)))
           (when (or (< summary-beg font-lock-beg summary-end)
                     (< summary-beg font-lock-end summary-end))
-            (setq font-lock-beg (min font-lock-beg summary-beg)
-                  font-lock-end (max font-lock-end summary-end))))))))
+            (setq font-lock-beg (min font-lock-beg summary-beg))
+            (setq font-lock-end (max font-lock-end summary-end))))))))
 
 (defun git-commit-mode-font-lock-keywords ()
   `(;; Comments
.emacs.d/elpa/git-commit-20170510.910/git-commit.elc → .emacs.d/elpa/git-commit-20170609.2310/git-commit.elc
File renamed without changes
.emacs.d/elpa/ivy-20170606.859/colir.el → .emacs.d/elpa/ivy-20170621.721/colir.el
@@ -53,7 +53,10 @@
     (- 1 (* 2 (- 1 a) (- 1 b)))))
 
 (defun colir-compose-alpha (a b &optional alpha gamma)
-  "Compose A and B channels."
+  "Compose A and B channels.
+Optional argument ALPHA is a number between 0.0 and 1.0 which corresponds
+to the influence of A on the result.  Default value is 0.5.
+Optional argument GAMMA is used for gamma correction.  Default value is 2.2."
   (setq alpha (or alpha 0.5))
   (setq gamma (or gamma 2.2))
   (+ (* (expt a gamma) alpha) (* (expt b gamma) (- 1 alpha))))
.emacs.d/elpa/ivy-20170606.859/colir.elc → .emacs.d/elpa/ivy-20170621.721/colir.elc
Binary file
.emacs.d/elpa/ivy-20170606.859/dir → .emacs.d/elpa/ivy-20170621.721/dir
File renamed without changes
.emacs.d/elpa/ivy-20170606.859/ivy-autoloads.el → .emacs.d/elpa/ivy-20170621.721/ivy-autoloads.el
@@ -3,7 +3,7 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "ivy" "ivy.el" (22839 4052 636162 310000))
+;;;### (autoloads nil "ivy" "ivy.el" (22859 63756 36351 96000))
 ;;; Generated autoloads from ivy.el
 
 (autoload 'ivy-resume "ivy" "\
@@ -16,7 +16,7 @@ Read a string in the minibuffer, with completion.
 
 PROMPT is a format string, normally ending in a colon and a
 space; %d anywhere in the string is replaced by the current
-number of matching candidates. For the literal % character,
+number of matching candidates.  For the literal % character,
 escape it with %%. See also `ivy-count-format'.
 
 COLLECTION is either a list of strings, a function, an alist, or
@@ -45,7 +45,7 @@ UPDATE-FN is called each time the current candidate(s) is changed.
 
 When SORT is t, use `ivy-sort-functions-alist' for sorting.
 
-ACTION is a lambda function to call after selecting a result. It
+ACTION is a lambda function to call after selecting a result.  It
 takes a single string argument.
 
 UNWIND is a lambda function to call before exiting.
@@ -118,7 +118,7 @@ Switch to another buffer in another window.
 ;;;***
 
 ;;;### (autoloads nil nil ("colir.el" "ivy-overlay.el" "ivy-pkg.el")
-;;;;;;  (22839 4052 633162 349000))
+;;;;;;  (22859 63756 21351 560000))
 
 ;;;***
 
.emacs.d/elpa/ivy-20170606.859/ivy-help.org → .emacs.d/elpa/ivy-20170621.721/ivy-help.org
File renamed without changes
.emacs.d/elpa/ivy-20170606.859/ivy-overlay.el → .emacs.d/elpa/ivy-20170621.721/ivy-overlay.el
File renamed without changes
.emacs.d/elpa/ivy-20170606.859/ivy-overlay.elc → .emacs.d/elpa/ivy-20170621.721/ivy-overlay.elc
File renamed without changes
.emacs.d/elpa/ivy-20170606.859/ivy-pkg.el → .emacs.d/elpa/ivy-20170621.721/ivy-pkg.el
@@ -1,4 +1,4 @@
-(define-package "ivy" "20170606.859" "Incremental Vertical completYon"
+(define-package "ivy" "20170621.721" "Incremental Vertical completYon"
   '((emacs "24.1"))
   :url "https://github.com/abo-abo/swiper" :keywords
   '("matching"))
.emacs.d/elpa/ivy-20170606.859/ivy.el → .emacs.d/elpa/ivy-20170621.721/ivy.el
@@ -121,6 +121,10 @@
   '((t :inherit highlight))
   "Face used by Ivy to highlight certain candidates.")
 
+(defface ivy-prompt-match
+  '((t :inherit ivy-current-match))
+  "Face used by Ivy for highlighting the selected prompt line.")
+
 (setcdr (assoc load-file-name custom-current-group-alist) 'ivy)
 
 (defcustom ivy-height 10
@@ -154,7 +158,7 @@ The fancy display style highlights matching parts of the regexp,
 a behavior similar to `swiper'.
 
 This setting depends on `add-face-text-property' - a C function
-available as of Emacs 24.5. Fancy style will render poorly in
+available as of Emacs 24.5.  Fancy style will render poorly in
 earlier versions of Emacs."
   :type '(choice
           (const :tag "Plain" nil)
@@ -167,14 +171,14 @@ Usually a quick exit out of the minibuffer."
 
 (defcustom ivy-extra-directories '("../" "./")
   "Add this to the front of the list when completing file names.
-Only \"./\" and \"../\" apply here. They appear in reverse order."
+Only \"./\" and \"../\" apply here.  They appear in reverse order."
   :type '(repeat :tag "Dirs"
           (choice
            (const :tag "Parent Directory" "../")
            (const :tag "Current Directory" "./"))))
 
 (defcustom ivy-use-virtual-buffers nil
-  "When non-nil, add `recentf-mode' and bookmarks to `ivy-switch-buffer'."
+  "When non-nil, add recent files and bookmarks to `ivy-switch-buffer'."
   :type 'boolean)
 
 (defcustom ivy-display-function nil
@@ -528,32 +532,60 @@ When non-nil, it should contain at least one %d.")
   (setq ivy-exit 'done)
   (exit-minibuffer))
 
+(defcustom ivy-use-selectable-prompt nil
+  "When non-nil, make the prompt line selectable like a candidate.
+
+The prompt line can be selected by calling `ivy-previous-line' when the first
+regular candidate is selected.  Both actions `ivy-done' and `ivy-alt-done',
+when called on a selected prompt, are forwarded to `ivy-immediate-done', which
+results to the same as calling `ivy-immediate-done' explicitely when a regular
+candidate is selected.
+
+Note that if `ivy-wrap' is set to t, calling `ivy-previous-line' when the
+prompt is selected wraps around to the last candidate, while calling
+`ivy-next-line' on the last candidate wraps around to the first
+candidate, not the prompt."
+  :type 'boolean)
+
+(defun ivy--prompt-selectable-p ()
+  "Return t if the prompt line is selectable."
+  (and ivy-use-selectable-prompt
+       (memq (ivy-state-require-match ivy-last)
+             '(nil confirm confirm-after-completion))))
+
+(defun ivy--prompt-selected-p ()
+  "Return t if the prompt line is selected."
+  (and (ivy--prompt-selectable-p)
+       (= ivy--index -1)))
+
 ;;* Commands
 (defun ivy-done ()
   "Exit the minibuffer with the selected candidate."
   (interactive)
-  (setq ivy-current-prefix-arg current-prefix-arg)
-  (delete-minibuffer-contents)
-  (cond ((or (> ivy--length 0)
-             ;; the action from `ivy-dispatching-done' may not need a
-             ;; candidate at all
-             (eq this-command 'ivy-dispatching-done))
-         (ivy--done (ivy-state-current ivy-last)))
-        ((memq (ivy-state-collection ivy-last)
-               '(read-file-name-internal internal-complete-buffer))
-         (if (or (not (eq confirm-nonexistent-file-or-buffer t))
-                 (equal " (confirm)" ivy--prompt-extra))
-             (ivy--done ivy-text)
-           (setq ivy--prompt-extra " (confirm)")
+  (if (ivy--prompt-selected-p)
+      (ivy-immediate-done)
+    (setq ivy-current-prefix-arg current-prefix-arg)
+    (delete-minibuffer-contents)
+    (cond ((or (> ivy--length 0)
+               ;; the action from `ivy-dispatching-done' may not need a
+               ;; candidate at all
+               (eq this-command 'ivy-dispatching-done))
+           (ivy--done (ivy-state-current ivy-last)))
+          ((memq (ivy-state-collection ivy-last)
+                 '(read-file-name-internal internal-complete-buffer))
+           (if (or (not (eq confirm-nonexistent-file-or-buffer t))
+                   (equal " (confirm)" ivy--prompt-extra))
+               (ivy--done ivy-text)
+             (setq ivy--prompt-extra " (confirm)")
+             (insert ivy-text)
+             (ivy--exhibit)))
+          ((memq (ivy-state-require-match ivy-last)
+                 '(nil confirm confirm-after-completion))
+           (ivy--done ivy-text))
+          (t
+           (setq ivy--prompt-extra " (match required)")
            (insert ivy-text)
-           (ivy--exhibit)))
-        ((memq (ivy-state-require-match ivy-last)
-               '(nil confirm confirm-after-completion))
-         (ivy--done ivy-text))
-        (t
-         (setq ivy--prompt-extra " (match required)")
-         (insert ivy-text)
-         (ivy--exhibit))))
+           (ivy--exhibit)))))
 
 (defvar ivy-read-action-format-function 'ivy-read-action-format-default
   "Function used to transform the actions list into a docstring.")
@@ -642,7 +674,8 @@ Is is a cons cell, related to `tramp-get-completion-function'."
 When ARG is t, exit with current text, ignoring the candidates."
   (interactive "P")
   (setq ivy-current-prefix-arg current-prefix-arg)
-  (cond (arg
+  (cond ((or arg
+             (ivy--prompt-selected-p))
          (ivy-immediate-done))
         (ivy--directory
          (ivy--directory-done))
@@ -772,9 +805,6 @@ If the text hasn't changed as a result, forward to `ivy-alt-done'."
                                             (when i
                                               (substring str i))))
                                         ivy--old-cands)))))
-    (when (and (eq ivy-case-fold-search 'auto)
-               (stringp new))
-      (setq new (downcase new)))
     (cond ((eq new t) nil)
           ((string= new ivy-text) nil)
           (new
@@ -899,11 +929,13 @@ If the input is empty, select the previous history element instead."
   "Move cursor vertically up ARG candidates."
   (interactive "p")
   (setq arg (or arg 1))
-  (let ((index (- ivy--index arg)))
-    (if (< index 0)
+  (let ((index (- ivy--index arg))
+        (min-index (or (and (ivy--prompt-selectable-p) -1)
+                       0)))
+    (if (< index min-index)
         (if ivy-wrap
             (ivy-end-of-buffer)
-          (ivy-set-index 0))
+          (ivy-set-index min-index))
       (ivy-set-index index))))
 
 (defun ivy-previous-line-or-history (arg)
@@ -1000,6 +1032,8 @@ Example use:
      )")
 
 (defun ivy-recursive-restore ()
+  "Restore the above state when exiting the minibuffer.
+See variable `ivy-recursive-restore' for further information."
   (when (and ivy-recursive-last
              ivy-recursive-restore
              (not (eq ivy-last ivy-recursive-last)))
@@ -1260,10 +1294,11 @@ On error (read-only), call `ivy-on-del-error-function'."
             (avy--process
              (nreverse candidates)
              (avy--style-fn avy-style)))))
-    (goto-char candidate)
-    (ivy--done
-     (buffer-substring-no-properties
-      (point) (line-end-position)))))
+    (when (number-or-marker-p candidate)
+      (goto-char candidate)
+      (ivy--done
+       (buffer-substring-no-properties
+        (point) (line-end-position))))))
 
 (defun ivy-sort-file-function-default (x y)
   "Compare two files X and Y.
@@ -1302,8 +1337,8 @@ functions that have candidates in the natural buffer order, like
 `org-refile' or `Man-goto-section'.
 
 A list can be used to associate multiple sorting functions with a
-collection. The car of the list is the current sort
-function. This list can be rotated with `ivy-rotate-sort'.
+collection.  The car of the list is the current sort
+function.  This list can be rotated with `ivy-rotate-sort'.
 
 The entry associated with t is used for all fall-through cases.
 
@@ -1322,7 +1357,7 @@ See also `ivy-sort-max-size'."
   :group 'ivy)
 
 (defun ivy--sort-function (collection)
-  "Retrieve sort function from `ivy-sort-functions-alist'"
+  "Retrieve sort function for COLLECTION from `ivy-sort-functions-alist'."
   (cdr (assoc collection ivy-sort-functions-alist)))
 
 (defun ivy-rotate-sort ()
@@ -1434,7 +1469,7 @@ contains a single candidate.")
 
 PROMPT is a format string, normally ending in a colon and a
 space; %d anywhere in the string is replaced by the current
-number of matching candidates. For the literal % character,
+number of matching candidates.  For the literal % character,
 escape it with %%. See also `ivy-count-format'.
 
 COLLECTION is either a list of strings, a function, an alist, or
@@ -1463,7 +1498,7 @@ UPDATE-FN is called each time the current candidate(s) is changed.
 
 When SORT is t, use `ivy-sort-functions-alist' for sorting.
 
-ACTION is a lambda function to call after selecting a result. It
+ACTION is a lambda function to call after selecting a result.  It
 takes a single string argument.
 
 UNWIND is a lambda function to call before exiting.
@@ -1764,6 +1799,7 @@ This is useful for recursive `ivy-read'."
     (setf (ivy-state-initial-input ivy-last) initial-input)))
 
 (defun ivy-add-prompt-count (prompt)
+  "Add count information to PROMPT."
   (cond ((string-match "%.*d" prompt)
          prompt)
         ((null ivy-count-format)
@@ -1806,11 +1842,12 @@ DEF is the default value.
 INHERIT-INPUT-METHOD is currently ignored."
   (let ((handler (assoc this-command ivy-completing-read-handlers-alist)))
     (if handler
-        (funcall (cdr handler)
-                 prompt collection
-                 predicate require-match
-                 initial-input history
-                 def inherit-input-method)
+        (let ((completion-in-region-function #'completion--in-region))
+          (funcall (cdr handler)
+                   prompt collection
+                   predicate require-match
+                   initial-input history
+                   def inherit-input-method))
       ;; See the doc of `completing-read'.
       (when (consp history)
         (when (numberp (cdr history))
@@ -1899,7 +1936,10 @@ The previous string is between `ivy-completion-beg' and `ivy-completion-end'."
       0)))
 
 (defun ivy-completion-in-region (start end collection &optional predicate)
-  "An Ivy function suitable for `completion-in-region-function'."
+  "An Ivy function suitable for `completion-in-region-function'.
+The function completes the text between START and END using COLLECTION.
+PREDICATE (a function called with no arguments) says when to exit.
+See `completion-in-region' for further information."
   (let* ((enable-recursive-minibuffers t)
          (str (buffer-substring-no-properties start end))
          (completion-ignore-case case-fold-search)
@@ -1982,7 +2022,7 @@ Minibuffer bindings:
 ;;* Implementation
 ;;** Regex
 (defun ivy-re-match (re-seq str)
-  "Return non-nil if RE-SEQ matches STR.
+  "Return non-nil if RE-SEQ is matched by STR.
 
 RE-SEQ is a list of (RE . MATCH-P).
 
@@ -2086,8 +2126,10 @@ When GREEDY is non-nil, join words in a greedy way."
 
 (defun ivy--regex-ignore-order--part (str &optional discard)
   "Re-build regex from STR by splitting at spaces.
-Ignore the order of each group. If any substring is not a valid
-regex, treat it as a literal string."
+Ignore the order of each group.  If any substring is not a valid
+regex, treat it as a literal string.
+If DISCARD is non-nil, mark the regex as non-matching i.e. candidates
+should not match the regexp."
   (let* ((subs (split-string str " +" t))
          (len (length subs)))
     (cl-case len
@@ -2101,8 +2143,8 @@ regex, treat it as a literal string."
 
 (defun ivy--regex-ignore-order (str)
   "Re-build regex from STR by splitting at spaces.
-Ignore the order of each group. Everything before \"!\" should
-match. Everything after \"!\" should not match."
+Ignore the order of each group.  Everything before \"!\" should
+match.  Everything after \"!\" should not match."
   (let ((parts (split-string str "!" t)))
     (cl-case (length parts)
       (0
@@ -2121,7 +2163,7 @@ match. Everything after \"!\" should not match."
 (defun ivy--regex-plus (str)
   "Build a regex sequence from STR.
 Spaces are wild card characters, everything before \"!\" should
-match. Everything after \"!\" should not match."
+match.  Everything after \"!\" should not match."
   (let ((parts (split-string str "!" t)))
     (cl-case (length parts)
       (0
@@ -2153,10 +2195,9 @@ Insert .* between each char."
     str))
 
 (defcustom ivy-fixed-height-minibuffer nil
-  "When non nil, fix the height of the minibuffer during ivy
-completion at `ivy-height'. This effectively sets the minimum
-height at this level and tries to ensure that it does not change
-depending on the number of candidates."
+  "When non nil, fix the height of the minibuffer during ivy completion.
+This effectively sets the minimum height at this level to `ivy-height' and
+tries to ensure that it does not change depending on the number of candidates."
   :group 'ivy
   :type 'boolean)
 
@@ -2207,6 +2248,8 @@ Called with two arguments, PROMPT and STD-PROPS.
 The returned value should be the updated PROMPT.")
 
 (defun ivy-set-prompt-text-properties-default (prompt std-props)
+  "Set text properties of PROMPT.
+STD-PROPS is a property list containing the default text properties."
   (ivy--set-match-props prompt "confirm"
                         `(face ivy-confirm-face ,@std-props))
   (ivy--set-match-props prompt "match required"
@@ -2288,12 +2331,22 @@ The returned value should be the updated PROMPT.")
           (setq n-str (funcall ivy-set-prompt-text-properties-function
                                n-str std-props))
           (insert n-str))
+        ;; Mark prompt as selected if the user moves there or it is the only
+        ;; option left.  Since the user input stays put, we have to manually
+        ;; remove the face as well.
+        (when (ivy--prompt-selectable-p)
+          (if (or (= ivy--index -1)
+                  (= ivy--length 0))
+              (add-face-text-property (point-min) (line-end-position)
+                                      'ivy-prompt-match)
+            (remove-text-properties (point-min) (line-end-position) '(face))))
         ;; get out of the prompt area
         (constrain-to-field nil (point-max))))))
 
 (defun ivy--set-match-props (str match props &optional subexp)
-  "Set STR text properties for regexp group SUBEXP that match MATCH to PROPS.
-If SUBEXP is nil, the text properties are applied to the whole match."
+  "Set text properties of STR that match MATCH to PROPS.
+SUBEXP is a number which specifies the regexp group to use.
+If nil, the text properties are applied to the whole match."
   (when (null subexp)
     (setq subexp 0))
   (when (string-match match str)
@@ -2330,10 +2383,12 @@ Possible choices are 'ivy-magic-slash-non-match-cd-selected,
                  nil)))
 
 (defun ivy--create-and-cd (dir)
+  "When completing file names, create directory DIR and move there."
   (make-directory dir)
   (ivy--cd dir))
 
 (defun ivy--magic-file-slash ()
+  "Handle slash when completing file names."
   (when (or (and (eq this-command 'self-insert-command)
                  (eolp))
             (eq this-command 'ivy-partial-or-done))
@@ -2353,7 +2408,7 @@ Possible choices are 'ivy-magic-slash-non-match-cd-selected,
           ((and (file-exists-p ivy-text)
                 (not (string= ivy-text "/"))
                 (file-directory-p ivy-text))
-           (ivy--cd ivy-text))
+           (ivy--cd (expand-file-name ivy-text)))
           ((and (or (> ivy--index 0)
                     (= ivy--length 1)
                     (not (string= ivy-text "/")))
@@ -2637,7 +2692,7 @@ The alist VAL is a sorting function with the signature of
 (defvar ivy--flx-featurep (require 'flx nil 'noerror))
 
 (defun ivy--sort (name candidates)
-  "Re-sort CANDIDATES by NAME.
+  "Re-sort candidates by NAME.
 All CANDIDATES are assumed to match NAME."
   (let ((key (or (ivy-state-caller ivy-last)
                  (when (functionp (ivy-state-collection ivy-last))
@@ -2653,7 +2708,8 @@ All CANDIDATES are assumed to match NAME."
            candidates))))
 
 (defun ivy--prefix-sort (name candidates)
-  "Re-sort CANDIDATES.
+  "Re-sort candidates by NAME.
+All CANDIDATES are assumed to match NAME.
 Prefix matches to NAME are put ahead of the list."
   (if (or (string-match "^\\^" name) (string= name ""))
       candidates
@@ -2672,7 +2728,8 @@ Prefix matches to NAME are put ahead of the list."
   "Store the virtual buffers alist.")
 
 (defun ivy-sort-function-buffer (name candidates)
-  "Re-sort CANDIDATES, a list of buffer names that contain NAME.
+  "Re-sort candidates by NAME.
+CANDIDATES is a list of buffer names each containing NAME.
 Sort open buffers before virtual buffers, and prefix matches
 before substring matches."
   (if (or (string-match "^\\^" name) (string= name ""))
@@ -2703,6 +2760,8 @@ before substring matches."
        (nreverse res-virtual-noprefix)))))
 
 (defun ivy--recompute-index (name re-str cands)
+  "Recompute index of selected candidate matching NAME.
+RE-STR is the regexp, CANDS are the current candidates."
   (let* ((caller (ivy-state-caller ivy-last))
          (func (or (and caller (cdr (assoc caller ivy-index-functions-alist)))
                    (cdr (assoc t ivy-index-functions-alist))
@@ -2739,6 +2798,8 @@ before substring matches."
            ivy--index)))))
 
 (defun ivy-recompute-index-swiper (_re-str cands)
+  "Recompute index of selected candidate when using `swiper'.
+CANDS are the current candidates."
   (condition-case nil
       (let ((tail (nthcdr ivy--index ivy--old-cands))
             idx)
@@ -2764,6 +2825,8 @@ before substring matches."
     (error 0)))
 
 (defun ivy-recompute-index-swiper-async (_re-str cands)
+  "Recompute index of selected candidate when using `swiper' asynchronously.
+CANDS are the current candidates."
   (if (null ivy--old-cands)
       (let ((ln (with-ivy-window
                   (line-number-at-pos))))
@@ -2786,6 +2849,8 @@ before substring matches."
         ivy--index))))
 
 (defun ivy-recompute-index-zero (_re-str _cands)
+  "Recompute index of selected candidate.
+This function serves as a fallback when nothing else is available."
   0)
 
 (defcustom ivy-minibuffer-faces
@@ -2908,10 +2973,11 @@ This string is inserted into the minibuffer."
                                     (- (length str) 3))) "...")
     str))
 
-(defun ivy--format-function-generic (selected-fn other-fn strs separator)
-  "Transform CAND-PAIRS into a string for minibuffer.
-SELECTED-FN and OTHER-FN each take one string argument.
-SEPARATOR is used to join the candidates."
+(defun ivy--format-function-generic (selected-fn other-fn cands separator)
+  "Transform candidates into a string for minibuffer.
+SELECTED-FN is called for the selected candidate, OTHER-FN for the others.
+Both functions take one string argument each.  CANDS is a list of candidates
+and SEPARATOR is used to join them."
   (let ((i -1))
     (mapconcat
      (lambda (str)
@@ -2919,11 +2985,11 @@ SEPARATOR is used to join the candidates."
          (if curr
              (funcall selected-fn str)
            (funcall other-fn str))))
-     strs
+     cands
      separator)))
 
 (defun ivy-format-function-default (cands)
-  "Transform CAND-PAIRS into a string for minibuffer."
+  "Transform CANDS into a string for minibuffer."
   (ivy--format-function-generic
    (lambda (str)
      (ivy--add-face str 'ivy-current-match))
@@ -2932,7 +2998,7 @@ SEPARATOR is used to join the candidates."
    "\n"))
 
 (defun ivy-format-function-arrow (cands)
-  "Transform CAND-PAIRS into a string for minibuffer."
+  "Transform CANDS into a string for minibuffer."
   (ivy--format-function-generic
    (lambda (str)
      (concat "> " (ivy--add-face str 'ivy-current-match)))
@@ -2942,7 +3008,7 @@ SEPARATOR is used to join the candidates."
    "\n"))
 
 (defun ivy-format-function-line (cands)
-  "Transform CAND-PAIRS into a string for minibuffer."
+  "Transform CANDS into a string for minibuffer."
   (ivy--format-function-generic
    (lambda (str)
      (ivy--add-face (concat str "\n") 'ivy-current-match))
@@ -2952,6 +3018,8 @@ SEPARATOR is used to join the candidates."
    ""))
 
 (defun ivy-add-face-text-property (start end face str)
+  "Add face property to the text from START to END.
+FACE is the face to apply to STR."
   (if (fboundp 'add-face-text-property)
       (add-face-text-property
        start end face nil str)
@@ -3014,6 +3082,7 @@ SEPARATOR is used to join the candidates."
   str)
 
 (defun ivy--format-minibuffer-line (str)
+  "Format line STR for use in minibuffer."
   (if (eq ivy-display-style 'fancy)
       (funcall ivy--highlight-function (copy-sequence str))
     (copy-sequence str)))
@@ -3024,6 +3093,7 @@ SEPARATOR is used to join the candidates."
  'read-file-name-internal 'ivy-read-file-transformer)
 
 (defun ivy-read-file-transformer (str)
+  "Transform candidate STR when reading files."
   (if (string-match-p "/\\'" str)
       (propertize str 'face 'ivy-subdir)
     str))
@@ -3119,7 +3189,9 @@ Each KEY is `major-mode', each VALUE is a face name.")
 
 (defun ivy--buffer-list (str &optional virtual predicate)
   "Return the buffers that match STR.
-When VIRTUAL is non-nil, add virtual buffers."
+If VIRTUAL is non-nil, add virtual buffers.
+If optional argument PREDICATE is non-nil, use it to test each
+possible match.  See `all-completions' for further information."
   (delete-dups
    (append
     (mapcar
@@ -3152,7 +3224,7 @@ When VIRTUAL is non-nil, add virtual buffers."
 
 The default value is given as an example.
 
-Each element is a list of (NAME TREE). NAME is a string, it's
+Each element is a list of (NAME TREE).  NAME is a string, it's
 recommended to end it with a distinctive snippet e.g. \"{}\" so
 that it's easy to distinguish the window configurations.
 
@@ -3165,6 +3237,7 @@ TREE is a nested list with the following valid cars:
 TREE can be nested multiple times to have mulitple window splits.")
 
 (defun ivy-default-view-name ()
+  "Return default name for new view."
   (let* ((default-view-name
           (concat "{} "
                   (mapconcat #'identity
@@ -3239,6 +3312,7 @@ Use `ivy-pop-view' to delete any item from `ivy-views'."
             :caller 'ivy-pop-view))
 
 (defun ivy-source-views ()
+  "Return the name of the views saved in `ivy-views'."
   (mapcar #'car ivy-views))
 
 (ivy-set-sources
@@ -3247,6 +3321,7 @@ Use `ivy-pop-view' to delete any item from `ivy-views'."
    (ivy-source-views)))
 
 (defun ivy-set-view-recur (view)
+  "Set VIEW recursively."
   (cond ((eq (car view) 'vert)
          (let* ((wnd1 (selected-window))
                 (wnd2 (split-window-vertically))
@@ -3353,7 +3428,7 @@ BUFFER may be a string or nil."
    ("w" (lambda (x) (kill-new (if (stringp x) x (car x)))) "copy")))
 
 (defun ivy--switch-buffer-matcher (regexp candidates)
-  "Return REGEXP-matching CANDIDATES.
+  "Return REGEXP matching CANDIDATES.
 Skip buffers that match `ivy-ignore-buffers'."
   (let ((res (ivy--re-filter regexp candidates)))
     (if (or (null ivy-use-ignore)
@@ -3377,12 +3452,14 @@ Skip buffers that match `ivy-ignore-buffers'."
  'internal-complete-buffer 'ivy-switch-buffer-transformer)
 
 (defun ivy-append-face (str face)
+  "Append to STR the property FACE."
   (let ((new (copy-sequence str)))
     (font-lock-append-text-property
      0 (length new) 'face face new)
     new))
 
 (defun ivy-switch-buffer-transformer (str)
+  "Transform candidate STR when switching buffers."
   (let ((b (get-buffer str)))
     (if (and b
              (buffer-file-name b)
@@ -3391,7 +3468,7 @@ Skip buffers that match `ivy-ignore-buffers'."
       str)))
 
 (defun ivy-switch-buffer-occur ()
-  "Occur function for `ivy-switch-buffer' that uses `ibuffer'."
+  "Occur function for `ivy-switch-buffer' using `ibuffer'."
   (let* ((cand-regexp
           (concat "\\(" (mapconcat #'regexp-quote ivy--old-cands "\\|") "\\)"))
          (new-qualifier `((name . ,cand-regexp))))
@@ -3484,7 +3561,7 @@ The selected history element will be inserted into the minibuffer."
                         (ivy--cd-maybe)))))
 
 (defun ivy-restrict-to-matches ()
-  "Restrict candidates to current matches and erase input."
+  "Restrict candidates to current input and erase input."
   (interactive)
   (delete-minibuffer-contents)
   (setq ivy--all-candidates
@@ -3571,6 +3648,7 @@ When `ivy-calling' isn't nil, call `ivy-occur-press'."
 (ivy-set-occur 'ivy-switch-buffer-other-window 'ivy-switch-buffer-occur)
 
 (defun ivy--occur-insert-lines (cands)
+  "Insert CANDS into `ivy-occur' buffer."
   (dolist (str cands)
     (add-text-properties
      0 (length str)
@@ -3583,7 +3661,7 @@ When `ivy-calling' isn't nil, call `ivy-occur-press'."
   (forward-line 4))
 
 (defun ivy-occur ()
-  "Stop completion and put the current matches into a new buffer.
+  "Stop completion and put the current candidates into a new buffer.
 
 The new buffer remembers current action(s).
 
@@ -3624,7 +3702,7 @@ There is no limit on the number of *ivy-occur* buffers."
 (defun ivy-occur-revert-buffer ()
   "Refresh the buffer making it up-to date with the collection.
 
-Currently only works for `swiper'. In that specific case, the
+Currently only works for `swiper'.  In that specific case, the
 *ivy-occur* buffer becomes nearly useless as the orignal buffer
 is updated, since the line numbers no longer match.
 
@@ -3636,7 +3714,7 @@ updated original buffer."
     (cond ((eq caller 'swiper)
            (let ((buffer (ivy-state-buffer ivy-occur-last)))
              (unless (buffer-live-p buffer)
-               (error "buffer was killed"))
+               (error "Buffer was killed"))
              (let ((inhibit-read-only t))
                (erase-buffer)
                (funcall (plist-get ivy--occurs-list caller) t)
@@ -3736,6 +3814,7 @@ EVENT gives the mouse position."
                     (run-at-time 1.0 nil 'swiper--cleanup))))))))
 
 (defun ivy-occur-press-and-switch ()
+  "Execute action for the current candidate and switch window."
   (interactive)
   (ivy-occur-press)
   (select-window (ivy--get-window ivy-occur-last)))
.emacs.d/elpa/ivy-20170606.859/ivy.elc → .emacs.d/elpa/ivy-20170621.721/ivy.elc
Binary file
.emacs.d/elpa/ivy-20170606.859/ivy.info → .emacs.d/elpa/ivy-20170621.721/ivy.info
File renamed without changes
.emacs.d/elpa/ivy-hydra-20170412.30/ivy-hydra-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "ivy-hydra" "20170412.30" "Additional key bindings for Ivy" '((emacs "24.1") (ivy "0.9.0") (hydra "0.13.4")) :url "https://github.com/abo-abo/swiper" :keywords '("completion" "matching" "bindings"))
.emacs.d/elpa/ivy-hydra-20170412.30/ivy-hydra-autoloads.el → .emacs.d/elpa/ivy-hydra-20170609.938/ivy-hydra-autoloads.el
@@ -3,7 +3,7 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil nil ("ivy-hydra.el") (22792 62856 818616 134000))
+;;;### (autoloads nil nil ("ivy-hydra.el") (22859 63754 760390 630000))
 
 ;;;***
 
.emacs.d/elpa/ivy-hydra-20170609.938/ivy-hydra-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "ivy-hydra" "20170609.938" "Additional key bindings for Ivy" '((emacs "24.1") (ivy "0.9.0") (hydra "0.13.4")) :commit "203bfb1f95b43f0448ee6225e58930ccb333547f" :url "https://github.com/abo-abo/swiper" :keywords '("completion" "matching" "bindings"))
.emacs.d/elpa/ivy-hydra-20170412.30/ivy-hydra.el → .emacs.d/elpa/ivy-hydra-20170609.938/ivy-hydra.el
@@ -4,7 +4,7 @@
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 ;; URL: https://github.com/abo-abo/swiper
-;; Package-Version: 20170412.30
+;; Package-Version: 20170609.938
 ;; Version: 0.9.1
 ;; Package-Requires: ((emacs "24.1") (ivy "0.9.0") (hydra "0.13.4"))
 ;; Keywords: completion, matching, bindings
@@ -35,6 +35,7 @@
 (require 'hydra)
 
 (defun ivy--matcher-desc ()
+  "Return description of `ivy--regex-function'."
   (if (eq ivy--regex-function
           'ivy--regex-fuzzy)
       "fuzzy"
.emacs.d/elpa/ivy-hydra-20170412.30/ivy-hydra.elc → .emacs.d/elpa/ivy-hydra-20170609.938/ivy-hydra.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit.info
@@ -1,178 +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-2017 Jonas Bernoulli <jonas@bernoul.li>
-
-     You can redistribute this document and/or modify it under the terms
-     of the GNU General Public License as published by the Free Software
-     Foundation, either version 3 of the License, or (at your option)
-     any later version.
-
-     This document is distributed in the hope that it will be useful,
-     but WITHOUT ANY WARRANTY; without even the implied warranty of
-     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-     General Public License for more details.
-INFO-DIR-SECTION Emacs
-START-INFO-DIR-ENTRY
-* Magit: (magit).       Using Git from Emacs with Magit.
-END-INFO-DIR-ENTRY
-
-
-Indirect:
-magit.info-1: 1222
-magit.info-2: 329199
-
-Tag Table:
-(Indirect)
-Node: Top1222
-Node: Introduction6098
-Node: Installation10821
-Node: Installing from an Elpa Archive11161
-Node: Installing from the Git Repository12287
-Node: Post-Installation Tasks14953
-Node: Getting Started16327
-Node: Interface Concepts21712
-Node: Modes and Buffers21986
-Node: Switching Buffers23731
-Node: Naming Buffers28272
-Node: Quitting Windows31107
-Node: Automatic Refreshing of Magit Buffers32739
-Node: Automatic Saving of File-Visiting Buffers35507
-Node: Automatic Reverting of File-Visiting Buffers36692
-Node: Risk of Reverting Automatically41688
-Node: Sections44071
-Node: Section Movement45012
-Node: Section Visibility48939
-Node: Section Hooks52414
-Node: Section Types and Values54695
-Node: Section Options55965
-Node: Popup Buffers and Prefix Commands56437
-Node: Completion and Confirmation58820
-Node: Running Git62104
-Node: Viewing Git Output62340
-Node: Running Git Manually63340
-Node: Git Executable65742
-Node: Global Git Arguments68024
-Node: Inspecting68830
-Node: Status Buffer69977
-Node: Status Sections72863
-Node: Status Header Sections78742
-Node: Status Options81299
-Node: Repository List83053
-Node: Logging85211
-Node: Refreshing Logs87743
-Node: Log Buffer89128
-Node: Log Margin91988
-Node: Select from Log94628
-Node: Reflog96732
-Node: Cherries98256
-Node: Diffing100001
-Node: Refreshing Diffs103019
-Node: Diff Buffer106000
-Node: Diff Options108585
-Node: Revision Buffer111955
-Node: Ediffing113407
-Node: References Buffer117003
-Node: References Sections124302
-Node: Bisecting125177
-Node: Visiting Blobs126915
-Node: Blaming127424
-Node: Manipulating130853
-Node: Repository Setup131169
-Node: Staging and Unstaging132209
-Node: Staging from File-Visiting Buffers136298
-Node: Applying137466
-Node: Committing139359
-Node: Initiating a Commit139942
-Node: Editing Commit Messages143253
-Node: Branching153649
-Node: The Two Remotes153849
-Node: The Branch Popup156474
-Node: The Branch Config Popup165819
-Node: Merging171722
-Node: Resolving Conflicts173889
-Node: Rebasing178898
-Node: Editing Rebase Sequences182538
-Node: Information About In-Progress Rebase185568
-Ref: Information About In-Progress Rebase-Footnote-1192404
-Node: Cherry Picking192990
-Node: Reverting194595
-Node: Resetting195958
-Node: Stashing197375
-Node: Transferring201569
-Node: Remotes201807
-Node: Fetching203085
-Node: Pulling204450
-Node: Pushing205295
-Node: Creating and Sending Patches210038
-Node: Applying Patches210733
-Node: Miscellaneous211730
-Node: Tagging212033
-Node: Notes212817
-Node: Submodules215341
-Node: Listing Submodules215555
-Node: Submodule Popup217374
-Node: Subtree218657
-Node: Common Commands219904
-Node: Wip Modes221649
-Node: Minor Mode for Buffers Visiting Files228445
-Node: Minor Mode for Buffers Visiting Blobs231919
-Node: Customizing232732
-Node: Per-Repository Configuration234404
-Node: Essential Settings236051
-Node: Safety236375
-Node: Performance238208
-Node: Microsoft Windows Performance245140
-Node: MacOS Performance246333
-Ref: MacOS Performance-Footnote-1247569
-Ref: MacOS Performance-Footnote-2247651
-Ref: MacOS Performance-Footnote-3247711
-Node: Plumbing247877
-Node: Calling Git248701
-Node: Getting a Value from Git250224
-Node: Calling Git for Effect253328
-Node: Section Plumbing259846
-Node: Creating Sections260074
-Node: Section Selection263973
-Node: Matching Sections265653
-Node: Refreshing Buffers271085
-Node: Conventions274220
-Node: Confirmation and Completion274397
-Node: Theming Faces275295
-Node: FAQ283446
-Node: FAQ - How to …?283903
-Node: How to show git's output?284267
-Node: How to install the gitman info manual?285021
-Node: How to show diffs for gpg-encrypted files?285991
-Node: How does branching and pushing work?286587
-Node: Can Magit be used as ‘ediff-version-control-package’?286966
-Node: FAQ - Issues and Errors288962
-Node: Magit is slow289706
-Node: I changed several thousand files at once and now Magit is unusable289931
-Node: I am having problems committing290671
-Node: I am using MS Windows and cannot push with Magit291152
-Node: I am using OS X and SOMETHING works in shell but not in Magit291769
-Node: Diffs contain control sequences292575
-Node: Expanding a file to show the diff causes it to disappear293649
-Node: Point is wrong in the ‘COMMIT_EDITMSG’ buffer294206
-Node: The mode-line information isn't always up-to-date295258
-Node: Emacs 245 hangs when loading Magit296325
-Node: Debugging Tools296875
-Node: Keystroke Index298627
-Node: Command Index329199
-Node: Function Index359865
-Node: Variable Index373175
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
.emacs.d/elpa/magit-20170531.1739/AUTHORS.md → .emacs.d/elpa/magit-20170621.710/AUTHORS.md
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/COPYING → .emacs.d/elpa/magit-20170621.710/COPYING
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/dir → .emacs.d/elpa/magit-20170621.710/dir
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/git-rebase.el → .emacs.d/elpa/magit-20170621.710/git-rebase.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/git-rebase.elc → .emacs.d/elpa/magit-20170621.710/git-rebase.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-apply.el → .emacs.d/elpa/magit-20170621.710/magit-apply.el
@@ -264,7 +264,8 @@ ignored) files.
                   (`list  (magit-untracked-files))))
          plain repos)
     (dolist (file files)
-      (if (magit-git-repo-p file t)
+      (if (and (not (file-symlink-p file))
+               (magit-git-repo-p file t))
           (push file repos)
         (push file plain)))
     (magit-wip-commit-before-change files " before stage")
.emacs.d/elpa/magit-20170531.1739/magit-apply.elc → .emacs.d/elpa/magit-20170621.710/magit-apply.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit-autoloads.el → .emacs.d/elpa/magit-20170621.710/magit-autoloads.el
@@ -3,8 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "git-rebase" "git-rebase.el" (22839 4048 643213
-;;;;;;  533000))
+;;;### (autoloads nil "git-rebase" "git-rebase.el" (22859 63750 639518
+;;;;;;  312000))
 ;;; 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" (22839 4048 662213 289000))
+;;;### (autoloads nil "magit" "magit.el" (22859 63750 778514 6000))
 ;;; Generated autoloads from magit.el
  (autoload 'magit-merge-popup "magit" nil t)
 
@@ -180,8 +180,8 @@ and Emacs to it.
 
 ;;;***
 
-;;;### (autoloads nil "magit-apply" "magit-apply.el" (22839 4048
-;;;;;;  649213 456000))
+;;;### (autoloads nil "magit-apply" "magit-apply.el" (22859 63750
+;;;;;;  687516 825000))
 ;;; Generated autoloads from magit-apply.el
 
 (autoload 'magit-stage-file "magit-apply" "\
@@ -217,8 +217,8 @@ Remove all changes from the staging area.
 
 ;;;***
 
-;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22839
-;;;;;;  4048 635213 635000))
+;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (22859
+;;;;;;  63750 587519 924000))
 ;;; Generated autoloads from magit-autorevert.el
 
 (defvar magit-revert-buffers t)
@@ -247,8 +247,8 @@ See `auto-revert-mode' for more information on Auto-Revert mode.
 
 ;;;***
 
-;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22839 4048
-;;;;;;  648213 468000))
+;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (22859 63750
+;;;;;;  681517 11000))
 ;;; Generated autoloads from magit-bisect.el
  (autoload 'magit-bisect-popup "magit-bisect" nil t)
 
@@ -299,8 +299,8 @@ bisect run'.
 
 ;;;***
 
-;;;### (autoloads nil "magit-blame" "magit-blame.el" (22839 4048
-;;;;;;  660213 314000))
+;;;### (autoloads nil "magit-blame" "magit-blame.el" (22859 63750
+;;;;;;  754514 749000))
 ;;; Generated autoloads from magit-blame.el
  (autoload 'magit-blame-popup "magit-blame" nil t)
 
@@ -324,8 +324,8 @@ only arguments available from `magit-blame-popup' should be used.
 
 ;;;***
 
-;;;### (autoloads nil "magit-branch" "magit-branch.el" (22839 4048
-;;;;;;  647213 481000))
+;;;### (autoloads nil "magit-branch" "magit-branch.el" (22859 63750
+;;;;;;  674517 228000))
 ;;; Generated autoloads from magit-branch.el
  (autoload 'magit-branch-popup "magit" nil t)
 
@@ -553,8 +553,8 @@ When `never' (the default) then the variable is never set.
 
 ;;;***
 
-;;;### (autoloads nil "magit-commit" "magit-commit.el" (22839 4048
-;;;;;;  636213 622000))
+;;;### (autoloads nil "magit-commit" "magit-commit.el" (22859 63750
+;;;;;;  592519 769000))
 ;;; Generated autoloads from magit-commit.el
 
 (autoload 'magit-commit "magit-commit" "\
@@ -636,8 +636,8 @@ Create a squash commit targeting COMMIT and instantly rebase.
 
 ;;;***
 
-;;;### (autoloads nil "magit-diff" "magit-diff.el" (22839 4048 659213
-;;;;;;  327000))
+;;;### (autoloads nil "magit-diff" "magit-diff.el" (22859 63750 748514
+;;;;;;  935000))
 ;;; Generated autoloads from magit-diff.el
 
 (autoload 'magit-diff-popup "magit-diff" "\
@@ -721,8 +721,8 @@ for a revision.
 
 ;;;***
 
-;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22839 4048
-;;;;;;  655213 378000))
+;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (22859 63750
+;;;;;;  723515 710000))
 ;;; Generated autoloads from magit-ediff.el
  (autoload 'magit-ediff-popup "magit-ediff" nil t)
 
@@ -810,8 +810,8 @@ stash that were staged.
 
 ;;;***
 
-;;;### (autoloads nil "magit-extras" "magit-extras.el" (22839 4048
-;;;;;;  637213 610000))
+;;;### (autoloads nil "magit-extras" "magit-extras.el" (22859 63750
+;;;;;;  602519 459000))
 ;;; Generated autoloads from magit-extras.el
 
 (autoload 'magit-run-git-gui "magit-extras" "\
@@ -920,8 +920,8 @@ patch application, a cherry-pick, a revert, or a bisect.
 
 ;;;***
 
-;;;### (autoloads nil "magit-files" "magit-files.el" (22839 4048
-;;;;;;  644213 520000))
+;;;### (autoloads nil "magit-files" "magit-files.el" (22859 63750
+;;;;;;  644518 157000))
 ;;; Generated autoloads from magit-files.el
 
 (autoload 'magit-find-file "magit-files" "\
@@ -968,8 +968,8 @@ Checkout FILE from REV.
 
 ;;;***
 
-;;;### (autoloads nil "magit-imenu" "magit-imenu.el" (22839 4048
-;;;;;;  654213 391000))
+;;;### (autoloads nil "magit-imenu" "magit-imenu.el" (22859 63750
+;;;;;;  717515 896000))
 ;;; Generated autoloads from magit-imenu.el
 
 (autoload 'magit-imenu--log-prev-index-position-function "magit-imenu" "\
@@ -1085,8 +1085,8 @@ beginning of the line.
 
 ;;;***
 
-;;;### (autoloads nil "magit-log" "magit-log.el" (22839 4048 656213
-;;;;;;  366000))
+;;;### (autoloads nil "magit-log" "magit-log.el" (22859 63750 729515
+;;;;;;  524000))
 ;;; Generated autoloads from magit-log.el
 
 (autoload 'magit-log-buffer-file-popup "magit-log" "\
@@ -1168,15 +1168,15 @@ Show commits in a branch that are not merged in the upstream branch.
 
 ;;;***
 
-;;;### (autoloads nil "magit-notes" "magit-notes.el" (22839 4048
-;;;;;;  671213 173000))
+;;;### (autoloads nil "magit-notes" "magit-notes.el" (22859 63750
+;;;;;;  821512 673000))
 ;;; Generated autoloads from magit-notes.el
  (autoload 'magit-notes-popup "magit" nil t)
 
 ;;;***
 
-;;;### (autoloads nil "magit-refs" "magit-refs.el" (22839 4048 638213
-;;;;;;  597000))
+;;;### (autoloads nil "magit-refs" "magit-refs.el" (22859 63750 608519
+;;;;;;  273000))
 ;;; Generated autoloads from magit-refs.el
  (autoload 'magit-show-refs-popup "magit" nil t)
 
@@ -1201,8 +1201,8 @@ Refs are compared with a branch read from the user.
 
 ;;;***
 
-;;;### (autoloads nil "magit-remote" "magit-remote.el" (22839 4048
-;;;;;;  666213 237000))
+;;;### (autoloads nil "magit-remote" "magit-remote.el" (22859 63750
+;;;;;;  799513 355000))
 ;;; Generated autoloads from magit-remote.el
 
 (autoload 'magit-clone "magit-remote" "\
@@ -1434,8 +1434,8 @@ is asked to pull.  START has to be reachable from that commit.
 
 ;;;***
 
-;;;### (autoloads nil "magit-repos" "magit-repos.el" (22839 4048
-;;;;;;  658213 340000))
+;;;### (autoloads nil "magit-repos" "magit-repos.el" (22859 63750
+;;;;;;  742515 121000))
 ;;; Generated autoloads from magit-repos.el
 
 (autoload 'magit-list-repositories "magit-repos" "\
@@ -1449,8 +1449,8 @@ control which repositories are displayed.
 
 ;;;***
 
-;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22839
-;;;;;;  4048 664213 263000))
+;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (22859
+;;;;;;  63750 788513 696000))
 ;;; Generated autoloads from magit-sequence.el
 
 (autoload 'magit-sequencer-continue "magit-sequence" "\
@@ -1600,8 +1600,8 @@ Abort the current rebase operation, restoring the original branch.
 
 ;;;***
 
-;;;### (autoloads nil "magit-stash" "magit-stash.el" (22839 4048
-;;;;;;  652213 417000))
+;;;### (autoloads nil "magit-stash" "magit-stash.el" (22859 63750
+;;;;;;  703516 329000))
 ;;; Generated autoloads from magit-stash.el
  (autoload 'magit-stash-popup "magit-stash" nil t)
 
@@ -1700,8 +1700,8 @@ Show all diffs of a stash in a buffer.
 
 ;;;***
 
-;;;### (autoloads nil "magit-status" "magit-status.el" (22839 4048
-;;;;;;  657213 353000))
+;;;### (autoloads nil "magit-status" "magit-status.el" (22859 63750
+;;;;;;  737515 276000))
 ;;; Generated autoloads from magit-status.el
 
 (autoload 'magit-init "magit-status" "\
@@ -1732,8 +1732,8 @@ then offer to initialize it as a new repository.
 
 ;;;***
 
-;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22839
-;;;;;;  4048 672213 160000))
+;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (22859
+;;;;;;  63750 827512 487000))
 ;;; Generated autoloads from magit-submodule.el
  (autoload 'magit-submodule-popup "magit-submodule" nil t)
 
@@ -1823,8 +1823,8 @@ Display a list of the current repository's submodules.
 
 ;;;***
 
-;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22839 4048
-;;;;;;  645213 507000))
+;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (22859 63750
+;;;;;;  662517 600000))
 ;;; Generated autoloads from magit-subtree.el
  (autoload 'magit-subtree-popup "magit-subtree" nil t)
 
@@ -1860,8 +1860,8 @@ Extract the history of the subtree PREFIX.
 
 ;;;***
 
-;;;### (autoloads nil "magit-utils" "magit-utils.el" (22839 4048
-;;;;;;  633213 661000))
+;;;### (autoloads nil "magit-utils" "magit-utils.el" (22859 63750
+;;;;;;  568520 512000))
 ;;; Generated autoloads from magit-utils.el
 
 (autoload 'magit-emacs-Q-command "magit-utils" "\
@@ -1886,8 +1886,8 @@ See info node `(magit)Debugging Tools' for more information.
 
 ;;;***
 
-;;;### (autoloads nil "magit-wip" "magit-wip.el" (22839 4048 640213
-;;;;;;  571000))
+;;;### (autoloads nil "magit-wip" "magit-wip.el" (22859 63750 618518
+;;;;;;  963000))
 ;;; Generated autoloads from magit-wip.el
 
 (defvar magit-wip-after-save-mode nil "\
@@ -1955,8 +1955,8 @@ command which is about to be called are committed.
 
 ;;;***
 
-;;;### (autoloads nil "magit-worktree" "magit-worktree.el" (22839
-;;;;;;  4048 669213 199000))
+;;;### (autoloads nil "magit-worktree" "magit-worktree.el" (22859
+;;;;;;  63750 811512 983000))
 ;;; Generated autoloads from magit-worktree.el
 
 (autoload 'magit-worktree-checkout "magit-worktree" "\
@@ -1973,7 +1973,7 @@ Create a new BRANCH and check it out in a new worktree at PATH.
 
 ;;;### (autoloads nil nil ("magit-core.el" "magit-git.el" "magit-margin.el"
 ;;;;;;  "magit-mode.el" "magit-obsolete.el" "magit-pkg.el" "magit-process.el"
-;;;;;;  "magit-section.el") (22839 4048 667213 225000))
+;;;;;;  "magit-section.el") (22859 63750 805513 169000))
 
 ;;;***
 
.emacs.d/elpa/magit-20170531.1739/magit-autorevert.el → .emacs.d/elpa/magit-20170621.710/magit-autorevert.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-autorevert.elc → .emacs.d/elpa/magit-20170621.710/magit-autorevert.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-bisect.el → .emacs.d/elpa/magit-20170621.710/magit-bisect.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-bisect.elc → .emacs.d/elpa/magit-20170621.710/magit-bisect.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-blame.el → .emacs.d/elpa/magit-20170621.710/magit-blame.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-blame.elc → .emacs.d/elpa/magit-20170621.710/magit-blame.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-branch.el → .emacs.d/elpa/magit-20170621.710/magit-branch.el
@@ -197,6 +197,8 @@ Checkout fails if the working tree or the staging area contain
 changes.
 \n(git checkout REVISION)."
   (interactive (list (magit-read-other-branch-or-commit "Checkout")))
+  (when (string-match "\\`heads/\\(.+\\)" revision)
+    (setq revision (match-string 1 revision)))
   (magit-run-git "checkout" revision))
 
 ;;;###autoload
@@ -405,7 +407,7 @@ defaulting to the branch at point."
        (let ((len (length ambiguous)))
          (cond
           ((= len 1)
-           (format "%s is" (--first (not (magit-ref-fullname it)) branches)))
+           (format "%s is" (-first #'magit-ref-ambiguous-p branches)))
           ((= len (length refs))
            (format "These %s names are" len))
           (t
@@ -616,7 +618,7 @@ already set.  When nil, then always unset."
   (interactive
    (let ((branch (magit-branch-config-branch "Change upstream of branch")))
      (list branch (and (not (magit-get-upstream-branch branch))
-                       (magit-read-upstream-branch)))))
+                       (magit-read-upstream-branch branch)))))
   (if upstream
       (-let (((remote . merge) (magit-split-branch-name upstream)))
         (setf (magit-get (format "branch.%s.remote" branch)) remote)
.emacs.d/elpa/magit-20170531.1739/magit-branch.elc → .emacs.d/elpa/magit-20170621.710/magit-branch.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit-commit.el → .emacs.d/elpa/magit-20170621.710/magit-commit.el
@@ -366,8 +366,8 @@ actually insert the entry."
         (log (magit-commit-message-buffer)) buf pos)
     (save-window-excursion
       (call-interactively #'magit-diff-visit-file)
-      (setq buf (current-buffer)
-            pos (point)))
+      (setq buf (current-buffer))
+      (setq pos (point)))
     (unless log
       (unless (magit-commit-assert nil)
         (user-error "Abort"))
.emacs.d/elpa/magit-20170531.1739/magit-commit.elc → .emacs.d/elpa/magit-20170621.710/magit-commit.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-core.el → .emacs.d/elpa/magit-20170621.710/magit-core.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-core.elc → .emacs.d/elpa/magit-20170621.710/magit-core.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-diff.el → .emacs.d/elpa/magit-20170621.710/magit-diff.el
@@ -912,8 +912,7 @@ for a revision."
           (atpoint (or (and (bound-and-true-p magit-blame-mode)
                             (magit-blame-chunk-get :hash))
                        mcommit
-                       (magit-branch-or-commit-at-point)
-                       (magit-tag-at-point))))
+                       (magit-branch-or-commit-at-point))))
      (nconc (cons (or (and (not current-prefix-arg) atpoint)
                       (magit-read-branch-or-commit "Show commit" atpoint))
                   (magit-show-commit--arguments))
@@ -1324,29 +1323,33 @@ commit or stash at point, then prompt for a commit."
   (let (rev cmd buf win)
     (cond
      (magit-blame-mode
-      (setq rev (magit-blame-chunk-get :hash)
-            cmd 'magit-show-commit
-            buf (magit-mode-get-buffer 'magit-revision-mode)))
+      (setq rev (magit-blame-chunk-get :hash))
+      (setq cmd 'magit-show-commit)
+      (setq buf (magit-mode-get-buffer 'magit-revision-mode)))
      ((derived-mode-p 'git-rebase-mode)
       (save-excursion
         (goto-char (line-beginning-position))
         (--if-let (and git-rebase-line
                        (looking-at git-rebase-line)
                        (match-string 2))
-            (setq rev it
-                  cmd 'magit-show-commit
-                  buf (magit-mode-get-buffer 'magit-revision-mode))
+            (progn (setq rev it)
+                   (setq cmd 'magit-show-commit)
+                   (setq buf (magit-mode-get-buffer 'magit-revision-mode)))
           (user-error "No commit on this line"))))
      (t
       (magit-section-case
-        ((commit branch)
-         (setq rev (magit-section-value it)
-               cmd 'magit-show-commit
-               buf (magit-mode-get-buffer 'magit-revision-mode)))
+        (branch
+         (setq rev (magit-ref-maybe-qualify (magit-section-value it)))
+         (setq cmd 'magit-show-commit)
+         (setq buf (magit-mode-get-buffer 'magit-revision-mode)))
+        (commit
+         (setq rev (magit-section-value it))
+         (setq cmd 'magit-show-commit)
+         (setq buf (magit-mode-get-buffer 'magit-revision-mode)))
         (stash
-         (setq rev (magit-section-value it)
-               cmd 'magit-stash-show
-               buf (magit-mode-get-buffer 'magit-stash-mode))))))
+         (setq rev (magit-section-value it))
+         (setq cmd 'magit-stash-show)
+         (setq buf (magit-mode-get-buffer 'magit-stash-mode))))))
     (if rev
         (if (and buf
                  (setq win (get-buffer-window buf))
.emacs.d/elpa/magit-20170531.1739/magit-diff.elc → .emacs.d/elpa/magit-20170621.710/magit-diff.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit-ediff.el → .emacs.d/elpa/magit-20170621.710/magit-ediff.el
@@ -300,22 +300,23 @@ mind at all, then it asks the user for a command to run."
          (`unstaged (setq command #'magit-ediff-show-unstaged))
          (`staged (setq command #'magit-ediff-show-staged))
          (`(commit . ,value)
-          (setq command #'magit-ediff-show-commit
-                revB value))
+          (setq command #'magit-ediff-show-commit)
+          (setq revB value))
          (`(stash . ,value)
-          (setq command #'magit-ediff-show-stash
-                revB value))
+          (setq command #'magit-ediff-show-stash)
+          (setq revB value))
          ((pred stringp)
           (-let [(a b) (magit-ediff-compare--read-revisions range)]
-            (setq command #'magit-ediff-compare
-                  revA a
-                  revB b)))
+            (setq command #'magit-ediff-compare)
+            (setq revA a)
+            (setq revB b)))
          (_
           (when (derived-mode-p 'magit-diff-mode)
             (pcase (magit-diff-type)
               (`committed (-let [(a b) (magit-ediff-compare--read-revisions
                                         (car magit-refresh-args))]
-                            (setq revA a revB b)))
+                            (setq revA a)
+                            (setq revB b)))
               ((guard (not magit-ediff-dwim-show-on-hunks))
                (setq command #'magit-ediff-stage))
               (`unstaged  (setq command #'magit-ediff-show-unstaged))
.emacs.d/elpa/magit-20170531.1739/magit-ediff.elc → .emacs.d/elpa/magit-20170621.710/magit-ediff.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-extras.el → .emacs.d/elpa/magit-20170621.710/magit-extras.el
@@ -65,8 +65,8 @@ blame to center around the line point is on."
      (when (or current-prefix-arg
                (not (setq revision "HEAD"
                           filename (magit-file-relative-name nil 'tracked))))
-       (setq revision (magit-read-branch-or-commit "Blame from revision")
-             filename (magit-read-file-from-rev revision "Blame file")))
+       (setq revision (magit-read-branch-or-commit "Blame from revision"))
+       (setq filename (magit-read-file-from-rev revision "Blame file")))
      (list revision filename
            (and (equal filename
                        (ignore-errors
@@ -229,8 +229,8 @@ a position in a file-visiting buffer."
   (let (buf pos)
     (save-window-excursion
       (call-interactively #'magit-diff-visit-file)
-      (setq buf (current-buffer)
-            pos (point)))
+      (setq buf (current-buffer))
+      (setq pos (point)))
     (save-excursion
       (with-current-buffer buf
         (goto-char pos)
.emacs.d/elpa/magit-20170531.1739/magit-extras.elc → .emacs.d/elpa/magit-20170621.710/magit-extras.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-files.el → .emacs.d/elpa/magit-20170621.710/magit-files.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-files.elc → .emacs.d/elpa/magit-20170621.710/magit-files.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-git.el → .emacs.d/elpa/magit-20170621.710/magit-git.el
@@ -802,9 +802,16 @@ string \"true\", otherwise return nil."
            (equal (magit-rev-parse rev)
                   (magit-rev-parse "HEAD")))))
 
-(defun magit-rev-name (rev &optional pattern)
+(defun magit-rev-name (rev &optional pattern not-anchored)
+  "Return a symbolic name for REV.
+PATTERN can be used to limit the result to a matching ref.
+Unless NOT-ANCHORED is non-nil, the beginning of the ref must
+match PATTERN."
   (magit-git-string "name-rev" "--name-only" "--no-undefined"
                     (and pattern (concat "--refs=" pattern))
+                    (and pattern
+                         (not not-anchored)
+                         (concat "--exclude=*/" pattern))
                     rev))
 
 (defun magit-rev-branch (rev)
@@ -812,15 +819,17 @@ string \"true\", otherwise return nil."
     (unless (string-match-p "~" it) it)))
 
 (defun magit-get-shortname (rev)
-  (let ((fn (apply-partially 'magit-git-string "name-rev"
-                             "--name-only" "--no-undefined" rev)))
-    (setq rev (or (funcall fn "--refs=refs/tags/*")
-                  (funcall fn "--refs=refs/heads/*")
-                  (funcall fn "--refs=refs/remotes/*" "--always")))
-    (if (and (string-match "^\\(?:tags\\|remotes\\)/\\(.+\\)" rev)
-             (magit-ref-fullname (match-string 1 rev)))
-        (match-string 1 rev)
-      rev)))
+  (let* ((fn (apply-partially 'magit-rev-name rev))
+         (name (or (funcall fn "refs/tags/*")
+                   (funcall fn "refs/heads/*")
+                   (funcall fn "refs/remotes/*"))))
+    (cond ((not name)
+           (magit-rev-parse "--short" rev))
+          ((string-match "^\\(?:tags\\|remotes\\)/\\(.+\\)" name)
+           (if (magit-ref-ambiguous-p (match-string 1 name))
+               name
+             (match-string 1 name)))
+          (t (magit-ref-maybe-qualify name)))))
 
 (defun magit-name-branch (rev &optional lax)
   (or (magit-name-local-branch rev)
@@ -829,24 +838,38 @@ string \"true\", otherwise return nil."
                    (magit-name-remote-branch rev t)))))
 
 (defun magit-name-local-branch (rev &optional lax)
-  (--when-let (magit-git-string "name-rev" "--name-only" "--no-undefined"
-                                "--refs=refs/heads/*" rev)
+  (--when-let (magit-rev-name rev "refs/heads/*")
     (and (or lax (not (string-match-p "[~^]" it))) it)))
 
 (defun magit-name-remote-branch (rev &optional lax)
-  (--when-let (magit-git-string "name-rev" "--name-only" "--no-undefined"
-                                "--refs=refs/remotes/*" rev)
+  (--when-let (magit-rev-name rev "refs/remotes/*")
     (and (or lax (not (string-match-p "[~^]" it)))
          (substring it 8))))
 
 (defun magit-name-tag (rev &optional lax)
-  (--when-let (magit-git-string "name-rev" "--name-only" "--no-undefined"
-                                "--refs=refs/tags/*" rev)
+  (--when-let (magit-rev-name rev "refs/tags/*")
     (and (or lax (not (string-match-p "[~^]" it)))
          (substring it 5))))
 
 (defun magit-ref-fullname (name)
-  (magit-rev-parse "--symbolic-full-name" name))
+  "Return fully qualified refname for NAME.
+If NAME is ambiguous, return nil.  NAME may include suffixes such
+as \"^1\" and \"~3\".  "
+  (save-match-data
+    (if (string-match "\\`\\([^^~]+\\)\\(.*\\)" name)
+        (--when-let (magit-rev-parse "--symbolic-full-name"
+                                     (match-string 1 name))
+          (concat it (match-string 2 name)))
+      (error "`name' has an unrecognized format"))))
+
+(defun magit-ref-ambiguous-p (name)
+  (not (magit-ref-fullname name)))
+
+(cl-defun magit-ref-maybe-qualify (name &optional (prefix "heads/"))
+  "If NAME is ambiguous, prepend PREFIX to it."
+  (concat (and (magit-ref-ambiguous-p name)
+               prefix)
+          name))
 
 (defun magit-ref-exists-p (ref)
   (magit-git-success "show-ref" "--verify" ref))
@@ -884,7 +907,7 @@ to, or to some other symbolic-ref that points to the same ref."
 
 (defun magit-local-branch-at-point ()
   (magit-section-case
-    (branch (let ((branch (magit-section-value it)))
+    (branch (let ((branch (magit-ref-maybe-qualify (magit-section-value it))))
               (when (member branch (magit-list-local-branch-names))
                 branch)))
     (commit (magit-name-local-branch (magit-section-value it)))))
@@ -904,10 +927,10 @@ to, or to some other symbolic-ref that points to the same ref."
 (defun magit-branch-or-commit-at-point ()
   (or magit-buffer-refname
       (magit-section-case
-        (branch (magit-section-value it))
+        (branch (magit-ref-maybe-qualify (magit-section-value it)))
         (commit (let ((rev (magit-section-value it)))
                   (or (magit-get-shortname rev) rev)))
-        (tag    (magit-section-value it)))
+        (tag (magit-ref-maybe-qualify (magit-section-value it) "tags/")))
       (and (derived-mode-p 'magit-revision-mode
                            'magit-merge-preview-mode)
            (car magit-refresh-args))))
@@ -1015,31 +1038,25 @@ which is different from the current branch and still exists."
         remote))))
 
 (defun magit-branch-merged-p (branch &optional target)
-  "Return non-nil if BRANCH is either merged into its upstream or TARGET.
+  "Return non-nil if BRANCH is merged into its upstream and TARGET.
 
-If optional TARGET is nil, then check whether BRANCH is merged
-into the current branch instead.  If TARGET is t, then check
-whether BRANCH is merged into any other local branch.  In both
-cases the upstream check is also performed.
+TARGET defaults to the current branch.  If `HEAD' is detached and
+TARGET is nil, then always return nil.  As a special case, if
+TARGET is t, then return non-nil if BRANCH is merged into any one
+of the other local branches.
 
-If BRANCH isn't merged into its upstream, TARGET is nil, and
-`HEAD' is detached, then return nil, even when BRANCH is merged
-into `HEAD' or some local branch.
-
-BRANCH can also be a revision or non-branch reference, though in
-that case the upstream check obviously is meaningless and always
-fails."
-  (or (magit-branch-merged-into-upstream-p branch)
-      (if (eq target t)
-          (delete (magit-name-local-branch branch)
-                  (magit-list-containing-branches branch))
-        (--when-let (or target (magit-get-current-branch))
-          (magit-git-success "merge-base" "--is-ancestor" branch it)))))
-
-(defun magit-branch-merged-into-upstream-p (branch)
-  "Return t if BRANCH is merged into its upstream."
-  (--when-let (magit-get-upstream-branch branch)
-    (magit-git-success "merge-base" "--is-ancestor" branch it)))
+If, and only if, BRANCH has an upstream, then only return non-nil
+if BRANCH is merged into both TARGET (as described above) as well
+as into its upstream."
+  (and (--if-let (and (magit-branch-p branch)
+                      (magit-get-upstream-branch branch))
+           (magit-git-success "merge-base" "--is-ancestor" branch it)
+         t)
+       (if (eq target t)
+           (delete (magit-name-local-branch branch)
+                   (magit-list-containing-branches branch))
+         (--when-let (or target (magit-get-current-branch))
+           (magit-git-success "merge-base" "--is-ancestor" branch it)))))
 
 (defun magit-split-branch-name (branch)
   (cond ((member branch (magit-list-local-branch-names))
.emacs.d/elpa/magit-20170531.1739/magit-git.elc → .emacs.d/elpa/magit-20170621.710/magit-git.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit-imenu.el → .emacs.d/elpa/magit-20170621.710/magit-imenu.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-imenu.elc → .emacs.d/elpa/magit-20170621.710/magit-imenu.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-log.el → .emacs.d/elpa/magit-20170621.710/magit-log.el
@@ -634,11 +634,19 @@ completion candidates."
   "Show log for the blob or file visited in the current buffer.
 With a prefix argument or when `--follow' is part of
 `magit-log-arguments', then follow renames."
-  (interactive (if (region-active-p)
-                   (list current-prefix-arg
-                         (1- (line-number-at-pos (region-beginning)))
-                         (1- (line-number-at-pos (region-end))))
-                 (list current-prefix-arg)))
+  (interactive
+   (cons current-prefix-arg
+         (and (region-active-p)
+              (save-restriction
+                (widen)
+                (list (line-number-at-pos (region-beginning))
+                      (line-number-at-pos
+                       (let ((end (region-end)))
+                         (if (char-after end)
+                             end
+                           ;; Ensure that we don't get the line number
+                           ;; of a trailing newline.
+                           (1- end)))))))))
   (require 'magit)
   (-if-let (file (magit-file-relative-name))
       (magit-mode-setup-internal
@@ -798,7 +806,10 @@ Type \\[magit-reset] to reset `HEAD' to the commit at point.
         (propertize
          (concat " Commits in " (mapconcat 'identity revs  " ")
                  (and files (concat " touching "
-                                    (mapconcat 'identity files " "))))
+                                    (mapconcat 'identity files " ")))
+                 (--some (and (string-prefix-p "-L" it)
+                              (concat " " it))
+                         args))
          'face 'magit-header-line))
   (unless (= (length files) 1)
     (setq args (remove "--follow" args)))
.emacs.d/elpa/magit-20170531.1739/magit-log.elc → .emacs.d/elpa/magit-20170621.710/magit-log.elc
Binary file
.emacs.d/elpa/magit-20170531.1739/magit-margin.el → .emacs.d/elpa/magit-20170621.710/magit-margin.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-margin.elc → .emacs.d/elpa/magit-20170621.710/magit-margin.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-mode.el → .emacs.d/elpa/magit-20170621.710/magit-mode.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-mode.elc → .emacs.d/elpa/magit-20170621.710/magit-mode.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-notes.el → .emacs.d/elpa/magit-20170621.710/magit-notes.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-notes.elc → .emacs.d/elpa/magit-20170621.710/magit-notes.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-obsolete.el → .emacs.d/elpa/magit-20170621.710/magit-obsolete.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-obsolete.elc → .emacs.d/elpa/magit-20170621.710/magit-obsolete.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-pkg.el → .emacs.d/elpa/magit-20170621.710/magit-pkg.el
@@ -1,4 +1,4 @@
-(define-package "magit" "20170531.1739" "A Git porcelain inside Emacs"
+(define-package "magit" "20170621.710" "A Git porcelain inside Emacs"
   '((emacs "24.4")
     (async "20170219.942")
     (dash "20170207.2056")
.emacs.d/elpa/magit-20170531.1739/magit-process.el → .emacs.d/elpa/magit-20170621.710/magit-process.el
@@ -794,11 +794,11 @@ as argument."
 (defun magit-process-finish (arg &optional process-buf command-buf
                                  default-dir section)
   (unless (integerp arg)
-    (setq process-buf (process-buffer arg)
-          command-buf (process-get arg 'command-buf)
-          default-dir (process-get arg 'default-dir)
-          section     (process-get arg 'section)
-          arg         (process-exit-status arg)))
+    (setq process-buf (process-buffer arg))
+    (setq command-buf (process-get arg 'command-buf))
+    (setq default-dir (process-get arg 'default-dir))
+    (setq section     (process-get arg 'section))
+    (setq arg         (process-exit-status arg)))
   (when (featurep 'dired)
     (dired-uncache default-dir))
   (when (buffer-live-p process-buf)
.emacs.d/elpa/magit-20170531.1739/magit-process.elc → .emacs.d/elpa/magit-20170621.710/magit-process.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-refs.el → .emacs.d/elpa/magit-20170621.710/magit-refs.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-refs.elc → .emacs.d/elpa/magit-20170621.710/magit-refs.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-remote.el → .emacs.d/elpa/magit-20170621.710/magit-remote.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-remote.elc → .emacs.d/elpa/magit-20170621.710/magit-remote.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-repos.el → .emacs.d/elpa/magit-20170621.710/magit-repos.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-repos.elc → .emacs.d/elpa/magit-20170621.710/magit-repos.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-section.el → .emacs.d/elpa/magit-20170621.710/magit-section.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-section.elc → .emacs.d/elpa/magit-20170621.710/magit-section.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-sequence.el → .emacs.d/elpa/magit-20170621.710/magit-sequence.el
@@ -526,8 +526,8 @@ If no such sequence is in progress, do nothing."
       (let ((patches (nreverse (magit-rebase-patches)))
             patch commit)
         (while patches
-          (setq patch (pop patches)
-                commit (magit-rev-verify-commit
+          (setq patch (pop patches))
+          (setq commit (magit-rev-verify-commit
                         (cadr (split-string (magit-file-line patch)))))
           (cond ((and commit patches)
                  (magit-sequence-insert-commit
.emacs.d/elpa/magit-20170531.1739/magit-sequence.elc → .emacs.d/elpa/magit-20170621.710/magit-sequence.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-stash.el → .emacs.d/elpa/magit-20170621.710/magit-stash.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-stash.elc → .emacs.d/elpa/magit-20170621.710/magit-stash.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-status.el → .emacs.d/elpa/magit-20170621.710/magit-status.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-status.elc → .emacs.d/elpa/magit-20170621.710/magit-status.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-submodule.el → .emacs.d/elpa/magit-20170621.710/magit-submodule.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-submodule.elc → .emacs.d/elpa/magit-20170621.710/magit-submodule.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-subtree.el → .emacs.d/elpa/magit-20170621.710/magit-subtree.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-subtree.elc → .emacs.d/elpa/magit-20170621.710/magit-subtree.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-utils.el → .emacs.d/elpa/magit-20170621.710/magit-utils.el
@@ -487,8 +487,8 @@ ACTION is a member of option `magit-slow-confirm'."
 
 (cl-defun magit-confirm (action &optional prompt prompt-n (items nil sitems))
   (declare (indent defun))
-  (setq prompt-n (format (concat (or prompt-n prompt) "? ") (length items))
-        prompt   (format (concat (or prompt (magit-confirm-make-prompt action))
+  (setq prompt-n (format (concat (or prompt-n prompt) "? ") (length items)))
+  (setq prompt   (format (concat (or prompt (magit-confirm-make-prompt action))
                                  "? ")
                          (car items)))
   (cond ((and (not (eq action t))
.emacs.d/elpa/magit-20170531.1739/magit-utils.elc → .emacs.d/elpa/magit-20170621.710/magit-utils.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-wip.el → .emacs.d/elpa/magit-20170621.710/magit-wip.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-wip.elc → .emacs.d/elpa/magit-20170621.710/magit-wip.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-worktree.el → .emacs.d/elpa/magit-20170621.710/magit-worktree.el
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit-worktree.elc → .emacs.d/elpa/magit-20170621.710/magit-worktree.elc
File renamed without changes
.emacs.d/elpa/magit-20170531.1739/magit.el → .emacs.d/elpa/magit-20170621.710/magit.el
@@ -737,11 +737,11 @@ the minibuffer too."
                             "1"))))
               pnt-args eob-args)
           (when (listp pnt-format)
-            (setq pnt-args (cdr pnt-format)
-                  pnt-format (car pnt-format)))
+            (setq pnt-args (cdr pnt-format))
+            (setq pnt-format (car pnt-format)))
           (when (listp eob-format)
-            (setq eob-args (cdr eob-format)
-                  eob-format (car eob-format)))
+            (setq eob-args (cdr eob-format))
+            (setq eob-format (car eob-format)))
           (when pnt-format
             (when idx-format
               (setq pnt-format
.emacs.d/elpa/magit-20170531.1739/magit.elc → .emacs.d/elpa/magit-20170621.710/magit.elc
File renamed without changes
.emacs.d/elpa/magit-20170621.710/magit.info
@@ -0,0 +1,178 @@
+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-2017 Jonas Bernoulli <jonas@bernoul.li>
+
+     You can redistribute this document and/or modify it under the terms
+     of the GNU General Public License as published by the Free Software
+     Foundation, either version 3 of the License, or (at your option)
+     any later version.
+
+     This document is distributed in the hope that it will be useful,
+     but WITHOUT ANY WARRANTY; without even the implied warranty of
+     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+     General Public License for more details.
+INFO-DIR-SECTION Emacs
+START-INFO-DIR-ENTRY
+* Magit: (magit).       Using Git from Emacs with Magit.
+END-INFO-DIR-ENTRY
+
+
+Indirect:
+magit.info-1: 1222
+magit.info-2: 328224
+
+Tag Table:
+(Indirect)
+Node: Top1222
+Node: Introduction6098
+Node: Installation10821
+Node: Installing from an Elpa Archive11161
+Node: Installing from the Git Repository12264
+Node: Post-Installation Tasks14907
+Node: Getting Started16192
+Node: Interface Concepts21539
+Node: Modes and Buffers21813
+Node: Switching Buffers23558
+Node: Naming Buffers28099
+Node: Quitting Windows30934
+Node: Automatic Refreshing of Magit Buffers32566
+Node: Automatic Saving of File-Visiting Buffers35334
+Node: Automatic Reverting of File-Visiting Buffers36519
+Node: Risk of Reverting Automatically41515
+Node: Sections43898
+Node: Section Movement44839
+Node: Section Visibility48766
+Node: Section Hooks52241
+Node: Section Types and Values54522
+Node: Section Options55792
+Node: Popup Buffers and Prefix Commands56264
+Node: Completion and Confirmation58631
+Node: Running Git61915
+Node: Viewing Git Output62151
+Node: Running Git Manually63151
+Node: Git Executable65553
+Node: Global Git Arguments67835
+Node: Inspecting68641
+Node: Status Buffer69788
+Node: Status Sections72674
+Node: Status Header Sections78521
+Node: Status Options81078
+Node: Repository List82832
+Node: Logging84990
+Node: Refreshing Logs87437
+Node: Log Buffer88822
+Node: Log Margin91657
+Node: Select from Log94297
+Node: Reflog96401
+Node: Cherries97918
+Node: Diffing99645
+Node: Refreshing Diffs102592
+Node: Diff Buffer105573
+Node: Diff Options108158
+Node: Revision Buffer111528
+Node: Ediffing112980
+Node: References Buffer116576
+Node: References Sections123875
+Node: Bisecting124736
+Node: Visiting Blobs126474
+Node: Blaming126983
+Node: Manipulating130412
+Node: Repository Setup130728
+Node: Staging and Unstaging131768
+Node: Staging from File-Visiting Buffers135849
+Node: Applying137017
+Node: Committing138910
+Node: Initiating a Commit139493
+Node: Editing Commit Messages142804
+Node: Branching153200
+Node: The Two Remotes153400
+Node: The Branch Popup156017
+Node: The Branch Config Popup165362
+Node: Merging171258
+Node: Resolving Conflicts173425
+Node: Rebasing178427
+Node: Editing Rebase Sequences182031
+Node: Information About In-Progress Rebase185061
+Ref: Information About In-Progress Rebase-Footnote-1191868
+Node: Cherry Picking192454
+Node: Reverting194059
+Node: Resetting195422
+Node: Stashing196839
+Node: Transferring201033
+Node: Remotes201271
+Node: Fetching202549
+Node: Pulling203905
+Node: Pushing204741
+Node: Creating and Sending Patches209475
+Node: Applying Patches210170
+Node: Miscellaneous211167
+Node: Tagging211470
+Node: Notes212254
+Node: Submodules214778
+Node: Listing Submodules214992
+Node: Submodule Popup216811
+Node: Subtree218094
+Node: Common Commands219341
+Node: Wip Modes221086
+Node: Minor Mode for Buffers Visiting Files227882
+Node: Minor Mode for Buffers Visiting Blobs231148
+Node: Customizing231961
+Node: Per-Repository Configuration233633
+Node: Essential Settings235280
+Node: Safety235604
+Node: Performance237369
+Node: Microsoft Windows Performance244229
+Node: MacOS Performance245422
+Ref: MacOS Performance-Footnote-1246658
+Ref: MacOS Performance-Footnote-2246740
+Ref: MacOS Performance-Footnote-3246800
+Node: Plumbing246966
+Node: Calling Git247790
+Node: Getting a Value from Git249313
+Node: Calling Git for Effect252417
+Node: Section Plumbing258935
+Node: Creating Sections259163
+Node: Section Selection263062
+Node: Matching Sections264742
+Node: Refreshing Buffers270174
+Node: Conventions273309
+Node: Confirmation and Completion273486
+Node: Theming Faces274384
+Node: FAQ282535
+Node: FAQ - How to …?282977
+Node: How to show git's output?283341
+Node: How to install the gitman info manual?284095
+Node: How to show diffs for gpg-encrypted files?285065
+Node: How does branching and pushing work?285661
+Node: Can Magit be used as ‘ediff-version-control-package’?286030
+Node: FAQ - Issues and Errors288026
+Node: Magit is slow288770
+Node: I changed several thousand files at once and now Magit is unusable288984
+Node: I am having problems committing289713
+Node: I am using MS Windows and cannot push with Magit290194
+Node: I am using OS X and SOMETHING works in shell but not in Magit290811
+Node: Diffs contain control sequences291617
+Node: Expanding a file to show the diff causes it to disappear292691
+Node: Point is wrong in the ‘COMMIT_EDITMSG’ buffer293248
+Node: The mode-line information isn't always up-to-date294300
+Node: Emacs 245 hangs when loading Magit295367
+Node: Debugging Tools295917
+Node: Keystroke Index297652
+Node: Command Index328224
+Node: Function Index358890
+Node: Variable Index372200
+
+End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
.emacs.d/elpa/magit-20170531.1739/magit.info-1 → .emacs.d/elpa/magit-20170621.710/magit.info-1
@@ -432,7 +432,7 @@ using:
 
      M-x package-install RET magit RET
 
-   Now see *note Post-Installation Tasks: Post-Installation Tasks.
+   Now see *note Post-Installation Tasks::.
 
 
 File: magit.info,  Node: Installing from the Git Repository,  Next: Post-Installation Tasks,  Prev: Installing from an Elpa Archive,  Up: Installation
@@ -502,7 +502,7 @@ directory using ‘sudo make install’ and setting ‘load-path’ accordingly.
 
    To view all available targets use ‘make help’.
 
-   Now see *note Post-Installation Tasks: Post-Installation Tasks.
+   Now see *note Post-Installation Tasks::.
 
 
 File: magit.info,  Node: Post-Installation Tasks,  Prev: Installing from the Git Repository,  Up: Installation
@@ -522,19 +522,17 @@ outdated value for ‘load-path’.
      Magit 2.8.0, Git 2.10.2, Emacs 25.1.1, gnu/linux
 
    Then you might also want to read about options that many users likely
-want to customize.  See *note Essential Settings: Essential Settings.
+want to customize.  See *note Essential Settings::.
 
    To be able to follow cross references to Git manpages found in this
 manual, you might also have to manually install the ‘gitman’ info
 manual, or advice ‘Info-follow-nearest-node’ to instead open the actual
-manpage.  See *note How to install the gitman info manual?: How to
-install the gitman info manual?.
+manpage.  See *note How to install the gitman info manual?::.
 
-   If you are completely new to Magit then see *note Getting Started:
-Getting Started.
+   If you are completely new to Magit then see *note Getting Started::.
 
-   If you run into problems, then please see the *note FAQ: FAQ.  Also
-see the *note Debugging Tools: Debugging Tools.
+   If you run into problems, then please see the *note FAQ::.  Also see
+the *note Debugging Tools::.
 
    And last but not least please consider making a donation, to ensure
 that I can keep working on Magit.  See <https://magit.vc/donations>.
@@ -638,8 +636,8 @@ buffers.  You should create a global key binding for this command too:
 
    In the same vein, you might also want to enable
 ‘global-magit-file-mode’ to get some more Magit key bindings in regular
-file-visiting buffers (see *note Minor Mode for Buffers Visiting Files:
-Minor Mode for Buffers Visiting Files.).
+file-visiting buffers (see *note Minor Mode for Buffers Visiting
+Files::).
 
    It is not necessary that you do so now, but if you stick with Magit,
 then it is highly recommended that you read the next section too.
@@ -1524,9 +1522,8 @@ you should setup a global binding:
 
    Most popups set their initial arguments according to the
 corresponding ‘magit-*-arguments’ variable.  Two popups, the log and
-diff popups (see *note Logging: Logging. and *note Diffing: Diffing.),
-may behave a bit differently, depending on the value of
-‘magit-use-sticky-arguments’.
+diff popups (see *note Logging:: and *note Diffing::), may behave a bit
+differently, depending on the value of ‘magit-use-sticky-arguments’.
 
  -- User Option: magit-use-sticky-arguments
 
@@ -1912,8 +1909,8 @@ File: magit.info,  Node: Status Sections,  Next: Status Header Sections,  Up: St
 ---------------------
 
 The contents of status buffers is controlled using the hook
-‘magit-status-sections-hook’.  See *note Section Hooks: Section Hooks.
-to learn about such hooks and how to customize them.
+‘magit-status-sections-hook’.  See *note Section Hooks:: to learn about
+such hooks and how to customize them.
 
  -- User Option: magit-status-sections-hook
 
@@ -2072,8 +2069,8 @@ default the following functions are also members of that hook:
      not shared with any upstream commit) with "+" and all others with
      "-".
 
-   See *note References Buffer: References Buffer. for some more section
-inserters, which could be used here.
+   See *note References Buffer:: for some more section inserters, which
+could be used here.
 
 
 File: magit.info,  Node: Status Header Sections,  Next: Status Options,  Prev: Status Sections,  Up: Status Buffer
@@ -2280,7 +2277,7 @@ can be changed before invoking one of the suffix commands.  However, in
 the case of the log popup, these arguments may be taken from those
 currently in use in the current repository’s log buffer, depending on
 the value of ‘magit-use-sticky-arguments’ (see *note Popup Buffers and
-Prefix Commands: Popup Buffers and Prefix Commands.).
+Prefix Commands::).
 
    For information about the various arguments, see *note
 (gitman)git-log::.
@@ -2290,7 +2287,7 @@ Prefix Commands: Popup Buffers and Prefix Commands.).
 passed to ‘git log’.
 
    The log popup also features several reflog commands.  See *note
-Reflog: Reflog.
+Reflog::.
 
 ‘l’     (‘magit-log-popup’)
 
@@ -2328,8 +2325,8 @@ Reflog: Reflog.
 
    Two additional commands that show the log for the file or blob that
 is being visited in the current buffer exists, see *note Minor Mode for
-Buffers Visiting Files: Minor Mode for Buffers Visiting Files.  The
-command ‘magit-cherry’ also shows a log, see *note Cherries: Cherries.
+Buffers Visiting Files::.  The command ‘magit-cherry’ also shows a log,
+see *note Cherries::.
 
 * Menu:
 
@@ -2390,7 +2387,7 @@ File: magit.info,  Node: Log Buffer,  Next: Log Margin,  Prev: Refreshing Logs,
 
      This prefix command shows the following suffix commands along with
      the appropriate infix arguments in a popup buffer.  See *note
-     Refreshing Logs: Refreshing Logs.
+     Refreshing Logs::.
 
 ‘q’     (‘magit-log-bury-buffer’)
 
@@ -2458,8 +2455,7 @@ File: magit.info,  Node: Log Buffer,  Next: Log Margin,  Prev: Refreshing Logs,
      Whether to show the refnames after the commit summaries.  This is
      useful if you use really long branch names.
 
-   For a description of ‘magit-log-margin’ see *note Log Margin: Log
-Margin.
+   For a description of ‘magit-log-margin’ see *note Log Margin::.
 
 
 File: magit.info,  Node: Log Margin,  Next: Select from Log,  Prev: Log Buffer,  Up: Logging
@@ -2594,7 +2590,7 @@ File: magit.info,  Node: Reflog,  Next: Cherries,  Prev: Select from Log,  Up: L
 Also see *note (gitman)git-reflog::.
 
    These reflog commands are available from the log popup.  See *note
-Logging: Logging.
+Logging::.
 
 ‘l r’     (‘magit-reflog-current’)
 
@@ -2646,8 +2642,8 @@ has an equivalent in the upstream and ‘+’ if it does not, i.e.  if it is
 a cherry.
 
    The command ‘magit-cherry’ shows cherries for a single branch, but
-the references buffer (see *note References Buffer: References Buffer.)
-can show cherries for multiple "upstreams" at once.
+the references buffer (see *note References Buffer::) can show cherries
+for multiple "upstreams" at once.
 
    Also see *note (gitman)git-reflog::.
 
@@ -2698,7 +2694,7 @@ that can be changed before invoking one of the suffix commands.
 However, in the case of the diff popup, these arguments may be taken
 from those currently in use in the current repository’s log buffer,
 depending on the value of ‘magit-use-sticky-arguments’ (see *note Popup
-Buffers and Prefix Commands: Popup Buffers and Prefix Commands.).
+Buffers and Prefix Commands::).
 
    Also see *note (gitman)git-diff::.
 
@@ -2760,7 +2756,7 @@ another buffer:
 
    Two additional commands that show the diff for the file or blob that
 is being visited in the current buffer exists, see *note Minor Mode for
-Buffers Visiting Files: Minor Mode for Buffers Visiting Files.
+Buffers Visiting Files::.
 
 * Menu:
 
@@ -3343,11 +3339,11 @@ File: magit.info,  Node: References Sections,  Up: References Buffer
 -------------------------
 
 The contents of references buffers is controlled using the hook
-‘magit-refs-sections-hook’.  See *note Section Hooks: Section Hooks. to
-learn about such hooks and how to customize them.  All of the below
-functions are members of the default value.  Note that it makes much
-less sense to customize this hook than it does for the respective hook
-used for the status buffer.
+‘magit-refs-sections-hook’.  See *note Section Hooks:: to learn about
+such hooks and how to customize them.  All of the below functions are
+members of the default value.  Note that it makes much less sense to
+customize this hook than it does for the respective hook used for the
+status buffer.
 
  -- User Option: magit-refs-sections-hook
 
@@ -3622,8 +3618,7 @@ the heading of a sibling section of the same type.
 once, a hunk, multiple hunks at once, and on parts of a hunk.  These
 apply variants are described in the next section.
 
-   You can also use Ediff to stage and unstage.  See *note Ediffing:
-Ediffing.
+   You can also use Ediff to stage and unstage.  See *note Ediffing::.
 
 ‘s’     (‘magit-stage’)
 
@@ -4203,8 +4198,7 @@ the variables that are related to fetching, pulling, and pushing (as
 well as some other branch-related variables) can be inspected and
 changed using the popup ‘magit-branch-config-popup’, which is a
 sub-popup of many popups that deal with branches.  It is also possible
-to set the push-remote or upstream while pushing (see *note Pushing:
-Pushing.).
+to set the push-remote or upstream while pushing (see *note Pushing::).
 
 
 File: magit.info,  Node: The Branch Popup,  Next: The Branch Config Popup,  Prev: The Two Remotes,  Up: Branching
@@ -4553,7 +4547,7 @@ e.g.:
    For more information about these variables you should also see
 
    *note (gitman)git-config::.  Also see *note (gitman)git-branch::.  ,
-*note (gitman)git-checkout::.  and *note Pushing: Pushing.
+*note (gitman)git-checkout::.  and *note Pushing::.
 
  -- User Option: magit-prefer-remote-upstream
 
@@ -4728,9 +4722,9 @@ using Ediff press ‘e’ while point is on such a file in the status
 buffer.
 
    Ediff can be used for other purposes as well.  For more information
-on how to enter Ediff from Magit, see *note Ediffing: Ediffing.
-Explaining how to use Ediff is beyond the scope of this manual, instead
-see *note (ediff)Top::.
+on how to enter Ediff from Magit, see *note Ediffing::.  Explaining how
+to use Ediff is beyond the scope of this manual, instead see *note
+(ediff)Top::.
 
    If you are unsure whether you should Smerge or Ediff, then use the
 former.  It is much easier to understand and use, and except for truely
@@ -4758,8 +4752,7 @@ then stop somewhere along the way, either because you told it to do so,
 or because applying a commit failed due to a conflict.  When that
 happens, then the status buffer shows information about the rebase
 sequence which is in progress in a section similar to a log section.
-See *note Information About In-Progress Rebase: Information About
-In-Progress Rebase.
+See *note Information About In-Progress Rebase::.
 
 ‘r p’     (‘magit-rebase-onto-pushremote’)
 
@@ -4994,8 +4987,7 @@ shown in different colors to indicate the status of the commits.
    • Commits prefixed with ‘pick’, ‘reword’, ‘edit’, ‘squash’, and
      ‘fixup’ have not been applied yet.  These words have the same
      meaning here as they do in the buffer used to edit the rebase
-     sequence.  See *note Editing Rebase Sequences: Editing Rebase
-     Sequences.
+     sequence.  See *note Editing Rebase Sequences::.
 
    • The commit prefixed with ‘onto’ is the commit on top of which all
      the other commits are being re-applied.  Like the commits that have
@@ -5416,7 +5408,7 @@ File: magit.info,  Node: Fetching,  Next: Pulling,  Prev: Remotes,  Up: Transfer
 ============
 
 For information about the differences between the _upstream_ and the
-_push-remote_, see *note Branching: Branching.
+_push-remote_, see *note Branching::.
 
    Also see *note (gitman)git-fetch::.
 
@@ -5467,7 +5459,7 @@ File: magit.info,  Node: Pulling,  Next: Pushing,  Prev: Fetching,  Up: Transfer
 ===========
 
 For information about the differences between the _upstream_ and the
-_push-remote_, see *note Branching: Branching.
+_push-remote_, see *note Branching::.
 
    Also see *note (gitman)git-pull::.
 
@@ -5499,7 +5491,7 @@ File: magit.info,  Node: Pushing,  Next: Creating and Sending Patches,  Prev: Pu
 ===========
 
 For information about the differences between the _upstream_ and the
-_push-remote_, see *note Branching: Branching.
+_push-remote_, see *note Branching::.
 
    Also see *note (gitman)git-push::.
 
@@ -6143,9 +6135,9 @@ few key bindings, but this might be extended in the future.
 
      Whether to establish certain Magit key bindings in all
      file-visiting buffers belonging to a Git repository.  This
-     establishes the bindings suggested in *note Getting Started:
-     Getting Started. (but only for file-visiting buffers), and
-     additionally binds ‘C-c M-g’ to ‘magit-file-popup’.
+     establishes the bindings suggested in *note Getting Started:: (but
+     only for file-visiting buffers), and additionally binds ‘C-c M-g’
+     to ‘magit-file-popup’.
 
 ‘C-c M-g’     (‘magit-file-popup’)
 
@@ -6165,7 +6157,7 @@ few key bindings, but this might be extended in the future.
 
      This prefix command shows suffix commands along with the
      appropriate infix arguments in a popup buffer.  See *note
-     Initiating a Commit: Initiating a Commit.
+     Initiating a Commit::.
 
 ‘C-c M-g D’     (‘magit-diff-buffer-file-popup’)
 
@@ -6178,13 +6170,12 @@ few key bindings, but this might be extended in the future.
 ‘C-c M-g d’     (‘magit-diff-buffer-file’)
 
      This command shows the diff for the file of blob that the current
-     buffer visits.  Renames are followed when a prefix argument is used
-     or when ‘--follow’ is part of ‘magit-diff-arguments’.
+     buffer visits.
 
  -- User Option: magit-diff-buffer-file-locked
 
      This option controls whether ‘magit-diff-buffer-file’ uses a
-     decicated buffer.  See *note Modes and Buffers: Modes and Buffers.
+     decicated buffer.  See *note Modes and Buffers::.
 
 ‘C-c M-g L’     (‘magit-log-buffer-file-popup’)
 
@@ -6202,13 +6193,13 @@ few key bindings, but this might be extended in the future.
  -- User Option: magit-log-buffer-file-locked
 
      This option controls whether ‘magit-log-buffer-file’ uses a
-     decicated buffer.  See *note Modes and Buffers: Modes and Buffers.
+     decicated buffer.  See *note Modes and Buffers::.
 
 ‘C-c M-g b’     (‘magit-blame-popup’)
 
      This prefix command shows the ‘magit-blame’ suffix command along
      with the appropriate infix arguments in a popup buffer.  See *note
-     Initiating a Commit: Initiating a Commit.
+     Initiating a Commit::.
 
 ‘C-c M-g p’     (‘magit-blob-previous’)
 
@@ -6355,14 +6346,14 @@ for *uncommitted* changes in the working tree and not even the index
 uncommitted changes, it also makes it easy to shoot yourself in the foot
 in the process.  For that reason Magit provides three global modes that
 save *tracked* files to work-in-progress references after or before
-certain actions.  See *note Wip Modes: Wip Modes.
+certain actions.  See *note Wip Modes::.
 
    These modes are not enabled by default because of performance
 concerns.  Instead a lot of potentially destructive commands require
 confirmation every time they are used.  In many cases this can be
 disabled by adding a symbol to ‘magit-no-confirm’ (see *note Completion
-and Confirmation: Completion and Confirmation.).  If you enable the
-various wip modes then you should add ‘safe-with-wip’ to this list.
+and Confirmation::).  If you enable the various wip modes then you
+should add ‘safe-with-wip’ to this list.
 
    Similarly it isn’t necessary to require confirmation before moving a
 file to the system trash - if you trashed a file by mistake then you can
@@ -6374,7 +6365,7 @@ want to change that.
    By default buffers visiting files are automatically reverted when the
 visited file changes on disk.  This isn’t as risky as it might seem, but
 to make an informed decision you should see *note Risk of Reverting
-Automatically: Risk of Reverting Automatically.
+Automatically::.
 
 
 File: magit.info,  Node: Performance,  Prev: Safety,  Up: Essential Settings
@@ -6421,7 +6412,7 @@ should help.
            'magit-auto-revert-repository-buffers-p)
 
    For alternative approaches see *note Automatic Reverting of
-File-Visiting Buffers: Automatic Reverting of File-Visiting Buffers.
+File-Visiting Buffers::.
 
    If you have enabled any features that are disabled by default, then
 you should check whether they impact performance significantly.  It’s
@@ -6431,7 +6422,7 @@ they reduce performance at least in large repositories.
    If performance is only slow inside certain unusually large
 repositories, then you might want to disable certain features on a
 per-repository or per-repository-class basis only.  See *note
-Per-Repository Configuration: Per-Repository Configuration.
+Per-Repository Configuration::.
 
 * Menu:
 
@@ -7414,7 +7405,7 @@ frequently *and recently* asked questions, i.e.  questions that haven’t
 made it into the manual yet, see
 <https://github.com/magit/magit/wiki/FAQ>.
 
-   Please also use the *note Debugging Tools: Debugging Tools.
+   Please also use the *note Debugging Tools::.
 
 * Menu:
 
@@ -7492,7 +7483,7 @@ File: magit.info,  Node: How does branching and pushing work?,  Next: Can Magit
 A.1.4 How does branching and pushing work?
 ------------------------------------------
 
-Please see *note Branching: Branching. and
+Please see *note Branching:: and
 <http://emacsair.me/2016/01/18/magit-2.4>
 
 
@@ -7555,7 +7546,7 @@ File: magit.info,  Node: Magit is slow,  Next: I changed several thousand files
 A.2.1 Magit is slow
 -------------------
 
-See *note Performance: Performance.
+See *note Performance::.
 
 
 File: magit.info,  Node: I changed several thousand files at once and now Magit is unusable,  Next: I am having problems committing,  Prev: Magit is slow,  Up: FAQ - Issues and Errors
@@ -7569,7 +7560,7 @@ that direction.  But it might take until v3.1 to accomplish fully
 satisfactory performance, because that requires some heavy refactoring.
 
    But for now we recommend you use the command line to complete this
-one commit.  Also see *note Performance: Performance.
+one commit.  Also see *note Performance::.
 
 
 File: magit.info,  Node: I am having problems committing,  Next: I am using MS Windows and cannot push with Magit,  Prev: I changed several thousand files at once and now Magit is unusable,  Up: FAQ - Issues and Errors
@@ -7736,7 +7727,7 @@ issue.  Please include all relevant output when reporting an issue.
      available and used ‘git’ executable(s), and can be useful when
      investigating ‘exec-path’ issues.
 
-     Also see *note Git Executable: Git Executable.
+     Also see *note Git Executable::.
 
 ‘M-x with-editor-debug’     (‘with-editor-debug’)
 
@@ -7747,7 +7738,7 @@ issue.  Please include all relevant output when reporting an issue.
 
      Also see *note (with-editor)Debugging::.
 
-   Please also see the *note FAQ: FAQ.
+   Please also see the *note FAQ::.
 
 
 File: magit.info,  Node: Keystroke Index,  Next: Command Index,  Prev: Debugging Tools,  Up: Top
@@ -7863,7 +7854,7 @@ Appendix C Keystroke Index
 * C-c M-g:                               Minor Mode for Buffers Visiting Files.
                                                               (line  19)
 * C-c M-g b:                             Minor Mode for Buffers Visiting Files.
-                                                              (line  76)
+                                                              (line  75)
 * C-c M-g c:                             Minor Mode for Buffers Visiting Files.
                                                               (line  33)
 * C-c M-g D:                             Minor Mode for Buffers Visiting Files.
@@ -7871,11 +7862,11 @@ Appendix C Keystroke Index
 * C-c M-g d:                             Minor Mode for Buffers Visiting Files.
                                                               (line  47)
 * C-c M-g L:                             Minor Mode for Buffers Visiting Files.
-                                                              (line  58)
+                                                              (line  57)
 * C-c M-g l:                             Minor Mode for Buffers Visiting Files.
-                                                              (line  65)
+                                                              (line  64)
 * C-c M-g p:                             Minor Mode for Buffers Visiting Files.
-                                                              (line  82)
+                                                              (line  81)
 * C-c M-g s:                             Minor Mode for Buffers Visiting Files.
                                                               (line  24)
 * C-c M-g u:                             Minor Mode for Buffers Visiting Files.
@@ -8005,9 +7996,9 @@ Appendix C Keystroke Index
 * M-x magit-find-file-other-window:      Visiting Blobs.      (line  11)
 * M-x magit-init:                        Repository Setup.    (line   6)
 * M-x magit-reset-index:                 Staging and Unstaging.
-                                                              (line  88)
+                                                              (line  87)
 * M-x magit-reverse-in-index:            Staging and Unstaging.
-                                                              (line  63)
+                                                              (line  62)
 * M-x magit-revision-toggle-file-filter: Revision Buffer.     (line  26)
 * M-x magit-stage-file:                  Staging from File-Visiting Buffers.
                                                               (line  10)
@@ -8064,27 +8055,27 @@ Appendix C Keystroke Index
 * r:                                     Rebasing.            (line   9)
 * r <1>:                                 Editing Rebase Sequences.
                                                               (line  51)
-* r a:                                   Rebasing.            (line  96)
-* r e:                                   Rebasing.            (line  34)
-* r e <1>:                               Rebasing.            (line  92)
-* r f:                                   Rebasing.            (line  66)
-* r i:                                   Rebasing.            (line  62)
-* r m:                                   Rebasing.            (line  70)
-* r p:                                   Rebasing.            (line  25)
-* r r:                                   Rebasing.            (line  81)
-* r s:                                   Rebasing.            (line  40)
-* r s <1>:                               Rebasing.            (line  88)
-* r u:                                   Rebasing.            (line  30)
-* r w:                                   Rebasing.            (line  74)
+* r a:                                   Rebasing.            (line  95)
+* r e:                                   Rebasing.            (line  33)
+* r e <1>:                               Rebasing.            (line  91)
+* r f:                                   Rebasing.            (line  65)
+* r i:                                   Rebasing.            (line  61)
+* r m:                                   Rebasing.            (line  69)
+* r p:                                   Rebasing.            (line  24)
+* r r:                                   Rebasing.            (line  80)
+* r s:                                   Rebasing.            (line  39)
+* r s <1>:                               Rebasing.            (line  87)
+* r u:                                   Rebasing.            (line  29)
+* r w:                                   Rebasing.            (line  73)
 * RET:                                   Diff Buffer.         (line   6)
 * RET <1>:                               References Buffer.   (line 117)
 * RET <2>:                               Blaming.             (line  29)
 * RET <3>:                               Editing Rebase Sequences.
                                                               (line  16)
 * s:                                     Staging and Unstaging.
-                                                              (line  29)
+                                                              (line  28)
 * S:                                     Staging and Unstaging.
-                                                              (line  37)
+                                                              (line  36)
 * s <1>:                                 Editing Rebase Sequences.
                                                               (line  59)
 * S-<tab>:                               Section Visibility.  (line  22)
@@ -8109,9 +8100,9 @@ Appendix C Keystroke Index
 * T T:                                   Notes.               (line  13)
 * TAB:                                   Section Visibility.  (line   9)
 * u:                                     Staging and Unstaging.
-                                                              (line  44)
+                                                              (line  43)
 * U:                                     Staging and Unstaging.
-                                                              (line  53)
+                                                              (line  52)
 * v:                                     Applying.            (line  44)
 * V:                                     Reverting.           (line   6)
 * V A:                                   Reverting.           (line  30)
.emacs.d/elpa/magit-20170531.1739/magit.info-2 → .emacs.d/elpa/magit-20170621.710/magit.info-2
Binary file
.emacs.d/elpa/magit-annex-20170429.756/magit-annex-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "magit-annex" "20170429.756" "Control git-annex from Magit" '((cl-lib "0.3") (magit "2.3.0")) :url "https://github.com/kyleam/magit-annex" :keywords '("vc" "tools"))
.emacs.d/elpa/magit-annex-20170429.756/magit-annex-autoloads.el → .emacs.d/elpa/magit-annex-20170621.1328/magit-annex-autoloads.el
@@ -3,8 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "magit-annex" "magit-annex.el" (22792 62847
-;;;;;;  481796 397000))
+;;;### (autoloads nil "magit-annex" "magit-annex.el" (22859 63747
+;;;;;;  154626 293000))
 ;;; Generated autoloads from magit-annex.el
 
 (eval-after-load 'magit '(progn (define-key magit-mode-map "@" 'magit-annex-popup-or-init) (magit-define-popup-action 'magit-dispatch-popup 64 "Annex" 'magit-annex-popup-or-init 33)))
.emacs.d/elpa/magit-annex-20170621.1328/magit-annex-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "magit-annex" "20170621.1328" "Control git-annex from Magit" '((cl-lib "0.3") (magit "2.3.0")) :commit "15eca25c59bef89da75f9a741d194698d0e708eb" :url "https://github.com/magit/magit-annex" :keywords '("vc" "tools"))
.emacs.d/elpa/magit-annex-20170429.756/magit-annex.el → .emacs.d/elpa/magit-annex-20170621.1328/magit-annex.el
@@ -4,8 +4,8 @@
 
 ;; Author: Kyle Meyer <kyle@kyleam.com>
 ;;         Rémi Vanicat <vanicat@debian.org>
-;; URL: https://github.com/kyleam/magit-annex
-;; Package-Version: 20170429.756
+;; URL: https://github.com/magit/magit-annex
+;; Package-Version: 20170621.1328
 ;; Keywords: vc tools
 ;; Version: 1.3.1
 ;; Package-Requires: ((cl-lib "0.3") (magit "2.3.0"))
.emacs.d/elpa/magit-annex-20170429.756/magit-annex.elc → .emacs.d/elpa/magit-annex-20170621.1328/magit-annex.elc
Binary file
.emacs.d/elpa/magit-popup-20170508.936/dir → .emacs.d/elpa/magit-popup-20170609.2310/dir
File renamed without changes
.emacs.d/elpa/magit-popup-20170508.936/magit-popup-autoloads.el → .emacs.d/elpa/magit-popup-20170609.2310/magit-popup-autoloads.el
@@ -4,7 +4,7 @@
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
 ;;;### (autoloads nil nil ("magit-popup-pkg.el" "magit-popup.el")
-;;;;;;  (22839 4030 924441 902000))
+;;;;;;  (22859 63746 286653 188000))
 
 ;;;***
 
.emacs.d/elpa/magit-popup-20170508.936/magit-popup-pkg.el → .emacs.d/elpa/magit-popup-20170609.2310/magit-popup-pkg.el
@@ -1,4 +1,4 @@
-(define-package "magit-popup" "20170508.936" "Define prefix-infix-suffix command combos"
+(define-package "magit-popup" "20170609.2310" "Define prefix-infix-suffix command combos"
   '((emacs "24.4")
     (async "20170219.942")
     (dash "20170207.2056"))
.emacs.d/elpa/magit-popup-20170508.936/magit-popup.el → .emacs.d/elpa/magit-popup-20170609.2310/magit-popup.el
@@ -1277,8 +1277,8 @@ variable whose value may be used as a default."
 (defun magit-popup-export-file-args (args)
   (let ((files (--first (string-prefix-p "-- " it) args)))
     (when files
-      (setq args  (remove files args)
-            files (split-string (substring files 3) ",")))
+      (setq args  (remove files args))
+      (setq files (split-string (substring files 3) ",")))
     (list args files)))
 
 (defconst magit-popup-font-lock-keywords
.emacs.d/elpa/magit-popup-20170508.936/magit-popup.elc → .emacs.d/elpa/magit-popup-20170609.2310/magit-popup.elc
File renamed without changes
.emacs.d/elpa/magit-popup-20170508.936/magit-popup.info → .emacs.d/elpa/magit-popup-20170609.2310/magit-popup.info
File renamed without changes
.emacs.d/elpa/markdown-mode-20170526.1213/markdown-mode-autoloads.el → .emacs.d/elpa/markdown-mode-20170620.2048/markdown-mode-autoloads.el
@@ -3,8 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "markdown-mode" "markdown-mode.el" (22839 4029
-;;;;;;  229463 841000))
+;;;### (autoloads nil "markdown-mode" "markdown-mode.el" (22859 63744
+;;;;;;  283715 252000))
 ;;; Generated autoloads from markdown-mode.el
 
 (autoload 'markdown-mode "markdown-mode" "\
.emacs.d/elpa/markdown-mode-20170526.1213/markdown-mode-pkg.el → .emacs.d/elpa/markdown-mode-20170620.2048/markdown-mode-pkg.el
@@ -1,2 +1,2 @@
 ;;; -*- no-byte-compile: t -*-
-(define-package "markdown-mode" "20170526.1213" "Major mode for Markdown-formatted text" '((emacs "24") (cl-lib "0.5")) :commit "e9bb47d8d87ae8205ed935a3b485e12c12e43aa9" :url "http://jblevins.org/projects/markdown-mode/" :keywords '("markdown" "github flavored markdown" "itex"))
+(define-package "markdown-mode" "20170620.2048" "Major mode for Markdown-formatted text" '((emacs "24") (cl-lib "0.5")) :commit "38a1778d6b02c44b34ba26a701f6a9a48ee0b4c9" :url "http://jblevins.org/projects/markdown-mode/" :keywords '("markdown" "github flavored markdown" "itex"))
.emacs.d/elpa/markdown-mode-20170526.1213/markdown-mode.el → .emacs.d/elpa/markdown-mode-20170620.2048/markdown-mode.el
@@ -6,8 +6,8 @@
 ;; Author: Jason R. Blevins <jrblevin@sdf.org>
 ;; Maintainer: Jason R. Blevins <jrblevin@sdf.org>
 ;; Created: May 24, 2007
-;; Version: 2.2
-;; Package-Version: 20170526.1213
+;; Version: 2.3-dev
+;; Package-Version: 20170620.2048
 ;; Package-Requires: ((emacs "24") (cl-lib "0.5"))
 ;; Keywords: Markdown, GitHub Flavored Markdown, itex
 ;; URL: http://jblevins.org/projects/markdown-mode/
@@ -16,8 +16,8 @@
 
 ;; 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 2, or (at your option)
-;; any later version.
+;; 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
@@ -25,9 +25,7 @@
 ;; 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, write to the Free Software
-;; Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -174,15 +172,17 @@
 
 ;; `markdown-mode' depends on `cl-lib', which has been bundled with
 ;; GNU Emacs since 24.3.  Users of GNU Emacs 24.1 and 24.2 can install
-;; `cl-lib' with `package.el'.
+;; `cl-lib' with `package.el'.  Additionally, to enable editing of code
+;; blocks in indirect buffers using `C-c '`, you will need to install
+;; the [`edit-indirect'][ei] package.
+
+;;   [ei]: https://github.com/Fanael/edit-indirect/
 
 ;;; Usage:
 
 ;; Keybindings are grouped by prefixes based on their function.  For
-;; example, the commands for inserting links are grouped under `C-c
-;; C-a`, where the `C-a` is a mnemonic for the HTML `<a>` tag.  In
-;; other cases, the connection to HTML is not direct.  For example,
-;; commands dealing with headings begin with `C-c C-t` (mnemonic:
+;; example, the commands for styling text are grouped under `C-c C-s`
+;; and commands dealing with headings begin with `C-c C-t` (mnemonic:
 ;; titling).  The primary commands in each group will are described
 ;; below.  You can obtain a list of all keybindings by pressing `C-c
 ;; C-h`.  Movement and shifting commands tend to be associated with
@@ -193,53 +193,40 @@
 ;; commands are described below.  You can obtain a list of all
 ;; keybindings by pressing `C-c C-h`.
 ;;
-;;   * Hyperlinks: `C-c C-a`
+;;   * Hyperlinks: `C-c C-l`
 ;;
-;;     In this group, `C-c C-a l` inserts an inline link of the form
-;;     `[text](url)`.  The link text is determined as follows.  First,
-;;     if there is an active region (i.e., when transient mark mode is
-;;     on and the mark is active), use it as the link text.  Second,
-;;     if the point is at a word, use that word as the link text.  In
-;;     these two cases, the original text will be replaced with the
-;;     link and point will be left at the position for inserting a
-;;     URL.  Otherwise, insert empty link markup and place the point
-;;     for inserting the link text.
+;;     `C-c C-l` (`markdown-insert-link`) is a general command for
+;;     inserting standard Markdown links of any form: either inline
+;;     links, reference links, or plain URLs in angle brackets.  The
+;;     URL or `[reference]` label, link text, and optional title are
+;;     entered through a series of interactive prompts.  The type of
+;;     link is determined by which values are provided:
 ;;
-;;     `C-c C-a L` inserts a reference link of the form `[text][label]`
-;;     and, optionally, a corresponding reference label definition.
-;;     The link text is determined in the same way as with an inline
-;;     link (using the region, when active, or the word at the point),
-;;     but instead of inserting empty markup as a last resort, the
-;;     link text will be read from the minibuffer.  The reference
-;;     label will be read from the minibuffer in both cases, with
-;;     completion from the set of currently defined references.  To
-;;     create an implicit reference link, press `RET` to accept the
-;;     default, an empty label.  If the entered referenced label is
-;;     not defined, additionally prompt for the URL and (optional)
-;;     title.  If a URL is provided, a reference definition will be
-;;     inserted in accordance with `markdown-reference-location'.
-;;     If a title is given, it will be added to the end of the
-;;     reference definition and will be used to populate the title
-;;     attribute when converted to XHTML.
+;;     *   If both a URL and link text are given, insert an inline link:
+;;         `[text](url)`.
+;;     *   If both a `[reference]` label and link text are given, insert
+;;         a reference link: `[text][reference]`.
+;;     *   If only link text is given, insert an implicit reference link:
+;;         `[text][]`.
+;;     *   If only a URL is given, insert a plain URL link:
+;;         `<url>`.
 ;;
-;;     `C-c C-a u` inserts a bare url, delimited by angle brackets.  When
-;;     there is an active region, the text in the region is used as the
-;;     URL.  If the point is at a URL, that url is used.  Otherwise,
-;;     insert angle brackets and position the point in between them
-;;     for inserting the URL.
+;;     If there is an active region, this command uses the region as
+;;     either the default URL (if it seems to be a URL) or link text
+;;     value otherwise.  The region will be deleted and replaced by the
+;;     link.
 ;;
-;;     `C-c C-a f` inserts a footnote marker at the point, inserts a
-;;     footnote definition below, and positions the point for
-;;     inserting the footnote text.  Note that footnotes are an
-;;     extension to Markdown and are not supported by all processors.
+;;     Note that this function can be used to convert a link from one
+;;     type to another (inline, reference, or plain URL) by
+;;     selectively adding or removing properties via the interactive
+;;     prompts.
 ;;
-;;     `C-c C-a w` behaves much like the inline link insertion command
-;;     and inserts a wiki link of the form `[[WikiLink]]`.  If there
-;;     is an active region, use the region as the link text.  If the
-;;     point is at a word, use the word as the link text.  If there is
-;;     no active region and the point is not at word, simply insert
-;;     link markup.  Note that wiki links are an extension to Markdown
-;;     and are not supported by all processors.
+;;     If a reference label is given that is not yet defined, you
+;;     will be prompted for the URL and optional title and the
+;;     reference will be inserted according to the value of
+;;     `markdown-reference-location'.  If a title is given, it will be
+;;     added to the end of the reference definition and will be used
+;;     to populate the title attribute when converted to HTML.
 ;;
 ;;   * Images: `C-c C-i`
 ;;
@@ -249,53 +236,59 @@
 ;;     image.
 ;;
 ;;     Local images associated with image links may be displayed
-;;     inline in the buffer by pressing `C-c C-i C-t`
+;;     inline in the buffer by pressing `C-c C-x C-i`
 ;;     (`markdown-toggle-inline-images'). This is a toggle command, so
 ;;     pressing this once again will remove inline images.
 ;;
-;;   * Styles: `C-c C-s`
+;;   * Text Styles: `C-c C-s`
 ;;
-;;     `C-c C-s e` inserts markup to make a region or word italic (`e`
-;;     for `<em>` or emphasis).  If there is an active region, make
-;;     the region italic.  If the point is at a non-italic word, make
-;;     the word italic.  If the point is at an italic word or phrase,
-;;     remove the italic markup.  Otherwise, simply insert italic
-;;     delimiters and place the cursor in between them.  Similarly,
-;;     use `C-c C-s s` for bold (`<strong>`), `C-c C-s c` for
-;;     inline code (`<code>`), and `C-c C-s k` for inserting `<kbd>`
-;;     tags.
+;;     `C-c C-s i` inserts markup to make a region or word italic. If
+;;     there is an active region, make the region italic.  If the point
+;;     is at a non-italic word, make the word italic.  If the point is
+;;     at an italic word or phrase, remove the italic markup.
+;;     Otherwise, simply insert italic delimiters and place the cursor
+;;     in between them.  Similarly, use `C-c C-s b` for bold, `C-c C-s c`
+;;     for inline code, and `C-c C-s k` for inserting `<kbd>` tags.
 ;;
-;;     `C-c C-s b` inserts a blockquote using the active region, if any,
-;;     or starts a new blockquote.  `C-c C-s C-b` is a variation which
-;;     always operates on the region, regardless of whether it is
-;;     active or not.  The appropriate amount of indentation, if any,
-;;     is calculated automatically given the surrounding context, but
-;;     may be adjusted later using the region indentation commands.
+;;     `C-c C-s q` inserts a blockquote using the active region, if
+;;     any, or starts a new blockquote. `C-c C-s Q` is a variation
+;;     which always operates on the region, regardless of whether it
+;;     is active or not (i.e., when `transient-mark-mode` is off but
+;;     the mark is set).  The appropriate amount of indentation, if
+;;     any, is calculated automatically given the surrounding context,
+;;     but may be adjusted later using the region indentation
+;;     commands.
 ;;
 ;;     `C-c C-s p` behaves similarly for inserting preformatted code
-;;     blocks, with `C-c C-s C-p` being the region-only counterpart.
+;;     blocks (with `C-c C-s P` being the region-only counterpart)
+;;     and `C-c C-s C` inserts a GFM style backquote fenced code block.
 ;;
-;;   * Headings: `C-c C-t`
+;;   * Headings: `C-c C-s`
 ;;
-;;     All heading insertion commands use the text in the active
-;;     region, if any, as the heading text.  Otherwise, if the current
-;;     line is not blank, they use the text on the current line.
-;;     Finally, the setext commands will prompt for heading text if
-;;     there is no active region and the current line is blank.
+;;     To insert or replace headings, there are two options.  You can
+;;     insert a specific level heading directly or you can have
+;;     `markdown-mode' determine the level for you based on the previous
+;;     heading.  As with the other markup commands, the heading
+;;     insertion commands use the text in the active region, if any,
+;;     as the heading text.  Otherwise, if the current line is not
+;;     blank, they use the text on the current line.  Finally, the
+;;     setext commands will prompt for heading text if there is no
+;;     active region and the current line is blank.
 ;;
-;;     `C-c C-t h` inserts a heading with automatically chosen type and
-;;     level (both determined by the previous heading).  `C-c C-t H`
+;;     `C-c C-s h` inserts a heading with automatically chosen type and
+;;     level (both determined by the previous heading).  `C-c C-s H`
 ;;     behaves similarly, but uses setext (underlined) headings when
 ;;     possible, still calculating the level automatically.
 ;;     In cases where the automatically-determined level is not what
 ;;     you intended, the level can be quickly promoted or demoted
 ;;     (as described below).  Alternatively, a `C-u` prefix can be
-;;     given to insert a heading promoted by one level or a `C-u C-u`
-;;     prefix can be given to insert a heading demoted by one level.
+;;     given to insert a heading _promoted_ (lower number) by one
+;;     level or a `C-u C-u` prefix can be given to insert a heading
+;;     demoted (higher number) by one level.
 ;;
-;;     To insert a heading of a specific level and type, use `C-c C-t 1`
-;;     through `C-c C-t 6` for atx (hash mark) headings and `C-c C-t !` or
-;;     `C-c C-t @` for setext headings of level one or two, respectively.
+;;     To insert a heading of a specific level and type, use `C-c C-s 1`
+;;     through `C-c C-s 6` for atx (hash mark) headings and `C-c C-s !` or
+;;     `C-c C-s @` for setext headings of level one or two, respectively.
 ;;     Note that `!` is `S-1` and `@` is `S-2`.
 ;;
 ;;     If the point is at a heading, these commands will replace the
@@ -304,14 +297,30 @@
 ;;     press `C-c C-k` to kill the heading and press `C-y` to yank the
 ;;     heading text back into the buffer.
 ;;
-;;   * Horizontal Rules: `C-c -`
+;;   * Horizontal Rules: `C-c C-s -`
 ;;
-;;     `C-c -` inserts a horizontal rule.  By default, insert the
+;;     `C-c C-s -` inserts a horizontal rule.  By default, insert the
 ;;     first string in the list `markdown-hr-strings' (the most
 ;;     prominent rule).  With a `C-u` prefix, insert the last string.
 ;;     With a numeric prefix `N`, insert the string in position `N`
 ;;     (counting from 1).
 ;;
+;;   * Footnotes: `C-c C-s f`
+;;
+;;     `C-c C-s f` inserts a footnote marker at the point, inserts a
+;;     footnote definition below, and positions the point for
+;;     inserting the footnote text.  Note that footnotes are an
+;;     extension to Markdown and are not supported by all processors.
+;;
+;;   * Wiki Links: `C-c C-s w`
+;;
+;;     `C-c C-s w` inserts a wiki link of the form `[[WikiLink]]`.  If
+;;     there is an active region, use the region as the link text.  If the
+;;     point is at a word, use the word as the link text.  If there is
+;;     no active region and the point is not at word, simply insert
+;;     link markup.  Note that wiki links are an extension to Markdown
+;;     and are not supported by all processors.
+;;
 ;;   * Markdown and Maintenance Commands: `C-c C-c`
 ;;
 ;;     *Compile:* `C-c C-c m` will run Markdown on the current buffer
@@ -365,15 +374,18 @@
 ;;     or in the other window with the `C-u` prefix).  Use `M-p` and
 ;;     `M-n` to quickly jump to the previous or next link of any type.
 ;;
-;;   * Jumping: `C-c C-l`
+;;   * Doing Things: `C-c C-d`
 ;;
-;;     Use `C-c C-l` to jump from the object at point to its counterpart
-;;     elsewhere in the text, when possible.  Jumps between reference
-;;     links and definitions; between footnote markers and footnote
-;;     text.  If more than one link uses the same reference name, a
-;;     new buffer will be created containing clickable buttons for jumping
-;;     to each link.  You may press `TAB` or `S-TAB` to jump between
-;;     buttons in this window.
+;;     Use `C-c C-d` to do something sensible with the object at the point:
+;;
+;;       - Jumps between reference links and reference definitions.
+;;         If more than one link uses the same reference label, a
+;;         window will be shown containing clickable buttons for
+;;         jumping to each link.  Pressing `TAB` or `S-TAB` cycles
+;;         between buttons in this window.
+;;       - Jumps between footnote markers and footnote text.
+;;       - Toggles the completion status of GFM task list items
+;;         (checkboxes).
 ;;
 ;;   * Promotion and Demotion: `C-c C--` and `C-c C-=`
 ;;
@@ -385,7 +397,7 @@
 ;;     moving backward or forward through the list of rule strings in
 ;;     `markdown-hr-strings'.  For bold and italic text, promotion and
 ;;     demotion means changing the markup from underscores to asterisks.
-;;     Press `C-c C--` or `M-LEFT` to promote the element at the point
+;;     Press `C-c C--` or `C-c <left>` to promote the element at the point
 ;;     if possible.
 ;;
 ;;     To remember these commands, note that `-` is for decreasing the
@@ -404,26 +416,33 @@
 ;;     completes the markup at the point, if it is determined to be
 ;;     incomplete.
 ;;
-;;   * Editing Lists: `M-RET`, `M-UP`, `M-DOWN`, `M-LEFT`, and `M-RIGHT`
+;;   * Editing Lists: `M-RET`, `C-c <up>`, `C-c <down>`, `C-c <left>`, and `C-c <right>`
 ;;
 ;;     New list items can be inserted with `M-RET` or `C-c C-j`.  This
 ;;     command determines the appropriate marker (one of the possible
 ;;     unordered list markers or the next number in sequence for an
 ;;     ordered list) and indentation level by examining nearby list
 ;;     items.  If there is no list before or after the point, start a
-;;     new list.  Prefix this command by `C-u` to decrease the
-;;     indentation by one level.  Prefix this command by `C-u C-u` to
-;;     increase the indentation by one level.
+;;     new list.  As with heading insertion, you may prefix this
+;;     command by `C-u` to decrease the indentation by one level.
+;;     Prefix this command by `C-u C-u` to increase the indentation by
+;;     one level.
 ;;
-;;     Existing list items can be moved up or down with `M-UP` or
-;;     `M-DOWN` and indented or exdented with `M-RIGHT` or `M-LEFT`.
+;;     Existing list items (and their nested sub-items) can be moved
+;;     up or down with `C-c <up>` or `C-c <down>` and indented or
+;;     outdented with `C-c <right>` or `C-c <left>`.
 ;;
-;;   * Editing Subtrees: `M-S-UP`, `M-S-DOWN`, `M-S-LEFT`, and `M-S-RIGHT`
+;;   * Editing Subtrees: `C-c <up>`, `C-c <down>`, `C-c <left>`, and `C-c <right>`
 ;;
 ;;     Entire subtrees of ATX headings can be promoted and demoted
-;;     with `M-S-LEFT` and `M-S-RIGHT`, which mirror the bindings
-;;     for promotion and demotion of list items. Similarly, subtrees
-;;     can be moved up and down with `M-S-UP` and `M-S-DOWN`.
+;;     with `C-c <left>` and `C-c <right>`, which are the same keybindings
+;;     used for promotion and demotion of list items.   If the point is in
+;;     a list item, the operate on the list item.  Otherwise, they operate
+;;     on the current heading subtree.  Similarly, subtrees can be
+;;     moved up and down with `C-c <up>` and `C-c <down>`.
+;;
+;;     These commands currently do not work properly if there are
+;;     Setext headings in the affected region.
 ;;
 ;;     Please note the following "boundary" behavior for promotion and
 ;;     demotion.  Any level-six headings will not be demoted further
@@ -434,9 +453,9 @@
 ;;
 ;;   * Shifting the Region: `C-c <` and `C-c >`
 ;;
-;;     Text in the region can be indented or exdented as a group using
+;;     Text in the region can be indented or outdented as a group using
 ;;     `C-c >` to indent to the next indentation point (calculated in
-;;     the current context), and `C-c <` to exdent to the previous
+;;     the current context), and `C-c <` to outdent to the previous
 ;;     indentation point.  These keybindings are the same as those for
 ;;     similar commands in `python-mode'.
 ;;
@@ -460,20 +479,20 @@
 ;;     at the point.  Finally, `C-c C-u` will move up to a lower-level
 ;;     (higher precedence) visible heading.
 ;;
-;;   * Movement by Paragraph or Block: `M-{` and `M-}`
+;;   * Movement by Markdown Blocks: `M-{` and `M-}`
 ;;
 ;;     These keys are usually bound to `forward-paragraph' and
 ;;     `backward-paragraph', but those built-in Emacs functions are
 ;;     based on simple regular expressions and can fail in Markdown.
 ;;     Blocks in `markdown-mode' are code blocks, blockquotes, list
-;;     items, headings, horizontal rules, or plain text paragraphs
-;;     separated by whitespace.  Instead, they are bound to
-;;     `markdown-forward-block' and `markdown-backward-block'.
-;;     To mark or narrow to a block, you can use `M-h`
-;;     (`markdown-mark-block') and `C-x n b`
+;;     items (which may contain other blocks), headings, horizontal
+;;     rules, or plain text paragraphs separated by whitespace.
+;;     Instead, they are bound to `markdown-forward-block' and
+;;     `markdown-backward-block'.  To mark or narrow to a block, you
+;;     can use `M-h` (`markdown-mark-block') and `C-x n b`
 ;;     (`markdown-narrow-to-block').
 ;;
-;;   * Movement by Defun: `C-M-a`, `C-M-e`, and `C-M-h`
+;;   * Movement by Defuns: `C-M-a`, `C-M-e`, and `C-M-h`
 ;;
 ;;     The usual Emacs commands can be used to move by defuns
 ;;     (top-level major definitions).  In markdown-mode, a defun is a
@@ -482,10 +501,28 @@
 ;;     to the end of the current or following defun, and `C-M-h` will
 ;;     put the region around the entire defun.
 ;;
+;;   * Movement by Plain Text Blocks: `C-M-{`, `C-M-}`, and `C-c M-h`
+;;
+;;     While the block and defun movement commands respect Markdown
+;;     syntax, these commands simply move over whitespace-separated
+;;     plain text blocks without regard for the context.  You can use
+;;     these commands to move over entire lists, whitespace separated
+;;     segments of code, etc.  To move backward use `C-M-{`
+;;     (`markdown-beginning-of-text-block`) and to move forward use
+;;     `C-M-}` (`markdown-end-of-text-block`).  To mark a plain text
+;;     block, use `C-c M-h` (`markdown-mark-text-block`).
+;;
+;;   * Miscellaneous Commands:
+;;
+;;     When the [`edit-indirect'][ei] package is installed, `C-c '`
+;;     (`markdown-edit-code-block`) can be used to edit a code block
+;;     in an indirect buffer in the native major mode. Press `C-c C-c`
+;;     to commit changes and return or `C-c C-k` to cancel.
+;;
 ;; As noted, many of the commands above behave differently depending
 ;; on whether Transient Mark mode is enabled or not.  When it makes
 ;; sense, if Transient Mark mode is on and the region is active, the
-;; command applies to the text in the region (e.g., `C-c C-s s` makes the
+;; command applies to the text in the region (e.g., `C-c C-s b` makes the
 ;; region bold).  For users who prefer to work outside of Transient
 ;; Mark mode, since Emacs 22 it can be enabled temporarily by pressing
 ;; `C-SPC C-SPC`.  When this is not the case, many commands then
@@ -494,15 +531,15 @@
 ;; When applicable, commands that specifically act on the region even
 ;; outside of Transient Mark mode have the same keybinding as their
 ;; standard counterpart, but the letter is uppercase.  For example,
-;; `markdown-insert-blockquote' is bound to `C-c C-s b` and only acts on
+;; `markdown-insert-blockquote' is bound to `C-c C-s q` and only acts on
 ;; the region in Transient Mark mode while `markdown-blockquote-region'
-;; is bound to `C-c C-s B` and always applies to the region (when nonempty).
+;; is bound to `C-c C-s Q` and always applies to the region (when nonempty).
 ;;
 ;; Note that these region-specific functions are useful in many
 ;; cases where it may not be obvious.  For example, yanking text from
 ;; the kill ring sets the mark at the beginning of the yanked text
 ;; and moves the point to the end.  Therefore, the (inactive) region
-;; contains the yanked text.  So, `C-y` followed by `C-c C-s C-b` will
+;; contains the yanked text.  So, `C-y` followed by `C-c C-s Q` will
 ;; yank text and turn it into a blockquote.
 ;;
 ;; markdown-mode attempts to be flexible in how it handles
@@ -511,7 +548,7 @@
 ;; you might have in mind when you press `RET` at the end of a line or
 ;; `TAB`.  For example, you may want to start a new list item,
 ;; continue a list item with hanging indentation, indent for a nested
-;; pre block, and so on.  Exdention is handled similarly when backspace
+;; pre block, and so on.  Outdenting is handled similarly when backspace
 ;; is pressed at the beginning of the non-whitespace portion of a line.
 ;;
 ;; markdown-mode supports outline-minor-mode as well as org-mode-style
@@ -577,7 +614,7 @@
 ;;   * `markdown-header-scaling-values' - list of scaling values,
 ;;     relative to baseline, for headers of levels one through six,
 ;;     used when `markdown-header-scaling' is non-nil
-;;     (default: `(1.8 1.4 1.2 1.0 1.0 1.0)`).
+;;     (default: `(2.0 1.7 1.4 1.1 1.0 1.0)`).
 ;;
 ;;   * `markdown-list-indent-width' - depth of indentation for lists
 ;;     when inserting, promoting, and demoting list items (default: 4).
@@ -603,10 +640,11 @@
 ;;   * `markdown-uri-types' - a list of protocol schemes (e.g., "http")
 ;;     for URIs that `markdown-mode' should highlight.
 ;;
-;;   * `markdown-enable-math' - syntax highlighting for LaTeX
-;;     fragments (default: `nil').  Set this to `t' to turn on math
-;;     support by default.  Math support can be enabled, disabled, or
-;;     toggled later using the function `markdown-toggle-math'."
+;;   * `markdown-enable-math' - font lock for inline and display LaTeX
+;;     math expressions (default: `nil').  Set this to `t' to turn on
+;;     math support by default.  Math support can be toggled
+;;     interactively later using `C-c C-x C-e`
+;;     (`markdown-toggle-math').
 ;;
 ;;   * `markdown-css-paths' - CSS files to link to in XHTML output
 ;;     (default: `nil`).
@@ -646,7 +684,8 @@
 ;;   * `markdown-reference-location' - where to insert reference
 ;;     definitions (default: `header`).  The possible locations are
 ;;     the end of the document (`end`), after the current block
-;;     (`immediately`), before the next header (`header`).
+;;     (`immediately`), the end of the current subtree (`subtree'),
+;;     or before the next header (`header`).
 ;;
 ;;   * `markdown-footnote-location' - where to insert footnote text
 ;;     (default: `end`).  The set of location options is the same as
@@ -684,6 +723,46 @@
 ;;     non-nil (default), then buttons are enabled.  This works in
 ;;     `markdown-mode' as well as `gfm-mode'.
 ;;
+;;   * `markdown-hide-urls' - Determines whether URL and reference
+;;     labels are hidden for inline and reference links (default: `nil').
+;;     When non-nil, inline links will appear in the buffer as
+;;     `[link](∞)` instead of
+;;     `[link](http://perhaps.a/very/long/url/)`.  To change the
+;;     placeholder (composition) character used, set the variable
+;;     `markdown-url-compose-char'.  URL hiding can be toggled
+;;     interactively using `C-c C-x C-l` (`markdown-toggle-url-hiding')
+;;     or from the Markdown | Links & Images menu.
+;;
+;;   * `markdown-hide-markup' - Determines whether all possible markup
+;;     is hidden or otherwise beautified (default: `nil').   The actual
+;;     buffer text remains unchanged, but the display will be altered.
+;;     Brackets and URLs for links will be hidden, asterisks and
+;;     underscores for italic and bold text will be hidden, text
+;;     bullets for unordered lists will be replaced by Unicode
+;;     bullets, and so on.  Since this includes URLs and reference
+;;     labels, when non-nil this setting supersedes `markdown-hide-urls'.
+;;     Markup hiding can be toggled using `C-c C-x C-m`
+;;     (`markdown-toggle-markup-hiding') or from the Markdown | Show &
+;;     Hide menu.
+;;
+;;     Unicode bullets are used to replace ASCII list item markers.
+;;     The list of characters used, in order of list level, can be
+;;     specified by setting the variable `markdown-list-item-bullets'.
+;;     The placeholder characters used to replace other markup can
+;;     be changed by customizing the corresponding variables:
+;;     `markdown-blockquote-display-char',
+;;     `markdown-hr-display-char', and
+;;     `markdown-definition-display-char'.
+;;
+;;   * `markdown-fontify-code-blocks-natively' - Whether to fontify
+;;      code in code blocks using the native major mode.  This only
+;;      works for fenced code blocks where the language is specified
+;;      where we can automatically determine the appropriate mode to
+;;      use.  The language to mode mapping may be customized by setting
+;;      the variable `markdown-code-lang-modes'.  This can be toggled
+;;      interactively by pressing `C-c C-x C-f`
+;;      (`markdown-toggle-fontify-code-blocks-natively').
+;;
 ;; Additionally, the faces used for syntax highlighting can be modified to
 ;; your liking by issuing `M-x customize-group RET markdown-faces`
 ;; or by using the "Markdown Faces" link at the bottom of the mode
@@ -766,23 +845,22 @@
 ;; * **Fenced code blocks:** Code blocks quoted with backquotes, with
 ;;   optional programming language keywords, are highlighted in
 ;;   both `markdown-mode' and `gfm-mode'.  They can be inserted with
-;;   `C-c C-s P`.  If there is an active region, the text in the
+;;   `C-c C-s C`.  If there is an active region, the text in the
 ;;   region will be placed inside the code block.  You will be
 ;;   prompted for the name of the language, but may press enter to
 ;;   continue without naming a language.
 ;;
-;; * **Strikethrough:** Strikethrough text is only supported in
-;;   `gfm-mode' and can be inserted (and toggled) using `C-c C-s d`.
-;;   Following the mnemonics for the other style keybindings, the
-;;   letter `d` coincides with the HTML tag `<del>`.
+;; * **Strikethrough:** Strikethrough text is supported in both
+;;   `markdown-mode' and `gfm-mode'.  It can be inserted (and toggled)
+;;   using `C-c C-s s`.
 ;;
 ;; * **Task lists:** GFM task lists will be rendered as checkboxes
 ;;   (Emacs buttons) in both `markdown-mode' and `gfm-mode' when
 ;;   `markdown-make-gfm-checkboxes-buttons' is set to a non-nil value
 ;;   (and it is set to t by default).  These checkboxes can be
 ;;   toggled by clicking `mouse-1`, pressing `RET` over the button,
-;;   or by pressing `C-c C-x C-x` with the point anywhere in the task
-;;   list item.
+;;   or by pressing `C-c C-d` (`markdown-do`) with the point anywhere
+;;   in the task list item.
 ;;
 ;; * **Wiki links:** Generic wiki links are supported in
 ;;   `markdown-mode', but in `gfm-mode' specifically they will be
@@ -852,7 +930,7 @@
 ;;   * 2013-01-25: [Version 1.9][]
 ;;   * 2013-03-24: [Version 2.0][]
 ;;   * 2016-01-09: [Version 2.1][]
-;;   * 2016-05-26: [Version 2.2][]
+;;   * 2017-05-26: [Version 2.2][]
 ;;
 ;; [Version 1.1]: http://jblevins.org/projects/markdown-mode/rev-1-1
 ;; [Version 1.2]: http://jblevins.org/projects/markdown-mode/rev-1-2
@@ -876,9 +954,12 @@
 (require 'thingatpt)
 (require 'cl-lib)
 (require 'url-parse)
+(require 'button)
+(require 'color)
 
 (defvar jit-lock-start)
 (defvar jit-lock-end)
+(defvar flyspell-generic-check-word-predicate)
 
 (declare-function eww-open-file "eww")
 (declare-function url-path-and-query "url-parse")
@@ -886,12 +967,17 @@
 
 ;;; Constants =================================================================
 
-(defconst markdown-mode-version "2.2"
+(defconst markdown-mode-version "2.3-dev"
   "Markdown mode version number.")
 
 (defconst markdown-output-buffer-name "*markdown-output*"
   "Name of temporary buffer for markdown command output.")
 
+(defconst markdown-sub-superscript-display
+  '(((raise -0.3) (height 0.7))         ; subscript
+    ((raise 0.3) (height 0.7)))         ; superscript
+  "Parameters for sub- and superscript formatting.")
+
 
 ;;; Global Variables ==========================================================
 
@@ -1019,7 +1105,8 @@ Support can be toggled later using the `markdown-toggle-wiki-links'
 function or \\[markdown-toggle-wiki-links]."
   :group 'markdown
   :type 'boolean
-  :safe 'booleanp)
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-wiki-link-alias-first t
   "When non-nil, treat aliased wiki links like [[alias text|PageName]].
@@ -1034,14 +1121,16 @@ This is the default search behavior for GitHub and is
 automatically set to t in `gfm-mode'."
   :group 'markdown
   :type 'boolean
-  :safe 'booleanp)
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-wiki-link-search-parent-directories nil
   "When non-nil, search for wiki link targets in parent directories.
 This is the default search behavior of Ikiwiki."
   :group 'markdown
   :type 'boolean
-  :safe 'booleanp)
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-wiki-link-fontify-missing nil
   "When non-nil, change wiki link face according to existence of target files.
@@ -1050,7 +1139,8 @@ changes or the user switches windows.  It is disabled by default because it may
 cause lag when typing on slower machines."
   :group 'markdown
   :type 'boolean
-  :safe 'booleanp)
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-uri-types
   '("acap" "cid" "data" "dav" "fax" "file" "ftp" "gopher" "http" "https"
@@ -1060,6 +1150,50 @@ cause lag when typing on slower machines."
   :group 'markdown
   :type 'list)
 
+(defcustom markdown-url-compose-char
+  (cond
+   ((char-displayable-p ?∞) ?∞)
+   ((char-displayable-p ?…) ?…)
+   (t ?#))
+  "Placeholder character for hidden URLs.
+Depending on your font, some good choices are …, ⋯, #, ∞, ★, and ⚓."
+  :type 'character
+  :safe 'characterp
+  :package-version '(markdown-mode . "2.3"))
+
+(defcustom markdown-blockquote-display-char
+  (cond
+   ((char-displayable-p ?▌) "▌")
+   ((char-displayable-p ?┃) "┃")
+   ((char-displayable-p ?│) "│")
+   ((char-displayable-p ?|) "|")
+   (t ">"))
+  "Character for hiding blockquote markup."
+  :type 'string
+  :safe 'stringp
+  :package-version '(markdown-mode . "2.3"))
+
+(defcustom markdown-hr-display-char
+  (cond ((char-displayable-p ?─) ?─)
+        ((char-displayable-p ?━) ?━)
+        (t ?-))
+  "Character for hiding horizontal rule markup."
+  :type 'character
+  :safe 'characterp
+  :package-version '(markdown-mode . "2.3"))
+
+(defcustom markdown-definition-display-char
+  (cond ((char-displayable-p ?⁘) ?⁘)
+        ((char-displayable-p ?⁙) ?⁙)
+        ((char-displayable-p ?≡) ?≡)
+        ((char-displayable-p ?⌑) ?⌑)
+        ((char-displayable-p ?◊) ?◊)
+        (t nil))
+  "Character for replacing definition list markup."
+  :type 'character
+  :safe 'characterp
+  :package-version '(markdown-mode . "2.3"))
+
 (defcustom markdown-enable-math nil
   "Syntax highlighting for inline LaTeX and itex expressions.
 Set this to a non-nil value to turn on math support by default.
@@ -1068,6 +1202,7 @@ Math support can be enabled, disabled, or toggled later using
   :group 'markdown
   :type 'boolean
   :safe 'booleanp)
+(make-variable-buffer-local 'markdown-enable-math)
 
 (defcustom markdown-css-paths nil
   "URL of CSS file to link to in the output XHTML."
@@ -1110,6 +1245,7 @@ and `iso-latin-1'.  Use `list-coding-systems' for more choices."
   :group 'markdown
   :type '(choice (const :tag "At the end of the document" end)
                  (const :tag "Immediately after the current block" immediately)
+                 (const :tag "At the end of the subtree" subtree)
                  (const :tag "Before next header" header)))
 
 (defcustom markdown-footnote-location 'end
@@ -1117,6 +1253,7 @@ and `iso-latin-1'.  Use `list-coding-systems' for more choices."
   :group 'markdown
   :type '(choice (const :tag "At the end of the document" end)
                  (const :tag "Immediately after the current block" immediately)
+                 (const :tag "At the end of the subtree" subtree)
                  (const :tag "Before next header" header)))
 
 (defcustom markdown-unordered-list-item-prefix "  * "
@@ -1130,7 +1267,9 @@ A nested index may provide more natural browsing from the menu,
 but a flat list may allow for faster keyboard navigation via tab
 completion."
   :group 'markdown
-  :type 'boolean)
+  :type 'boolean
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-make-gfm-checkboxes-buttons t
   "When non-nil, make GFM checkboxes into buttons."
@@ -1138,7 +1277,7 @@ completion."
   :type 'boolean)
 
 (defcustom markdown-use-pandoc-style-yaml-metadata nil
-  "When non-nil, allow yaml metadata anywhere in the document."
+  "When non-nil, allow YAML metadata anywhere in the document."
   :group 'markdown
   :type 'boolean)
 
@@ -1154,7 +1293,8 @@ set this to 'horizontal or 'below."
   :group 'markdown
   :type '(choice (const :tag "Automatic" any)
                  (const :tag "Right (vertical)" right)
-                 (const :tag "Below (horizontal)" below)))
+                 (const :tag "Below (horizontal)" below))
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-live-preview-window-function
   'markdown-live-preview-window-eww
@@ -1202,6 +1342,24 @@ This applies to insertions done with
   :group 'markdown
   :type 'boolean)
 
+(defcustom markdown-hide-urls nil
+  "Hide URLs of inline links and reference tags of reference links.
+Such URLs will be replaced by a single customizable
+character (∞), or `markdown-url-compose-char', but are still part
+of the buffer.  Links can be edited interactively with
+\\[markdown-insert-link] or, for example, by deleting the final
+parenthesis to remove the invisibility property. You can also
+hover your mouse pointer over the link text to see the URL.
+Set this to a non-nil value to turn this feature on by default.
+You can interactively set the value of this variable by calling
+`markdown-toggle-url-hiding', pressing \\[markdown-toggle-url-hiding],
+or from the menu Markdown > Links & Images menu."
+  :group 'markdown
+  :type 'boolean
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.3"))
+(make-variable-buffer-local 'markdown-hide-urls)
+
 
 ;;; Regular Expressions =======================================================
 
@@ -1254,14 +1412,14 @@ Group 2 matches only the label, without the surrounding markup.
 Group 3 matches the closing square bracket.")
 
 (defconst markdown-regex-header
-  "^\\(?:\\([^\r\n\t -].*\\)\n\\(?:\\(=+\\)\\|\\(-+\\)\\)\\|\\(#+\\)[ \t]+\\(.*?\\)[ \t]*\\(#*\\)\\)$"
+  "^\\(?:\\([^\r\n\t -].*\\)\n\\(?:\\(=+\\)\\|\\(-+\\)\\)\\|\\(#+[ \t]+\\)\\(.*?\\)\\([ \t]*#*\\)\\)$"
   "Regexp identifying Markdown headings.
 Group 1 matches the text of a setext heading.
 Group 2 matches the underline of a level-1 setext heading.
 Group 3 matches the underline of a level-2 setext heading.
-Group 4 matches the opening hash marks of an atx heading.
+Group 4 matches the opening hash marks of an atx heading and whitespace.
 Group 5 matches the text, without surrounding whitespace, of an atx heading.
-Group 6 matches the closing hash marks of an atx heading.")
+Group 6 matches the closing whitespace and hash marks of an atx heading.")
 
 (defconst markdown-regex-header-setext
   "^\\([^\r\n\t -].*\\)\n\\(=+\\|-+\\)$"
@@ -1298,19 +1456,20 @@ Groups 1 and 3 match the opening and closing tags.
 Group 2 matches the key sequence.")
 
 (defconst markdown-regex-gfm-code-block-open
- "^[[:blank:]]*\\(```\\)[[:blank:]]*\\({\\)?[[:blank:]]*\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?[[:blank:]]*\\(}\\)?[[:blank:]]*$"
- "Regular expression matching opening of GFM code blocks.
-Group 1 matches the opening three backquotes.
-Group 2 matches the opening brace (optional).
+  "^[[:blank:]]*\\(```\\)\\([[:blank:]]*{?[[:blank:]]*\\)\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?\\([[:blank:]]*}?[[:blank:]]*\\)$"
+  "Regular expression matching opening of GFM code blocks.
+Group 1 matches the opening three backquotes and any following whitespace.
+Group 2 matches the opening brace (optional) and surrounding whitespace.
 Group 3 matches the language identifier (optional).
 Group 4 matches the info string (optional).
-Group 5 matches the closing brace (optional).
+Group 5 matches the closing brace (optional), whitespace, and newline.
 Groups need to agree with `markdown-regex-tilde-fence-begin'.")
 
 (defconst markdown-regex-gfm-code-block-close
- "^[[:blank:]]*\\(```\\)\\s *?$"
+ "^[[:blank:]]*\\(```\\)\\(\\s *?\\)$"
  "Regular expression matching closing of GFM code blocks.
-Group 1 matches the closing three backquotes.")
+Group 1 matches the closing three backquotes.
+Group 2 matches any whitespace and the final newline.")
 
 (defconst markdown-regex-pre
   "^\\(    \\|\t\\).*$"
@@ -1357,10 +1516,14 @@ Groups 2 and 4 matches the opening and closing delimiters.
 Group 3 matches the text inside the delimiters.")
 
 (defconst markdown-regex-blockquote
-  "^[ \t]*\\(>\\)\\(.*\\)$"
+  "^[ \t]*\\([A-Z]?>\\)\\([ \t]*\\)\\(.*\\)$"
   "Regular expression for matching blockquote lines.
+Also accounts for a potential capital letter preceding the angle
+bracket, for use with Leanpub blocks (asides, warnings, info
+blocks, etc.).
 Group 1 matches the leading angle bracket.
-Group 2 matches the text.")
+Group 2 matches the separating whitespace.
+Group 3 matches the text.")
 
 (defconst markdown-regex-line-break
   "[^ \n\t][ \t]*\\(  \\)$"
@@ -1382,7 +1545,7 @@ Group 5 matches the second component of the wiki link, when present.
 Group 6 matches the closing square brackets.")
 
 (defconst markdown-regex-uri
-  (concat (regexp-opt markdown-uri-types) ":[^]\t\n\r<>,;() ]+")
+  (concat "\\(" (regexp-opt markdown-uri-types) ":[^]\t\n\r<>,;() ]+\\)")
   "Regular expression for matching inline URIs.")
 
 (defconst markdown-regex-angle-uri
@@ -1390,7 +1553,7 @@ Group 6 matches the closing square brackets.")
   "Regular expression for matching inline URIs in angle brackets.")
 
 (defconst markdown-regex-email
-  "<\\(\\(\\sw\\|\\s_\\|\\s.\\)+@\\(\\sw\\|\\s_\\|\\s.\\)+\\)>"
+  "<\\(\\(?:\\sw\\|\\s_\\|\\s.\\)+@\\(?:\\sw\\|\\s_\\|\\s.\\)+\\)>"
   "Regular expression for matching inline email addresses.")
 
 (defsubst markdown-make-regex-link-generic ()
@@ -1441,13 +1604,13 @@ missing."
 
 (defconst markdown-regex-tilde-fence-begin
   (markdown-make-tilde-fence-regex
-   3 "[[:blank:]]*\\({\\)?[[:blank:]]*\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?[[:blank:]]*\\(}\\)?[[:blank:]]*$")
+   3 "\\([[:blank:]]*{?\\)[[:blank:]]*\\([^[:space:]]+?\\)?\\(?:[[:blank:]]+\\(.+?\\)\\)?\\([[:blank:]]*}?[[:blank:]]*\\)$")
   "Regular expression for matching tilde-fenced code blocks.
 Group 1 matches the opening tildes.
-Group 2 matches the opening brace (optional).
+Group 2 matches (optional) opening brace and surrounding whitespace.
 Group 3 matches the language identifier (optional).
 Group 4 matches the info string (optional).
-Group 5 matches the closing brace (optional).
+Group 5 matches the closing brace (optional) and any surrounding whitespace.
 Groups need to agree with `markdown-regex-gfm-code-block-open'.")
 
 (defconst markdown-regex-declarative-metadata
@@ -1468,27 +1631,80 @@ or
 
 (defconst markdown-regex-yaml-metadata-border
   "\\(-\\{3\\}\\)$"
-  "Regular expression for matching yaml metadata.")
+  "Regular expression for matching YAML metadata.")
 
 (defconst markdown-regex-yaml-pandoc-metadata-end-border
   "^\\(\\.\\{3\\}\\|\\-\\{3\\}\\)$"
-  "Regular expression for matching yaml metadata end borders.")
+  "Regular expression for matching YAML metadata end borders.")
 
 (defsubst markdown-get-yaml-metadata-start-border ()
-  "Return yaml metadata start border depending upon whether Pandoc is used."
+  "Return YAML metadata start border depending upon whether Pandoc is used."
   (concat
    (if markdown-use-pandoc-style-yaml-metadata "^" "\\`")
    markdown-regex-yaml-metadata-border))
 
 (defsubst markdown-get-yaml-metadata-end-border (_)
-  "Return yaml metadata end border depending upon whether Pandoc is used."
+  "Return YAML metadata end border depending upon whether Pandoc is used."
   (if markdown-use-pandoc-style-yaml-metadata
       markdown-regex-yaml-pandoc-metadata-end-border
     markdown-regex-yaml-metadata-border))
 
+(defconst markdown-regex-inline-attributes
+  "[ \t]*\\({:?\\)[ \t]*\\(\\(#[[:alpha:]_.:-]+\\|\\.[[:alpha:]_.:-]+\\|\\w+=['\"]?[^\n'\"]*['\"]?\\),?[ \t]*\\)+\\(}\\)[ \t]*$"
+  "Regular expression for matching inline identifiers or attribute lists.
+Compatible with Pandoc, Python Markdown, PHP Markdown Extra, and Leanpub.")
+
+(defconst markdown-regex-leanpub-sections
+  (concat
+   "^\\({\\)\\("
+   (regexp-opt '("frontmatter" "mainmatter" "backmatter" "appendix" "pagebreak"))
+   "\\)\\(}\\)[ \t]*\n")
+  "Regular expression for Leanpub section markers and related syntax.")
+
+(defconst markdown-regex-sub-superscript
+  "\\(?:^\\|[^\\~^]\\)\\(\\([~^]\\)\\([[:alnum:]]+\\)\\(\\2\\)\\)"
+  "The regular expression matching a sub- or superscript.
+The leading un-numbered group matches the character before the
+opening tilde or carat, if any, ensuring that it is not a
+backslash escape, carat, or tilde.
+Group 1 matches the entire expression, including markup.
+Group 2 matches the opening markup--a tilde or carat.
+Group 3 matches the text inside the delimiters.
+Group 4 matches the closing markup--a tilde or carat.")
+
+(defconst markdown-regex-include
+  "^\\(<<\\)\\(?:\\(\\[\\)\\(.*\\)\\(\\]\\)\\)?\\(?:\\((\\)\\(.*\\)\\()\\)\\)?\\(?:\\({\\)\\(.*\\)\\(}\\)\\)?$"
+  "Regular expression matching common forms of include syntax.
+Marked 2, Leanpub, and other processors support some of these forms:
+
+<<[sections/section1.md]
+<<(folder/filename)
+<<[Code title](folder/filename)
+<<{folder/raw_file.html}
+
+Group 1 matches the opening two angle brackets.
+Groups 2-4 match the opening square bracket, the text inside,
+and the closing square bracket, respectively.
+Groups 5-7 match the opening parenthesis, the text inside, and
+the closing parenthesis.
+Groups 8-10 match the opening brace, the text inside, and the brace.")
+
+(defconst markdown-regex-pandoc-inline-footnote
+  "\\(\\^\\)\\(\\[\\)\\(\\(?:.\\|\n[^\n]\\)*?\\)\\(\\]\\)"
+  "Regular expression for Pandoc inline footnote^[footnote text].
+Group 1 matches the opening caret.
+Group 2 matches the opening square bracket.
+Group 3 matches the footnote text, without the surrounding markup.
+Group 4 matches the closing square bracket.")
+
 
 ;;; Syntax ====================================================================
 
+(defsubst markdown-in-comment-p (&optional pos)
+  "Return non-nil if POS is in a comment.
+If POS is not given, use point instead."
+  (nth 4 (syntax-ppss pos)))
+
 (defun markdown-syntax-propertize-extend-region (start end)
   "Extend START to END region to include an entire block of text.
 This helps improve syntax analysis for block constructs.
@@ -1546,15 +1762,15 @@ and END are the previous region to refontify."
          ;; If not at the beginning of a line, move forward
          ((not (bolp)) (forward-line))
          ;; Move past blank lines
-         ((markdown-cur-line-blank-p) (forward-line))
+         ((markdown-cur-line-blank) (forward-line))
          ;; At headers and horizontal rules, reset levels
-         ((markdown-new-baseline-p) (forward-line) (setq levels nil))
+         ((markdown-new-baseline) (forward-line) (setq levels nil))
          ;; If the current line has sufficient indentation, mark out pre block
          ;; The opening should be preceded by a blank line.
          ((and (looking-at pre-regexp)
-               (save-match-data (markdown-prev-line-blank-p)))
+               (markdown-prev-line-blank-p))
           (setq open (match-beginning 0))
-          (while (and (or (looking-at-p pre-regexp) (markdown-cur-line-blank-p))
+          (while (and (or (looking-at-p pre-regexp) (markdown-cur-line-blank))
                       (not (eobp)))
             (forward-line))
           (skip-syntax-backward "-")
@@ -1631,9 +1847,8 @@ easier.")
 Which construct is actually contained in the match must be found separately."
   (mapconcat
    #'identity
-   ;; FIXME: Why `cl-mapcar' rather than `mapcar'?
-   (cl-mapcar (lambda (entry) (markdown-maybe-funcall-regexp (caar entry)))
-              markdown-fenced-block-pairs)
+   (mapcar (lambda (entry) (markdown-maybe-funcall-regexp (caar entry)))
+           markdown-fenced-block-pairs)
    "\\|"))
 
 (defun markdown-get-fenced-block-begin-properties ()
@@ -1680,6 +1895,17 @@ contains non-nil PROP."
                   (setq min-el el)))
            finally return min-el))
 
+(defun markdown-max-of-seq (map-fn seq)
+  "Apply MAP-FN to SEQ and return element of SEQ with maximum value of MAP-FN."
+  (cl-loop for el in seq
+           with max = -1.0e+INF          ; negative infinity
+           with max-el = nil
+           do (let ((res (funcall map-fn el)))
+                (when (and res (> res max))
+                  (setq max res)
+                  (setq max-el el)))
+           finally return max-el))
+
 (defun markdown-find-previous-block ()
   "Find previous block.
 Detect whether `markdown-syntax-propertize-fenced-block-constructs' was
@@ -1688,7 +1914,7 @@ of the block. If so, return a cons of (pos . property) where the beginning of
 the block was propertized."
   (let ((start-pt (point))
         (closest-open
-         (markdown-min-of-seq
+         (markdown-max-of-seq
           #'car
           (cl-remove-if
            #'null
@@ -1823,16 +2049,21 @@ of the block construct enclosing POS, if it exists. Used in
             #'markdown-text-property-at-point
             (markdown-get-fenced-block-end-properties)))))))))
 
-(defun markdown-propertize-end-match (reg end correct-entry enclosed-text-start)
+(defun markdown-propertize-end-match (reg end fence-spec middle-begin)
   "Get match for REG up to END, if exists, and propertize appropriately.
-CORRECT-ENTRY is an entry in `markdown-fenced-block-pairs' and
-ENCLOSED-TEXT-START is the start of the \"middle\" section of the block."
+FENCE-SPEC is an entry in `markdown-fenced-block-pairs' and
+MIDDLE-BEGIN is the start of the \"middle\" section of the block."
   (when (re-search-forward reg end t)
-    (put-text-property (match-beginning 0) (match-end 0)
-                       (cl-cadadr correct-entry) (match-data t))
-    (put-text-property
-     enclosed-text-start (match-beginning 0) (cl-third correct-entry)
-     (list enclosed-text-start (match-beginning 0)))))
+    (let ((close-begin (match-beginning 0)) ; Start of closing line.
+          (close-end (match-end 0))         ; End of closing line.
+          (close-data (match-data t)))      ; Match data for closing line.
+      ;; Propertize middle section of fenced block.
+      (put-text-property middle-begin close-begin
+                         (cl-third fence-spec)
+                         (list middle-begin close-begin))
+      ;; Propertize closing line of fenced block.
+      (put-text-property close-begin close-end
+                         (cl-cadadr fence-spec) close-data))))
 
 (defun markdown-syntax-propertize-fenced-block-constructs (start end)
   "Propertize according to `markdown-fenced-block-pairs' from START to END.
@@ -1908,6 +2139,17 @@ start which was previously propertized."
                          'markdown-blockquote
                          (match-data t)))))
 
+(defun markdown-syntax-propertize-hrs (start end)
+  "Match horizontal rules from START to END."
+  (save-excursion
+    (goto-char start)
+    (while (re-search-forward markdown-regex-hr end t)
+      (unless (or (markdown-on-heading-p)
+                  (markdown-code-block-at-point-p))
+        (put-text-property (match-beginning 0) (match-end 0)
+                           'markdown-hr
+                           (match-data t))))))
+
 (defun markdown-syntax-propertize-yaml-metadata (start end)
   (save-excursion
     (goto-char start)
@@ -1934,13 +2176,14 @@ start which was previously propertized."
        (match-beginning 0) (match-end 0)
        (cond ((match-string-no-properties 2) 'markdown-heading-1-setext)
              ((match-string-no-properties 3) 'markdown-heading-2-setext)
-             (t (let ((atx-level (length (match-string-no-properties 4))))
+             (t (let ((atx-level (length (markdown-trim-whitespace
+                                          (match-string-no-properties 4)))))
                   (intern (format "markdown-heading-%d-atx" atx-level)))))
        (match-data t)))))
 
 (defun markdown-syntax-propertize-comments (start end)
   "Match HTML comments from the START to END."
-  (let* ((state (syntax-ppss)) (in-comment (nth 4 state)))
+  (let* ((in-comment (markdown-in-comment-p)))
     (goto-char start)
     (cond
      ;; Comment start
@@ -1975,6 +2218,7 @@ start which was previously propertized."
         'markdown-gfm-code nil
         'markdown-pre nil
         'markdown-blockquote nil
+        'markdown-hr nil
         'markdown-heading nil
         'markdown-heading-1-setext nil
         'markdown-heading-2-setext nil
@@ -1987,7 +2231,7 @@ start which was previously propertized."
         'markdown-metadata-key nil
         'markdown-metadata-value nil
         'markdown-metadata-markup nil)
-  "Property list of all known markdown syntactic properties.")
+  "Property list of all Markdown syntactic properties.")
 
 (defun markdown-syntax-propertize (start end)
   "Function used as `syntax-propertize-function'.
@@ -2000,8 +2244,63 @@ START and END delimit region to propertize."
       (markdown-syntax-propertize-pre-blocks start end)
       (markdown-syntax-propertize-blockquotes start end)
       (markdown-syntax-propertize-headings start end)
+      (markdown-syntax-propertize-hrs start end)
       (markdown-syntax-propertize-comments start end))))
 
+
+;;; Markup Hiding
+
+(defconst markdown-markup-properties
+  '(face markdown-markup-face invisible markdown-markup)
+  "List of properties and values to apply to markup.")
+
+(defconst markdown-language-keyword-properties
+  '(face markdown-language-keyword-face invisible markdown-markup)
+  "List of properties and values to apply to code block language names.")
+
+(defconst markdown-language-info-properties
+  '(face markdown-language-info-face invisible markdown-markup)
+  "List of properties and values to apply to code block language info strings.")
+
+(defconst markdown-include-title-properties
+  '(face markdown-link-title-face invisible markdown-markup)
+  "List of properties and values to apply to included code titles.")
+
+(defconst markdown-inline-footnote-properties
+  '(face nil display ((raise 0.2) (height 0.8)))
+  "Properties to apply to footnote markers and inline footnotes.")
+
+(defcustom markdown-hide-markup nil
+  "Determines whether markup in the buffer will be hidden.
+When set to nil, all markup is displayed in the buffer as it
+appears in the file.  An exception is when `markdown-hide-urls'
+is non-nil.
+Set this to a non-nil value to turn this feature on by default.
+You can interactively toggle the value of this variable with
+`markdown-toggle-markup-hiding', \\[markdown-toggle-markup-hiding],
+or from the Markdown > Show & Hide menu."
+  :group 'markdown
+  :type 'boolean
+  :safe 'booleanp
+  :package-version '(markdown-mode . "2.3"))
+(make-variable-buffer-local 'markdown-hide-markup)
+
+(defun markdown-toggle-markup-hiding (&optional arg)
+  "Toggle the display or hiding of markup.
+With a prefix argument ARG, enable markup hiding if ARG is positive,
+and disable it otherwise."
+  (interactive (list (or current-prefix-arg 'toggle)))
+  (setq markdown-hide-markup
+        (if (eq arg 'toggle)
+            (not markdown-hide-markup)
+          (> (prefix-numeric-value arg) 0)))
+  (if markdown-hide-markup
+      (progn (add-to-invisibility-spec 'markdown-markup)
+             (message "markdown-mode markup hiding enabled"))
+    (progn (remove-from-invisibility-spec 'markdown-markup)
+           (message "markdown-mode markup hiding disabled")))
+  (markdown-reload-extensions))
+
 
 ;;; Font Lock =================================================================
 
@@ -2070,8 +2369,8 @@ START and END delimit region to propertize."
 (defvar markdown-reference-face 'markdown-reference-face
   "Face name to use for reference.")
 
-(defvar markdown-footnote-face 'markdown-footnote-face
-  "Face name to use for footnote identifiers.")
+(defvar markdown-footnote-marker-face 'markdown-footnote-marker-face
+  "Face name to use for footnote markers.")
 
 (defvar markdown-url-face 'markdown-url-face
   "Face name to use for URLs.")
@@ -2109,17 +2408,17 @@ START and END delimit region to propertize."
   :group 'faces)
 
 (defface markdown-italic-face
-  '((t (:inherit font-lock-variable-name-face :slant italic :weight normal)))
+  '((t (:inherit italic)))
   "Face for italic text."
   :group 'markdown-faces)
 
 (defface markdown-bold-face
-  '((t (:inherit font-lock-variable-name-face :weight bold :slant normal)))
+  '((t (:inherit bold)))
   "Face for bold text."
   :group 'markdown-faces)
 
 (defface markdown-strike-through-face
-  '((t (:inherit font-lock-variable-name-face :strike-through t)))
+  '((t (:strike-through t)))
   "Face for strike-through text."
   :group 'markdown-faces)
 
@@ -2138,11 +2437,6 @@ START and END delimit region to propertize."
   "Base face for headers hash delimiter."
   :group 'markdown-faces)
 
-(defface markdown-inline-code-face
-  '((t (:inherit font-lock-constant-face)))
-  "Face for inline code."
-  :group 'markdown-faces)
-
 (defface markdown-list-face
   '((t (:inherit markdown-markup-face)))
   "Face for list item markers."
@@ -2153,8 +2447,18 @@ START and END delimit region to propertize."
   "Face for blockquote sections."
   :group 'markdown-faces)
 
+(defface markdown-code-face
+  `((t (:inherit fixed-pitch)))
+  "Face for inline code, pre blocks, and fenced code blocks."
+  :group 'markdown-faces)
+
+(defface markdown-inline-code-face
+  '((t (:inherit markdown-code-face font-lock-constant-face)))
+  "Face for inline code."
+  :group 'markdown-faces)
+
 (defface markdown-pre-face
-  '((t (:inherit font-lock-constant-face)))
+  '((t (:inherit (markdown-code-face font-lock-constant-face))))
   "Face for preformatted text."
   :group 'markdown-faces)
 
@@ -2169,7 +2473,7 @@ START and END delimit region to propertize."
   :group 'markdown-faces)
 
 (defface markdown-link-face
-  '((t (:inherit font-lock-keyword-face)))
+  '((t (:inherit link)))
   "Face for links."
   :group 'markdown-faces)
 
@@ -2183,14 +2487,31 @@ START and END delimit region to propertize."
   "Face for link references."
   :group 'markdown-faces)
 
-(defface markdown-footnote-face
+(define-obsolete-face-alias 'markdown-footnote-face
+  'markdown-footnote-marker-face "v2.3")
+
+(defface markdown-footnote-marker-face
   '((t (:inherit markdown-markup-face)))
   "Face for footnote markers."
   :group 'markdown-faces)
 
+(defface markdown-footnote-text-face
+  '((t (:inherit font-lock-comment-face)))
+  "Face for footnote text."
+  :group 'markdown-faces)
+
 (defface markdown-url-face
   '((t (:inherit font-lock-string-face)))
-  "Face for URLs."
+  "Face for URLs that are part of markup.
+For example, this applies to URLs in inline links:
+[link text](http://example.com/)."
+  :group 'markdown-faces)
+
+(defface markdown-plain-url-face
+  '((t (:inherit markdown-link-face)))
+  "Face for URLs that are also links.
+For example, this applies to plain angle bracket URLs:
+<http://example.com/>."
   :group 'markdown-faces)
 
 (defface markdown-link-title-face
@@ -2233,6 +2554,11 @@ START and END delimit region to propertize."
   "Face for mouse highlighting."
   :group 'markdown-faces)
 
+(defface markdown-hr-face
+  '((t (:inherit markdown-markup-face)))
+  "Face for horizontal rules."
+  :group 'markdown-faces)
+
 (defcustom markdown-header-scaling nil
   "Whether to use variable-height faces for headers.
 When non-nil, `markdown-header-face' will inherit from
@@ -2244,10 +2570,11 @@ headers of levels one through six respectively."
   :set (lambda (symbol value)
          (set-default symbol value)
          (markdown-update-header-faces value))
-  :group 'markdown-faces)
+  :group 'markdown-faces
+  :package-version '(markdown-mode . "2.2"))
 
 (defcustom markdown-header-scaling-values
-  '(1.8 1.4 1.2 1.0 1.0 1.0)
+  '(2.0 1.7 1.4 1.1 1.0 1.0)
   "List of scaling values for headers of level one through six.
 Used when `markdown-header-scaling' is non-nil."
   :type 'list
@@ -2276,7 +2603,6 @@ Used when `markdown-header-scaling' is non-nil."
        `(defface ,face-name
           '((t (:inherit markdown-header-face :height ,scale)))
           (format "Face for level %s headers.
-
 You probably don't want to customize this face directly. Instead
 you can customize the base face `markdown-header-face' or the
 variable-height variable `markdown-header-scaling'." ,num1)
@@ -2296,6 +2622,22 @@ size of `markdown-header-face'."
       (unless (get face-name 'saved-face) ; Don't update customized faces
         (set-face-attribute face-name nil :height scale)))))
 
+(defun markdown-update-code-face ()
+  "Generate `markdown-code-face' for code block backgrounds.
+When using a light-background theme, darken the background slightly for
+code blocks.  Similarly, when using a dark-background theme, lighten it
+slightly.  If the face has been customized already, leave it alone."
+  ;; Don't update customized faces
+  (unless (get 'markdown-code-face 'saved-face)
+    (let ((bg (face-background 'default)))
+      (when (and bg (not (equal bg "unspecified-bg")))
+        (set-face-attribute
+         'markdown-code-face nil
+         :background
+         (cl-case (cdr (assq 'background-mode (frame-parameters)))
+           ('light (color-darken-name bg 3))
+           ('dark (color-lighten-name bg 3))))))))
+
 (defun markdown-syntactic-face (state)
   "Return font-lock face for characters with given STATE.
 See `font-lock-syntactic-face-function' for details."
@@ -2304,92 +2646,78 @@ See `font-lock-syntactic-face-function' for details."
      (in-comment 'markdown-comment-face)
      (t nil))))
 
+(defcustom markdown-list-item-bullets
+  '("●" "◎" "○" "◆" "◇" "►" "•")
+  "List of bullets to use for unordered lists.
+It can contain any number of symbols, which will be repeated.
+Depending on your font, some reasonable choices are:
+♥ ● ◇ ✚ ✜ ☯ ◆ ♠ ♣ ♦ ❀ ◆ ◖ ▶ ► • ★ ▸."
+  :group 'markdown
+  :type '(repeat (string :tag "Bullet character")))
+
 (defvar markdown-mode-font-lock-keywords-basic
   `((markdown-match-yaml-metadata-begin . ((1 markdown-markup-face)))
     (markdown-match-yaml-metadata-end . ((1 markdown-markup-face)))
     (markdown-match-yaml-metadata-key . ((1 markdown-metadata-key-face)
                                          (2 markdown-markup-face)
                                          (3 markdown-metadata-value-face)))
-    (markdown-match-gfm-open-code-blocks . ((1 markdown-markup-face)
-                                            (2 markdown-markup-face nil t)
-                                            (3 markdown-language-keyword-face nil t)
-                                            (4 markdown-language-info-face nil t)
-                                            (5 markdown-markup-face nil t)))
-    (markdown-match-gfm-close-code-blocks . ((1 markdown-markup-face)))
-    (markdown-match-gfm-code-blocks . ((0 markdown-pre-face)))
-    (markdown-match-fenced-start-code-block . ((1 markdown-markup-face)
-                                               (2 markdown-markup-face nil t)
-                                               (3 markdown-language-keyword-face nil t)
-                                               (4 markdown-language-info-face nil t)
-                                               (5 markdown-markup-face nil t)))
-    (markdown-match-fenced-end-code-block . ((0 markdown-markup-face)))
-    (markdown-match-fenced-code-blocks . ((0 markdown-pre-face)))
+    (markdown-match-gfm-open-code-blocks . ((1 markdown-markup-properties)
+                                            (2 markdown-markup-properties nil t)
+                                            (3 markdown-language-keyword-properties nil t)
+                                            (4 markdown-language-info-properties nil t)
+                                            (5 markdown-markup-properties nil t)))
+    (markdown-match-gfm-close-code-blocks . ((0 markdown-markup-properties)))
+    (markdown-fontify-gfm-code-blocks)
+    (markdown-match-fenced-start-code-block . ((1 markdown-markup-properties)
+                                               (2 markdown-markup-properties nil t)
+                                               (3 markdown-language-keyword-properties nil t)
+                                               (4 markdown-language-info-properties nil t)
+                                               (5 markdown-markup-properties nil t)))
+    (markdown-match-fenced-end-code-block . ((0 markdown-markup-properties)))
+    (markdown-fontify-fenced-code-blocks)
     (markdown-match-pre-blocks . ((0 markdown-pre-face)))
-    (markdown-match-blockquotes . ((1 markdown-markup-face)
-                                   (2 markdown-blockquote-face)))
-    (markdown-match-heading-1-setext . ((1 markdown-header-face-1)
-                                        (2 markdown-header-rule-face)))
-    (markdown-match-heading-2-setext . ((1 markdown-header-face-2)
-                                        (3 markdown-header-rule-face)))
-    (markdown-match-heading-6-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-6)
-                                     (6 markdown-header-delimiter-face)))
-    (markdown-match-heading-5-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-5)
-                                     (6 markdown-header-delimiter-face)))
-    (markdown-match-heading-4-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-4)
-                                     (6 markdown-header-delimiter-face)))
-    (markdown-match-heading-3-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-3)
-                                     (6 markdown-header-delimiter-face)))
-    (markdown-match-heading-2-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-2)
-                                     (6 markdown-header-delimiter-face)))
-    (markdown-match-heading-1-atx . ((4 markdown-header-delimiter-face)
-                                     (5 markdown-header-face-1)
-                                     (6 markdown-header-delimiter-face)))
+    (markdown-fontify-headings)
     (markdown-match-declarative-metadata . ((1 markdown-metadata-key-face)
                                               (2 markdown-markup-face)
                                               (3 markdown-metadata-value-face)))
     (markdown-match-pandoc-metadata . ((1 markdown-markup-face)
                                        (2 markdown-markup-face)
                                        (3 markdown-metadata-value-face)))
-    (markdown-match-hr . markdown-header-delimiter-face)
-    (markdown-match-code . ((1 markdown-markup-face)
+    (markdown-fontify-hrs)
+    (markdown-match-code . ((1 markdown-markup-properties prepend)
+                            (2 markdown-inline-code-face prepend)
+                            (3 markdown-markup-properties prepend)))
+    (,markdown-regex-kbd . ((1 markdown-markup-properties)
                             (2 markdown-inline-code-face)
-                            (3 markdown-markup-face)))
-    (,markdown-regex-kbd . ((1 markdown-markup-face)
-                            (2 markdown-inline-code-face)
-                            (3 markdown-markup-face)))
-    (,markdown-regex-angle-uri . ((1 markdown-markup-face)
-                                  (2 markdown-link-face)
-                                  (3 markdown-markup-face)))
-    (,markdown-regex-list . (2 markdown-list-face))
-    (,markdown-regex-footnote . ((1 markdown-markup-face)          ; [^
-                                 (2 markdown-footnote-face)        ; label
-                                 (3 markdown-markup-face)))        ; ]
-    (markdown-match-inline-links . ((1 markdown-markup-face nil t)     ; ! (optional)
-                                    (2 markdown-markup-face)           ; [
-                                    (3 markdown-link-face)             ; text
-                                    (4 markdown-markup-face)           ; ]
-                                    (5 markdown-markup-face)           ; (
-                                    (6 markdown-url-face)              ; url
-                                    (7 markdown-link-title-face nil t) ; "title" (optional)
-                                    (8 markdown-markup-face)))         ; )
-    (markdown-match-reference-links . ((1 markdown-markup-face nil t) ; ! (optional)
-                                       (2 markdown-markup-face)       ; [
-                                       (3 markdown-link-face)         ; text
-                                       (4 markdown-markup-face)       ; ]
-                                       (5 markdown-markup-face)       ; [
-                                       (6 markdown-reference-face)    ; label
-                                       (8 markdown-markup-face)))     ; ]
+                            (3 markdown-markup-properties)))
+    (markdown-fontify-angle-uris)
+    (,markdown-regex-email . 'markdown-plain-url-face)
+    (markdown-fontify-list-items)
+    (,markdown-regex-footnote . ((0 markdown-inline-footnote-properties)
+                                 (1 markdown-markup-properties)    ; [^
+                                 (2 markdown-footnote-marker-face) ; label
+                                 (3 markdown-markup-properties)))  ; ]
+    (,markdown-regex-pandoc-inline-footnote . ((0 markdown-inline-footnote-properties)
+                                               (1 markdown-markup-properties)   ; ^
+                                               (2 markdown-markup-properties)   ; [
+                                               (3 'markdown-footnote-text-face) ; text
+                                               (4 markdown-markup-properties))) ; ]
+    (markdown-match-includes . ((1 markdown-markup-properties)
+                                (2 markdown-markup-properties nil t)
+                                (3 markdown-include-title-properties nil t)
+                                (4 markdown-markup-properties nil t)
+                                (5 markdown-markup-properties)
+                                (6 'markdown-url-face)
+                                (7 markdown-markup-properties)))
+    (markdown-fontify-inline-links)
+    (markdown-fontify-reference-links)
     (,markdown-regex-reference-definition . ((1 markdown-markup-face) ; [
                                              (2 markdown-reference-face) ; label
                                              (3 markdown-markup-face)    ; ]
                                              (4 markdown-markup-face)    ; :
                                              (5 markdown-url-face)       ; url
                                              (6 markdown-link-title-face))) ; "title" (optional)
+    (markdown-fontify-plain-uris)
     ;; Math mode $..$
     (markdown-match-math-single . ((1 markdown-markup-face prepend)
                                    (2 markdown-math-face append)
@@ -2398,16 +2726,20 @@ See `font-lock-syntactic-face-function' for details."
     (markdown-match-math-double . ((1 markdown-markup-face prepend)
                                    (2 markdown-math-face append)
                                    (3 markdown-markup-face prepend)))
-    (markdown-match-bold . ((1 markdown-markup-face prepend)
+    (markdown-match-bold . ((1 markdown-markup-properties prepend)
                             (2 markdown-bold-face append)
-                            (3 markdown-markup-face prepend)))
-    (markdown-match-italic . ((1 markdown-markup-face prepend)
+                            (3 markdown-markup-properties prepend)))
+    (markdown-match-italic . ((1 markdown-markup-properties prepend)
                               (2 markdown-italic-face append)
-                              (3 markdown-markup-face prepend)))
-    (,markdown-regex-uri . markdown-link-face)
-    (,markdown-regex-email . markdown-link-face)
-    (,markdown-regex-line-break . (1 markdown-line-break-face prepend)))
-
+                              (3 markdown-markup-properties prepend)))
+    (,markdown-regex-strike-through . ((3 markdown-markup-properties)
+                                       (4 markdown-strike-through-face)
+                                       (5 markdown-markup-properties)))
+    (,markdown-regex-line-break . (1 markdown-line-break-face prepend))
+    (markdown-fontify-sub-superscripts)
+    (markdown-match-inline-attributes . ((0 markdown-markup-properties prepend)))
+    (markdown-match-leanpub-sections . ((0 markdown-markup-properties)))
+    (markdown-fontify-blockquotes))
   "Syntax highlighting for Markdown files.")
 
 (defvar markdown-mode-font-lock-keywords nil
@@ -2450,10 +2782,6 @@ in XEmacs 21."
    ((fboundp 'region-active-p)
     (defalias 'markdown-use-region-p 'region-active-p))))
 
-(defun markdown-use-buttons-p ()
-  "Determine whether this Emacs supports buttons."
-  (or (featurep 'button) (locate-library "button")))
-
 ;; Use new names for outline-mode functions in Emacs 25 and later.
 (eval-and-compile
   (defalias 'markdown-hide-sublevels
@@ -2519,34 +2847,82 @@ here for backwards compatibility."
               (setq result
                     (nconc result (markdown-directory-files-recursively
                                    full-file regexp))))
-          (when (string-match regexp file)
+          (when (string-match-p regexp file)
             (push (expand-file-name file dir) files)))))
     (nconc result (nreverse files))))))
 
+(defun markdown-flyspell-check-word-p ()
+  "Return t if `flyspell' should check word just before point.
+Used for `flyspell-generic-check-word-predicate'."
+  (save-excursion
+    (goto-char (1- (point)))
+    (not (or (markdown-code-block-at-point-p)
+             (markdown-inline-code-at-point-p)
+             (markdown-in-comment-p)
+             (let ((faces (get-text-property (point) 'face)))
+               (if (listp faces)
+                   (or (memq 'markdown-reference-face faces)
+                       (memq 'markdown-markup-face faces)
+                       (memq 'markdown-plain-url-face faces)
+                       (memq 'markdown-inline-code-face faces)
+                       (memq 'markdown-url-face faces))
+                 (memq faces '(markdown-reference-face
+                               markdown-markup-face
+                               markdown-plain-url-face
+                               markdown-inline-code-face
+                               markdown-url-face))))))))
+
+(defun markdown-font-lock-ensure ()
+  "Provide `font-lock-ensure' in Emacs 24."
+  (if (fboundp 'font-lock-ensure)
+      (font-lock-ensure)
+    (with-no-warnings
+      ;; Suppress warning about non-interactive use of
+      ;; `font-lock-fontify-buffer' in Emacs 25.
+      (font-lock-fontify-buffer))))
+
 
 ;;; Markdown Parsing Functions ================================================
 
-(defun markdown-cur-line-blank-p ()
-  "Return t if the current line is blank and nil otherwise."
+(defun markdown-cur-line-blank (&optional predicate)
+  "Return t if the current line is blank and nil otherwise.
+When PREDICATE is non-nil, don't modify the match data."
   (save-excursion
     (beginning-of-line)
-    (looking-at-p "^\\s *$")))
+    (let ((regexp "^\\s *$"))
+      (if predicate
+          (looking-at-p regexp)
+        (looking-at regexp)))))
 
-(defun markdown-prev-line-blank-p ()
+(defun markdown-cur-line-blank-p ()
+  "Same as `markdown-cur-line-blank', but does not change the match data."
+  (markdown-cur-line-blank t))
+
+(defun markdown-prev-line-blank (&optional predicate)
   "Return t if the previous line is blank and nil otherwise.
-If we are at the first line, then consider the previous line to be blank."
+If we are at the first line, then consider the previous line to be blank.
+When PREDICATE is non-nil, don't modify the match data."
   (or (= (line-beginning-position) (point-min))
       (save-excursion
         (forward-line -1)
-        (markdown-cur-line-blank-p))))
+        (markdown-cur-line-blank predicate))))
 
-(defun markdown-next-line-blank-p ()
+(defun markdown-prev-line-blank-p ()
+  "Same as `markdown-prev-line-blank', but does not change the match data."
+  (markdown-prev-line-blank t))
+
+(defun markdown-next-line-blank (&optional predicate)
   "Return t if the next line is blank and nil otherwise.
-If we are at the last line, then consider the next line to be blank."
+If we are at the last line, then consider the next line to be blank.
+When PREDICATE is non-nil, don't modify the match data."
   (or (= (line-end-position) (point-max))
       (save-excursion
         (forward-line 1)
-        (markdown-cur-line-blank-p))))
+        (markdown-cur-line-blank predicate))))
+
+(defun markdown-next-line-blank-p ()
+  "Same as `markdown-next-line-blank', but does not change the match data."
+  (markdown-next-line-blank t))
 
 (defun markdown-prev-line-indent ()
   "Return the number of leading whitespace characters in the previous line.
@@ -2581,15 +2957,15 @@ Return nil if the current line is not the beginning of a list item."
     (forward-line -1)
     (markdown-cur-non-list-indent)))
 
-(defun markdown-new-baseline-p ()
+(defun markdown-new-baseline ()
   "Determine if the current line begins a new baseline level."
   (save-excursion
     (beginning-of-line)
-    (or (looking-at-p markdown-regex-header)
-        (looking-at-p markdown-regex-hr)
+    (or (looking-at markdown-regex-header)
+        (looking-at markdown-regex-hr)
         (and (null (markdown-cur-non-list-indent))
              (= (current-indentation) 0)
-             (markdown-prev-line-blank-p)))))
+             (markdown-prev-line-blank)))))
 
 (defun markdown-search-backward-baseline ()
   "Search backward baseline point with no indentation and not a list item."
@@ -2600,7 +2976,7 @@ Return nil if the current line is not the beginning of a list item."
       (when (match-end 2)
         (goto-char (match-end 2))
         (cond
-         ((markdown-new-baseline-p)
+         ((markdown-new-baseline)
           (setq stop t))
          ((looking-at-p markdown-regex-list)
           (setq stop nil))
@@ -2655,7 +3031,7 @@ immediately  after a list item, return nil."
         (beginning-of-line)
         (cond
          ;; Make sure this is not a header or hr
-         ((markdown-new-baseline-p) (setq levels nil))
+         ((markdown-new-baseline) (setq levels nil))
          ;; Make sure this is not a line from a pre block
          ((looking-at-p pre-regexp))
          ;; If not, then update levels
@@ -2804,6 +3180,9 @@ The named components are:
     marker, and whitespace following list marker (an integer).
   - marker: String containing the list marker and following whitespace
             (e.g., \"- \" or \"* \").
+  - checkbox: String containing the GFM checkbox portion, if any,
+    including any trailing whitespace before the text
+    begins (e.g., \"[x] \").
 
 As an example, for the following unordered list item
 
@@ -2811,29 +3190,27 @@ As an example, for the following unordered list item
 
 the returned list would be
 
-    (1 14 3 5 \"- \")
+    (1 14 3 5 \"- \" nil)
 
 If the point is not inside a list item, return nil.
 Leave match data intact for `markdown-regex-list'."
-  (let (cur prev-begin prev-end indent nonlist-indent marker)
-    ;; Store current location
-    (setq cur (point))
-    ;; Verify that cur is between beginning and end of item
-    (save-excursion
+  (save-excursion
+    (let ((cur (point)))
       (end-of-line)
       (when (re-search-backward markdown-regex-list nil t)
-        (setq prev-begin (match-beginning 0))
-        (setq indent (length (match-string-no-properties 1)))
-        (setq nonlist-indent (length (match-string 0)))
-        (setq marker (concat (match-string-no-properties 2)
-                             (match-string-no-properties 3)))
-        (save-match-data
-          (markdown-cur-list-item-end nonlist-indent)
-          (setq prev-end (point)))
-        (when (and (>= cur prev-begin)
-                   (<= cur prev-end)
-                   nonlist-indent)
-          (list prev-begin prev-end indent nonlist-indent marker))))))
+        (let* ((begin (match-beginning 0))
+               (indent (length (match-string-no-properties 1)))
+               (nonlist-indent (length (match-string 0)))
+               (marker (concat (match-string-no-properties 2)
+                               (match-string-no-properties 3)))
+               (checkbox (progn (goto-char (match-end 0))
+                                (when (looking-at "\\[[xX ]\\]\\s-*")
+                                  (match-string-no-properties 0))))
+               (end (save-match-data
+                      (markdown-cur-list-item-end nonlist-indent)
+                      (point))))
+          (when (and (>= cur begin) (<= cur end) nonlist-indent)
+            (list begin end indent nonlist-indent marker checkbox)))))))
 
 (defun markdown-list-item-at-point-p ()
   "Return t if there is a list item at the point and nil otherwise."
@@ -2884,8 +3261,29 @@ intact additional processing."
           (cl-pushnew target refs :test #'equal)))
       (reverse refs))))
 
-(defun markdown-inline-code-at-point ()
-  "Return non-nil if the point is at an inline code fragment.
+(defun markdown-get-used-uris ()
+  "Return a list of all used URIs in the buffer."
+  (save-excursion
+    (goto-char (point-min))
+    (let (uris)
+      (while (re-search-forward
+              (concat "\\(?:" markdown-regex-link-inline
+                      "\\|" markdown-regex-angle-uri
+                      "\\|" markdown-regex-uri
+                      "\\|" markdown-regex-email
+                      "\\)")
+              nil t)
+        (unless (or (markdown-inline-code-at-point-p)
+                    (markdown-code-block-at-point-p))
+          (cl-pushnew (or (match-string-no-properties 6)
+                          (match-string-no-properties 10)
+                          (match-string-no-properties 12)
+                          (match-string-no-properties 13))
+                      uris :test #'equal)))
+      (reverse uris))))
+
+(defun markdown-inline-code-at-pos (pos)
+  "Return non-nil if there is an inline code fragment at POS.
 Return nil otherwise.  Set match data according to
 `markdown-match-code' upon success.
 This function searches the block for a code fragment that
@@ -2898,6 +3296,7 @@ Group 1 matches the opening backquotes.
 Group 2 matches the code fragment itself, without backquotes.
 Group 3 matches the closing backquotes."
   (save-excursion
+    (goto-char pos)
     (let ((old-point (point))
           (end-of-block (progn (markdown-end-of-text-block) (point)))
           found)
@@ -2909,19 +3308,31 @@ Group 3 matches the closing backquotes."
            (<= (match-beginning 0) old-point) ; match contains old-point
            (>= (match-end 0) old-point)))))
 
+(defun markdown-inline-code-at-pos-p (pos)
+  "Return non-nil if there is an inline code fragment at POS.
+Like `markdown-inline-code-at-pos`, but preserves match data."
+  (save-match-data (markdown-inline-code-at-pos pos)))
+
+(defun markdown-inline-code-at-point ()
+  "Return non-nil if the point is at an inline code fragment.
+See `markdown-inline-code-at-pos' for details."
+  (markdown-inline-code-at-pos (point)))
+
 (defun markdown-inline-code-at-point-p ()
   "Return non-nil if there is inline code at the point.
 This is a predicate function counterpart to
 `markdown-inline-code-at-point' which does not modify the match
 data.  See `markdown-code-block-at-point-p' for code blocks."
-  (save-match-data (markdown-inline-code-at-point)))
+  (save-match-data (markdown-inline-code-at-pos (point))))
 
 (make-obsolete 'markdown-code-at-point-p 'markdown-inline-code-at-point-p "v2.2")
 
 (defun markdown-code-block-at-pos (pos)
   "Return match data list if there is a code block at POS.
+Uses text properties at the beginning of the line position.
 This includes pre blocks, tilde-fenced code blocks, and GFM
 quoted code blocks.  Return nil otherwise."
+  (setq pos (save-excursion (goto-char pos) (point-at-bol)))
   (or (get-text-property pos 'markdown-pre)
       (markdown-get-enclosing-fenced-block-construct pos)
       ;; polymode removes text properties set by markdown-mode, so
@@ -2948,6 +3359,11 @@ Set match data for `markdown-regex-header'."
       (set-match-data match-data)
       t)))
 
+(defun markdown-pipe-at-bol-p ()
+  "Return non-nil if the line begins with a pipe symbol.
+This may be useful for tables and Pandoc's line_blocks extension."
+  (char-equal (char-after (point-at-bol)) ?|))
+
 
 ;;; Markdown Font Lock Matching Functions =====================================
 
@@ -2958,7 +3374,7 @@ Return nil otherwise."
   (let (props)
     (catch 'found
       (dolist (loc (number-sequence begin end))
-        (when (setq props (get-char-property loc prop))
+        (when (setq props (get-text-property loc prop))
           (cond ((listp props)
                  ;; props is a list, check for membership
                  (dolist (val prop-values)
@@ -2974,73 +3390,104 @@ Return nil otherwise."
    with result = nil
    while (not
           (setq result
-                (cl-some (lambda (prop) (get-char-property loc prop)) props)))
+                (cl-some (lambda (prop) (get-text-property loc prop)) props)))
    finally return result))
 
-(defun markdown-match-inline-generic (regex last)
-  "Match inline REGEX from the point to LAST."
+(defun markdown-match-inline-generic (regex last &optional faceless)
+  "Match inline REGEX from the point to LAST.
+When FACELESS is non-nil, do not return matches where faces have been applied."
   (when (re-search-forward regex last t)
-    (let ((bounds (markdown-code-block-at-pos (match-beginning 1))))
-      (if (null bounds)
-          ;; Not in a code block: keep match data and return t when in bounds
-          (<= (match-end 0) last)
-        ;; In code block: move past it and recursively search again
-        (when (< (goto-char (nth 1 bounds)) last)
-          (markdown-match-inline-generic regex last))))))
+    (let ((bounds (markdown-code-block-at-pos (match-beginning 1)))
+          (face (and faceless (text-property-not-all
+                               (match-beginning 0) (match-end 0) 'face nil))))
+      (cond
+       ;; In code block: move past it and recursively search again
+       (bounds
+        (when (< (goto-char (cl-second bounds)) last)
+          (markdown-match-inline-generic regex last faceless)))
+       ;; When faces are found in the match range, skip over the match and
+       ;; recursively search again.
+       (face
+        (when (< (goto-char (match-end 0)) last)
+          (markdown-match-inline-generic regex last faceless)))
+       ;; Keep match data and return t when in bounds.
+       (t
+        (<= (match-end 0) last))))))
 
 (defun markdown-match-code (last)
   "Match inline code fragments from point to LAST."
   (unless (bobp)
     (backward-char 1))
   (when (markdown-match-inline-generic markdown-regex-code last)
-    (set-match-data (list (match-beginning 1) (match-end 1)
-                          (match-beginning 2) (match-end 2)
-                          (match-beginning 3) (match-end 3)
-                          (match-beginning 4) (match-end 4)))
-    (goto-char (1+ (match-end 0)))))
+    (let ((begin (match-beginning 1))
+          (end (match-end 1))
+          (open-begin (match-beginning 2))
+          (open-end (match-end 2))
+          (code-begin (match-beginning 3))
+          (code-end (match-end 3))
+          (close-begin (match-beginning 4))
+          (close-end (match-end 4)))
+      (if (or (markdown-in-comment-p begin)
+              (markdown-in-comment-p end)
+              (markdown-code-block-at-pos begin))
+          (progn (goto-char (min (1+ begin) last))
+                 (when (< (point) last)
+                   (markdown-match-code last)))
+        (set-match-data (list begin end
+                              open-begin open-end
+                              code-begin code-end
+                              close-begin close-end))
+        t))))
 
 (defun markdown-match-bold (last)
   "Match inline bold from the point to LAST."
   (when (markdown-match-inline-generic markdown-regex-bold last)
-    (let ((begin (match-beginning 2)) (end (match-end 2)))
-      (cond
-       ((markdown-range-property-any
-         begin end 'face (list markdown-inline-code-face
-                               markdown-math-face))
-        (goto-char (1+ (match-end 0)))
-        (markdown-match-bold last))
-       (t
+    (let ((begin (match-beginning 2))
+          (end (match-end 2)))
+      (if (or (markdown-inline-code-at-pos-p begin)
+              (markdown-inline-code-at-pos-p end)
+              (markdown-in-comment-p)
+              (markdown-range-property-any
+               begin begin 'face '(markdown-url-face
+                                   markdown-plain-url-face))
+              (markdown-range-property-any
+               begin end 'face '(markdown-inline-code-face
+                                 markdown-math-face)))
+          (progn (goto-char (min (1+ begin) last))
+                 (when (< (point) last)
+                   (markdown-match-italic last)))
         (set-match-data (list (match-beginning 2) (match-end 2)
-                          (match-beginning 3) (match-end 3)
-                          (match-beginning 4) (match-end 4)
-                          (match-beginning 5) (match-end 5)))
-        (goto-char (1+ (match-end 0))))))))
+                              (match-beginning 3) (match-end 3)
+                              (match-beginning 4) (match-end 4)
+                              (match-beginning 5) (match-end 5)))
+        t))))
 
 (defun markdown-match-italic (last)
   "Match inline italics from the point to LAST."
   (let ((regex (if (eq major-mode 'gfm-mode)
                    markdown-regex-gfm-italic markdown-regex-italic)))
     (when (markdown-match-inline-generic regex last)
-      (let ((begin (match-beginning 1)) (end (match-end 1)))
-        (cond
-         ((markdown-range-property-any
-           begin begin 'face (list markdown-url-face))
-          ;; Italics shouldn't begin inside a URL due to an underscore
-          (goto-char (min (1+ (match-end 0)) last))
-          (markdown-match-italic last))
-         ((markdown-range-property-any
-           begin end 'face (list markdown-inline-code-face
-                                 markdown-bold-face
-                                 markdown-list-face
-                                 markdown-math-face))
-          (goto-char (1+ (match-end 0)))
-          (markdown-match-italic last))
-         (t
+      (let ((begin (match-beginning 1))
+            (end (match-end 1)))
+        (if (or (markdown-inline-code-at-pos-p begin)
+                (markdown-inline-code-at-pos-p end)
+                (markdown-in-comment-p)
+                (markdown-range-property-any
+                 begin begin 'face '(markdown-url-face
+                                     markdown-plain-url-face))
+                (markdown-range-property-any
+                 begin end 'face '(markdown-inline-code-face
+                                   markdown-bold-face
+                                   markdown-list-face
+                                   markdown-math-face)))
+            (progn (goto-char (min (1+ begin) last))
+                   (when (< (point) last)
+                     (markdown-match-italic last)))
           (set-match-data (list (match-beginning 1) (match-end 1)
                                 (match-beginning 2) (match-end 2)
                                 (match-beginning 3) (match-end 3)
                                 (match-beginning 4) (match-end 4)))
-          (goto-char (1+ (match-end 0)))))))))
+          t)))))
 
 (defun markdown-match-math-generic (regex last)
   "Match REGEX from point to LAST.
@@ -3059,6 +3506,24 @@ $..$ or `markdown-regex-math-inline-double' for matching $$..$$."
             t)
         (goto-char (1+ (match-end 0)))))))
 
+(defun markdown-match-list-items (last)
+  "Match list items from point to LAST."
+  (when (markdown-match-inline-generic markdown-regex-list last)
+    (let ((begin (match-beginning 2))
+          (end (match-end 2)))
+        (if (or (markdown-range-property-any
+                 begin end 'face (list markdown-inline-code-face
+                                       markdown-bold-face
+                                       markdown-math-face))
+                (markdown-range-properties-exist begin end '(markdown-hr))
+                (markdown-in-comment-p))
+            (progn (goto-char (min (1+ (match-end 0)) last))
+                   (markdown-match-list-items last))
+          (set-match-data (list (match-beginning 0) (match-end 0)
+                                (match-beginning 1) (match-end 1)
+                                (match-beginning 2) (match-end 2)))
+          (goto-char (1+ (match-end 0)))))))
+
 (defun markdown-match-math-single (last)
   "Match single quoted $..$ math from point to LAST."
   (markdown-match-math-generic markdown-regex-math-inline-single last))
@@ -3117,50 +3582,9 @@ Use data stored in 'markdown-blockquote text property during syntax
 analysis."
   (markdown-match-propertized-text 'markdown-blockquote last))
 
-(defun markdown-match-heading-1-setext (last)
-  "Match level 1 setext headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-1-setext last))
-
-(defun markdown-match-heading-2-setext (last)
-  "Match level 2 setext headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-2-setext last))
-
-(defun markdown-match-heading-1-atx (last)
-  "Match level 1 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-1-atx last))
-
-(defun markdown-match-heading-2-atx (last)
-  "Match level 2 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-2-atx last))
-
-(defun markdown-match-heading-3-atx (last)
-  "Match level 3 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-3-atx last))
-
-(defun markdown-match-heading-4-atx (last)
-  "Match level 4 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-4-atx last))
-
-(defun markdown-match-heading-5-atx (last)
-  "Match level 5 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-5-atx last))
-
-(defun markdown-match-heading-6-atx (last)
-  "Match level 6 ATX headings from point to LAST."
-  (markdown-match-propertized-text 'markdown-heading-6-atx last))
-
 (defun markdown-match-hr (last)
   "Match horizontal rules comments from the point to LAST."
-  (while (and (re-search-forward markdown-regex-hr last t)
-              (or (markdown-on-heading-p)
-                  (markdown-code-block-at-point-p))
-              (< (match-end 0) last))
-    (forward-line))
-  (beginning-of-line)
-  (cond ((looking-at-p markdown-regex-hr)
-         (forward-line)
-         t)
-        (t nil)))
+  (markdown-match-propertized-text 'markdown-hr last))
 
 (defun markdown-match-comments (last)
   "Match HTML comments from the point to LAST."
@@ -3175,11 +3599,19 @@ analysis."
   "Match inline links from point to LAST.
 When REF is non-nil, match reference links instead of standard
 links with URLs."
-  ;; Clear match data to test for a match after functions returns.
-  (set-match-data nil)
   ;; Search for the next potential link (not in a code block).
-  (while (and (re-search-forward "\\(!\\)?\\(\\[\\)" last t)
-              (markdown-code-block-at-point)
+  (while (and (progn
+                ;; Clear match data to test for a match after functions returns.
+                (set-match-data nil)
+                (re-search-forward "\\(!\\)?\\(\\[\\)" last 'limit))
+              ;; Keep searching if this is in a code block, inline
+              ;; code, or a comment, or if it is include syntax.
+              (or (markdown-code-block-at-point-p)
+                  (markdown-inline-code-at-pos-p (match-beginning 0))
+                  (markdown-inline-code-at-pos-p (match-end 0))
+                  (markdown-in-comment-p)
+                  (and (char-equal (char-after (point-at-bol)) ?<)
+                       (char-equal (char-after (1+ (point-at-bol))) ?<)))
               (< (point) last)))
   ;; Match opening exclamation point (optional) and left bracket.
   (when (match-beginning 2)
@@ -3236,11 +3668,10 @@ links with URLs."
               (setq cont-point nil)
               (goto-char second-end))
           ;; If no closing parenthesis in range, update continuation point
-          (setq cont-point (min end-of-block last))))
+          (setq cont-point (min end-of-block second-begin))))
       (cond
        ;; On failure, continue searching at cont-point
        ((and cont-point (< cont-point last))
-        ;;(message "Failure, starting over at cont-point = %d" cont-point)
         (goto-char cont-point)
         (markdown-match-generic-links last ref))
        ;; No more text, return nil
@@ -3257,6 +3688,16 @@ links with URLs."
   "Match inline reference links from point to LAST."
   (markdown-match-generic-links last t))
 
+(defun markdown-match-angle-uris (last)
+  "Match angle bracket URIs from point to LAST."
+  (when (markdown-match-inline-generic markdown-regex-angle-uri last)
+    (goto-char (1+ (match-end 0)))))
+
+(defun markdown-match-plain-uris (last)
+  "Match plain URIs from point to LAST."
+  (when (markdown-match-inline-generic markdown-regex-uri last t)
+    (goto-char (1+ (match-end 0)))))
+
 (defun markdown-get-match-boundaries (start-header end-header last &optional pos)
   (save-excursion
     (goto-char (or pos (point-min)))
@@ -3335,6 +3776,181 @@ is \"\n\n\""
 (defun markdown-match-yaml-metadata-key (last)
   (markdown-match-propertized-text 'markdown-metadata-key last))
 
+(defun markdown-match-inline-attributes (last)
+  "Match inline attributes from point to LAST."
+  (when (markdown-match-inline-generic markdown-regex-inline-attributes last)
+    (unless (or (markdown-inline-code-at-pos-p (match-beginning 0))
+                (markdown-inline-code-at-pos-p (match-end 0))
+                (markdown-in-comment-p))
+      t)))
+
+(defun markdown-match-leanpub-sections (last)
+  "Match Leanpub section markers from point to LAST."
+  (when (markdown-match-inline-generic markdown-regex-leanpub-sections last)
+    (unless (or (markdown-inline-code-at-pos-p (match-beginning 0))
+                (markdown-inline-code-at-pos-p (match-end 0))
+                (markdown-in-comment-p))
+      t)))
+
+(defun markdown-match-includes (last)
+  "Match include statements from point to LAST.
+Sets match data for the following seven groups:
+Group 1: opening two angle brackets
+Group 2: opening title delimiter (optional)
+Group 3: title text (optional)
+Group 4: closing title delimiter (optional)
+Group 5: opening filename delimiter
+Group 6: filename
+Group 7: closing filename delimiter"
+  (when (markdown-match-inline-generic markdown-regex-include last)
+    (let ((valid (not (or (markdown-in-comment-p (match-beginning 0))
+                          (markdown-in-comment-p (match-end 0))
+                          (markdown-code-block-at-pos (match-beginning 0))))))
+      (cond
+       ;; Parentheses and maybe square brackets, but no curly braces:
+       ;; match optional title in square brackets and file in parentheses.
+       ((and valid (match-beginning 5)
+             (not (match-beginning 8)))
+        (set-match-data (list (match-beginning 1) (match-end 7)
+                              (match-beginning 1) (match-end 1)
+                              (match-beginning 2) (match-end 2)
+                              (match-beginning 3) (match-end 3)
+                              (match-beginning 4) (match-end 4)
+                              (match-beginning 5) (match-end 5)
+                              (match-beginning 6) (match-end 6)
+                              (match-beginning 7) (match-end 7))))
+       ;; Only square brackets present: match file in square brackets.
+       ((and valid (match-beginning 2)
+             (not (match-beginning 5))
+             (not (match-beginning 7)))
+        (set-match-data (list (match-beginning 1) (match-end 4)
+                              (match-beginning 1) (match-end 1)
+                              nil nil
+                              nil nil
+                              nil nil
+                              (match-beginning 2) (match-end 2)
+                              (match-beginning 3) (match-end 3)
+                              (match-beginning 4) (match-end 4))))
+       ;; Only curly braces present: match file in curly braces.
+       ((and valid (match-beginning 8)
+             (not (match-beginning 2))
+             (not (match-beginning 5)))
+        (set-match-data (list (match-beginning 1) (match-end 10)
+                              (match-beginning 1) (match-end 1)
+                              nil nil
+                              nil nil
+                              nil nil
+                              (match-beginning 8) (match-end 8)
+                              (match-beginning 9) (match-end 9)
+                              (match-beginning 10) (match-end 10))))
+       (t
+        ;; Not a valid match, move to next line and search again.
+        (forward-line)
+        (when (< (point) last)
+          (setq valid (markdown-match-includes last)))))
+      valid)))
+
+
+;;; Markdown Font Fontification Functions =====================================
+
+(defun markdown-fontify-headings (last)
+  "Add text properties to headings from point to LAST."
+  (when (markdown-match-propertized-text 'markdown-heading last)
+    (let* ((level (markdown-outline-level))
+           (heading-face
+            (intern (format "markdown-header-face-%d" level)))
+           (heading-props `(face ,heading-face))
+           (markup-props `(face markdown-header-delimiter-face
+                                ,@(when markdown-hide-markup `(display ""))))
+           (rule-props `(face markdown-header-rule-face
+                              ,@(when markdown-hide-markup `(display "")))))
+      (if (match-end 1)
+          ;; Setext heading
+          (progn (add-text-properties
+                  (match-beginning 1) (match-end 1) heading-props)
+                 (if (= level 1)
+                     (add-text-properties
+                      (match-beginning 2) (match-end 2) rule-props)
+                   (add-text-properties
+                    (match-beginning 3) (match-end 3) rule-props)))
+        ;; atx heading
+        (add-text-properties
+         (match-beginning 4) (match-end 4) markup-props)
+        (add-text-properties
+         (match-beginning 5) (match-end 5) heading-props)
+        (when (match-end 6)
+          (add-text-properties
+           (match-beginning 6) (match-end 6) markup-props))))
+    t))
+
+(defun markdown-fontify-blockquotes (last)
+  "Apply font-lock properties to blockquotes from point to LAST."
+  (when (markdown-match-blockquotes last)
+    (add-text-properties
+     (match-beginning 1) (match-end 1)
+     (if markdown-hide-markup
+         `(face markdown-blockquote-face
+                display ,markdown-blockquote-display-char)
+       `(face markdown-markup-face
+              ,@(when markdown-hide-markup
+                  `(display ,markdown-blockquote-display-char)))))
+    (font-lock-append-text-property
+     (match-beginning 0) (match-end 0) 'face 'markdown-blockquote-face)
+    t))
+
+(defun markdown-fontify-list-items (last)
+  "Apply font-lock properties to list markers from point to LAST."
+  (when (markdown-match-list-items last)
+    (let* ((indent (length (match-string-no-properties 1)))
+           (level (/ indent 4)) ;; level = 0, 1, 2, ...
+           (bullet (nth (mod level (length markdown-list-item-bullets))
+                        markdown-list-item-bullets)))
+      (add-text-properties
+       (match-beginning 2) (match-end 2) '(face markdown-list-face))
+      (when markdown-hide-markup
+        (cond
+         ;; Unordered lists
+         ((string-match-p "[\\*\\+-]" (match-string 2))
+          (add-text-properties
+           (match-beginning 2) (match-end 2) `(display ,bullet)))
+         ;; Definition lists
+         ((string-equal ":" (match-string 2))
+          (add-text-properties
+           (match-beginning 2) (match-end 2)
+           `(display ,(char-to-string markdown-definition-display-char)))))))
+    t))
+
+(defun markdown-fontify-hrs (last)
+  "Add text properties to horizontal rules from point to LAST."
+  (when (markdown-match-hr last)
+    (add-text-properties
+     (match-beginning 0) (match-end 0)
+     `(face markdown-hr-face
+            font-lock-multiline t
+            ,@(when markdown-hide-markup
+                `(display ,(make-string
+                            (window-body-width) markdown-hr-display-char)))))
+     t))
+
+(defun markdown-fontify-sub-superscripts (last)
+  "Apply text properties to sub- and superscripts from point to LAST."
+  (when (markdown-search-until-condition
+         (lambda () (and (not (markdown-code-block-at-point-p))
+                         (not (markdown-inline-code-at-point-p))
+                         (not (markdown-in-comment-p))))
+         markdown-regex-sub-superscript last t)
+    (let* ((subscript-p (string= (match-string 2) "~"))
+           (index (if subscript-p 0 1))
+           (mp (list 'face 'markdown-markup-face
+                     'invisible 'markdown-markup)))
+      (when markdown-hide-markup
+        (put-text-property (match-beginning 3) (match-end 3)
+                           'display
+                           (nth index markdown-sub-superscript-display)))
+      (add-text-properties (match-beginning 2) (match-end 2) mp)
+      (add-text-properties (match-beginning 4) (match-end 4) mp)
+      t)))
+
 
 ;;; Syntax Table ==============================================================
 
@@ -3571,56 +4187,6 @@ Optionally, the user can provide a TITLE."
     (cond ((not text) (goto-char (+ 1 cur)))
           ((not url) (goto-char (+ 3 (length text) cur))))))
 
-(defun markdown-insert-inline-link-dwim ()
-  "Insert an inline link of the form [link](url) at point.
-If there is an active region, the text in the region will be used
-as the URL, if it appears to be a URL, or else as the link text.
-If the point is at a URL, use it to create a new link. If the
-point is at a reference link, convert it to an inline link. If
-the point is at a word, use the word as the link text. In these
-cases, the point will be left at the position for inserting a
-URL. If there is no active region and the point is not at word,
-simply insert link markup and place the point in the position to
-enter link text."
-  (interactive)
-  (cond
-   ;; If there is an active region, remove existing links in the
-   ;; region and use resulting region as link text for a new link.
-   ((markdown-use-region-p)
-    (let* ((bounds (markdown-unwrap-things-in-region
-                    (region-beginning) (region-end)
-                    markdown-regex-link-inline 0 3))
-           (text (buffer-substring (car bounds) (cdr bounds))))
-      (delete-region (car bounds) (cdr bounds))
-      (markdown-insert-inline-link text nil)))
-   ;; If there is an inline link at the point, remove it and add the
-   ;; link text to the kill ring.
-   ((thing-at-point-looking-at markdown-regex-link-inline)
-    (kill-new (match-string 3))
-    (delete-region (match-beginning 0) (match-end 0)))
-   ;; If there is an angle URL at the point, use it for a new link.
-   ((thing-at-point-looking-at markdown-regex-angle-uri)
-    (let ((url (match-string 2)))
-      (delete-region (match-beginning 0) (match-end 0))
-      (markdown-insert-inline-link nil url)))
-   ;; If there is a plain URL at the point, use it for a new link.
-   ((thing-at-point-looking-at markdown-regex-uri)
-    (let ((url (match-string 0)))
-      (delete-region (match-beginning 0) (match-end 0))
-      (markdown-insert-inline-link nil url)))
-   ;; If there is a reference link at point, convert to inline link.
-   ((thing-at-point-looking-at markdown-regex-link-reference)
-    (let ((beg (match-beginning 0))
-          (end (match-end 0))
-          (text (match-string 3))
-          (url (markdown-link-link)))
-      (delete-region beg end)
-      (markdown-insert-inline-link text url)))
-   ;; Otherwise, insert a link
-   (t (let ((bounds (markdown-wrap-or-insert "[" "]()")))
-        (when bounds
-          (goto-char (- (cdr bounds) 1)))))))
-
 (defun markdown-insert-reference-link (text label &optional url title)
   "Insert a reference link and, optionally, a reference definition.
 The link TEXT will be inserted followed by the optional LABEL.
@@ -3646,8 +4212,11 @@ be used to populate the title attribute when converted to XHTML."
     (cl-case markdown-reference-location
       (end         (goto-char (point-max)))
       (immediately (markdown-end-of-text-block))
+      (subtree     (markdown-end-of-subtree))
       (header      (markdown-end-of-defun)))
-    (unless (markdown-cur-line-blank-p) (insert "\n"))
+    (unless (or (markdown-cur-line-blank-p)
+                (thing-at-point-looking-at markdown-regex-reference-definition))
+      (insert "\n"))
     (insert "\n[" label "]: ")
     (if url
         (insert url)
@@ -3661,53 +4230,97 @@ be used to populate the title attribute when converted to XHTML."
     (when url
       (message
        (substitute-command-keys
-        "Defined reference [%s], press \\[markdown-jump] to jump there")
+        "Reference [%s] was defined, press \\[markdown-do] to jump there")
        label))))
 
-(defun markdown-insert-reference-link-dwim ()
-  "Insert a reference link of the form [text][label] at point.
-If there is an active region, the text in the region will be used
-as the link text.  If the point is at an inline link, it will be
-converted to a reference link.  If the point is at a word, it will
-be used as the link text.  Otherwise, the link text will be read from
-the minibuffer.  The link label will be read from the minibuffer in
-both cases, with completion from the set of currently defined
-references.  To create an implicit reference link, press RET to
-accept the default, an empty label.  If the entered referenced
-label is not defined, additionally prompt for the URL
-and (optional) title.  The reference definition is placed at the
-location determined by `markdown-reference-location'."
-  (interactive)
-  (let* ((defined-labels (markdown-get-defined-references))
-         (switch (thing-at-point-looking-at markdown-regex-link-inline))
-         (bounds (cond ((markdown-use-region-p)
-                        (cons (region-beginning) (region-end)))
-                       (switch
-                        (cons (match-beginning 0) (match-end 0)))
-                       (t
-                        (markdown-bounds-of-thing-at-point 'word))))
-         (text (cond (switch (match-string 3))
-                     (bounds (buffer-substring (car bounds) (cdr bounds)))
-                     (t (read-string "Link Text: "))))
-         (label (completing-read
-                 "Link Label (default: none): " defined-labels
-                 nil nil nil 'markdown-reference-label-history nil))
-         (ref (save-match-data
-                (markdown-reference-definition
-                 (if (> (length label) 0) label text))))
-         (url (cond (ref nil)
-                    (switch (match-string 6))
-                    (t (read-string "Link URL: "))))
-         (title (cond
-                 ((= (length url) 0) nil)
-                 (switch (if (> (length (match-string 7)) 2)
-                             (substring (match-string 7) 1 -1)
-                           nil))
-                 (t (read-string "Link Title (optional): ")))))
-    (when bounds (delete-region (car bounds) (cdr bounds)))
-    (markdown-insert-reference-link text label url title)))
+(define-obsolete-function-alias
+  'markdown-insert-inline-link-dwim 'markdown-insert-link "v2.3")
+(define-obsolete-function-alias
+  'markdown-insert-reference-link-dwim 'markdown-insert-link "v2.3")
 
-(defun markdown-insert-uri ()
+(defun markdown-insert-link ()
+  "Insert new or update an existing link, with interactive prompts.
+If the point is at an existing link or URL, update the link text,
+URL, reference label, and/or title.  Otherwise, insert a new link.
+The type of link inserted (inline, reference, or plain URL)
+depends on which values are provided:
+
+*   If a URL and TEXT are given, insert an inline link: [TEXT](URL).
+*   If [REF] and TEXT are given, insert a reference link: [TEXT][REF].
+*   If only TEXT is given, insert an implicit reference link: [TEXT][].
+*   If only a URL is given, insert a plain link: <URL>.
+
+In other words, to create an implicit reference link, leave the
+URL prompt empty and to create a plain URL link, leave the link
+text empty.
+
+If there is an active region, use the text as the default URL, if
+it seems to be a URL, or link text value otherwise.
+
+If a given reference is not defined, this function will
+additionally prompt for the URL and optional title.  In this case,
+the reference definition is placed at the location determined by
+`markdown-reference-location'.
+
+Through updating the link, this function can be used to convert a
+link of one type (inline, reference, or plain) to another type by
+selectively adding or removing information via the prompts."
+  (interactive)
+  (cl-multiple-value-bind (begin end text uri ref title)
+      (if (markdown-use-region-p)
+          ;; Use region as either link text or URL as appropriate.
+          (let ((region (buffer-substring-no-properties
+                         (region-beginning) (region-end))))
+            (if (string-match markdown-regex-uri region)
+                ;; Region contains a URL; use it as such.
+                (list (region-beginning) (region-end)
+                      nil (match-string 0 region) nil nil)
+              ;; Region doesn't contain a URL, so use it as text.
+              (list (region-beginning) (region-end)
+                    region nil nil nil)))
+        ;; Extract and use properties of existing link, if any.
+        (markdown-link-at-pos (point)))
+    (let* ((ref (when ref (concat "[" ref "]")))
+           (defined-refs (append
+                          (mapcar (lambda (ref) (concat "[" ref "]"))
+                                  (markdown-get-defined-references))))
+           (used-uris (markdown-get-used-uris))
+           (uri-or-ref (completing-read
+                        "URL or [reference]: "
+                        (append defined-refs used-uris)
+                        nil nil (or uri ref)))
+           (ref (cond ((string-match "\\`\\[\\(.*\\)\\]\\'" uri-or-ref)
+                       (match-string 1 uri-or-ref))
+                      ((string-equal "" uri-or-ref)
+                       "")))
+           (uri (unless ref uri-or-ref))
+           (text-prompt (if ref
+                            "Link text: "
+                          "Link text (blank for plain URL): "))
+           (text (read-string text-prompt text))
+           (text (if (= (length text) 0) nil text))
+           (plainp (and uri (not text)))
+           (implicitp (string-equal ref ""))
+           (ref (if implicitp text ref))
+           (definedp (and ref (markdown-reference-definition ref)))
+           (ref-url (unless (or uri definedp)
+                      (completing-read "Reference URL: " used-uris)))
+           (title (unless (or plainp definedp)
+                    (read-string "Title or alt text (optional): " title)))
+           (title (if (= (length title) 0) nil title)))
+      (when (and begin end)
+        (delete-region begin end))
+      (cond
+       ((and uri text)
+        (markdown-insert-inline-link text uri title))
+       ((and ref text)
+        (markdown-insert-reference-link text (unless implicitp ref) nil title)
+        (unless definedp
+          (markdown-insert-reference-definition ref ref-url title)))
+       (uri
+        (markdown-insert-uri uri))))))
+
+(defun markdown-insert-uri (&optional uri)
   "Insert markup for an inline URI.
 If there is an active region, use it as the URI.  If the point is
 at a URI, wrap it with angle brackets.  If the point is at an
@@ -3720,10 +4333,12 @@ angle brackets place the point between them."
                      (region-beginning) (region-end)
                      markdown-regex-angle-uri 0 2)))
         (markdown-wrap-or-insert "<" ">" nil (car bounds) (cdr bounds)))
-    ;; Markup removal, URI at point, or empty markup insertion
+    ;; Markup removal, URI at point, new URI, or empty markup insertion
     (if (thing-at-point-looking-at markdown-regex-angle-uri)
         (markdown-unwrap-thing-at-point nil 0 2)
-      (markdown-wrap-or-insert "<" ">" 'url nil nil))))
+      (if uri
+          (insert "<" uri ">")
+        (markdown-wrap-or-insert "<" ">" 'url nil nil)))))
 
 (defun markdown-insert-wiki-link ()
   "Insert a wiki link of the form [[WikiLink]].
@@ -4015,62 +4630,79 @@ if three backquotes inserted at the beginning of line."
     (call-interactively #'markdown-insert-gfm-code-block)))
 
 (defconst markdown-gfm-recognized-languages
-  ;; to reproduce/update, evaluate the let-form in
+  ;; To reproduce/update, evaluate the let-form in
   ;; scripts/get-recognized-gfm-languages.el. that produces a single long sexp,
   ;; but with appropriate use of a keyboard macro, indenting and filling it
   ;; properly is pretty fast.
-  '("ABAP" "AGS-Script" "AMPL" "ANTLR" "API-Blueprint" "APL" "ASP" "ATS"
-    "ActionScript" "Ada" "Agda" "Alloy" "Ant-Build-System" "ApacheConf" "Apex"
-    "AppleScript" "Arc" "Arduino" "AsciiDoc" "AspectJ" "Assembly" "Augeas"
-    "AutoHotkey" "AutoIt" "Awk" "Batchfile" "Befunge" "Bison" "BitBake"
-    "BlitzBasic" "BlitzMax" "Bluespec" "Boo" "Brainfuck" "Brightscript" "Bro" "C#"
-    "C++" "C-ObjDump" "C2hs-Haskell" "CLIPS" "CMake" "COBOL" "CSS" "Cap'n-Proto"
-    "CartoCSS" "Ceylon" "Chapel" "Charity" "ChucK" "Cirru" "Clarion" "Clean"
-    "Click" "Clojure" "CoffeeScript" "ColdFusion" "ColdFusion-CFC" "Common-Lisp"
-    "Component-Pascal" "Cool" "Coq" "Cpp-ObjDump" "Creole" "Crystal" "Cucumber"
-    "Cuda" "Cycript" "Cython" "D-ObjDump" "DIGITAL-Command-Language" "DM"
-    "DNS-Zone" "DTrace" "Darcs-Patch" "Dart" "Diff" "Dockerfile" "Dogescript"
-    "Dylan" "ECL" "ECLiPSe" "Eagle" "Ecere-Projects" "Eiffel" "Elixir" "Elm"
-    "Emacs-Lisp" "EmberScript" "Erlang" "F#" "FLUX" "FORTRAN" "Factor" "Fancy"
-    "Fantom" "Filterscript" "Formatted" "Forth" "FreeMarker" "Frege" "G-code"
-    "GAMS" "GAP" "GAS" "GDScript" "GLSL" "Game-Maker-Language" "Genshi"
-    "Gentoo-Ebuild" "Gentoo-Eclass" "Gettext-Catalog" "Glyph" "Gnuplot" "Go"
-    "Golo" "Gosu" "Grace" "Gradle" "Grammatical-Framework"
-    "Graph-Modeling-Language" "Graphviz-(DOT)" "Groff" "Groovy"
-    "Groovy-Server-Pages" "HCL" "HTML" "HTML+Django" "HTML+EEX" "HTML+ERB"
-    "HTML+PHP" "HTTP" "Hack" "Haml" "Handlebars" "Harbour" "Haskell" "Haxe" "Hy"
-    "HyPhy" "IDL" "IGOR-Pro" "INI" "IRC-log" "Idris" "Inform-7" "Inno-Setup" "Io"
-    "Ioke" "Isabelle" "Isabelle-ROOT" "JFlex" "JSON" "JSON5" "JSONLD" "JSONiq"
-    "JSX" "Jade" "Jasmin" "Java" "Java-Server-Pages" "JavaScript" "Julia"
-    "Jupyter-Notebook" "KRL" "KiCad" "Kit" "Kotlin" "LFE" "LLVM" "LOLCODE" "LSL"
-    "LabVIEW" "Lasso" "Latte" "Lean" "Less" "Lex" "LilyPond" "Limbo"
-    "Linker-Script" "Linux-Kernel-Module" "Liquid" "Literate-Agda"
-    "Literate-CoffeeScript" "Literate-Haskell" "LiveScript" "Logos" "Logtalk"
-    "LookML" "LoomScript" "Lua" "MAXScript" "MTML" "MUF" "Makefile" "Mako"
-    "Markdown" "Mask" "Mathematica" "Matlab" "Maven-POM" "Max" "MediaWiki"
-    "Mercury" "Metal" "MiniD" "Mirah" "Modelica" "Modula-2"
-    "Module-Management-System" "Monkey" "Moocode" "MoonScript" "Myghty" "NCL" "NL"
-    "NSIS" "Nemerle" "NetLinx" "NetLinx+ERB" "NetLogo" "NewLisp" "Nginx" "Nimrod"
-    "Ninja" "Nit" "Nix" "Nu" "NumPy" "OCaml" "ObjDump" "Objective-C"
-    "Objective-C++" "Objective-J" "Omgrofl" "Opa" "Opal" "OpenCL" "OpenEdge-ABL"
-    "OpenSCAD" "Org" "Ox" "Oxygene" "Oz" "PAWN" "PHP" "PLSQL" "PLpgSQL" "Pan"
-    "Papyrus" "Parrot" "Parrot-Assembly" "Parrot-Internal-Representation" "Pascal"
-    "Perl" "Perl6" "Pickle" "PicoLisp" "PigLatin" "Pike" "Pod" "PogoScript" "Pony"
-    "PostScript" "PowerShell" "Processing" "Prolog" "Propeller-Spin"
-    "Protocol-Buffer" "Public-Key" "Puppet" "Pure-Data" "PureBasic" "PureScript"
-    "Python" "Python-traceback" "QML" "QMake" "RAML" "RDoc" "REALbasic" "RHTML"
-    "RMarkdown" "Racket" "Ragel-in-Ruby-Host" "Raw-token-data" "Rebol" "Red"
-    "Redcode" "Ren'Py" "RenderScript" "RobotFramework" "Rouge" "Ruby" "Rust" "SAS"
-    "SCSS" "SMT" "SPARQL" "SQF" "SQL" "SQLPL" "STON" "SVG" "Sage" "SaltStack"
-    "Sass" "Scala" "Scaml" "Scheme" "Scilab" "Self" "Shell" "ShellSession" "Shen"
-    "Slash" "Slim" "Smali" "Smalltalk" "Smarty" "SourcePawn" "Squirrel" "Stan"
-    "Standard-ML" "Stata" "Stylus" "SuperCollider" "Swift" "SystemVerilog" "TOML"
-    "TXL" "Tcl" "Tcsh" "TeX" "Tea" "Text" "Textile" "Thrift" "Turing" "Turtle"
-    "Twig" "TypeScript" "Unified-Parallel-C" "Unity3D-Asset" "UnrealScript"
-    "UrWeb" "VCL" "VHDL" "Vala" "Verilog" "VimL" "Visual-Basic" "Volt" "Vue"
-    "Web-Ontology-Language" "WebIDL" "X10" "XC" "XML" "XPages" "XProc" "XQuery"
-    "XS" "XSLT" "Xojo" "Xtend" "YAML" "Yacc" "Zephir" "Zimpl" "desktop" "eC" "edn"
-    "fish" "mupad" "nesC" "ooc" "reStructuredText" "wisp" "xBase")
+  '("1C-Enterprise" "ABAP" "ABNF" "AGS-Script" "AMPL" "ANTLR"
+    "API-Blueprint" "APL" "ASN.1" "ASP" "ATS" "ActionScript" "Ada" "Agda"
+    "Alloy" "Alpine-Abuild" "Ant-Build-System" "ApacheConf" "Apex"
+    "Apollo-Guidance-Computer" "AppleScript" "Arc" "Arduino" "AsciiDoc"
+    "AspectJ" "Assembly" "Augeas" "AutoHotkey" "AutoIt" "Awk" "Batchfile"
+    "Befunge" "Bison" "BitBake" "Blade" "BlitzBasic" "BlitzMax" "Bluespec"
+    "Boo" "Brainfuck" "Brightscript" "Bro" "C#" "C++" "C-ObjDump"
+    "C2hs-Haskell" "CLIPS" "CMake" "COBOL" "COLLADA" "CSON" "CSS" "CSV"
+    "CWeb" "Cap'n-Proto" "CartoCSS" "Ceylon" "Chapel" "Charity" "ChucK"
+    "Cirru" "Clarion" "Clean" "Click" "Clojure" "Closure-Templates"
+    "CoffeeScript" "ColdFusion" "ColdFusion-CFC" "Common-Lisp"
+    "Component-Pascal" "Cool" "Coq" "Cpp-ObjDump" "Creole" "Crystal"
+    "Csound" "Csound-Document" "Csound-Score" "Cuda" "Cycript" "Cython"
+    "D-ObjDump" "DIGITAL-Command-Language" "DM" "DNS-Zone" "DTrace"
+    "Darcs-Patch" "Dart" "Diff" "Dockerfile" "Dogescript" "Dylan" "EBNF"
+    "ECL" "ECLiPSe" "EJS" "EQ" "Eagle" "Ecere-Projects" "Eiffel" "Elixir"
+    "Elm" "Emacs-Lisp" "EmberScript" "Erlang" "F#" "FLUX" "Factor" "Fancy"
+    "Fantom" "Filebench-WML" "Filterscript" "Formatted" "Forth" "Fortran"
+    "FreeMarker" "Frege" "G-code" "GAMS" "GAP" "GCC-Machine-Description"
+    "GDB" "GDScript" "GLSL" "GN" "Game-Maker-Language" "Genie" "Genshi"
+    "Gentoo-Ebuild" "Gentoo-Eclass" "Gettext-Catalog" "Gherkin" "Glyph"
+    "Gnuplot" "Go" "Golo" "Gosu" "Grace" "Gradle" "Grammatical-Framework"
+    "Graph-Modeling-Language" "GraphQL" "Graphviz-(DOT)" "Groovy"
+    "Groovy-Server-Pages" "HCL" "HLSL" "HTML" "HTML+Django" "HTML+ECR"
+    "HTML+EEX" "HTML+ERB" "HTML+PHP" "HTTP" "Hack" "Haml" "Handlebars"
+    "Harbour" "Haskell" "Haxe" "Hy" "HyPhy" "IDL" "IGOR-Pro" "INI"
+    "IRC-log" "Idris" "Inform-7" "Inno-Setup" "Io" "Ioke" "Isabelle"
+    "Isabelle-ROOT" "JFlex" "JSON" "JSON5" "JSONLD" "JSONiq" "JSX"
+    "Jasmin" "Java" "Java-Server-Pages" "JavaScript" "Jison" "Jison-Lex"
+    "Jolie" "Julia" "Jupyter-Notebook" "KRL" "KiCad" "Kit" "Kotlin" "LFE"
+    "LLVM" "LOLCODE" "LSL" "LabVIEW" "Lasso" "Latte" "Lean" "Less" "Lex"
+    "LilyPond" "Limbo" "Linker-Script" "Linux-Kernel-Module" "Liquid"
+    "Literate-Agda" "Literate-CoffeeScript" "Literate-Haskell"
+    "LiveScript" "Logos" "Logtalk" "LookML" "LoomScript" "Lua" "M4"
+    "M4Sugar" "MAXScript" "MQL4" "MQL5" "MTML" "MUF" "Makefile" "Mako"
+    "Markdown" "Marko" "Mask" "Mathematica" "Matlab" "Maven-POM" "Max"
+    "MediaWiki" "Mercury" "Meson" "Metal" "MiniD" "Mirah" "Modelica"
+    "Modula-2" "Module-Management-System" "Monkey" "Moocode" "MoonScript"
+    "Myghty" "NCL" "NL" "NSIS" "Nemerle" "NetLinx" "NetLinx+ERB" "NetLogo"
+    "NewLisp" "Nginx" "Nim" "Ninja" "Nit" "Nix" "Nu" "NumPy" "OCaml"
+    "ObjDump" "Objective-C" "Objective-C++" "Objective-J" "Omgrofl" "Opa"
+    "Opal" "OpenCL" "OpenEdge-ABL" "OpenRC-runscript" "OpenSCAD"
+    "OpenType-Feature-File" "Org" "Ox" "Oxygene" "Oz" "P4" "PAWN" "PHP"
+    "PLSQL" "PLpgSQL" "POV-Ray-SDL" "Pan" "Papyrus" "Parrot"
+    "Parrot-Assembly" "Parrot-Internal-Representation" "Pascal" "Pep8"
+    "Perl" "Perl6" "Pic" "Pickle" "PicoLisp" "PigLatin" "Pike" "Pod"
+    "PogoScript" "Pony" "PostScript" "PowerBuilder" "PowerShell"
+    "Processing" "Prolog" "Propeller-Spin" "Protocol-Buffer" "Public-Key"
+    "Pug" "Puppet" "Pure-Data" "PureBasic" "PureScript" "Python"
+    "Python-console" "Python-traceback" "QML" "QMake" "RAML" "RDoc"
+    "REALbasic" "REXX" "RHTML" "RMarkdown" "RPM-Spec" "RUNOFF" "Racket"
+    "Ragel" "Rascal" "Raw-token-data" "Reason" "Rebol" "Red" "Redcode"
+    "Regular-Expression" "Ren'Py" "RenderScript" "RobotFramework" "Roff"
+    "Rouge" "Ruby" "Rust" "SAS" "SCSS" "SMT" "SPARQL" "SQF" "SQL" "SQLPL"
+    "SRecode-Template" "STON" "SVG" "Sage" "SaltStack" "Sass" "Scala"
+    "Scaml" "Scheme" "Scilab" "Self" "ShaderLab" "Shell" "ShellSession"
+    "Shen" "Slash" "Slim" "Smali" "Smalltalk" "Smarty" "SourcePawn"
+    "Spline-Font-Database" "Squirrel" "Stan" "Standard-ML" "Stata"
+    "Stylus" "SubRip-Text" "Sublime-Text-Config" "SuperCollider" "Swift"
+    "SystemVerilog" "TI-Program" "TLA" "TOML" "TXL" "Tcl" "Tcsh" "TeX"
+    "Tea" "Terra" "Text" "Textile" "Thrift" "Turing" "Turtle" "Twig"
+    "Type-Language" "TypeScript" "Unified-Parallel-C" "Unity3D-Asset"
+    "Unix-Assembly" "Uno" "UnrealScript" "UrWeb" "VCL" "VHDL" "Vala"
+    "Verilog" "Vim-script" "Visual-Basic" "Volt" "Vue"
+    "Wavefront-Material" "Wavefront-Object" "Web-Ontology-Language"
+    "WebAssembly" "WebIDL" "World-of-Warcraft-Addon-Data" "X10" "XC"
+    "XCompose" "XML" "XPages" "XProc" "XQuery" "XS" "XSLT" "Xojo" "Xtend"
+    "YAML" "YANG" "Yacc" "Zephir" "Zimpl" "desktop" "eC" "edn" "fish"
+    "mupad" "nesC" "ooc" "reStructuredText" "wisp" "xBase")
   "Language specifiers recognized by GitHub's syntax highlighting features.")
 
 (defvar markdown-gfm-used-languages nil
@@ -4145,6 +4777,33 @@ automatically in order to have the correct markup."
     (markdown-ensure-blank-line-after)
     (forward-line -1)))
 
+(defun markdown-code-block-lang (&optional pos-prop)
+  "Return the language name for a GFM or tilde fenced code block.
+The beginning of the block may be described by POS-PROP,
+a cons of (pos . prop) giving the position and property
+at the beginning of the block."
+  (or pos-prop
+      (setq pos-prop
+            (markdown-max-of-seq
+             #'car
+             (cl-remove-if
+              #'null
+              (cl-mapcar
+               #'markdown-find-previous-prop
+               (markdown-get-fenced-block-begin-properties))))))
+  (when pos-prop
+    (goto-char (car pos-prop))
+    (set-match-data (get-text-property (point) (cdr pos-prop)))
+    ;; Note: Hard-coded group number assumes tilde
+    ;; and GFM fenced code regexp groups agree.
+    (let ((begin (match-beginning 3))
+          (end (match-end 3)))
+      (when (and begin end)
+        ;; Fix language strings beginning with periods, like ".ruby".
+        (when (eq (char-after begin) ?.)
+          (setq begin (1+ begin)))
+        (buffer-substring-no-properties begin end)))))
+
 (defun markdown-gfm-parse-buffer-for-languages (&optional buffer)
   (with-current-buffer (or buffer (current-buffer))
     (save-excursion
@@ -4153,15 +4812,7 @@ automatically in order to have the correct markup."
        with prop = 'markdown-gfm-block-begin
        for pos-prop = (markdown-find-next-prop prop)
        while pos-prop
-       for lang = (progn
-                    (goto-char (car pos-prop))
-                    (save-match-data
-                      (set-match-data (get-text-property (point) prop))
-                      ;; Note: Hard-coded group number assumes tilde
-                      ;; and GFM fenced code regexp groups agree.
-                      (when (and (match-beginning 3) (match-end 3))
-                        (buffer-substring-no-properties
-                         (match-beginning 3) (match-end 3)))))
+       for lang = (markdown-code-block-lang pos-prop)
        do (progn (when lang (markdown-gfm-add-used-language lang))
                  (goto-char (next-single-property-change (point) prop)))))))
 
@@ -4197,6 +4848,7 @@ automatically in order to have the correct markup."
   (cond
    ((eq markdown-footnote-location 'end) (goto-char (point-max)))
    ((eq markdown-footnote-location 'immediately) (markdown-end-of-text-block))
+   ((eq markdown-footnote-location 'subtree) (markdown-end-of-subtree))
    ((eq markdown-footnote-location 'header) (markdown-end-of-defun))))
 
 (defun markdown-footnote-kill ()
@@ -4450,7 +5102,10 @@ Positions are calculated by `markdown-calc-indents'."
     (setq positions (cdr positions)))
   (or (cadr positions) 0))
 
-(defun markdown-exdent-find-next-position (cur-pos positions)
+(define-obsolete-function-alias 'markdown-exdent-find-next-position
+  'markdown-outdent-find-next-position "v2.3")
+
+(defun markdown-outdent-find-next-position (cur-pos positions)
   "Return the maximal element that precedes CUR-POS from POSITIONS.
 Positions are calculated by `markdown-calc-indents'."
   (let ((result 0))
@@ -4551,10 +5206,13 @@ list simply adds a blank line)."
         (newline)
         (markdown-indent-line)))))
 
-(defun markdown-exdent-or-delete (arg)
+(define-obsolete-function-alias 'markdown-exdent-or-delete
+  'markdown-outdent-or-delete "v2.3")
+
+(defun markdown-outdent-or-delete (arg)
   "Handle BACKSPACE by cycling through indentation points.
 When BACKSPACE is pressed, if there is only whitespace
-before the current point, then exdent the line one level.
+before the current point, then outdent the line one level.
 Otherwise, do normal delete by repeating
 `backward-delete-char-untabify' ARG times."
   (interactive "*p")
@@ -4566,7 +5224,7 @@ Otherwise, do normal delete by repeating
                                 (current-column)))
           (positions (markdown-calc-indents)))
       (if (and (> cur-pos 0) (= cur-pos start-of-indention))
-          (indent-line-to (markdown-exdent-find-next-position cur-pos positions))
+          (indent-line-to (markdown-outdent-find-next-position cur-pos positions))
         (backward-delete-char-untabify arg)))))
 
 (defun markdown-find-leftmost-column (beg end)
@@ -4584,18 +5242,21 @@ Otherwise, do normal delete by repeating
 
 (defun markdown-indent-region (beg end arg)
   "Indent the region from BEG to END using some heuristics.
-When ARG is non-nil, exdent the region instead.
+When ARG is non-nil, outdent the region instead.
 See `markdown-indent-line' and `markdown-indent-line'."
   (interactive "*r\nP")
   (let* ((positions (sort (delete-dups (markdown-calc-indents)) '<))
          (leftmostcol (markdown-find-leftmost-column beg end))
          (next-pos (if arg
-                       (markdown-exdent-find-next-position leftmostcol positions)
+                       (markdown-outdent-find-next-position leftmostcol positions)
                      (markdown-indent-find-next-position leftmostcol positions))))
     (indent-rigidly beg end (- next-pos leftmostcol))
     (setq deactivate-mark nil)))
 
-(defun markdown-exdent-region (beg end)
+(define-obsolete-function-alias 'markdown-exdent-region
+  'markdown-outdent-region "v2.3")
+
+(defun markdown-outdent-region (beg end)
   "Call `markdown-indent-region' on region from BEG to END with prefix."
   (interactive "*r")
   (markdown-indent-region beg end t))
@@ -4835,57 +5496,72 @@ Assumes match data is available for `markdown-regex-italic'."
 
 ;;; Keymap ====================================================================
 
+(defun markdown--style-map-prompt ()
+  "Return a formatted prompt for Markdown markup insertion."
+  (concat
+   "Markdown: "
+   (propertize "bold" 'face 'markdown-bold-face) ", "
+   (propertize "italic" 'face 'markdown-italic-face) ", "
+   (propertize "code" 'face 'markdown-inline-code-face) ", "
+   (propertize "C = GFM code" 'face 'markdown-code-face) ", "
+   (propertize "pre" 'face 'markdown-pre-face) ", "
+   (propertize "footnote" 'face 'markdown-footnote-text-face) ", "
+   (propertize "q = blockquote" 'face 'markdown-blockquote-face) ", "
+   (propertize "h & 1-6 = heading" 'face 'markdown-header-face) ", "
+   (propertize "- = hr" 'face 'markdown-hr-face) ", "
+   "C-h = more"))
+
+(defvar markdown-mode-style-map
+  (let ((map (make-keymap (markdown--style-map-prompt))))
+    (define-key map (kbd "1") 'markdown-insert-header-atx-1)
+    (define-key map (kbd "2") 'markdown-insert-header-atx-2)
+    (define-key map (kbd "3") 'markdown-insert-header-atx-3)
+    (define-key map (kbd "4") 'markdown-insert-header-atx-4)
+    (define-key map (kbd "5") 'markdown-insert-header-atx-5)
+    (define-key map (kbd "6") 'markdown-insert-header-atx-6)
+    (define-key map (kbd "!") 'markdown-insert-header-setext-1)
+    (define-key map (kbd "@") 'markdown-insert-header-setext-2)
+    (define-key map (kbd "b") 'markdown-insert-bold)
+    (define-key map (kbd "c") 'markdown-insert-code)
+    (define-key map (kbd "C") 'markdown-insert-gfm-code-block)
+    (define-key map (kbd "f") 'markdown-insert-footnote)
+    (define-key map (kbd "h") 'markdown-insert-header-dwim)
+    (define-key map (kbd "H") 'markdown-insert-header-setext-dwim)
+    (define-key map (kbd "i") 'markdown-insert-italic)
+    (define-key map (kbd "k") 'markdown-insert-kbd)
+    (define-key map (kbd "l") 'markdown-insert-link)
+    (define-key map (kbd "p") 'markdown-insert-pre)
+    (define-key map (kbd "P") 'markdown-pre-region)
+    (define-key map (kbd "q") 'markdown-insert-blockquote)
+    (define-key map (kbd "s") 'markdown-insert-strike-through)
+    (define-key map (kbd "Q") 'markdown-blockquote-region)
+    (define-key map (kbd "w") 'markdown-insert-wiki-link)
+    (define-key map (kbd "-") 'markdown-insert-hr)
+    ;; Deprecated keys that may be removed in a future version
+    (define-key map (kbd "e") 'markdown-insert-italic)
+    map)
+  "Keymap for Markdown text styling commands.")
+
 (defvar markdown-mode-map
   (let ((map (make-keymap)))
-    ;; Element insertion
-    (define-key map "\C-c\C-al" 'markdown-insert-inline-link-dwim)
-    (define-key map "\C-c\C-aL" 'markdown-insert-reference-link-dwim)
-    (define-key map "\C-c\C-au" 'markdown-insert-uri)
-    (define-key map "\C-c\C-af" 'markdown-insert-footnote)
-    (define-key map "\C-c\C-aw" 'markdown-insert-wiki-link)
-    (define-key map "\C-c\C-ii" 'markdown-insert-image)
-    (define-key map "\C-c\C-iI" 'markdown-insert-reference-image)
-    (define-key map "\C-c\C-i\C-t" 'markdown-toggle-inline-images)
-    (define-key map "\C-c\C-th" 'markdown-insert-header-dwim)
-    (define-key map "\C-c\C-tH" 'markdown-insert-header-setext-dwim)
-    (define-key map "\C-c\C-t1" 'markdown-insert-header-atx-1)
-    (define-key map "\C-c\C-t2" 'markdown-insert-header-atx-2)
-    (define-key map "\C-c\C-t3" 'markdown-insert-header-atx-3)
-    (define-key map "\C-c\C-t4" 'markdown-insert-header-atx-4)
-    (define-key map "\C-c\C-t5" 'markdown-insert-header-atx-5)
-    (define-key map "\C-c\C-t6" 'markdown-insert-header-atx-6)
-    (define-key map "\C-c\C-t!" 'markdown-insert-header-setext-1)
-    (define-key map "\C-c\C-t@" 'markdown-insert-header-setext-2)
-    (define-key map "\C-c\C-ss" 'markdown-insert-bold)
-    (define-key map "\C-c\C-se" 'markdown-insert-italic)
-    (define-key map "\C-c\C-sc" 'markdown-insert-code)
-    (define-key map "\C-c\C-sb" 'markdown-insert-blockquote)
-    (define-key map "\C-c\C-sk" 'markdown-insert-kbd)
-    (define-key map "\C-c\C-s\C-b" 'markdown-blockquote-region)
-    (define-key map "\C-c\C-sp" 'markdown-insert-pre)
-    (define-key map "\C-c\C-s\C-p" 'markdown-pre-region)
-    (define-key map "\C-c\C-sP" 'markdown-insert-gfm-code-block)
-    (define-key map "\C-c-" 'markdown-insert-hr)
-    ;; Element insertion (deprecated)
-    (define-key map "\C-c\C-ar" 'markdown-insert-reference-link-dwim)
-    (define-key map "\C-c\C-tt" 'markdown-insert-header-setext-1)
-    (define-key map "\C-c\C-ts" 'markdown-insert-header-setext-2)
-    ;; Element removal
+    ;; Markup insertion & removal
+    (define-key map (kbd "C-c C-s") markdown-mode-style-map)
+    (define-key map (kbd "C-c C-l") 'markdown-insert-link)
     (define-key map (kbd "C-c C-k") 'markdown-kill-thing-at-point)
-    ;; Promotion, Demotion, Completion, and Cycling
+    ;; Promotion, demotion, and cycling
     (define-key map (kbd "C-c C--") 'markdown-promote)
     (define-key map (kbd "C-c C-=") 'markdown-demote)
     (define-key map (kbd "C-c C-]") 'markdown-complete)
-    ;; Following and Jumping
+    ;; Following and doing things
     (define-key map (kbd "C-c C-o") 'markdown-follow-thing-at-point)
-    (define-key map (kbd "C-c C-l") 'markdown-jump)
+    (define-key map (kbd "C-c C-d") 'markdown-do)
     ;; Indentation
-    (define-key map (kbd "C-m") 'markdown-enter-key)
-    (define-key map (kbd "DEL") 'markdown-exdent-or-delete)
+    (define-key map (kbd "<return>") 'markdown-enter-key)
+    (define-key map (kbd "<backspace>") 'markdown-outdent-or-delete)
     (define-key map (kbd "C-c >") 'markdown-indent-region)
-    (define-key map (kbd "C-c <") 'markdown-exdent-region)
+    (define-key map (kbd "C-c <") 'markdown-outdent-region)
     ;; Visibility cycling
-    (define-key map (kbd "TAB") 'markdown-cycle)
+    (define-key map (kbd "<tab>") 'markdown-cycle)
     (define-key map (kbd "<S-iso-lefttab>") 'markdown-shifttab)
     (define-key map (kbd "<S-tab>")  'markdown-shifttab)
     (define-key map (kbd "<backtab>") 'markdown-shifttab)
@@ -4906,36 +5582,79 @@ Assumes match data is available for `markdown-regex-italic'."
     (define-key map (kbd "C-c C-c c") 'markdown-check-refs)
     (define-key map (kbd "C-c C-c n") 'markdown-cleanup-list-numbers)
     (define-key map (kbd "C-c C-c ]") 'markdown-complete-buffer)
-    ;; List editing
-    (define-key map (kbd "M-<up>") 'markdown-move-up)
-    (define-key map (kbd "M-<down>") 'markdown-move-down)
-    (define-key map (kbd "M-<left>") 'markdown-promote)
-    (define-key map (kbd "M-<right>") 'markdown-demote)
+    (define-key map (kbd "C-c '") 'markdown-edit-code-block)
+    ;; Subtree and list editing
+    (define-key map (kbd "C-c <up>") 'markdown-move-up)
+    (define-key map (kbd "C-c <down>") 'markdown-move-down)
+    (define-key map (kbd "C-c <left>") 'markdown-promote)
+    (define-key map (kbd "C-c <right>") 'markdown-demote)
+    (define-key map (kbd "C-c C-M-h") 'markdown-mark-subtree)
+    (define-key map (kbd "C-x n s") 'markdown-narrow-to-subtree)
     (define-key map (kbd "M-<return>") 'markdown-insert-list-item)
     (define-key map (kbd "C-c C-j") 'markdown-insert-list-item)
-    ;; Subtree editing
-    (define-key map (kbd "M-S-<up>") 'markdown-move-subtree-up)
-    (define-key map (kbd "M-S-<down>") 'markdown-move-subtree-down)
-    (define-key map (kbd "M-S-<left>") 'markdown-promote-subtree)
-    (define-key map (kbd "M-S-<right>") 'markdown-demote-subtree)
     ;; Blocks
-    (define-key map (kbd "M-{") 'markdown-backward-block)
-    (define-key map (kbd "M-}") 'markdown-forward-block)
-    (define-key map (kbd "M-h") 'markdown-mark-block)
+    (define-key map [remap backward-paragraph] 'markdown-backward-block)
+    (define-key map [remap forward-paragraph] 'markdown-forward-block)
+    (define-key map [remap mark-paragraph] 'markdown-mark-block)
     (define-key map (kbd "C-x n b") 'markdown-narrow-to-block)
-    ;; Movement
+    ;; Text Blocks (contextually unaware)
+    (define-key map (kbd "C-M-{") 'markdown-beginning-of-text-block)
+    (define-key map (kbd "C-M-}") 'markdown-end-of-text-block)
+    (define-key map (kbd "C-c M-h") 'markdown-mark-text-block)
+    ;; Pages (top-level sections)
+    (define-key map [remap backward-page] 'markdown-backward-page)
+    (define-key map [remap forward-page] 'markdown-forward-page)
+    (define-key map [remap mark-page] 'markdown-mark-page)
+    (define-key map [remap narrow-to-page] 'markdown-narrow-to-page)
+    ;; Link Movement
     (define-key map (kbd "M-n") 'markdown-next-link)
     (define-key map (kbd "M-p") 'markdown-previous-link)
+    ;; Toggling functionality
+    (define-key map (kbd "C-c C-x C-e") 'markdown-toggle-math)
+    (define-key map (kbd "C-c C-x C-f") 'markdown-toggle-fontify-code-blocks-natively)
+    (define-key map (kbd "C-c C-x C-i") 'markdown-toggle-inline-images)
+    (define-key map (kbd "C-c C-x C-l") 'markdown-toggle-url-hiding)
+    (define-key map (kbd "C-c C-x C-m") 'markdown-toggle-markup-hiding)
     ;; Alternative keys (in case of problems with the arrow keys)
     (define-key map (kbd "C-c C-x u") 'markdown-move-up)
     (define-key map (kbd "C-c C-x d") 'markdown-move-down)
     (define-key map (kbd "C-c C-x l") 'markdown-promote)
     (define-key map (kbd "C-c C-x r") 'markdown-demote)
-    (define-key map (kbd "C-c C-x m") 'markdown-insert-list-item)
-    (define-key map (kbd "C-c C-x C-x") 'markdown-toggle-gfm-checkbox)
+    ;; Deprecated keys that may be removed in a future version
+    (define-key map (kbd "C-c C-a L") 'markdown-insert-link) ;; C-c C-l
+    (define-key map (kbd "C-c C-a l") 'markdown-insert-link) ;; C-c C-l
+    (define-key map (kbd "C-c C-a r") 'markdown-insert-link) ;; C-c C-l
+    (define-key map (kbd "C-c C-a u") 'markdown-insert-uri) ;; C-c C-l
+    (define-key map (kbd "C-c C-a f") 'markdown-insert-footnote)
+    (define-key map (kbd "C-c C-a w") 'markdown-insert-wiki-link)
+    (define-key map (kbd "C-c C-t 1") 'markdown-insert-header-atx-1)
+    (define-key map (kbd "C-c C-t 2") 'markdown-insert-header-atx-2)
+    (define-key map (kbd "C-c C-t 3") 'markdown-insert-header-atx-3)
+    (define-key map (kbd "C-c C-t 4") 'markdown-insert-header-atx-4)
+    (define-key map (kbd "C-c C-t 5") 'markdown-insert-header-atx-5)
+    (define-key map (kbd "C-c C-t 6") 'markdown-insert-header-atx-6)
+    (define-key map (kbd "C-c C-t !") 'markdown-insert-header-setext-1)
+    (define-key map (kbd "C-c C-t @") 'markdown-insert-header-setext-2)
+    (define-key map (kbd "C-c C-t h") 'markdown-insert-header-dwim)
+    (define-key map (kbd "C-c C-t H") 'markdown-insert-header-setext-dwim)
+    (define-key map (kbd "C-c C-t s") 'markdown-insert-header-setext-2)
+    (define-key map (kbd "C-c C-t t") 'markdown-insert-header-setext-1)
+    (define-key map (kbd "C-c C-i i") 'markdown-insert-image)
+    (define-key map (kbd "C-c C-i I") 'markdown-insert-reference-image)
+    (define-key map (kbd "C-c C-i C-t") 'markdown-toggle-inline-images)
+    (define-key map (kbd "C-c C-x m") 'markdown-insert-list-item) ;; C-c C-j
+    (define-key map (kbd "C-c C-x C-x") 'markdown-toggle-gfm-checkbox) ;; C-c C-d
+    (define-key map (kbd "C-c -") 'markdown-insert-hr)
     map)
   "Keymap for Markdown major mode.")
 
+(defvar markdown-mode-mouse-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map [follow-link] 'mouse-face)
+    (define-key map [mouse-2] 'markdown-follow-link-at-point)
+    map)
+  "Keymap for following links with mouse.")
+
 (defvar gfm-mode-map
   (let ((map (make-sparse-keymap)))
     (set-keymap-parent map markdown-mode-map)
@@ -4953,7 +5672,7 @@ See also `markdown-mode-map'.")
   '("Markdown"
     "---"
     ("Movement"
-     ["Jump" markdown-jump]
+     ["Jump" markdown-do]
      ["Follow Link" markdown-follow-thing-at-point]
      ["Next Link" markdown-next-link]
      ["Previous Link" markdown-previous-link]
@@ -4966,53 +5685,69 @@ See also `markdown-mode-map'.")
      "---"
      ["Forward Block" markdown-forward-block]
      ["Backward Block" markdown-backward-block])
-    ("Show/Hide"
-     ["Cycle Visibility" markdown-cycle (markdown-on-heading-p)]
-     ["Cycle Visibility Globally" markdown-shifttab])
+    ("Show & Hide"
+     ["Cycle Heading Visibility" markdown-cycle (markdown-on-heading-p)]
+     ["Cycle Heading Visibility (Global)" markdown-shifttab]
+     "---"
+     ["Narrow to Region" narrow-to-region]
+     ["Narrow to Block" markdown-narrow-to-block]
+     ["Narrow to Section" narrow-to-defun]
+     ["Narrow to Subtree" markdown-narrow-to-subtree]
+     ["Widen" widen (buffer-narrowed-p)]
+     "---"
+     ["Toggle Markup Hiding" markdown-toggle-markup-hiding
+      :keys "C-c C-x C-m"
+      :style radio
+      :selected markdown-hide-markup])
     "---"
     ("Headings & Structure"
-     ["Automatic Heading" markdown-insert-header-dwim]
-     ["Automatic Heading (Setext)" markdown-insert-header-setext-dwim]
+     ["Automatic Heading" markdown-insert-header-dwim :keys "C-c C-s h"]
+     ["Automatic Heading (Setext)" markdown-insert-header-setext-dwim :keys "C-c C-s H"]
      ("Specific Heading (atx)"
-      ["First Level Setext" markdown-insert-header-setext-1]
-      ["Second Level Setext" markdown-insert-header-setext-2])
+      ["First Level atx" markdown-insert-header-atx-1 :keys "C-c C-s 1"]
+      ["Second Level atx" markdown-insert-header-atx-2 :keys "C-c C-s 2"]
+      ["Third Level atx" markdown-insert-header-atx-3 :keys "C-c C-s 3"]
+      ["Fourth Level atx" markdown-insert-header-atx-4 :keys "C-c C-s 4"]
+      ["Fifth Level atx" markdown-insert-header-atx-5 :keys "C-c C-s 5"]
+      ["Sixth Level atx" markdown-insert-header-atx-6 :keys "C-c C-s 6"])
      ("Specific Heading (Setext)"
-      ["First Level atx" markdown-insert-header-atx-1]
-      ["Second Level atx" markdown-insert-header-atx-2]
-      ["Third Level atx" markdown-insert-header-atx-3]
-      ["Fourth Level atx" markdown-insert-header-atx-4]
-      ["Fifth Level atx" markdown-insert-header-atx-5]
-      ["Sixth Level atx" markdown-insert-header-atx-6])
-     ["Horizontal Rule" markdown-insert-hr]
+      ["First Level Setext" markdown-insert-header-setext-1 :keys "C-c C-s !"]
+      ["Second Level Setext" markdown-insert-header-setext-2 :keys "C-c C-s @"])
+     ["Horizontal Rule" markdown-insert-hr :keys "C-c C-s -"]
      "---"
-     ["Move Subtree Up" markdown-move-subtree-up :keys "M-S-<up>"]
-     ["Move Subtree Down" markdown-move-subtree-down :keys "M-S-<down>"]
-     ["Promote Subtree" markdown-promote-subtree :keys "M-S-<left>"]
-     ["Demote Subtree" markdown-demote-subtree :keys "M-S-<right>"]
-     ["Promote Header" markdown-promote :keys "M-<left>"]
-     ["Demote Header" markdown-demote :keys "M-<right>"])
-    ("Region Editing"
+     ["Move Subtree Up" markdown-move-up :keys "C-c <up>"]
+     ["Move Subtree Down" markdown-move-down :keys "C-c <down>"]
+     ["Promote Subtree" markdown-promote :keys "C-c <left>"]
+     ["Demote Subtree" markdown-demote :keys "C-c <right>"])
+    ("Region & Mark"
      ["Indent Region" markdown-indent-region]
-     ["Exdent Region" markdown-exdent-region])
+     ["Outdent Region" markdown-outdent-region]
+     "--"
+     ["Mark Block" markdown-mark-block]
+     ["Mark Plain Text Block" markdown-mark-text-block]
+     ["Mark Section" mark-defun]
+     ["Mark Subtree" markdown-mark-subtree])
     ("Lists"
      ["Insert List Item" markdown-insert-list-item]
-     ["Move List Item Up" markdown-move-up :keys "M-<up>"]
-     ["Move List Item Down" markdown-move-down :keys "M-<down>"]
-     ["Exdent List Item" markdown-promote :keys "M-<left>"]
-     ["Indent List Item" markdown-demote :keys "M-<right>"]
+     ["Move Subtree Up" markdown-move-up :keys "C-c <up>"]
+     ["Move Subtree Down" markdown-move-down :keys "C-c <down>"]
+     ["Indent Subtree" markdown-demote :keys "C-c <right>"]
+     ["Outdent Subtree" markdown-promote :keys "C-c <left>"]
      ["Renumber List" markdown-cleanup-list-numbers]
-     ["Toggle Task List Item" markdown-toggle-gfm-checkbox])
+     ["Toggle Task List Item" markdown-toggle-gfm-checkbox :keys "C-c C-d"])
     ("Links & Images"
-     ["Plain URL" markdown-insert-uri]
-     ["Inline Link" markdown-insert-inline-link-dwim]
-     ["Inline Image" markdown-insert-image]
-     ["Reference Link" markdown-insert-reference-link-dwim]
-     ["Reference Image" markdown-insert-reference-image]
-     ["Footnote" markdown-insert-footnote]
-     ["Wiki Link" markdown-insert-wiki-link]
+     ["Insert Link" markdown-insert-link]
+     ["Insert Inline Image" markdown-insert-image]
+     ["Insert Reference Image" markdown-insert-reference-image]
+     ["Insert Footnote" markdown-insert-footnote :keys "C-c C-s f"]
+     ["Insert Wiki Link" markdown-insert-wiki-link :keys "C-c C-s w"]
      "---"
      ["Check References" markdown-check-refs]
+     ["Toggle URL Hiding" markdown-toggle-url-hiding
+      :style radio
+      :selected markdown-hide-urls]
      ["Toggle Inline Images" markdown-toggle-inline-images
+      :keys "C-c C-x C-i"
       :style radio
       :selected markdown-inline-image-overlays]
      ["Toggle Wiki Links" markdown-toggle-wiki-links
@@ -5028,11 +5763,15 @@ See also `markdown-mode-map'.")
      ["Blockquote" markdown-insert-blockquote]
      ["Preformatted" markdown-insert-pre]
      ["GFM Code Block" markdown-insert-gfm-code-block]
+     ["Edit Code Block" markdown-edit-code-block (markdown-code-block-at-point-p)]
      "---"
      ["Blockquote Region" markdown-blockquote-region]
      ["Preformatted Region" markdown-pre-region]
      "---"
-     ["Enable LaTeX math" markdown-toggle-math
+     ["Fontify Code Blocks Natively" markdown-toggle-fontify-code-blocks-natively
+      :style radio
+      :selected markdown-fontify-code-blocks-natively]
+     ["LaTeX Math Support" markdown-toggle-math
       :style radio
       :selected markdown-enable-math])
     "---"
@@ -5048,8 +5787,8 @@ See also `markdown-mode-map'.")
      ["Kill ring save" markdown-kill-ring-save])
     ("Markup Completion and Cycling"
      ["Complete Markup" markdown-complete]
-     ["Promote Element" markdown-promote]
-     ["Demote Element" markdown-demote])
+     ["Promote Element" markdown-promote :keys "C-c C--"]
+     ["Demote Element" markdown-demote :keys "C-c C-="])
     "---"
     ["Kill Element" markdown-kill-thing-at-point]
     "---"
@@ -5084,7 +5823,8 @@ See `imenu-create-index-function' and `imenu--index-alist' for details."
             (setq heading (match-string-no-properties 1))
             (setq pos (match-beginning 1)
                   level 2))
-           ((setq hashes (match-string-no-properties 4))
+           ((setq hashes (markdown-trim-whitespace
+                          (match-string-no-properties 4)))
             (setq heading (match-string-no-properties 5)
                   pos (match-beginning 4)
                   level (length hashes))))
@@ -5231,74 +5971,67 @@ BUFFER-NAME is the name of the main buffer being visited."
       (erase-buffer))
     linkbuf))
 
-(when (markdown-use-buttons-p)
-  ;; Add an empty Markdown reference definition to buffer
-  ;; specified in the 'target-buffer property.  The reference name is
-  ;; the button's label.
-  (define-button-type 'markdown-undefined-reference-button
-    'help-echo "mouse-1, RET: create definition for undefined reference"
-    'follow-link t
-    'face 'bold
-    'action (lambda (b)
-              (let ((buffer (button-get b 'target-buffer))
-                    (line (button-get b 'target-line))
-                    (label (button-label b)))
-                (switch-to-buffer-other-window buffer)
-                (goto-char (point-min))
-                (forward-line line)
-                (markdown-insert-reference-definition label)
-                (markdown-check-refs t))))
+;; Add an empty Markdown reference definition to buffer
+;; specified in the 'target-buffer property.  The reference name is
+;; the button's label.
+(define-button-type 'markdown-undefined-reference-button
+  'help-echo "mouse-1, RET: create definition for undefined reference"
+  'follow-link t
+  'face 'bold
+  'action (lambda (b)
+            (let ((buffer (button-get b 'target-buffer))
+                  (line (button-get b 'target-line))
+                  (label (button-label b)))
+              (switch-to-buffer-other-window buffer)
+              (goto-char (point-min))
+              (forward-line line)
+              (markdown-insert-reference-definition label)
+              (markdown-check-refs t))))
 
-  ;; Jump to line in buffer specified by 'target-buffer property.
-  ;; Line number is button's 'line property.
-  (define-button-type 'markdown-goto-line-button
-    'help-echo "mouse-1, RET: go to line"
-    'follow-link t
-    'face 'italic
-    'action (lambda (b)
-              (message (button-get b 'buffer))
-              (switch-to-buffer-other-window (button-get b 'target-buffer))
-              ;; use call-interactively to silence compiler
-              (let ((current-prefix-arg (button-get b 'target-line)))
-                (call-interactively 'goto-line))))
+;; Jump to line in buffer specified by 'target-buffer property.
+;; Line number is button's 'line property.
+(define-button-type 'markdown-goto-line-button
+  'help-echo "mouse-1, RET: go to line"
+  'follow-link t
+  'face 'italic
+  'action (lambda (b)
+            (message (button-get b 'buffer))
+            (switch-to-buffer-other-window (button-get b 'target-buffer))
+            ;; use call-interactively to silence compiler
+            (let ((current-prefix-arg (button-get b 'target-line)))
+              (call-interactively 'goto-line))))
 
-  ;; Jumps to a particular link at location given by 'target-char
-  ;; property in buffer given by 'target-buffer property.
-  (define-button-type 'markdown-link-button
-    'help-echo "mouse-1, RET: jump to location of link"
-    'follow-link t
-    'face 'bold
-    'action (lambda (b)
-              (let ((target (button-get b 'target-buffer))
-                    (loc (button-get b 'target-char)))
-                (kill-buffer-and-window)
-                (switch-to-buffer target)
-                (goto-char loc)))))
+;; Jumps to a particular link at location given by 'target-char
+;; property in buffer given by 'target-buffer property.
+(define-button-type 'markdown-location-button
+  'help-echo "mouse-1, RET: jump to location of link"
+  'follow-link t
+  'face 'bold
+  'action (lambda (b)
+            (let ((target (button-get b 'target-buffer))
+                  (loc (button-get b 'target-char)))
+              (kill-buffer-and-window)
+              (switch-to-buffer target)
+              (goto-char loc))))
 
 (defun markdown-insert-undefined-reference-button (reference oldbuf)
   "Insert a button for creating REFERENCE in buffer OLDBUF.
 REFERENCE should be a list of the form (reference . occurrences),
 as by `markdown-get-undefined-refs'."
   (let ((label (car reference)))
-    (if (markdown-use-buttons-p)
-        ;; Create a reference button in Emacs 22
-        (insert-button label
-                       :type 'markdown-undefined-reference-button
-                       'target-buffer oldbuf
-                       'target-line (cdr (car (cdr reference))))
-      ;; Insert reference as text in Emacs < 22
-      (insert label))
+    ;; Create a reference button
+    (insert-button label
+                   :type 'markdown-undefined-reference-button
+                   'target-buffer oldbuf
+                   'target-line (cdr (car (cdr reference))))
     (insert " (")
     (dolist (occurrence (cdr reference))
       (let ((line (cdr occurrence)))
-        (if (markdown-use-buttons-p)
-            ;; Create a line number button in Emacs 22
-            (insert-button (number-to-string line)
-                           :type 'markdown-goto-line-button
-                           'target-buffer oldbuf
-                           'target-line line)
-          ;; Insert line number as text in Emacs < 22
-          (insert (number-to-string line)))
+        ;; Create a line number button
+        (insert-button (number-to-string line)
+                       :type 'markdown-goto-line-button
+                       'target-buffer oldbuf
+                       'target-line line)
         (insert " ")))
     (delete-char -1)
     (insert ")")
@@ -5311,14 +6044,11 @@ the link text, location, and line number."
   (let ((label (cl-first link))
         (char (cl-second link))
         (line (cl-third link)))
-    (if (markdown-use-buttons-p)
-        ;; Create a reference button in Emacs 22
-        (insert-button label
-                       :type 'markdown-link-button
-                       'target-buffer oldbuf
-                       'target-char char)
-      ;; Insert reference as text in Emacs < 22
-      (insert label))
+    ;; Create a reference button
+    (insert-button label
+                   :type 'markdown-location-button
+                   'target-buffer oldbuf
+                   'target-char char)
     (insert (format " (line %d)\n" line))))
 
 (defun markdown-reference-goto-link (&optional reference)
@@ -5424,12 +6154,11 @@ increase the indentation by one level."
         ;; Compute indentation and marker for new list item
         (setq cur-indent (nth 2 bounds))
         (setq marker (nth 4 bounds))
-        ;; Is this a GFM checkbox?
-        (when (save-excursion
-                (goto-char (cl-first bounds))
-                (forward-char (cl-fourth bounds))
-                (looking-at "\\(\\[\\)[xX ]\\(\\]\\s-*\\)"))
-          (setq marker (concat marker (match-string 1) " " (match-string 2))))
+        ;; If current item is a GFM checkbox, insert new unchecked checkbox.
+        (when (nth 5 bounds)
+          (setq marker
+                (concat marker
+                        (replace-regexp-in-string "[Xx]" " " (nth 5 bounds)))))
         (cond
          ;; Dedent: decrement indentation, find previous marker.
          ((= arg 4)
@@ -5477,7 +6206,8 @@ increase the indentation by one level."
           (insert new-indent marker)))))))
 
 (defun markdown-move-list-item-up ()
-  "Move the current list item up in the list when possible."
+  "Move the current list item up in the list when possible.
+In nested lists, move child items with the parent item."
   (interactive)
   (let (cur prev old)
     (when (setq cur (markdown-cur-list-item-bounds))
@@ -5496,7 +6226,8 @@ increase the indentation by one level."
         (goto-char old)))))
 
 (defun markdown-move-list-item-down ()
-  "Move the current list item down in the list when possible."
+  "Move the current list item down in the list when possible.
+In nested lists, move child items with the parent item."
   (interactive)
   (let (cur next old)
     (when (setq cur (markdown-cur-list-item-bounds))
@@ -5515,7 +6246,8 @@ increase the indentation by one level."
 
 (defun markdown-demote-list-item (&optional bounds)
   "Indent (or demote) the current list item.
-Optionally, BOUNDS of the current list item may be provided if available."
+Optionally, BOUNDS of the current list item may be provided if available.
+In nested lists, demote child items as well."
   (interactive)
   (when (or bounds (setq bounds (markdown-cur-list-item-bounds)))
     (save-excursion
@@ -5528,7 +6260,8 @@ Optionally, BOUNDS of the current list item may be provided if available."
 
 (defun markdown-promote-list-item (&optional bounds)
   "Unindent (or promote) the current list item.
-Optionally, BOUNDS of the current list item may be provided if available."
+Optionally, BOUNDS of the current list item may be provided if available.
+In nested lists, demote child items as well."
   (interactive)
   (when (or bounds (setq bounds (markdown-cur-list-item-bounds)))
     (save-excursion
@@ -5602,29 +6335,58 @@ a list."
 
 (defun markdown-beginning-of-defun (&optional arg)
   "`beginning-of-defun-function' for Markdown.
-Move backward to the beginning of the current or previous section.
-When ARG is non-nil, repeat that many times.  When ARG is negative,
-move forward to the ARG-th following section."
-  (interactive "P")
+This is used to find the beginning of the defun and should behave
+like ‘beginning-of-defun’, returning non-nil if it found the
+beginning of a defun.  It moves the point backward, right before a
+heading which defines a defun.  When ARG is non-nil, repeat that
+many times.  When ARG is negative, move forward to the ARG-th
+following section."
   (or arg (setq arg 1))
-  (forward-char 1)
-  (or (re-search-backward markdown-regex-header nil t arg)
-      (goto-char (point-min))))
+  (when (< arg 0) (end-of-line))
+  ;; Adjust position for setext headings.
+  (when (and (thing-at-point-looking-at markdown-regex-header-setext)
+             (not (= (point) (match-beginning 0)))
+             (not (markdown-code-block-at-point-p)))
+    (goto-char (match-end 0)))
+  (let (found)
+    ;; Move backward with positive argument.
+    (while (and (not (bobp)) (> arg 0))
+      (setq found nil)
+      (while (and (not found)
+                  (not (bobp))
+                  (re-search-backward markdown-regex-header nil 'move))
+        (when (not (markdown-code-block-at-pos (match-beginning 0))))
+        (setq found (match-beginning 0)))
+      (setq arg (1- arg)))
+    ;; Move forward with negative argument.
+    (while (and (not (eobp)) (< arg 0))
+      (setq found nil)
+      (while (and (not found)
+                  (not (eobp))
+                  (re-search-forward markdown-regex-header nil 'move))
+        (when (not (markdown-code-block-at-pos (match-beginning 0))))
+        (setq found (match-beginning 0)))
+      (setq arg (1+ arg)))
+    (when found
+      (beginning-of-line)
+      t)))
 
-(defun markdown-end-of-defun (&optional arg)
-  "`end-of-defun-function' for Markdown.
-Move forward to the end of the current or following section.
-When ARG is non-nil, repeat that many times.  When ARG is negative,
-move back to the ARG-th preceding section."
-  (interactive "P")
-  (or arg (setq arg 1))
-  (when (looking-at markdown-regex-header)
-    (goto-char (match-beginning 0))
-    (forward-char 1))
-  (if (re-search-forward markdown-regex-header nil t arg)
-      (goto-char (match-beginning 0))
-    (goto-char (point-max)))
-  (skip-syntax-backward "-"))
+(defun markdown-end-of-defun ()
+  "`end-of-defun-function’ for Markdown.
+This is used to find the end of the defun at point.
+It is called with no argument, right after calling ‘beginning-of-defun-raw’,
+so it can assume that point is at the beginning of the defun body.
+It should move point to the first position after the defun."
+  (or (eobp) (forward-char 1))
+  (let (found)
+    (while (and (not found)
+                (not (eobp))
+                (re-search-forward markdown-regex-header nil 'move))
+      (when (not (markdown-code-block-at-pos (match-beginning 0)))
+        (setq found (match-beginning 0))))
+    (when found
+      (goto-char found)
+      (skip-syntax-backward "-"))))
 
 (make-obsolete 'markdown-beginning-of-block 'markdown-beginning-of-text-block "v2.2")
 
@@ -5633,6 +6395,7 @@ move back to the ARG-th preceding section."
 This function simply looks for blank lines without considering
 the surrounding context in light of Markdown syntax.  For that, see
 `markdown-backward-block'."
+  (interactive)
   (let ((start (point)))
     (if (re-search-backward markdown-regex-block-separator nil t)
         (goto-char (match-end 0))
@@ -5650,6 +6413,7 @@ the surrounding context in light of Markdown syntax.  For that, see
 This function simply looks for blank lines without considering
 the surrounding context in light of Markdown syntax.  For that, see
 `markdown-forward-block'."
+  (interactive)
   (beginning-of-line)
   (skip-syntax-forward "-")
   (when (= (point) (point-min))
@@ -5747,6 +6511,39 @@ ARG = -N means move backward N blocks."
          ;; Other
          (t (markdown-end-of-text-block)))))))
 
+(defun markdown-backward-page (&optional count)
+  "Move backward to boundary of the current toplevel section.
+With COUNT, repeat, or go forward if negative."
+  (interactive "p")
+  (or count (setq count 1))
+  (if (< count 0)
+      (markdown-forward-page (- count))
+    (skip-syntax-backward "-")
+    (or (markdown-back-to-heading-over-code-block t t)
+        (goto-char (point-min)))
+    (when (looking-at markdown-regex-header)
+      (let ((level (markdown-outline-level)))
+        (when (> level 1) (markdown-up-heading level))
+        (when (> count 1)
+          (condition-case nil
+              (markdown-backward-same-level (1- count))
+            (error (goto-char (point-min)))))))))
+
+(defun markdown-forward-page (&optional count)
+  "Move forward to boundary of the current toplevel section.
+With COUNT, repeat, or go backward if negative."
+  (interactive "p")
+  (or count (setq count 1))
+  (if (< count 0)
+      (markdown-backward-page (- count))
+    (if (markdown-back-to-heading-over-code-block t t)
+        (let ((level (markdown-outline-level)))
+          (when (> level 1) (markdown-up-heading level))
+          (condition-case nil
+              (markdown-forward-same-level count)
+            (error (goto-char (point-max)))))
+      (markdown-next-visible-heading 1))))
+
 (defun markdown-next-link ()
   "Jump to next inline, reference, or wiki link.
 If successful, return point.  Otherwise, return nil.
@@ -5796,6 +6593,10 @@ headings inside preformatted code blocks may match
     (while (and (/= prev (point)) (markdown-code-block-at-point-p))
       (setq prev (point))
       (if arg (funcall move-fn arg) (funcall move-fn)))
+    ;; Adjust point for setext headings
+    (save-match-data
+      (when (thing-at-point-looking-at markdown-regex-header-setext)
+        (goto-char (match-beginning 0))))
     (if (= (point) start) nil (point))))
 
 (defun markdown-next-visible-heading (arg)
@@ -5820,37 +6621,43 @@ passed to `outline-previous-visible-heading'."
   "Move to the previous heading line of any level."
   (markdown-move-heading-common 'outline-previous-heading))
 
+(defun markdown-back-to-heading-over-code-block (&optional invisible-ok no-error)
+  "Move back to the beginning of the previous heading.
+Returns t if the point is at a heading, the location if a heading
+was found, and nil otherwise.
+Only visible heading lines are considered, unless INVISIBLE-OK is
+non-nil.  Throw an error if there is no previous heading unless
+NO-ERROR is non-nil.
+Leaves match data intact for `markdown-regex-header'."
+  (beginning-of-line)
+  (or (and (markdown-heading-at-point)
+           (not (markdown-code-block-at-point-p)))
+      (let (found)
+        (save-excursion
+          (while (and (not found)
+                      (re-search-backward markdown-regex-header nil t))
+            (when (and (or invisible-ok (not (outline-invisible-p)))
+                       (not (markdown-code-block-at-point-p)))
+              (setq found (point))))
+          (if (not found)
+              (unless no-error (error "Before first heading"))
+            (setq found (point))))
+        (when found (goto-char found)))))
+
 (defun markdown-forward-same-level (arg)
   "Move forward to the ARG'th heading at same level as this one.
 Stop at the first and last headings of a superior heading."
   (interactive "p")
+  (markdown-back-to-heading-over-code-block)
   (markdown-move-heading-common 'outline-forward-same-level arg))
 
-(defun markdown-back-to-heading-over-code-block (&optional invisible-ok)
-  (beginning-of-line)
-  (or (and (outline-on-heading-p invisible-ok)
-           (not (markdown-code-block-at-point-p)))
-      (let ((header-re (concat "^\\(?:" outline-regexp "\\)"))
-            found)
-        (save-excursion
-          (while (not found)
-            (let (finish)
-              (while (and (not finish) (re-search-backward header-re nil t))
-                (when (and (or invisible-ok (not (outline-invisible-p)))
-                           (not (markdown-code-block-at-point-p)))
-                  (setq finish t)))
-              (if (not finish)
-                  (error "Before first heading")
-                (setq found (point))))))
-        (goto-char found)
-        found)))
-
 (defun markdown-backward-same-level (arg)
   "Move backward to the ARG'th heading at same level as this one.
 Stop at the first and last headings of a superior heading."
   (interactive "p")
   (markdown-back-to-heading-over-code-block)
   (while (> arg 0)
+    ;; outline-get-last-sibling needs match-data set for outline-regexp.
     (let ((point-to-move-to (save-excursion
                               (outline-get-last-sibling))))
       (if point-to-move-to
@@ -5875,8 +6682,8 @@ Only visible heading lines are considered, unless INVISIBLE-OK is non-nil."
 (defalias 'markdown-end-of-heading 'outline-end-of-heading)
 
 (defun markdown-on-heading-p ()
-  "Return t if point is on a (visible) heading line."
-  (get-text-property (point) 'markdown-heading))
+  "Return non-nil if point is on a heading line."
+  (get-text-property (point-at-bol) 'markdown-heading))
 
 (defun markdown-end-of-subtree (&optional invisible-OK)
   "Move to the end of the current subtree.
@@ -6037,7 +6844,8 @@ Calls `markdown-cycle' with argument t."
    ((markdown-code-block-at-point-p) 7) ;; Only 6 header levels are defined.
    ((match-end 2) 1)
    ((match-end 3) 2)
-   ((match-end 4) (- (match-end 4) (match-beginning 4)))))
+   ((match-end 4)
+    (length (markdown-trim-whitespace (match-string-no-properties 4))))))
 
 (defun markdown-promote-subtree (&optional arg)
   "Promote the current subtree of ATX headings.
@@ -6055,7 +6863,8 @@ demote."
             (remove 't))
         (markdown-cycle-atx promote-or-demote remove)
         (catch 'end-of-subtree
-          (while (markdown-next-heading)
+          (while (and (markdown-next-heading)
+                      (looking-at markdown-regex-header-atx))
             ;; Exit if this not a higher level heading; promote otherwise.
             (if (and (looking-at markdown-regex-header-atx)
                      (<= (length (match-string-no-properties 1)) level))
@@ -6107,20 +6916,104 @@ The current block is the one that contains point or follows point."
         (end-of-defun-function 'markdown-forward-block))
     (narrow-to-defun)))
 
+(defun markdown-mark-text-block ()
+  "Put mark at end of this plain text block, point at beginning.
+The block marked is the one that contains point or follows point.
+
+Interactively, if this command is repeated or (in Transient Mark
+mode) if the mark is active, it marks the next block after the
+ones already marked."
+  (interactive)
+  (if (or (and (eq last-command this-command) (mark t))
+          (and transient-mark-mode mark-active))
+      (set-mark
+       (save-excursion
+         (goto-char (mark))
+         (markdown-end-of-text-block)
+         (point)))
+    (let ((beginning-of-defun-function 'markdown-beginning-of-text-block)
+          (end-of-defun-function 'markdown-end-of-text-block))
+      (mark-defun))))
+
+(defun markdown-mark-page ()
+  "Put mark at end of this top level section, point at beginning.
+The top level section marked is the one that contains point or
+follows point.
+
+Interactively, if this command is repeated or (in Transient Mark
+mode) if the mark is active, it marks the next page after the
+ones already marked."
+  (interactive)
+  (if (or (and (eq last-command this-command) (mark t))
+          (and transient-mark-mode mark-active))
+      (set-mark
+       (save-excursion
+         (goto-char (mark))
+         (markdown-forward-page)
+         (point)))
+    (let ((beginning-of-defun-function 'markdown-backward-page)
+          (end-of-defun-function 'markdown-forward-page))
+      (mark-defun))))
+
+(defun markdown-narrow-to-page ()
+  "Make text outside current top level section invisible.
+The current section is the one that contains point or follows point."
+  (interactive)
+  (let ((beginning-of-defun-function 'markdown-backward-page)
+        (end-of-defun-function 'markdown-forward-page))
+    (narrow-to-defun)))
+
+(defun markdown-mark-subtree ()
+  "Mark the current subtree.
+This puts point at the start of the current subtree, and mark at the end."
+  (interactive)
+  (let ((beg))
+    (if (markdown-heading-at-point)
+	(beginning-of-line)
+      (markdown-previous-visible-heading 1))
+    (setq beg (point))
+    (markdown-end-of-subtree)
+    (push-mark (point) nil t)
+    (goto-char beg)))
+
+(defun markdown-narrow-to-subtree ()
+  "Narrow buffer to the current subtree."
+  (interactive)
+  (save-excursion
+    (save-match-data
+      (narrow-to-region
+       (progn (markdown-back-to-heading-over-code-block t) (point))
+       (progn (markdown-end-of-subtree)
+	      (if (and (markdown-heading-at-point) (not (eobp)))
+		  (backward-char 1))
+	      (point))))))
+
 
 ;;; Generic Structure Editing, Completion, and Cycling Commands ===============
 
 (defun markdown-move-up ()
-  "Move list item up.
-Calls `markdown-move-list-item-up'."
+  "Move thing at point up.
+When in a list item, call `markdown-move-list-item-up'.
+Otherwise, move the current heading subtree up with
+`markdown-move-subtree-up'."
   (interactive)
-  (markdown-move-list-item-up))
+  (cond
+   ((markdown-list-item-at-point-p)
+    (markdown-move-list-item-up))
+   (t
+    (markdown-move-subtree-up))))
 
 (defun markdown-move-down ()
-  "Move list item down.
-Calls `markdown-move-list-item-down'."
+  "Move thing at point down.
+When in a list item, call `markdown-move-list-item-down'.
+Otherwise, move the current heading subtree up with
+`markdown-move-subtree-down'."
   (interactive)
-  (markdown-move-list-item-down))
+  (cond
+   ((markdown-list-item-at-point-p)
+    (markdown-move-list-item-down))
+   (t
+    (markdown-move-subtree-down))))
 
 (defun markdown-promote ()
   "Either promote header or list item at point or cycle markup.
@@ -6129,10 +7022,10 @@ See `markdown-cycle-atx', `markdown-cycle-setext', and
   (interactive)
   (let (bounds)
     (cond
-     ;; Promote atx header
+     ;; Promote atx heading subtree
      ((thing-at-point-looking-at markdown-regex-header-atx)
-      (markdown-cycle-atx -1))
-     ;; Promote setext header
+      (markdown-promote-subtree))
+     ;; Promote setext heading
      ((thing-at-point-looking-at markdown-regex-header-setext)
       (markdown-cycle-setext -1))
      ;; Promote horizonal rule
@@ -6157,10 +7050,10 @@ See `markdown-cycle-atx', `markdown-cycle-setext', and
   (interactive)
   (let (bounds)
     (cond
-     ;; Demote atx header
+     ;; Demote atx heading subtree
      ((thing-at-point-looking-at markdown-regex-header-atx)
-      (markdown-cycle-atx 1))
-     ;; Demote setext header
+      (markdown-demote-subtree))
+     ;; Demote setext heading
      ((thing-at-point-looking-at markdown-regex-header-setext)
       (markdown-cycle-setext 1))
      ;; Demote horizonal rule
@@ -6243,10 +7136,11 @@ Standalone XHTML output is identified by an occurrence of
 `markdown-xhtml-standalone-regexp' in the first five lines of output."
   (save-excursion
     (goto-char (point-min))
-    (re-search-forward
-     markdown-xhtml-standalone-regexp
-     (save-excursion (goto-char (point-min)) (forward-line 4) (point))
-     t)))
+    (save-match-data
+      (re-search-forward
+       markdown-xhtml-standalone-regexp
+       (save-excursion (goto-char (point-min)) (forward-line 4) (point))
+       t))))
 
 (defun markdown-stylesheet-link-string (stylesheet-path)
   (concat "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\""
@@ -6431,33 +7325,35 @@ Browse the resulting file within Emacs using
 `markdown-live-preview-window-function' Return the buffer
 displaying the rendered output."
   (interactive)
-  (let* ((markdown-live-preview-currently-exporting t)
-         (cur-buf (current-buffer))
-         (export-file (markdown-export (markdown-live-preview-get-filename)))
-         ;; get positions in all windows currently displaying output buffer
-         (window-data
-          (markdown-live-preview-window-serialize
-           markdown-live-preview-buffer)))
-    (save-window-excursion
-      (let ((output-buffer
-             (funcall markdown-live-preview-window-function export-file)))
-        (with-current-buffer output-buffer
-          (setq markdown-live-preview-source-buffer cur-buf)
-          (add-hook 'kill-buffer-hook
-                    #'markdown-live-preview-remove-on-kill t t))
+  (let ((filename (markdown-live-preview-get-filename)))
+    (when filename
+      (let* ((markdown-live-preview-currently-exporting t)
+             (cur-buf (current-buffer))
+             (export-file (markdown-export filename))
+             ;; get positions in all windows currently displaying output buffer
+             (window-data
+              (markdown-live-preview-window-serialize
+               markdown-live-preview-buffer)))
+        (save-window-excursion
+          (let ((output-buffer
+                 (funcall markdown-live-preview-window-function export-file)))
+            (with-current-buffer output-buffer
+              (setq markdown-live-preview-source-buffer cur-buf)
+              (add-hook 'kill-buffer-hook
+                        #'markdown-live-preview-remove-on-kill t t))
+            (with-current-buffer cur-buf
+              (setq markdown-live-preview-buffer output-buffer))))
         (with-current-buffer cur-buf
-          (setq markdown-live-preview-buffer output-buffer))))
-    (with-current-buffer cur-buf
-      ;; reset all windows displaying output buffer to where they were,
-      ;; now with the new output
-      (mapc #'markdown-live-preview-window-deserialize window-data)
-      ;; delete html editing buffer
-      (let ((buf (get-file-buffer export-file))) (when buf (kill-buffer buf)))
-      (when (and export-file (file-exists-p export-file)
-                 (eq markdown-live-preview-delete-export
-                     'delete-on-export))
-        (delete-file export-file))
-      markdown-live-preview-buffer)))
+          ;; reset all windows displaying output buffer to where they were,
+          ;; now with the new output
+          (mapc #'markdown-live-preview-window-deserialize window-data)
+          ;; delete html editing buffer
+          (let ((buf (get-file-buffer export-file))) (when buf (kill-buffer buf)))
+          (when (and export-file (file-exists-p export-file)
+                     (eq markdown-live-preview-delete-export
+                         'delete-on-export))
+            (delete-file export-file))
+          markdown-live-preview-buffer)))))
 
 (defun markdown-live-preview-remove ()
   (when (buffer-live-p markdown-live-preview-buffer)
@@ -6466,19 +7362,23 @@ displaying the rendered output."
   ;; if set to 'delete-on-export, the output has already been deleted
   (when (eq markdown-live-preview-delete-export 'delete-on-destroy)
     (let ((outfile-name (markdown-live-preview-get-filename)))
-      (when (file-exists-p outfile-name)
+      (when (and outfile-name (file-exists-p outfile-name))
         (delete-file outfile-name)))))
 
+(defun markdown-get-other-window ()
+  "Find another window to display preview or output content."
+  (cond
+   ((memq markdown-split-window-direction '(vertical below))
+    (or (window-in-direction 'below) (split-window-vertically)))
+   ((memq markdown-split-window-direction '(horizontal right))
+    (or (window-in-direction 'right) (split-window-horizontally)))
+   (t (split-window-sensibly (get-buffer-window)))))
+
 (defun markdown-display-buffer-other-window (buf)
+  "Display preview or output buffer BUF in another window."
   (let ((cur-buf (current-buffer))
-        split-width-threshold split-height-threshold)
-    (cond ((memq markdown-split-window-direction '(vertical below))
-           (setq split-width-threshold nil)
-           (setq split-height-threshold 0))
-          ((memq markdown-split-window-direction '(horizontal right))
-           (setq split-width-threshold 0)
-           (setq split-height-threshold nil)))
-    (switch-to-buffer-other-window buf)
+        (window (markdown-get-other-window)))
+    (set-window-buffer window buf)
     (set-buffer cur-buf)))
 
 (defun markdown-live-preview-if-markdown ()
@@ -6550,23 +7450,58 @@ See `markdown-wiki-link-p' for more information."
              (thing-at-point-looking-at markdown-regex-uri)
              (thing-at-point-looking-at markdown-regex-angle-uri)))))
 
-(defun markdown-link-link ()
-  "Return the link part of the regular (non-wiki) link at point.
+(make-obsolete 'markdown-link-link 'markdown-link-url "v2.3")
+
+(defun markdown-link-at-pos (pos)
+  "Return properties of link at position POS.
+Value is a list of elements describing the link:
+ 0. beginning position
+ 1. end position
+ 2. link text
+ 3. URL
+ 4. reference label
+ 5. title text"
+  (save-excursion
+    (goto-char pos)
+    (let (begin end text url reference title)
+      (cond
+       ;; Inline or reference image or link at point.
+       ((or (thing-at-point-looking-at markdown-regex-link-inline)
+            (thing-at-point-looking-at markdown-regex-link-reference))
+        (when (null (match-beginning 1))
+          ;; No exclamation point, so not an image.
+          (setq begin (match-beginning 0)
+                end (match-end 0)
+                text (match-string-no-properties 3))
+          (if (char-equal (char-after (match-beginning 5)) ?\[)
+              ;; Reference link
+              (setq reference (match-string-no-properties 6))
+            ;; Inline link
+            (setq url (match-string-no-properties 6))
+            (when (match-end 7)
+              (setq title (substring (match-string-no-properties 7) 1 -1))))))
+       ;; Angle bracket URI at point.
+       ((thing-at-point-looking-at markdown-regex-angle-uri)
+        (setq begin (match-beginning 0)
+              end (match-end 0)
+              url (match-string-no-properties 2)))
+       ;; Plain URI at point.
+       ((thing-at-point-looking-at markdown-regex-uri)
+        (setq begin (match-beginning 0)
+              end (match-end 0)
+              url (match-string-no-properties 1))))
+      (list begin end text url reference title))))
+
+(defun markdown-link-url ()
+  "Return the URL part of the regular (non-wiki) link at point.
 Works with both inline and reference style links.  If point is
 not at a link or the link reference is not defined returns nil."
-  (cond
-   ((thing-at-point-looking-at markdown-regex-link-inline)
-    (match-string-no-properties 6))
-   ((thing-at-point-looking-at markdown-regex-link-reference)
-    (let* ((text (match-string-no-properties 3))
-           (reference (match-string-no-properties 6))
-           (target (downcase (if (string= reference "") text reference))))
-      (car (markdown-reference-definition target))))
-   ((thing-at-point-looking-at markdown-regex-uri)
-    (match-string-no-properties 0))
-   ((thing-at-point-looking-at markdown-regex-angle-uri)
-    (match-string-no-properties 2))
-   (t nil)))
+  (let* ((values (markdown-link-at-pos (point)))
+         (text (nth 2 values))
+         (url (nth 3 values))
+         (ref (nth 4 values)))
+    (or url (and ref (car (markdown-reference-definition
+                           (downcase (if (string= ref "") text ref))))))))
 
 (defun markdown-follow-link-at-point ()
   "Open the current non-wiki link.
@@ -6574,10 +7509,10 @@ If the link is a complete URL, open in browser with `browse-url'.
 Otherwise, open with `find-file' after stripping anchor and/or query string."
   (interactive)
   (if (markdown-link-p)
-      (let* ((link (markdown-link-link))
-             (struct (url-generic-parse-url link))
+      (let* ((url (markdown-link-url))
+             (struct (url-generic-parse-url url))
              (full (url-fullness struct))
-             (file link))
+             (file url))
         ;; Parse URL, determine fullness, strip query string
         (if (fboundp 'url-path-and-query)
             (setq file (car (url-path-and-query struct)))
@@ -6586,9 +7521,131 @@ Otherwise, open with `find-file' after stripping anchor and/or query string."
             (setq file (substring file 0 (match-beginning 0)))))
         ;; Open full URLs in browser, files in Emacs
         (if full
-            (browse-url link)
+            (browse-url url)
           (when (and file (> (length file) 0)) (find-file file))))
-    (error "Point is not at a Markdown link or URI")))
+    (error "Point is not at a Markdown link or URL")))
+
+(defun markdown-fontify-inline-links (last)
+  "Add text properties to next inline link from point to LAST."
+  (when (markdown-match-generic-links last nil)
+    (let* ((link-start (match-beginning 3))
+           (link-end (match-end 3))
+           (url-start (match-beginning 6))
+           (url-end (match-end 6))
+           (url (match-string-no-properties 6))
+           (title-start (match-beginning 7))
+           (title-end (match-end 7))
+           (title (match-string-no-properties 7))
+           ;; Markup part
+           (mp (list 'face 'markdown-markup-face
+                     'invisible 'markdown-markup
+                     'font-lock-multiline t))
+           ;; Link part
+           (lp (list 'keymap markdown-mode-mouse-map
+                     'face markdown-link-face
+                     'mouse-face 'markdown-highlight-face
+                     'font-lock-multiline t
+                     'help-echo (if title (concat title "\n" url) url)))
+           ;; URL part
+           (up (list 'keymap markdown-mode-mouse-map
+                     'face 'markdown-url-face
+                     'invisible 'markdown-markup
+                     'mouse-face 'markdown-highlight-face
+                     'font-lock-multiline t))
+           ;; Title part
+           (tp (list 'face 'markdown-link-title-face
+                     'invisible 'markdown-markup
+                     'font-lock-multiline t)))
+      (dolist (g '(1 2 4 5 8))
+        (when (match-end g)
+          (add-text-properties (match-beginning g) (match-end g) mp)))
+      (when link-start (add-text-properties link-start link-end lp))
+      (when url-start (add-text-properties url-start url-end up))
+      (when title-start (add-text-properties url-end title-end tp))
+      (when (and markdown-hide-urls url-start)
+        (compose-region url-start (or title-end url-end)
+                        markdown-url-compose-char))
+      t)))
+
+(defun markdown-fontify-reference-links (last)
+  "Add text properties to next reference link from point to LAST."
+  (when (markdown-match-generic-links last t)
+    (let* ((link-start (match-beginning 3))
+           (link-end (match-end 3))
+           (ref-start (match-beginning 6))
+           (ref-end (match-end 6))
+           ;; Markup part
+           (mp (list 'face 'markdown-markup-face
+                     'invisible 'markdown-markup
+                     'font-lock-multiline t))
+           ;; Link part
+           (lp (list 'keymap markdown-mode-mouse-map
+                     'face markdown-link-face
+                     'mouse-face 'markdown-highlight-face
+                     'font-lock-multiline t
+                     'help-echo (lambda (_ __ pos)
+                                  (save-match-data
+                                    (save-excursion
+                                      (goto-char pos)
+                                      (or (markdown-link-url)
+                                          "Undefined reference"))))))
+           ;; Reference part
+           (rp (list 'face 'markdown-reference-face
+                     'invisible 'markdown-markup
+                     'font-lock-multiline t)))
+      (dolist (g '(1 2 4 5 8))
+        (when (match-end g)
+          (add-text-properties (match-beginning g) (match-end g) mp)))
+      (when link-start (add-text-properties link-start link-end lp))
+      (when ref-start (add-text-properties ref-start ref-end rp)
+            (when (and markdown-hide-urls (> (- ref-end ref-start) 2))
+              (compose-region ref-start ref-end markdown-url-compose-char)))
+      t)))
+
+(defun markdown-fontify-angle-uris (last)
+  "Add text properties to angle URIs from point to LAST."
+  (when (markdown-match-angle-uris last)
+    (let* ((url-start (match-beginning 2))
+           (url-end (match-end 2))
+           ;; Markup part
+           (mp (list 'face 'markdown-markup-face
+                     'invisible 'markdown-markup
+                     'font-lock-multiline t))
+           ;; URI part
+           (up (list 'keymap markdown-mode-mouse-map
+                     'face 'markdown-plain-url-face
+                     'mouse-face 'markdown-highlight-face
+                     'font-lock-multiline t)))
+      (dolist (g '(1 3))
+        (add-text-properties (match-beginning g) (match-end g) mp))
+      (add-text-properties url-start url-end up)
+      t)))
+
+(defun markdown-fontify-plain-uris (last)
+  "Add text properties to plain URLs from point to LAST."
+  (when (markdown-match-plain-uris last)
+    (let* ((start (match-beginning 0))
+           (end (match-end 0))
+           (props (list 'keymap markdown-mode-mouse-map
+                        'face 'markdown-plain-url-face
+                        'mouse-face 'markdown-highlight-face
+                        'font-lock-multiline t)))
+      (add-text-properties start end props)
+      t)))
+
+(defun markdown-toggle-url-hiding (&optional arg)
+  "Toggle the display or hiding of URLs.
+With a prefix argument ARG, enable URL hiding if ARG is positive,
+and disable it otherwise."
+  (interactive (list (or current-prefix-arg 'toggle)))
+  (setq markdown-hide-urls
+        (if (eq arg 'toggle)
+            (not markdown-hide-urls)
+          (> (prefix-numeric-value arg) 0)))
+  (if markdown-hide-urls
+      (message "markdown-mode URL hiding enabled")
+    (message "markdown-mode URL hiding disabled"))
+  (markdown-reload-extensions))
 
 
 ;;; WikiLink Following/Markup =================================================
@@ -6784,7 +7841,7 @@ Designed to be used with the `after-change-functions' hook."
   (markdown-check-change-for-wiki-link (point-min) (point-max)))
 
 
-;;; Following and Jumping =====================================================
+;;; Following & Doing =========================================================
 
 (defun markdown-follow-thing-at-point (arg)
   "Follow thing at point if possible, such as a reference link or wiki link.
@@ -6801,21 +7858,32 @@ See `markdown-follow-link-at-point' and
         (t
          (error "Nothing to follow at point"))))
 
-(defun markdown-jump ()
-  "Jump to another location based on context at point.
+(make-obsolete 'markdown-jump 'markdown-do "v2.3")
+
+(defun markdown-do ()
+  "Do something sensible based on context at point.
 Jumps between reference links and definitions; between footnote
 markers and footnote text."
   (interactive)
-  (cond ((markdown-footnote-text-positions)
-         (markdown-footnote-return))
-        ((markdown-footnote-marker-positions)
-         (markdown-footnote-goto-text))
-        ((thing-at-point-looking-at markdown-regex-link-reference)
-         (markdown-reference-goto-definition))
-        ((thing-at-point-looking-at markdown-regex-reference-definition)
-         (markdown-reference-goto-link (match-string-no-properties 2)))
-        (t
-         (error "Nothing to jump to from context at point"))))
+  (cond
+   ;; Footnote definition
+   ((markdown-footnote-text-positions)
+    (markdown-footnote-return))
+   ;; Footnote marker
+   ((markdown-footnote-marker-positions)
+    (markdown-footnote-goto-text))
+   ;; Reference link
+   ((thing-at-point-looking-at markdown-regex-link-reference)
+    (markdown-reference-goto-definition))
+   ;; Reference definition
+   ((thing-at-point-looking-at markdown-regex-reference-definition)
+    (markdown-reference-goto-link (match-string-no-properties 2)))
+   ;; GFM task list item
+   ((markdown-gfm-task-list-item-at-point)
+    (markdown-toggle-gfm-checkbox))
+   ;; Otherwise
+   (t
+    (error "Nothing to do in context at point"))))
 
 
 ;;; Miscellaneous =============================================================
@@ -6859,11 +7927,12 @@ This is an exact copy of `line-number-at-pos' for use in emacs21."
     (markdown-replace-regexp-in-string
      "[0-9\\.*+-]" " " (match-string-no-properties 0)))
    ;; Blockquote
-   ((looking-at "^[ \t]*>[ \t]*")
-    (match-string-no-properties 0))
+   ((looking-at markdown-regex-blockquote)
+    (buffer-substring-no-properties (match-beginning 0) (match-end 2)))
    ;; List items
    ((looking-at markdown-regex-list)
     (match-string-no-properties 0))
+   ;; Footnote definition
    ((looking-at-p markdown-regex-footnote-definition)
     "    ") ; four spaces
    ;; No match
@@ -6886,24 +7955,43 @@ handles filling itself, it always returns t so that
     (fill-paragraph justify))
   t)
 
-(defun markdown-fill-forward-paragraph-function (&optional arg)
+(make-obsolete 'markdown-fill-forward-paragraph-function
+               'markdown-fill-forward-paragraph "v2.3")
+
+(defun markdown-fill-forward-paragraph (&optional arg)
   "Function used by `fill-paragraph' to move over ARG paragraphs.
 This is a `fill-forward-paragraph-function' for `markdown-mode'.
 It is called with a single argument specifying the number of
 paragraphs to move.  Just like `forward-paragraph', it should
 return the number of paragraphs left to move."
-  (let* ((arg (or arg 1))
-         (paragraphs-remaining (forward-paragraph arg))
-         (start (point)))
-    (when (< arg 0)
+  (or arg (setq arg 1))
+  (if (> arg 0)
+      ;; With positive ARG, move across ARG non-code-block paragraphs,
+      ;; one at a time.  When passing a code block, don't decrement ARG.
+      (while (and (not (eobp))
+                  (> arg 0)
+                  (= (forward-paragraph 1) 0)
+                  (or (markdown-code-block-at-pos (point-at-bol 0))
+                      (setq arg (1- arg)))))
+    ;; Move backward by one paragraph with negative ARG (always -1).
+    (let ((start (point)))
+      (setq arg (forward-paragraph arg))
       (while (and (not (eobp))
                   (progn (move-to-left-margin) (not (eobp)))
                   (looking-at-p paragraph-separate))
         (forward-line 1))
-      (if (looking-at markdown-regex-list)
-          (forward-char (length (match-string 0)))
-        (goto-char start)))
-    paragraphs-remaining))
+      (cond
+       ;; Move point past whitespace following list marker.
+       ((looking-at markdown-regex-list)
+        (goto-char (match-end 0)))
+       ;; Move point past whitespace following pipe at beginning of line
+       ;; to handle Pandoc line blocks.
+       ((looking-at "^|\\s-*")
+        (goto-char (match-end 0)))
+       ;; Return point if the paragraph passed was a code block.
+       ((markdown-code-block-at-pos (point-at-bol 2))
+        (goto-char start)))))
+  arg)
 
 
 ;;; Extension Framework =======================================================
@@ -7028,14 +8116,22 @@ if ARG is omitted or nil."
 
 ;;; GFM Checkboxes ============================================================
 
-(require 'button)
-
 (define-button-type 'markdown-gfm-checkbox-button
   'follow-link t
   'face 'markdown-gfm-checkbox-face
   'mouse-face 'markdown-highlight-face
   'action #'markdown-toggle-gfm-checkbox-button)
 
+(defun markdown-gfm-task-list-item-at-point (&optional bounds)
+  "Return non-nil if there is a GFM task list item at the point.
+Optionally, the list item BOUNDS may be given if available, as
+returned by `markdown-cur-list-item-bounds'.  When a task list item
+is found, the return value is the same value returned by
+`markdown-cur-list-item-bounds'."
+  (unless bounds
+    (setq bounds (markdown-cur-list-item-bounds)))
+  (> (length (nth 5 bounds)) 0))
+
 (defun markdown-toggle-gfm-checkbox ()
   "Toggle GFM checkbox at point.
 Returns the resulting status as a string, either \"[x]\" or \"[ ]\".
@@ -7131,6 +8227,181 @@ or \\[markdown-toggle-inline-images]."
       (markdown-remove-inline-images)
     (markdown-display-inline-images)))
 
+
+;;; GFM Code Block Fontification ==============================================
+
+(defcustom markdown-fontify-code-blocks-natively nil
+  "When non-nil, fontify code in code blocks using the native major mode.
+This only works for fenced code blocks where the language is
+specified where we can automatically determine the appropriate
+mode to use.  The language to mode mapping may be customized by
+setting the variable `markdown-code-lang-modes'."
+  :group 'markdown
+  :type 'boolean)
+
+(defun markdown-toggle-fontify-code-blocks-natively (&optional arg)
+  "Toggle the native fontification of code blocks.
+With a prefix argument ARG, enable if ARG is positive,
+and disable otherwise."
+  (interactive (list (or current-prefix-arg 'toggle)))
+  (setq markdown-fontify-code-blocks-natively
+        (if (eq arg 'toggle)
+            (not markdown-fontify-code-blocks-natively)
+          (> (prefix-numeric-value arg) 0)))
+  (if markdown-fontify-code-blocks-natively
+      (message "markdown-mode native code block fontification enabled")
+    (message "markdown-mode native code block fontification disabled"))
+  (markdown-reload-extensions))
+
+;; This is based on `org-src-lang-modes' from org-src.el
+(defcustom markdown-code-lang-modes
+  '(("ocaml" . tuareg-mode) ("elisp" . emacs-lisp-mode) ("ditaa" . artist-mode)
+    ("asymptote" . asy-mode) ("dot" . fundamental-mode) ("sqlite" . sql-mode)
+    ("calc" . fundamental-mode) ("C" . c-mode) ("cpp" . c++-mode)
+    ("C++" . c++-mode) ("screen" . shell-script-mode) ("shell" . sh-mode)
+    ("bash" . sh-mode))
+  "Alist mapping languages to their major mode.
+The key is the language name, the value is the major mode.  For
+many languages this is simple, but for language where this is not
+the case, this variable provides a way to simplify things on the
+user side.  For example, there is no ocaml-mode in Emacs, but the
+mode to use is `tuareg-mode'."
+  :group 'markdown
+  :type '(repeat
+          (cons
+           (string "Language name")
+           (symbol "Major mode"))))
+
+(defun markdown-get-lang-mode (lang)
+  "Return major mode that should be used for LANG.
+LANG is a string, and the returned major mode is a symbol."
+  (cl-find-if
+   'fboundp
+   (list (cdr (assoc lang markdown-code-lang-modes))
+         (cdr (assoc (downcase lang) markdown-code-lang-modes))
+         (intern (concat lang "-mode"))
+         (intern (concat (downcase lang) "-mode")))))
+
+(defun markdown-fontify-code-blocks-generic (matcher last)
+  "Add text properties to next code block from point to LAST.
+Use matching function MATCHER."
+  (when (funcall matcher last)
+    (save-excursion
+      (save-match-data
+        (let* ((start (match-beginning 0))
+               (end (match-end 0))
+               ;; Find positions outside opening and closing backquotes.
+               (bol-prev (progn (goto-char start)
+                                (if (bolp) (point-at-bol 0) (point-at-bol))))
+               (eol-next (progn (goto-char end)
+                                (if (bolp) (point-at-bol 2) (point-at-bol 3))))
+               lang)
+          (if (and markdown-fontify-code-blocks-natively
+                   (setq lang (markdown-code-block-lang)))
+              (markdown-fontify-code-block-natively lang start end)
+            (add-text-properties start end '(face markdown-pre-face)))
+          ;; Set background for block as well as opening and closing lines.
+          (font-lock-append-text-property
+           bol-prev eol-next 'face 'markdown-code-face)
+          ;; Set invisible property for lines before and after, including newline.
+          (add-text-properties bol-prev start '(invisible markdown-markup))
+          (add-text-properties end eol-next '(invisible markdown-markup)))))
+    t))
+
+(defun markdown-fontify-gfm-code-blocks (last)
+  "Add text properties to next GFM code block from point to LAST."
+  (markdown-fontify-code-blocks-generic 'markdown-match-gfm-code-blocks last))
+
+(defun markdown-fontify-fenced-code-blocks (last)
+  "Add text properties to next tilde fenced code block from point to LAST."
+  (markdown-fontify-code-blocks-generic 'markdown-match-fenced-code-blocks last))
+
+;; Based on `org-src-font-lock-fontify-block' from org-src.el.
+(defun markdown-fontify-code-block-natively (lang start end)
+  "Fontify given GFM or fenced code block.
+This function is called by Emacs for automatic fontification when
+`markdown-fontify-code-blocks-natively' is non-nil.  LANG is the
+language used in the block. START and END specify the block
+position."
+  (let ((lang-mode (markdown-get-lang-mode lang)))
+    (when (fboundp lang-mode)
+      (let ((string (buffer-substring-no-properties start end))
+            (modified (buffer-modified-p))
+            (markdown-buffer (current-buffer)) pos next)
+        (remove-text-properties start end '(face nil))
+        (with-current-buffer
+            (get-buffer-create
+             (concat " markdown-code-fontification:" (symbol-name lang-mode)))
+          ;; Make sure that modification hooks are not inhibited in
+          ;; the org-src-fontification buffer in case we're called
+          ;; from `jit-lock-function' (Bug#25132).
+          (let ((inhibit-modification-hooks nil))
+            (delete-region (point-min) (point-max))
+            (insert string " ")) ;; so there's a final property change
+          (unless (eq major-mode lang-mode) (funcall lang-mode))
+          (markdown-font-lock-ensure)
+          (setq pos (point-min))
+          (while (setq next (next-single-property-change pos 'face))
+            (let ((val (get-text-property pos 'face)))
+              (when val
+                (put-text-property
+                 (+ start (1- pos)) (1- (+ start next)) 'face
+                 val markdown-buffer)))
+            (setq pos next)))
+        (add-text-properties
+         start end
+         '(font-lock-fontified t fontified t font-lock-multiline t))
+        (set-buffer-modified-p modified)))))
+
+(require 'edit-indirect nil t)
+(defvar edit-indirect-guess-mode-function)
+
+(defun markdown-edit-code-block ()
+  "Edit Markdown code block in an indirect buffer."
+  (interactive)
+  (save-excursion
+    (if (fboundp 'edit-indirect-region)
+        (let* ((bounds (markdown-get-enclosing-fenced-block-construct))
+               (begin (and bounds (goto-char (nth 0 bounds)) (point-at-bol 2)))
+               (end (and bounds (goto-char (nth 1 bounds)) (point-at-bol 1))))
+          (if (and begin end)
+              (let* ((lang (markdown-code-block-lang))
+                     (mode (and lang (markdown-get-lang-mode lang)))
+                     (edit-indirect-guess-mode-function
+                      (lambda (_parent-buffer _beg _end)
+                        (funcall mode))))
+                (edit-indirect-region begin end 'display-buffer))
+            (error "Not inside a GFM or tilde fenced code block")))
+      (when (y-or-n-p "Package edit-indirect needed to edit code blocks. Install it now? ")
+        (progn (package-refresh-contents)
+               (package-install 'edit-indirect)
+               (markdown-edit-code-block))))))
+
+
+;;; ElDoc Support
+
+(defun markdown-eldoc-function ()
+  "Return a helpful string when appropriate based on context.
+* Report URL when point is at a hidden URL."
+  (cond
+   ;; Hidden URL or reference for inline link
+   ((and (or (thing-at-point-looking-at markdown-regex-link-inline)
+             (thing-at-point-looking-at markdown-regex-link-reference))
+         (or markdown-hide-urls markdown-hide-markup))
+    (let* ((edit-keys (substitute-command-keys "\\[markdown-insert-link]"))
+           (edit-str (propertize edit-keys 'face 'font-lock-constant-face))
+           (reference-p (string-equal (match-string 5) "["))
+           (object (if reference-p "reference" "URL")))
+      (format "Hidden %s (%s to edit): %s" object edit-str
+              (if reference-p
+                  (concat
+                   (propertize "[" 'face 'markdown-markup-face)
+                   (propertize (match-string-no-properties 6)
+                               'face 'markdown-reference-face)
+                   (propertize "]" 'face 'markdown-markup-face))
+                (propertize (match-string-no-properties 6)
+                            'face 'markdown-url-face)))))))
+
 
 ;;; Mode Definition  ==========================================================
 
@@ -7170,8 +8441,13 @@ or \\[markdown-toggle-inline-images]."
   (set (make-local-variable 'markdown-mode-font-lock-keywords) nil)
   (set (make-local-variable 'font-lock-defaults) nil)
   (set (make-local-variable 'font-lock-multiline) t)
-  ;; Extensions
-  (make-local-variable 'markdown-enable-math)
+  (add-to-list 'font-lock-extra-managed-props 'composition)
+  (add-to-list 'font-lock-extra-managed-props 'invisible)
+  (add-to-list 'font-lock-extra-managed-props 'display)
+  (if markdown-hide-markup
+      (add-to-invisibility-spec 'markdown-markup)
+    (remove-from-invisibility-spec 'markdown-markup))
+  (markdown-update-code-face)
   ;; Reload extensions
   (markdown-reload-extensions)
   ;; Add a buffer-local hook to reload after file-local variables are read
@@ -7203,6 +8479,7 @@ or \\[markdown-toggle-inline-images]."
                     "[ \t]*\\(?:[0-9]+\\|#\\)\\.[ \t]+" ; ordered list item
                     "[ \t]*\\[\\S-*\\]:[ \t]+" ; link ref def
                     "[ \t]*:[ \t]+" ; definition
+                    "^|" ; table or Pandoc line block
                     )
                   "\\|"))
   (set
@@ -7220,12 +8497,12 @@ or \\[markdown-toggle-inline-images]."
                 "[ \t]*\\[\\^\\S-*\\]:[ \t]*$") ; just the start of a footnote def
               "\\|"))
   (set (make-local-variable 'adaptive-fill-first-line-regexp)
-       "\\`[ \t]*>[ \t]*?\\'")
+       "\\`[ \t]*[A-Z]?>[ \t]*?\\'")
   (set (make-local-variable 'adaptive-fill-regexp) "\\s-*")
   (set (make-local-variable 'adaptive-fill-function)
        'markdown-adaptive-fill-function)
   (set (make-local-variable 'fill-forward-paragraph-function)
-       'markdown-fill-forward-paragraph-function)
+       #'markdown-fill-forward-paragraph)
   ;; Outline mode
   (make-local-variable 'outline-regexp)
   (setq outline-regexp markdown-regex-header)
@@ -7233,7 +8510,12 @@ or \\[markdown-toggle-inline-images]."
   (setq outline-level 'markdown-outline-level)
   ;; Cause use of ellipses for invisible text.
   (add-to-invisibility-spec '(outline . t))
-
+  ;; ElDoc support
+  (if (eval-when-compile (fboundp 'add-function))
+      (add-function :before-until (local 'eldoc-documentation-function)
+                    #'markdown-eldoc-function)
+    (set (make-local-variable 'eldoc-documentation-function)
+         #'markdown-eldoc-function))
   ;; Inhibiting line-breaking:
   ;; Separating out each condition into a separate function so that users can
   ;; override if desired (with remove-hook)
@@ -7241,10 +8523,16 @@ or \\[markdown-toggle-inline-images]."
             'markdown-inside-link-p nil t)
   (add-hook 'fill-nobreak-predicate
             'markdown-line-is-reference-definition-p nil t)
+  (add-hook 'fill-nobreak-predicate
+            'markdown-pipe-at-bol-p nil t)
 
   ;; Indentation
   (setq indent-line-function markdown-indent-function)
 
+  ;; Flyspell
+  (set (make-local-variable 'flyspell-generic-check-word-predicate)
+       'markdown-flyspell-check-word-p)
+
   ;; Backwards compatibility with markdown-css-path
   (when (boundp 'markdown-css-path)
     (warn "markdown-css-path is deprecated, see markdown-css-paths.")
@@ -7277,14 +8565,8 @@ or \\[markdown-toggle-inline-images]."
   "Hook run when entering GFM mode.")
 
 (defvar gfm-font-lock-keywords
-  (append
-   ;; GFM features to match first
-   (list
-    (cons markdown-regex-strike-through '((3 markdown-markup-face)
-                                          (4 markdown-strike-through-face)
-                                          (5 markdown-markup-face))))
-   ;; Basic Markdown features (excluding possibly overridden ones)
-   markdown-mode-font-lock-keywords-basic)
+  ;; Basic Markdown features (excluding possibly overridden ones)
+  markdown-mode-font-lock-keywords-basic
   "Default highlighting expressions for GitHub Flavored Markdown mode.")
 
 ;;;###autoload
@@ -7303,7 +8585,10 @@ or \\[markdown-toggle-inline-images]."
   "Toggle native previewing on save for a specific markdown file."
   :lighter " MD-Preview"
   (if markdown-live-preview-mode
-      (markdown-display-buffer-other-window (markdown-live-preview-export))
+      (if (markdown-live-preview-get-filename)
+          (markdown-display-buffer-other-window (markdown-live-preview-export))
+        (markdown-live-preview-mode -1)
+        (error "Buffer %s does not visit a file" (current-buffer)))
     (markdown-live-preview-remove)))
 
 
.emacs.d/elpa/markdown-mode-20170526.1213/markdown-mode.elc → .emacs.d/elpa/markdown-mode-20170620.2048/markdown-mode.elc
Binary file
.emacs.d/elpa/spaceline-20170530.434/spaceline-autoloads.el → .emacs.d/elpa/spaceline-20170621.45/spaceline-autoloads.el
@@ -4,8 +4,8 @@
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
 ;;;### (autoloads nil nil ("spaceline-config.el" "spaceline-pkg.el"
-;;;;;;  "spaceline-segments.el" "spaceline.el") (22839 4019 26596
-;;;;;;  250000))
+;;;;;;  "spaceline-segments.el" "spaceline.el") (22859 63742 801761
+;;;;;;  172000))
 
 ;;;***
 
.emacs.d/elpa/spaceline-20170530.434/spaceline-config.el → .emacs.d/elpa/spaceline-20170621.45/spaceline-config.el
File renamed without changes
.emacs.d/elpa/spaceline-20170530.434/spaceline-config.elc → .emacs.d/elpa/spaceline-20170621.45/spaceline-config.elc
File renamed without changes
.emacs.d/elpa/spaceline-20170530.434/spaceline-pkg.el → .emacs.d/elpa/spaceline-20170621.45/spaceline-pkg.el
@@ -1,5 +1,5 @@
-(define-package "spaceline" "20170530.434" "Modeline configuration library for powerline"
-  '((emacs "24.3")
+(define-package "spaceline" "20170621.45" "Modeline configuration library for powerline"
+  '((emacs "24.4")
     (cl-lib "0.5")
     (powerline "2.3")
     (dash "2.11.0")
.emacs.d/elpa/spaceline-20170530.434/spaceline-segments.el → .emacs.d/elpa/spaceline-20170621.45/spaceline-segments.el
File renamed without changes
.emacs.d/elpa/spaceline-20170530.434/spaceline-segments.elc → .emacs.d/elpa/spaceline-20170621.45/spaceline-segments.elc
File renamed without changes
.emacs.d/elpa/spaceline-20170530.434/spaceline.el → .emacs.d/elpa/spaceline-20170621.45/spaceline.el
@@ -6,7 +6,7 @@
 ;; URL: https://github.com/TheBB/spaceline
 ;; Version: 2.0.1
 ;; Keywords: mode-line powerline spacemacs
-;; Package-Requires: ((emacs "24.3") (cl-lib "0.5") (powerline "2.3") (dash "2.11.0") (s "1.10.0"))
+;; Package-Requires: ((emacs "24.4") (cl-lib "0.5") (powerline "2.3") (dash "2.11.0") (s "1.10.0"))
 
 ;; This file is not part of GNU Emacs.
 
@@ -37,6 +37,7 @@
 (require 'gv)
 (require 'powerline)
 (require 'cl-lib)
+(require 'subr-x)
 
 (defvar evil-previous-state)
 (defvar evil-state)
@@ -45,6 +46,10 @@
 (defvar spaceline-byte-compile t
   "Whether to byte compile the modeline.")
 
+(defvar spaceline-responsive t
+  "If true, the modeline responds to narrow windows by
+dynamically hiding segments.")
+
 (defvar spaceline--mode-lines nil
   "Alist of modelines.
 Each CAR is a symbol naming the modeline, and the CDR is a cons
@@ -478,8 +483,9 @@ The supported properties are
                                     ',priority-symbol))
                 ;; Render the modeline
                 (let ((fmt (spaceline--render-mode-line ,left-code ,right-code)))
-                  (when (spaceline--adjust-to-window ,priority-symbol fmt)
-                    (setq fmt (spaceline--render-mode-line ,left-code ,right-code)))
+                  (and spaceline-responsive
+                       (spaceline--adjust-to-window ,priority-symbol fmt)
+                       (setq fmt (spaceline--render-mode-line ,left-code ,right-code)))
                   fmt))))
 
       (when spaceline-byte-compile
.emacs.d/elpa/spaceline-20170530.434/spaceline.elc → .emacs.d/elpa/spaceline-20170621.45/spaceline.elc
Binary file
.emacs.d/elpa/swiper-20170515.1409/swiper-pkg.el
@@ -1,2 +0,0 @@
-;;; -*- no-byte-compile: t -*-
-(define-package "swiper" "20170515.1409" "Isearch with an overview. Oh, man!" '((emacs "24.1") (ivy "0.9.0")) :commit "7621e5f84518e15297cc66ce79b15550c79ade3a" :url "https://github.com/abo-abo/swiper" :keywords '("matching"))
.emacs.d/elpa/swiper-20170515.1409/swiper-autoloads.el → .emacs.d/elpa/swiper-20170609.938/swiper-autoloads.el
@@ -3,7 +3,7 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "swiper" "swiper.el" (22839 4017 315618 515000))
+;;;### (autoloads nil "swiper" "swiper.el" (22859 63741 959787 263000))
 ;;; Generated autoloads from swiper.el
 
 (autoload 'swiper-avy "swiper" "\
@@ -17,6 +17,11 @@ When non-nil, INITIAL-INPUT is the initial search pattern.
 
 \(fn &optional INITIAL-INPUT)" t nil)
 
+(autoload 'swiper-all "swiper" "\
+Run `swiper' for all open buffers.
+
+\(fn)" t nil)
+
 ;;;***
 
 ;; Local Variables:
.emacs.d/elpa/swiper-20170609.938/swiper-pkg.el
@@ -0,0 +1,2 @@
+;;; -*- no-byte-compile: t -*-
+(define-package "swiper" "20170609.938" "Isearch with an overview. Oh, man!" '((emacs "24.1") (ivy "0.9.0")) :commit "203bfb1f95b43f0448ee6225e58930ccb333547f" :url "https://github.com/abo-abo/swiper" :keywords '("matching"))
.emacs.d/elpa/swiper-20170515.1409/swiper.el → .emacs.d/elpa/swiper-20170609.938/swiper.el
@@ -4,7 +4,7 @@
 
 ;; Author: Oleh Krehel <ohwoeowho@gmail.com>
 ;; URL: https://github.com/abo-abo/swiper
-;; Package-Version: 20170515.1409
+;; Package-Version: 20170609.938
 ;; Version: 0.9.1
 ;; Package-Requires: ((emacs "24.1") (ivy "0.9.0"))
 ;; Keywords: matching
@@ -226,7 +226,7 @@
   "Create a fake cursor for each `swiper' candidate."
   (interactive)
   (unless (require 'multiple-cursors nil t)
-    (error "multiple-cursors isn't installed"))
+    (error "Multiple-cursors isn't installed"))
   (unless (window-minibuffer-p)
     (error "Call me only from `swiper'"))
   (let ((cands (nreverse ivy--old-cands)))
@@ -284,10 +284,10 @@
     circe-query-mode
     sauron-mode
     w3m-mode)
-  "List of major-modes that are incompatible with font-lock-ensure.")
+  "List of major-modes that are incompatible with `font-lock-ensure'.")
 
 (defun swiper-font-lock-ensure-p ()
-  "Return non-nil if we should font-lock-ensure."
+  "Return non-nil if we should `font-lock-ensure'."
   (or (derived-mode-p 'magit-mode)
               (bound-and-true-p magit-blame-mode)
               (memq major-mode swiper-font-lock-exclude)))
@@ -454,7 +454,7 @@ When REVERT is non-nil, regenerate the current *ivy-occur* buffer."
 (defun swiper--re-builder (str)
   "Transform STR into a swiper regex.
 This is the regex used in the minibuffer where candidates have
-line numbers. For the buffer, use `ivy--regex' instead."
+line numbers.  For the buffer, use `ivy--regex' instead."
   (let* ((re-builder
           (or (cdr (assoc 'swiper ivy-re-builders-alist))
               (cdr (assoc t ivy-re-builders-alist))))
@@ -483,7 +483,7 @@ line numbers. For the buffer, use `ivy--regex' instead."
                  (replace-regexp-in-string "\t" "    " (caar re)))
            re)
           (t
-           (error "unexpected")))))
+           (error "Unexpected")))))
 
 (defvar swiper-history nil
   "History for `swiper'.")
@@ -535,7 +535,7 @@ When non-nil, INITIAL-INPUT is the initial search pattern."
   (setq ivy--old-re nil))
 
 (defun swiper--face-matcher (regexp candidates)
-  "Return REGEXP-matching CANDIDATES.
+  "Return REGEXP matching CANDIDATES.
 Matched candidates should have `swiper-invocation-face'."
   (cl-remove-if-not
    (lambda (x)
@@ -671,6 +671,9 @@ WND, when specified is the window."
                   (cl-incf i))))))))))
 
 (defun swiper--add-overlay (beg end face wnd priority)
+  "Add overlay bound by BEG and END to `swiper--overlays'.
+FACE, WND and PRIORITY are properties corresponding to
+the face, window and priority of the overlay."
   (let ((overlay (make-overlay beg end)))
     (push overlay swiper--overlays)
     (overlay-put overlay 'face face)
@@ -744,6 +747,7 @@ WND, when specified is the window."
   "Store the list of candidates for `swiper-multi'.")
 
 (defun swiper-multi-prompt ()
+  "Return prompt for `swiper-multi'."
   (format "Buffers (%s): "
           (mapconcat #'identity swiper-multi-buffers ", ")))
 
@@ -762,6 +766,10 @@ Run `swiper' for those buffers."
             :caller 'swiper-multi))
 
 (defun swiper-multi-action-1 (x)
+  "Add X to list of selected buffers `swiper-multi-buffers'.
+If X is already part of the list, remove it instead.  Quit the selection if
+X is selected by either `ivy-done', `ivy-alt-done' or `ivy-immediate-done',
+otherwise continue prompting for buffers."
   (if (member x swiper-multi-buffers)
       (progn
         (setq swiper-multi-buffers (delete x swiper-multi-buffers)))
@@ -781,6 +789,7 @@ Run `swiper' for those buffers."
            (delete-minibuffer-contents)))))
 
 (defun swiper-multi-action-2 (x)
+  "Move to candidate X from `swiper-multi'."
   (when (> (length x) 0)
     (let ((buffer-name (get-text-property 0 'buffer x)))
       (when buffer-name
@@ -817,6 +826,7 @@ Run `swiper' for those buffers."
 
 ;;* `swiper-all'
 (defun swiper-all-function (str)
+  "Search in all open buffers for STR."
   (if (and (< (length str) 3))
       (list "" (format "%d chars more" (- 3 (length ivy-text))))
     (let* ((buffers (cl-remove-if-not #'swiper-all-buffer-p (buffer-list)))
@@ -857,6 +867,8 @@ Run `swiper' for those buffers."
 (defvar swiper-window-width 80)
 
 (defun swiper--all-format-function (cands)
+  "Format CANDS for `swiper-all'.
+See `ivy-format-function' for further information."
   (let* ((ww swiper-window-width)
          (col2 1)
          (cands-with-buffer
@@ -892,8 +904,9 @@ Run `swiper' for those buffers."
     map)
   "Keymap for `swiper-all'.")
 
+;;;###autoload
 (defun swiper-all ()
-  "Run `swiper' for all opened buffers."
+  "Run `swiper' for all open buffers."
   (interactive)
   (let* ((swiper-window-width (- (frame-width) (if (display-graphic-p) 0 1)))
          (ivy-format-function #'swiper--all-format-function))
@@ -907,6 +920,7 @@ Run `swiper' for those buffers."
               :caller 'swiper-multi)))
 
 (defun swiper-all-action (x)
+  "Move to candidate X from `swiper-all'."
   (when (> (length x) 0)
     (let ((buffer-name (get-text-property 0 'buffer x)))
       (when buffer-name
@@ -920,6 +934,7 @@ Run `swiper' for those buffers."
             (swiper--add-overlays (ivy--regex ivy-text))))))))
 
 (defun swiper--multi-candidates (buffers)
+  "Extract candidates from BUFFERS."
   (let* ((ww (window-width))
          (res nil)
          (column-2 (apply #'max
.emacs.d/elpa/swiper-20170515.1409/swiper.elc → .emacs.d/elpa/swiper-20170609.938/swiper.elc
Binary file
.emacs.d/elpa/yasnippet-20170601.1907/snippets/antlr-mode/project → .emacs.d/elpa/yasnippet-20170605.1940/snippets/antlr-mode/project
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/antlr-mode/property → .emacs.d/elpa/yasnippet-20170605.1940/snippets/antlr-mode/property
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/antlr-mode/target → .emacs.d/elpa/yasnippet-20170605.1940/snippets/antlr-mode/target
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/applescript-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/applescript-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/.yas-setup.el → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/.yas-setup.el
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/.yas-setup.elc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/.yas-setup.elc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/acl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/acl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/acm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/acm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ajf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ajf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/alo → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/alo
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ano → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ano
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/beginend → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/beginend
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/boost_require → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/boost_require
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cerr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cerr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/class11 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/class11
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cni → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cni
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cnt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cnt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/const_[] → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/const_[]
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/constructor → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/constructor
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cout → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cout
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cpb → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cpb
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cpi → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cpi
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cpn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cpn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cpp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cpp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cpy → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cpy
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/cstd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/cstd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d+= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d+=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d_operator → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d_operator
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d_operator[] → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d_operator[]
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d_operator[]_const → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d_operator[]_const
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d_operator_istream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d_operator_istream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/d_operator_ostream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/d_operator_ostream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/delete → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/delete
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/delete[] → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/delete[]
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/dynamic_casting → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/dynamic_casting
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/enum → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/enum
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/eql → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/eql
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/erm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/erm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ffo → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ffo
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fil → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fil
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fixture → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fixture
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fln → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fln
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fnd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fnd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fne → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fne
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fni → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fni
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fori → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fori
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fre → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fre
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/friend → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/friend
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/fun_declaration → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/fun_declaration
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/gnn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/gnn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/gnr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/gnr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/gtest → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/gtest
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ignore → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ignore
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ihp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ihp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ihu → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ihu
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/inline → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/inline
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/io → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/io
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ipr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ipr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ipt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ipt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/iss → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/iss
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/isu → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/isu
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ita → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ita
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/iterator → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/iterator
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ltr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ltr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/lwr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/lwr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/lxc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/lxc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/map → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/map
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/member_function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/member_function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mkh → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mkh
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mme → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mme
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mne → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mne
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mpb → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mpb
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mrg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mrg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/msm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/msm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/mxe → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/mxe
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/namespace → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/namespace
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/nno → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/nno
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ns → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ns
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/nth → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/nth
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/nxp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/nxp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/oit → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/oit
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator!= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator!=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator+ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator+
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator+= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator+=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator== → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator==
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator[] → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator[]
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator_istream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator_istream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/operator_ostream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/operator_ostream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ostream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ostream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/pack → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/pack
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/phh → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/phh
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ppt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ppt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/private → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/private
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/protected → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/protected
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/prp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/prp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/psc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/psc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/pst → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/pst
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ptc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ptc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ptn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ptn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/public → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/public
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rci → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rci
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rmc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rmc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rmf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rmf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rmi → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rmi
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rmv → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rmv
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rpc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rpc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rpi → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rpi
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rpl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rpl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rtc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rtc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rte → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rte
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rvc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rvc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/rvr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/rvr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/shf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/shf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/spt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/spt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/srh → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/srh
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/srn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/srn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/srt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/srt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/sstream → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/sstream
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/std → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/std
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/std_colon → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/std_colon
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/sth → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/sth
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/sti → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/sti
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/sto → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/sto
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/str → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/str
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/sts → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/sts
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/stv → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/stv
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/swr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/swr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/template → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/template
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/test case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/test case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/test_main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/test_main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/test_suite → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/test_suite
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/tfm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/tfm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/this → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/this
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/throw → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/throw
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/trm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/trm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/tryw → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/tryw
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/ucp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/ucp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/upr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/upr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/uqe → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/uqe
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/using → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/using
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c++-mode/vector → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c++-mode/vector
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/compile → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/compile
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/define → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/define
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/malloc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/malloc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/packed → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/packed
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/printf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/printf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/stdio → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/stdio
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/stdlib → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/stdlib
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/union → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/union
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/c-mode/unistd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/c-mode/unistd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/do → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/do
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/else → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/else
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/file_description → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/file_description
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/fopen → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/fopen
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/for_n → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/for_n
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/function_description → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/function_description
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/ifdef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/ifdef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/inc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/inc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/inc.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/inc.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/math → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/math
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/member_description → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/member_description
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/once → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/once
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/printf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/printf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/struct → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/struct
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/switch → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/switch
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/ternary → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/ternary
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/typedef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/typedef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cc-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cc-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/action → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/action
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/bash → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/bash
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/cookbook_file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/cookbook_file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/cron → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/cron
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/cronf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/cronf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/deploy → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/deploy
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/directory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/directory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/directoryf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/directoryf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/env → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/env
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/execute → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/execute
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/executef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/executef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/filef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/filef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/git → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/git
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/group → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/group
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/http_request → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/http_request
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/http_requestp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/http_requestp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/ignore_failure → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/ignore_failure
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/inc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/inc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/linkf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/linkf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/log → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/log
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/machine → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/machine
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/meta → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/meta
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/not_if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/not_if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/notifies → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/notifies
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/only_if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/only_if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/pac → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/pac
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/pak → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/pak
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/provider → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/provider
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/python → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/python
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/remote_file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/remote_file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/retries → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/retries
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/role → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/role
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/ruby → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/ruby
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/script → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/script
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/service → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/service
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/servicep → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/servicep
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/subscribes → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/subscribes
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/supports → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/supports
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/template → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/template
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/templatev → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/templatev
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/chef-mode/user → .emacs.d/elpa/yasnippet-20170605.1940/snippets/chef-mode/user
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cider-repl-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cider-repl-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/bench → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/bench
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/bp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/bp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/defm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/defm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/defn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/defn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/defr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/defr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/deft → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/deft
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/doseq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/doseq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/fn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/fn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/ifl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/ifl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/is → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/is
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/let → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/let
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/map → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/map
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/map.lambda → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/map.lambda
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/mdoc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/mdoc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/ns → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/ns
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/opts → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/opts
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/pr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/pr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/print → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/print
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/reduce → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/reduce
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/require → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/require
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/test → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/test
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/use → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/use
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/when → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/when
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/clojure-mode/whenl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/clojure-mode/whenl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/add_executable → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/add_executable
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/add_library → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/add_library
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/cmake_minimum_required → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/cmake_minimum_required
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/foreach → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/foreach
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/ifelse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/ifelse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/include → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/include
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/macro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/macro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/message → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/message
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/option → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/option
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/project → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/project
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cmake-mode/set → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cmake-mode/set
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/conf-unix-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/conf-unix-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/conf-unix-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/conf-unix-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cperl-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cperl-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/emit_signal → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/emit_signal
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/EV → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/EV
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/intuniform → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/intuniform
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/math → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/math
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/nan → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/nan
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/omnet → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/omnet
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/parameter_omnetpp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/parameter_omnetpp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/scheduleAt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/scheduleAt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/cpp-omnet-mode/uniform → .emacs.d/elpa/yasnippet-20170605.1940/snippets/cpp-omnet-mode/uniform
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/attrib → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/attrib
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/attrib.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/attrib.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/attrib.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/attrib.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/comment.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/comment.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/comment.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/comment.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/comment.3 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/comment.3
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/fore → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/fore
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/method → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/method
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/namespace → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/namespace
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/prop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/prop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/region → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/region
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/using → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/using
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/using.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/using.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/csharp-mode/using.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/csharp-mode/using.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/bg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/bg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/bg.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/bg.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/bor → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/bor
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/cl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/cl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/disp.block → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/disp.block
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/disp.inline → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/disp.inline
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/disp.none → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/disp.none
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/ff → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/ff
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/fs → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/fs
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.bottom → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.bottom
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.left → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.left
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.mar → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.mar
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.margin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.margin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.right → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.right
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/mar.top → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/mar.top
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.bottom → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.bottom
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.left → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.left
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.pad → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.pad
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.padding → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.padding
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.right → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.right
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/pad.top → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/pad.top
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/css-mode/v → .emacs.d/elpa/yasnippet-20170605.1940/snippets/css-mode/v
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/call-macro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/call-macro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/choose → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/choose
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/clip → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/clip
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/e-in-mono-section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/e-in-mono-section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/e-in-pardef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/e-in-pardef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/let → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/let
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/lit → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/lit
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/lit-tag → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/lit-tag
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/otherwise → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/otherwise
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/p → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/p
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/par → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/par
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/pardef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/pardef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/s → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/s
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/sdef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/sdef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/var → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/var
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/when → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/when
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/dix-mode/with-param → .emacs.d/elpa/yasnippet-20170605.1940/snippets/dix-mode/with-param
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/call → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/call
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/cast → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/cast
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/cond → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/cond
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/defmacro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/defmacro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/defmacrop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/defmacrop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/defmodule → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/defmodule
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/defp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/defp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/do → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/do
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/fn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/fn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/hcall → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/hcall
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/hcast → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/hcast
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/hinfo → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/hinfo
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/io → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/io
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/iop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/iop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/mdoc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/mdoc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/pry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/pry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/test → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/test
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/elixir-mode/unless → .emacs.d/elpa/yasnippet-20170605.1940/snippets/elixir-mode/unless
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/.read_me → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/.read_me
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/add-hook → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/add-hook
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/and → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/and
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/append → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/append
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/apply → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/apply
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/aref → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/aref
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/aset → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/aset
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/assq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/assq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/autoload → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/autoload
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/backward-char → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/backward-char
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/beginning-of-line → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/beginning-of-line
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/bounds-of-thing-at-point → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/bounds-of-thing-at-point
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/buffer-file-name → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/buffer-file-name
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/buffer-modified-p → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/buffer-modified-p
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/buffer-substring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/buffer-substring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/buffer-substring-no-properties → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/buffer-substring-no-properties
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/car → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/car
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/cdr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/cdr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/concat → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/concat
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/cond → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/cond
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/condition-case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/condition-case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/cons → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/cons
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/consp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/consp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/const → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/const
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/copy-directory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/copy-directory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/copy-file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/copy-file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/current-buffer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/current-buffer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/custom-autoload → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/custom-autoload
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/defalias → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/defalias
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/defcustom → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/defcustom
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/define-key → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/define-key
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/defsubst → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/defsubst
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/defun → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/defun
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/defvar → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/defvar
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/delete-char → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/delete-char
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/delete-directory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/delete-directory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/delete-file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/delete-file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/delete-region → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/delete-region
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/directory-files → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/directory-files
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/dired.process_marked → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/dired.process_marked
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/dolist → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/dolist
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/end-of-line → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/end-of-line
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/eq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/eq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/equal → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/equal
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/error → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/error
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/ert-deftest → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/ert-deftest
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/expand-file-name → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/expand-file-name
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/fboundp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/fboundp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file-name-directory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file-name-directory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file-name-extension → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file-name-extension
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file-name-nondirectory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file-name-nondirectory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file-name-sans-extension → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file-name-sans-extension
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file-relative-name → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file-relative-name
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file.process → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file.process
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/file.read-lines → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/file.read-lines
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/find-file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/find-file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/find-replace → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/find-replace
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/format → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/format
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/forward-char → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/forward-char
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/forward-line → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/forward-line
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/funcall → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/funcall
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/get → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/get
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/global-set-key → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/global-set-key
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/goto-char → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/goto-char
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/grabstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/grabstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/grabthing → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/grabthing
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/hash → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/hash
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/insert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/insert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/insert-file-contents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/insert-file-contents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/interactive → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/interactive
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/kbd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/kbd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/kill-buffer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/kill-buffer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/lambda → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/lambda
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/length → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/length
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/let → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/let
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/line-beginning-position → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/line-beginning-position
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/line-end-position → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/line-end-position
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/list → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/list
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/looking-at → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/looking-at
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/make-directory → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/make-directory
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/make-local-variable → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/make-local-variable
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/mapc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/mapc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/mapcar → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/mapcar
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/match-beginning → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/match-beginning
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/match-end → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/match-end
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/match-string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/match-string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/memq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/memq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/message → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/message
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/minor_mode → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/minor_mode
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/not → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/not
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/nth → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/nth
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/null → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/null
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/number-to-string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/number-to-string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/or → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/or
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/point → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/point
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/point-max → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/point-max
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/point-min → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/point-min
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/princ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/princ
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/print → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/print
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/progn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/progn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/push → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/push
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/put → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/put
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/re-search-backward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/re-search-backward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/re-search-forward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/re-search-forward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/region-active-p → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/region-active-p
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/region-beginning → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/region-beginning
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/region-end → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/region-end
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/rename-file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/rename-file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/repeat → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/repeat
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/replace-regexp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/replace-regexp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/replace-regexp-in-string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/replace-regexp-in-string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/require → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/require
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/save-buffer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/save-buffer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/save-excursion → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/save-excursion
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/search-backward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/search-backward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/search-backward-regexp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/search-backward-regexp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/search-forward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/search-forward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/search-forward-regexp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/search-forward-regexp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/set → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/set
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/set-buffer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/set-buffer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/set-file-modes → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/set-file-modes
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/set-mark → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/set-mark
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/setq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/setq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/should → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/should
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/skip-chars-backward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/skip-chars-backward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/skip-chars-forward → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/skip-chars-forward
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/split-string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/split-string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/string → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/string
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/string-match → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/string-match
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/string-to-number → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/string-to-number
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/string= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/string=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/stringp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/stringp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/substring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/substring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/thing-at-point → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/thing-at-point
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/traverse_dir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/traverse_dir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/unless → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/unless
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/use-package → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/use-package
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/use-package-binding → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/use-package-binding
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/vector → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/vector
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/when → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/when
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/widget-get → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/widget-get
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/with-current-buffer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/with-current-buffer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/word-or-region → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/word-or-region
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/word_regexp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/word_regexp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-dired.process_marked → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-dired.process_marked
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-file.process → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-file.process
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-file.read-lines → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-file.read-lines
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-find-replace → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-find-replace
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-grabstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-grabstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-grabthing → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-grabthing
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-traverse_dir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-traverse_dir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/x-word-or-region → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/x-word-or-region
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/emacs-lisp-mode/yes-or-no-p → .emacs.d/elpa/yasnippet-20170605.1940/snippets/emacs-lisp-mode/yes-or-no-p
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/enh-ruby-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/enh-ruby-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ensime-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ensime-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erc-mode/blist → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erc-mode/blist
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erc-mode/help → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erc-mode/help
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/after → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/after
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/begin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/begin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/beh → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/beh
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/compile → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/compile
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/exp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/exp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/fun → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/fun
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/ifdef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/ifdef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/ifndef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/ifndef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/imp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/imp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/inc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/inc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/inc.lib → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/inc.lib
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/loop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/loop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/mod → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/mod
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/rcv → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/rcv
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/rcv.after → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/rcv.after
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/rec → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/rec
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/erlang-mode/undef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/erlang-mode/undef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/bd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/bd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/c → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/c
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/ch → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/ch
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/cx → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/cx
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/dc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/dc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/do → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/do
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/dp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/dp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/forall → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/forall
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/in → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/in
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/inc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/inc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/intr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/intr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/l → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/l
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/pa → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/pa
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/program → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/program
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/puref → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/puref
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/pures → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/pures
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/re → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/re
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/subroutine → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/subroutine
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/until → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/until
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/where → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/where
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/f90-mode/wr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/f90-mode/wr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/button → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/button
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/checkbox → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/checkbox
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/component → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/component
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/declare → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/declare
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/declareauthor → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/declareauthor
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/declarelicense → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/declarelicense
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/declarename → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/declarename
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/declareversion → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/declareversion
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/hbargraph → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/hbargraph
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/header → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/header
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/hgroup → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/hgroup
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/hslider → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/hslider
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/nentry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/nentry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/par → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/par
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/process → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/process
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/processx → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/processx
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/prod → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/prod
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/rule → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/rule
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/seq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/seq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/sum → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/sum
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/tgroup → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/tgroup
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/vbargraph → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/vbargraph
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/vgroup → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/vgroup
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/vslider → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/vslider
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/faust-mode/with → .emacs.d/elpa/yasnippet-20170605.1940/snippets/faust-mode/with
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/git-commit-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/git-commit-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/git-commit-mode/fixes → .emacs.d/elpa/yasnippet-20170605.1940/snippets/git-commit-mode/fixes
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/git-commit-mode/references → .emacs.d/elpa/yasnippet-20170605.1940/snippets/git-commit-mode/references
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/benchmark → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/benchmark
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/const → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/const
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/const( → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/const(
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/dd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/dd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/default → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/default
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/else → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/else
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/error → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/error
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/example → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/example
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/forrange → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/forrange
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/func → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/func
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/iferr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/iferr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/import( → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/import(
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/lambda → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/lambda
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/map → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/map
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/parallel_benchmark → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/parallel_benchmark
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/printf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/printf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/select → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/select
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/switch → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/switch
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/test → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/test
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/testmain → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/testmain
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/type → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/type
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/var → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/var
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/go-mode/var( → .emacs.d/elpa/yasnippet-20170605.1940/snippets/go-mode/var(
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/dict → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/dict
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/println → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/println
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/groovy-mode/times → .emacs.d/elpa/yasnippet-20170605.1940/snippets/groovy-mode/times
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/data → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/data
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/efix → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/efix
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/functione → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/functione
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/instance → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/instance
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/new class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/new class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/pragma → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/pragma
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/haskell-mode/print → .emacs.d/elpa/yasnippet-20170605.1940/snippets/haskell-mode/print
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/dd → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/dd
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/dl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/dl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype.html5 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype.html5
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype.xhtml1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype.xhtml1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype.xhtml1_1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype.xhtml1_1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype.xhtml1_strict → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype.xhtml1_strict
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/doctype.xhtml1_transitional → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/doctype.xhtml1_transitional
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/dt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/dt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/form → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/form
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/html → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/html
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/html.xmlns → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/html.xmlns
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/link.import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/link.import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/link.stylesheet → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/link.stylesheet
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/link.stylesheet-ie → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/link.stylesheet-ie
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/mailto → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/mailto
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/meta → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/meta
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/meta.http-equiv → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/meta.http-equiv
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/script.javascript → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/script.javascript
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/script.javascript-src → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/script.javascript-src
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/textarea → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/textarea
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/html-mode/th → .emacs.d/elpa/yasnippet-20170605.1940/snippets/html-mode/th
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/apr_assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/apr_assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/assertEquals → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/assertEquals
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/cls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/cls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/constructor → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/constructor
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/define test method → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/define test method
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/equals → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/equals
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/file_class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/file_class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/fori → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/fori
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/getter → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/getter
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/iterator → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/iterator
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/javadoc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/javadoc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/lambda → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/lambda
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/main_class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/main_class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/method → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/method
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/new → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/new
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/override → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/override
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/param → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/param
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/printf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/printf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/println → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/println
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/return → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/return
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/test → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/test
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/testClass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/testClass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/this → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/this
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/toString → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/toString
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/java-mode/value → .emacs.d/elpa/yasnippet-20170605.1940/snippets/java-mode/value
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/al → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/al
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/com → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/com
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/debugger → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/debugger
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/each → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/each
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/el → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/el
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/ev.add → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/ev.add
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/ev.fire → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/ev.fire
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/init → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/init
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/log → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/log
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/multiline-comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/multiline-comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/param-comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/param-comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/req.html → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/req.html
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/req.json → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/req.json
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/return-comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/return-comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/type-inline-comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/type-inline-comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js-mode/type-multiline-comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js-mode/type-multiline-comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js2-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js2-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/js3-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/js3-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/acronym → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/acronym
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/alertblock → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/alertblock
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/alg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/alg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/article → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/article
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/begin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/begin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/block → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/block
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/capgls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/capgls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/caption → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/caption
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/cite → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/cite
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/code → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/code
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/columns → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/columns
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/documentclass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/documentclass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/emph → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/emph
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/enumerate → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/enumerate
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/figure → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/figure
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/frac → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/frac
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/frame → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/frame
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/gls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/gls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/glspl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/glspl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/includegraphics → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/includegraphics
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/item → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/item
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/itemize → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/itemize
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/label → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/label
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/listing → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/listing
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cvcomputer → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cvcomputer
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cventry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cventry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cvlanguage → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cvlanguage
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cvline → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cvline
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cvlistdoubleitem → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cvlistdoubleitem
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/moderncv-cvlistitem → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/moderncv-cvlistitem
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/movie → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/movie
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/newcommand → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/newcommand
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/newglossaryentry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/newglossaryentry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/note → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/note
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/python → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/python
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/question → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/question
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/subf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/subf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/subfigure → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/subfigure
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/subsec → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/subsec
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/textbf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/textbf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/latex-mode/usepackage → .emacs.d/elpa/yasnippet-20170605.1940/snippets/latex-mode/usepackage
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-interaction-mode/defun → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-interaction-mode/defun
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/defpackage → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/defpackage
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/do → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/do
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/foreach → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/foreach
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/format → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/format
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/ifelse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/ifelse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/ifnot → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/ifnot
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/slot → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/slot
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/switch → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/switch
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lisp-mode/typecast → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lisp-mode/typecast
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/do → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/do
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/eif → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/eif
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/eife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/eife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/fun → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/fun
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/iparis → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/iparis
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/paris → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/paris
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/repeat → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/repeat
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/require → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/require
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/lua-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/lua-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/m4-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/m4-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-automake-mode/noinst_HEADERS → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-automake-mode/noinst_HEADERS
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-bsdmake-mode/echo → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-bsdmake-mode/echo
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-bsdmake-mode/gen → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-bsdmake-mode/gen
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-bsdmake-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-bsdmake-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-bsdmake-mode/PHONY → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-bsdmake-mode/PHONY
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-bsdmake-mode/var → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-bsdmake-mode/var
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/abspath → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/abspath
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/addprefix → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/addprefix
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/addsuffix → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/addsuffix
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/dir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/dir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/make → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/make
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/notdir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/notdir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/patsubst → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/patsubst
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/phony → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/phony
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/shell → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/shell
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/special → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/special
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/template → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/template
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-gmake-mode/wildcard → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-gmake-mode/wildcard
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-mode/all → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-mode/all
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/makefile-mode/clean → .emacs.d/elpa/yasnippet-20170605.1940/snippets/makefile-mode/clean
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/malabar-mode/variable → .emacs.d/elpa/yasnippet-20170605.1940/snippets/malabar-mode/variable
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/+ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/+
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/- → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/-
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/_ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/_
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/` → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/`
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h1.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h1.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h1.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h1.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h2.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h2.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h2.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h2.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h3 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h3
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h4 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h4
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h5 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h5
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/h6 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/h6
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/highlight → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/highlight
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/hr.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/hr.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/hr.2 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/hr.2
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/img → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/img
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/ol → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/ol
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/rimg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/rimg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/rlb → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/rlb
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/markdown-mode/utf8 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/markdown-mode/utf8
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/chan → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/chan
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/connections → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/connections
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/network → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/network
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/simple → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/simple
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ned-mode/submodules → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ned-mode/submodules
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/command → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/command
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/dbg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/dbg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/event → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/event
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/ifdef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/ifdef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/interface → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/interface
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/nx → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/nx
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/provides → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/provides
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/sim → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/sim
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/TOSSIM → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/TOSSIM
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/uint8_t → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/uint8_t
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nesc-mode/uses → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nesc-mode/uses
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/buildPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/buildPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/checkPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/checkPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/configurePhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/configurePhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/distPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/distPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/fixPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/fixPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/installCheckPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/installCheckPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/installPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/installPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/package_github → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/package_github
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/package_url → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/package_url
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/patchPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/patchPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/phases → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/phases
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nix-mode/unpackPhase → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nix-mode/unpackPhase
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/define → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/define
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/include → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/include
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/insert_macro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/insert_macro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/instdir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/instdir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/macro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/macro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/message → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/message
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/outdir → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/outdir
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/outfile → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/outfile
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nsis-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nsis-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/body → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/body
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/br → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/br
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/doctype → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/doctype
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/doctype_xhtml1_strict → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/doctype_xhtml1_strict
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/doctype_xhtml1_transitional → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/doctype_xhtml1_transitional
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/form → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/form
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/href → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/href
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/html → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/html
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/img → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/img
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/input → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/input
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/meta → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/meta
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/name → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/name
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/quote → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/quote
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/style → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/style
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/tag → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/tag
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/tag_closing → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/tag_closing
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/nxml-mode/tag_newline → .emacs.d/elpa/yasnippet-20170605.1940/snippets/nxml-mode/tag_newline
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/octave-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/octave-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/octave-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/octave-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/octave-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/octave-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/dot → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/dot
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/elisp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/elisp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/embedded → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/embedded
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/entry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/entry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/figure → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/figure
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/img → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/img
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/latex → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/latex
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/matrix → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/matrix
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/uml → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/uml
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/org-mode/verse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/org-mode/verse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/eval → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/eval
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/fore → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/fore
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/ifee → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/ifee
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/sub → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/sub
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/unless → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/unless
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/xfore → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/xfore
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/xif → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/xif
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/xunless → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/xunless
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/perl-mode/xwhile → .emacs.d/elpa/yasnippet-20170605.1940/snippets/perl-mode/xwhile
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/.yas-setup.el → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/.yas-setup.el
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/.yas-setup.elc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/.yas-setup.elc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/comment → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/comment
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/commentblock → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/commentblock
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/commentline → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/commentline
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/fixme → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/fixme
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/todo → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/todo
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/prog-mode/xxx → .emacs.d/elpa/yasnippet-20170605.1940/snippets/prog-mode/xxx
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/.yas-setup.el → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/.yas-setup.el
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/.yas-setup.elc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/.yas-setup.elc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__contains__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__contains__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__enter__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__enter__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__exit__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__exit__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__getitem__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__getitem__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__len__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__len__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__new__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__new__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/__setitem__ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/__setitem__
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/all → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/all
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/arg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/arg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/arg_positional → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/arg_positional
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertEqual → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertEqual
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertFalse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertFalse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertIn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertIn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertNotEqual → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertNotEqual
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertNotIn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertNotIn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertRaises → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertRaises
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertRaises.with → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertRaises.with
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/assertTrue → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/assertTrue
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/celery_pdb → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/celery_pdb
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/classmethod → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/classmethod
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/cls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/cls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/dec → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/dec
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/deftest → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/deftest
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/django_test_class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/django_test_class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/doctest → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/doctest
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/embed → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/embed
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/eq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/eq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/from → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/from
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/function_docstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/function_docstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/function_docstring_numpy → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/function_docstring_numpy
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/ifmain → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/ifmain
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/import → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/import
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/init → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/init
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/init_docstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/init_docstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/interact → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/interact
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/ipdbdebug → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/ipdbdebug
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/iter → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/iter
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/lambda → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/lambda
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/list → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/list
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/logger_name → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/logger_name
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/logging → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/logging
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/metaclass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/metaclass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/method → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/method
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/method_docstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/method_docstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/not_impl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/not_impl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/np → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/np
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/parse_args → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/parse_args
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/parser → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/parser
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/pass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/pass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/pl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/pl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/print → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/print
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/prop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/prop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/reg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/reg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/repr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/repr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/return → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/return
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/scls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/scls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/script → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/script
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/self → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/self
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/self_without_dot → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/self_without_dot
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/selfassign → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/selfassign
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/setdef → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/setdef
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/setup → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/setup
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/size → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/size
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/static → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/static
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/str → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/str
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/super → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/super
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/test_class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/test_class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/test_file → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/test_file
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/trace → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/trace
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/tryelse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/tryelse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/unicode → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/unicode
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/utf8 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/utf8
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/with → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/with
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/python-mode/with_statement → .emacs.d/elpa/yasnippet-20170605.1940/snippets/python-mode/with_statement
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/autoclass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/autoclass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/autofunction → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/autofunction
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/automodule → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/automodule
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/chapter → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/chapter
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/code → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/code
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/digraph → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/digraph
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/graph → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/graph
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/graphviz → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/graphviz
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/image → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/image
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/inheritance → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/inheritance
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/literal_include → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/literal_include
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/meta → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/meta
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/parsed_literal → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/parsed_literal
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/pause → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/pause
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/term → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/term
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/title → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/title
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/url → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/url
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/verbatim → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/verbatim
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rst-mode/warning → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rst-mode/warning
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/# → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/#
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/=b → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/=b
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/all → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/all
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/am → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/am
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/any → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/any
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/app → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/app
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/attribute → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/attribute
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/bench → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/bench
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/bm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/bm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/cla → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/cla
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/cls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/cls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/collect → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/collect
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/Comp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/Comp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/dee → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/dee
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/deli → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/deli
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/det → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/det
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/dow → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/dow
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/ea → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/ea
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/eac → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/eac
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/eai → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/eai
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/eav → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/eav
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/eawi → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/eawi
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/Enum → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/Enum
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/forin → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/forin
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/formula → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/formula
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/GLOB → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/GLOB
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/inc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/inc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/init → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/init
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/inject → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/inject
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/map → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/map
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/mm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/mm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/mod → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/mod
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/pry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/pry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/r → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/r
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/rb → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/rb
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/red → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/red
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/reject → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/reject
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/rel → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/rel
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/req → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/req
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/rw → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/rw
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/select → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/select
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/str → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/str
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/test class → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/test class
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/tim → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/tim
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/to_ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/to_
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/tu → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/tu
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/until → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/until
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/upt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/upt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/w → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/w
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/when → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/when
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/y → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/y
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/ruby-mode/zip → .emacs.d/elpa/yasnippet-20170605.1940/snippets/ruby-mode/zip
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/allow → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/allow
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/allow! → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/allow!
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/asserteq → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/asserteq
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/cfg → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/cfg
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/cfg= → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/cfg=
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/closure → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/closure
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/deny → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/deny
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/deny! → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/deny!
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/derive → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/derive
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/drop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/drop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/enum → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/enum
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/fn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/fn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/fnr → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/fnr
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/fns → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/fns
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/fnw → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/fnw
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/ifl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/ifl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/impl → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/impl
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/implt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/implt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/let → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/let
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/letm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/letm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/lett → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/lett
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/lettm → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/lettm
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/loop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/loop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/macro → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/macro
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/match → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/match
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/print → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/print
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/println → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/println
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/spawn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/spawn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/static → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/static
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/struct → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/struct
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/test → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/test
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/testmod → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/testmod
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/trait → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/trait
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/type → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/type
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/warn → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/warn
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/warn! → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/warn!
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rust-mode/whilel → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rust-mode/whilel
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/app → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/app
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/case → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/case
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/cc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/cc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/co → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/co
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/cons → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/cons
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/def → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/def
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/doc → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/doc
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/ls → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/ls
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/match → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/match
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/ob → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/ob
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/throw → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/throw
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/scala-mode/valueclass → .emacs.d/elpa/yasnippet-20170605.1940/snippets/scala-mode/valueclass
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/args → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/args
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/bang → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/bang
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/for loop → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/for loop
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/function → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/function
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/if → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/if
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/ife → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/ife
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/safe-bang → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/safe-bang
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sh-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sh-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/cont → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/cont
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/elisp → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/elisp
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/field → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/field
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/group → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/group
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/mirror → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/mirror
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/snippet-mode/vars → .emacs.d/elpa/yasnippet-20170605.1940/snippets/snippet-mode/vars
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/column → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/column
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/constraint → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/constraint
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/constraint.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/constraint.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/create → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/create
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/create.1 → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/create.1
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/insert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/insert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/sql-mode/references → .emacs.d/elpa/yasnippet-20170605.1940/snippets/sql-mode/references
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/text-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/text-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/assert → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/assert
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/docstring → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/docstring
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/for → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/for
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/fun → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/fun
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/guard → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/guard
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/ifthen → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/ifthen
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/ifthenelse → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/ifthenelse
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/let → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/let
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/list_comprehension → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/list_comprehension
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/main → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/main
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/match → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/match
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/module → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/module
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/open → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/open
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/printf → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/printf
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/rec → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/rec
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/try → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/try
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/type → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/type
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/type_type → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/type_type
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/val → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/val
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/tuareg-mode/while → .emacs.d/elpa/yasnippet-20170605.1940/snippets/tuareg-mode/while
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/typerex-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/typerex-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/add → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/add
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/ENV → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/ENV
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/env$ → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/env$
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/GOTO → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/GOTO
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/KERNEL → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/KERNEL
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/udev-mode/run → .emacs.d/elpa/yasnippet-20170605.1940/snippets/udev-mode/run
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/web-mode/.yas-parents → .emacs.d/elpa/yasnippet-20170605.1940/snippets/web-mode/.yas-parents
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/yaml-mode/entry → .emacs.d/elpa/yasnippet-20170605.1940/snippets/yaml-mode/entry
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/yaml-mode/list → .emacs.d/elpa/yasnippet-20170605.1940/snippets/yaml-mode/list
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/yaml-mode/section → .emacs.d/elpa/yasnippet-20170605.1940/snippets/yaml-mode/section
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/.gitignore → .emacs.d/elpa/yasnippet-20170605.1940/snippets/.gitignore
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/.nosearch → .emacs.d/elpa/yasnippet-20170605.1940/snippets/.nosearch
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/CONTRIBUTORS.txt → .emacs.d/elpa/yasnippet-20170605.1940/snippets/CONTRIBUTORS.txt
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/LICENSE → .emacs.d/elpa/yasnippet-20170605.1940/snippets/LICENSE
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/README.md → .emacs.d/elpa/yasnippet-20170605.1940/snippets/README.md
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/snippets/rename_add_contr.py → .emacs.d/elpa/yasnippet-20170605.1940/snippets/rename_add_contr.py
File renamed without changes
.emacs.d/elpa/yasnippet-20170601.1907/yasnippet-autoloads.el → .emacs.d/elpa/yasnippet-20170605.1940/yasnippet-autoloads.el
@@ -3,8 +3,8 @@
 ;;; Code:
 (add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path))))
 
-;;;### (autoloads nil "yasnippet" "yasnippet.el" (22839 4012 725678
-;;;;;;  324000))
+;;;### (autoloads nil "yasnippet" "yasnippet.el" (22859 63739 593860
+;;;;;;  576000))
 ;;; Generated autoloads from yasnippet.el
 
 (autoload 'yas-minor-mode "yasnippet" "\
@@ -52,8 +52,8 @@ A mode for editing yasnippets
 
 ;;;***
 
-;;;### (autoloads nil nil ("yasnippet-pkg.el") (22839 4011 498694
-;;;;;;  334000))
+;;;### (autoloads nil nil ("yasnippet-pkg.el") (22859 63732 883068
+;;;;;;  534000))
 
 ;;;***
 
.emacs.d/elpa/yasnippet-20170601.1907/yasnippet-pkg.el → .emacs.d/elpa/yasnippet-20170605.1940/yasnippet-pkg.el
@@ -1,4 +1,4 @@
-(define-package "yasnippet" "20170601.1907" "Yet another snippet extension for Emacs."
+(define-package "yasnippet" "20170605.1940" "Yet another snippet extension for Emacs."
   '((cl-lib "0.5"))
   :url "http://github.com/joaotavora/yasnippet" :keywords
   '("convenience" "emulation"))
.emacs.d/elpa/yasnippet-20170601.1907/yasnippet.el → .emacs.d/elpa/yasnippet-20170605.1940/yasnippet.el
@@ -3717,9 +3717,10 @@ Move the overlays, or create them if they do not exit."
 (defvar yas--first-indent-undo nil
   "Internal variable for indent undo entries.
 Used to pass info from `yas--indent-region' to `yas-expand-snippet'.")
-(defvar yas--return-first-indent-undo nil
-  "Whether to record undo info in `yas--indent-region'.
-See also `yas--first-indent-undo'.")
+(defvar yas--get-indent-undo-pos nil
+  "Record undo info for line beginning at given position.
+We bind this when first creating a snippet.  See also
+`yas--first-indent-undo'.")
 
 (defun yas-expand-snippet (content &optional start end expand-env)
   "Expand snippet CONTENT at current point.
@@ -3774,7 +3775,7 @@ considered when expanding the snippet."
            ;;
            ;;    stacked expansion: also shoosh the overlay modification hooks
            (let ((buffer-undo-list t)
-                 (yas--return-first-indent-undo t))
+                 (yas--get-indent-undo-pos (line-beginning-position)))
              ;; snippet creation might evaluate users elisp, which
              ;; might generate errors, so we have to be ready to catch
              ;; them mostly to make the undo information
@@ -4199,12 +4200,7 @@ The SNIPPET's markers are preserved."
     (save-restriction
       (widen)
       (let* ((snippet-markers (yas--collect-snippet-markers snippet))
-             (to (set-marker (make-marker) to))
-             (control-ov (yas--snippet-control-overlay snippet))
-             (1st-bol (progn (goto-char (if control-ov (overlay-start control-ov)
-                                          from))
-                             (beginning-of-line)
-                             (point))))
+             (to (set-marker (make-marker) to)))
         (goto-char from)
         (cl-loop for bol = (line-beginning-position)
                  for eol = (line-end-position)
@@ -4217,8 +4213,7 @@ The SNIPPET's markers are preserved."
                              remarkers)))
                    (unwind-protect
                        (progn (back-to-indentation)
-                              (if (and yas--return-first-indent-undo
-                                       (= 1st-bol bol))
+                              (if (eq yas--get-indent-undo-pos bol)
                                   (let ((buffer-undo-list nil))
                                     (indent-according-to-mode)
                                     (setq yas--first-indent-undo
.emacs.d/elpa/yasnippet-20170601.1907/yasnippet.elc → .emacs.d/elpa/yasnippet-20170605.1940/yasnippet.elc
Binary file