aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli
AgeCommit message (Collapse)AuthorFilesLines
2009-01-232009-01-23 Pedro Alves <pedro@codesourcery.com>Pedro Alves2-0/+27
* cli/cli-decode.c (add_setshow_zuinteger_cmd): New. * cli/cli-setshow.c (do_setshow_command): Handle it. * command.h (enum var_types): Add var_zuinteger. (add_setshow_zuinteger_cmd): Declare. * valprint.c (_initialize_valprint): Change the set input-radix and set output-radix commands to zuinteger type. 2009-01-23 Pedro Alves <pedro@codesourcery.com> * gdb.base/radix.exp: Add tests to ensure that that set input-radix 0 and set output-radix 0 are really rejected.
2009-01-14 * NEWS: Document "define" for prefixed commands.Daniel Jacobowitz4-31/+86
* cli/cli-cmds.c (show_user): Update calls to show_user_1. Call show_user_1 for prefix commands. * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined". * cli/cli-script.c (validate_comname): Rewrite to handle prefix commands. Return the containing command list. (define_command, document_command): Update to handle prefix commands. (show_user_1): Add prefix and name arguments. Handle prefix commands. * cli/cli-script.h (show_user_1): Update prototype. doc/ * gdb.texinfo (Define, Hooks): Document prefix command support. testsuite/ * gdb.base/define.exp: Test defining and hooking prefix commands. * gdb.python/python.exp: Update test for "show user" output.
2009-01-07 * cli/cli-cmds.c (set_debug): Fix cut-n-paste error.Doug Evans1-1/+1
2009-01-06Check return values of functions declared with warn_unused_resultJim Blandy1-1/+3
attribute in GLIBC 2.8. * cli/cli-cmds.c (pwd_command): Check return value from getcwd. * inflow.c (check_syscall): New function. (new_tty): Use check_syscall to check return values from open and dup. * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets. * main.c (captured_main): Call cwd after setting up gdb_stderr; check for errors from getcwd. * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd. * ui-file.c (stdio_file_write): Ignore return value from fwrite. (stdio_file_fputs): Same. * utils.c (internal_vproblem): abort if last-ditch error message write fails.
2009-01-03 Updated copyright notices for most files.Joel Brobecker12-14/+14
2008-12-12gdbTom Tromey1-10/+38
PR cli/2563: * cli/cli-decode.c (delete_cmd): Add hook-related out parameters. (add_cmd): Update. Install hooks into new command. (add_alias_cmd): Update. gdb/testsuite * gdb.base/commands.exp (redefine_hook_test): New proc. Call it.
2008-12-10gdbTom Tromey2-34/+66
PR gdb/1815: * cli/cli-decode.c (delete_cmd): Forward declare. (delete_cmd): Now static. Change return type. Remove command from alias chain. Rewrite. (add_cmd): Initialize new fields. Update cmd_pointer on all aliases. (add_alias_cmd): Put command on alias chain. * command.h (delete_cmd): Don't declare. * cli/cli-decode.h (delete_cmd): Don't declare. (struct cmd_list_element) <aliases, alias_chain>: New fields. gdb/testsuite * gdb.base/commands.exp (redefine_backtrace_test): New proc. Call it.
2008-11-10 * cli/cli-cmds.c (source_script): Clean up full_pathname. RunTom Tromey1-1/+5
cleanups on early return.
2008-10-30 * cli/cli-logging.c (handle_redirections): Make a cleanup.Tom Tromey1-0/+6
* reggroups.c (maintenance_print_reggroups): Make a cleanup. * regcache.c (regcache_print): Make a cleanup. * maint.c (maintenance_print_architecture): Make a cleanup. * dummy-frame.c (maintenance_print_dummy_frames): Make a cleanup.
2008-10-28 * Makefile.in (SUBDIR_CLI_OBS): Don't mention cli-utils.o.Tom Tromey2-39/+0
(SUBDIR_CLI_DEPS): Don't mention cli-utils.c. (HFILES_NO_SRCDIR): Don't mention cli-utils.h. (cli-utils.o): Remove. * cli/cli-utils.c: Remove. * cli/cli-utils.h: Remove.
2008-10-28 * cli/cli-script.c (do_fclose_cleanup): Remove.Tom Tromey2-20/+1
(script_from_file): Use make_cleanup_fclose. * xml-tdesc.c (do_cleanup_fclose): Remove. (fetch_xml_from_file): Use make_cleanup_fclose. * tracepoint.c (tracepoint_save_command): Use make_cleanup_fclose. Always free pathname. * source.c (print_source_lines_base): Use make_cleanup_fclose. * remote.c (fclose_cleanup): Remove. (remote_file_put): Use make_cleanup_fclose. (remote_file_get): Likewise. * linux-nat.c (linux_nat_find_memory_regions): Use make_cleanup_fclose. (linux_nat_info_proc_cmd): Likewise. (linux_proc_pending_signals): Likewise. * fbsd-nat.c (fbsd_find_memory_regions): Use make_cleanup_fclose. Free file name. * cli/cli-dump.c (do_fclose_cleanup): Remove. (make_cleanup_fclose): Remove. * defs.h (make_cleanup_fclose): Declare. * utils.c (do_fclose_cleanup): New function. (make_cleanup_fclose): Likewise.
2008-08-30revert previous change, like interpreting English is obvious ...Doug Evans1-2/+2
2008-08-29 * cli/cli-decode.c (help_cmd): Fix thinko in pre/post hook help output.Doug Evans1-6/+4
2008-08-16gdb/Thiago Jung Bauermann1-73/+92
2008-08-16 Vladimir Prus <vladimir@codesourcery.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * cli-script.c (read_next_line): Add parse_commands argument. (recurse_read_control_structure): Adapt to new read_next_line signature. (read_command_lines): Add parse_commands argument. (define_command): Adapt to new read_command_lines signature. (document_command): Likewise. * breakpoint.c (commands_command): Likewise. * defs.h (read_command_lines): Adjust function prototype. testsuite/ 2008-08-16 Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.base/define.exp: Test indented command documentation. * gdb.python/python.exp: Test indented multi-line command.
2008-08-06Initial python support.Thiago Jung Bauermann2-5/+51
gdb/ 2008-08-06 Vladimir Prus <vladimir@codesourcery.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Doug Evans <dje@google.com> * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, PYTHON_CFLAGS): New. (python_h, python_internal_h): New. (cli-script.o): Depend on python.h (python.o, python-utils.o): New. * cli/cli-script.c (print_command_lines): Handle python_control. (execute_control_command): Handle python_control. (execute_control_command_untraced): New function. (while_command): Call execute_control_command_untraced. (if_command): Likewise. (get_command_line): Remove static attribute. (read_next_line): Handle "python". (recurse_read_control_structure): Handle python_control. (read_command_lines): Handle python_control. Include python.h. * cli/cli-script.h (get_command_line): Add prototype. (execute_control_command_untraced): Likewise. * configure.ac: Add --with-python. * defs.h (enum command_control_type) <python_control>: New constant. * python/python-internal.h: New file. * python/python.c: New file. * python/python.h: New file. * python/python-utils.c: New file. * NEWS: Mention Python scripting support and its new commands. gdb/doc/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Extending GDB): New chapter. (Sequences): Demoted chapter, now a section under the new Extending GDB chapter. (Python): New section. gdb/testsuite/ 2008-08-06 Tom Tromey <tromey@redhat.com> * gdb.python/python.exp: New file.
2008-07-30 * cli/cli-decode.c (lookup_cmd_1): Use memcpy.Tom Tromey1-10/+2
(lookup_cmd_composition): Likewise.
2008-07-30 * cli/cli-cmds.c (edit_command): Remove unused variables. DeleteTom Tromey1-17/+16
dead code. Fix indentation.
2008-07-26 Kill cmd_async_ok.Vladimir Prus3-26/+0
* cli/cli-decode.h (CMD_ASYNC_OK, set_cmd_async_ok) (get_cmd_async_ok): Remove. * cli/cli-decode.c (set_cmd_async_ok, get_cmd_async_ok): Remove. * cli/cli-cmds.c (init_cli_cmds): Don't use set_cmd_async_ok. * infcmd.c (_initialize_infcmd): Likewise. * thread.c (_initialize_thread): Likewise.
2008-07-11 Exited threads.Pedro Alves3-0/+28
* thread.c (enum thread_state): New. (thread_state main_thread_running): Delete, in favor of... (thread_state main_thread_state): ... this. Update throughout. (clear_thread_inferior_resources): New, split from free_thread. (free_thread): Call clear_thread_inferior_resources. (init_thread_list): Set main thread to stopped state. (add_thread_silent): Take care of PTID reuses. (delete_thread): If deleting inferior_ptid or a thread with refcount > 0, mark it as exited, but still keep it in the list. Only notify of thread exits, if we haven't done so yet. (iterate_over_threads): Make it safe to delete threads while iterating over them. (do_captured_list_thread_ids): Don't account for exited threads. (thread_alive): Check for the THREAD_EXITED state, and don't set ptid to -1 on exited threads. (set_running): Update to account for extra possible states. (is_thread_state): New. (is_stopped, is_exited): New. (is_running): Implement in terms of is_thread_state. (any_running): Update. (print_thread_info): Update. Account for exited threads. Don't warn about missed frame restoring here, its done in the cleanup. (switch_to_thread): Don't read from a thread that has gone. (restore_current_thread): In non-stop mode, do a full context switch. (restore_selected_frame): Add a frame_level argument. Rewrite. (struct current_thread_cleanup): Add selected_frame_level and was_stopped members. (do_restore_current_thread_cleanup): Check if thread was stopped and still is, and if the target has registers, stack and memory before restoring the selected frame. Don't delete the cleanup argument here. (restore_current_thread_cleanup_dtor): New. (make_cleanup_restore_current_thread): Remove all arguments. Rewrite. (thread_apply_all_command): Update. Prune threads. (thread_apply_command): Update. (thread_command): Account for currently selected exited thread. (do_captured_thread_select): Check for a running thread. Prune threads. (_initialize_thread): Make "info threads", "thread", "thread apply", and "thread apply all" appliable without a selected thread. * gdbthread.h (struct thread_info): Replace running_ by state_. Add refcount. (is_exited, is_stopped): Declare. (make_cleanup_restore_current_thread): Remove all arguments. * infrun.c: Include "event-top.h". (fetch_inferior_event): In non-stop mode, restore selected thread and frame after handling the event and running breakpoint commands. Display GDB prompt if needed. (normal_stop): In non-stop mode, don't print thread switching notice. * cli/cli-decode.c (set_cmd_no_selected_thread_ok) (get_cmd_no_selected_thread_ok): New. * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New. (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok): Declare. * cli/cli-cmds.c: Set "pwd", "help", "info", "show" as no-selected-thread ok. * top.c (execute_command): Check for non no-selected-thread-ok commands. * linux-nat.c (struct saved_ptids, threads_to_delete) (record_dead_thread, prune_lwps): Delete. (exit_lwp): Unconditionally delete thread. (linux_nat_resume): Remove prune_lwps call. * infcmd.c (proceed_thread_callback): Check if !is_stopped instead of is_running. Adjust to make_cleanup_restore_current_thread interface change. * mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the selected thread has exited. * inf-loop.c (inferior_event_handler): Don't display the prompt here. * varobj.c (c_value_of_root): Update. * defs.h (make_cleanup_dtor): Declare. * utils.c (make_cleanup_dtor): New. * Makefile.in (infrun.o): Depend on $(event_top_h).
2008-07-04 * cli/cli-decode.c (add_setshow_optional_filename_cmd): SetPierre Muller1-1/+6
completer for set to filename_completer. NEWS: Mention it.
2008-05-23 * annotate.c (annotate_source, annotate_frame_begin): ReplaceMarkus Deuling1-22/+10
deprecated_print_address_numeric with paddress. * cli/cli-cmds.c (list_command, edit_command): Likewise. * tui/tui-stack.c (tui_make_status_line): Likewise. * defs.h (deprecated_print_address_numeric): Remove. * printcmd.c (deprecated_print_address_numeric): Remove. * maint.c (maint_print_section_info): Fix comment.
2008-05-05 * NEWS: Mention new /m modifier for disassemble command.Doug Evans1-52/+105
* cli/cli-cmds.c (print_disassembly): New function. (disassemble_current_function): New function (disassemble_command): Recognize /m modifier, print mixed source+assembly. (init_cli_cmds): Update disassemble help text. * gdb.texinfo (disassemble): Document /m modifier.
2008-05-032008-05-03 Luis Machado <luisgpm@br.ibm.com>Thiago Jung Bauermann1-1/+1
Thiago Jung Bauermann <bauerman@br.ibm.com> * cli/cli-decode.c (lookup_cmd_1): Fix indentation. * doublest.c (convert_typed_floating): Fix typo in comment. * dwarf2-frame.c (dwarf2_frame_cache): Likewise. * frame-unwind.h (frame_sniffer_ftype): Likewise. * frame.c (frame_unwind_address_in_block): Likewise. * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise. * symtab.h (struct symbol): Likewise. * tramp-frame.h (struct trad_frame_cache): Likewise. * value.c (allocate_repeat_value): Likewise.
2008-04-17 * cli/cli-decode.h (CMD_ASYNC_OK): New define.Tom Tromey3-6/+32
(set_cmd_async_ok, get_cmd_async_ok): Declare. * cli/cli-decode.c (set_cmd_async_ok): New function. (get_cmd_async_ok): New function. * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and "show" as async-ok. * top.c (execute_command): Use get_cmd_async_ok. * infcmd.c: Include cli/cli-decode.h. (_initialize_infcmd): Mark "interrupt" as async-ok. * Makefile.in (infcmd.o): Depend on cli_decode_h.
2008-03-14 Implement MI notification for new threads.Vladimir Prus1-1/+1
* doc/observer.texi (new_thread): Document. * observer.sh: Forward declare struct thread_info. * thread.c (add_thread): Notify observer. * interps.h (interp_init_ftype): New parameter top_level. (interp_set): Likewise. (top_level_interpreter_data): Declare. * interps.c (interp_set): New parameter top_level. Pass it to interpreter's init function. Remember top level interpreter. (interpreter_exec_cmd): Adjust. (top_level_interpreter_data): New. * main.c (captured_main): Pass 1 for top_level parameter of interp_set. * cli/cli-interp.c (cli_interpreter_init): New parameter top_level. * tui/tui-interp.c (tui_init): New parameter top_level. * mi/mi-interp.c (mi_new_thread): New. (mi_interpreter_init): If top level, register observer for new threads. * Makefile.in (mi-interp.o, thread.o): Update dependencies.
2008-01-01 Updated copyright notices for most files.Daniel Jacobowitz14-15/+16
2007-11-17 * cli/cli-setshow.c (do_setshow_command): Use dynamically sized bufferUlrich Weigand1-4/+10
to construct error message if no argument was supplied.
2007-08-23 Switch the license of all .c files to GPLv3.Joel Brobecker14-56/+28
Switch the license of all .h files to GPLv3. Switch the license of all .cc files to GPLv3.
2007-08-212007-08-21 Chris Smith <chris.smith@st.com>Daniel Jacobowitz1-0/+1
* cli/cli-script.c (read_command_lines): Call dont_repeat for each line.
2007-08-012007-08-01 Michael Snyder <msnyder@access-company.com>Michael Snyder1-13/+12
* cli/cli-decode.c (lookup_cmd): Check for null earlier, to avoid dereference in lookup_cmd_1.
2007-07-03 * target-descriptions.c (tdesc_create_reg): Do not set reg->typeDaniel Jacobowitz1-2/+2
to NULL. * cli/cli-script.c (build_command_line): Update NULL check.
2007-06-282007-06-28 Michael Snyder <msnyder@access-company.com>Michael Snyder1-1/+3
* cli/cli-script.c (build_command_line): Add null pointer guard (Coverity).
2007-06-182007-06-18 Markus Deuling <deuling@de.ibm.com>Ulrich Weigand1-2/+2
* gdbarch.sh (DEPRECATED_FUNCTION_START_OFFSET): Replace by gdbarch_deprecated_function_start_offset. * symtab.c (find_function_start_sal)skip_prologue_using_sal): Likewise. * linespec.c (minsym_found): Likewise. * infrun.c (handle_inferior_event): Likewise. * infcall.c (find_function_addr): Likewise. * cli/cli-cmds.c (disassemble_command): Likewise. * gdbarch.c, gdbarch.h: Regenerate.
2007-05-10* cli/cli-setshow.c (do_setshow_command): Remove trailingMaciej W. Rozycki1-0/+7
whitespace when setting a var_filename.
2007-03-08 * cli/cli-dump.c (struct callback_data): load_offset needs toUlrich Weigand1-1/+1
have signed long type.
2007-02-27 * frame.c (deprecated_selected_frame): Rename to...Daniel Jacobowitz1-4/+1
(selected_frame): ...this. Make static. (get_selected_frame, select_frame): Update. * frame.h (deprected_select_frame): Delete. (deprecated_safe_get_selected_frame): Update comments. * breakpoint.c, cli/cli-cmds.c, f-valprint.c, infcmd.c, inflow.c, infrun.c, stack.c, tui/tui-disasm.c, tui/tui-source.c, tui/tui-winsource.c, valops.c, varobj.c, findvar.c, macroscope.c, parse.c, regcache.h, sh64-tdep.c, tui/tui-hooks.c, tui/tui-win.c, tui/tui.c: Replace references to deprecated_selected_frame.
2007-02-08 Reported by timeless@gmail.com:Daniel Jacobowitz1-1/+1
* gdb/target.c (target_flash_erase): Do not return void value. (target_flash_done): Likewise. * gdb/cli/cli-cmds.c (source_command): Likewise. Reported by timeless@gmail.com: * wrapper.c (sim_target_parse_arg_array): Do not return void value.
2007-01-27 * cli/cli-script.c: Include breakpoint.h.Eli Zaretskii1-8/+48
(build_command_line): Require arguments only for if and while commands. (get_command_line, execute_user_command, execute_control_command): Fix wording of warning messages. (print_command_lines): Print breakpoint commands. (execute_control_command): Call commands_from_control_command to handle the `commands' command inside a body of a flow-control command. (read_next_line): Recognize the `commands' command and build a command line structure for it. (recurse_read_control_structure, read_command_lines): Handle `commands' similarly to `if' and `while'. * breakpoint.c (get_number_trailer): Document the special meaning of NULL as the first argument PP. (commands_from_control_command): New function. * breakpoint.h (commands_from_control_command): Add prototype. * defs.h (commands_control): New enumerated value for enum command_control_type.
2007-01-09Copyright updates for 2007.Daniel Jacobowitz14-16/+16
2006-11-14gdb/Daniel Jacobowitz1-2/+5
* remote.c (set_remote_cmd): Call help_list. (show_remote_cmd): Skip legacy aliases. Handle non-show_cmd entries. Add missed cleanup. * cli/cli-setshow.c (cmd_show_list): Handle non-show_cmd entries. gdb/doc/ * gdb.texinfo (Remote configuration): Rewrite documentation for packet configuration commands. (OS Information): Adjust reference to qXfer:auxv:read. (General Query Packets): Remove references to read-aux-vector-packet and set remote get-thread-local-storage-address.
2006-10-31Improve "help all".Vladimir Prus1-29/+64
2006-10-27 * gdbcmd.h (detachlist): Declare.Andreas Schwab2-1/+10
* infcmd.c (_initialize_infcmd): Define "detach" as prefix command. * linux-fork.c (_initialize_linux_fork): Rename "detach-checkpoint" to "detach checkpoint" and "detach-fork" to "detach fork". * cli/cli-cmds.c (detachlist): Define. (init_cmd_lists): Initialize it. * cli/cli-cmds.h (detachlist): Declare. doc/: * gdb.texinfo (Processes): Rename "detach-fork" to "detach fork". testsuite/: * gdb.base/multi-forks.exp: Use "detach fork" instead of "detach-fork".
2006-08-102006-08-10 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs1-0/+2
gdb/ * cli/cli-script.c (execute_user_command): Update command_next_depth on user-command call. gdb/testsuite * gdb.base/trace-commands.exp: New file.
2006-07-212006-07-21 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs4-7/+148
* cli/cli-cmds.c (source_verbose, trace_commands): New variables. (source_script): New function. (source_verbose_cleanup): New function. (source_command): Move old contents to source_script. Make function static. Parse -v option and call source_script. (init_cli_cmds): Update source command help. Add 'set trace-commands' command. * cli/cli-script.c (command_next_depth): New static variable. (suppress_next_print_command_trace): New static variable. (reset_command_nest_depth): New function. (print_command_trace): New function. (execute_control_command): Split the continue_control and break_control cases, add calls to print_command_trace and count the nest depth. (while_command): Set suppress_next_print_command_trace. (if_command): Likewise. * top.c (execute_command): Call print_command_trace. * cli/cli-cmds.h (source_verbose, trace_commands): New extern variables. (source_command): Change to source_script. * main.c (captued_main): Use source_script instead of source_command. * top.h (source_command): Change to source_script. * event-top.c (display_gdb_prompt): Call reset_command_nest_depth. * cli/cli-script.h (print_command_trace): Export. (reset_command_nest_depth): Likewise. docs/ * gdb.texinfo (Optional warnings and messages): Add 'set/show trace-commands'. (Command files): Add '-v' to source command. testsuite/ * gdb.base/default.exp: Update source command error message. * gdb.base/help.exp: Update 'help source' message.
2006-06-212006-06-21 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs1-0/+1
* cli/cli-script.c (realloc_body_list): Zero new parts of body_list.
2006-05-152006-05-15 Peter O'Gorman <gdb-patches@mlists.thewrittenword.com>Daniel Jacobowitz1-3/+3
* source.c (get_current_source_symtab_and_line) (set_current_source_symtab_and_line): Use { 0 }. * cli/cli-cmds.c (list_command): Likewise.
2006-04-072006-04-07 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs1-0/+6
gdb/ * cli/cli-script.c (struct user_args): Add command field. (arg_cleanup): Free command string. (setup_user_args): Copy the command line before relying on it. gdb/testsuite/ * gdb.base/commands.exp (recursive_source_test): New test.
2006-03-30gdb/Daniel Jacobowitz1-0/+5
* cli/cli-script.c (insert_args): Handle NULL user_args. gdb/testsuite/ * gdb.base/commands.exp (stray_arg0_test): New test.
2006-03-29 * Makefile.in (utils.o): Update.Daniel Jacobowitz1-18/+25
* top.c (in_user_command): New. (command_line_input): Use input_from_terminal_p. (input_from_terminal_p): Don't check caution. Handle stdin == NULL for Insight. * top.h (in_user_command, caution): New declarations. * utils.c: Include "top.h". (query, defaulted_query): Check caution here. Move the call to input_from_terminal_p higher. * cli/cli-script.c (do_restore_user_call_depth): Only decrement the depth. Update in_user_command if necessary. (execute_user_command): Don't clobber old_chain. Set in_user_command. Let do_restore_user_call_depth handle user_call_depth. (read_command_lines): Check whether to prompt before calling Insight hooks. * tui/tui-hooks.c (tui_query_hook): Remove newly unnecessary input_from_terminal_p check.
2006-01-232006-01-23 Andrew Stubbs <andrew.stubbs@st.com>Andrew Stubbs1-2/+17
* cli/cli-cmds.c: Include fcntl.h. (source_command): Use the GDB search path to find script files. doc/ * gdb.texinfo (Choosing files): Mention that -directory is used for script files. (Specifying source directories): Likewise. (Command files): Explain how script files are found.