Mercurial > hg > xemacs-beta
annotate netinstall/tar.h @ 5253:b6a398dbb403
Fewer algorithmic complexity surprises, nicer errors, mapcarX(), maplist()
src/ChangeLog addition:
2010-09-01 Aidan Kehoe <kehoea@parhasard.net>
* fns.c (list_merge, list_array_merge_into_list)
(list_array_merge_into_array):
Avoid algorithmic complexity surprises when checking for
circularity in these functions.
(Freduce): Fix some formatting, in passing.
(mapcarX): Drop the SOME_OR_EVERY argument to this function;
instead, take CALLER, a symbol reflecting the Lisp-visible
function that called mapcarX(). Use CALLER with
mapping_interaction_error() when sequences are modified
illegally. Don't cons with #'some, #'every, not even a little.
(Fmapconcat, FmapcarX, Fmapvector, Fmapcan, Fmapc, Fmap)
(Fmap_into, Fsome, Fevery): Call mapcarX() with its new
arguments.
(Fmapcan): Don't unnecessarily complicate the nconc call.
(maplist): Take CALLER, a symbol reflecting the Lisp-visible
function that called maplist(), rather than having separate
arguments to indicate mapl vs. mapcon.
Avoid algorithmic complexity surprises when checking for
circularity. In #'mapcon, check a given stretch of
result for well-formedness once, which was not previously the
case, despite what the comments said.
(Fmaplist, Fmapl, Fmapcon):
Call maplist() with its new arguments.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 01 Sep 2010 12:51:32 +0100 |
parents | 3078fd1074e8 |
children |
rev | line source |
---|---|
448 | 1 /* |
2 * Copyright (c) 2000, Red Hat, Inc. | |
3 * | |
4 * This program is free software; you can redistribute it and/or modify | |
5 * it under the terms of the GNU General Public License as published by | |
6 * the Free Software Foundation; either version 2 of the License, or | |
7 * (at your option) any later version. | |
8 * | |
9 * A copy of the GNU General Public License can be found at | |
10 * http://www.gnu.org/ | |
11 * | |
12 * Written by DJ Delorie <dj@cygnus.com> | |
13 * | |
14 */ | |
15 | |
16 #ifndef __TAR_H_ | |
17 #define __TAR_H_ | |
18 | |
19 /* Only one tarfile may be open at a time. gzipped files handled | |
20 automatically */ | |
21 | |
22 /* returns zero on success, nonzero on failure */ | |
23 int tar_open (char *pathname); | |
24 | |
25 /* returns pointer to static buf containing name of next file */ | |
26 char * tar_next_file (); | |
27 | |
28 /* byte position in [compressed] file */ | |
29 int tar_ftell (); | |
30 | |
31 /* pass adjusted path, returns zero on success, nonzero on failure */ | |
32 int tar_read_file (char *path); | |
33 | |
34 /* closes the file */ | |
35 int tar_close (); | |
36 | |
37 /* pass path to tar file and from/to pairs for path prefix (NULLs at | |
38 end , returns zero if completely successful, nonzero (counts | |
39 errors) on failure */ | |
40 int tar_auto (char *pathname, char **map); | |
41 | |
42 int tar_mkdir_p (int isadir, char *path); | |
43 | |
44 /* | |
45 extern int _tar_verbose; | |
46 extern FILE * _tar_vfile; | |
47 */ | |
48 | |
49 #endif |