[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question regarding COLUMNS setting...
From: |
Kevin Rodgers |
Subject: |
Re: Question regarding COLUMNS setting... |
Date: |
Thu, 30 Dec 2004 12:10:59 -0700 |
User-agent: |
Mozilla Thunderbird 0.9 (X11/20041105) |
Larry D. Weiner wrote:
> I have just built emacs 21.3 on HP-UX. When I try to
> do a compile from various frames, I find that the
> compilation mode has set the environment variable
> COLUMNS, which the compiler then uses to format it's
> output. The COLUMNS is set from the frame that I issue
> the compile-command. However, I have compilation set
> in my special-display-buffer-names variable, so the
> column-width is completely irrelevant for any other
> frame. The upshot is that this interferes with the
> interpretation of compile errors. Is there a way to
> suppress COLUMNS from being set?
Heres' where COLUMNS is set by compile-internal in compile.el:
(let* ((process-environment
(append
(if (and (boundp 'system-uses-terminfo)
system-uses-terminfo)
(list "TERM=dumb" "TERMCAP="
(format "COLUMNS=%d" (window-width)))
(list "TERM=emacs"
(format "TERMCAP=emacs:co#%d:tc=unknown:"
(window-width))))
;; Set the EMACS variable, but
;; don't override users' setting of $EMACS.
(if (getenv "EMACS")
process-environment
(cons "EMACS=t" process-environment))))
(proc (start-process-shell-command (downcase mode-name)
outbuf
command)))
So you could try something like
(defadvice compile-internal (around suppress-columns activate)
(let ((system-uses-terminfo nil))
ad-do-it))
but then the TERMCAP environment variable would include the erroneous
number -- but perhaps your compiler will ignore that.
--
Kevin Rodgers