Use assert in prelude/start-process
Since the tokenizing isn't working as expected, my keyboard.el function keyboard/swap-caps-lock-and-escape was silenting failing. I'm adding a prelude/refute in that function to make the failures noisy until the tokenizing is properly supported.
This commit is contained in:
parent
e7200fb033
commit
fa681ffdf0
2 changed files with 6 additions and 3 deletions
|
@ -65,6 +65,8 @@
|
|||
(defun keyboard/swap-caps-lock-and-escape ()
|
||||
"Swaps the caps lock and escape keys using xmodmap."
|
||||
(interactive)
|
||||
;; TODO: Ensure these work once the tokenizing in prelude/start-process works
|
||||
;; as expected.
|
||||
(prelude/start-process
|
||||
:name "keyboard/swap-caps-lock-and-escape"
|
||||
:command "xmodmap -e 'remove Lock = Caps_Lock'")
|
||||
|
|
|
@ -116,13 +116,14 @@ difficult to troubleshoot bugs in your init files."
|
|||
"Read input from user with PROMPT."
|
||||
(read-string prompt))
|
||||
|
||||
;; TODO: Fix the bug with tokenizing here, since it will split any whitespace
|
||||
;; character, (even though it shouldn't in the case of quoted string in shell).
|
||||
;; e.g. - "xmodmap -e 'one two three'" => '("xmodmap" "-e" "'one two three'")
|
||||
(cl-defun prelude/start-process (&key name command)
|
||||
"Pass command string, COMMAND, and the function name, NAME.
|
||||
This is a wrapper around `start-process' that has an API that resembles
|
||||
`shell-command'."
|
||||
;; TODO: Fix the bug with tokenizing here, since it will split any whitespace
|
||||
;; character, even though it shouldn't in the case of quoted string in shell.
|
||||
;; e.g. - "xmodmap -e 'one two three'" => '("xmodmap" "-e" "'one two three'")
|
||||
(prelude/refute (string/contains? "'" command))
|
||||
(let* ((tokens (string/split " " command))
|
||||
(program-name (list/head tokens))
|
||||
(program-args (list/tail tokens)))
|
||||
|
|
Loading…
Reference in a new issue