From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.help Subject: Re: is insert(backspace and overwrite character) possible? Date: Sun, 09 May 2010 12:19:24 +0200 Organization: FH-Trier Message-ID: <87wrvdpec3.fsf@fh-trier.de> References: <87r5lm6u4g.fsf@merciadriluca-station.MERCIADRILUCA> <87bpcp36ke.fsf@merciadriluca-station.MERCIADRILUCA> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1273401657 18815 80.91.229.12 (9 May 2010 10:40:57 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 9 May 2010 10:40:57 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun May 09 12:40:56 2010 connect(): No such file or directory 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.69) (envelope-from ) id 1OB3wI-0003sF-2s for geh-help-gnu-emacs@m.gmane.org; Sun, 09 May 2010 12:40:50 +0200 Original-Received: from localhost ([127.0.0.1]:46574 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OB3wH-0005S2-Fj for geh-help-gnu-emacs@m.gmane.org; Sun, 09 May 2010 06:40:49 -0400 Original-Path: usenet.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!news-2.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.belwue.de!news.uni-kl.de!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 38 Original-NNTP-Posting-Host: 143-93-54-11.arno.fh-trier.de Original-X-Trace: news.uni-kl.de 1273400364 4244 143.93.54.11 (9 May 2010 10:19:24 GMT) Original-X-Complaints-To: usenet@news.uni-kl.de Original-NNTP-Posting-Date: Sun, 9 May 2010 10:19:24 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) Cancel-Lock: sha1:/TvoL3XqDbsd+l/Xh2aI2aGgieE= Cache-Post-Path: arno.fh-trier.de!unknown@dslb-084-059-210-032.pools.arcor-ip.net X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) Original-Xref: usenet.stanford.edu gnu.emacs.help:178079 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:73606 Archived-At: Merciadri Luca writes: > Barry Margolin writes: > >> You can't do it just with insert, and I don't know how you would do it >> in C, either. You need to write a conditional, like >> >> (if (looking-at "- ") >> (delete-char 2)) >> >> before doing the insert. > > Thanks. I do not remember for the C, but I am pretty sure that I had > already used it (in the past). You are probably thinking of carriage return. printf("foo\rbar\n"); will print 'bar'. Anyway, we can create a overwriting `insert' variant. (defun insert-overwrite (&rest args) (let ((pos (point))) (apply 'insert args) (delete-region (point) (min (point-at-eol) (+ (point) (- (point) pos)))))) But my guess is, that you actually want something like this. (defun replace-line (&rest args) (delete-region (point-at-bol) (point-at-eol)) (apply 'insert args)) -ap