# HG changeset patch # User Richard M. Stallman # Date 1010093284 0 # Node ID dde71e46eeeb79fa804e918dd78770f5b0e1261d # Parent 2a33faa5165e16fe3e8a6cf24a5add8c35dbabfe (Fcurrent_active_maps): Put the `keymap' property map first. (Fkey_binding): Try the `keymap' property map first. (Fdescribe_buffer_bindings): Show `keymap' property bindings before minor mode bindings. diff -r 2a33faa5165e -r dde71e46eeeb src/keymap.c --- a/src/keymap.c Thu Jan 03 19:57:07 2002 +0000 +++ b/src/keymap.c Thu Jan 03 21:28:04 2002 +0000 @@ -1347,15 +1347,15 @@ if (!NILP (local)) keymaps = Fcons (local, keymaps); - local = get_local_map (PT, current_buffer, Qkeymap); - if (!NILP (local)) - keymaps = Fcons (local, keymaps); - nmaps = current_minor_maps (0, &maps); for (i = --nmaps; i >= 0; i--) if (!NILP (maps[i])) keymaps = Fcons (maps[i], keymaps); + + local = get_local_map (PT, current_buffer, Qkeymap); + if (!NILP (local)) + keymaps = Fcons (local, keymaps); } return keymaps; @@ -1399,6 +1399,14 @@ { Lisp_Object local; + local = get_local_map (PT, current_buffer, Qkeymap); + if (! NILP (local)) + { + value = Flookup_key (local, key, accept_default); + if (! NILP (value) && !INTEGERP (value)) + RETURN_UNGCPRO (value); + } + nmaps = current_minor_maps (0, &maps); /* Note that all these maps are GCPRO'd in the places where we found them. */ @@ -1411,16 +1419,7 @@ RETURN_UNGCPRO (value); } - local = get_local_map (PT, current_buffer, Qkeymap); - if (! NILP (local)) - { - value = Flookup_key (local, key, accept_default); - if (! NILP (value) && !INTEGERP (value)) - RETURN_UNGCPRO (value); - } - local = get_local_map (PT, current_buffer, Qlocal_map); - if (! NILP (local)) { value = Flookup_key (local, key, accept_default); @@ -2613,6 +2612,15 @@ nmaps = current_minor_maps (&modes, &maps); Fset_buffer (outbuf); + start1 = get_local_map (BUF_PT (XBUFFER (buffer)), + XBUFFER (buffer), Qkeymap); + if (!NILP (start1)) + { + describe_map_tree (start1, 1, shadow, prefix, + "\f\n`keymap' Property Bindings", nomenu, 0, 0); + shadow = Fcons (start1, shadow); + } + /* Print the minor mode maps. */ for (i = 0; i < nmaps; i++) { @@ -2642,15 +2650,6 @@ } start1 = get_local_map (BUF_PT (XBUFFER (buffer)), - XBUFFER (buffer), Qkeymap); - if (!NILP (start1)) - { - describe_map_tree (start1, 1, shadow, prefix, - "\f\nChar Property Bindings", nomenu, 0, 0); - shadow = Fcons (start1, shadow); - } - - start1 = get_local_map (BUF_PT (XBUFFER (buffer)), XBUFFER (buffer), Qlocal_map); if (!NILP (start1)) { @@ -2659,7 +2658,8 @@ "\f\nMajor Mode Bindings", nomenu, 0, 0); else describe_map_tree (start1, 1, shadow, prefix, - "\f\nChar Property Bindings", nomenu, 0, 0); + "\f\n`local-map' Property Bindings", + nomenu, 0, 0); shadow = Fcons (start1, shadow); }