The operations are the strategy

TorgoX on 2005-10-18T10:25:34

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.