GNU Binutils with patches for OS216
Revisión | 8b94f1180ecc3d49e94bb497fa0e8f41b0b8a5fd (tree) |
---|---|
Tiempo | 2006-04-03 06:52:40 |
Autor | Daniel Jacobowitz <drow@fals...> |
Commiter | Daniel Jacobowitz |
Add a Debian patch that prevents some bogus "No selected frame" errors.
This needs to go to mainline separately.
@@ -932,7 +932,7 @@ insert_bp_location (struct bp_location *bpt, | ||
932 | 932 | /* FIXME drow/2003-09-09: It would be nice if evaluate_expression |
933 | 933 | took a frame parameter, so that we didn't have to change the |
934 | 934 | selected frame. */ |
935 | - saved_frame_id = get_frame_id (deprecated_selected_frame); | |
935 | + saved_frame_id = get_frame_id (get_selected_frame (NULL)); | |
936 | 936 | |
937 | 937 | /* Determine if the watchpoint is within scope. */ |
938 | 938 | if (bpt->owner->exp_valid_block == NULL) |
@@ -5939,7 +5939,7 @@ until_break_command (char *arg, int from_tty, int anywhere) | ||
5939 | 5939 | { |
5940 | 5940 | struct symtabs_and_lines sals; |
5941 | 5941 | struct symtab_and_line sal; |
5942 | - struct frame_info *prev_frame = get_prev_frame (deprecated_selected_frame); | |
5942 | + struct frame_info *prev_frame = get_prev_frame (get_selected_frame (NULL)); | |
5943 | 5943 | struct breakpoint *breakpoint; |
5944 | 5944 | struct cleanup *old_chain; |
5945 | 5945 | struct continuation_arg *arg1; |
@@ -5976,7 +5976,7 @@ until_break_command (char *arg, int from_tty, int anywhere) | ||
5976 | 5976 | /* Otherwise, specify the current frame, because we want to stop only |
5977 | 5977 | at the very same frame. */ |
5978 | 5978 | breakpoint = set_momentary_breakpoint (sal, |
5979 | - get_frame_id (deprecated_selected_frame), | |
5979 | + get_frame_id (get_selected_frame (NULL)), | |
5980 | 5980 | bp_until); |
5981 | 5981 | |
5982 | 5982 | if (!target_can_async_p ()) |
@@ -862,10 +862,7 @@ disassemble_command (char *arg, int from_tty) | ||
862 | 862 | name = NULL; |
863 | 863 | if (!arg) |
864 | 864 | { |
865 | - if (!deprecated_selected_frame) | |
866 | - error (_("No frame selected.")); | |
867 | - | |
868 | - pc = get_frame_pc (deprecated_selected_frame); | |
865 | + pc = get_frame_pc (get_selected_frame (_("No frame selected."))); | |
869 | 866 | if (find_pc_partial_function (pc, &name, &low, &high) == 0) |
870 | 867 | error (_("No function contains program counter for selected frame.")); |
871 | 868 | #if defined(TUI) |
@@ -71,7 +71,7 @@ f77_get_dynamic_lowerbound (struct type *type, int *lower_bound) | ||
71 | 71 | switch (TYPE_ARRAY_LOWER_BOUND_TYPE (type)) |
72 | 72 | { |
73 | 73 | case BOUND_BY_VALUE_ON_STACK: |
74 | - current_frame_addr = get_frame_base (deprecated_selected_frame); | |
74 | + current_frame_addr = get_frame_base (get_selected_frame (NULL)); | |
75 | 75 | if (current_frame_addr > 0) |
76 | 76 | { |
77 | 77 | *lower_bound = |
@@ -95,7 +95,7 @@ f77_get_dynamic_lowerbound (struct type *type, int *lower_bound) | ||
95 | 95 | break; |
96 | 96 | |
97 | 97 | case BOUND_BY_REF_ON_STACK: |
98 | - current_frame_addr = get_frame_base (deprecated_selected_frame); | |
98 | + current_frame_addr = get_frame_base (get_selected_frame (NULL)); | |
99 | 99 | if (current_frame_addr > 0) |
100 | 100 | { |
101 | 101 | ptr_to_lower_bound = |
@@ -129,7 +129,7 @@ f77_get_dynamic_upperbound (struct type *type, int *upper_bound) | ||
129 | 129 | switch (TYPE_ARRAY_UPPER_BOUND_TYPE (type)) |
130 | 130 | { |
131 | 131 | case BOUND_BY_VALUE_ON_STACK: |
132 | - current_frame_addr = get_frame_base (deprecated_selected_frame); | |
132 | + current_frame_addr = get_frame_base (get_selected_frame (NULL)); | |
133 | 133 | if (current_frame_addr > 0) |
134 | 134 | { |
135 | 135 | *upper_bound = |
@@ -158,7 +158,7 @@ f77_get_dynamic_upperbound (struct type *type, int *upper_bound) | ||
158 | 158 | break; |
159 | 159 | |
160 | 160 | case BOUND_BY_REF_ON_STACK: |
161 | - current_frame_addr = get_frame_base (deprecated_selected_frame); | |
161 | + current_frame_addr = get_frame_base (get_selected_frame (NULL)); | |
162 | 162 | if (current_frame_addr > 0) |
163 | 163 | { |
164 | 164 | ptr_to_upper_bound = |
@@ -643,10 +643,7 @@ info_common_command (char *comname, int from_tty) | ||
643 | 643 | first make sure that it is visible and if so, let |
644 | 644 | us display its contents */ |
645 | 645 | |
646 | - fi = deprecated_selected_frame; | |
647 | - | |
648 | - if (fi == NULL) | |
649 | - error (_("No frame selected")); | |
646 | + fi = get_selected_frame (_("No frame selected")); | |
650 | 647 | |
651 | 648 | /* The following is generally ripped off from stack.c's routine |
652 | 649 | print_frame_info() */ |
@@ -735,10 +732,7 @@ there_is_a_visible_common_named (char *comname) | ||
735 | 732 | if (comname == NULL) |
736 | 733 | error (_("Cannot deal with NULL common name!")); |
737 | 734 | |
738 | - fi = deprecated_selected_frame; | |
739 | - | |
740 | - if (fi == NULL) | |
741 | - error (_("No frame selected")); | |
735 | + fi = get_selected_frame (_("No frame selected")); | |
742 | 736 | |
743 | 737 | /* The following is generally ripped off from stack.c's routine |
744 | 738 | print_frame_info() */ |
@@ -1308,10 +1308,8 @@ finish_command (char *arg, int from_tty) | ||
1308 | 1308 | error (_("The \"finish\" command does not take any arguments.")); |
1309 | 1309 | if (!target_has_execution) |
1310 | 1310 | error (_("The program is not running.")); |
1311 | - if (deprecated_selected_frame == NULL) | |
1312 | - error (_("No selected frame.")); | |
1313 | 1311 | |
1314 | - frame = get_prev_frame (deprecated_selected_frame); | |
1312 | + frame = get_prev_frame (get_selected_frame (_("No selected frame."))); | |
1315 | 1313 | if (frame == 0) |
1316 | 1314 | error (_("\"finish\" not meaningful in the outermost frame.")); |
1317 | 1315 |
@@ -1329,7 +1327,7 @@ finish_command (char *arg, int from_tty) | ||
1329 | 1327 | |
1330 | 1328 | /* Find the function we will return from. */ |
1331 | 1329 | |
1332 | - function = find_pc_function (get_frame_pc (deprecated_selected_frame)); | |
1330 | + function = find_pc_function (get_frame_pc (get_selected_frame (NULL))); | |
1333 | 1331 | |
1334 | 1332 | /* Print info on the selected frame, including level number but not |
1335 | 1333 | source. */ |
@@ -1695,13 +1693,12 @@ registers_info (char *addr_exp, int fpregs) | ||
1695 | 1693 | |
1696 | 1694 | if (!target_has_registers) |
1697 | 1695 | error (_("The program has no registers now.")); |
1698 | - if (deprecated_selected_frame == NULL) | |
1699 | - error (_("No selected frame.")); | |
1700 | 1696 | |
1701 | 1697 | if (!addr_exp) |
1702 | 1698 | { |
1703 | 1699 | gdbarch_print_registers_info (current_gdbarch, gdb_stdout, |
1704 | - deprecated_selected_frame, -1, fpregs); | |
1700 | + get_selected_frame (_("No selected frame.")), | |
1701 | + -1, fpregs); | |
1705 | 1702 | return; |
1706 | 1703 | } |
1707 | 1704 |
@@ -1734,12 +1731,12 @@ registers_info (char *addr_exp, int fpregs) | ||
1734 | 1731 | |
1735 | 1732 | /* A register name? */ |
1736 | 1733 | { |
1737 | - int regnum = frame_map_name_to_regnum (deprecated_selected_frame, | |
1734 | + int regnum = frame_map_name_to_regnum (get_selected_frame (_("No selected frame.")), | |
1738 | 1735 | start, end - start); |
1739 | 1736 | if (regnum >= 0) |
1740 | 1737 | { |
1741 | 1738 | gdbarch_print_registers_info (current_gdbarch, gdb_stdout, |
1742 | - deprecated_selected_frame, regnum, fpregs); | |
1739 | + get_selected_frame (NULL), regnum, fpregs); | |
1743 | 1740 | continue; |
1744 | 1741 | } |
1745 | 1742 | } |
@@ -1753,7 +1750,7 @@ registers_info (char *addr_exp, int fpregs) | ||
1753 | 1750 | && regnum < NUM_REGS + NUM_PSEUDO_REGS) |
1754 | 1751 | { |
1755 | 1752 | gdbarch_print_registers_info (current_gdbarch, gdb_stdout, |
1756 | - deprecated_selected_frame, regnum, fpregs); | |
1753 | + get_selected_frame (NULL), regnum, fpregs); | |
1757 | 1754 | continue; |
1758 | 1755 | } |
1759 | 1756 | } |
@@ -1779,7 +1776,7 @@ registers_info (char *addr_exp, int fpregs) | ||
1779 | 1776 | if (gdbarch_register_reggroup_p (current_gdbarch, regnum, |
1780 | 1777 | group)) |
1781 | 1778 | gdbarch_print_registers_info (current_gdbarch, |
1782 | - gdb_stdout, deprecated_selected_frame, | |
1779 | + gdb_stdout, get_selected_frame (NULL), | |
1783 | 1780 | regnum, fpregs); |
1784 | 1781 | } |
1785 | 1782 | continue; |
@@ -1809,8 +1806,6 @@ print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, | ||
1809 | 1806 | { |
1810 | 1807 | if (!target_has_registers) |
1811 | 1808 | error (_("The program has no registers now.")); |
1812 | - if (deprecated_selected_frame == NULL) | |
1813 | - error (_("No selected frame.")); | |
1814 | 1809 | |
1815 | 1810 | if (gdbarch_print_vector_info_p (gdbarch)) |
1816 | 1811 | gdbarch_print_vector_info (gdbarch, file, frame, args); |
@@ -1835,7 +1830,7 @@ print_vector_info (struct gdbarch *gdbarch, struct ui_file *file, | ||
1835 | 1830 | static void |
1836 | 1831 | vector_info (char *args, int from_tty) |
1837 | 1832 | { |
1838 | - print_vector_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args); | |
1833 | + print_vector_info (current_gdbarch, gdb_stdout, get_selected_frame (NULL), args); | |
1839 | 1834 | } |
1840 | 1835 | |
1841 | 1836 |
@@ -2023,8 +2018,6 @@ print_float_info (struct gdbarch *gdbarch, struct ui_file *file, | ||
2023 | 2018 | { |
2024 | 2019 | if (!target_has_registers) |
2025 | 2020 | error (_("The program has no registers now.")); |
2026 | - if (deprecated_selected_frame == NULL) | |
2027 | - error (_("No selected frame.")); | |
2028 | 2021 | |
2029 | 2022 | if (gdbarch_print_float_info_p (gdbarch)) |
2030 | 2023 | gdbarch_print_float_info (gdbarch, file, frame, args); |
@@ -2051,7 +2044,7 @@ static void | ||
2051 | 2044 | float_info (char *args, int from_tty) |
2052 | 2045 | { |
2053 | 2046 | print_float_info (current_gdbarch, gdb_stdout, |
2054 | - deprecated_selected_frame, args); | |
2047 | + get_selected_frame (NULL), args); | |
2055 | 2048 | } |
2056 | 2049 | |
2057 | 2050 | static void |
@@ -588,7 +588,7 @@ kill_command (char *arg, int from_tty) | ||
588 | 588 | if (target_has_stack) |
589 | 589 | { |
590 | 590 | printf_filtered (_("In %s,\n"), target_longname); |
591 | - if (deprecated_selected_frame == NULL) | |
591 | + if (deprecated_safe_get_selected_frame () == NULL) | |
592 | 592 | fputs_filtered ("No selected stack frame.\n", gdb_stdout); |
593 | 593 | else |
594 | 594 | print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC); |
@@ -3590,7 +3590,7 @@ save_inferior_status (int restore_stack_info) | ||
3590 | 3590 | |
3591 | 3591 | inf_status->registers = regcache_dup (current_regcache); |
3592 | 3592 | |
3593 | - inf_status->selected_frame_id = get_frame_id (deprecated_selected_frame); | |
3593 | + inf_status->selected_frame_id = get_frame_id (get_selected_frame (NULL)); | |
3594 | 3594 | return inf_status; |
3595 | 3595 | } |
3596 | 3596 |
@@ -1909,7 +1909,7 @@ func_command (char *arg, int from_tty) | ||
1909 | 1909 | |
1910 | 1910 | if (!found) |
1911 | 1911 | printf_filtered (_("'%s' not within current stack frame.\n"), arg); |
1912 | - else if (frame != deprecated_selected_frame) | |
1912 | + else if (frame != get_selected_frame (NULL)) | |
1913 | 1913 | select_and_print_frame (frame); |
1914 | 1914 | } |
1915 | 1915 |
@@ -1918,7 +1918,7 @@ func_command (char *arg, int from_tty) | ||
1918 | 1918 | enum language |
1919 | 1919 | get_frame_language (void) |
1920 | 1920 | { |
1921 | - struct frame_info *frame = deprecated_selected_frame; | |
1921 | + struct frame_info *frame = deprecated_safe_get_selected_frame (); | |
1922 | 1922 | |
1923 | 1923 | if (frame) |
1924 | 1924 | { |
@@ -167,7 +167,7 @@ gdb_test "disable breakpoints" "" "disable breakpoints" | ||
167 | 167 | #test disable display |
168 | 168 | gdb_test "disable display" "" "disable display" |
169 | 169 | #test disassemble |
170 | -gdb_test "disassemble" "No frame selected." "disassemble" | |
170 | +gdb_test "disassemble" "No (frame selected|registers)." "disassemble" | |
171 | 171 | #test display |
172 | 172 | gdb_test "display" "" "display" |
173 | 173 | #test do |
@@ -229,9 +229,9 @@ gdb_expect { | ||
229 | 229 | } |
230 | 230 | |
231 | 231 | #test frame "f" abbreviation |
232 | -gdb_test "f" "No stack." "frame \"f\" abbreviation" | |
232 | +gdb_test "f" "No (stack|registers)." "frame \"f\" abbreviation" | |
233 | 233 | #test frame |
234 | -gdb_test "frame" "No stack." "frame" | |
234 | +gdb_test "frame" "No (stack|registers)." "frame" | |
235 | 235 | #test fg |
236 | 236 | gdb_test "fg" "The program is not being run." "fg" |
237 | 237 | # FIXME: fg kills the udi connection |
@@ -294,9 +294,9 @@ gdb_test "ignore" "Argument required .a breakpoint number.*" "ignore" | ||
294 | 294 | #test info address |
295 | 295 | gdb_test "info address" "Argument required." "info address" |
296 | 296 | #test info all-registers |
297 | -gdb_test "info all-registers" "The program has no registers now." "info all-registers" | |
297 | +gdb_test "info all-registers" "(The program has no registers now|No registers)." "info all-registers" | |
298 | 298 | #test info args |
299 | -gdb_test "info args" "No frame selected." "info args" | |
299 | +gdb_test "info args" "No (frame selected|registers)." "info args" | |
300 | 300 | #test info bogus-gdb-command |
301 | 301 | gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command" |
302 | 302 | #test info breakpoints |
@@ -320,11 +320,11 @@ gdb_test "info frame" "No stack.|No selected frame." "info frame" | ||
320 | 320 | #test info files |
321 | 321 | gdb_test "info files" "" "info files" |
322 | 322 | #test info float |
323 | -gdb_test "info float" "The program has no registers now." "info float" | |
323 | +gdb_test "info float" "(The program has no registers now|No registers)." "info float" | |
324 | 324 | #test info functions |
325 | 325 | gdb_test "info functions" "All defined functions:" "info functions" |
326 | 326 | #test info locals |
327 | -gdb_test "info locals" "No frame selected." "info locals" | |
327 | +gdb_test "info locals" "(No frame selected|No registers)." "info locals" | |
328 | 328 | #test info program |
329 | 329 | gdb_test "info program" "The program being debugged is not being run." "info program" |
330 | 330 | #test info registers |
@@ -352,7 +352,7 @@ gdb_test "info types" "All defined types:" "info types" | ||
352 | 352 | #test info variables |
353 | 353 | gdb_test "info variables" "All defined variables:" "info variables" |
354 | 354 | #test info vector |
355 | -gdb_test "info vector" "The program has no registers now." "info vector" | |
355 | +gdb_test "info vector" "(The program has no registers now|No registers)." "info vector" | |
356 | 356 | #test info warranty |
357 | 357 | gdb_test "info warranty" "NO WARRANTY(\[^\r\n\]*\[\r\n\])+ *11. *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY(\[^\r\n\]*\[\r\n\])+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN(\[^\r\n\]*\[\r\n\])+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES(\[^\r\n\]*\[\r\n\])+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED(\[^\r\n\]*\[\r\n\])+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF(\[^\r\n\]*\[\r\n\])+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS(\[^\r\n\]*\[\r\n\])+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE(\[^\r\n\]*\[\r\n\])+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,(\[^\r\n\]*\[\r\n\])+REPAIR OR CORRECTION.(\[^\r\n\]*\[\r\n\])+ *12. *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING(\[^\r\n\]*\[\r\n\])+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR(\[^\r\n\]*\[\r\n\])+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,(\[^\r\n\]*\[\r\n\])+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING(\[^\r\n\]*\[\r\n\])+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED(\[^\r\n\]*\[\r\n\])+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY(\[^\r\n\]*\[\r\n\])+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER(\[^\r\n\]*\[\r\n\])+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE(\[^\r\n\]*\[\r\n\])+POSSIBILITY OF SUCH DAMAGES.*" "info warranty" |
358 | 358 | #test info watchpoints |
@@ -386,7 +386,7 @@ tui_vertical_disassem_scroll (enum tui_scroll_direction scroll_direction, | ||
386 | 386 | |
387 | 387 | content = (tui_win_content) TUI_DISASM_WIN->generic.content; |
388 | 388 | if (cursal.symtab == (struct symtab *) NULL) |
389 | - s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); | |
389 | + s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); | |
390 | 390 | else |
391 | 391 | s = cursal.symtab; |
392 | 392 |
@@ -330,7 +330,7 @@ tui_vertical_source_scroll (enum tui_scroll_direction scroll_direction, | ||
330 | 330 | struct symtab_and_line cursal = get_current_source_symtab_and_line (); |
331 | 331 | |
332 | 332 | if (cursal.symtab == (struct symtab *) NULL) |
333 | - s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); | |
333 | + s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); | |
334 | 334 | else |
335 | 335 | s = cursal.symtab; |
336 | 336 |
@@ -314,7 +314,7 @@ tui_horizontal_source_scroll (struct tui_win_info * win_info, | ||
314 | 314 | struct symtab_and_line cursal = get_current_source_symtab_and_line (); |
315 | 315 | |
316 | 316 | if (cursal.symtab == (struct symtab *) NULL) |
317 | - s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); | |
317 | + s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL))); | |
318 | 318 | else |
319 | 319 | s = cursal.symtab; |
320 | 320 |
@@ -544,7 +544,7 @@ value_assign (struct value *toval, struct value *fromval) | ||
544 | 544 | /* Since modifying a register can trash the frame chain, and modifying memory |
545 | 545 | can trash the frame cache, we save the old frame and then restore the new |
546 | 546 | frame afterwards. */ |
547 | - old_frame = get_frame_id (deprecated_selected_frame); | |
547 | + old_frame = get_frame_id (deprecated_safe_get_selected_frame ()); | |
548 | 548 | |
549 | 549 | switch (VALUE_LVAL (toval)) |
550 | 550 | { |
@@ -2605,16 +2605,18 @@ value_of_local (const char *name, int complain) | ||
2605 | 2605 | struct symbol *func, *sym; |
2606 | 2606 | struct block *b; |
2607 | 2607 | struct value * ret; |
2608 | + struct frame_info *frame; | |
2608 | 2609 | |
2609 | - if (deprecated_selected_frame == 0) | |
2610 | + if (complain) | |
2611 | + frame = get_selected_frame (_("no frame selected")); | |
2612 | + else | |
2610 | 2613 | { |
2611 | - if (complain) | |
2612 | - error (_("no frame selected")); | |
2613 | - else | |
2614 | + frame = deprecated_safe_get_selected_frame (); | |
2615 | + if (frame == 0) | |
2614 | 2616 | return 0; |
2615 | 2617 | } |
2616 | 2618 | |
2617 | - func = get_frame_function (deprecated_selected_frame); | |
2619 | + func = get_frame_function (frame); | |
2618 | 2620 | if (!func) |
2619 | 2621 | { |
2620 | 2622 | if (complain) |
@@ -2643,7 +2645,7 @@ value_of_local (const char *name, int complain) | ||
2643 | 2645 | return NULL; |
2644 | 2646 | } |
2645 | 2647 | |
2646 | - ret = read_var_value (sym, deprecated_selected_frame); | |
2648 | + ret = read_var_value (sym, frame); | |
2647 | 2649 | if (ret == 0 && complain) |
2648 | 2650 | error (_("`%s' argument unreadable"), name); |
2649 | 2651 | return ret; |
@@ -498,7 +498,7 @@ varobj_create (char *objname, | ||
498 | 498 | if (fi != NULL) |
499 | 499 | { |
500 | 500 | var->root->frame = get_frame_id (fi); |
501 | - old_fi = deprecated_selected_frame; | |
501 | + old_fi = get_selected_frame (NULL); | |
502 | 502 | select_frame (fi); |
503 | 503 | } |
504 | 504 |