[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/beardbolt a13f8fe7f4 287/323: Reset beardbolt-specific
From: |
ELPA Syncer |
Subject: |
[elpa] externals/beardbolt a13f8fe7f4 287/323: Reset beardbolt-specific locals before hacking them in |
Date: |
Thu, 9 Mar 2023 10:58:43 -0500 (EST) |
branch: externals/beardbolt
commit a13f8fe7f4a162a2e6c6ec3da2c539c7bacd479d
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
Reset beardbolt-specific locals before hacking them in
* beardbolt.el (bb--defoption): New helper.
(bb-kill-symbol-re, bb-command, bb-asm-format)
(bb-preserve-directives, bb-preserve-labels)
(bb-preserve-comments, bb-demangle): Use it.
(bb-compile): Kill bearbolt option local variable.
---
beardbolt.el | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/beardbolt.el b/beardbolt.el
index 3ee2924292..657d92e300 100644
--- a/beardbolt.el
+++ b/beardbolt.el
@@ -38,18 +38,22 @@
(require 'color)
;;; Code:
-;;;; Customize:
(defgroup beardbolt nil
"beardbolt customization options"
:group 'applications)
-(defcustom bb-disassemble nil
+(defmacro bb--defoption (sym &rest whatever)
+ `(progn (defcustom ,sym ,@whatever)
+ (put ',sym 'bb--option t)))
+
+
+(bb--defoption bb-disassemble nil
"Whether we should disassemble an output binary."
:type 'boolean
:safe 'booleanp
:group 'beardbolt)
-(defcustom bb-kill-symbol-re nil
+(bb--defoption bb-kill-symbol-re nil
"Regular expression matching assembly symbols to ignore.
Currently, this matches on **mangled** symbols.
@@ -62,35 +66,35 @@ in quotes, of course."
:safe (lambda (v) (or (booleanp v) (stringp v)))
:group 'beardbolt)
-(defcustom bb-command nil
+(bb--defoption bb-command nil
"The base command to run beardbolt from."
:type 'string
;; nil means use default command
:safe (lambda (v) (or (booleanp v) (listp v) (stringp v)))
:group 'beardbolt)
-(defcustom bb-asm-format 'att
+(bb--defoption bb-asm-format 'att
"Which output assembly format to use.
Passed directly to compiler or disassembler."
:type 'string
:safe (lambda (v) (or (booleanp v) (symbolp v) (stringp v)))
:group 'beardbolt)
-(defcustom bb-preserve-directives nil
+(bb--defoption bb-preserve-directives nil
"Whether to preserve assembly directives."
:type 'boolean
:safe 'booleanp
:group 'beardbolt)
-(defcustom bb-preserve-labels nil
+(bb--defoption bb-preserve-labels nil
"Whether to preserve unused labels."
:type 'boolean
:safe 'booleanp
:group 'beardbolt)
-(defcustom bb-preserve-comments nil
+(bb--defoption bb-preserve-comments nil
"Whether to filter comment-only lines."
:type 'boolean
:safe 'booleanp
:group 'beardbolt)
-(defcustom bb-demangle t
+(bb--defoption bb-demangle t
"Whether to attempt to demangle the resulting assembly."
:type 'boolean
:safe 'booleanp
@@ -564,6 +568,7 @@ Argument STR compilation finish status."
Interactively, determine LANG from `major-mode'."
(interactive (list (bb--get-lang)))
(bb--maybe-stop-running-compilation)
+ (mapatoms (lambda (s) (when (get s 'bb--option) (kill-local-variable s))))
(cl-letf (((symbol-function 'hack-local-variables-confirm)
(lambda (_all-vars unsafe-vars risky-vars &rest _)
(when unsafe-vars
- [elpa] externals/beardbolt f6b72fe0eb 248/323: First stab at rainbow overlays, (continued)
- [elpa] externals/beardbolt f6b72fe0eb 248/323: First stab at rainbow overlays, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 3cace942b8 251/323: Fix buffer selection problems, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 041234b499 241/323: Improve auto-compilation, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 2421b29094 255/323: Remove .ert-runner, .gitlab-ci.yml and Cask, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 49e2500be1 259/323: Use shorthands so I can just type bb- instead of beardbolt-, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 58b07a215c 268/323: Simplify some code, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 9f6d1cf10c 269/323: Remove some rmsbolt remnants, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 5deed3972e 276/323: * beardbolt.el (bb--reachable-p, bb--process-asm): Use obarrays., ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 291f82a324 266/323: Continue rewriting, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 3195997ccd 275/323: * beardbolt.el (bb--synch-relation-overlays): Rework and bugfix., ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt a13f8fe7f4 287/323: Reset beardbolt-specific locals before hacking them in,
ELPA Syncer <=
- [elpa] externals/beardbolt 85d24d69f1 286/323: Add bb-kill-symbol-re option, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 10fe7307c3 291/323: Get a better C++ starter example, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 5324775417 321/323: Add beardbolt-shuffle-rainbow option, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 90b5cad9c1 016/323: Finish initial implementation of dissasembly, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt de183bea12 010/323: Add support for c++ and c, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 627dd4c1c9 059/323: Allow for custom asm processing functions, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 978d8290a1 067/323: Add guide on adding new languages, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt f911321a02 058/323: Add support for automatically hot recompiling, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 86742e7b76 055/323: Merge branch 'master' of gitlab.com:jgkamat/rmsbolt, ELPA Syncer, 2023/03/09
- [elpa] externals/beardbolt 01f7664eda 060/323: Fix tests, ELPA Syncer, 2023/03/09