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 ()
 | 
					(defun keyboard/swap-caps-lock-and-escape ()
 | 
				
			||||||
  "Swaps the caps lock and escape keys using xmodmap."
 | 
					  "Swaps the caps lock and escape keys using xmodmap."
 | 
				
			||||||
  (interactive)
 | 
					  (interactive)
 | 
				
			||||||
 | 
					  ;; TODO: Ensure these work once the tokenizing in prelude/start-process works
 | 
				
			||||||
 | 
					  ;; as expected.
 | 
				
			||||||
  (prelude/start-process
 | 
					  (prelude/start-process
 | 
				
			||||||
   :name "keyboard/swap-caps-lock-and-escape"
 | 
					   :name "keyboard/swap-caps-lock-and-escape"
 | 
				
			||||||
   :command "xmodmap -e 'remove Lock = Caps_Lock'")
 | 
					   :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 input from user with PROMPT."
 | 
				
			||||||
  (read-string 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)
 | 
					(cl-defun prelude/start-process (&key name command)
 | 
				
			||||||
  "Pass command string, COMMAND, and the function name, NAME.
 | 
					  "Pass command string, COMMAND, and the function name, NAME.
 | 
				
			||||||
This is a wrapper around `start-process' that has an API that resembles
 | 
					This is a wrapper around `start-process' that has an API that resembles
 | 
				
			||||||
`shell-command'."
 | 
					`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))
 | 
					  (let* ((tokens (string/split " " command))
 | 
				
			||||||
         (program-name (list/head tokens))
 | 
					         (program-name (list/head tokens))
 | 
				
			||||||
         (program-args (list/tail tokens)))
 | 
					         (program-args (list/tail tokens)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue