unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jarosław Rzeszótko" <sztywny@gmail.com>
To: 16192@debbugs.gnu.org
Subject: bug#16192: hl-line-mode: Current line highlighting takes precedence over region highlighting
Date: Thu, 19 Dec 2013 12:38:28 +0100	[thread overview]
Message-ID: <CAHnYAZYr6rzqhKnr806v88Rdpp5C4u95pvRXKQ-r38QW_4cY5w@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1669 bytes --]

I use a current emacs build from VCS. When you use hl-line-mode with the
default settings, the highlighting of the current line takes precedence
over the region highlighting. In my opinion this is bad usability, since
you no longer see where the region is, and in this particular situation
where the current line is would be obvious without the highlighting (the
user is in the middle of selecting the region so he knows where he is in
the file I guess). Would a hl-line-range function of this kind not be a
better default:

(setq hl-line-range-function
      (lambda ()
        (if (region-active-p)
            nil
          (cons (line-beginning-position) (line-beginning-position 2)))))

Or one that keeps the current line highlighting only where it does not
interfere with the region highlighting:

(setq hl-line-range-function
      (lambda ()
        (let ((line-beg-pos (line-beginning-position))
              (line-end-pos (line-beginning-position 2)))
          (if (region-active-p)
              (if (= (point) (region-end))
                  (cons (point) line-end-pos)
                (cons line-beg-pos (point)))
            (cons line-beg-pos line-end-pos)))))

The last function is better but since hl-line-range-function returns a
single range, it is impossible to highlight the line on both sides of a
region that is part of a single line. In general I appreciate that this is
customizable and one can overwrite it, but it takes quite some time to fix
it yourself, and I think most users want to see one of those two behaviours
(as evidenced by what most editors do in this respect).

Cheers,
Jarosław Rzeszótko

[-- Attachment #2: Type: text/html, Size: 1746 bytes --]

             reply	other threads:[~2013-12-19 11:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-19 11:38 Jarosław Rzeszótko [this message]
2013-12-19 14:02 ` bug#16192: hl-line-mode: Current line highlighting takes precedence over region highlighting Stefan Monnier
2013-12-19 14:19   ` Jarosław Rzeszótko
2013-12-19 16:43   ` Drew Adams
2013-12-19 17:41     ` Jarosław Rzeszótko
2013-12-19 19:27       ` Eli Zaretskii
2013-12-19 19:47         ` Jarosław Rzeszótko
2013-12-19 20:31           ` Stefan Monnier
2013-12-19 18:02     ` Stefan Monnier
     [not found]       ` <bcaf51ae-dec7-4ac3-87f8-0142ababbc9c@default>
2014-06-17 14:30         ` Drew Adams
2014-06-17 15:07         ` Stefan Monnier
2013-12-19 16:38 ` Drew Adams

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=CAHnYAZYr6rzqhKnr806v88Rdpp5C4u95pvRXKQ-r38QW_4cY5w@mail.gmail.com \
    --to=sztywny@gmail.com \
    --cc=16192@debbugs.gnu.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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).