help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How add one to column # on modeline (%c) so starts from _1_?


From: ken
Subject: Re: How add one to column # on modeline (%c) so starts from _1_?
Date: Wed, 9 Oct 2002 10:34:11 -0400 (EDT)

It's generally a good idea to be clear about the "big picture" 
surrounding the issue at hand.  I'm not sure what it is in this case, 
but I'm guessing that you're wanting the modeline to show the column 
number of the cursor (in emacs-speak: the "point").  It might also be 
wagered that this is more for the sake of intellectual curiosity.

If the goal is the first, you could put this in your ~/.emacs:

; set line numbering on
(setq-default line-number-mode t)

If the goal is more the second, you might want to have a look at the 
elisp source now and again as you compose your code.


hth,
ken

-- 
AMD crashes?  See http://cleveland.lug.net/~ken/amd-problem/.

Spake seberino@spawar.navy.mil at 12:33 (UTC-0700) on Tue, 8 Oct 2002:

= Thanks for the help!!!!! 
= 
= I implemented your suggestion in my mode line def....
= 
=  (setq default-mode-line-format (list ""
=                                  'mode-line-buffer-identification
=                                  "     "
=                                  (system-name)
=                                  "     "
=                                  '(:eval (format "%s" (+ (string-to-int "%c") 
1))) 
=                                  "Line %l Col %c"))
= 
= Indeed the eval part delivers a "1".  The problem is that the "1" is
= not updated as columnn number changes.... it just stays "1" for all
= time....
= 
= What did you mean by "column-number-mode"??? Perhaps that would
= solve problem of updating the eval line continuously????
= 
= Chris
= 
= 
= On Tue, Oct 08, 2002 at 10:39:57AM +0100, Victor Kirk wrote:
= > 
= > 
= > > '(:eval "%c + 1")
= > 
= > > The above will print "0 + 1" on the modeline when in the first column.
= > 
= > This is because it thre result is a string which contains those characters.
= > What you need to do is 
= > 
= >  o convert %c to an int  - (string-to-int "%c")
= >  o add one to this value - (+ (string-to-int "%c") 1)
= >  o Return the result as a string (format "%s" (+ (string-to-int "%c") 1))
= > 
= > > How can I tell Emacs to evaluate the *addition* in quotes rather
= > > than just interpret it as a /string/????
= > 
= > Thus try 
= > 
= > (:eval (format "%s" (+ (string-to-int "%c") 1)))
= > 
= > And don't forget to use column-number-mode!
= > 
= > Vic
= > --
= > 
= > 
= > 
= > This message, including attachments, is intended only for the use by the
= > person(s) to whom it is addressed. It may contain information which is
= > privileged and confidential. Copying or use by anybody else is not
= > authorised. If you are not the intended recipient, please contact the sender
= > as soon as possible. The views expressed in this communication may not
= > necessarily be the views held by Serco Integrated Transport.
= > 
= > 
= > _______________________________________________
= > Help-gnu-emacs mailing list
= > Help-gnu-emacs@gnu.org
= > http://mail.gnu.org/mailman/listinfo/help-gnu-emacs
= 
= 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]