* Info-use-header-line
@ 2008-10-18 2:50 David Reitter
2008-10-18 16:45 ` Info-use-header-line Juri Linkov
2008-10-18 17:32 ` Info breadcrumbs line (was: Info-use-header-line) Juri Linkov
0 siblings, 2 replies; 6+ messages in thread
From: David Reitter @ 2008-10-18 2:50 UTC (permalink / raw)
To: Emacs-Devel devel
Header lines may be set by minor modes and not just the major mode
being implemented. An example is tabbar.
Is it a good idea to hide the header line if the user chooses to not
display a header line in a mode? I think not.
A really good solution would, by the way, show global and local header
lines, but I think there's only one header line allowed at this point.
*** info.el 06 Apr 2008 07:51:37 -0400 1.501.2.7
--- info.el 17 Oct 2008 22:46:43 -0400
***************
*** 3454,3463 ****
(make-local-variable 'Info-history)
(make-local-variable 'Info-history-forward)
(make-local-variable 'Info-index-alternatives)
! (setq header-line-format
! (if Info-use-header-line
! '(:eval (get-text-property (point-min) 'header-line))
! nil)) ; so the header line isn't displayed
(set (make-local-variable 'tool-bar-map) info-tool-bar-map)
;; This is for the sake of the invisible text we use handling
titles.
(make-local-variable 'line-move-ignore-invisible)
--- 3454,3462 ----
(make-local-variable 'Info-history)
(make-local-variable 'Info-history-forward)
(make-local-variable 'Info-index-alternatives)
! (if Info-use-header-line ; do not override global header lines
! (setq header-line-format
! '(:eval (get-text-property (point-min) 'header-line))))
(set (make-local-variable 'tool-bar-map) info-tool-bar-map)
;; This is for the sake of the invisible text we use handling
titles.
(make-local-variable 'line-move-ignore-invisible)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Info-use-header-line
2008-10-18 2:50 Info-use-header-line David Reitter
@ 2008-10-18 16:45 ` Juri Linkov
2008-10-18 19:08 ` Info-use-header-line Stefan Monnier
2008-10-18 17:32 ` Info breadcrumbs line (was: Info-use-header-line) Juri Linkov
1 sibling, 1 reply; 6+ messages in thread
From: Juri Linkov @ 2008-10-18 16:45 UTC (permalink / raw)
To: David Reitter; +Cc: Emacs-Devel devel
> Header lines may be set by minor modes and not just the major mode being
> implemented. An example is tabbar.
> Is it a good idea to hide the header line if the user chooses to not
> display a header line in a mode? I think not.
>
> A really good solution would, by the way, show global and local header
> lines, but I think there's only one header line allowed at this point.
There is a special buffer-local mode tabbar-local-mode, but it requires
explicit enabling in every Info buffer. So I agree that a simpler
solution is to not overwrite the global value of the header line at all
when Info-use-header-line is nil as implemented in your patch.
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Info breadcrumbs line (was: Info-use-header-line)
2008-10-18 2:50 Info-use-header-line David Reitter
2008-10-18 16:45 ` Info-use-header-line Juri Linkov
@ 2008-10-18 17:32 ` Juri Linkov
2008-10-18 21:58 ` Info breadcrumbs line Stefan Monnier
1 sibling, 1 reply; 6+ messages in thread
From: Juri Linkov @ 2008-10-18 17:32 UTC (permalink / raw)
To: emacs-devel
There is one backward incompatible UI change caused by implementing
Info breadcrumbs.
In older Emacs Info versions after visiting an Info node with menu items
or cross-references, typing the first TAB moved point to the first menu
item or cross-reference. But now the first TAB moves point to a link
in the breadcrumbs line.
It is very inconvenient to type several TABs to skip links in the
breadcrumbs line before starting to navigate links in the body of the Info
node. When there is a need to go to the first link in the Info node,
I quickly type `TAB RET', but after recent changes it goes to the Top
node. This is very confusing.
I think we should restore the old behavior by putting point on the next
line after the breadcrumbs line initially, so the first TAB key will go to
the first menu item or cross-reference in the node body.
Then a key to move point in the breadcrumbs line will be `backtab' (with
additional mnemonics of going backward in the Info hierarchy) where every
backtab will put point on the next parent node name in the breadcrumbs
line, so this is a good thing too. And it is also good to keep point on
the same empty line before the first Info header even when there is no
breadcrumbs line.
Index: lisp/info.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/info.el,v
retrieving revision 1.546
diff -u -r1.546 info.el
--- lisp/info.el 10 Oct 2008 13:47:17 -0000 1.546
+++ lisp/info.el 18 Oct 2008 17:29:30 -0000
@@ -966,6 +966,10 @@
(Info-select-node)
(goto-char (point-min))
+ (forward-line 1) ; skip header line
+ (when (> Info-breadcrumbs-depth 0) ; skip breadcrumbs line
+ (forward-line 1))
+
(cond (anchorpos
(let ((new-history (list Info-current-file
(substring-no-properties nodename))))
--
Juri Linkov
http://www.jurta.org/emacs/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Info-use-header-line
2008-10-18 16:45 ` Info-use-header-line Juri Linkov
@ 2008-10-18 19:08 ` Stefan Monnier
2008-10-20 2:41 ` Info-use-header-line David Reitter
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2008-10-18 19:08 UTC (permalink / raw)
To: Juri Linkov; +Cc: David Reitter, Emacs-Devel devel
>> Header lines may be set by minor modes and not just the major mode being
>> implemented. An example is tabbar.
>> Is it a good idea to hide the header line if the user chooses to not
>> display a header line in a mode? I think not.
>>
>> A really good solution would, by the way, show global and local header
>> lines, but I think there's only one header line allowed at this point.
> There is a special buffer-local mode tabbar-local-mode, but it requires
> explicit enabling in every Info buffer. So I agree that a simpler
> solution is to not overwrite the global value of the header line at all
> when Info-use-header-line is nil as implemented in your patch.
There's indeed a conflict between several possible uses of header-lines.
I'm not sure what we should about it in general. In this specific case,
leaving the header-line alone sounds like a good idea: it doesn't solve
the problem, but allows the user to work around it.
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Info breadcrumbs line
2008-10-18 17:32 ` Info breadcrumbs line (was: Info-use-header-line) Juri Linkov
@ 2008-10-18 21:58 ` Stefan Monnier
0 siblings, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2008-10-18 21:58 UTC (permalink / raw)
To: Juri Linkov; +Cc: emacs-devel
> There is one backward incompatible UI change caused by implementing
> Info breadcrumbs.
Your patch looks OK. Feel free to install.
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Info-use-header-line
2008-10-18 19:08 ` Info-use-header-line Stefan Monnier
@ 2008-10-20 2:41 ` David Reitter
0 siblings, 0 replies; 6+ messages in thread
From: David Reitter @ 2008-10-20 2:41 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Juri Linkov, Emacs-Devel devel
[-- Attachment #1: Type: text/plain, Size: 1185 bytes --]
On 18 Oct 2008, at 15:08, Stefan Monnier wrote:
>
> There's indeed a conflict between several possible uses of header-
> lines.
> I'm not sure what we should about it in general. In this specific
> case,
> leaving the header-line alone sounds like a good idea: it doesn't
> solve
> the problem, but allows the user to work around it.
OK, I have checked in the change.
There are some other occurrences of the same problem, though:
The following packages offer variables to switch off header line use,
but set header-line-format to nil in that case:
calendar/diary-lib.el
erc/erc-list.el
erc/erc.el
ibuffer.el
Unconditional setting (but at least header-line-format is usually
saved and restored):
elp.el (elp-results)
net/newst-treeview.el
net/rcirc.el
org/org-colview.el
proced.el
progmodes/gdb-ui.el
ruler-mode.el
ses.el
Correct use:
buff-menu.el
info.el (now)
I suggest to change the first four instances, because variables
advertise a certain functionality and we currently don't quite keep
this promise. In the other cases, one would have to review whether
the header line can and should be optionally switched off. That could
be done after the release.
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2193 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-20 2:41 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-18 2:50 Info-use-header-line David Reitter
2008-10-18 16:45 ` Info-use-header-line Juri Linkov
2008-10-18 19:08 ` Info-use-header-line Stefan Monnier
2008-10-20 2:41 ` Info-use-header-line David Reitter
2008-10-18 17:32 ` Info breadcrumbs line (was: Info-use-header-line) Juri Linkov
2008-10-18 21:58 ` Info breadcrumbs line Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.