From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Felix Newsgroups: gmane.emacs.devel Subject: [PATCH] Make c-ts-mode-toggle-comment-style match it's docstring. Date: Mon, 27 Feb 2023 16:15:02 +0100 Message-ID: <87edqb86we.fsf@web.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31470"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.9.3; emacs 30.0.50 To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 27 16:33:00 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pWfUq-000817-AC for ged-emacs-devel@m.gmane-mx.org; Mon, 27 Feb 2023 16:33:00 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pWfTt-0003DF-Qn; Mon, 27 Feb 2023 10:32:01 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pWfTs-0003Ca-ES for emacs-devel@gnu.org; Mon, 27 Feb 2023 10:32:00 -0500 Original-Received: from mout.web.de ([217.72.192.78]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pWfTq-00015N-Fr for emacs-devel@gnu.org; Mon, 27 Feb 2023 10:32:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1677511914; i=felix.dick@web.de; bh=U0zAt8vygf282x6XmbvePLB3RBNKTCjEtqzUh4hKV2c=; h=X-UI-Sender-Class:From:To:Subject:Date; b=WSwhPWlfwqihL0MWW429D3pj15ibCTvuxm8/XknxveZy2QanIv/Q5y5Lp00EyyEhD ihue8Fe94Yno1QmWLa9XNxMksKQI0kGy1P34F+7YMSXktaRnuaDAxO91hEn/zKc1iW JXEQgcWg2REDVfVh2xO8+Q+VqmSOths5RqEiHx5pdaJiOND2lwWKd91yh2iGl9xrCo tqjcXD1hsE3XlsURJ+cRjEwDJ+0d7d+X6byg8Z4fmzdrWM3t9EU9d9nlWyPZ/vB5G1 PLbp1FYCE8h7qf55xtneGljw3iCnxZUVk+68qB9z1VDVFCu2Tk8wTE3EkkUCyB55pH XF6o/QKCglFAg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from felix-lifebooka531.web.de ([95.91.211.7]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1Md6y1-1oyA0X0xu7-00a64R for ; Mon, 27 Feb 2023 16:31:54 +0100 X-Provags-ID: V03:K1:GlRrkbn1LBEIkzXrGPX+ysr51fuWw7gYbSqhpefsjv+JlnRzByv ZSS9iObCvy1IfIZBT7qWaIw5Tw8JFRaWyjV3P3P3U/2dmeIgZbd5h4pu8N3XBxhnRroynO/ TmP961/nnP+0xd1C4YtD8fRLLcHGe6rOEcnV4s6ojSt+fkw5DzFVoK1QC9LENTb8V2xu/uN V2BZpo1eIMqxqs7wj5+Yg== UI-OutboundReport: notjunk:1;M01:P0:NbOpkIL9uqI=;lqeNaeFQIKjztwr9u3H8Uw1cXl7 eE0Nh+jmIMdADJ6Sx5RoybDas29biniQJOUZEvWts+3RLXT+U6fbfbf/udgEVZaKQcwj0FIF1 pfyuAffYeGR6Mpm7AEEapWBdTGeEJ9J84x9hq1YKd081CAND5TD/tOUwpGSYwQvlKRRiu9P+B BA9sBA0/n4bP1B0V8fhE5GaL+3G37+UlYnvx8Mpk9NuNkKC1C9Xochjqg7uo9/aOWseL50LCw wNKjJYEyf71U4FSCkCoeOdxgjnBLxFUlDpaFTqlgtXylT23QLiAah5fPD++7zSM4fPcYbaqyO FlEL/4xr5Z1cm0avEtkyxlaXTfidLXMqs85VISxlQNt4N7j0eA+PLl1TmarUwchglf8/Ygsmy CgPmtvMJjH37tAo0NASkOVaZVdA6qWt5f1PWmQ/dmmhLo+0nEqgOqlBhTDpd6LbrwDSbC+OzR FMXJGwi+w7B+SnJWAP1l039xoAuQPTDVmdDxu3V6QLpaotDgA+hKrDgtwPz3mQ/9GlOkmrTQq RIuoSnhe/qGuJIN5YRwmQ9IU2X966S4RtaaritzvwVOpI2kqkFgLsvVNVLwMuPtAnyE+1j4Pf bPUqKWgBOdeIeLFyKhhY4PBwR65Jbf9rG+LEZgu3ZTjM2Z7CsTwbbBryZLvr2tgfj0KdIKmuz tNL8vQFEr1agRFfRx7V1oGZOxQlD1TF2WsGprGW+4Ao1skyr0izie11wBi6pYgQeC3MFsDA6C ZSK8TPBwQidgGLw7Iut5k9i63pWQSSMXecD+pD/zJXuuy3O5HsRr7osAiBako904He8gfD80 Received-SPF: pass client-ip=217.72.192.78; envelope-from=felix.dick@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:303835 Archived-At: --=-=-= Content-Type: text/plain Implement the optional numeric arg mentioned in the docstring. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=c-ts-comment.patch Content-Transfer-Encoding: quoted-printable diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el index 035df909eb2..9d4021866f0 100644 =2D-- a/lisp/progmodes/c-ts-mode.el +++ b/lisp/progmodes/c-ts-mode.el @@ -87,19 +87,23 @@ c-ts-mode-indent-offset :safe 'integerp :group 'c) -(defun c-ts-mode-toggle-comment-style () +(defun c-ts-mode-toggle-comment-style (&optional arg) "Toggle the comment style between block and line comments. Optional numeric ARG, if supplied, switches to block comment style when positive, to line comment style when negative, and just toggles it when zero or left out." - (interactive) - (pcase-let ((`(,starter . ,ender) - (if (string=3D comment-start "// ") - (cons "/* " " */") - (cons "// " "")))) - (setq-local comment-start starter - comment-end ender)) - (c-ts-mode-set-modeline)) + (interactive "P") + (let ((prevstate-line (string=3D comment-start "// "))) + (when (or (not arg) + (zerop (setq arg (prefix-numeric-value arg))) + (xor (> 0 arg) prevstate-line)) + (pcase-let ((`(,starter . ,ender) + (if prevstate-line + (cons "/* " " */") + (cons "// " "")))) + (setq-local comment-start starter + comment-end ender)) + (c-ts-mode-set-modeline)))) (defun c-ts-mode-set-modeline () (setq mode-name --=-=-=--