annotate mac/inc/dirent.h @ 35160:75a8ca0bdd1d

(ansi-color-process-output): Use markers instead of positions for start and end of region. (ansi-color-apply-on-region): Rewrote code to make it more robust. Previously, occasional mistakes happend when fontifying many chunks of output (eg. ls --color=yes /dev). This happened whenever an overlay was created up to the end of the region, which coincided with the process-mark. New text would then be added within that overlay instead of after it. (ansi-color-make-extent): Overlays are created with the property `modification-hooks' set to '(ansi-color-freeze-overlay). (ansi-color-freeze-overlay): New function. When inserting text at the end of the overlay, the overlay will resize. (ansi-color-process-output): Doc change. (ansi-color-unfontify-region): Doc change. No longer installed automatically in font-lock-unfontify-region-function. (ansi-color-apply): Doc change. (ansi-color-apply-on-region): Use extents or overlays instead of text-properties. (ansi-color-make-extent): New function. (ansi-color-set-extent-face): New function. (ansi-color-process): Removed, Emacs and XEmacs both use ansi-color-process-output, now. (ansi-color-process-output): Doesn't return string anymore. It is installed in comint-output-filter-functions for both Emacs and XEmacs, now. (ansi-color-unfontify-region): Simplified code removing variables pos and start-ansi. (ansi-color-apply): Put text-property ansi-color before putting text-property face because ansi-color-unfontify-region is called immediately after the call to put-text-property. (ansi-color-context-region): Doc change. (ansi-color-filter-region): Simplified code. (ansi-color-apply-on-region): Changed start to start-marker, using a marker explicitly. Put text-property ansi-color before putting text-property face because ansi-color-unfontify-region is called immediately after the call to put-text-property. (ansi-color-faces-vector): Doc change. (ansi-color-for-comint-mode): Changed :type property to choice. (ansi-color-last-context): Removed. (ansi-color-process-output): Don't use ansi-color-last-context, as the main functions will store their context now. (ansi-color-context): Doc change. (ansi-color-filter-apply): Rewrote it based on ansi-color-apply. Uses ansi-color-context such that repeated calls will strip partial escape sequences, too. (ansi-color-apply): Simplified code. Colorize end of string if face is not null. Store context in new (FACE STRING) format, such that repeated calls will strip partial escape sequences, too. Append faces to face property using ansi-color-apply-sequence such that cumulative mode actually works. (ansi-color-context-region): New variable. (ansi-color-filter-region): Rewrote it based on ansi-color-apply-on-region. Uses ansi-color-context-region such that repeated calls will strip partial escape sequences, too. (ansi-color-apply-on-region): Simplified code. Colorize end of region if face is not null. Store context in new (FACE POS) format, such that repeated calls will strip partial escape sequences, too. Append faces to face property using ansi-color-apply-sequence such that cumulative mode actually works. (ansi-color-apply-sequence): New function. (ansi-color-get-face): When the default face is added to the list of faces, all previous settings are discarded and the list of faces is set to '(default). (ansi-color-faces-vector): Use nil for the default face, such that ansi-color-apply and ansi-color-apply-on-region will do the right thing. (ansi-color-apply): Do the right thing, ie. if ansi-color-get-face returns nil, set the list of faces back to nil instead of appending the result of ansi-color-get-face to the front of the list. (ansi-color-for-comint-mode): Doc change. (ansi-color-process): Doc change. (ansi-color-last-context): New buffer-local variable. (ansi-color-process-output): New function. It is automatically added to comint-output-filter-functions if this is XEmacs. (ansi-color-unfontify-region): New optional parameter for XEmacs compatibility. Check wether font-lock-syntactic-keywords is boundp before removing the syntax table text property, as XEmacs doesn't have it. (ansi-color-filter-region): Doc change. (ansi-color-apply-on-region): Doc change. (ansi-color-make-face): New function. Compatibility layer for XEmacs. Return temporary faces instead of cons cells for XEmacs. (ansi-color-make-color-map): Use ansi-color-make-face. (ansi-color-get-face): Avoid face text property '(nil) as results in an errow for XEmacs. (ansi-color-unfontify-region): New function. Uses text-property ansi-color in order to preserve fontification by ansi-color. When the package is loaded, a lambda expression is put onto font-lock-mode-hook. This lambda expression will check font-lock-unfontify-region-function and replace font-lock-default-unfontify-region with ansi-color-unfontify-region. (ansi-color-apply): Add text-property ansi-color in addition to text-property face. (ansi-color-apply-on-region): Add text-property ansi-color in addition to text-property face. (save-buffer-state): Copy of the macro that is also used by lazy-lock and font-lock. (ansi-color-for-comint-mode): New option. (ansi-color-for-comint-mode-on): Set ansi-color-for-comint-mode. (ansi-color-for-comint-mode-off): Ditto. (ansi-color-for-comint-mode-filter): Ditto. (ansi-color-process): New function. Uses ansi-color-for-comint-mode to decide what to do. This function is added to comint-preoutput-filter-functions when the package is loaded. (ansi-color-for-shell-mode-set): Removed. (ansi-color-for-shell-mode): Removed. (ansi-color-for-shell-mode-set): New function with the lambda expression from the ansi-color-for-shell-mode :set property. Additionally, modify shell-mode-hook to enable or disable font-lock-mode for future shell buffers. (ansi-color-for-shell-mode): The :set property calls ansi-color-for-shell-mode-set instead of a lambda expression. (ansi-color-for-shell-mode): Doc change. (ansi-color-context): New variable. (ansi-color-apply): Save context between calls.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 09 Jan 2001 11:38:28 +0000
parents 923b8d6d8277
children 01b93e5e53a7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
32752
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
1 /* Replacement dirent.h file for building GNU Emacs on the Macintosh.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
2 Copyright (C) 1999, 2000 Free Software Foundation, Inc.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
3
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
4 This file is part of GNU Emacs.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
5
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
9 any later version.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
10
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
14 GNU General Public License for more details.
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
15
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
20
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
21 /* Contributed by Andrew Choi (akochoi@users.sourceforge.net). */
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
22
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
23 #ifndef _DIRENT_H
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
24 #define _DIRENT_H
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
25
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
26 /* for definition of FSSpec */
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
27 #include <Files.h>
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
28
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
29 /* for definition of ino_t */
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
30 #include <sys/types.h>
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
31
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
32 struct dirent {
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
33 ino_t d_ino;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
34 char *d_name;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
35 };
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
36
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
37 typedef struct DIR {
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
38 long dir_id;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
39 short vol_ref_num;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
40 long current_index;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
41 int getting_volumes; /* true if this DIR struct refers to the root directory */
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
42 } DIR;
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
43
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
44 extern DIR *opendir(const char *);
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
45 extern int closedir(DIR *);
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
46 extern struct dirent *readdir(DIR *);
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
47
923b8d6d8277 Initial check-in: changes for building Emacs under Mac OS.
Andrew Choi <akochoi@shaw.ca>
parents:
diff changeset
48 #endif /* _DIRENT_H */