* [PATCH] Add info when reference to remote table is not in the file @ 2012-04-05 14:07 Sebastien Vauban 2012-04-06 7:43 ` Bastien 0 siblings, 1 reply; 9+ messages in thread From: Sebastien Vauban @ 2012-04-05 14:07 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ 2012-04-05 Sebastien Vauban <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> * org-table.el (org-table-get-remote-range): when a reference to a remote table is not found locally, display a message for 1 second, then go on searching within all known locations From 432a57390d8a103d440017664b8a594de61281a4 Mon Sep 17 00:00:00 2001 From: Sebastien Vauban <sva-D0wtAvR13HarG/iDocfnWg@public.gmane.org> Date: Thu, 5 Apr 2012 15:58:27 +0200 Subject: [PATCH] Add info when reference to remote table is not in the file --- lisp/org-table.el | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index ae12cee..c336f89 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -4735,6 +4735,8 @@ list of the fields in the rectangle ." (concat "^[ \t]*#\\+TBLNAME:[ \t]*" (regexp-quote name-or-id) "[ \t]*$") nil t) (setq buffer (current-buffer) loc (match-beginning 0)) + (message "Reference `%s' is not found in the current file" name-or-id) + (sit-for 1) (setq id-loc (org-id-find name-or-id 'marker)) (unless (and id-loc (markerp id-loc)) (error "Can't find remote table \"%s\"" name-or-id)) -- 1.7.9 Best regards, Seb -- Sebastien Vauban ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-05 14:07 [PATCH] Add info when reference to remote table is not in the file Sebastien Vauban @ 2012-04-06 7:43 ` Bastien 2012-04-06 8:36 ` Sebastien Vauban 0 siblings, 1 reply; 9+ messages in thread From: Bastien @ 2012-04-06 7:43 UTC (permalink / raw) To: Sebastien Vauban; +Cc: emacs-orgmode Hi Sébastien, thanks for the patch. I wonder if we should trigger an error instead -- why a message? (I don't like using sit-for, it's often worse than getting an error...) About the patch itself, thanks for the effort in adding a ChangeLog, it's close to perfect: just think of starting sentences with a uppercase letter, and of *including* the emacs ChangeLog in the patch. See other commit messages in the git log for reference. Thanks! -- Bastien ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-06 7:43 ` Bastien @ 2012-04-06 8:36 ` Sebastien Vauban 2012-04-09 16:01 ` Bastien 0 siblings, 1 reply; 9+ messages in thread From: Sebastien Vauban @ 2012-04-06 8:36 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Bastien, Bastien wrote: > thanks for the patch. > > I wonder if we should trigger an error instead -- why a message? Because it's not an error... When a reference (I guess it always must be an ID, then) is not found locally, Org will search for it in external known files. The problem is you see hundreds of messages "Finding ID location...", and you don't know which reference Org is trying to find... When you have multiple tables, with multiple references, this is a nightmare to find which was is wrong. Just use `TBLNAME' instead of `tblname' for the referenced table (or the inverse, if you apply the patch you sent me a couple of days ago), and you'll understand that it's good to know what Org is searching for. > (I don't like using sit-for, it's often worse than getting an error...) I don't like it that much either, but, here, it's the only way to see the message before being flooded by the "Finding ID location..." messages. Best regards, Seb -- Sebastien Vauban ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-06 8:36 ` Sebastien Vauban @ 2012-04-09 16:01 ` Bastien 2012-04-19 14:10 ` Sebastien Vauban 0 siblings, 1 reply; 9+ messages in thread From: Bastien @ 2012-04-09 16:01 UTC (permalink / raw) To: Sebastien Vauban; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 545 bytes --] Hi Sébastien, "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: >> (I don't like using sit-for, it's often worse than getting an error...) > > I don't like it that much either, but, here, it's the only way to see the > message before being flooded by the "Finding ID location..." messages. You can also go back to the *Messages* buffer and check from there. Maybe another option is to silent `org-id-update-id-locations' when called from `org-id-find'? Does the attached patch against master improves the situation for you? Thanks, [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: silent-org-id-update-id-locations.patch --] [-- Type: text/x-patch, Size: 1451 bytes --] diff --git a/lisp/org-id.el b/lisp/org-id.el index 55e826f..c2b3d86 100644 --- a/lisp/org-id.el +++ b/lisp/org-id.el @@ -273,7 +273,7 @@ With optional argument MARKERP, return the position as a new marker." (when file (setq where (org-id-find-id-in-file id file markerp))) (unless where - (org-id-update-id-locations) + (org-id-update-id-locations nil t) (setq file (org-id-find-id-file id)) (when file (setq where (org-id-find-id-in-file id file markerp)))) @@ -403,7 +403,7 @@ and time is the usual three-integer representation of time." ;; Storing ID locations (files) -(defun org-id-update-id-locations (&optional files) +(defun org-id-update-id-locations (&optional files silent) "Scan relevant files for IDs. Store the relation between files and corresponding IDs. This will scan all agenda files, all associated archives, and all @@ -441,8 +441,9 @@ When CHECK is given, prepare detailed information about duplicate IDs." (setq files (delq 'agenda-archives (copy-sequence files)))) (setq nfiles (length files)) (while (setq file (pop files)) - (message "Finding ID locations (%d/%d files): %s" - (- nfiles (length files)) nfiles file) + (unless silent + (message "Finding ID locations (%d/%d files): %s" + (- nfiles (length files)) nfiles file)) (setq tfile (file-truename file)) (when (and (file-exists-p file) (not (member tfile seen))) (push tfile seen) [-- Attachment #3: Type: text/plain, Size: 14 bytes --] -- Bastien ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-09 16:01 ` Bastien @ 2012-04-19 14:10 ` Sebastien Vauban 2012-04-19 14:27 ` Sebastien Vauban 0 siblings, 1 reply; 9+ messages in thread From: Sebastien Vauban @ 2012-04-19 14:10 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Bastien, Bastien wrote: > "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: > >>> (I don't like using sit-for, it's often worse than getting an error...) >> >> I don't like it that much either, but, here, it's the only way to see the >> message before being flooded by the "Finding ID location..." messages. > > You can also go back to the *Messages* buffer and check from there. > > Maybe another option is to silent `org-id-update-id-locations' when > called from `org-id-find'? Does the attached patch against master > improves the situation for you? > > Thanks, > > diff --git a/lisp/org-id.el b/lisp/org-id.el > index 55e826f..c2b3d86 100644 > --- a/lisp/org-id.el > +++ b/lisp/org-id.el > @@ -273,7 +273,7 @@ With optional argument MARKERP, return the position as a new marker." > (when file > (setq where (org-id-find-id-in-file id file markerp))) > (unless where > - (org-id-update-id-locations) > + (org-id-update-id-locations nil t) > (setq file (org-id-find-id-file id)) > (when file > (setq where (org-id-find-id-in-file id file markerp)))) > @@ -403,7 +403,7 @@ and time is the usual three-integer representation of time." > > ;; Storing ID locations (files) > > -(defun org-id-update-id-locations (&optional files) > +(defun org-id-update-id-locations (&optional files silent) > "Scan relevant files for IDs. > Store the relation between files and corresponding IDs. > This will scan all agenda files, all associated archives, and all > @@ -441,8 +441,9 @@ When CHECK is given, prepare detailed information about duplicate IDs." > (setq files (delq 'agenda-archives (copy-sequence files)))) > (setq nfiles (length files)) > (while (setq file (pop files)) > - (message "Finding ID locations (%d/%d files): %s" > - (- nfiles (length files)) nfiles file) > + (unless silent > + (message "Finding ID locations (%d/%d files): %s" > + (- nfiles (length files)) nfiles file)) > (setq tfile (file-truename file)) > (when (and (file-exists-p file) (not (member tfile seen))) > (push tfile seen) In all cases, this is already an improvement. So, I would definitely check this in. Thanks. Now, regarding the flood of messages, and the 1 second wait, it still may be useful for my case (where vc-backend messages are displayed) as you can see: --8<---------------cut here---------------start------------->8--- Reference `hours-spent' is not found in the current file (1 second wait) Running svn --non-interactive status -v columnview-estimates-ranges-bak.txt in foreground... Running svn --non-interactive status -v columnview-estimates-ranges-bak.txt...OK = 0 Running svn --non-interactive status -v columnview-reporting-remaining-work.txt in foreground... Running svn --non-interactive status -v columnview-reporting-remaining-work.txt...OK = 0 Running svn --non-interactive status -v org-quotes.org in foreground... Running svn --non-interactive status -v org-quotes.org...OK = 0 OVERVIEW Running svn --non-interactive status -v org-issues.org in foreground... Running svn --non-interactive status -v org-issues.org...OK = 0 Duplicate ID "mid:i929ov%24dpe%241%40dough%2Egmane%2Eorg", also in file c:/home/sva/src/worg/org-issues.org Duplicate ID "mid:4C90E885%2E7010409%40sift%2Einfo", also in file c:/home/sva/src/worg/org-issues.org OVERVIEW Running svn --non-interactive status -v org-glossary.org in foreground... Running svn --non-interactive status -v org-glossary.org...OK = 0 Running svn --non-interactive status -v org-faq.org in foreground... Running svn --non-interactive status -v org-faq.org...OK = 0 OVERVIEW Running svn --non-interactive status -v org-devel.org in foreground... Running svn --non-interactive status -v org-devel.org...OK = 0 Running svn --non-interactive status -v org-blog-articles.org in foreground... Running svn --non-interactive status -v org-blog-articles.org...OK = 0 OVERVIEW Running svn --non-interactive status -v index.org in foreground... Running svn --non-interactive status -v index.org...OK = 0 Running svn --non-interactive status -v org-column-view.txt in foreground... Running svn --non-interactive status -v org-column-view.txt...OK = 0 Running svn --non-interactive status -v columnview.txt in foreground... Running svn --non-interactive status -v columnview.txt...OK = 0 Running svn --non-interactive status -v columnview-estimates-ranges.txt in foreground... Running svn --non-interactive status -v columnview-estimates-ranges.txt...OK = 0 Running svn --non-interactive status -v Proposal-Writing-with-Dynamic-Blocks.txt in foreground... Running svn --non-interactive status -v Proposal-Writing-with-Dynamic-Blocks.txt...OK = 0 Running svn --non-interactive status -v stumpwm.txt in foreground... Running svn --non-interactive status -v stumpwm.txt...OK = 0 --8<---------------cut here---------------end--------------->8--- But I think the above patch is good enough for the whole community. Let's commit it, and everybody should be perfectly happy with that -- me included. Best regards, Seb -- Sebastien Vauban ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-19 14:10 ` Sebastien Vauban @ 2012-04-19 14:27 ` Sebastien Vauban 2012-04-19 14:29 ` Nicolas Goaziou ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Sebastien Vauban @ 2012-04-19 14:27 UTC (permalink / raw) To: emacs-orgmode-mXXj517/zsQ Hi Bastien, "Sebastien Vauban" wrote: >> You can also go back to the *Messages* buffer and check from there. >> >> Maybe another option is to silent `org-id-update-id-locations' when called >> from `org-id-find'? Does the attached patch against master improves the >> situation for you? > > In all cases, this is already an improvement. So, I would definitely check > this in. Thanks. That said, I still find we should be able to refer to tables names whose TBLNAME keyword could be spelled both: - in downcase version (#+tblname: abc) and - in uppercase version (#+TBLNAME: xyz). Best regards, Seb -- Sebastien Vauban ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-19 14:27 ` Sebastien Vauban @ 2012-04-19 14:29 ` Nicolas Goaziou 2012-04-21 13:43 ` Bastien 2012-04-23 13:07 ` Bastien 2 siblings, 0 replies; 9+ messages in thread From: Nicolas Goaziou @ 2012-04-19 14:29 UTC (permalink / raw) To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ Hello, "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: > That said, I still find we should be able to refer to tables names whose > TBLNAME keyword could be spelled both: > > - in downcase version (#+tblname: abc) and > - in uppercase version (#+TBLNAME: xyz). More importantly, we should also be able to refer to a table name through the future-proof #+NAME: keyword, if possible. Regards, -- Nicolas Goaziou ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-19 14:27 ` Sebastien Vauban 2012-04-19 14:29 ` Nicolas Goaziou @ 2012-04-21 13:43 ` Bastien 2012-04-23 13:07 ` Bastien 2 siblings, 0 replies; 9+ messages in thread From: Bastien @ 2012-04-21 13:43 UTC (permalink / raw) To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: > That said, I still find we should be able to refer to tables names whose > TBLNAME keyword could be spelled both: > > - in downcase version (#+tblname: abc) and > - in uppercase version (#+TBLNAME: xyz). This should be doable -- please test this patch: http://patchwork.newartisans.com/patch/1294/ -- Bastien ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Add info when reference to remote table is not in the file 2012-04-19 14:27 ` Sebastien Vauban 2012-04-19 14:29 ` Nicolas Goaziou 2012-04-21 13:43 ` Bastien @ 2012-04-23 13:07 ` Bastien 2 siblings, 0 replies; 9+ messages in thread From: Bastien @ 2012-04-23 13:07 UTC (permalink / raw) To: Sebastien Vauban; +Cc: emacs-orgmode Hi Sébastien, "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: > Hi Bastien, > > "Sebastien Vauban" wrote: >>> You can also go back to the *Messages* buffer and check from there. >>> >>> Maybe another option is to silent `org-id-update-id-locations' when called >>> from `org-id-find'? Does the attached patch against master improves the >>> situation for you? >> >> In all cases, this is already an improvement. So, I would definitely check >> this in. Thanks. > > That said, I still find we should be able to refer to tables names whose > TBLNAME keyword could be spelled both: > > - in downcase version (#+tblname: abc) and > - in uppercase version (#+TBLNAME: xyz). I've now pushed a patch for this -- please confirm it works as expected. Thanks, -- Bastien ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-04-23 13:35 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-04-05 14:07 [PATCH] Add info when reference to remote table is not in the file Sebastien Vauban 2012-04-06 7:43 ` Bastien 2012-04-06 8:36 ` Sebastien Vauban 2012-04-09 16:01 ` Bastien 2012-04-19 14:10 ` Sebastien Vauban 2012-04-19 14:27 ` Sebastien Vauban 2012-04-19 14:29 ` Nicolas Goaziou 2012-04-21 13:43 ` Bastien 2012-04-23 13:07 ` Bastien
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.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).