Function: remember

remember is an autoloaded, interactive and byte-compiled function defined in remember.el.gz.

Signature

(remember &optional INITIAL)

Documentation

Remember an arbitrary piece of data.

INITIAL is the text to initially place in the remember-buffer, or nil to bring up a blank remember-buffer.

With a prefix or a visible region, use the region as INITIAL.

Probably introduced at or before Emacs version 31.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/remember.el.gz
;;;###autoload
(defun remember (&optional initial)
  "Remember an arbitrary piece of data.
INITIAL is the text to initially place in the `remember-buffer',
or nil to bring up a blank `remember-buffer'.

With a prefix or a visible region, use the region as INITIAL."
  (interactive
   (list (when (or current-prefix-arg
                   (and mark-active
                        transient-mark-mode))
           (buffer-substring (region-beginning) (region-end)))))
  (funcall (if remember-in-new-frame
               #'frameset-to-register
             #'window-configuration-to-register)
           remember-register)
  (let* ((annotation
          (if remember-run-all-annotation-functions-flag
              (mapconcat #'identity
                         (delq nil
                               (mapcar #'funcall remember-annotation-functions))
                         "\n")
            (run-hook-with-args-until-success
             'remember-annotation-functions)))
         (buf (get-buffer-create remember-buffer)))
    (run-hooks 'remember-before-remember-hook)
    (funcall (if remember-in-new-frame
                 #'switch-to-buffer-other-frame
               #'switch-to-buffer-other-window)
             buf)
    (if remember-in-new-frame
        (set-window-dedicated-p
         (get-buffer-window (current-buffer) (selected-frame)) t))
    (setq buffer-offer-save t)
    (funcall (or remember-initial-major-mode
                 initial-major-mode))
    (remember-mode)
    (when (= (point-max) (point-min))
      (when initial (insert initial))
      (setq remember-annotation annotation)
      (when remember-initial-contents (insert remember-initial-contents))
      (when (and (stringp annotation)
                 (not (equal annotation "")))
        (insert "\n\n" annotation))
      (setq remember-initial-contents nil)
      (goto-char (point-min)))
    (message (substitute-command-keys
              "Use \\[remember-finalize] to remember the data"))))