From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?S=C3=A9bastien_Vauban?= Subject: Re: [babel] How to kill two birds with one stone? Date: Mon, 28 Feb 2011 14:59:39 +0100 Message-ID: <801v2sp8dw.fsf@somewhere.org> References: <808vxv23j2.fsf@missioncriticalit.com> <80mxm9yulk.fsf@missioncriticalit.com> <87sjvj6oul.fsf@gmail.com> <80y654nq9a.fsf@somewhere.org> <4851.1298673883@alphaville.usa.hp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi Nick, Nick Dokos wrote: > S=C3=A9bastien Vauban wrote: >> My code was a bit more complex... because I need to be able to correctly >> take care of filenames containing spaces inside them (I'm on Windows, I >> never do such a thing, but there are well spaces on the files I wanna >> graph). >>=20 >> #+results: graph-files-seb >> | dan | | >> | eric | | >> | other | | >> | "seb | vauban" | > > I suspect that this is a losing battle: spaces in filenames are legal, th= ey > are common on Windows systems, but they are a PITA. The main reason is th= at > a *lot* of tools (particularly Unix tools of a certain age) assume that > spaces in filenames will not occur and break in mysterious and unexpected > ways when presented with a directory structure that contains such. > > There are various workarounds (the most important of which, practically > speaking, is the idiom > > find ... -print0 | xargs -0 .... > > which causes ``find'' to use a null byte as a separator and ``xargs'' to > search for same in order to split the list into its constituent component= s - > null bytes being illegal in filenames), and there is a long, fairly > exhaustive discusssion of such matters in David Wheeler's enlightening > essay: > > http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html > > but none of these would help in this case, because the culprit here turns > out to be org-table-convert-region: > > ,---- > | (org-table-convert-region BEG0 END0 &optional SEPARATOR) > |=20 > | Convert region to a table. > | SEPARATOR specifies the field separator in the lines. It can have the > | following values: > |=20 > | '(4) Use the comma as a field separator > | '(16) Use a TAB as field separator > | integer When a number, use that many spaces as field separator > | nil When nil, the command tries to be smart and figure out the > | separator in the following way: > | - when each line contains a TAB, assume TAB-separated material > | - when each line contains a comma, assume CSV material > | - else, assume one or more SPACE characters as separator. > `---- > > It is called with a nil separator so it uses its "smart" mode and counts = one > or more whitespace characters as the separator (I wonder what would happen > with a filename that contains a comma :-) > > In any case, the region has the filenames one per line, so if > org-table-convert-region could parse a newline-separated list (and if the= re > was a way to specify the newline separator from higher levels) everything > would be hunky dory; there might be a way to specify the separator using > dynamic scoping, but org-table-convert-region would require some changes = to > take advantage of it. If I follow you correctly, another approach would be to enhance `org-table-convert-region' so that it could take `\0' as field separator? Best regards, Seb --=20 S=C3=A9bastien 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