emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Allow #+SETUPFILE to point to an URL for the org file


From: Nicolas Goaziou
Subject: Re: [O] Allow #+SETUPFILE to point to an URL for the org file
Date: Sun, 28 May 2017 09:35:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello,

Kaushal Modi <address@hidden> writes:

> I have attached a patch, rebased to master and with all suggestions
> implemented.

Thank you.

> There are some additional changes in the patch this time:
> - Prevent org-edit-special from attempting to open the "file" for editing
> if the value is a URL.

This is a good idea. We could even display a read-only buffer with the
contents of the document, using new `org-file-contents'.

Anyway, this can be done in a different patch.

> I liked your C-c C-c idea below! :)

Great!

> +indirectly through a file included using @samp{#+SETUPFILE: filename/URL}

filename/URL > file name or URL

> address@hidden #+SETUPFILE: file/URL

file/URL > file name or URL

> +The setup file or a URL pointing to such file is for additional in-buffer
> +settings.  Org loads this file and parses it for any settings in it only when
> +Org opens the main file.  If URL is specified, the contents are downloaded
> +and stored in a temporary cache.  @kbd{C-c C-c} on the settings line will
> +also parse and load.  @kbd{C-c C-c} on the @code{#+SETUPFILE:} line will also
> +reset the temporary file cache.  Org also parses and loads the file/URL

file/URL > document

> +during normal exporting process.  Org parses the contents of this
> file/URL as

file/URL document

> +if it was included in the buffer.  It can be another Org file.  To visit the
> +file (not a URL), @kbd{C-c '} while the cursor is on the line with the file
>  name.
>  @item #+STARTUP:
>  @cindex #+STARTUP
> @@ -17395,7 +17398,9 @@ If any highlights shown in the buffer from the 
> creation of a sparse tree, or
>  from clock display, remove such highlights.
>  @item
>  If the cursor is in one of the special @code{#+KEYWORD} lines, scan the
> -buffer for these lines and update the information.
> +buffer for these lines and update the information.  Also reset the org file

org > Org

> +(defvar ffap-url-regexp)             ;Silence byte-compiler

I think this can go at the beginning of the "org.el".

> +    ;; Reset the cache of files downloaded by `org-file-contents'.
> +    (clrhash org--file-cache))

Note that we can still implement a non-interactive
`org-reset-setupfile-cache' function and call it here instead. (clrhash
org--file-cache) may be a bit low level at this point.

Otherwise, LGTM. Would you want to throw in some tests? You can use
cl-letf to bind `url-retrieve-synchronously' to a function returning
a buffer containing some dumb (valid or invalid) output.

Regards,

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]