From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.help Subject: RE: leaving the region highlighted after a command Date: Wed, 6 Jun 2007 08:15:23 -0700 Message-ID: References: <26943C77-0CBA-43FB-BC9E-7829B8181A73@pobox.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1181142963 19031 80.91.229.12 (6 Jun 2007 15:16:03 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 6 Jun 2007 15:16:03 +0000 (UTC) To: "Jonathan Swartz" , Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 06 17:15:59 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HvxEs-0006VP-Lf for geh-help-gnu-emacs@m.gmane.org; Wed, 06 Jun 2007 17:15:58 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HvxEr-0000ty-V5 for geh-help-gnu-emacs@m.gmane.org; Wed, 06 Jun 2007 11:15:57 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HvxEd-0000s9-Co for help-gnu-emacs@gnu.org; Wed, 06 Jun 2007 11:15:43 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HvxEb-0000rv-UI for help-gnu-emacs@gnu.org; Wed, 06 Jun 2007 11:15:43 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HvxEb-0000rs-P3 for help-gnu-emacs@gnu.org; Wed, 06 Jun 2007 11:15:41 -0400 Original-Received: from rgminet01.oracle.com ([148.87.113.118]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1HvxEb-0001rx-DK for help-gnu-emacs@gnu.org; Wed, 06 Jun 2007 11:15:41 -0400 Original-Received: from rgmgw2.us.oracle.com (rgmgw2.us.oracle.com [138.1.186.111]) by rgminet01.oracle.com (Switch-3.2.4/Switch-3.1.6) with ESMTP id l56FFcnE025449; Wed, 6 Jun 2007 09:15:38 -0600 Original-Received: from acsmt351.oracle.com (acsmt351.oracle.com [141.146.40.151]) by rgmgw2.us.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id l56BMwAE001369; Wed, 6 Jun 2007 09:15:36 -0600 Original-Received: from dhcp-4op11-4op12-west-130-35-178-179.us.oracle.com by acsmt350.oracle.com with ESMTP id 2830148511181142923; Wed, 06 Jun 2007 08:15:23 -0700 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <26943C77-0CBA-43FB-BC9E-7829B8181A73@pobox.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 X-Whitelist: TRUE X-Whitelist: TRUE X-Brightmail-Tracker: AAAAAQAAAAI= X-detected-kernel: Linux 2.4-2.6 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 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-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:44711 Archived-At: > I use transient-mark-mode. I'm trying to write a command like mark- > whole-buffer that selects a certain region and leaves it highlighted. > But I cannot seem to get this to work; at the end of my command, the > region is never highlighted. > > Here's the definition of mark-whole-buffer in simple.el: > > (defun mark-whole-buffer () > "Put point at beginning and mark at end of buffer. > You probably should not use this function in Lisp programs; > it is usually a mistake for a Lisp function to use any subroutine > that uses or sets the mark." > (interactive) > (push-mark (point)) > (push-mark (point-max) nil t) > (goto-char (point-min))) > > This leaves the region highlighted. But if I simply call mark-whole- > buffer from another function or copy its code verbatim to another > function, the new other functions do NOT leave the region highlighted: > > ;; No highlighting > (defun mb () > (interactive) > (mark-whole-buffer)) Try (setq deactivate-mark nil). I use something like this in some situations, in a particular post-command hook: (defun foo () (when (not executing-kbd-macro) (setq deactivate-mark nil))) In general, see the Elisp manual for `deactivate-mark'.