From: gnuric@pm.me
To: Max Nikulin <manikulin@gmail.com>
Cc: gnuric@pm.me, emacs-orgmode@gnu.org
Subject: Re: Have export treat file: paths in INCLUDED file relative to the INCLUDING file's dir
Date: Tue, 28 Feb 2023 21:42:09 +0000 [thread overview]
Message-ID: <87pm9ta2ms.fsf@pm.me> (raw)
In-Reply-To: <f338bc3b-7524-3b4e-0407-eb514c8a247c@gmail.com>
Hi Max,
Thanks for your reply.
"Max Nikulin" <manikulin@gmail.com> writes:
> On 26/02/2023 08:52, gnuric@pm.me wrote:
>> (basically similar to what #include
>> directive in C preprocessor would do, e.g.). As of now, the
>> above
>> s.org exports to s.html which has the file: link converted to
>>
>> file:///home/user/media/s/media/s01_image.png
>
> Doesn't cpp behave in a similar way?
>
> grep --include=*.h -r '' h-0.h include-1/
> h-0.h:
> h-0.h:#include "include-1/h-1.h"
> h-0.h:
> h-0.h:extern int h0;
> include-1/h-1.h:
> include-1/h-1.h:#include "include-2/h-2.h"
> include-1/h-1.h:
> include-1/h-1.h:extern int h1;
> include-1/include-2/h-2.h:
> include-1/include-2/h-2.h:extern int h2;
>
You have two #include directives in your example, which are
processed recursively according to the preprocessor rules. What I
had in mind was one #include preprocessor directive (similar to
one #+INCLUDE: 'directive' in Org) and a non-preprocessor
directive (`file:' in Org).
> cpp -nostdinc h-0.h
> # 1 "h-0.h"
> # 1 "<built-in>"
> # 1 "<command-line>"
> # 1 "h-0.h"
>
> # 1 "include-1/h-1.h" 1
>
> # 1 "include-1/include-2/h-2.h" 1
>
> extern int h2;
> # 3 "include-1/h-1.h" 2
>
> extern int h1;
> # 3 "h-0.h" 2
>
> extern int h0;
>
>
> So in a file residing in ./include-1/ reference to
> "include-2/h-2.h"
> means ./include-1/include-2/h-2.h, not ./include-2/h-2.h
Regards,
Omid
next prev parent reply other threads:[~2023-02-28 21:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-26 1:52 Have export treat file: paths in INCLUDED file relative to the INCLUDING file's dir gnuric
2023-02-28 10:34 ` [FR] Allow to #+include files verbatim without any processing (was: Have export treat file: paths in INCLUDED file relative to the INCLUDING file's dir) Ihor Radchenko
2023-02-28 15:12 ` Timothy
2023-02-28 21:34 ` gnuric
2023-03-30 18:17 ` gnuric
2023-04-02 10:24 ` Ihor Radchenko
2023-04-02 21:32 ` gnuric
2023-04-03 9:18 ` Ihor Radchenko
2023-04-04 1:04 ` Samuel Wales
2023-04-04 8:57 ` Ihor Radchenko
2023-04-05 0:16 ` Samuel Wales
2023-04-04 8:07 ` gnuric
2023-04-04 8:26 ` Ihor Radchenko
2023-03-01 9:58 ` Ihor Radchenko
2023-02-28 15:03 ` Have export treat file: paths in INCLUDED file relative to the INCLUDING file's dir Max Nikulin
2023-02-28 21:42 ` gnuric [this message]
2023-03-02 12:14 ` Max Nikulin
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.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pm9ta2ms.fsf@pm.me \
--to=gnuric@pm.me \
--cc=emacs-orgmode@gnu.org \
--cc=manikulin@gmail.com \
/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/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).