Mercurial > hg > xemacs-beta
annotate lisp/blessmail.el @ 5602:c9e5612f5424
Support the MP library on recent FreeBSD, have it pass relevant tests.
src/ChangeLog addition:
2011-11-26 Aidan Kehoe <kehoea@parhasard.net>
* number-mp.c (bignum_to_string):
Don't overwrite the accumulator we've just set up for this
function.
* number-mp.c (BIGNUM_TO_TYPE):
mp_itom() doesn't necessarily do what this code used to think with
negative numbers, it can treat them as unsigned ints. Subtract
numbers from bignum_zero instead of multiplying them by -1 to
convert them to their negative equivalents.
* number-mp.c (bignum_to_int):
* number-mp.c (bignum_to_uint):
* number-mp.c (bignum_to_long):
* number-mp.c (bignum_to_ulong):
* number-mp.c (bignum_to_double):
Use the changed BIGNUM_TO_TYPE() in these functions.
* number-mp.c (bignum_ceil):
* number-mp.c (bignum_floor):
In these functions, be more careful about rounding to positive and
negative infinity, respectively. Don't use the sign of QUOTIENT
when working out out whether to add or subtract one, rather use
the sign QUOTIENT would have if arbitrary-precision division were
done.
* number-mp.h:
* number-mp.h (MP_GCD):
Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS.
* number.c (Fbigfloat_get_precision):
* number.c (Fbigfloat_set_precision):
Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't
support big floats.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 26 Nov 2011 17:59:14 +0000 |
parents | 308d34e9f07d |
children |
rev | line source |
---|---|
217 | 1 ;;; blessmail.el --- Decide whether movemail needs special privileges. |
2 | |
3 ;; Copyright (C) 1994 Free Software Foundation, Inc. | |
4 | |
5 ;; Maintainer: FSF | |
6 ;; Keywords: internal | |
7 | |
8 ;; This file is part of XEmacs. | |
9 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
10 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
11 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
12 ;; Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
13 ;; option) any later version. |
217 | 14 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
15 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
16 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
17 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
18 ;; for more details. |
217 | 19 |
20 ;; You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
217
diff
changeset
|
21 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
217 | 22 |
23 ;;; Synched up with: FSF 19.34. | |
24 | |
25 ;;; Commentary: | |
26 | |
27 ;; This is loaded into a bare Emacs to create the blessmail script, | |
28 ;; which (on systems that need it) is used during installation | |
29 ;; to give appropriate permissions to movemail. | |
30 ;; | |
31 ;; It has to be done from lisp in order to be sure of getting the | |
32 ;; correct value of rmail-spool-directory. | |
33 | |
34 ;;; Code: | |
35 | |
36 ;; These are no longer needed because we run this in emacs instead of temacs. | |
37 ;; (message "Using load-path %s" load-path) | |
38 ;; (load "paths.el") | |
39 ;; It is not safe to load site-init.el here, because it might have things in it | |
40 ;; that won't load properly unless all the rest of Emacs is loaded. | |
41 | |
42 (let ((dirname (directory-file-name rmail-spool-directory)) | |
43 linkname attr modes) | |
44 ;; Check for symbolic link | |
45 (while (setq linkname (file-symlink-p dirname)) | |
46 (setq dirname (if (file-name-absolute-p linkname) | |
47 linkname | |
48 (concat (file-name-directory dirname) linkname)))) | |
49 (insert "#!/bin/sh\n") | |
50 (setq attr (file-attributes dirname)) | |
51 (if (not (eq t (car attr))) | |
52 (insert (format "echo %s is not a directory\n" rmail-spool-directory)) | |
53 (setq modes (nth 8 attr)) | |
54 (cond ((= ?w (aref modes 8)) | |
55 ;; Nothing needs to be done. | |
56 ) | |
57 ((= ?w (aref modes 5)) | |
58 (insert "chgrp " (number-to-string (nth 3 attr)) | |
59 " $* && chmod g+s $*\n")) | |
60 ((= ?w (aref modes 2)) | |
61 (insert "chown " (number-to-string (nth 2 attr)) | |
62 " $* && chmod u+s $*\n")) | |
63 (t | |
64 (insert "chown root $* && chmod u+s $*\n")))) | |
65 (insert "echo mail directory = " dirname "\n")) | |
66 (write-region (point-min) (point-max) "blessmail") | |
67 (kill-emacs) | |
68 | |
69 ;;; blessmail.el ends here |