Mercurial > emacs
annotate lisp/ls-lisp.el @ 18092:8428d56cd207
(smtpmail-via-smtp): Recognize XVRB as a synonym for
VERB and XONE as a synonym for ONEX.
(smtpmail-read-response): Add "%s" to `message' calls to avoid
problems with percent signs in strings.
(smtpmail-read-response): Return all lines of the
response text as a list of strings. Formerly only the first line
was returned. This is insufficient when one wants to parse
e.g. an EHLO response.
Ignore responses starting with "0". This is necessary to support
the VERB SMTP extension.
(smtpmail-via-smtp): Try EHLO and find out which SMTP service
extensions the receiving mailer supports.
Issue the ONEX and XUSR commands if the corresponding extensions
are supported.
Issue VERB if supported and `smtpmail-debug-info' is non-nil.
Add SIZE attribute to MAIL FROM: command if SIZE extension is
supported.
Add code that could set the BODY= attribute to MAIL FROM: if the
receiving mailer supports 8BITMIME. This is currently disabled,
since doing it right might involve adding MIME headers to, and in
some cases reencoding, the message.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 01 Jun 1997 22:24:22 +0000 |
parents | 727cf56647a4 |
children | 611b5f660ee6 |
rev | line source |
---|---|
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
1 ;;; ls-lisp.el --- emulate insert-directory completely in Emacs Lisp |
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
2 |
14169 | 3 ;; Copyright (C) 1992, 1994 by Sebastian Kremer <sk@thp.uni-koeln.de> |
4 | |
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
5 ;; Author: Sebastian Kremer <sk@thp.uni-koeln.de> |
17977 | 6 ;; Maintainer: FSF |
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
7 ;; Keywords: unix |
183 | 8 |
14169 | 9 ;; This file is part of GNU Emacs. |
183 | 10 |
14169 | 11 ;; GNU Emacs is free software; you can redistribute it and/or modify |
183 | 12 ;; it under the terms of the GNU General Public License as published by |
12244 | 13 ;; the Free Software Foundation; either version 2, or (at your option) |
183 | 14 ;; any later version. |
14169 | 15 |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
183 | 17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
14169 | 20 |
183 | 21 ;; You should have received a copy of the GNU General Public License |
14169 | 22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
25 | |
26 ;;; Commentary: | |
183 | 27 |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
28 ;; INSTALLATION ======================================================= |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
29 ;; |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
30 ;; Put this file into your load-path. To use it, load it |
3916
b3f0b10b39c8
(insert-directory): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
3789
diff
changeset
|
31 ;; with (load "ls-lisp"). |
623 | 32 |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
33 ;; OVERVIEW =========================================================== |
183 | 34 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
35 ;; This file overloads the function insert-directory to implement it |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
36 ;; directly from Emacs lisp, without running `ls' in a subprocess. |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
37 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
38 ;; It is useful if you cannot afford to fork Emacs on a real memory UNIX, |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
39 ;; under VMS, or if you don't have the ls program, or if you want |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
40 ;; different format from what ls offers. |
183 | 41 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
42 ;; This function uses regexps instead of shell |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
43 ;; wildcards. If you enter regexps remember to double each $ sign. |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
44 ;; For example, to include files *.el, enter `.*\.el$$', |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
45 ;; resulting in the regexp `.*\.el$'. |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
46 |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
47 ;; RESTRICTIONS ===================================================== |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
48 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
49 ;; * many ls switches are ignored, see docstring of `insert-directory'. |
183 | 50 |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
51 ;; * Only numeric uid/gid |
183 | 52 |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
53 ;; TODO ============================================================== |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
54 |
623 | 55 ;; Recognize some more ls switches: R F |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
56 |
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
57 ;;; Code: |
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
58 |
14213
aaa459c274b9
(ls-lisp-support-shell-wildcards): Add autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents:
14169
diff
changeset
|
59 ;;;###autoload |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
60 (defvar ls-lisp-support-shell-wildcards t |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
61 "*Non-nil means file patterns are treated as shell wildcards. |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
62 nil means they are treated as Emacs regexps (for backward compatibility). |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
63 This variable is checked by \\[insert-directory] only when `ls-lisp.el' |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
64 package is used.") |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
65 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
66 (defun insert-directory (file &optional switches wildcard full-directory-p) |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
67 "Insert directory listing for FILE, formatted according to SWITCHES. |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
68 Leaves point after the inserted text. |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
69 Optional third arg WILDCARD means treat FILE as shell wildcard. |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
70 Optional fourth arg FULL-DIRECTORY-P means file is a directory and |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
71 switches do not contain `d', so that a full listing is expected. |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
72 |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
73 This version of the function comes from `ls-lisp.el'. It doesn not |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
74 run any external programs or shells. It supports ordinary shell |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
75 wildcards if `ls-lisp-support-shell-wildcards' variable is non-nil; |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
76 otherwise, it interprets wildcards as regular expressions to match |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
77 file names. |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
78 |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
79 Not all `ls' switches are supported. The switches that work |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
80 are: A a c i r S s t u" |
7030
9e51b51e8595
Pass operation to find-file-name-handler.
Karl Heuer <kwzh@gnu.org>
parents:
5457
diff
changeset
|
81 (let ((handler (find-file-name-handler file 'insert-directory))) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
82 (if handler |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
83 (funcall handler 'insert-directory file switches |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
84 wildcard full-directory-p) |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
85 ;; Sometimes we get ".../foo*/" as FILE. While the shell and |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
86 ;; `ls' don't mind, we certainly do, because it makes us think |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
87 ;; there is no wildcard, only a directory name. |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
88 (if (and ls-lisp-support-shell-wildcards |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
89 (string-match "[[?*]" file)) |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
90 (progn |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
91 (or (not (eq (aref file (1- (length file))) ?/)) |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
92 (setq file (substring file 0 (1- (length file))))) |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
93 (setq wildcard t))) |
3789
0af7cedb1081
* ls-lisp.el (insert-directory): If no handler, convert SWITCHES
Jim Blandy <jimb@redhat.com>
parents:
2233
diff
changeset
|
94 ;; Convert SWITCHES to a list of characters. |
0af7cedb1081
* ls-lisp.el (insert-directory): If no handler, convert SWITCHES
Jim Blandy <jimb@redhat.com>
parents:
2233
diff
changeset
|
95 (setq switches (append switches nil)) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
96 (if wildcard |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
97 (setq wildcard |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
98 (if ls-lisp-support-shell-wildcards |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
99 (wildcard-to-regexp (file-name-nondirectory file)) |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
100 (file-name-nondirectory file)) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
101 file (file-name-directory file))) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
102 (if (or wildcard |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
103 full-directory-p) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
104 (let* ((dir (file-name-as-directory file)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
105 (default-directory dir);; so that file-attributes works |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
106 (sum 0) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
107 elt |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
108 short |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
109 (file-list (directory-files dir nil wildcard)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
110 file-alist |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
111 (now (current-time)) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
112 ;; do all bindings here for speed |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
113 fil attr) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
114 (cond ((memq ?A switches) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
115 (setq file-list |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
116 (ls-lisp-delete-matching "^\\.\\.?$" file-list))) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
117 ((not (memq ?a switches)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
118 ;; if neither -A nor -a, flush . files |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
119 (setq file-list |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
120 (ls-lisp-delete-matching "^\\." file-list)))) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
121 (setq file-alist |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
122 (mapcar |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
123 (function |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
124 (lambda (x) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
125 ;; file-attributes("~bogus") bombs |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
126 (cons x (file-attributes (expand-file-name x))))) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
127 ;; inserting the call to directory-files right here |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
128 ;; seems to stimulate an Emacs bug |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
129 ;; ILLEGAL DATATYPE (#o37777777727) or #o67 |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
130 file-list)) |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
131 ;; ``Total'' line (filled in afterwards). |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
132 (insert (if (car-safe file-alist) |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
133 "total \007\n" |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
134 ;; Shell says ``No match'' if no files match |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
135 ;; the wildcard; let's say something similar. |
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
136 "(No match)\ntotal \007\n")) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
137 (setq file-alist |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
138 (ls-lisp-handle-switches file-alist switches)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
139 (while file-alist |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
140 (setq elt (car file-alist) |
8409
4a27ca4bcdf4
(insert-directory): Gracefully handle the case
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
141 file-alist (cdr file-alist) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
142 short (car elt) |
8409
4a27ca4bcdf4
(insert-directory): Gracefully handle the case
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
143 attr (cdr elt)) |
4a27ca4bcdf4
(insert-directory): Gracefully handle the case
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
144 (and attr |
4a27ca4bcdf4
(insert-directory): Gracefully handle the case
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
145 (setq sum (+ sum (nth 7 attr))) |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
146 (insert (ls-lisp-format short attr switches now)))) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
147 ;; Fill in total size of all files: |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
148 (save-excursion |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
149 (search-backward "total \007") |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
150 (goto-char (match-end 0)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
151 (delete-char -1) |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
152 (insert (format "%d" (if (zerop sum) 0 (1+ (/ sum 1024))))))) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
153 ;; if not full-directory-p, FILE *must not* end in /, as |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
154 ;; file-attributes will not recognize a symlink to a directory |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
155 ;; must make it a relative filename as ls does: |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
156 (setq file (file-name-nondirectory file)) |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
157 (insert (ls-lisp-format file (file-attributes file) switches |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
158 (current-time))))))) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
159 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
160 (defun ls-lisp-delete-matching (regexp list) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
161 ;; Delete all elements matching REGEXP from LIST, return new list. |
417
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
162 ;; Should perhaps use setcdr for efficiency. |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
163 (let (result) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
164 (while list |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
165 (or (string-match regexp (car list)) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
166 (setq result (cons (car list) result))) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
167 (setq list (cdr list))) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
168 result)) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
169 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
170 (defun ls-lisp-handle-switches (file-alist switches) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
171 ;; FILE-ALIST's elements are (FILE . FILE-ATTRIBUTES). |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
172 ;; Return new alist sorted according to SWITCHES which is a list of |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
173 ;; characters. Default sorting is alphabetically. |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
174 (let (index) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
175 (setq file-alist |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
176 (sort file-alist |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
177 (cond ((memq ?S switches) ; sorted on size |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
178 (function |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
179 (lambda (x y) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
180 ;; 7th file attribute is file size |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
181 ;; Make largest file come first |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
182 (< (nth 7 (cdr y)) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
183 (nth 7 (cdr x)))))) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
184 ((memq ?t switches) ; sorted on time |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
185 (setq index (ls-lisp-time-index switches)) |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
186 (function |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
187 (lambda (x y) |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
188 (ls-lisp-time-lessp (nth index (cdr y)) |
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
189 (nth index (cdr x)))))) |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
190 (t ; sorted alphabetically |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
191 (function |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
192 (lambda (x y) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
193 (string-lessp (car x) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
194 (car y))))))))) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
195 (if (memq ?r switches) ; reverse sort order |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
196 (setq file-alist (nreverse file-alist))) |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
197 file-alist) |
183 | 198 |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
199 ;; From Roland McGrath. Can use this to sort on time. |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
200 (defun ls-lisp-time-lessp (time0 time1) |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
201 (let ((hi0 (car time0)) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
202 (hi1 (car time1)) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
203 (lo0 (car (cdr time0))) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
204 (lo1 (car (cdr time1)))) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
205 (or (< hi0 hi1) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
206 (and (= hi0 hi1) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
207 (< lo0 lo1))))) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
208 |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
209 |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
210 (defun ls-lisp-format (file-name file-attr switches now) |
183 | 211 (let ((file-type (nth 0 file-attr))) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
212 (concat (if (memq ?i switches) ; inode number |
417
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
213 (format "%6d " (nth 10 file-attr))) |
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
214 ;; nil is treated like "" in concat |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
215 (if (memq ?s switches) ; size in K |
417
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
216 (format "%4d " (1+ (/ (nth 7 file-attr) 1024)))) |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
217 (nth 8 file-attr) ; permission bits |
183 | 218 ;; numeric uid/gid are more confusing than helpful |
416
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
219 ;; Emacs should be able to make strings of them. |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
220 ;; user-login-name and user-full-name could take an |
954d6271f0e9
(dired-lisp-ls): handles A a S r i s switches now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
185
diff
changeset
|
221 ;; optional arg. |
13883
a4eef7470b6b
(ls-lisp-support-shell-wildcards): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
12244
diff
changeset
|
222 (format " %3d %-8s %-8s %8d " |
417
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
223 (nth 1 file-attr) ; no. of links |
3916
b3f0b10b39c8
(insert-directory): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
3789
diff
changeset
|
224 (if (= (user-uid) (nth 2 file-attr)) |
b3f0b10b39c8
(insert-directory): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
3789
diff
changeset
|
225 (user-login-name) |
5457
4fe8a94b0aa6
(ls-lisp-format): Bad format for uid and gid fixed.
Richard M. Stallman <rms@gnu.org>
parents:
3916
diff
changeset
|
226 (int-to-string (nth 2 file-attr))) ; uid |
3916
b3f0b10b39c8
(insert-directory): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
3789
diff
changeset
|
227 (if (eq system-type 'ms-dos) |
b3f0b10b39c8
(insert-directory): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
3789
diff
changeset
|
228 "root" ; everything is root on MSDOS. |
5457
4fe8a94b0aa6
(ls-lisp-format): Bad format for uid and gid fixed.
Richard M. Stallman <rms@gnu.org>
parents:
3916
diff
changeset
|
229 (int-to-string (nth 3 file-attr))) ; gid |
417
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
230 (nth 7 file-attr) ; size in bytes |
51793184f9a9
(dired-lisp-format): format can pad after all.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
416
diff
changeset
|
231 ) |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
232 (ls-lisp-format-time file-attr switches now) |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
233 " " |
183 | 234 file-name |
235 (if (stringp file-type) ; is a symbolic link | |
236 (concat " -> " file-type) | |
237 "") | |
238 "\n" | |
239 ))) | |
240 | |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
241 (defun ls-lisp-time-index (switches) |
626
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
242 ;; Return index into file-attributes according to ls SWITCHES. |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
243 (cond |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
244 ((memq ?c switches) 6) ; last mode change |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
245 ((memq ?u switches) 4) ; last access |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
246 ;; default is last modtime |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
247 (t 5))) |
ff8773516db2
(dired-lisp-handle-switches): understands `-t' now.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
623
diff
changeset
|
248 |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
249 (defun ls-lisp-format-time (file-attr switches now) |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
250 ;; Format time string for file with attributes FILE-ATTR according |
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
251 ;; to SWITCHES (a list of ls option letters of which c and u are recognized). |
16098
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
252 ;; Use the same method as `ls' to decide whether to show time-of-day or year, |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
253 ;; depending on distance between file date and NOW. |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
254 (let* ((time (nth (ls-lisp-time-index switches) file-attr)) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
255 (diff16 (- (car time) (car now))) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
256 (diff (+ (ash diff16 16) (- (car (cdr time)) (car (cdr now))))) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
257 (past-cutoff (- (* 6 30 24 60 60))) ; 6 30-day months |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
258 (future-cutoff (* 60 60))) ; 1 hour |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
259 (format-time-string |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
260 (if (and |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
261 (<= past-cutoff diff) (<= diff future-cutoff) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
262 ;; Sanity check in case `diff' computation overflowed. |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
263 (<= (1- (ash past-cutoff -16)) diff16) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
264 (<= diff16 (1+ (ash future-cutoff -16)))) |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
265 "%b %e %H:%M" |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
266 "%b %e %Y") |
b463288de0a8
(insert-directory): Use same value of `now' for all files.
Richard M. Stallman <rms@gnu.org>
parents:
14213
diff
changeset
|
267 time))) |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
268 |
1334
92791ed2d1eb
Most functions renamed to start with ls-lisp.
Richard M. Stallman <rms@gnu.org>
parents:
1333
diff
changeset
|
269 (provide 'ls-lisp) |
622
1d4abb4dfecb
(dired-lisp-format-time): in Emacs 19 we can format times.
Sebastian Kremer <sk@thp.uni-koeln.de>
parents:
417
diff
changeset
|
270 |
2233
fb0ed5a1d0f3
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
1672
diff
changeset
|
271 ;;; ls-lisp.el ends here |