summaryrefslogtreecommitdiff
path: root/lisp/=libc.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-05-24 08:14:51 +0000
committerRichard M. Stallman <rms@gnu.org>1997-05-24 08:14:51 +0000
commitf237aebd72729ab814fcb69553a863903ef5a03f (patch)
treedcb5826f9b54dcfb817b0ab3732b4a17a2f4518f /lisp/=libc.el
parentfe4b7980d76dcce6219382ab56448409bd241cf9 (diff)
downloademacs-f237aebd72729ab814fcb69553a863903ef5a03f.tar.gz
(libc-highlight-overlay): New variable.
(libc-search-index): Use an overlay for highlighting.
Diffstat (limited to 'lisp/=libc.el')
-rw-r--r--lisp/=libc.el17
1 files changed, 13 insertions, 4 deletions
diff --git a/lisp/=libc.el b/lisp/=libc.el
index bbf5115d915..ed1fa394b9f 100644
--- a/lisp/=libc.el
+++ b/lisp/=libc.el
@@ -44,9 +44,12 @@
"Basename of the Info file of the GNU C Library Reference Manual.")
(defvar libc-highlight-face 'highlight
- "*Face for highlighting looked up symbol names in the Info buffer;
+ "*Face for highlighting looked up symbol names in the Info buffer.
`nil' disables highlighting.")
+(defvar libc-highlight-overlay nil
+ "Overlay object used for highlighting.")
+
(defconst libc-symbol-completions nil
"Alist of documented C symbols.")
@@ -232,9 +235,15 @@ not `nil'."
;; occurence of ITEM will be highlighted.
(save-excursion
(re-search-forward (regexp-quote item))
- (put-text-property
- (match-beginning 0) (match-end 0)
- 'face libc-highlight-face)))
+ (let ((start (match-beginning 0))
+ (end (match-end 0)))
+ (if (overlayp libc-highlight-overlay)
+ (move-overlay libc-highlight-overlay
+ start end (current-buffer))
+ (setq libc-highlight-overlay
+ (make-overlay start end))))
+ (overlay-put libc-highlight-overlay
+ 'face libc-highlight-face)))
(beginning-of-line)))
item)
(error nil)))