;;; rfn-eshadow.el --- Highlight `shadowed' part of read-file-name input text
;;
;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
-;; 2005, 2006, 2007 Free Software Foundation, Inc.
+;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: convenience minibuffer
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
:group 'minibuffer
:version "22.1")
+(defvar rfn-eshadow-setup-minibuffer-hook nil
+ "Minibuffer setup functions from other packages.")
+
+(defvar rfn-eshadow-update-overlay-hook nil
+ "Customer overlay functions from other packages")
+
\f
;;; Internal variables
(overlay-put rfn-eshadow-overlay 'evaporate t)
;; Add our post-command hook, and make sure can remove it later.
(add-to-list 'rfn-eshadow-frobbed-minibufs (current-buffer))
- (add-hook 'post-command-hook #'rfn-eshadow-update-overlay nil t)))
+ (add-hook 'post-command-hook #'rfn-eshadow-update-overlay nil t)
+ ;; Run custom hook
+ (run-hooks 'rfn-eshadow-setup-minibuffer-hook)))
(defsubst rfn-eshadow-sifn-equal (goal pos)
(equal goal (condition-case nil
(if (rfn-eshadow-sifn-equal goal mid)
(setq start mid)
(setq end mid)))
- (move-overlay rfn-eshadow-overlay (minibuffer-prompt-end) start)))
+ (move-overlay rfn-eshadow-overlay (minibuffer-prompt-end) start))
+ ;; Run custom hook
+ (run-hooks 'rfn-eshadow-update-overlay-hook))
;; `substitute-in-file-name' can fail on partial input.
(error nil)))
\f