From d697dc8b3fb66fb3c37851ab1d33af665870ae1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barra=20=C3=93=20Cath=C3=A1in?= Date: Fri, 2 Feb 2024 21:45:05 +0000 Subject: [PATCH 1/4] Added buffer and file to register functions. Added buffer-to-register, file-to-register, current-buffer-to-register, and current-file-to-register to register.el. --- lisp/register.el | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/lisp/register.el b/lisp/register.el index 822467a0d72..8fff867e547 100644 --- a/lisp/register.el +++ b/lisp/register.el @@ -685,6 +685,50 @@ Interactively, prompt for REGISTER using `register-read-with-preview'." (let ((val (get-register register))) (register-val-jump-to val delete))) +(defun file-to-register (register file-name) + "Inserts a given file into a register. To visit the file, use + \\[jump-to-register]. + +Called from Lisp, takes two args: REGISTER, and FILE-NAME. + +Interactively, prompt for REGISTER using `register-read-with-preview', +and prompt for FILE-NAME using `read-file-name'." + (interactive (list (register-read-with-preview "File to register: ") + (read-file-name "File: "))) + (set-register register `(file . ,file-name))) + +(defun current-file-to-register (register) + "Places the current file name into a register. To visit the file, use +\\[jump-to-register]. + +Called from Lisp, takes one arg: REGISTER. + +Interactively, prompt for REGISTER using `register-read-with-preview." + (interactive (list (register-read-with-preview "Current file to register: "))) + (set-register register `(file . ,(buffer-file-name)))) + +(defun buffer-to-register (register buffer) + "Inserts a given buffer into a register. To visit the buffer, use +\\[jump-to-register]. + +Called from Lisp, takes two args: REGISTER, and BUFFER. + +Interactively, prompt for REGISTER using `register-read-with-preview', and +prompt for BUFFER-NAME using `read-buffer'." + (interactive (list (register-read-with-preview "Buffer to register: ") + (read-buffer "Buffer: "))) + (set-register register `(buffer . ,buffer))) + +(defun current-buffer-to-register (register) + "Places the current buffer into a register. To visit the buffer, use +\\[jump-to-register]. + +Called from Lisp, takes one arg: REGISTER. + +Interactively, prompt for REGISTER using `register-read-with-preview.'" + (interactive (list (register-read-with-preview "Current buffer to register: "))) + (set-register register `(buffer . ,(current-buffer)))) + (cl-defgeneric register-val-jump-to (_val _arg) "Execute the \"jump\" operation of VAL. VAL is the contents of a register as returned by `get-register'. -- 2.43.0