emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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



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