Variable: file-name-shadow-mode

file-name-shadow-mode is a customizable variable defined in rfn-eshadow.el.gz.

Value

t

Documentation

Non-nil if File-Name-Shadow mode is enabled.

See the file-name-shadow-mode(var)/file-name-shadow-mode(fun) command for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node (emacs)Easy Customization) or call the function file-name-shadow-mode(var)/file-name-shadow-mode(fun).

This variable was added, or its default value changed, in Emacs 22.1.

Probably introduced at or before Emacs version 22.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/rfn-eshadow.el.gz
(define-minor-mode file-name-shadow-mode
  "Toggle file-name shadowing in minibuffers (File-Name Shadow mode).

File-Name Shadow mode is a global minor mode.  When enabled, any
part of a filename being read in the minibuffer that would be
ignored (because the result is passed through
`substitute-in-file-name') is given the properties in
`file-name-shadow-properties', which can be used to make that
portion dim, invisible, or otherwise less visually noticeable."
  :global t
  ;; We'd like to use custom-initialize-set here so the setup is done
  ;; before dumping, but at the point where the defcustom is evaluated,
  ;; the corresponding function isn't defined yet, so
  ;; custom-initialize-set signals an error.
  :initialize 'custom-initialize-delay
  :init-value t
  :group 'minibuffer
  :version "22.1"
  (if file-name-shadow-mode
      ;; Enable the mode
      (add-hook 'minibuffer-setup-hook 'rfn-eshadow-setup-minibuffer)
    ;; Disable the mode
    (remove-hook 'minibuffer-setup-hook 'rfn-eshadow-setup-minibuffer)
    ;; Remove our entry from any post-command-hook variable's it's still in
    (dolist (minibuf rfn-eshadow-frobbed-minibufs)
      (with-current-buffer minibuf
	(remove-hook 'post-command-hook #'rfn-eshadow-update-overlay t)))
    (setq rfn-eshadow-frobbed-minibufs nil)))