Mercurial > emacs
view etc/emacs.bash @ 83529:0d9e16eab053
Rework environment variable support. (Reported by Kalle Olavi Niemitalo and Noah Friedman.)
* src/callproc.c (Vglobal_environment, Vlocal_environment_variables): Remove.
(getenv_internal, child_setup): Don't look at global-environment or
local-environment-variables.
(Fgetenv_internal): Update docs.
(set_initial_environment): Rename from set_global_environment. Store
Emacs environment in initial frame parameter.
(syms_of_callproc): Remove obsolete defvars. Update docs.
* lisp/env.el (read-envvar-name): Remove reference to global-environment.
(setenv-internal): New function.
(setenv): Use it. Always set process-environment. Update docs.
(getenv): Update docs.
(environment): Rewrite for the new environment design. Update docs.
* lisp/frame.el (frame-initialize): Copy the environment from the initial frame.
* src/emacs.c (main): Call set_initial_environment, not set_global_environment.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-569
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Fri, 26 May 2006 17:37:25 +0000 |
parents | 615a90f44f52 |
children | 873c558e1383 72cf6261961e |
line wrap: on
line source
# This defines a bash command named `edit' which contacts/resumes an # existing emacs or starts a new one if none exists. # # One way or another, any arguments are passed to emacs to specify files # (provided you have loaded `resume.el'). # # This function assumes the emacs program is named `emacs' and is somewhere # in your load path. If either of these is not true, the most portable # (and convenient) thing to do is to make an alias called emacs which # refers to the real program, e.g. # # alias emacs=/usr/local/bin/gemacs # # Written by Noah Friedman. function edit () { local windowsys="${WINDOW_PARENT+sun}" windowsys="${windowsys:-${DISPLAY+x}}" if [ -n "${windowsys:+set}" ]; then # Do not just test if these files are sockets. On some systems # ordinary files or fifos are used instead. Just see if they exist. if [ -e "${HOME}/.emacs_server" -o -e "/tmp/emacs${UID}/server" ]; then emacsclient "$@" return $? else echo "edit: starting emacs in background..." 1>&2 fi case "${windowsys}" in x ) (emacs "$@" &) ;; sun ) (emacstool "$@" &) ;; esac else if jobs %emacs 2> /dev/null ; then echo "$(pwd)" "$@" >| ${HOME}/.emacs_args && fg %emacs else emacs "$@" fi fi } # arch-tag: 1e1b74b9-bf2c-4b23-870f-9eebff7515cb