X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/26e06f4464c58704889bdc536edc25b73e8c0179..23a8a5ab697f3389ea6478cdfefe4e67fff28051:/lisp/button.el diff --git a/lisp/button.el b/lisp/button.el index b474a74da9..6ef79532ae 100644 --- a/lisp/button.el +++ b/lisp/button.el @@ -1,10 +1,10 @@ ;;; button.el --- clickable buttons ;; -;; Copyright (C) 2001, 2002, 2003, 2004, 2005, -;; 2006, 2007, 2008 Free Software Foundation, Inc. +;; Copyright (C) 2001-2011 Free Software Foundation, Inc. ;; ;; Author: Miles Bader ;; Keywords: extensions +;; Package: emacs ;; ;; This file is part of GNU Emacs. ;; @@ -37,7 +37,9 @@ ;; the button is represented by a marker or buffer-position pointing ;; somewhere in the button. In the latter case, no markers into the ;; buffer are retained, which is important for speed if there are are -;; extremely large numbers of buttons. +;; extremely large numbers of buttons. Note however that if there is +;; an existing face text-property at the site of the button, the +;; button face may not be visible. Using overlays avoids this. ;; ;; Using `define-button-type' to define default properties for buttons ;; is not necessary, but it is is encouraged, since doing so makes the @@ -52,10 +54,7 @@ ;; Use color for the MS-DOS port because it doesn't support underline. ;; FIXME if MS-DOS correctly answers the (supports) question, it need ;; no longer be a special case. -(defface button '((((type pc) (class color)) - (:foreground "lightblue")) - (((supports :underline t)) :underline t) - (t (:foreground "lightblue"))) +(defface button '((t :inherit link)) "Default face used for buttons." :group 'basic-faces) @@ -84,7 +83,7 @@ Mode-specific keymaps may want to use this as their parent keymap.") (put 'default-button 'type 'button) ;; action may be either a function to call, or a marker to go to (put 'default-button 'action 'ignore) -(put 'default-button 'help-echo "mouse-2, RET: Push this button") +(put 'default-button 'help-echo (purecopy "mouse-2, RET: Push this button")) ;; Make overlay buttons go away if their underlying text is deleted. (put 'default-button 'evaporate t) ;; Prevent insertions adjacent to the text-property buttons from @@ -289,9 +288,12 @@ button-type from which to inherit other properties; see `define-button-type'. This function is like `make-button', except that the button is actually -part of the text instead of being a property of the buffer. Creating -large numbers of buttons can also be somewhat faster using -`make-text-button'. +part of the text instead of being a property of the buffer. That is, +this function uses text properties, the other uses overlays. +Creating large numbers of buttons can also be somewhat faster +using `make-text-button'. Note, however, that if there is an existing +face property at the site of the button, the button face may not be visible. +You may want to use `make-button' in that case. BEG can also be a string, in which case it is made into a button. @@ -476,5 +478,4 @@ Returns the button found." (provide 'button) -;; arch-tag: 5f2c7627-413b-4097-b282-630f89d9c5e9 ;;; button.el ends here