/* Set command. Change the setting for range checking. */ static void set_range_command (char *ignore, int from_tty) { if (strcmp (range, "on") == 0) { range_check = range_check_on; range_mode = range_mode_manual; } else if (strcmp (range, "warn") == 0) { range_check = range_check_warn; range_mode = range_mode_manual; } else if (strcmp (range, "off") == 0) { range_check = range_check_off; range_mode = range_mode_manual; } else if (strcmp (range, "auto") == 0) { range_mode = range_mode_auto; set_type_range_case (); /* Avoid hitting the set_range_str call below. We did it in set_type_range_case. */ return; } else { warning ("Unrecognized range check setting: \"%s\"", range); } set_range_str (); show_range_command ((char *) 0, from_tty); }
/* Set command. Change the setting for case sensitivity. */ static void set_case_command (char *ignore, int from_tty) { if (DEPRECATED_STREQ (case_sensitive, "on")) { case_sensitivity = case_sensitive_on; case_mode = case_mode_manual; } else if (DEPRECATED_STREQ (case_sensitive, "off")) { case_sensitivity = case_sensitive_off; case_mode = case_mode_manual; } else if (DEPRECATED_STREQ (case_sensitive, "auto")) { case_mode = case_mode_auto; set_type_range_case (); /* Avoid hitting the set_case_str call below. We did it in set_type_range_case. */ return; } else { warning ("Unrecognized case-sensitive setting: \"%s\"", case_sensitive); } set_case_str(); show_case_command ((char *) NULL, from_tty); }
static void set_case_command (char *ignore, int from_tty, struct cmd_list_element *c) { if (strcmp (case_sensitive, "on") == 0) { case_sensitivity = case_sensitive_on; case_mode = case_mode_manual; } else if (strcmp (case_sensitive, "off") == 0) { case_sensitivity = case_sensitive_off; case_mode = case_mode_manual; } else if (strcmp (case_sensitive, "auto") == 0) { case_mode = case_mode_auto; set_type_range_case (); return; } else { internal_error (__FILE__, __LINE__, "Unrecognized case-sensitive setting: \"%s\"", case_sensitive); } if (case_sensitivity != current_language->la_case_sensitivity) warning (_("the current case sensitivity setting does not match " "the language.\n")); }
/* Set command. Change the setting for range checking. */ static void set_range_command (char *ignore, int from_tty, struct cmd_list_element *c) { if (strcmp (range, "on") == 0) { range_check = range_check_on; range_mode = range_mode_manual; } else if (strcmp (range, "warn") == 0) { range_check = range_check_warn; range_mode = range_mode_manual; } else if (strcmp (range, "off") == 0) { range_check = range_check_off; range_mode = range_mode_manual; } else if (strcmp (range, "auto") == 0) { range_mode = range_mode_auto; set_type_range_case (); return; } else { internal_error (__FILE__, __LINE__, _("Unrecognized range check setting: \"%s\""), range); } if (range_check != current_language->la_range_check) warning (_("the current range check setting " "does not match the language.\n")); }
enum language set_language (enum language lang) { int i; enum language prev_language; prev_language = current_language->la_language; for (i = 0; i < languages_size; i++) { if (languages[i]->la_language == lang) { current_language = languages[i]; set_type_range_case (); break; } } return prev_language; }
/* Set command. Change the current working language. */ static void set_language_command (char *ignore, int from_tty, struct cmd_list_element *c) { int i; enum language flang; /* Search the list of languages for a match. */ for (i = 0; i < languages_size; i++) { if (strcmp (languages[i]->la_name, language) == 0) { /* Found it! Go into manual mode, and use this language. */ if (languages[i]->la_language == language_auto) { /* Enter auto mode. Set to the current frame's language, if known, or fallback to the initial language. */ language_mode = language_mode_auto; flang = get_frame_language (); if (flang != language_unknown) set_language (flang); else set_initial_language (); expected_language = current_language; return; } else { /* Enter manual mode. Set the specified language. */ language_mode = language_mode_manual; current_language = languages[i]; set_type_range_case (); expected_language = current_language; return; } } } internal_error (__FILE__, __LINE__, "Couldn't find language `%s' in known languages list.", language); }
/* Set command. Change the current working language. */ static void set_language_command (char *ignore, int from_tty) { int i; enum language flang; char *err_lang; if (!language || !language[0]) { printf_unfiltered ("The currently understood settings are:\n\n"); printf_unfiltered ("local or auto Automatic setting based on source file\n"); for (i = 0; i < languages_size; ++i) { /* Already dealt with these above. */ if (languages[i]->la_language == language_unknown || languages[i]->la_language == language_auto) continue; /* FIXME for now assume that the human-readable name is just a capitalization of the internal name. */ printf_unfiltered ("%-16s Use the %c%s language\n", languages[i]->la_name, /* Capitalize first letter of language name. */ toupper (languages[i]->la_name[0]), languages[i]->la_name + 1); } /* Restore the silly string. */ set_language (current_language->la_language); return; } /* Search the list of languages for a match. */ for (i = 0; i < languages_size; i++) { if (strcmp (languages[i]->la_name, language) == 0) { /* Found it! Go into manual mode, and use this language. */ if (languages[i]->la_language == language_auto) { /* Enter auto mode. Set to the current frame's language, if known. */ language_mode = language_mode_auto; flang = get_frame_language (); if (flang != language_unknown) set_language (flang); expected_language = current_language; return; } else { /* Enter manual mode. Set the specified language. */ language_mode = language_mode_manual; current_language = languages[i]; set_type_range_case (); set_lang_str (); expected_language = current_language; return; } } } /* Reset the language (esp. the global string "language") to the correct values. */ err_lang = savestring (language, strlen (language)); make_cleanup (xfree, err_lang); /* Free it after error */ set_language (current_language->la_language); error ("Unknown language `%s'.", err_lang); }