aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/minibuf.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index 0b8b00ce2c9..d2a4c9b9538 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -630,8 +630,31 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
630 Qrear_nonsticky, Qt, Qnil); 630 Qrear_nonsticky, Qt, Qnil);
631 Fput_text_property (make_number (BEG), make_number (PT), 631 Fput_text_property (make_number (BEG), make_number (PT),
632 Qfield, Qt, Qnil); 632 Qfield, Qt, Qnil);
633 Fadd_text_properties (make_number (BEG), make_number (PT), 633 if (Fconsp (Vminibuffer_prompt_properties))
634 Vminibuffer_prompt_properties, Qnil); 634 {
635 /* We want to apply all properties from
636 `minibuffer-prompt-properties' to the region normally,
637 but if the `face' property is present, add that
638 property to the end of the face properties to avoid
639 overwriting faces. */
640 Lisp_Object list = Vminibuffer_prompt_properties;
641 while (CONSP (list))
642 {
643 Lisp_Object key = XCAR (list);
644 list = XCDR (list);
645 if (CONSP (list))
646 {
647 Lisp_Object val = XCAR (list);
648 list = XCDR (list);
649 if (EQ (key, Qface))
650 Fadd_face_text_property (make_number (BEG),
651 make_number (PT), val, Qt, Qnil);
652 else
653 Fput_text_property (make_number (BEG), make_number (PT),
654 key, val, Qnil);
655 }
656 }
657 }
635 } 658 }
636 unbind_to (count1, Qnil); 659 unbind_to (count1, Qnil);
637 } 660 }