unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
Subject: RE: Changing Color Of Column # In Modeline
Date: Fri, 25 Nov 2005 10:54:33 -0800	[thread overview]
Message-ID: <DNEMKBNJBGPAOPIJOOICGEEICPAA.drew.adams@oracle.com> (raw)
In-Reply-To: <1132941310.085536.249420@g47g2000cwa.googlegroups.com>

    > > http://www.emacswiki.org/cgi-bin/wiki/ColumnMarker
    >
    > This one looks too restrictive.  Some time ago I wrote this:
    > Ilya

    I always knew it should be done that way but I never use tabs or
    multi-column characters so it's been low on my to-do list. Perhaps
    now I can knock that item off my list.

Well, "should be done that way" is not so clear, to me. I see different
advantages with RGB's code and Ilya's code:

 - RGB's code lets you easily highlight multiple columns (with different
faces), move those columns, and turn their highlighting on/off

 - Ilya's code treats multiple-column characters such as TAB correctly

Of course, Ilya's code might be made more flexible, by wrapping it in
commands that provide the advantages of RGB's code.

For reference (for those who lost the thread), here is Ilya's code, with a
variable substituted for `79', tabs untabified, and `secondary-selection'
quoted (so it will also work in Emacs 20):

(defvar limit-column 30)

(defun match-at-column (end)
  (let (done c res)
    (while (and (not done) (< (point) end))
      (cond ((< limit-column (current-column)) (forward-line 1))
            ((< limit-column (move-to-column (1+ limit-column)))
             (setq done t res t)
             (forward-char -1)
             (re-search-forward "."))
            ((eobp) (setq done t))
            (t (forward-line 1))))
    res))

(add-hook 'font-lock-mode-hook
          (lambda ()
            (font-lock-add-keywords
             nil
             '((match-at-column 0 'secondary-selection t))
             'append)))

      reply	other threads:[~2005-11-25 18:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-22  1:07 Changing Color Of Column # In Modeline gamename
2005-11-22  6:26 ` M Jared Finder
2005-11-22 17:24 ` rgb
2005-11-22 21:02   ` gamename
2005-11-23  1:21     ` M Jared Finder
2005-11-23 20:32       ` Kevin Rodgers
2005-11-23 21:08         ` Drew Adams
     [not found]         ` <mailman.16497.1132780124.20277.help-gnu-emacs@gnu.org>
2005-11-24  0:20           ` gamename
2005-11-24  6:21             ` Drew Adams
     [not found]             ` <mailman.16559.1132813301.20277.help-gnu-emacs@gnu.org>
2005-11-25 23:03               ` gamename
2005-11-26  0:01                 ` Drew Adams
2005-11-26 18:33               ` gamename
2005-11-26 18:53                 ` Drew Adams
     [not found]                 ` <mailman.16824.1133031197.20277.help-gnu-emacs@gnu.org>
2005-11-27  0:25                   ` gamename
2005-11-22 23:09   ` Ilya Zakharevich
2005-11-25 17:55     ` rgb
2005-11-25 18:54       ` Drew Adams [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DNEMKBNJBGPAOPIJOOICGEEICPAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).