Here is a feature that I forgot we talked about; the universal
argument M-&. I wrote a straightforward implementation based on how
Gnus does it.


(defun bongo-universal-argument ()
  "Perform the following command at every marked track line.
Reads a key sequence and executes the command it is bound to,
once at every marked track line in the buffer."
  (interactive)
  (let* ((key (read-key-sequence
               (substitute-command-keys
                "\\<bongo-mode-map>\\[bongo-universal-argument]-")))
         (command (key-binding key)))
    (if (null command)
        (error "%s is undefined" (key-description key))
      (save-excursion
        (goto-char (point-min))
        (while (and (not (eobp))
                    (bongo-snap-to-object-line 'no-error))
          (when (bongo-marked-track-line-p)
            (command-execute command))
          (goto-char (bongo-point-after-line)))
        (bongo-kill-marking)))))




_______________________________________________
bongo-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/bongo-devel

Reply via email to