emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/xah-fly-keys 63c0ac8c7d 2/2: xah-save-close-current-buffer


From: ELPA Syncer
Subject: [nongnu] elpa/xah-fly-keys 63c0ac8c7d 2/2: xah-save-close-current-buffer new. bound to C-w.
Date: Sun, 1 Jan 2023 20:59:51 -0500 (EST)

branch: elpa/xah-fly-keys
commit 63c0ac8c7de05463f2282971e1b314e3fc193c2e
Author: Xah Lee <xah@xahlee.org>
Commit: Xah Lee <xah@xahlee.org>

    xah-save-close-current-buffer new. bound to C-w.
---
 xah-fly-keys.el | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index 78c6e4e576..2f6d924062 100644
--- a/xah-fly-keys.el
+++ b/xah-fly-keys.el
@@ -4,7 +4,7 @@
 
 ;; Author: Xah Lee ( http://xahlee.info/ )
 ;; Maintainer: Xah Lee <xah@xahlee.org>
-;; Version: 22.3.20221225104731
+;; Version: 22.4.20230101171547
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -1713,7 +1713,7 @@ If `universal-argument' is called first, prompt for a 
format to use.
 If there is selection, delete it first.
 
 URL `http://xahlee.info/emacs/emacs/elisp_insert-date-time.html'
-Version 2013-05-10 2021-11-07 2022-04-07"
+Version 2013-05-10 2022-04-07 2023-01-01"
   (interactive)
   (let (($style
          (if current-prefix-arg
@@ -1742,7 +1742,7 @@ Version 2013-05-10 2021-11-07 2022-04-07"
        (format-time-string "%Y-%m-%d"))
       ((= $style 1)
        ;; "1 → 20180412224611"
-       (replace-regexp-in-string ":" "" (format-time-string "%Y%m%d%T")))
+       (format-time-string "%Y%m%d%H%M%S"))
       ((= $style 2)
        ;; "2 → 2018-04-12_224611"
        (replace-regexp-in-string ":" "" (format-time-string "%Y-%m-%d_%T")))
@@ -1971,6 +1971,7 @@ Version: 2013-06-12 2019-03-07"
     ("red triangle 🔺")
     ("diamond 💠")
     ("square ⬛")
+    ("cursor ▮")
 
     ("bullet •")
     ("diamond ◆")
@@ -2258,6 +2259,25 @@ Version: 2017-11-01 2022-04-05"
 (declare-function minibuffer-keyboard-quit "delsel" ())
 (declare-function org-edit-src-save "org-src" ())
 
+(defun xah-save-close-current-buffer ()
+  "Save and close current buffer.
+If the buffer is not a file, save it to `user-emacs-directory' and named 
untitled_‹datetime›_‹randomhex›.txt
+
+Version 2022-12-29"
+  (interactive)
+  (if (buffer-file-name)
+      (when (buffer-modified-p) (save-buffer))
+    (progn
+      (when (xah-user-buffer-p)
+        (widen)
+        (when (not (equal (point-max) 1))
+          (write-file
+           (format "%suntitled_%s_%x.txt"
+                   user-emacs-directory
+                   (format-time-string "%Y%m%d_%H%M%S")
+                   (random 100)))))))
+  (xah-close-current-buffer))
+
 (defun xah-close-current-buffer ()
   "Close the current buffer.
 
@@ -3543,7 +3563,7 @@ Version 2022-10-31"
   (global-set-key (kbd "C-t") #'hippie-expand)
   ;; (global-set-key (kbd "C-u") 'nil)
   (global-set-key (kbd "C-v") #'yank)
-  (global-set-key (kbd "C-w") #'xah-close-current-buffer)
+  (global-set-key (kbd "C-w") #'xah-save-close-current-buffer)
   ;; (global-set-key (kbd "C-x") 'nil)
 
   (when (>= emacs-major-version 28)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]