all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#11572: 24.1.50; Emacs executable shadowed by an alias
@ 2012-05-28  7:28 sindikat
  2012-05-28  7:37 ` Juanma Barranquero
  2012-05-28 14:19 ` Stefan Monnier
  0 siblings, 2 replies; 6+ messages in thread
From: sindikat @ 2012-05-28  7:28 UTC (permalink / raw)
  To: 11572

There is an obscure behavior when command 'emacsclient -c -a ""' cease
to create a daemon, when there is none running. To reproduce do the
following:

1. Create an alias 'emacs=emacsclient -c -a ""' or executable named
   'emacs' in $PATH, which is a shell script with 'emacsclient -c -a ""'
it.

2. Kill all daemons if there are such.

3. Run 'emacs'.

You would think Emacs finds there is no daemon and runs Emacs daemon
and then Emacsclient, but because internally it calls
'emacs' command, it enters an infinite recursion calling emacs alias,
which calls emacsclient, which calls emacs alias etc.

To correct the behavior, emacsclient should internally use 'which' or
some other way to not call the alias, i think.

I use Emacs 24, build 20120524 from emacs.naquadah.org on Linux Mint
Debian Edition.


In GNU Emacs 24.1.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
 of 2012-05-24 on zelenka, modified by Debian
 (emacs-snapshot package, version 2:20120524-1)
