unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Hanchrow <eric.hanchrow@gmail.com>
To: emacs-pretest-bug@gnu.org
Subject: bug#2259: 23.0.90; PATCH: getenv mistakenly passes a frame to getenv_internal, when it should instead pass a CONS
Date: Mon, 9 Feb 2009 19:37:47 -0800	[thread overview]
Message-ID: <36366a980902091937x40e025cbm6b351ab4620d6281@mail.gmail.com> (raw)

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

I noticed that (getenv "SSH_TTY" (selected-frame)) returned nil even
though (assoc 'environment (frame-parameters (selected-frame))) returned
an environment that indeed defined that variable.  I poked around and
saw that getenv was passing a frame to getenv_internal, but
getenv_internal only consults that second argument if it's a CONS.  This
patch seems to fix the problem.

    diff --git a/lisp/env.el b/lisp/env.el
    index 8d8bebe..ad88ba8 100644
    --- a/lisp/env.el
    +++ b/lisp/env.el
    @@ -198,7 +198,7 @@ in the environment list of the selected frame."
                                        (encode-coding-string
                                         variable locale-coding-system)
                                      variable)
    -				frame)))
    +				(and frame (assoc 'environment (frame-parameters frame))))))
         (if (and enable-multibyte-characters value)
            (setq value (decode-coding-string value locale-coding-system)))
         (when (interactive-p)


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/local/src/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.90.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-02-05 on debian
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  auto-fill-function: do-auto-fill
  recentf-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  eldoc-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  desktop-save-mode: t
  display-time-mode: t
  global-auto-revert-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
F RET C-x n d C-x b RET ESC C-n ESC C-p ESC C-n ESC
C-p ESC C-n ESC C-f C-x b RET C-u C-n C-u C-n C-u C-n
C-p C-p C-e ESC b C-s C-w C-s C-s C-a C-x b RET C-x
b RET ESC C-n ESC C-n C-n C-x n w ESC C-d C-s C-w C-w
C-s C-s C-s C-s C-s C-s C-a C-x n d C-x n w C-x 2 C-u
C-@ ESC - C-l C-l C-x 0 C-x n d C-e ESC b C-s C-w C-s
C-s C-s C-s C-s C-s C-s C-a C-x b RET C-x n w C-x v
g l ESC 0 C-l C-x k RET C-x o C-x b i n i RET C-x b
s c r RET C-p C-p ESC C-@ ESC w C-x o ESC m C-y ESC
C-k TAB ESC b ESC C-u ESC C-k f r a m e C-x o ESC >
ESC ( f r a m ESC / SPC n i l C-e C-j ESC C-p C-k C-p
ESC C-d C-h f RET C-x b RET C-l ESC m ESC 1 ESC ( a
n d SPC f r a m e SPC C-x C-s ESC C-x C-x b C-s RET
ESC C-u ESC C-n C-x C-e C-x e DEL C-x b e m a RET C-g
C-r s n o g ESC > r u d TAB s e e n SPC s n o g TAB
g ESC / RET n u t s . RET C-x b RET C-x o C-x b C-s
RET ESC x b y t e - r TAB RET RET RET y C-x v = C-x
o ESC x r e p o r t - e m a c s - b u g RET

Recent messages:
Checking /usr/local/src/emacs/lisp/obsolete...
Checking /usr/local/src/emacs/lisp/org...
Checking /usr/local/src/emacs/lisp/play...
Checking /usr/local/src/emacs/lisp/progmodes...
Checking /usr/local/src/emacs/lisp/term...
Checking /usr/local/src/emacs/lisp/textmodes...
Checking /usr/local/src/emacs/lisp/url...
Done (Total of 1 file compiled)
Finding changes in /usr/local/src/emacs/lisp/env.el...done
Scanning for dabbrevs...100%

-- 
If there were a little guy running around inside the computer
executing our programs, he would probably have as long and
plaintive a tale to tell about his job as a federal government
employee.
        -- Paul Graham






             reply	other threads:[~2009-02-10  3:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f7ccd24b0902100224p59dfdd09qc2726be2b3e2ccf6@mail.gmail.com>
2009-02-10  3:37 ` Eric Hanchrow [this message]
2009-02-10 10:30   ` bug#2259: marked as done (23.0.90; PATCH: getenv mistakenly passes a frame to getenv_internal, when it should instead pass a CONS) Emacs bug Tracking System
2009-02-10 16:10 ` bug#2259: 23.0.90; PATCH: getenv mistakenly passes a frame to getenv_internal, when it should instead pass a CONS Juanma Barranquero
2009-02-11  1:45   ` bug#2259: 23.0.90; PATCH: getenv mistakenly passes a frame to Stefan Monnier

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.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=36366a980902091937x40e025cbm6b351ab4620d6281@mail.gmail.com \
    --to=eric.hanchrow@gmail.com \
    --cc=2259@emacsbugs.donarmstrong.com \
    --cc=emacs-pretest-bug@gnu.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.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).