annotate lisp/files-nomule.el @ 453:270b05afd845

Added tag r21-2-41 for changeset 3d3049ae1304
author cvs
date Mon, 13 Aug 2007 11:40:23 +0200
parents 576fb035e263
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
1 ;;; files-nomule.el --- file I/O stubs when not under Mule.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
2
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
3 ;; Copyright (C) 1985-1987, 1992-1994, 1997 Free Software Foundation, Inc.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995 Sun Microsystems.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
5
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
6 ;; Maintainer: XEmacs Development Team
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
7 ;; Keywords: extensions, dumped
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
8
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
10
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
11 ;; XEmacs is free software; you can redistribute it and/or modify it
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
12 ;; under the terms of the GNU General Public License as published by
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
14 ;; any later version.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
15
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
16 ;; XEmacs is distributed in the hope that it will be useful, but
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
19 ;; General Public License for more details.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
20
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 209
diff changeset
22 ;; along with XEmacs; see the file COPYING. If not, write to the
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
23 ;; Free Software Foundation, 59 Temple Place - Suite 330,
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
24 ;; Boston, MA 02111-1307, USA.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
25
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
26 ;;; Synched up with: FSF 19.34 (files.el). (Is it? Please check)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
27
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
28 ;;; Commentary:
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
29
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
30 ;; This file is dumped with XEmacs (when Mule is not compiled in).
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
31
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
32 ;; These stubs were moved from the bottom of files.el.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
33
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
34 ;;; Code:
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
35
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 209
diff changeset
36 (defun insert-file-contents (filename &optional visit start end replace)
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
37 "Insert contents of file FILENAME after point.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
38 Returns list of absolute file name and length of data inserted.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
39 If second argument VISIT is non-nil, the buffer's visited filename
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
40 and last save file modtime are set, and it is marked unmodified.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
41 If visiting and the file does not exist, visiting is completed
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
42 before the error is signaled.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
43
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 209
diff changeset
44 The optional third and fourth arguments START and END
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
45 specify what portion of the file to insert.
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 209
diff changeset
46 If VISIT is non-nil, START and END must be nil.
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
47 If optional fifth argument REPLACE is non-nil,
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
48 it means replace the current buffer contents (in the accessible portion)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
49 with the file contents. This is better than simply deleting and inserting
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
50 the whole thing because (1) it preserves some marker positions
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
51 and (2) it puts less data in the undo list."
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 209
diff changeset
52 (insert-file-contents-internal filename visit start end replace nil nil))
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
53
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
54 (defun write-region (start end filename &optional append visit lockname coding-system)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
55 "Write current region into specified file.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
56 By default, the file's existing contents are replaced by the specified region.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
57 When called from a program, takes three arguments:
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
58 START, END and FILENAME. START and END are buffer positions.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
59 Optional fourth argument APPEND if non-nil means
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
60 append to existing file contents (if any).
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
61 Optional fifth argument VISIT if t means
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
62 set the last-save-file-modtime of buffer to this file's modtime
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
63 and mark buffer not modified.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
64 If VISIT is a string, it is a second file name;
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
65 the output goes to FILENAME, but the buffer is marked as visiting VISIT.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
66 VISIT is also the file name to lock and unlock for clash detection.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
67 If VISIT is neither t nor nil nor a string,
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
68 that means do not print the \"Wrote file\" message.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
69 The optional sixth arg LOCKNAME, if non-nil, specifies the name to
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
70 use for locking and unlocking, overriding FILENAME and VISIT.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
71 Kludgy feature: if START is a string, then that string is written
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
72 to the file, instead of any buffer contents, and END is ignored.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
73 Optional seventh argument CODING-SYSTEM is meaningful only if support
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
74 for Mule is present in XEmacs and specifies the coding system
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
75 used to encode the text when it is written out, and defaults to
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
76 the value of `buffer-file-coding-system' in the current buffer.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
77 When Mule support is not present, the CODING-SYSTEM argument is
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
78 ignored."
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
79 (interactive "r\nFWrite region to file: ")
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
80 (write-region-internal start end filename append visit lockname nil))
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
81
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
82 (defun load (file &optional noerror nomessage nosuffix)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
83 "Execute a file of Lisp code named FILE.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
84 First try FILE with `.elc' appended, then try with `.el',
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
85 then try FILE unmodified.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
86 This function searches the directories in `load-path'.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
87 If optional second arg NOERROR is non-nil,
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
88 report no error if FILE doesn't exist.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
89 Print messages at start and end of loading unless
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
90 optional third arg NOMESSAGE is non-nil (ignored in -batch mode).
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
91 If optional fourth arg NOSUFFIX is non-nil, don't try adding
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
92 suffixes `.elc' or `.el' to the specified name FILE.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
93 Return t if file exists."
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
94 (load-internal file noerror nomessage nosuffix nil nil))
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
95
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
96 ;;; files-nomule.el ends here