From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: remove all my added face text properties? Date: Mon, 31 Oct 2022 07:36:22 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6296"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02) Cc: help-gnu-emacs@gnu.org To: Samuel Wales Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 31 05:37:22 2022 Return-path: Envelope-to: geh-help-gnu-emacs@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 1opMY6-0001VG-Ji for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 31 Oct 2022 05:37:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1opMXW-0005fP-Bp; Mon, 31 Oct 2022 00:36:46 -0400 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 1opMXT-0005fI-Nx for help-gnu-emacs@gnu.org; Mon, 31 Oct 2022 00:36:43 -0400 Original-Received: from stw1.rcdrun.com ([217.170.207.13]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1opMXR-0001A8-Ib for help-gnu-emacs@gnu.org; Mon, 31 Oct 2022 00:36:42 -0400 Original-Received: from localhost ([::ffff:197.239.4.235]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 0000000000081D92.00000000635F50D6.00004615; Sun, 30 Oct 2022 21:36:37 -0700 Mail-Followup-To: Samuel Wales , help-gnu-emacs@gnu.org Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_SBL=0.141, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: "help-gnu-emacs" Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:140522 Archived-At: * Samuel Wales [2022-10-31 05:58]: > i set face properties in a roughly as follows: > > (defun highlight-1 (extent) > (let ((p (point))) > ;; fixme what do we do to =remove= all of these > ;; added face properties in the buffer? we need > ;; to do that when re-running this function to not > ;; keep the old stuff around. > ;; > ;; get-text-property but we need to get all? > ;; set-text-properties start end face? > (add-face-text-property p (+ extent p) '(:inverse-video t)))) > > what does one do to keep all the text properties, including face text > properties, in the buffer, as they were before i first highlighted > anyghing, while at the same time removing the face properties i added? > thank you. This function will take buffer text without properties and insert it again. This will most probably remove your properties, and then because of major mode again highlight whatever was highlighted. (defun rcd-buffer-remove-properties (&optional text) "Remove all properties for TEXT, otherwise buffer." (interactive) (let* ((buffer-or-text (if text nil t)) (text (if buffer-or-text (buffer-substring-no-properties (point-min) (point-max)) text)) (point (point))) (erase-buffer) (insert text) (goto-char point))) -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/