Windowing system distributor `The X.Org Foundation', version 11.0.11104000
Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--host' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/24.1.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.1.50/site-lisp:/usr/share/emacs/site-lisp'
 '--without-compress-info' '--with-crt-dir=/usr/lib/x86_64-linux-gnu/'
 '--with-x=yes' '--with-x-toolkit=gtk3' '--with-imagemagick=yes'
 'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu'
 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2''

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: en_US.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  icomplete-mode: t
  global-linum-mode: t
  linum-mode: t
  show-paren-mode: t
  ido-everywhere: t
  keyfreq-autosave-mode: t
  keyfreq-mode: t
  global-whitespace-mode: t
  ergoemacs-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent input:
b u t SPC f o r SPC s o m e SPC r e a s o n SPC m a 
i l . e l SPC i s n ' t SPC l o a d e d SPC a u t o 
m a t i c a l l y M-SPC M-j M-h M-i M-i M-i M-i M-i 
M-i M-i M-i M-i M-i M-i M-i M-i M-i M-i M-i M-i M-i 
M-i M-i M-i M-i M-i M-i M-i M-i M-i M-i M-x M-u M-e 
<backspace> M-u M-H <return> M-v M-h ; M-y M-y M-y 
M-y M-y M-y M-y M-y M-y M-y M-y M-y M-l <backspace> 
<return> ; ; SPC M-H C-s M-u M-u M-u M-e M-e M-e M-e 
C-x C-e C-h v g n u s <tab> <tab> l C-g C-o m a i <return> 
M-E M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u 
M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u 
M-u M-u M-u M-u M-u M-u M-u M-u M-u M-u M-e M-u M-u 
M-u M-N M-N M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e 
M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e 
M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e 
M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-e M-u M-u 
M-u M-u M-u M-u M-u M-H M-n M-N C-h v g n u s - l o 
a d <tab> <return> M-r q M-a g n u s <return> g q y 
C-o e m <backspace> <backspace> M-f l <return> t a 
s M-i <return> M-o r i s e u p M-i C-w M-a r i s <backspace> 
<backspace> <backspace> r e p o r t - <tab> <retur
n>

Recent messages:
nnml: Reading incoming mail (no new mail)...done
Reading active file via nnml...done
Reading active file from archive via nnfolder...done
Reading active file via nndraft...done
Checking new news...done
Are you sure you want to quit reading news? (y or n)  y
(No changes need to be saved)
OVERVIEW
Starting new Ispell process [default] ...
Mark saved where search started

Load-path shadows:
~/.emacs.d/coffee-mode hides /home/sindikat/.emacs.d/elpa/coffee-mode-20120522/coffee-mode
/usr/share/emacs/24.1.50/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/sindikat/.emacs.d/elpa/org-20120524/org-taskjuggler hides /usr/share/emacs/24.1.50/lisp/org/org-taskjuggler
/home/sindikat/.emacs.d/elpa/org-20120524/org-timer hides /usr/share/emacs/24.1.50/lisp/org/org-timer
/home/sindikat/.emacs.d/elpa/org-20120524/org-datetree hides /usr/share/emacs/24.1.50/lisp/org/org-datetree
/home/sindikat/.emacs.d/elpa/org-20120524/ob-java hides /usr/share/emacs/24.1.50/lisp/org/ob-java
/home/sindikat/.emacs.d/elpa/org-20120524/ob hides /usr/share/emacs/24.1.50/lisp/org/ob
/home/sindikat/.emacs.d/elpa/org-20120524/ob-ruby hides /usr/share/emacs/24.1.50/lisp/org/ob-ruby
/home/sindikat/.emacs.d/elpa/org-20120524/org-src hides /usr/share/emacs/24.1.50/lisp/org/org-src
/home/sindikat/.emacs.d/elpa/org-20120524/org-archive hides /usr/share/emacs/24.1.50/lisp/org/org-archive
/home/sindikat/.emacs.d/elpa/org-20120524/org-docbook hides /usr/share/emacs/24.1.50/lisp/org/org-docbook
/home/sindikat/.emacs.d/elpa/org-20120524/ob-comint hides /usr/share/emacs/24.1.50/lisp/org/ob-comint
/home/sindikat/.emacs.d/elpa/org-20120524/ob-calc hides /usr/share/emacs/24.1.50/lisp/org/ob-calc
/home/sindikat/.emacs.d/elpa/org-20120524/ob-haskell hides /usr/share/emacs/24.1.50/lisp/org/ob-haskell
/home/sindikat/.emacs.d/elpa/org-20120524/org-capture hides /usr/share/emacs/24.1.50/lisp/org/org-capture
/home/sindikat/.emacs.d/elpa/org-20120524/org-colview hides /usr/share/emacs/24.1.50/lisp/org/org-colview
/home/sindikat/.emacs.d/elpa/org-20120524/org-feed hides /usr/share/emacs/24.1.50/lisp/org/org-feed
/home/sindikat/.emacs.d/elpa/org-20120524/org-list hides /usr/share/emacs/24.1.50/lisp/org/org-list
/home/sindikat/.emacs.d/elpa/org-20120524/org-gnus hides /usr/share/emacs/24.1.50/lisp/org/org-gnus
/home/sindikat/.emacs.d/elpa/org-20120524/org-indent hides /usr/share/emacs/24.1.50/lisp/org/org-indent
/home/sindikat/.emacs.d/elpa/org-20120524/ob-emacs-lisp hides /usr/share/emacs/24.1.50/lisp/org/ob-emacs-lisp
/home/sindikat/.emacs.d/elpa/org-20120524/ob-table hides /usr/share/emacs/24.1.50/lisp/org/ob-table
/home/sindikat/.emacs.d/elpa/org-20120524/ob-sqlite hides /usr/share/emacs/24.1.50/lisp/org/ob-sqlite
/home/sindikat/.emacs.d/elpa/org-20120524/org-ascii hides /usr/share/emacs/24.1.50/lisp/org/org-ascii
/home/sindikat/.emacs.d/elpa/org-20120524/org-table hides /usr/share/emacs/24.1.50/lisp/org/org-table
/home/sindikat/.emacs.d/elpa/org-20120524/ob-sh hides /usr/share/emacs/24.1.50/lisp/org/ob-sh
/home/sindikat/.emacs.d/elpa/org-20120524/org-freemind hides /usr/share/emacs/24.1.50/lisp/org/org-freemind
/home/sindikat/.emacs.d/elpa/org-20120524/org-entities hides /usr/share/emacs/24.1.50/lisp/org/org-entities
/home/sindikat/.emacs.d/elpa/org-20120524/org-html hides /usr/share/emacs/24.1.50/lisp/org/org-html
/home/sindikat/.emacs.d/elpa/org-20120524/org-inlinetask hides /usr/share/emacs/24.1.50/lisp/org/org-inlinetask
/home/sindikat/.emacs.d/elpa/org-20120524/org-exp hides /usr/share/emacs/24.1.50/lisp/org/org-exp
/home/sindikat/.emacs.d/elpa/org-20120524/ob-mscgen hides /usr/share/emacs/24.1.50/lisp/org/ob-mscgen
/home/sindikat/.emacs.d/elpa/org-20120524/ob-maxima hides /usr/share/emacs/24.1.50/lisp/org/ob-maxima
/home/sindikat/.emacs.d/elpa/org-20120524/ob-plantuml hides /usr/share/emacs/24.1.50/lisp/org/ob-plantuml
/home/sindikat/.emacs.d/elpa/org-20120524/ob-sass hides /usr/share/emacs/24.1.50/lisp/org/ob-sass
/home/sindikat/.emacs.d/elpa/org-20120524/org-mks hides /usr/share/emacs/24.1.50/lisp/org/org-mks
/home/sindikat/.emacs.d/elpa/org-20120524/org-id hides /usr/share/emacs/24.1.50/lisp/org/org-id
/home/sindikat/.emacs.d/elpa/org-20120524/ob-js hides /usr/share/emacs/24.1.50/lisp/org/ob-js
/home/sindikat/.emacs.d/elpa/org-20120524/org-bbdb hides /usr/share/emacs/24.1.50/lisp/org/org-bbdb
/home/sindikat/.emacs.d/elpa/org-20120524/org-remember hides /usr/share/emacs/24.1.50/lisp/org/org-remember
/home/sindikat/.emacs.d/elpa/org-20120524/ob-ledger hides /usr/share/emacs/24.1.50/lisp/org/ob-ledger
/home/sindikat/.emacs.d/elpa/org-20120524/ob-tangle hides /usr/share/emacs/24.1.50/lisp/org/ob-tangle
/home/sindikat/.emacs.d/elpa/org-20120524/org-publish hides /usr/share/emacs/24.1.50/lisp/org/org-publish
/home/sindikat/.emacs.d/elpa/org-20120524/ob-python hides /usr/share/emacs/24.1.50/lisp/org/ob-python
/home/sindikat/.emacs.d/elpa/org-20120524/org-mhe hides /usr/share/emacs/24.1.50/lisp/org/org-mhe
/home/sindikat/.emacs.d/elpa/org-20120524/org-mouse hides /usr/share/emacs/24.1.50/lisp/org/org-mouse
/home/sindikat/.emacs.d/elpa/org-20120524/ob-shen hides /usr/share/emacs/24.1.50/lisp/org/ob-shen
/home/sindikat/.emacs.d/elpa/org-20120524/org-habit hides /usr/share/emacs/24.1.50/lisp/org/org-habit
/home/sindikat/.emacs.d/elpa/org-20120524/ob-awk hides /usr/share/emacs/24.1.50/lisp/org/ob-awk
/home/sindikat/.emacs.d/elpa/org-20120524/org-special-blocks hides /usr/share/emacs/24.1.50/lisp/org/org-special-blocks
/home/sindikat/.emacs.d/elpa/org-20120524/org-attach hides /usr/share/emacs/24.1.50/lisp/org/org-attach
/home/sindikat/.emacs.d/elpa/org-20120524/org-ctags hides /usr/share/emacs/24.1.50/lisp/org/org-ctags
/home/sindikat/.emacs.d/elpa/org-20120524/org-lparse hides /usr/share/emacs/24.1.50/lisp/org/org-lparse
/home/sindikat/.emacs.d/elpa/org-20120524/org-w3m hides /usr/share/emacs/24.1.50/lisp/org/org-w3m
/home/sindikat/.emacs.d/elpa/org-20120524/ob-matlab hides /usr/share/emacs/24.1.50/lisp/org/ob-matlab
/home/sindikat/.emacs.d/elpa/org-20120524/org-compat hides /usr/share/emacs/24.1.50/lisp/org/org-compat
/home/sindikat/.emacs.d/elpa/org-20120524/ob-lilypond hides /usr/share/emacs/24.1.50/lisp/org/ob-lilypond
/home/sindikat/.emacs.d/elpa/org-20120524/org-plot hides /usr/share/emacs/24.1.50/lisp/org/org-plot
/home/sindikat/.emacs.d/elpa/org-20120524/ob-gnuplot hides /usr/share/emacs/24.1.50/lisp/org/ob-gnuplot
/home/sindikat/.emacs.d/elpa/org-20120524/ob-latex hides /usr/share/emacs/24.1.50/lisp/org/ob-latex
/home/sindikat/.emacs.d/elpa/org-20120524/ob-scheme hides /usr/share/emacs/24.1.50/lisp/org/ob-scheme
/home/sindikat/.emacs.d/elpa/org-20120524/org-icalendar hides /usr/share/emacs/24.1.50/lisp/org/org-icalendar
/home/sindikat/.emacs.d/elpa/org-20120524/org-vm hides /usr/share/emacs/24.1.50/lisp/org/org-vm
/home/sindikat/.emacs.d/elpa/org-20120524/org-eshell hides /usr/share/emacs/24.1.50/lisp/org/org-eshell
/home/sindikat/.emacs.d/elpa/org-20120524/org-pcomplete hides /usr/share/emacs/24.1.50/lisp/org/org-pcomplete
/home/sindikat/.emacs.d/elpa/org-20120524/org-odt hides /usr/share/emacs/24.1.50/lisp/org/org-odt
/home/sindikat/.emacs.d/elpa/org-20120524/org-mew hides /usr/share/emacs/24.1.50/lisp/org/org-mew
/home/sindikat/.emacs.d/elpa/org-20120524/org-mobile hides /usr/share/emacs/24.1.50/lisp/org/org-mobile
/home/sindikat/.emacs.d/elpa/org-20120524/ob-asymptote hides /usr/share/emacs/24.1.50/lisp/org/ob-asymptote
/home/sindikat/.emacs.d/elpa/org-20120524/ob-ref hides /usr/share/emacs/24.1.50/lisp/org/ob-ref
/home/sindikat/.emacs.d/elpa/org-20120524/ob-ocaml hides /usr/share/emacs/24.1.50/lisp/org/ob-ocaml
/home/sindikat/.emacs.d/elpa/org-20120524/ob-octave hides /usr/share/emacs/24.1.50/lisp/org/ob-octave
/home/sindikat/.emacs.d/elpa/org-20120524/ob-lisp hides /usr/share/emacs/24.1.50/lisp/org/ob-lisp
/home/sindikat/.emacs.d/elpa/org-20120524/org-info hides /usr/share/emacs/24.1.50/lisp/org/org-info
/home/sindikat/.emacs.d/elpa/org-20120524/org-docview hides /usr/share/emacs/24.1.50/lisp/org/org-docview
/home/sindikat/.emacs.d/elpa/org-20120524/org-beamer hides /usr/share/emacs/24.1.50/lisp/org/org-beamer
/home/sindikat/.emacs.d/elpa/org-20120524/ob-ditaa hides /usr/share/emacs/24.1.50/lisp/org/ob-ditaa
/home/sindikat/.emacs.d/elpa/org-20120524/org-wl hides /usr/share/emacs/24.1.50/lisp/org/org-wl
/home/sindikat/.emacs.d/elpa/org-20120524/ob-keys hides /usr/share/emacs/24.1.50/lisp/org/ob-keys
/home/sindikat/.emacs.d/elpa/org-20120524/ob-sql hides /usr/share/emacs/24.1.50/lisp/org/ob-sql
/home/sindikat/.emacs.d/elpa/org-20120524/org-mac-message hides /usr/share/emacs/24.1.50/lisp/org/org-mac-message
/home/sindikat/.emacs.d/elpa/org-20120524/ob-eval hides /usr/share/emacs/24.1.50/lisp/org/ob-eval
/home/sindikat/.emacs.d/elpa/org-20120524/ob-lob hides /usr/share/emacs/24.1.50/lisp/org/ob-lob
/home/sindikat/.emacs.d/elpa/org-20120524/ob-dot hides /usr/share/emacs/24.1.50/lisp/org/ob-dot
/home/sindikat/.emacs.d/elpa/org-20120524/org-clock hides /usr/share/emacs/24.1.50/lisp/org/org-clock
/home/sindikat/.emacs.d/elpa/org-20120524/ob-screen hides /usr/share/emacs/24.1.50/lisp/org/ob-screen
/home/sindikat/.emacs.d/elpa/org-20120524/ob-clojure hides /usr/share/emacs/24.1.50/lisp/org/ob-clojure
/home/sindikat/.emacs.d/elpa/org-20120524/ob-org hides /usr/share/emacs/24.1.50/lisp/org/ob-org
/home/sindikat/.emacs.d/elpa/org-20120524/org hides /usr/share/emacs/24.1.50/lisp/org/org
/home/sindikat/.emacs.d/elpa/org-20120524/org-faces hides /usr/share/emacs/24.1.50/lisp/org/org-faces
/home/sindikat/.emacs.d/elpa/org-20120524/org-agenda hides /usr/share/emacs/24.1.50/lisp/org/org-agenda
/home/sindikat/.emacs.d/elpa/org-20120524/ob-perl hides /usr/share/emacs/24.1.50/lisp/org/ob-perl
/home/sindikat/.emacs.d/elpa/org-20120524/ob-fortran hides /usr/share/emacs/24.1.50/lisp/org/ob-fortran
/home/sindikat/.emacs.d/elpa/org-20120524/org-protocol hides /usr/share/emacs/24.1.50/lisp/org/org-protocol
/home/sindikat/.emacs.d/elpa/org-20120524/org-crypt hides /usr/share/emacs/24.1.50/lisp/org/org-crypt
/home/sindikat/.emacs.d/elpa/org-20120524/org-bibtex hides /usr/share/emacs/24.1.50/lisp/org/org-bibtex
/home/sindikat/.emacs.d/elpa/org-20120524/ob-css hides /usr/share/emacs/24.1.50/lisp/org/ob-css
/home/sindikat/.emacs.d/elpa/org-20120524/org-latex hides /usr/share/emacs/24.1.50/lisp/org/org-latex
/home/sindikat/.emacs.d/elpa/org-20120524/ob-R hides /usr/share/emacs/24.1.50/lisp/org/ob-R
/home/sindikat/.emacs.d/elpa/org-20120524/org-macs hides /usr/share/emacs/24.1.50/lisp/org/org-macs
/home/sindikat/.emacs.d/elpa/org-20120524/org-exp-blocks hides /usr/share/emacs/24.1.50/lisp/org/org-exp-blocks
/home/sindikat/.emacs.d/elpa/org-20120524/ob-C hides /usr/share/emacs/24.1.50/lisp/org/ob-C
/home/sindikat/.emacs.d/elpa/org-20120524/org-footnote hides /usr/share/emacs/24.1.50/lisp/org/org-footnote
/home/sindikat/.emacs.d/elpa/org-20120524/ob-exp hides /usr/share/emacs/24.1.50/lisp/org/ob-exp
/home/sindikat/.emacs.d/elpa/org-20120524/org-xoxo hides /usr/share/emacs/24.1.50/lisp/org/org-xoxo
/home/sindikat/.emacs.d/elpa/org-20120524/org-jsinfo hides /usr/share/emacs/24.1.50/lisp/org/org-jsinfo
/home/sindikat/.emacs.d/elpa/org-20120524/ob-picolisp hides /usr/share/emacs/24.1.50/lisp/org/ob-picolisp
/home/sindikat/.emacs.d/elpa/org-20120524/org-rmail hides /usr/share/emacs/24.1.50/lisp/org/org-rmail
/home/sindikat/.emacs.d/elpa/org-20120524/org-irc hides /usr/share/emacs/24.1.50/lisp/org/org-irc
~/.emacs.d/secrets hides /usr/share/emacs/24.1.50/lisp/net/secrets
/home/sindikat/.emacs.d/elpa/magit-20120523/.dir-locals hides /usr/share/emacs/24.1.50/lisp/gnus/.dir-locals

Features:
(shadow sort org-table mail-extr emacsbug thingatpt gnutls
network-stream starttls tls pop3 nndraft nnmh nnfolder nnml gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache gnus-sum
nnoo gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec
gnus-int gnus-range message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win
gnus gnus-ems nnheader secrets epa-file epa epg epg-config smtpmail
auth-source eieio gnus-util password-cache sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils dired multi-isearch debug pp
help-mode view server org-w3m org-wl org-vm org-rmail org-mhe org-mew
org-irc org-jsinfo org-infojs org-html org-info org-id org-gnus
org-docview org-bibtex bibtex org-bbdb icomplete linum org-publish
org-exp ob-exp org-exp-blocks find-func org-agenda paren smex ido
keyfreq disp-table whitespace wombat-theme org-install garak derived
notify dbus-util assoc dbus xml tree-widget elim wid-edit browse-url lui
tracking flyspell ispell incomplete org-depend cl org ob-emacs-lisp
ob-tangle ob-ref ob-lob ob-table org-footnote org-src ob-comint ob-keys
ob ob-eval org-pcomplete pcomplete comint ansi-color ring org-list
org-faces org-compat org-entities org-macs time-date noutline outline
format-spec cal-menu calendar cal-loaddefs ergoemacs-mode easy-mmode
cua-base edmacro kmacro byte-opt warnings bytecomp byte-compile cconv
macroexp advice help-fns advice-preload delsel auctex-autoloads tex-site
auto-complete-autoloads buffer-move-autoloads
clojurescript-mode-autoloads clojure-mode-autoloads
coffee-mode-autoloads color-theme-autoloads debbugs-autoloads
haskell-mode-autoloads ido-ubiquitous-autoloads jabber-autoloads
js2-mode-autoloads magit-autoloads molokai-theme-autoloads
multi-term-autoloads org-autoloads info easymenu paredit-autoloads
popup-autoloads redo+-autoloads smex-autoloads xml-rpc-autoloads
yasnippet-autoloads package tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment lisp-mode register page menu-bar rfn-eshadow
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11572: 24.1.50; Emacs executable shadowed by an alias
  2012-05-28  7:28 bug#11572: 24.1.50; Emacs executable shadowed by an alias sindikat
@ 2012-05-28  7:37 ` Juanma Barranquero
  2012-05-28 14:19 ` Stefan Monnier
  1 sibling, 0 replies; 6+ messages in thread
From: Juanma Barranquero @ 2012-05-28  7:37 UTC (permalink / raw)
  To: sindikat; +Cc: 11572

On Mon, May 28, 2012 at 9:28 AM, sindikat <sindikat@riseup.net> wrote:

> You would think Emacs finds there is no daemon and runs Emacs daemon
> and then Emacsclient, but because internally it calls
> 'emacs' command, it enters an infinite recursion calling emacs alias,
> which calls emacsclient, which calls emacs alias etc.

Isn't that a case of "if it hurts doing that, don't do that"?

> To correct the behavior, emacsclient should internally use 'which' or
> some other way to not call the alias, i think.

What if the user wants to really use an alias (just not "emacs", another one)?

    Juanma





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11572: 24.1.50; Emacs executable shadowed by an alias
  2012-05-28  7:28 bug#11572: 24.1.50; Emacs executable shadowed by an alias sindikat
  2012-05-28  7:37 ` Juanma Barranquero
