diff options
| author | Chong Yidong | 2012-06-09 15:27:15 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-06-09 15:27:15 +0800 |
| commit | 4428609619012013fe869dd2b35b14eddbb1d338 (patch) | |
| tree | 94c2e8c43664b4a616c5de94375935742f269f3b | |
| parent | 6175e34b61bb75d18a91d4774c629fb6fb28ab32 (diff) | |
| download | emacs-4428609619012013fe869dd2b35b14eddbb1d338.tar.gz emacs-4428609619012013fe869dd2b35b14eddbb1d338.zip | |
* fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive case.
Fixes: debbugs:9752
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/fringe.c | 14 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 4d93c65fa1f..c221746824a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-06-09 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive | ||
| 4 | case (Bug#9752). | ||
| 5 | |||
| 1 | 2012-06-08 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2012-06-08 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | * xdisp.c (vmessage): Treat frame message as multibyte. | 8 | * xdisp.c (vmessage): Treat frame message as multibyte. |
diff --git a/src/fringe.c b/src/fringe.c index c591d391e9f..39f7e8dbb54 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -1671,23 +1671,27 @@ If FACE is nil, reset face to default fringe face. */) | |||
| 1671 | (Lisp_Object bitmap, Lisp_Object face) | 1671 | (Lisp_Object bitmap, Lisp_Object face) |
| 1672 | { | 1672 | { |
| 1673 | int n; | 1673 | int n; |
| 1674 | int face_id; | ||
| 1675 | 1674 | ||
| 1676 | CHECK_SYMBOL (bitmap); | 1675 | CHECK_SYMBOL (bitmap); |
| 1677 | n = lookup_fringe_bitmap (bitmap); | 1676 | n = lookup_fringe_bitmap (bitmap); |
| 1678 | if (!n) | 1677 | if (!n) |
| 1679 | error ("Undefined fringe bitmap"); | 1678 | error ("Undefined fringe bitmap"); |
| 1680 | 1679 | ||
| 1680 | /* The purpose of the following code is to signal an error if FACE | ||
| 1681 | is not a face. This is for the caller's convenience only; the | ||
| 1682 | redisplay code should be able to fail gracefully. Skip the check | ||
| 1683 | if FRINGE_FACE_ID is unrealized (as in batch mode and during | ||
| 1684 | daemon startup). */ | ||
| 1681 | if (!NILP (face)) | 1685 | if (!NILP (face)) |
| 1682 | { | 1686 | { |
| 1683 | face_id = lookup_derived_face (SELECTED_FRAME (), face, | 1687 | struct frame *f = SELECTED_FRAME (); |
| 1684 | FRINGE_FACE_ID, 1); | 1688 | |
| 1685 | if (face_id < 0) | 1689 | if (FACE_FROM_ID (f, FRINGE_FACE_ID) |
| 1690 | && lookup_derived_face (f, face, FRINGE_FACE_ID, 1) < 0) | ||
| 1686 | error ("No such face"); | 1691 | error ("No such face"); |
| 1687 | } | 1692 | } |
| 1688 | 1693 | ||
| 1689 | fringe_faces[n] = face; | 1694 | fringe_faces[n] = face; |
| 1690 | |||
| 1691 | return Qnil; | 1695 | return Qnil; |
| 1692 | } | 1696 | } |
| 1693 | 1697 | ||