From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Harry Putnam Newsgroups: gmane.emacs.help Subject: Re: Help with upcasing words first char Date: Mon, 24 Aug 2009 17:49:07 -0500 Organization: Still searching... Message-ID: <874orwsu8s.fsf@newsguy.com> References: <87ab1ru9zt.fsf@newsguy.com> <87fxbjwquk.fsf@galatea.local> <7cpralutkh.fsf@pbourguignon.anevia.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1251154219 14333 80.91.229.12 (24 Aug 2009 22:50:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Aug 2009 22:50:19 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Aug 25 00:50:12 2009 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 1MfiMe-00040L-23 for geh-help-gnu-emacs@m.gmane.org; Tue, 25 Aug 2009 00:50:12 +0200 Original-Received: from localhost ([127.0.0.1]:41388 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MfiMd-0008FJ-Jf for geh-help-gnu-emacs@m.gmane.org; Mon, 24 Aug 2009 18:50:11 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MfiMF-0008F3-Cf for help-gnu-emacs@gnu.org; Mon, 24 Aug 2009 18:49:47 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MfiMA-0008AU-Ln for help-gnu-emacs@gnu.org; Mon, 24 Aug 2009 18:49:46 -0400 Original-Received: from [199.232.76.173] (port=44209 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MfiMA-0008A6-GB for help-gnu-emacs@gnu.org; Mon, 24 Aug 2009 18:49:42 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:38904) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MfiM9-0001nm-UR for help-gnu-emacs@gnu.org; Mon, 24 Aug 2009 18:49:42 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.50) id 1MfiM5-0003s9-OH for help-gnu-emacs@gnu.org; Tue, 25 Aug 2009 00:49:37 +0200 Original-Received: from c-98-215-178-110.hsd1.in.comcast.net ([98.215.178.110]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 25 Aug 2009 00:49:37 +0200 Original-Received: from reader by c-98-215-178-110.hsd1.in.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 25 Aug 2009 00:49:37 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 45 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: c-98-215-178-110.hsd1.in.comcast.net User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.96 (gnu/linux) Cancel-Lock: sha1:LkKTDxvpse26OrkfD3tbdEVsW9I= X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) 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:67486 Archived-At: pjb@informatimago.com (Pascal J. Bourguignon) writes: >> >> Mark set >> unwind-protect: Symbol's value as variable is void: m >> Mark set > > The error is on the last line, replace m by end: > > (set-marker end nil)))) > > Sorry about that. > > >> Also I tried it on a larger region consisting of several lines and >> again it worked but in that case also removed the newlines. > > Since the case of newlines has not been specified, I considered them > as whitespaces... Your right... I did not specify that and really only thought of it after having posted the OP. [...] snipped more nifty tips > If you want only spaces or tabs, you can use "[ \t]+" instead. That works and allows the function to work over mulitple lines. So with near total plagiarism of your code... I post below what appears to be working code... I'm assuming there are other lisp challenged readers who may find use for it. These tiny changes appear to allow it to work over multiple lines. (defun camelize-region (start end) (interactive "r") (capitalize-region start end) (let ((end (let ((m (make-marker))) (set-marker m end) m))) (unwind-protect (progn (goto-char start) ;; (while (re-search-forward "\\s-+" end t) (while (re-search-forward "[ \t]+" end t) (delete-region (match-beginning 0) (match-end 0)))) (set-marker end nil))))