A few accumulated changes
[~bandali/configs] / .emacs.d / init.el
index 997e6cf..631ce8c 100644 (file)
@@ -147,15 +147,16 @@ This sets each user option VAR's value to the corresponding VALUE.
      '(;; GNU ELPA
        (debbugs "0.26")
        (delight "1.7")
-       (ebdb "0.6.19")
+       (ebdb "0.6.20")
        (orgalist "1.13")
        (rt-liberation "1.31")
        (yasnippet "0.14.0")
        (expand-region "0.11.0")
+       (emms "6.2")
        ;; bndl
        ;; (refinery-theme "0.1.1")
        ;; Org ELPA
-       (org-plus-contrib "20201012"))))
+       (org-plus-contrib "20201109"))))
   (package-initialize))
 
 (csetq package-archive-upload-base "/ssh:caffeine:~/www/p/elpa")
@@ -288,6 +289,31 @@ This sets each user option VAR's value to the corresponding VALUE.
 
 ;;;; Elisp-level customizations
 
+;; (define-key minibuffer-local-completion-map
+;;   "\t" #'minibuffer-force-complete)
+
+(with-eval-after-load 'icomplete
+
+(setq icomplete-on-del-error-function #'abort-recursive-edit)
+
+(defun b/icomplete-fido-backward-updir ()
+  "Delete char before or go up directory, like `ido-mode'."
+  (interactive)
+  (if (and (eq (char-before) ?/)
+           (eq (icomplete--category) 'file))
+      (save-excursion
+        (goto-char (1- (point)))
+        (when (search-backward "/" (point-min) t)
+          (delete-region (1+ (point)) (point-max))))
+    (condition-case nil
+        (call-interactively #'delete-backward-char)
+      (error
+       (when icomplete-on-del-error-function
+         (funcall icomplete-on-del-error-function))))))
+
+(define-key icomplete-fido-mode-map
+  (kbd "DEL") #'b/icomplete-fido-backward-updir))
+
 ;; startup
 ;; don't need to see the startup echo area message
 (advice-add #'display-startup-echo-area-message :override #'ignore)
@@ -517,6 +543,7 @@ Make N (default: 1) copies of the current line or region."
 (global-set-key (kbd "C-a") #'b/move-indentation-or-beginning-of-line)
 (global-set-key (kbd "C-c a i") #'ielm)
 (global-set-key (kbd "C-c d") #'b/duplicate-line-or-region)
+(global-set-key (kbd "C-c j") #'b/join-line-top)
 (global-set-key (kbd "C-S-j") #'b/join-line-top)
 (global-set-key (kbd "C-c x") #'execute-extended-command)
 
@@ -562,7 +589,8 @@ Make N (default: 1) copies of the current line or region."
  (expand-file-name
   (convert-standard-filename "lisp") user-emacs-directory))
 
-(require 'bandali-exwm)
+(when (featurep 'exwm)
+  (require 'bandali-exwm))
 
 (require 'bandali-org)