1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(make-text-button): Allow `start' to be a string.

This commit is contained in:
Stefan Monnier 2008-06-10 14:17:32 +00:00
parent d948c43141
commit 12b139e9a8
2 changed files with 22 additions and 12 deletions

View File

@ -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)

View File

@ -293,10 +293,15 @@ 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'.
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 @@ Also see `insert-text-button'."
;; 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.