From 730f4d722a80a8c4dbaf31099ad8721bf97d1c55 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 19 Mar 2005 11:52:25 +0000 Subject: (write_segment, unexec): Move these functions to avoid forward references (which cause errors with "gcc -gcoff"). --- src/ChangeLog | 5 ++ src/unexec.c | 195 +++++++++++++++++++++++++++++----------------------------- 2 files changed, 102 insertions(+), 98 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 92be15873c..9a9b706ad1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2005-03-19 Eli Zaretskii + + * unexec.c (write_segment, unexec): Move these functions to avoid + forward references (which cause errors with "gcc -gcoff"). + 2005-03-18 Jan Dj,Ad(Brv * xfns.c (x_create_tip_frame): Removed setting of Vx_resource_name so diff --git a/src/unexec.c b/src/unexec.c index dadea560e0..156cad16f9 100644 --- a/src/unexec.c +++ b/src/unexec.c @@ -367,48 +367,6 @@ static int copy_text_and_data (); static int copy_sym (); static void mark_x (); -/* **************************************************************** - * unexec - * - * driving logic. - */ -unexec (new_name, a_name, data_start, bss_start, entry_address) - char *new_name, *a_name; - unsigned data_start, bss_start, entry_address; -{ - int new, a_out = -1; - - if (a_name && (a_out = open (a_name, O_RDONLY)) < 0) - { - PERROR (a_name); - } - if ((new = creat (new_name, 0666)) < 0) - { - PERROR (new_name); - } - - if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 - || copy_text_and_data (new, a_out) < 0 - || copy_sym (new, a_out, a_name, new_name) < 0 -#ifdef COFF -#ifndef COFF_BSD_SYMBOLS - || adjust_lnnoptrs (new, a_out, new_name) < 0 -#endif -#endif - ) - { - close (new); - /* unlink (new_name); /* Failed, unlink new a.out */ - return -1; - } - - close (new); - if (a_out >= 0) - close (a_out); - mark_x (new_name); - return 0; -} - /* **************************************************************** * make_hdr * @@ -835,6 +793,61 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) #endif /* not COFF */ } +write_segment (new, ptr, end) + int new; + register char *ptr, *end; +{ + register int i, nwrite, ret; + char buf[80]; +#ifndef USE_CRT_DLL + extern int errno; +#endif + /* This is the normal amount to write at once. + It is the size of block that NFS uses. */ + int writesize = 1 << 13; + int pagesize = getpagesize (); + char zeros[1 << 13]; + + bzero (zeros, sizeof (zeros)); + + for (i = 0; ptr < end;) + { + /* Distance to next multiple of writesize. */ + nwrite = (((int) ptr + writesize) & -writesize) - (int) ptr; + /* But not beyond specified end. */ + if (nwrite > end - ptr) nwrite = end - ptr; + ret = write (new, ptr, nwrite); + /* If write gets a page fault, it means we reached + a gap between the old text segment and the old data segment. + This gap has probably been remapped into part of the text segment. + So write zeros for it. */ + if (ret == -1 +#ifdef EFAULT + && errno == EFAULT +#endif + ) + { + /* Write only a page of zeros at once, + so that we we don't overshoot the start + of the valid memory in the old data segment. */ + if (nwrite > pagesize) + nwrite = pagesize; + write (new, zeros, nwrite); + } +#if 0 /* Now that we have can ask `write' to write more than a page, + it is legit for write do less than the whole amount specified. */ + else if (nwrite != ret) + { + sprintf (buf, + "unexec write failure: addr 0x%x, fileno %d, size 0x%x, wrote 0x%x, errno %d", + ptr, new, nwrite, ret, errno); + PERROR (buf); + } +#endif + i += nwrite; + ptr += nwrite; + } +} /* **************************************************************** * copy_text_and_data * @@ -1060,62 +1073,6 @@ copy_text_and_data (new, a_out) return 0; } - -write_segment (new, ptr, end) - int new; - register char *ptr, *end; -{ - register int i, nwrite, ret; - char buf[80]; -#ifndef USE_CRT_DLL - extern int errno; -#endif - /* This is the normal amount to write at once. - It is the size of block that NFS uses. */ - int writesize = 1 << 13; - int pagesize = getpagesize (); - char zeros[1 << 13]; - - bzero (zeros, sizeof (zeros)); - - for (i = 0; ptr < end;) - { - /* Distance to next multiple of writesize. */ - nwrite = (((int) ptr + writesize) & -writesize) - (int) ptr; - /* But not beyond specified end. */ - if (nwrite > end - ptr) nwrite = end - ptr; - ret = write (new, ptr, nwrite); - /* If write gets a page fault, it means we reached - a gap between the old text segment and the old data segment. - This gap has probably been remapped into part of the text segment. - So write zeros for it. */ - if (ret == -1 -#ifdef EFAULT - && errno == EFAULT -#endif - ) - { - /* Write only a page of zeros at once, - so that we we don't overshoot the start - of the valid memory in the old data segment. */ - if (nwrite > pagesize) - nwrite = pagesize; - write (new, zeros, nwrite); - } -#if 0 /* Now that we have can ask `write' to write more than a page, - it is legit for write do less than the whole amount specified. */ - else if (nwrite != ret) - { - sprintf (buf, - "unexec write failure: addr 0x%x, fileno %d, size 0x%x, wrote 0x%x, errno %d", - ptr, new, nwrite, ret, errno); - PERROR (buf); - } -#endif - i += nwrite; - ptr += nwrite; - } -} /* **************************************************************** * copy_sym @@ -1264,6 +1221,48 @@ adjust_lnnoptrs (writedesc, readdesc, new_name) #endif /* COFF */ +/* **************************************************************** + * unexec + * + * driving logic. + */ +unexec (new_name, a_name, data_start, bss_start, entry_address) + char *new_name, *a_name; + unsigned data_start, bss_start, entry_address; +{ + int new, a_out = -1; + + if (a_name && (a_out = open (a_name, O_RDONLY)) < 0) + { + PERROR (a_name); + } + if ((new = creat (new_name, 0666)) < 0) + { + PERROR (new_name); + } + + if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 + || copy_text_and_data (new, a_out) < 0 + || copy_sym (new, a_out, a_name, new_name) < 0 +#ifdef COFF +#ifndef COFF_BSD_SYMBOLS + || adjust_lnnoptrs (new, a_out, new_name) < 0 +#endif +#endif + ) + { + close (new); + /* unlink (new_name); /* Failed, unlink new a.out */ + return -1; + } + + close (new); + if (a_out >= 0) + close (a_out); + mark_x (new_name); + return 0; +} + #endif /* not CANNOT_DUMP */ /* arch-tag: 62409b69-e27a-4a7c-9413-0210d6b54e7f -- cgit v1.2.3 From a18bf8979eefd6716b8755755781e14f86d2c8ab Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 19 Mar 2005 16:36:01 +0000 Subject: (keys_of_keyboard): Just use `ignore' instead of the redundant `ignore-event'. --- src/keyboard.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/keyboard.c b/src/keyboard.c index eb8d481dc1..f9b0a843de 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -11427,10 +11427,29 @@ keys_of_keyboard () initial_define_lispy_key (Vspecial_event_map, "delete-frame", "handle-delete-frame"); + /* Here we used to use `ignore-event' which would simple set prefix-arg to + current-prefix-arg, as is done in `handle-switch-frame'. + But `handle-switch-frame is not run from the special-map. + Commands from that map are run in a special way that automatically + preserves the prefix-arg. Restoring the prefix arg here is not just + redundant but harmful: + - C-u C-x v = + - current-prefix-arg is set to non-nil, prefix-arg is set to nil. + - after the first prompt, the exit-minibuffer-hook is run which may + iconify a frame and thus push a `iconify-frame' event. + - after running exit-minibuffer-hook, current-prefix-arg is + restored to the non-nil value it had before the prompt. + - we enter the second prompt. + current-prefix-arg is non-nil, prefix-arg is nil. + - before running the first real event, we run the special iconify-frame + event, but we pass the `special' arg to execute-command so + current-prefix-arg and prefix-arg are left untouched. + - here we foolishly copy the non-nil current-prefix-arg to prefix-arg. + - the next key event will have a spuriously non-nil current-prefix-arg. */ initial_define_lispy_key (Vspecial_event_map, "iconify-frame", - "ignore-event"); + "ignore"); initial_define_lispy_key (Vspecial_event_map, "make-frame-visible", - "ignore-event"); + "ignore"); /* Handling it at such a low-level causes read_key_sequence to get * confused because it doesn't realize that the current_buffer was * changed by read_char. -- cgit v1.2.3 From 6027e473edbfd0ba45ba7c3a121aea6b234389af Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 19 Mar 2005 16:37:27 +0000 Subject: (Fignore_event): Remove. (syms_of_frame): Don't defsubr it. --- src/ChangeLog | 10 +++++++++- src/frame.c | 27 --------------------------- 2 files changed, 9 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 9a9b706ad1..7b85f12f1b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2005-03-19 Stefan Monnier + + * frame.c (Fignore_event): Remove. + (syms_of_frame): Don't defsubr it. + + * keyboard.c (keys_of_keyboard): Just use `ignore' instead of the + redundant `ignore-event'. + 2005-03-19 Eli Zaretskii * unexec.c (write_segment, unexec): Move these functions to avoid @@ -5,7 +13,7 @@ 2005-03-18 Jan Dj,Ad(Brv - * xfns.c (x_create_tip_frame): Removed setting of Vx_resource_name so + * xfns.c (x_create_tip_frame): Remove setting of Vx_resource_name so that it doesn't become "tooltip". The specbind is enough. * xrdb.c (x_load_resources): Use different char *helv when I18N diff --git a/src/frame.c b/src/frame.c index ce48a3f5fb..d86d29db28 100644 --- a/src/frame.c +++ b/src/frame.c @@ -765,32 +765,6 @@ to that frame. */) return do_switch_frame (event, 0, 0); } -DEFUN ("ignore-event", Fignore_event, Signore_event, 0, 0, "", - doc: /* Do nothing. -This is a suitable binding for `iconify-frame' and `make-frame-visible'. */) - () -{ - /* Contrary to `handle-switch-frame', `ignore-event' is used from - `special-event-map'. Commands from that map are run in a special - way that automatically preserves the prefix-arg. Restoring - the prefix arg here is not just redundant but harmful: - - C-u C-x v = - - current-prefix-arg is set to non-nil, prefix-arg is set to nil. - - after the first prompt, the exit-minibuffer-hook is run which may - iconify a frame and thus push a `iconify-frame' event. - - after running exit-minibuffer-hook, current-prefix-arg is - restored to the non-nil value it had before the prompt. - - we enter the second prompt. - current-prefix-arg is non-nil, prefix-arg is nil. - - before running the first real event, we run the special iconify-frame - event, but we pass the `special' arg to execute-command so - current-prefix-arg and prefix-arg are left untouched. - - here we foolishly copy the non-nil current-prefix-arg to prefix-arg. - - the next key event will have a spuriously non-nil current-prefix-arg. - current_kboard->Vprefix_arg = Vcurrent_prefix_arg; */ - return Qnil; -} - DEFUN ("selected-frame", Fselected_frame, Sselected_frame, 0, 0, 0, doc: /* Return the frame that is now selected. */) () @@ -4127,7 +4101,6 @@ This variable is local to the current terminal and cannot be buffer-local. */); defsubr (&Sframe_live_p); defsubr (&Smake_terminal_frame); defsubr (&Shandle_switch_frame); - defsubr (&Signore_event); defsubr (&Sselect_frame); defsubr (&Sselected_frame); defsubr (&Swindow_frame); -- cgit v1.2.3 From 32b939ead529324d6c5627fd24471b4e6efe88c5 Mon Sep 17 00:00:00 2001 From: Thien-Thi Nguyen Date: Mon, 21 Mar 2005 17:36:01 +0000 Subject: (LD_SWITCH_SYSTEM_tmp): Define if undefined. --- src/ChangeLog | 4 ++++ src/s/openbsd.h | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 7b85f12f1b..ffe7e87287 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2005-03-21 Thien-Thi Nguyen + + * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined. + 2005-03-19 Stefan Monnier * frame.c (Fignore_event): Remove. diff --git a/src/s/openbsd.h b/src/s/openbsd.h index d3730324ce..39e48da39a 100644 --- a/src/s/openbsd.h +++ b/src/s/openbsd.h @@ -3,6 +3,13 @@ /* Mostly the same as NetBSD. */ #include "netbsd.h" +/* This very-badly named symbol is conditionally defined in netbsd.h. + Better would be either to not need it in the first place, or to choose + a more descriptive name. */ +#ifndef LD_SWITCH_SYSTEM_tmp +#define LD_SWITCH_SYSTEM_tmp /* empty */ +#endif + /* David Mazieres says this is necessary. Otherwise Emacs dumps core when run -nw. */ #undef LIBS_TERMCAP -- cgit v1.2.3 From d615870ac51052b656ac5df860cd7afe885be5ad Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Tue, 22 Mar 2005 16:04:02 +0000 Subject: (Fnext_char_property_change) (Fprevious_char_property_change): allow marker as limit. (Fnext_single_char_property_change) (Fprevious_single_char_property_change): Check that limit is a number in strings. (Fnext_single_char_property_change): Coerce position to integer. (Fprevious_single_char_property_change): Same here. --- src/ChangeLog | 10 ++++++++++ src/textprop.c | 18 ++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index ffe7e87287..35961e7197 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2005-03-22 David Kastrup + + * textprop.c (Fnext_char_property_change) + (Fprevious_char_property_change): allow marker as limit. + (Fnext_single_char_property_change) + (Fprevious_single_char_property_change): Check that limit is a + number in strings. + (Fnext_single_char_property_change): Coerce position to integer. + (Fprevious_single_char_property_change): Same here. + 2005-03-21 Thien-Thi Nguyen * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined. diff --git a/src/textprop.c b/src/textprop.c index 317f8fa6aa..e6dd411dcc 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -729,7 +729,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */) temp = Fnext_overlay_change (position); if (! NILP (limit)) { - CHECK_NUMBER (limit); + CHECK_NUMBER_COERCE_MARKER (limit); if (XINT (limit) < XINT (temp)) temp = limit; } @@ -754,7 +754,7 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */) temp = Fprevious_overlay_change (position); if (! NILP (limit)) { - CHECK_NUMBER (limit); + CHECK_NUMBER_COERCE_MARKER (limit); if (XINT (limit) > XINT (temp)) temp = limit; } @@ -787,7 +787,10 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */) if (NILP (limit)) position = make_number (SCHARS (object)); else - position = limit; + { + CHECK_NUMBER (limit); + position = limit; + } } } else @@ -804,6 +807,8 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT. */) Fset_buffer (object); } + CHECK_NUMBER_COERCE_MARKER (position); + initial_value = Fget_char_property (position, prop, object); if (NILP (limit)) @@ -856,7 +861,10 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT. */) if (NILP (limit)) position = make_number (SCHARS (object)); else - position = limit; + { + CHECK_NUMBER (limit); + position = limit; + } } } else @@ -872,6 +880,8 @@ back past position LIMIT; return LIMIT if nothing is found before LIMIT. */) Fset_buffer (object); } + CHECK_NUMBER_COERCE_MARKER (position); + if (NILP (limit)) XSETFASTINT (limit, BUF_BEGV (current_buffer)); else -- cgit v1.2.3 From 6ca30ba48ff1449ae8fa4a9b9ae8da50bd16a2d4 Mon Sep 17 00:00:00 2001 From: Jan Djärv Date: Tue, 22 Mar 2005 21:42:44 +0000 Subject: * xrdb.c (x_load_resources): Undo previous change (2005-03-18). --- src/ChangeLog | 4 ++++ src/xrdb.c | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index 35961e7197..30fc699049 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2005-03-22 Jan Dj,Ad(Brv + + * xrdb.c (x_load_resources): Undo previous change (2005-03-18). + 2005-03-22 David Kastrup * textprop.c (Fnext_char_property_change) diff --git a/src/xrdb.c b/src/xrdb.c index e4d8b34cab..852fa2b808 100644 --- a/src/xrdb.c +++ b/src/xrdb.c @@ -527,11 +527,9 @@ x_load_resources (display, xrm_string, myname, myclass) XrmDatabase rdb; XrmDatabase db; char line[256]; -#ifdef HAVE_X_I18N - char *helv = "-*-helvetica-medium-r-*--*-120-*-*-*-*,*"; -#else + char *helv = "-*-helvetica-medium-r-*--*-120-*-*-*-*-iso8859-1"; -#endif + #ifdef USE_MOTIF char *courier = "-*-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1"; extern Lisp_Object Vdouble_click_time; -- cgit v1.2.3 From 19aaca78a766e565ddfd5c4cc8b3d6a5a438f156 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:00:23 +0000 Subject: * dispextern.h (lookup_derived_face): Fix prototype. --- src/dispextern.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/dispextern.h b/src/dispextern.h index d331121627..fa7d1f811f 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -2779,7 +2779,7 @@ int lookup_face P_ ((struct frame *, Lisp_Object *, int, struct face *)); int lookup_named_face P_ ((struct frame *, Lisp_Object, int, int)); int smaller_face P_ ((struct frame *, int, int)); int face_with_height P_ ((struct frame *, int, int)); -int lookup_derived_face P_ ((struct frame *, Lisp_Object, int, int)); +int lookup_derived_face P_ ((struct frame *, Lisp_Object, int, int, int)); void init_frame_faces P_ ((struct frame *)); void free_frame_faces P_ ((struct frame *)); void recompute_basic_faces P_ ((struct frame *)); -- cgit v1.2.3 From 308785c1247c6e3bb972aefb5b792070e5619d0f Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:00:44 +0000 Subject: (draw_fringe_bitmap_1, Fset_fringe_bitmap_face): Derive face from fringe face. --- src/fringe.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/fringe.c b/src/fringe.c index 9e9d6be081..f375159c8b 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -551,7 +551,8 @@ draw_fringe_bitmap_1 (w, row, left_p, overlay, which) Lisp_Object face; if ((face = fringe_faces[which], NILP (face)) - || (face_id = lookup_named_face (f, face, 'A', 1), face_id < 0)) + || (face_id = lookup_derived_face (f, face, 'A', FRINGE_FACE_ID, 0), + face_id < 0)) face_id = FRINGE_FACE_ID; } @@ -1360,7 +1361,8 @@ If FACE is nil, reset face to default fringe face. */) if (!NILP (face)) { - face_id = lookup_named_face (SELECTED_FRAME (), face, 'A', 1); + face_id = lookup_derived_face (SELECTED_FRAME (), face, + 'A', FRINGE_FACE_ID, 1); if (face_id < 0) error ("No such face"); } -- cgit v1.2.3 From 20a98505962f9fb4754455b354677864ed601db9 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:00:59 +0000 Subject: (XMenuActivate): Fix call to lookup_derived_face. --- src/msdos.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/msdos.c b/src/msdos.c index d75ea18ea9..f4717404d4 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -3799,15 +3799,15 @@ XMenuActivate (Display *foo, XMenu *menu, int *pane, int *selidx, screensize = screen_size * 2; faces[0] = lookup_derived_face (sf, intern ("msdos-menu-passive-face"), - 0, DEFAULT_FACE_ID); + 0, DEFAULT_FACE_ID, 1); faces[1] = lookup_derived_face (sf, intern ("msdos-menu-active-face"), - 0, DEFAULT_FACE_ID); + 0, DEFAULT_FACE_ID, 1); selectface = intern ("msdos-menu-select-face"); faces[2] = lookup_derived_face (sf, selectface, - 0, faces[0]); + 0, faces[0], 1); faces[3] = lookup_derived_face (sf, selectface, - 0, faces[1]); + 0, faces[1], 1); /* Make sure the menu title is always displayed with `msdos-menu-active-face', no matter where the mouse pointer is. */ -- cgit v1.2.3 From 3a2b4c84ccc212721da2a8d73ebe794194bf2b51 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:01:17 +0000 Subject: (handle_single_display_spec): Derive left-fringe and right-fringe face from fringe face. --- src/xdisp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/xdisp.c b/src/xdisp.c index 42f0097a7c..a8559caa8d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3726,7 +3726,8 @@ handle_single_display_spec (it, spec, object, position, if (CONSP (XCDR (XCDR (spec)))) { Lisp_Object face_name = XCAR (XCDR (XCDR (spec))); - int face_id2 = lookup_named_face (it->f, face_name, 'A', 0); + int face_id2 = lookup_derived_face (it->f, face_name, + 'A', FRINGE_FACE_ID, 0); if (face_id2 >= 0) face_id = face_id2; } -- cgit v1.2.3 From d196a54737897fdd4a19ca62034f53ce731d5f20 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:02:03 +0000 Subject: (lookup_derived_face): Add arg SIGNAL_P. --- src/xfaces.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/xfaces.c b/src/xfaces.c index 753b20765d..146036aa97 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -5775,7 +5775,7 @@ face_with_height (f, face_id, height) is assumed to be already realized. */ int -lookup_derived_face (f, symbol, c, face_id) +lookup_derived_face (f, symbol, c, face_id, signal_p) struct frame *f; Lisp_Object symbol; int c; @@ -5788,7 +5788,7 @@ lookup_derived_face (f, symbol, c, face_id) if (!default_face) abort (); - get_lface_attributes (f, symbol, symbol_attrs, 1); + get_lface_attributes (f, symbol, symbol_attrs, signal_p); bcopy (default_face->lface, attrs, sizeof attrs); merge_face_vectors (f, symbol_attrs, attrs, 0); return lookup_face (f, attrs, c, default_face); @@ -7731,7 +7731,7 @@ merge_faces (f, face_name, face_id, base_face_id) if (face_id < 0 || face_id >= lface_id_to_name_size) return base_face_id; face_name = lface_id_to_name[face_id]; - face_id = lookup_derived_face (f, face_name, 0, base_face_id); + face_id = lookup_derived_face (f, face_name, 0, base_face_id, 1); if (face_id >= 0) return face_id; return base_face_id; -- cgit v1.2.3 From 8df0ffbe5f3aa87b7fd02358b856ca23c764792c Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 22 Mar 2005 23:08:41 +0000 Subject: *** empty log message *** --- lisp/ChangeLog | 5 +++++ src/ChangeLog | 12 ++++++++++++ 2 files changed, 17 insertions(+) (limited to 'src') diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 92c537a2d8..a47336fc74 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Kim F. Storm + + * progmodes/gdb-ui.el (breakpoint-enabled, breakpoint-disabled): + Don't inherit from fringe face (now happens automatically). + 2005-03-22 Kim F. Storm * tooltip.el (tooltip-show-help-function): Ignore negative mouse diff --git a/src/ChangeLog b/src/ChangeLog index 30fc699049..2354e59784 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2005-03-22 Kim F. Storm + + * xfaces.c (lookup_derived_face): Add arg SIGNAL_P. + * dispextern.h (lookup_derived_face): Fix prototype. + * msdos.c (XMenuActivate): Fix call to lookup_derived_face. + + * xdisp.c (handle_single_display_spec): Derive left-fringe and + right-fringe face from fringe face. + + * fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face): + Derive face from fringe face. + 2005-03-22 Jan Dj,Ad(Brv * xrdb.c (x_load_resources): Undo previous change (2005-03-18). -- cgit v1.2.3