* Bug when compiling elc code?
@ 2007-08-08 10:29 Hadron
2007-08-08 11:37 ` Johan Bockgård
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Hadron @ 2007-08-08 10:29 UTC (permalink / raw)
To: help-gnu-emacs
I recently added this bit of lisp to my .emacs in order to automatically
byte compile any el files I saved
,----
| (add-hook 'emacs-lisp-mode-hook
| '(lambda ()
| (make-local-hook 'after-save-hook)
| (add-hook 'after-save-hook
| '(lambda ()
| (byte-compile-file buffer-file-name))
| nil t)))
`----
I have my gnus specifics such as smtp server names and passwords in a
"personal.el" file which is obviously not readable by anyone but my own
login and root.
Unfortunately byte-compile-file produced the following:
-rw------- 1 hadron hadron 4961 2007-08-08 12:19 personal.el
-rw-r--r-- 1 hadron hadron 3795 2007-08-08 12:19 personal.elc
In other words a readable by anyone elc file.
I just checked - I can load up the elc file and see all my passwords.
Bug or feature? Seems like a nasty bug to me.
Which leads on to the next question, is there something I can put into a
file to stop it compiling into an elc using this hook?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Bug when compiling elc code?
2007-08-08 10:29 Bug when compiling elc code? Hadron
@ 2007-08-08 11:37 ` Johan Bockgård
2007-08-08 12:17 ` Sven Joachim
[not found] ` <mailman.4528.1186577289.32220.help-gnu-emacs@gnu.org>
2 siblings, 0 replies; 9+ messages in thread
From: Johan Bockgård @ 2007-08-08 11:37 UTC (permalink / raw)
To: help-gnu-emacs
Hadron <hadronquark@googlemail.com> writes:
> Which leads on to the next question, is there something I can put into
> a file to stop it compiling into an elc using this hook?
(info "(elisp)Byte Compilation")
If you do not want a Lisp file to be compiled, ever, put a file-local
variable binding for `no-byte-compile' into it, like this:
;; -*-no-byte-compile: t; -*-
--
Johan Bockgård
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Bug when compiling elc code?
2007-08-08 10:29 Bug when compiling elc code? Hadron
2007-08-08 11:37 ` Johan Bockgård
@ 2007-08-08 12:17 ` Sven Joachim
[not found] ` <d3abt22nwk.fsf@googlemail.com>
[not found] ` <mailman.4528.1186577289.32220.help-gnu-emacs@gnu.org>
2 siblings, 1 reply; 9+ messages in thread
From: Sven Joachim @ 2007-08-08 12:17 UTC (permalink / raw)
To: Hadron; +Cc: help-gnu-emacs
Hadron <hadronquark@googlemail.com> writes:
> I recently added this bit of lisp to my .emacs in order to automatically
> byte compile any el files I saved
>
> ,----
> | (add-hook 'emacs-lisp-mode-hook
> | '(lambda ()
> | (make-local-hook 'after-save-hook)
> | (add-hook 'after-save-hook
> | '(lambda ()
> | (byte-compile-file buffer-file-name))
> | nil t)))
> `----
>
> I have my gnus specifics such as smtp server names and passwords in a
> "personal.el" file which is obviously not readable by anyone but my own
> login and root.
>
> Unfortunately byte-compile-file produced the following:
>
> -rw------- 1 hadron hadron 4961 2007-08-08 12:19 personal.el
> -rw-r--r-- 1 hadron hadron 3795 2007-08-08 12:19 personal.elc
>
> In other words a readable by anyone elc file.
>
> I just checked - I can load up the elc file and see all my passwords.
>
> Bug or feature? Seems like a nasty bug to me.
No, not really. If personal.elc does not exist, Emacs creates it
according to your current umask, like any other file. You can change
this default with the function set-default-file-modes, please try the
following:
(add-hook 'emacs-lisp-mode-hook
'(lambda ()
(make-local-hook 'after-save-hook)
(add-hook 'after-save-hook
'(lambda ()
(let ((old-mode (default-file-modes)))
(set-default-file-modes (file-modes buffer-file-name))
(byte-compile-file buffer-file-name)
(set-default-file-modes old-mode)))
nil t)))
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <mailman.4528.1186577289.32220.help-gnu-emacs@gnu.org>]
* Re: Bug when compiling elc code?
[not found] ` <mailman.4528.1186577289.32220.help-gnu-emacs@gnu.org>
@ 2007-08-08 13:18 ` Johan Bockgård
2007-08-08 14:59 ` Sven Joachim
[not found] ` <mailman.4534.1186585008.32220.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 9+ messages in thread
From: Johan Bockgård @ 2007-08-08 13:18 UTC (permalink / raw)
To: help-gnu-emacs
Sven Joachim <svenjoac@gmx.de> writes:
> (let ((old-mode (default-file-modes)))
> (set-default-file-modes (file-modes buffer-file-name))
> (byte-compile-file buffer-file-name)
> (set-default-file-modes old-mode)))
You should use `unwind-protect' here.
--
Johan Bockgård
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Bug when compiling elc code?
2007-08-08 13:18 ` Johan Bockgård
@ 2007-08-08 14:59 ` Sven Joachim
[not found] ` <mailman.4534.1186585008.32220.help-gnu-emacs@gnu.org>
1 sibling, 0 replies; 9+ messages in thread
From: Sven Joachim @ 2007-08-08 14:59 UTC (permalink / raw)
To: help-gnu-emacs
bojohan+news@dd.chalmers.se (Johan Bockgård) writes:
> Sven Joachim <svenjoac@gmx.de> writes:
>
>> (let ((old-mode (default-file-modes)))
>> (set-default-file-modes (file-modes buffer-file-name))
>> (byte-compile-file buffer-file-name)
>> (set-default-file-modes old-mode)))
>
> You should use `unwind-protect' here.
Right, thanks. Is the following okay?
(add-hook 'emacs-lisp-mode-hook
'(lambda ()
(make-local-hook 'after-save-hook)
(add-hook 'after-save-hook
'(lambda ()
(let ((old-mode (default-file-modes)))
(unwind-protect
(progn
(set-default-file-modes (file-modes buffer-file-name))
(byte-compile-file buffer-file-name))
(set-default-file-modes old-mode))))
nil t)))
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <mailman.4534.1186585008.32220.help-gnu-emacs@gnu.org>]
* Re: Bug when compiling elc code?
[not found] ` <mailman.4534.1186585008.32220.help-gnu-emacs@gnu.org>
@ 2007-08-08 16:09 ` weber
2007-08-08 16:57 ` Sven Joachim
0 siblings, 1 reply; 9+ messages in thread
From: weber @ 2007-08-08 16:09 UTC (permalink / raw)
To: help-gnu-emacs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 1212 bytes --]
On 8 ago, 11:59, Sven Joachim <svenj...@gmx.de> wrote:
> bojohan+n...@dd.chalmers.se (Johan Bockgård) writes:
> > Sven Joachim <svenj...@gmx.de> writes:
>
> >> (let ((old-mode (default-file-modes)))
> >> (set-default-file-modes (file-modes buffer-file-name))
> >> (byte-compile-file buffer-file-name)
> >> (set-default-file-modes old-mode)))
>
> > You should use `unwind-protect' here.
>
> Right, thanks. Is the following okay?
>
> (add-hook 'emacs-lisp-mode-hook
> '(lambda ()
> (make-local-hook 'after-save-hook)
> (add-hook 'after-save-hook
> '(lambda ()
> (let ((old-mode (default-file-modes)))
> (unwind-protect
> (progn
> (set-default-file-modes (file-modes buffer-file-name))
> (byte-compile-file buffer-file-name))
> (set-default-file-modes old-mode))))
> nil t)))
Btw, is keeping a password inside a .elc file and deleting the
original .el a semi-safe way to hide your personal info ?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Bug when compiling elc code?
2007-08-08 16:09 ` weber
@ 2007-08-08 16:57 ` Sven Joachim
0 siblings, 0 replies; 9+ messages in thread
From: Sven Joachim @ 2007-08-08 16:57 UTC (permalink / raw)
To: help-gnu-emacs
weber <hugows@gmail.com> writes:
> Btw, is keeping a password inside a .elc file and deleting the
> original .el a semi-safe way to hide your personal info ?
No, the password is still stored as clear text and the .elc file can
be disassembled:
(info "(elisp)Disassembly")
Cheers,
Sven
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-08-08 17:21 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-08 10:29 Bug when compiling elc code? Hadron
2007-08-08 11:37 ` Johan Bockgård
2007-08-08 12:17 ` Sven Joachim
[not found] ` <d3abt22nwk.fsf@googlemail.com>
2007-08-08 16:45 ` Sven Joachim
[not found] ` <mailman.4536.1186591345.32220.help-gnu-emacs@gnu.org>
2007-08-08 17:21 ` Hadron
[not found] ` <mailman.4528.1186577289.32220.help-gnu-emacs@gnu.org>
2007-08-08 13:18 ` Johan Bockgård
2007-08-08 14:59 ` Sven Joachim
[not found] ` <mailman.4534.1186585008.32220.help-gnu-emacs@gnu.org>
2007-08-08 16:09 ` weber
2007-08-08 16:57 ` Sven Joachim
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.