Dear Log,
Today's elisp accomplishments:
(defun spawn-terminal ()
"Spawn a new terminal window"
(interactive)
(call-process "gnome-terminal" nil 0 nil)
)
(defun spawn-explore-pwd ()
"Spawn a filesystem window on pwd"
(interactive)
(call-process "gnome-open" nil 0 nil ".")
)
(defun start-current-buffer ()
"Run the current buffer"
(interactive)
(unless (buffer-file-name) (error
"You have to save this buffer someplace first"))
(save-buffer)
(call-process "gnome-open" nil 0 nil
;start with no input, and ignore output
(buffer-file-name))
)
(defun dired-start-this-file ()
"Run current/selected files"
(interactive)
(mapc
(function (lambda (x)
(call-process "gnome-open" nil 0 nil x)))
(dired-get-marked-files t current-prefix-arg)
))
Apparently call-process is what I've been looking for all this time, for these various tasks where I don't want to capture output, wait for the process to finish, etc.
Further observation: grepping /usr/share/emacs/[funk]/lisp/*.el is a great way to find code to cobble from. Like I had no idea how to throw an error in elisp, or what the "unless" syntax was, so I just grepped and instantly found a dozen examples.
Later in the day, I sat around at the diner for a while with an old BASIC games book, and got some ideas for JavaScripty games in Haida/Tlingit. (That, for the most part, is what I do for a day job these days -- making "multimedia learning tools" for Haida and Tlinigt. It's easy and hard and a different thing every day, and I love it.)
Caffeine is a wonderful thing.