emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Alain Schneble (Realize IT GmbH)" <alain.schneble@realize.ch>
To: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>
Subject: Bug: clockreport in org-agenda-list - table misaligned if org-descriptive-links is nil
Date: Mon, 30 Mar 2015 20:11:48 +0000	[thread overview]
Message-ID: <728674d5657a40168a56bc4927650df8@rintintin.hq.realize.ch.lan.rit> (raw)


Steps to reproduce:
- if org-descriptive-links is non-nil, invoke M-x org-toggle-link-display
- org-descriptive-links is now expected to be nil
- M-x org-agenda-list
- M-x org-agenda-clockreport-mode (or short: v R)

Observation (given that there is at least some data being shown in the clockreport):
1) clockreport table is misaligned
2) clockreport table contains descriptive links even though org-descriptive-links is nil

a) *org-agenda-list* /calls/ *org-agenda-prepare* which in turn /calls/ *org-agenda-mode*
b) *org-agenda-mode* /calls/ (add-to-invisibility-spec '(org-link))
   In contrast, *org-mode* /calls/ (if org-descriptive-links (add-to-invisibility-spec '(org-link))), hence makes adding org-link to the invisibility spec dependent on org-descriptive-links.
c) the clockreport in the agenda list is constructed in *org-clock-get-clocktable* using a with-temp-buffer in whose context (org-mode) is called. The clockreport table will therefore be aligned based on the invisibility spec of org-mode which is different if org-descriptive-links was set to nil at the time *org-agenda-list* was called.

1.1) Inherit org-link invisibility spec in *org-clock-get-clocktable* from the "outer" mode (i.e. org-agenda-mode):
     (let ((descriptive-links (org-in-invisibility-spec-p '(org-link))))
         (if descriptive-links
             (add-to-invisibility-spec '(org-link))
           (remove-from-invisibility-spec '(org-link)))
1.2) ... or make the call to *add-to-invisibility-spec* in *org-agenda-mode* dependent on org-descriptive-links as already done by *org-mode*

Any other suggestions?

Btw, is there a reason why org-descriptive-links is global and not made buffer-local using make-variable-buffer-local after its defcustom definition? I had expected it to be buffer-local. If it isn't buffer local, the displayed links in different org buffers can get inconsistent with the flag hold in the org-descriptive-links variable.



Emacs  : GNU Emacs 24.4.1 (i686-pc-mingw32)
 of 2014-10-24 on LEG570
Package: Org-mode version 8.2.10 (release_8.2.10 @ c:/Program Files (x86)/emacs-24.4/share/emacs/24.4/lisp/org/)

current state:
 org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe)
 org-latex-format-headline-function 'org-latex-format-headline-default-function
 org-html-format-inlinetask-function 'ignore
 org-tab-first-hook '(org-hide-block-toggle-maybe org-src-native-tab-command-maybe org-babel-hide-result-toggle-maybe
 org-agenda-use-time-grid nil
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-hide-inline-tasks org-cycle-show-empty-lines
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-agenda-start-with-log-mode 'clockcheck
 org-confirm-babel-evaluate nil
 org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook)
 org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default
 org-babel-pre-tangle-hook '(save-buffer)
 org-occur-hook '(org-first-headline-recenter)
 org-html-format-headline-function 'ignore
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-catch-invisible-edits 'show
 org-descriptive-links nil
 org-latex-format-drawer-function '(lambda (name contents) contents)
 org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
org-ascii-format-drawer-function '(lambda (name contents width) contents)
 org-html-format-drawer-function '(lambda (name contents) contents)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-todo-keywords '((type "TODO" "|" "DONE"))
 org-agenda-files '("c:/agenda.org")
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-babel-load-languages '((gnuplot . t) (emacs-lisp . t))
 org-latex-format-inlinetask-function 'ignore
 org-agenda-start-with-clockreport-mode t
 org-confirm-shell-link-function 'yes-or-no-p

             reply	other threads:[~2015-03-30 21:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-30 20:11 Alain Schneble (Realize IT GmbH) [this message]
2015-04-11 12:11 ` Nicolas Goaziou

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:

  List information: https://www.orgmode.org/

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

  git send-email \
    --in-reply-to=728674d5657a40168a56bc4927650df8@rintintin.hq.realize.ch.lan.rit \
    --to=alain.schneble@realize.ch \
    --cc=emacs-orgmode@gnu.org \


* 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


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