@ 2012-05-28 14:19 ` Stefan Monnier
  2012-05-28 17:54   ` Andreas Schwab
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2012-05-28 14:19 UTC (permalink / raw)
  To: sindikat; +Cc: 11572

> 1. Create an alias 'emacs=emacsclient -c -a ""' or executable named
>    'emacs' in $PATH, which is a shell script with 'emacsclient -c -a ""'

If you really have an other `emacs' in the $PATH, I think "you get what
you ask for", kind of.  But I agree that emacsclient should not obey
shell aliases, because it should not run "emacs" via a shell.


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11572: 24.1.50; Emacs executable shadowed by an alias
  2012-05-28 14:19 ` Stefan Monnier
@ 2012-05-28 17:54   ` Andreas Schwab
  2012-05-28 19:40     ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2012-05-28 17:54 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: sindikat, 11572

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> But I agree that emacsclient should not obey shell aliases, because it
> should not run "emacs" via a shell.

Non-interactive shells don't obey aliases.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11572: 24.1.50; Emacs executable shadowed by an alias
  2012-05-28 17:54   ` Andreas Schwab
@ 2012-05-28 19:40     ` Stefan Monnier
  2012-06-06 20:52       ` Glenn Morris
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2012-05-28 19:40 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: sindikat, 11572

