Mercurial > emacs
changeset 95776:dc7fbbea402e
(make-text-button): Allow `start' to be a string.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 10 Jun 2008 14:17:32 +0000 |
parents | a3877ae5028b |
children | edc51d72cb17 |
files | lisp/ChangeLog lisp/button.el |
diffstat | 2 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Jun 10 11:14:15 2008 +0000 +++ b/lisp/ChangeLog Tue Jun 10 14:17:32 2008 +0000 @@ -1,3 +1,7 @@ +2008-06-10 Stefan Monnier <monnier@iro.umontreal.ca> + + * button.el (make-text-button): Allow `start' to be a string. + 2008-06-10 Juanma Barranquero <lekktu@gmail.com> * emacs-lisp/autoload.el (autoload-rubric): @@ -13,8 +17,8 @@ * subr.el (locate-library): Doc fix. * net/newsticker-treeview.el (w3m-toggle-inline-images): Declare. - (newsticker-treeview-tool-bar-map, newsticker-treeview-mode): Check - tool-bar-map is bound, for non-X builds. + (newsticker-treeview-tool-bar-map, newsticker-treeview-mode): + Check tool-bar-map is bound, for non-X builds. * net/newsticker-reader.el (newsticker--next-item-image) (newsticker--previous-item-image, newsticker--previous-feed-image)
--- a/lisp/button.el Tue Jun 10 11:14:15 2008 +0000 +++ b/lisp/button.el Tue Jun 10 14:17:32 2008 +0000 @@ -293,10 +293,15 @@ large numbers of buttons can also be somewhat faster using `make-text-button'. +BEG can also be a string, in which case it is made into a button. + Also see `insert-text-button'." - (let ((type-entry + (let ((object nil) + (type-entry (or (plist-member properties 'type) (plist-member properties :type)))) + (when (stringp beg) + (setq object beg beg 0 end (length object))) ;; Disallow setting the `category' property directly. (when (plist-get properties 'category) (error "Button `category' property may not be set directly")) @@ -308,15 +313,16 @@ ;; text-properties for inheritance. (setcar type-entry 'category) (setcar (cdr type-entry) - (button-category-symbol (car (cdr type-entry)))))) - ;; Now add all the text properties at once - (add-text-properties beg end - ;; Each button should have a non-eq `button' - ;; property so that next-single-property-change can - ;; detect boundaries reliably. - (cons 'button (cons (list t) properties))) - ;; Return something that can be used to get at the button. - beg) + (button-category-symbol (car (cdr type-entry))))) + ;; Now add all the text properties at once + (add-text-properties beg end + ;; Each button should have a non-eq `button' + ;; property so that next-single-property-change can + ;; detect boundaries reliably. + (cons 'button (cons (list t) properties)) + object) + ;; Return something that can be used to get at the button. + beg)) (defun insert-text-button (label &rest properties) "Insert a button with the label LABEL.