From 9570bdf048d5e0d09af423bca36d8c70c308768a Mon Sep 17 00:00:00 2001 From: rearman Date: Tue, 5 May 2026 13:09:49 -0400 Subject: [PATCH] update load paths, always require sedit-mouse since the default buffer is a lisp mode, it always immediately loaded sedit-mouse anyway moved c-style into main init and condensed some --- init.el | 40 +++++++++++++++++++++++++++++----------- re-c-style.el | 30 ------------------------------ 2 files changed, 29 insertions(+), 41 deletions(-) delete mode 100644 re-c-style.el diff --git a/init.el b/init.el index c8f461c..0cc8b63 100644 --- a/init.el +++ b/init.el @@ -4,13 +4,11 @@ ;;; Code: -(dolist (path '("acme-mouse/" "sedit-mouse/")) +(dolist (path '("sedit-mouse/" "themes/" "re/")) (add-to-list 'load-path (concat user-emacs-directory path))) -(dolist (requirement '(re-packages - re-pass-alike - eng-paper-theme)) - (require requirement)) +(dolist (file '(re-packages re-pass-alike eng-paper-theme sedit-mouse)) + (require file)) (setq w32-recognize-altgr 'nil) @@ -29,11 +27,6 @@ (when buffer-file-name (find-alternate-file (concat "/sudo:root@localhost:" buffer-file-name))))) - -(dolist (mode-maps '(("\\.keymap\\'" . c-mode) ("\\.dtsi\\'" . c-mode))) - (add-to-list 'auto-mode-alist mode-maps t)) - -(add-hook 'c-mode-hook (lambda () (require 're-c-style))) ;; Editing (defun re/open-line-below (n) @@ -730,7 +723,6 @@ For a non-repl, use `newline' or similar." (dolist (hook *re/lisp-mode-hooks*) (add-hook hook (lambda () - (require 'sedit-mouse) (when (bound-and-true-p acme-mouse-mode) (acme-mouse-mode -1)) (sedit-mouse-mode 1) (keymap-set lisp-mode-shared-map "C-M-z" #'eval-region) @@ -820,6 +812,32 @@ Stolen from https://depp.brause.cc/dotemacs" "]" (re/balance-and-eval-sexp #'geiser-repl-maybe-send)))) +;;; C-mode +(dolist (mode-maps '(("\\.keymap\\'" . c-mode) ("\\.dtsi\\'" . c-mode))) + (add-to-list 'auto-mode-alist mode-maps t)) + +(defun re/c-lineup-arglist-tabs-only (ignored) + "Line up argument lists by tabs, not spaces. + Stolen from https://kernel.org/doc/html/v4.10/process/coding-style.html" + (let* ((anchor (c-langelem-pos c-syntactic-element)) + (column (c-langelem-2nd-pos c-syntactic-element)) + (offset (- (1+ column) anchor)) + (steps (floor offset c-basic-offset))) + (* (max steps 1) c-basic-offset))) + +(add-hook 'c-mode-common-hook + (lambda () + (c-add-style "linux-tabs-only" + '("linux" (c-offsets-alist + (arglist-cont-nonempty + c-lineup-gcc-asm-reg + re/c-lineup-arglist-tabs-only)))))) + +(add-hook 'c-mode-hook + (lambda () + (setq c-backspace-function 'backward-delete-char) + (c-set-style "linux-tabs-only"))) + ;; Auto-Revert (global-auto-revert-mode t) (setq global-auto-revert-non-file-buffers t diff --git a/re-c-style.el b/re-c-style.el deleted file mode 100644 index f526b00..0000000 --- a/re-c-style.el +++ /dev/null @@ -1,30 +0,0 @@ -;;; re-c-style.el --- My C style -*- lexical-binding: t; -*- -;; This file is not part of GNU Emacs -;; Fix emacs' refusal to use tabs in c files - -;;; Code: - -(defun re/c-lineup-arglist-tabs-only (ignored) - "Line up argument lists by tabs, not spaces. - Stolen from https://kernel.org/doc/html/v4.10/process/coding-style.html" - (let* ((anchor (c-langelem-pos c-syntactic-element)) - (column (c-langelem-2nd-pos c-syntactic-element)) - (offset (- (1+ column) anchor)) - (steps (floor offset c-basic-offset))) - (* (max steps 1) c-basic-offset))) - -(add-hook 'c-mode-common-hook - (lambda () - (c-add-style "linux-tabs-only" - '("linux" (c-offsets-alist - (arglist-cont-nonempty - c-lineup-gcc-asm-reg - re/c-lineup-arglist-tabs-only)))))) - -(add-hook 'c-mode-hook - (lambda () - (setq c-backspace-function 'backward-delete-char) - (c-set-style "linux-tabs-only"))) - -(provide 're-c-style) -;;; re-c-style.el ends here -- 2.39.5