unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Juri Linkov <juri@jurta.org>
Cc: 5809@debbugs.gnu.org
Subject: bug#5809: 23.1.94; cross-reference by anchor yields in accurate position
Date: Sun, 04 Apr 2010 22:06:31 -0400	[thread overview]
Message-ID: <jwvmxxiirwl.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87eiiuwz6g.fsf@mail.jurta.org> (Juri Linkov's message of "Mon, 05 Apr 2010 02:52:19 +0300")

> We could change the background color of the overlay's after-string
> to look like the header line (grey background) so users will expect
> that only mouse clicks should work on grey areas.

I'd rather not change this part of the visual appearance, but maybe it's
just my personal preference.  I think this decision should be taken
with the understanding that we will want to install a real-fix in
Emacs-24 so that we can click with the keyboard and copy&paste
the breadcrumbs and that we won't want to revert the visual appearance
at that point (people get used to visual appearances).

> -	    (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
> -	      (forward-line 1))

I'd keep it commented out, since it may be useful again when we revert
to using actual text rather than an after-string.
 
> +	  (setq line (concat
> +		      line
> +		      (if (null line) "" (propertize " > " 'face 'header-line))
> +		      (cond
> +		       ((null node) (propertize "..." 'face 'header-line))
> +		       ((equal node Info-current-node)
> +			;; No point linking to ourselves.
> +			(propertize text 'font-lock-face 'info-header-node))
> +		       (t
> +			(propertize text
> +				    'mouse-face 'highlight
> +				    'font-lock-face 'info-header-xref
> +				    'help-echo "mouse-2: Go to node"
> +				    'keymap Info-link-keymap
> +				    'link-args text)
> +			))))))

If we want to use this header-line appearance, couldn't we use something
like font-lock-append-text-property rather than apply `header-line'
bit-by-bit (and worse yet: in different ways for different parts).

I.e. the changes to info-header-xref and info-header-node faces earlier
in the patch are not a good idea (think of people who changed those
faces, for example).

> @@ -4227,9 +4258,6 @@ (defun Info-fontify-node ()
>  		((string-equal (downcase tag) "next") Info-next-link-keymap)
>  		((string-equal (downcase tag) "up"  ) Info-up-link-keymap))))))
 
> -        (when (> Info-breadcrumbs-depth 0)
> -          (Info-insert-breadcrumbs))
> -
>          ;; Treat header line.
>          (when Info-use-header-line
>            (goto-char (point-min))
> @@ -4260,7 +4288,10 @@ (defun Info-fontify-node ()
>              ;; that is in the header, if it is just part.
>              (cond
>               ((> Info-breadcrumbs-depth 0)
> -              (put-text-property (point-min) (1+ header-end) 'invisible t))
> +              (put-text-property (point-min) (1+ header-end) 'invisible t)
> +	      (overlay-put
> +	       (make-overlay header-end (1+ header-end))
> +	       'after-string (Info-breadcrumbs)))
>               ((not (bobp))
>                ;; Hide the punctuation at the end, too.
>                (skip-chars-backward " \t,")

Why is the `overlay-put' at a different place than the
former Info-insert-breadcrumbs?


        Stefan


PS: the rest of the patch looks OK, so if you can fix the above feel free
to install it.






  reply	other threads:[~2010-04-05  2:06 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-31  9:58 bug#5809: 23.1.94; cross-reference by anchor yields in accurate position Eli Zaretskii
2010-03-31 11:17 ` Eli Zaretskii
2010-03-31 15:08 ` Juri Linkov
2010-03-31 15:55   ` Eli Zaretskii
2010-04-01 18:06     ` Juri Linkov
2010-04-01 18:13       ` Eli Zaretskii
2010-04-01 18:30         ` Juri Linkov
2010-04-01 20:22           ` Eli Zaretskii
2010-04-01 20:49             ` Eli Zaretskii
2010-04-01 21:10               ` Juri Linkov
2010-04-01 22:16               ` Stefan Monnier
2010-04-02  7:07                 ` Eli Zaretskii
2010-04-02 14:17                   ` Drew Adams
2010-04-02 14:39                     ` Eli Zaretskii
2010-04-02 15:26                       ` Drew Adams
2010-04-04 20:39                         ` Drew Adams
2010-04-04 20:47                           ` Eli Zaretskii
2010-04-04 22:51                             ` Drew Adams
2010-04-04 23:58                               ` Juri Linkov
2010-04-05  7:01                                 ` Drew Adams
2010-04-05 16:42                                   ` Juri Linkov
2010-04-05 20:11                                     ` Stefan Monnier
2010-04-05 23:17                                       ` Drew Adams
2010-04-06  5:49                                         ` Drew Adams
2010-04-06 17:46                                           ` Drew Adams
2010-04-05 16:45                               ` Juri Linkov
2010-04-05 17:12                                 ` Drew Adams
2010-04-05 21:55                                 ` Eli Zaretskii
2010-04-05  6:38                   ` Drew Adams
2010-04-02 16:14                 ` Juri Linkov
2010-04-02 16:31                   ` Drew Adams
2010-04-02 17:41                   ` Eli Zaretskii
2010-04-02 18:01                   ` Stefan Monnier
2010-04-02 23:11                     ` Juri Linkov
2010-04-03 22:04                       ` Juri Linkov
2010-04-04  6:12                         ` Eli Zaretskii
2010-04-04 11:07                           ` Juri Linkov
2010-04-04 12:12                             ` Eli Zaretskii
2010-04-04 23:51                               ` Juri Linkov
2010-04-05  5:26                                 ` Eli Zaretskii
2010-04-04 14:31                         ` Stefan Monnier
2010-04-04 23:52                           ` Juri Linkov
2010-04-05  2:06                             ` Stefan Monnier [this message]
2010-04-05 16:50                               ` Juri Linkov
2010-04-05 20:09                                 ` Stefan Monnier
2010-04-05 22:17                                   ` Juri Linkov
2010-04-01 21:09             ` Juri Linkov
2010-04-02 18:03               ` Stefan Monnier
2010-04-25 18:28 ` Chong Yidong

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=jwvmxxiirwl.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=5809@debbugs.gnu.org \
    --cc=juri@jurta.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).