Function: activities-define

activities-define is an autoloaded, interactive and byte-compiled function defined in activities.el.

Signature

(activities-define NAME &key FORCEP)

Documentation

Define current state as a new activity with NAME.

If FORCEP (interactively, with prefix), redefine existing activity.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/activities-0.7.2/activities.el
;;;; Commands

;;;###autoload
(cl-defun activities-define (name &key forcep)
  "Define current state as a new activity with NAME.
If FORCEP (interactively, with prefix), redefine existing
activity."
  (interactive
   (let* ((current-activity-name
           (when-let ((current-activity (activities-current)))
             (activities-activity-name current-activity)))
          (default (or current-activity-name (funcall activities-default-name-fn))))
     (list (read-string (format-prompt "New activity name" default) nil nil default)
           :forcep current-prefix-arg)))
  (when (and (not forcep) (member name (activities-names)))
    (user-error "Activity named %S already exists" name))
  (let ((activity (make-activities-activity :name name)))
    (activities--set activity)
    (activities-save activity :defaultp t :lastp t)
    (when activities-bookmark-store
      (activities-bookmark-store activity))
    (activities--switch activity)
    activity))