• Karoly Lorentey's avatar
    Implement automatic terminal-local environment variables via `local-environment-variables'. · f105f403
    Karoly Lorentey authored
    * lisp/env.el (setenv, getenv): Add optional terminal parameter.  Update docs.
      (setenv): Handle `local-environment-variables'.
      (read-envvar-name): Also allow (and complete) local
      environment variables on the current terminal.
    
    * src/callproc.c: Include frame.h and termhooks.h, for terminal parameters.
      (Qenvironment): New constant.
      (Vlocal_environment_variables): New variable.
      (syms_of_callproc): Register and initialize them.
      (child_setup): Handle Vlocal_environment_variables.
      (getenv_internal): Add terminal parameter.  Handle
      Vlocal_environment_variables.
      (Fgetenv_internal): Add terminal parameter.
    
    * src/termhooks.h (get_terminal_param): Declare.
    
    * src/Makefile.in (callproc.o): Update dependencies.
    * mac/makefile.MPW (callproc.c.x): Update dependencies.
    
    * lisp/termdev.el (terminal-id): Make parameter optional.
      (terminal-getenv, terminal-setenv, with-terminal-environment): 
      Disable functions.
    
    * lisp/mule-cmds.el (set-locale-environment): Convert `terminal-getenv' calls
      to `getenv'.
    * lisp/rxvt.el (rxvt-set-background-mode): Ditto.
    * lisp/x-win.el (x-initialize-window-system): Ditto.
    * lisp/xterm.el (terminal-init-xterm): Ditto.
    
    * lisp/server.el (server-process-filter): Fix reference to the 'display frame
      parameter.
    
    git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-461
    f105f403
mule-cmds.el 105 KB