mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 12:21:25 -08:00
(enriched-translations): Add `display' and "x-display".
(enriched-handle-display-prop): New. (enriched-decode-display-prop): New.
This commit is contained in:
parent
34c804a914
commit
d9e28c1ca1
1 changed files with 36 additions and 1 deletions
|
|
@ -121,8 +121,10 @@ expression, which is evaluated to get the string to insert.")
|
|||
(PARAMETER (t "param")) ; Argument of preceding annotation
|
||||
;; The following are not part of the standard:
|
||||
(FUNCTION (enriched-decode-foreground "x-color")
|
||||
(enriched-decode-background "x-bg-color"))
|
||||
(enriched-decode-background "x-bg-color")
|
||||
(enriched-decode-display-prop "x-display"))
|
||||
(read-only (t "x-read-only"))
|
||||
(display (nil enriched-handle-display-prop))
|
||||
(unknown (nil format-annotate-value))
|
||||
; (font-size (2 "bigger") ; unimplemented
|
||||
; (-2 "smaller"))
|
||||
|
|
@ -452,4 +454,37 @@ Return value is \(begin end name positive-p), or nil if none was found."
|
|||
(message "Warning: color `%s' can't be displayed" color)))
|
||||
(list from to 'face face)))
|
||||
|
||||
|
||||
|
||||
;;; Handling the `display' property.
|
||||
|
||||
|
||||
(defun enriched-handle-display-prop (old new)
|
||||
"Return a list of annotations for a change in the `display' property.
|
||||
OLD is the old value of the property, NEW is the new value. Value
|
||||
is a list `(CLOSE OPEN)', where CLOSE is a list of annotations to
|
||||
close and OPEN a list of annotations to open. Each of these lists
|
||||
has the form `(ANNOTATION PARAM ...)'."
|
||||
(let ((annotation "x-display")
|
||||
(param (prin1-to-string (or old new)))
|
||||
close open)
|
||||
(if (null old)
|
||||
(list nil (list annotation param))
|
||||
(list (list annotation param)))))
|
||||
|
||||
|
||||
(defun enriched-decode-display-prop (start end &optional param)
|
||||
"Decode a `display' property for text between START and END.
|
||||
PARAM is a `<param>' found for the property.
|
||||
Value is a list `(START END SYMBOL VALUE)' with START and END denoting
|
||||
the range of text to assign text property SYMBOL with value VALUE "
|
||||
(let ((prop (when (stringp param)
|
||||
(condition-case ()
|
||||
(car (read-from-string param))
|
||||
(error nil)))))
|
||||
(unless prop
|
||||
(message "Warning: invalid <x-display> parameter %s" param))
|
||||
(list start end 'display prop)))
|
||||
|
||||
|
||||
;;; enriched.el ends here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue