* [babel] tangle and Makefile
@ 2010-01-28 10:52 "Martin G. Skjæveland"
2010-01-28 15:38 ` Dan Davison
2010-01-28 15:47 ` sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]] Dan Davison
0 siblings, 2 replies; 6+ messages in thread
From: "Martin G. Skjæveland" @ 2010-01-28 10:52 UTC (permalink / raw
To: emacs-orgmode
Hi,
I have two questions regarding org-babel-tangle and Makefile.
Running org-babel-tangle on the following file
----------------------------------start
* test
#+begin_src makefile :tangle Makefile
test:
echo "hello"
#+end_src
----------------------------------end
writes a file 'Makefile.' (with a period). Is it possible to have it
write to a file named 'Makefile' (without a period)?
When I use this makefile
$make -f Makefile. test
I get
Makefile.:4: *** missing separator (did you mean TAB instead of 8
spaces?). Stop.
even though I used TAB and not space when editing the Makefile code. How
can I avoid TABs being converted to space?
Thanks!
Martin
Remember to cover the basics, that is, what you expected to happen and
what in fact did happen. You don't know how to make a good report? See
http://orgmode.org/manual/Feedback.html#Feedback
Your bug report will be posted to the Org-mode mailing list.
------------------------------------------------------------------------
Emacs : GNU Emacs 23.1.50.1 (i486-pc-linux-gnu, GTK+ Version 2.18.0)
of 2009-09-27 on palmer, modified by Debian
Package: Org-mode version 6.34trans (release_6.34c.16.ga2cf.dirty)
current state:
==============
(setq
org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
org-metaup-hook '(org-babel-load-in-session-maybe)
org-after-todo-state-change-hook '(org-clock-out-if-current)
org-babel-interpreters '("makefile" "tex" "n3" "xml" "java" "python" "dot"
"sh" "emacs-lisp")
org-export-latex-format-toc-function 'org-export-latex-format-toc-default
org-export-preprocess-hook '(org-export-blocks-preprocess)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-hide-block-toggle-maybe)
org-src-mode-hook '(org-src-mode-configure-edit-buffer)
org-confirm-shell-link-function 'yes-or-no-p
org-export-first-hook '(org-beamer-initialize-open-trackers)
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-export-latex-classes '(("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}"))
("book" "\\documentclass[11pt]{book}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
)
org-export-preprocess-before-normalizing-links-hook
'(org-remove-file-link-modifiers)
org-use-speed-commands t
org-mode-hook '((lambda nil
(org-add-hook (quote change-major-mode-hook)
(quote org-babel-show-result-all) (quote append)
(quote local))
)
org-babel-result-hide-spec org-babel-hide-all-hashes
#[nil "\300\301\302\303\304$\207"
[org-add-hook change-major-mode-hook org-show-block-all
append local]
5]
)
org-ctrl-c-ctrl-c-hook '(org-babel-lob-execute-maybe
org-babel-hash-at-point
org-babel-execute-src-block-maybe)
org-confirm-elisp-link-function 'yes-or-no-p
org-export-interblocks '((lob org-babel-exp-lob-one-liners)
(src org-babel-exp-inline-src-blocks))
org-occur-hook '(org-first-headline-recenter)
org-from-is-user-regexp "\\<Martin G\\. Skjæveland\\>"
org-export-preprocess-before-selecting-backend-code-hook
'(org-beamer-select-beamer-code)
org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
org-beamer-auto-fragile-frames
org-beamer-place-default-actions-for-lists)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-export-blocks '((src org-babel-exp-src-blocks nil)
(comment org-export-blocks-format-comment t)
(ditaa org-export-blocks-format-ditaa nil)
(dot org-export-blocks-format-dot nil))
)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [babel] tangle and Makefile
2010-01-28 10:52 [babel] tangle and Makefile "Martin G. Skjæveland"
@ 2010-01-28 15:38 ` Dan Davison
2010-01-28 17:00 ` Eric Schulte
2010-01-28 15:47 ` sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]] Dan Davison
1 sibling, 1 reply; 6+ messages in thread
From: Dan Davison @ 2010-01-28 15:38 UTC (permalink / raw
To: Martin G. Skjæveland; +Cc: emacs-orgmode
"Martin G. Skjæveland" <martige@ifi.uio.no> writes:
> Hi,
>
> I have two questions regarding org-babel-tangle and Makefile.
>
> Running org-babel-tangle on the following file
>
> ----------------------------------start
> * test
>
> #+begin_src makefile :tangle Makefile
> test:
> echo "hello"
> #+end_src
> ----------------------------------end
>
> writes a file 'Makefile.' (with a period). Is it possible to have it
> write to a file named 'Makefile' (without a period)?
Hi Martin,
I've had this problem too. Here's a patch. Eric -- can you apply if
it looks OK?
Dan
From 5c4d56a2e43a97186bf2971b6406f5fa2257130d Mon Sep 17 00:00:00 2001
From: Dan Davison <davison@stats.ox.ac.uk>
Date: Thu, 28 Jan 2010 10:23:11 -0500
Subject: [PATCH] babel: prevent trailing periods in tangled file names without extensions
---
contrib/babel/lisp/org-babel-tangle.el | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/contrib/babel/lisp/org-babel-tangle.el b/contrib/babel/lisp/org-babel-tangle.el
index c805373..66e2c26 100644
--- a/contrib/babel/lisp/org-babel-tangle.el
+++ b/contrib/babel/lisp/org-babel-tangle.el
@@ -102,9 +102,10 @@ exported source code blocks by language."
((> (length tangle) 0) tangle))
target-file))
(file-name (when base-name
- (if (string= base-name
- (file-name-sans-extension base-name))
- (concat base-name "." ext) base-name))))
+ (if (and ext
+ (string= base-name
+ (file-name-sans-extension base-name)))
+ (concat base-name "." ext) base-name))))
;; ;; debugging
;; (message "tangle=%S base-name=%S file-name=%S"
;; tangle base-name file-name)
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]]
2010-01-28 10:52 [babel] tangle and Makefile "Martin G. Skjæveland"
2010-01-28 15:38 ` Dan Davison
@ 2010-01-28 15:47 ` Dan Davison
2010-01-28 18:21 ` Carsten Dominik
1 sibling, 1 reply; 6+ messages in thread
From: Dan Davison @ 2010-01-28 15:47 UTC (permalink / raw
To: Martin G. Skjæveland; +Cc: emacs-orgmode, Carsten Dominik
"Martin G. Skjæveland" <martige@ifi.uio.no> writes:
> Hi,
>
> I have two questions regarding org-babel-tangle and Makefile.
>
> Running org-babel-tangle on the following file
>
> ----------------------------------start
> * test
>
> #+begin_src makefile :tangle Makefile
> test:
> echo "hello"
> #+end_src
> ----------------------------------end
>
[...]
> When I use this makefile
>
> $make -f Makefile. test
>
> I get
>
> Makefile.:4: *** missing separator (did you mean TAB instead of 8
> spaces?). Stop.
>
> even though I used TAB and not space when editing the Makefile code. How
> can I avoid TABs being converted to space?
Hi again Martin,
This is more to do with org-mode sensu strictu (non-babel). When you
exit a code edit buffer, tabs are automatically converted to
spaces. There is an org-mode variable org-src-preserve-indentation which
already has a few different effects. Perhaps a solution is to add
not_removing_tabs to the effects of this variable, as in the patch
below. I can't think off hand what that's going to break -- anyone?
Dan
From d854544d24377434c2ace13aac45e85e42bcc7aa Mon Sep 17 00:00:00 2001
From: Dan Davison <davison@stats.ox.ac.uk>
Date: Thu, 28 Jan 2010 10:36:29 -0500
Subject: [PATCH] org-src: Don't remove tabs when org-src-preserve-indentation is non-nil
---
lisp/org-src.el | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/lisp/org-src.el b/lisp/org-src.el
index cdad99b..1d155cc 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -525,7 +525,7 @@ the language, a switch telling if the content should be in a single line."
org-edit-src-content-indentation))
(preserve-indentation org-src-preserve-indentation)
(delta 0) code line col indent)
- (untabify (point-min) (point-max))
+ (unless preserve-indentation (untabify (point-min) (point-max)))
(save-excursion
(goto-char (point-min))
(if (looking-at "[ \t\n]*\n") (replace-match ""))
--
1.6.3.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [babel] tangle and Makefile
2010-01-28 15:38 ` Dan Davison
@ 2010-01-28 17:00 ` Eric Schulte
0 siblings, 0 replies; 6+ messages in thread
From: Eric Schulte @ 2010-01-28 17:00 UTC (permalink / raw
To: Dan Davison; +Cc: emacs-orgmode
This patch has been applied. Thanks -- Eric
Dan Davison <davison@stats.ox.ac.uk> writes:
> "Martin G. Skjæveland" <martige@ifi.uio.no> writes:
>
>> Hi,
>>
>> I have two questions regarding org-babel-tangle and Makefile.
>>
>> Running org-babel-tangle on the following file
>>
>> ----------------------------------start
>> * test
>>
>> #+begin_src makefile :tangle Makefile
>> test:
>> echo "hello"
>> #+end_src
>> ----------------------------------end
>>
>> writes a file 'Makefile.' (with a period). Is it possible to have it
>> write to a file named 'Makefile' (without a period)?
>
> Hi Martin,
>
> I've had this problem too. Here's a patch. Eric -- can you apply if
> it looks OK?
>
> Dan
>
> From 5c4d56a2e43a97186bf2971b6406f5fa2257130d Mon Sep 17 00:00:00 2001
> From: Dan Davison <davison@stats.ox.ac.uk>
> Date: Thu, 28 Jan 2010 10:23:11 -0500
> Subject: [PATCH] babel: prevent trailing periods in tangled file names without extensions
>
> ---
> contrib/babel/lisp/org-babel-tangle.el | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/contrib/babel/lisp/org-babel-tangle.el b/contrib/babel/lisp/org-babel-tangle.el
> index c805373..66e2c26 100644
> --- a/contrib/babel/lisp/org-babel-tangle.el
> +++ b/contrib/babel/lisp/org-babel-tangle.el
> @@ -102,9 +102,10 @@ exported source code blocks by language."
> ((> (length tangle) 0) tangle))
> target-file))
> (file-name (when base-name
> - (if (string= base-name
> - (file-name-sans-extension base-name))
> - (concat base-name "." ext) base-name))))
> + (if (and ext
> + (string= base-name
> + (file-name-sans-extension base-name)))
> + (concat base-name "." ext) base-name))))
> ;; ;; debugging
> ;; (message "tangle=%S base-name=%S file-name=%S"
> ;; tangle base-name file-name)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]]
2010-01-28 15:47 ` sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]] Dan Davison
@ 2010-01-28 18:21 ` Carsten Dominik
2010-01-29 15:28 ` Dan Davison
0 siblings, 1 reply; 6+ messages in thread
From: Carsten Dominik @ 2010-01-28 18:21 UTC (permalink / raw
To: Dan Davison; +Cc: emacs-orgmode
On Jan 28, 2010, at 4:47 PM, Dan Davison wrote:
> "Martin G. Skjæveland" <martige@ifi.uio.no> writes:
>
>> Hi,
>>
>> I have two questions regarding org-babel-tangle and Makefile.
>>
>> Running org-babel-tangle on the following file
>>
>> ----------------------------------start
>> * test
>>
>> #+begin_src makefile :tangle Makefile
>> test:
>> echo "hello"
>> #+end_src
>> ----------------------------------end
>>
> [...]
>> When I use this makefile
>>
>> $make -f Makefile. test
>>
>> I get
>>
>> Makefile.:4: *** missing separator (did you mean TAB instead of 8
>> spaces?). Stop.
>>
>> even though I used TAB and not space when editing the Makefile
>> code. How
>> can I avoid TABs being converted to space?
>
> Hi again Martin,
>
> This is more to do with org-mode sensu strictu (non-babel). When you
> exit a code edit buffer, tabs are automatically converted to
> spaces. There is an org-mode variable org-src-preserve-indentation
> which
> already has a few different effects. Perhaps a solution is to add
> not_removing_tabs to the effects of this variable, as in the patch
> below. I can't think off hand what that's going to break -- anyone?
>
> Dan
>
>
> From d854544d24377434c2ace13aac45e85e42bcc7aa Mon Sep 17 00:00:00 2001
> From: Dan Davison <davison@stats.ox.ac.uk>
> Date: Thu, 28 Jan 2010 10:36:29 -0500
> Subject: [PATCH] org-src: Don't remove tabs when org-src-preserve-
> indentation is non-nil
>
> ---
> lisp/org-src.el | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/lisp/org-src.el b/lisp/org-src.el
> index cdad99b..1d155cc 100644
> --- a/lisp/org-src.el
> +++ b/lisp/org-src.el
> @@ -525,7 +525,7 @@ the language, a switch telling if the content
> should be in a single line."
> org-edit-src-content-indentation))
> (preserve-indentation org-src-preserve-indentation)
> (delta 0) code line col indent)
> - (untabify (point-min) (point-max))
> + (unless preserve-indentation (untabify (point-min) (point-max)))
> (save-excursion
> (goto-char (point-min))
> (if (looking-at "[ \t\n]*\n") (replace-match ""))
> --
> 1.6.3.3
If you have an *indented* code block where the #+begin src is already
indented, this might mess up the relative indentation in the Org-mode
buffer because TAB can
land on odd places in the line. But I can see that this is a problem
with Makefiles, so please apply the patch.
Thanks
- Carsten
- Carsten
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]]
2010-01-28 18:21 ` Carsten Dominik
@ 2010-01-29 15:28 ` Dan Davison
0 siblings, 0 replies; 6+ messages in thread
From: Dan Davison @ 2010-01-29 15:28 UTC (permalink / raw
To: Carsten Dominik; +Cc: emacs-orgmode
Carsten Dominik <carsten.dominik@gmail.com> writes:
> On Jan 28, 2010, at 4:47 PM, Dan Davison wrote:
>
>> "Martin G. Skjæveland" <martige@ifi.uio.no> writes:
>>
>>> Hi,
>>>
>>> I have two questions regarding org-babel-tangle and Makefile.
>>>
>>> Running org-babel-tangle on the following file
>>>
>>> ----------------------------------start
>>> * test
>>>
>>> #+begin_src makefile :tangle Makefile
>>> test:
>>> echo "hello"
>>> #+end_src
>>> ----------------------------------end
>>>
>> [...]
>>> When I use this makefile
>>>
>>> $make -f Makefile. test
>>>
>>> I get
>>>
>>> Makefile.:4: *** missing separator (did you mean TAB instead of 8
>>> spaces?). Stop.
>>>
>>> even though I used TAB and not space when editing the Makefile
>>> code. How
>>> can I avoid TABs being converted to space?
>>
>> Hi again Martin,
>>
>> This is more to do with org-mode sensu strictu (non-babel). When you
>> exit a code edit buffer, tabs are automatically converted to
>> spaces. There is an org-mode variable org-src-preserve-indentation
>> which
>> already has a few different effects. Perhaps a solution is to add
>> not_removing_tabs to the effects of this variable, as in the patch
>> below. I can't think off hand what that's going to break -- anyone?
>>
>> Dan
>>
>>
>> From d854544d24377434c2ace13aac45e85e42bcc7aa Mon Sep 17 00:00:00 2001
>> From: Dan Davison <davison@stats.ox.ac.uk>
>> Date: Thu, 28 Jan 2010 10:36:29 -0500
>> Subject: [PATCH] org-src: Don't remove tabs when org-src-preserve-
>> indentation is non-nil
>>
>> ---
>> lisp/org-src.el | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/lisp/org-src.el b/lisp/org-src.el
>> index cdad99b..1d155cc 100644
>> --- a/lisp/org-src.el
>> +++ b/lisp/org-src.el
>> @@ -525,7 +525,7 @@ the language, a switch telling if the content
>> should be in a single line."
>> org-edit-src-content-indentation))
>> (preserve-indentation org-src-preserve-indentation)
>> (delta 0) code line col indent)
>> - (untabify (point-min) (point-max))
>> + (unless preserve-indentation (untabify (point-min) (point-max)))
>> (save-excursion
>> (goto-char (point-min))
>> (if (looking-at "[ \t\n]*\n") (replace-match ""))
>> --
>> 1.6.3.3
>
> If you have an *indented* code block where the #+begin src is already
> indented, this might mess up the relative indentation in the Org-mode
> buffer because TAB can
> land on odd places in the line. But I can see that this is a problem
> with Makefiles, so please apply the patch.
OK, applied.
Martin -- with the latest git version, and with
org-src-preserve-indentation set to a non-nil value, you should be able
to tangle makefiles correctly. Please let us know if not.
Dan
>
> Thanks
>
> - Carsten
>
>
> - Carsten
>
>
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-01-29 15:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-28 10:52 [babel] tangle and Makefile "Martin G. Skjæveland"
2010-01-28 15:38 ` Dan Davison
2010-01-28 17:00 ` Eric Schulte
2010-01-28 15:47 ` sometimes we don't want org-src to remove tabs [WAS: Re: tangle and Makefile]] Dan Davison
2010-01-28 18:21 ` Carsten Dominik
2010-01-29 15:28 ` Dan Davison
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.