tags 11572 moreinfo
thanks

>> But I agree that emacsclient should not obey shell aliases, because it
>> should not run "emacs" via a shell.
> Non-interactive shells don't obey aliases.

While that's generally more or less true, the details depend on how you
define your aliases and which shell you're using.
But in any case, AFAICT emacsclient.c does not run "emacs" via a shell
(it uses execvp), so no matter what shell you use and how you define
your aliases I don't see how an "emacs" alias can cause the problem the
OP described.

Sindikat, can you really reproduce your problem with just an alias
'emacs=emacsclient -c -a ""', or do you actually need to have an "emacs"
script in your $PATH?


        Stefan





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#11572: 24.1.50; Emacs executable shadowed by an alias
  2012-05-28 19:40     ` Stefan Monnier
@ 2012-06-06 20:52       ` Glenn Morris
  0 siblings, 0 replies; 6+ messages in thread
From: Glenn Morris @ 2012-06-06 20:52 UTC (permalink / raw)
  To: 11572-done

Stefan Monnier wrote:

> Sindikat, can you really reproduce your problem with just an alias
> 'emacs=emacsclient -c -a ""', or do you actually need to have an "emacs"
> script in your $PATH?

No answer, but it's basically impossible for a shell alias to cause the
described issue.

As has been said, it's a feature that emacsclient -a "" uses "emacs"
from PATH. If you have a script "emacs" in PATH, you'll need to make it
more sophisticated (eg, check for the --daemon option that emacsclient
passed in this case).






^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-06-06 20:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-28  7:28 bug#11572: 24.1.50; Emacs executable shadowed by an alias sindikat
2012-05-28  7:37 ` Juanma Barranquero
2012-05-28 14:19 ` Stefan Monnier
2012-05-28 17:54   ` Andreas Schwab
2012-05-28 19:40     ` Stefan Monnier
2012-06-06 20:52       ` Glenn Morris

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.