From patchwork Tue Nov 26 23:34:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philippe Waroquiers X-Patchwork-Id: 36290 Received: (qmail 32215 invoked by alias); 26 Nov 2019 23:34:43 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 32132 invoked by uid 89); 26 Nov 2019 23:34:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-20.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.1 spammy=XML X-HELO: mailsec117.isp.belgacom.be Received: from mailsec117.isp.belgacom.be (HELO mailsec117.isp.belgacom.be) (195.238.20.113) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Nov 2019 23:34:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skynet.be; i=@skynet.be; q=dns/txt; s=securemail; t=1574811281; x=1606347281; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=HuAE6aDRqfrUOlhQnhCM7mCJ/ft5nj1j+wRUvnlWEXc=; b=qUj6Dhgz2e8EglYYCNU6bZ6fInshlS8vX1VysaiZ2Z+jclebnYeUMIt1 Q+rYWPL+Nrx/q5XLtkF0Kul+XtOa2w==; IronPort-SDR: ra9/4wWsgal/LRoM8Vwh1l2TnpuwdGSlf5J53j+UwglXfKRyXJ8XxI43BLo401VERGwVYNK3O9 oZCjODSBeKzzii7m2VhCI446Q69bNlyZ6uWBpGAdj5nETQ2UMEigy6zQbZc7vAOn1cMdpMNNuo T/ihLWK9j0rawseoj6p0rRfg+fvIZvbIuqqe7GCkj57RVR6kI4S5vcVFTYuJUaMAmPclDHH5KV L2OsbvgazM+LMked9P4wDA3aN0L7VFdwGhk8YBAXKNEE5k+abXVzR08pi+ig86Vm5q7LaLbu0a F1s= Received: from 136.173-134-109.adsl-dyn.isp.belgacom.be (HELO md.home) ([109.134.173.136]) by relay.skynet.be with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 27 Nov 2019 00:34:30 +0100 From: Philippe Waroquiers To: gdb-patches@sourceware.org Cc: Philippe Waroquiers Subject: [RFAv2 4/4] Document define-prefix command and the use of . in command names. Date: Wed, 27 Nov 2019 00:34:23 +0100 Message-Id: <20191126233423.14801-5-philippe.waroquiers@skynet.be> In-Reply-To: <20191126233423.14801-1-philippe.waroquiers@skynet.be> References: <20191126233423.14801-1-philippe.waroquiers@skynet.be> MIME-Version: 1.0 X-IsSubscribed: yes gdb/ChangeLog YYYY-MM-DD Philippe Waroquiers * NEWS: Mention define-prefix. Tell that command names can now contain a . character. gdb/doc/ChangeLog YYYY-MM-DD Philippe Waroquiers * gdb.texinfo (Define): Indicate that user-defined prefix can be used in 'define' command. Document 'define-prefix' command. --- gdb/NEWS | 9 +++++++++ gdb/doc/gdb.texinfo | 40 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 5fd0f41318..431926e9b0 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -33,6 +33,12 @@ provide the exitcode or exit status of the shell commands launched by GDB commands such as "shell", "pipe" and "make". +* The command define-prefix can now define user defined prefix commands. + User defined commands can now be defined using these user defined prefix + commands. + +* Command names can now use the . character. + * The RX port now supports XML target descriptions. * GDB now shows the Ada task names at more places, e.g. in task switching @@ -96,6 +102,9 @@ pipe -d DELIM COMMAND DELIM SHELL_COMMAND With no COMMAND, repeat the last executed command and send its output to SHELL_COMMAND. +define-prefix COMMAND + Define or mark a command as a user-defined prefix command. + with SETTING [VALUE] [-- COMMAND] w SETTING [VALUE] [-- COMMAND] Temporarily set SETTING, run COMMAND, and restore SETTING. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index e3be0cdf01..f296a7a214 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -26525,8 +26525,9 @@ end Define a command named @var{commandname}. If there is already a command by that name, you are asked to confirm that you want to redefine it. The argument @var{commandname} may be a bare command name consisting of letters, -numbers, dashes, and underscores. It may also start with any predefined -prefix command. For example, @samp{define target my-target} creates +numbers, dashes, dots, and underscores. It may also start with any +predefined or user-defined prefix command. +For example, @samp{define target my-target} creates a user-defined @samp{target my-target} command. The definition of the command is made up of other @value{GDBN} command lines, @@ -26547,6 +26548,41 @@ You may use the @code{document} command again to change the documentation of a command. Redefining the command with @code{define} does not change the documentation. +@kindex define-prefix +@item define-prefix @var{commandname} +Define or mark the command @var{commandname} as a user-defined prefix +command. Once marked, @var{commandname} can be used as prefix command +by the @code{define} command. +Note that @code{define-prefix} can be used with a not yet defined +@var{commandname}. In such a case, @var{commandname} is defined as +an empty user-defined command. +In case you redefine a command that was marked as a user-defined +prefix command, the subcommands of the redefined command are kept +(and @value{GDBN} indicates so to the user). + +Example: +@example +(gdb) define-prefix abc +(gdb) define-prefix abc def +(gdb) define abc def ghi +Type commands for definition of "abc def ghi". +End with a line saying just "end". +>echo command ghi\n +>end +(gdb) define abc def +Keeping subcommands of prefix command "def". +Redefine command "def"? (y or n) y +Type commands for definition of "abc def". +End with a line saying just "end". +>echo command def\n +>end +(gdb) abc def ghi +command ghi +(gdb) abc def +command def +(gdb) +@end example + @kindex dont-repeat @cindex don't repeat command @item dont-repeat