help-gnu-emacs
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]