annotate lisp/paths.el @ 5043:d0c14ea98592

various frame-geometry fixes -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-02-15 Ben Wing <ben@xemacs.org> * EmacsFrame.c: * EmacsFrame.c (EmacsFrameResize): * console-msw-impl.h: * console-msw-impl.h (struct mswindows_frame): * console-msw-impl.h (FRAME_MSWINDOWS_TARGET_RECT): * device-tty.c: * device-tty.c (tty_asynch_device_change): * event-msw.c: * event-msw.c (mswindows_wnd_proc): * faces.c (Fface_list): * faces.h: * frame-gtk.c: * frame-gtk.c (gtk_set_initial_frame_size): * frame-gtk.c (gtk_set_frame_size): * frame-msw.c: * frame-msw.c (mswindows_init_frame_1): * frame-msw.c (mswindows_set_frame_size): * frame-msw.c (mswindows_size_frame_internal): * frame-msw.c (msprinter_init_frame_3): * frame.c: * frame.c (enum): * frame.c (Fmake_frame): * frame.c (adjust_frame_size): * frame.c (store_minibuf_frame_prop): * frame.c (Fframe_property): * frame.c (Fframe_properties): * frame.c (Fframe_displayable_pixel_height): * frame.c (Fframe_displayable_pixel_width): * frame.c (internal_set_frame_size): * frame.c (Fset_frame_height): * frame.c (Fset_frame_pixel_height): * frame.c (Fset_frame_displayable_pixel_height): * frame.c (Fset_frame_width): * frame.c (Fset_frame_pixel_width): * frame.c (Fset_frame_displayable_pixel_width): * frame.c (Fset_frame_size): * frame.c (Fset_frame_pixel_size): * frame.c (Fset_frame_displayable_pixel_size): * frame.c (frame_conversion_internal_1): * frame.c (get_frame_displayable_pixel_size): * frame.c (change_frame_size_1): * frame.c (change_frame_size): * frame.c (generate_title_string): * frame.h: * gtk-xemacs.c: * gtk-xemacs.c (gtk_xemacs_size_request): * gtk-xemacs.c (gtk_xemacs_size_allocate): * gtk-xemacs.c (gtk_xemacs_paint): * gutter.c: * gutter.c (update_gutter_geometry): * redisplay.c (end_hold_frame_size_changes): * redisplay.c (redisplay_frame): * toolbar.c: * toolbar.c (update_frame_toolbars_geometry): * window.c: * window.c (frame_pixsize_valid_p): * window.c (check_frame_size): Various fixes to frame geometry to make it a bit easier to understand and fix some bugs. 1. IMPORTANT: Some renamings. Will need to be applied carefully to the carbon repository, in the following order: -- pixel_to_char_size -> pixel_to_frame_unit_size -- char_to_pixel_size -> frame_unit_to_pixel_size -- pixel_to_real_char_size -> pixel_to_char_size -- char_to_real_pixel_size -> char_to_pixel_size -- Reverse second and third arguments of change_frame_size() and change_frame_size_1() to try to make functions consistent in putting width before height. -- Eliminate old round_size_to_char, because it didn't really do anything differently from round_size_to_real_char() -- round_size_to_real_char -> round_size_to_char; any places that called the old round_size_to_char should just call the new one. 2. IMPORTANT FOR CARBON: The set_frame_size() method is now passed sizes in "frame units", like all other frame-sizing functions, rather than some hacked-up combination of char-cell units and total pixel size. This only affects window systems that use "pixelated geometry", and I'm not sure if Carbon is one of them. MS Windows is pixelated, X and GTK are not. For pixelated-geometry systems, the size in set_frame_size() is in displayable pixels rather than total pixels and needs to be converted appropriately; take a look at the changes made to mswindows_set_frame_size() method if necessary. 3. Add a big long comment in frame.c describing how frame geometry works. 4. Remove MS Windows-specific character height and width fields, duplicative and unused. 5. frame-displayable-pixel-* and set-frame-displayable-pixel-* didn't use to work on MS Windows, but they do now. 6. In general, clean up the handling of "pixelated geometry" so that fewer functions have to worry about this. This is really an abomination that should be removed entirely but that will have to happen later. Fix some buggy code in frame_conversion_internal() that happened to "work" because it was countered by oppositely buggy code in change_frame_size(). 7. Clean up some frame-size code in toolbar.c and use functions already provided in frame.c instead of rolling its own. 8. Fix check_frame_size() in window.c, which formerly didn't take pixelated geometry into account.
author Ben Wing <ben@xemacs.org>
date Mon, 15 Feb 2010 22:14:11 -0600
parents aa5ed11f473b
children 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ;;; paths.el --- define pathnames for use by various Emacs commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1986, 1988, 1993, 1994, 1997 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Maintainer: FSF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 ;; Keywords: internal, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;;; Synched up with: FSF 19.30.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 ;; This file is dumped with XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 ;; These are default settings for names of certain files and directories
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 ;; that Emacs needs to refer to from time to time.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 ;; If these settings are not right, override them with `setq'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 ;; in site-start.el. Do not change this file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 ;Note: FSF's version is:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 ;(defvar Info-default-directory-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 ; (let ((start (list "/usr/local/lib/info/"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 ; ;; This comes second so that, if it is the same
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 ; ;; as configure-info-directory (which is usually true)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 ; ;; and Emacs has been installed (also usually true)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 ; ;; then the list will end with two copies of this;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 ; ;; which means that the last dir file Info-insert-dir
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 ; ;; finds will be the one in this directory.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 ; "/usr/local/info/"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 ; (configdir (file-name-as-directory configure-info-directory)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 ; (setq start (nconc start (list configdir)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 ; start)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 ; "List of directories to search for Info documentation files.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 ;They are searched in the order they are given in this list.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 ;Therefore, the directory of Info files that come with Emacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 ;normally should come last (so that local files override standard ones).")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 ;Our commented-out version is:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 ;(defvar Info-default-directory-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 ; (let ((start (list "/usr/local/info/"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 ; "/usr/local/lib/info/"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 ; (configdir (file-name-as-directory configure-info-directory)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 ; (or (member configdir start)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 ; (setq start (nconc start (list configdir))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 ; (or (member (expand-file-name "../info/" data-directory) start)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 ; (setq start
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 ; (nconc start
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 ; (list (expand-file-name "../info/" data-directory)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 ; start)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 ; "List of directories to search for Info documentation files.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 (defvar news-path "/usr/spool/news/"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 "The root directory below which all news files are stored.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 (defvar news-inews-program nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 "Program to post news.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 ;(defvar gnus-default-nntp-server ""
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 ; ;; set this to your local server
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 ; "The name of the host running an NNTP server.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 ;If it is a string such as \":DIRECTORY\", then ~/DIRECTORY
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 ;is used as a news spool. `gnus-nntp-server' is initialized from NNTPSERVER
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 ;environment variable or, if none, this value.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 ;(defvar gnus-nntp-service "nntp"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 ; "NNTP service name, usually \"nntp\" or 119).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 ;Go to a local news spool if its value is nil, in which case `gnus-nntp-server'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 ;should be set to `(system-name)'.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 (defvar mh-progs nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 "Directory containing MH commands.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 (defvar mh-lib nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 "Directory of MH library.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
94 (defvar rmail-file-name "~/RMAIL"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 "Name of user's primary mail file.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 (defconst rmail-spool-directory nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 "Name of directory used by system mailer for delivering new mail.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 Its name should end with a slash.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 (defconst sendmail-program nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 "Program used to send messages.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 (defconst remote-shell-program nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 "Program used to execute shell commands on a remote machine.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
107 (defconst term-file-prefix "term/"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 "If non-nil, Emacs startup does (load (concat term-file-prefix (getenv \"TERM\")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 You may set this variable to nil in your `.emacs' file if you do not wish
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 the terminal-initialization file to be loaded.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 (defconst manual-program nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 "Program to run to print man pages.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
115 (defconst abbrev-file-name "~/.abbrev_defs"
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 "*Default name of file to read abbrevs from.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 (defconst directory-abbrev-alist nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 ;; Formerly, the values of these variables were computed once
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 ;; (at dump time). However, with the advent of pre-compiled binaries
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 ;; and homebrewed systems such as Linux where who knows where the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 ;; hell the various programs may be located (if they even exist at all),
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 ;; it's clear that we need to recompute these values at run time.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 ;; In typical short-sightedness, site administrators have been told up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 ;; till now to do `setq's in site-init.el, which is run only once --
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 ;; at dump time. So we have to do contortions to make sure we don't
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 ;; override values set in site-init.el.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 (defun initialize-xemacs-paths ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 "Initialize the XEmacs path variables from the environment.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 Called automatically at dump time and run time. Do not call this.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 Will not override settings in site-init.el or site-run.el."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 (let ((l #'(lambda (var value)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 (let ((origsym (intern (concat "paths-el-original-"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 (symbol-name var)))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 (if (running-temacs-p)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 (progn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 (set var value)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 (set origsym value))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 (and (eq (symbol-value var) (symbol-value origsym))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 (set var value)))))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 l 'news-inews-program
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 (cond ((file-exists-p "/usr/bin/inews") "/usr/bin/inews")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 ((file-exists-p "/usr/local/inews") "/usr/local/inews")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 ((file-exists-p "/usr/local/bin/inews") "/usr/local/bin/inews")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 ((file-exists-p "/usr/lib/news/inews") "/usr/lib/news/inews")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 (t "inews")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 l 'mh-progs
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 444
diff changeset
153 (cond ((file-directory-p "/usr/bin/mh") "/usr/bin/mh/")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 ((file-directory-p "/usr/local/bin/mh") "/usr/local/bin/mh/")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 ((file-directory-p "/usr/local/mh") "/usr/local/mh/")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 (t "/usr/local/bin/")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 l 'mh-libs
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 444
diff changeset
160 (cond ((file-directory-p "/usr/lib/mh") "/usr/lib/mh/")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 ((file-directory-p "/usr/local/lib/mh") "/usr/local/lib/mh/")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 (t "/usr/local/bin/mh/")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 l 'rmail-spool-directory
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 444
diff changeset
166 (cond ;; SVR4 and recent BSD are said to use this.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 ;; Rather than trying to know precisely which systems use it,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 ;; let's assume this dir is never used for anything else.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 ((file-exists-p "/var/mail")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 "/var/mail/")
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 444
diff changeset
171 ((memq system-type '(hpux usg-unix-v irix))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 "/usr/mail/")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 ((memq system-type '(linux))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 "/var/spool/mail/")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 (t "/usr/spool/mail/")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 l 'sendmail-program
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 (cond
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 (t "fakemail"))) ;In ../etc, to interface to /bin/mail.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 l 'remote-shell-program
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 (cond
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 ;; Some systems use rsh for the remote shell; others use that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 ;; name for the restricted shell and use remsh for the remote
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 ;; shell. Let's try to guess based on what we actually find
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 ;; out there. The restricted shell is almost certainly in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 ;; /bin or /usr/bin, so it's probably safe to assume that an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 ;; rsh found elsewhere is the remote shell program. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 ;; converse is not true: /usr/bin/rsh could be either one, so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 ;; check that last.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 ((file-exists-p "/usr/ucb/remsh") "/usr/ucb/remsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 ((file-exists-p "/usr/bsd/remsh") "/usr/bsd/remsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 ((file-exists-p "/bin/remsh") "/bin/remsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 ((file-exists-p "/usr/bin/remsh") "/usr/bin/remsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 ((file-exists-p "/usr/local/bin/remsh") "/usr/local/bin/remsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 ((file-exists-p "/usr/ucb/rsh") "/usr/ucb/rsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 ((file-exists-p "/usr/bsd/rsh") "/usr/bsd/rsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 ((file-exists-p "/usr/local/bin/rsh") "/usr/local/bin/rsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 ((file-exists-p "/usr/bin/rcmd") "/usr/bin/rcmd")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 ((file-exists-p "/bin/rcmd") "/bin/rcmd")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 ((file-exists-p "/bin/rsh") "/bin/rsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 ((file-exists-p "/usr/bin/rsh") "/usr/bin/rsh")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 (t "rsh")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 l 'manual-program
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 ;; Solaris 2 has both of these files; prefer /usr/ucb/man
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 ;; because the other has nonstandard argument conventions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 (if (file-exists-p "/usr/ucb/man")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 "/usr/ucb/man" "/usr/bin/man"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 (funcall
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 l 'directory-abbrev-alist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 ;; Try to match various conventions for automounter temporary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 ;; mount points. These temporary mount points may go away, so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 ;; it's important that we only try to read files under the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 ;; "advertised" mount point, rather than the temporary one, or it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 ;; will look like files have been deleted on us. Whoever came up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 ;; with this design is clearly a moron of the first order, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 ;; now we're stuck with it, no doubt until the end of time.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 ;; For best results, automounter junk should go near the front of this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 ;; list, and other user translations should come after it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 ;; Our code handles the following empirically observed conventions:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 ;; /net is an actual directory! (some systems are not broken!)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 ;; /net/HOST -> /tmp_mnt/net/HOST (`standard' old Sun automounter)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 ;; /net/HOST -> /tmp_mnt/HOST (BSDI 4.0)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 ;; /net/HOST -> /a/HOST (Freebsd 2.2.x)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 ;; /net/HOST -> /amd/HOST (seen in amd sample config files)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 ;; If your system has a different convention, you may have to change this.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 ;; Don't forget to send in a patch!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 (when (file-directory-p "/net")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 (append
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 (when (file-directory-p "/tmp_mnt")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 (if (file-directory-p "/tmp_mnt/net")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 '(("\\`/tmp_mnt/net/" . "/net/"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 '(("\\`/tmp_mnt/" . "/net/"))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 (when (file-directory-p "/a")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 '(("\\`/a/" . "/net/")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 (when (file-directory-p "/amd")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 '(("\\`/amd/" . "/net/")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 )))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 ))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 (if (running-temacs-p)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 (initialize-xemacs-paths))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 ;;; paths.el ends here