Mercurial > emacs
view lisp/=setaddr.el @ 29004:383e4e21306a
(LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
CHARSET_8_BIT_GRAPHIC): New macros.
(SINGLE_BYTE_CHAR_P): Make it faster by using casting.
(CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
(CHARSET_REVERSE_CHARSET): Likewise.
(CHARSET_VALID_P): Handle new charsets; eight-bit-control and
eight-bit-graphic.
(BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
(CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
(PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
encounter an invalid multibyte sequence.
(PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
sequence is always valid.
(MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
(UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
macros.
(CHAR_STRING): For 8-bit characters, call char_to_string.
(INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
multibyte sequence is always valid.
(BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
(parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
str_as_unibyte): Extern them.
(BCOPY_SHORT): Fix a bug.
(CHAR_LEN): This macro deleted. Callers changed to use
CHAR_BYTES.
(FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
(FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
(FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 19 May 2000 23:54:05 +0000 |
parents | 5a5e360f7d45 |
children |
line wrap: on
line source
;;; setaddr.el --- determine whether sendmail is configured on this machine ;; Copyright (C) 1997 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: mail ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; If neither sendmail nor Emacs knows what host address to use ;; for this machine, ask for it, and save it in site-start.el ;; so we won't have to ask again. ;; This uses a heuristic about the output from sendmail ;; which may or may not really work. We will have to find ;; out by experiment. ;;; Code: (or mail-host-address (let (sendmail-configured) (with-temp-buffer " mail-host-address" (call-process sendmail-program nil t nil "-bv" "root") (goto-char (point-min)) (setq sendmail-configured (looking-at "root@"))) (or sendmail-configured (let (buffer) (setq mail-host-address (read-string "Specify your host's fully qualified domain name: "))) ;; Create an init file, and if we just read mail-host-address, ;; make the init file set it. (unwind-protect (save-excursion (set-buffer (find-file-noselect "site-start.el")) (setq buffer (current-buffer)) ;; Get rid of the line that ran this file. (if (search-forward "(load \"setaddr\")\n") (progn (beginning-of-line) (delete-region (point) (progn (end-of-line) (point))))) ;; Add the results (goto-char (point-max)) (insert "\n(setq mail-host-address " (prin1-to-string mail-host-address) ")\n") (condition-case nil (save-buffer) (file-error nil))) (if buffer (kill-buffer buffer)))))) ;;; setaddr.el ends here