From: "Sébastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Subject: Re: [Babel] Coding system of tangled files? Date: Mon, 22 Nov 2010 13:41:40 +0100 [thread overview] Message-ID: <email@example.com> (raw) In-Reply-To: <firstname.lastname@example.org> Hi Eric, "Eric Schulte" wrote: > I think this should be possible using the `org-babel-post-tangle-hook' to > re-save the file with a specified encoding. After looking into this a little > bit it appears that you should be able to add a function to this hook which > will update the `save-buffer-coding-system' variable and then re-save the > buffer. This should allow you to save tangled files in arbitrary code > systems. #+TITLE: Format for tangling files #+DATE: 2010-11-22 #+BABEL: :comments yes * Bug report ** Script #+begin_src sh :tangle doit.sh #!/bin/bash # L'élève est là-bas... ls date #+end_src ** Execute it in a Bash shell The tangled file, when launched from withing a Bash shell, returns errors: #+begin_src sh sva@MEDIACENTER:.../Accounting/dev 0$ ./doit.sh ./doit.sh: line 4: $'\r': command not found ./doit.sh: line 5: $'ls\r': command not found ./doit.sh: line 6: $'date\r': command not found #+end_src The reason is that the tangled file is saved as UTF-8-dos (being under Windows). It should be saved in unix format. Is there a way to impose this? * Answer from Eric #+begin_example I think this should be possible using the `org-babel-post-tangle-hook' to re-save the file with a specified encoding. After looking into this a little bit it appears that you should be able to add a function to this hook which will update the `save-buffer-coding-system' variable and then re-save the buffer. #+end_example * Tests ** One Evaluate this: #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-pre-tangle-hook (lambda () (setq save-buffer-coding-system 'iso-latin-9-unix))) #+end_src Instead of setting the variable in *post* hook (and saving the tangled file -- for which I did not know how to procede: what's the argument to give to save?), I wondered if it shouldn't be easier to set it in the *pre* hook... Though, the above does not work as I would expect. ** Two After different trials, I came up with the following which works for me... Evaluate this: #+begin_src emacs-lisp :results silent :tangle no (add-hook 'org-babel-pre-tangle-hook (lambda () (setq coding-system-for-write 'iso-latin-9-unix))) #+end_src It's not clear to me what's the exact difference between the 2 variables (=save-buffer-coding-system= and =coding-system-for-write=). But that works: #+begin_src sh sva@MEDIACENTER:.../Accounting/dev 0$ doit.sh accountlog.csv csv2ledger.sh doit.sh ecm-tangle.txt my-csv2ledger.html my-csv2ledger.txt Mon Nov 22 13:30:12 2010 #+end_src Best regards, Seb -- Sébastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next prev parent reply other threads:[~2010-11-22 12:41 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-11-18 12:59 Sébastien Vauban 2010-11-18 14:07 ` Eric Schulte 2010-11-22 12:41 ` Sébastien Vauban [this message] 2010-11-22 13:20 ` Eric Schulte
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 \ --email@example.com \ --firstname.lastname@example.org \ --cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \ --subject='Re: [Babel] Coding system of tangled files?' \ /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
Code repositories for project(s) associated with this 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).