jabranham / system-packages

Moved to gitlab
https://gitlab.com/jabranham/system-packages
GNU General Public License v3.0
39 stars 12 forks source link

workaround: use C locale for sudo to ensure that the password prompt matcher works #18

Closed ArneBab closed 6 years ago

ArneBab commented 6 years ago

This is a workaround for non-english locales (mine: german) to make comint-mode ask for my password. It should not be necessary, but it seems to be.

jabranham commented 6 years ago

That's really weird, and I don't think should be necessary.

What happens if you try to use an operation with M-&? E.g. M-& sudo ?

On Wed 07 Feb 2018 at 02:04, Arne Babenhauserheide notifications@github.com wrote:

This is a workaround for non-english locales (mine: german) to make comint-mode ask for my password. It should not be necessary, but it seems to be. You can view, comment on, or merge this pull request online at:

https://github.com/jabranham/system-packages/pull/18

-- Commit Summary --

  • workaround: use C locale for sudo to ensure that the password prompt matcher works

-- File Changes --

M system-packages.el (2)

-- Patch Links --

https://github.com/jabranham/system-packages/pull/18.patch https://github.com/jabranham/system-packages/pull/18.diff

ArneBab commented 6 years ago

@jabranham I then ge the same problem: the password is asked in the buffer in cleartext instead of in the minibuffer.

Can you reproduce it when you start emacs with LANG=de_DE.UTF-8 LANGUAGE=de emacs25 ?

jabranham commented 6 years ago

I don't have the german locale setup on my computer.

Can you check the value of current-language-environment and let me know what it is?

jabranham commented 6 years ago

I can't reproduce this with the German locale. Starting Emacs with

LANG=de_DE.UTF-8 LANGUAGE=de emacs -Q

Then doing

(add-to-list 'load-path "/path/to/system-packages")
(require 'system-packages)

then M-x system-packages-update results in it asking me, (In buffer *system-packages*) [sudo] Passwort fur alex: .....

But my system locale is English, so maybe that's the issue...

ArneBab commented 6 years ago

I get this:

current-language-environment is a variable defined in ‘mule-cmds.el’.
Its value is "UTF-8"
Original value was "English"
jabranham commented 6 years ago

I think that's what's wrong here. Your language environment isn't getting set to German for some reason.

M-x set-language-environment RET German RET

Then I think it should hide the password prompt properly.

On Fri 16 Mar 2018 at 12:31, Arne Babenhauserheide notifications@github.com wrote:

I get this:

current-language-environment is a variable defined in ‘mule-cmds.el’. Its value is "UTF-8" Original value was "English"

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ArneBab commented 6 years ago

That’s really strange, yes -- and it looks like this is something in my local setup, because emacs -Q has the correct German value.

However M-x customize-variable shows that UTF-8 is an officially supported value, so maybe I should report an emacs bug.

Thank you!

ArneBab commented 6 years ago

I now reported an emacs bug for this. Thank you again!

jabranham commented 6 years ago

My guess is that somewhere in your emacs init file you've put:

(set-language-environment 'utf)

or similar. If you remove it, everything should work out of the box.

On Fri 16 Mar 2018 at 14:52, Arne Babenhauserheide notifications@github.com wrote:

That’s really strange, yes -- and it looks like this is something in my local setup, because emacs -Q has the correct German value.

However M-x customize-variable shows that UTF-8 is an officially supported value, so maybe I should report an emacs bug.

Thank you!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ArneBab commented 6 years ago

Just for reference: here’s the emacs bug report: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30838