Bug 9522 - emacs-nox does not work correctly without X
Summary: emacs-nox does not work correctly without X
Status: CLOSED DUPLICATE of bug 5825
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: emacs
Version: 6.2
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Cristian Gafton
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2000-02-17 14:38 UTC by Stephen John Smoogen
Modified: 2008-05-01 15:37 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2000-02-17 14:50:08 UTC

Attachments (Terms of Use)

Description Stephen John Smoogen 2000-02-17 14:38:16 UTC
Installed a machine without X. The installer correctly installed the
emacs-nox package. However this package does not work without
/usr/lib/X11/locale/locale.alias. The editor will error out saying that
this file does not exist.

Comment 1 Cristian Gafton 2000-02-17 14:50:59 UTC
*** This bug has been marked as a duplicate of 5825 ***

Comment 2 pavel.janik 2000-02-23 19:02:59 UTC

I do not think that lisp-startup-localealias.patch is the most correct solution.
But let me says that this is the bug in GNU Emacs, because you can not use the
version which is beeing built on server with local.alias from X11 on the server
without this file. This variable should be checked on startup of Emacs not on
compilation time. The most correct solution is probably to patch some startup
file to correctly set the variable on runtime.

Your patch only removes other locale aliases from the possible completition. It
is wrong. Try to evaluate this in Emacs:

(let ((files '("/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4
                 "/usr/X11R6/lib/X11/locale/locale.alias" ; e.g. RedHat 4.2
                 "/usr/openwin/lib/locale/locale.alias" ; e.g. Solaris 2.6
                 ;; The following name appears after the X-related names above,
                 ;; since the X-related names are what X actually uses.
                 "/usr/share/locale/locale.alias" ; GNU/Linux sans X
    (while (and files (not (file-exists-p (car files))))
      (setq files (cdr files)))
    (car files))

This elisp code will return the first (car) member of the list (files) which
does exist (i.e. file-exists-p). If the file does not exist it can not be
returned. The behaviour of the Emacs binary is then dependant of the machine
which the Emacs is built on which is still: try to eval source-directory in
*scratch* :-(

I think that the patch should remove the whole while cycle and use simply this
in nox:

(defvar locale-translation-file-name
  "/usr/share/locale/locale.alias" ; GNU/Linux sans X
  "*File name for the system's file of locale-name aliases, or nil if none.")

But it is a matter of beeing correct...

Another thing is that the spec file contains useless stripping:


Do you still think that there are some not-stripped binaries? I do not think so.

Other changes seem to be promising - keep up the good work. The only one thing
that denies the Emacs loers to use precompiled RPM of GNU Emacs is an old
version of Gnus distributed in GNU Emacs... But it is not your fault... But you
can change it :-)

Comment 3 pavel.janik 2000-02-29 07:43:59 UTC

etc/DOC-*20.5.1 files should be with the binary - I do not want etc/DOC-X-20.5.1
when I do not have emacs-X11 installed, it is almos 1.5 MB :-(

Note You need to log in before you can comment on or make changes to this bug.