* encoding in shell-command and subshell
@ 2021-08-23 11:01 Jean-Christophe Helary
2021-08-23 23:09 ` Dante Catalfamo
0 siblings, 1 reply; 3+ messages in thread
From: Jean-Christophe Helary @ 2021-08-23 11:01 UTC (permalink / raw)
To: help-gnu-emacs
When I run shell-command with javac on a class that contains non ASCII charaters, I get garbage.
When I open the subshell and run the same command inside it, it picks by Java encoding environment declaration (.profile):
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
and works without problems.
The workaround is that I have to declare the encoding in the shell-command.
Why is that ? Is there a way to have the subshell from shell-command pick my environment variables ?
--
Jean-Christophe Helary @brandelune
https://mac4translators.blogspot.com
https://sr.ht/~brandelune/omegat-as-a-book/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: encoding in shell-command and subshell
2021-08-23 11:01 encoding in shell-command and subshell Jean-Christophe Helary
@ 2021-08-23 23:09 ` Dante Catalfamo
2021-08-23 23:28 ` Jean-Christophe Helary
0 siblings, 1 reply; 3+ messages in thread
From: Dante Catalfamo @ 2021-08-23 23:09 UTC (permalink / raw)
To: help-gnu-emacs
How are you launching Emacs? It's possible the environment variables
aren't defined when Emacs is launched. I know this is a problem on MacOS
or when you launch it using something like systemd.
The `exec-path-from-shell' package will probably solve the problem for
you. It opens a shell and pulls all the environment variables from it.
On 8/23/21 7:01 AM, Jean-Christophe Helary wrote:
> When I run shell-command with javac on a class that contains non ASCII charaters, I get garbage.
>
> When I open the subshell and run the same command inside it, it picks by Java encoding environment declaration (.profile):
>
> export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
>
> and works without problems.
>
> The workaround is that I have to declare the encoding in the shell-command.
>
> Why is that ? Is there a way to have the subshell from shell-command pick my environment variables ?
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: encoding in shell-command and subshell
2021-08-23 23:09 ` Dante Catalfamo
@ 2021-08-23 23:28 ` Jean-Christophe Helary
0 siblings, 0 replies; 3+ messages in thread
From: Jean-Christophe Helary @ 2021-08-23 23:28 UTC (permalink / raw)
To: Dante Catalfamo; +Cc: help-gnu-emacs
> On Aug 24, 2021, at 8:09, Dante Catalfamo <dante@lambda.cx> wrote:
>
> How are you launching Emacs? It's possible the environment variables aren't defined when Emacs is launched. I know this is a problem on MacOS or when you launch it using something like systemd.
>
> The `exec-path-from-shell' package will probably solve the problem for you. It opens a shell and pulls all the environment variables from it.
Thank you Dante for the reply.
I use Emacs.app on macOS, that I regularly build from master. I've been using exec-path-from-shell for as far as I can remember (but I do have a relatively short memory span...)
And that would not explain the discrepancy between (shell-command "javac ...") and M-! javac ...
> On 8/23/21 7:01 AM, Jean-Christophe Helary wrote:
>> When I run shell-command with javac on a class that contains non ASCII charaters, I get garbage.
>> When I open the subshell and run the same command inside it, it picks by Java encoding environment declaration (.profile):
>> export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
>> and works without problems.
>> The workaround is that I have to declare the encoding in the shell-command.
>> Why is that ? Is there a way to have the subshell from shell-command pick my environment variables ?
--
Jean-Christophe Helary @brandelune
https://mac4translators.blogspot.com
https://sr.ht/~brandelune/omegat-as-a-book/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-08-23 23:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-23 11:01 encoding in shell-command and subshell Jean-Christophe Helary
2021-08-23 23:09 ` Dante Catalfamo
2021-08-23 23:28 ` Jean-Christophe Helary
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).