Variable: custom-variable-extended-menu

custom-variable-extended-menu is a variable defined in cus-edit.el.gz.

Value


Documentation

A menu for custom-variable widgets.

Used in custom-variable-action to show a menu to the user.

Source Code

;; Defined in /usr/src/emacs/lisp/cus-edit.el.gz
(defvar custom-variable-extended-menu
  ;; No need to give the keymap a prompt, `widget-choose' takes care of it.
  (let ((map (make-sparse-keymap)))
    (define-key-after map [custom-variable-set]
      '(menu-item "Set for Current Session" custom-variable-set
                  :enable (eq (widget-get custom-actioned-widget :custom-state)
                              'modified)))
    ;; Conditionally add items that depend on having loaded the custom-file,
    ;; rather than giving it a :visible form, because we used to conditionally
    ;; add this item when using simplified menus.
    ;; Note that we test init-file-user rather than user-init-file.  This is
    ;; in case cus-edit is loaded by something in site-start.el, because
    ;; user-init-file is not set at that stage.
    ;; https://lists.gnu.org/r/emacs-devel/2007-10/msg00310.html
    (when (or custom-file init-file-user)
      (define-key-after map [custom-variable-save]
        '(menu-item "Save for Future Sessions" custom-variable-save
                    :enable (memq
                             (widget-get custom-actioned-widget :custom-state)
                             '(modified set changed rogue)))))
    (define-key-after map [custom-redraw]
      '(menu-item "Undo Edits" custom-redraw
                  :enable (memq
                           (widget-get custom-actioned-widget :custom-state)
                           '(modified changed))))
    (define-key-after map [custom-variable-reset-saved]
      '(menu-item "Revert This Session's Customization"
                  custom-variable-reset-saved
                  :enable (memq
                           (widget-get custom-actioned-widget :custom-state)
                           '(modified set changed rogue))))
    (when (or custom-file init-file-user)
      (define-key-after map [custom-variable-reset-standard]
        '(menu-item "Erase Customization" custom-variable-reset-standard
                    :enable (memq
                             (widget-get custom-actioned-widget :custom-state)
                             '(modified set changed saved rogue)))))
    (define-key-after map [custom-variable-reset-backup]
      '(menu-item "Set to Backup Value" custom-variable-reset-backup
                  :enable (get
                           (widget-value custom-actioned-widget)
                           'backup-value)))
    (define-key-after map [sep0]
      '(menu-item "---"))
    (define-key-after map [custom-comment-show]
      '(menu-item "Add Comment" custom-comment-show
                  :enable (custom-comment-invisible-p custom-actioned-widget)))
    (define-key-after map [sep1]
      '(menu-item "---"))
    (define-key-after map [custom-variable-edit]
      '(menu-item "Show Current Value" custom-variable-edit
                  :button (:radio . (eq (widget-get custom-actioned-widget
                                                    :custom-form)
                                        'edit))))
    (define-key-after map [custom-variable-edit-lisp]
      '(menu-item "Show Saved Lisp Expression" custom-variable-edit-lisp
                  :button (:radio . (eq (widget-get custom-actioned-widget
                                                    :custom-form)
                                        'lisp))))
    map)
  "A menu for `custom-variable' widgets.
Used in `custom-variable-action' to show a menu to the user.")