From 62faac9e91badcd58ff85b85cf48bb78a4e21fda Mon Sep 17 00:00:00 2001 From: Benson Chu Date: Sat, 11 Apr 2026 15:29:31 -0500 Subject: [PATCH] Move this config to public, also add shortcuts for rr --- config-programming.org | 54 +++++++++++++++++++++++++++++++++++ lisp/ti-config/work-config.el | 25 +--------------- 2 files changed, 55 insertions(+), 24 deletions(-) diff --git a/config-programming.org b/config-programming.org index 9596d87..91c2f2d 100644 --- a/config-programming.org +++ b/config-programming.org @@ -376,3 +376,57 @@ #+begin_src emacs-lisp (use-package 0x0) #+end_src +* realgud +#+begin_src emacs-lisp + (use-package realgud + :config + (setq realgud-window-split-orientation 'horizontal) + + (defun rename-gdb-replay-buffer () + (when-let ((buff (get-buffer "*gdb replay shell*"))) + (let ((i 1) + name) + (while (progn + (setq name + (format "*gdb replay shell<%d>*" i)) + (get-buffer name)) + (cl-incf i)) + (with-current-buffer buff + (rename-buffer name))))) + + (defun realgud:rr () + (interactive) + (rename-gdb-replay-buffer) + (call-interactively #'realgud:gdb)) + + (defun realgud:rr-replay () + (interactive) + (rename-gdb-replay-buffer) + (realgud:gdb "rr replay")) + + (defun realgud:rr-reverse-next (&optional arg) + (interactive "p") + (let* ((buffer (current-buffer)) + (cmdbuf (realgud-get-cmdbuf)) + (cmd "rn")) + (progn + ;; Set flag to know which buffer to jump back to + (with-current-buffer-safe cmdbuf + (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer)))) + ;; Run actual command + (realgud-command cmd arg nil nil nil)))) + + (defun realgud:rr-reverse-continue () + (let* ((buffer (current-buffer)) + (cmdbuf (realgud-get-cmdbuf)) + (cmd "rc")) + (progn + ;; Set flag to know which buffer to jump back to + (with-current-buffer-safe cmdbuf + (realgud-cmdbuf-info-in-srcbuf?= (not (realgud-cmdbuf? buffer)))) + ;; Run actual command + (realgud-command nil arg nil nil nil)))) + + (define-key realgud:shortkey-mode-map (kbd "p") #'realgud:rr-reverse-next) + (define-key realgud:shortkey-mode-map (kbd "C") #'realgud:rr-reverse-continue)) +#+end_src diff --git a/lisp/ti-config/work-config.el b/lisp/ti-config/work-config.el index e35550f..6622599 100644 --- a/lisp/ti-config/work-config.el +++ b/lisp/ti-config/work-config.el @@ -161,30 +161,7 @@ (use-package realgud :config - (setq realgud-window-split-orientation 'horizontal) - (setq realgud:remake-command-name "/db/sds/packages2/remake/bin/remake") - - (defun rename-gdb-replay-buffer () - (when-let ((buff (get-buffer "*gdb replay shell*"))) - (let ((i 1) - name) - (while (progn - (setq name - (format "*gdb replay shell<%d>*" i)) - (get-buffer name)) - (cl-incf i)) - (with-current-buffer buff - (rename-buffer name))))) - - (defun realgud:rr () - (interactive) - (rename-gdb-replay-buffer) - (call-interactively #'realgud:gdb)) - - (defun realgud:rr-replay () - (interactive) - (rename-gdb-replay-buffer) - (realgud:gdb "rr replay"))) + (setq realgud:remake-command-name "/db/sds/packages2/remake/bin/remake")) (use-package realgud-lldb)