annotate lisp/dirtrack.el @ 110410:f2e111723c3a

Merge changes made in Gnus trunk. Reimplement nnimap, and do tweaks to the rest of the code to support that. * gnus-int.el (gnus-finish-retrieve-group-infos) (gnus-retrieve-group-data-early): New functions. * gnus-range.el (gnus-range-nconcat): New function. * gnus-start.el (gnus-get-unread-articles): Support early retrieval of data. (gnus-read-active-for-groups): Support finishing the early retrieval of data. * gnus-sum.el (gnus-summary-move-article): Pass the move-to group name if the move is internal, so that nnimap can do fast internal moves. * gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for nnimap usage. * nnimap.el: Rewritten. * nnmail.el (nnmail-inhibit-default-split-group): New internal variable to allow the mail splitting to not return a default group. This is useful for nnimap, which will leave unmatched mail in the inbox. * utf7.el (utf7-encode): Autoload. Implement shell connection. * nnimap.el (nnimap-open-shell-stream): New function. (nnimap-open-connection): Use it. Get the number of lines by using BODYSTRUCTURE. (nnimap-transform-headers): Get the number of lines in each message. (nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the number of lines. Not all servers return UIDNEXT. Work past this problem. Remove junk from end of file. Fix typo in "bogus" section. Make capabilties be case-insensitive. Require cl when compiling. Don't bug out if the LIST command doesn't have any parameters. 2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change) * nnimap.el (nnimap-get-groups): Don't bug out if the LIST command doesn't have any parameters. (mm-text-html-renderer): Document gnus-article-html. 2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix) * mm-decode.el (mm-text-html-renderer): Document gnus-article-html. * dgnushack.el: Define netrc-credentials. If the user doesn't have a /etc/services, supply some sensible port defaults. Have `unseen-or-unread' select an unread unseen article first. (nntp-open-server): Return whether the open was successful or not. Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ). Save result so that it doesn't say "failed" all the time. Add ~/.authinfo to the default, since that's probably most useful for users. Don't use the "finish" method when we're reading from the agent. Add some more nnimap-relevant agent stuff to nnagent.el. * nnimap.el (nnimap-with-process-buffer): Removed. Revert one line that was changed by mistake in the last checkin. (nnimap-open-connection): Don't error out when we can't make a connection nnimap-related changes to avoid bugging out if we can't contact a server. * gnus-start.el (gnus-get-unread-articles): Don't try to scan groups from methods that are denied. * nnimap.el (nnimap-possibly-change-group): Return nil if we can't log in. (nnimap-finish-retrieve-group-infos): Make sure we're not waiting for nothing. * gnus-sum.el (gnus-select-newsgroup): Indent.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 18 Sep 2010 10:02:19 +0000
parents ffe7f17f895f
children 2b266010d0b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 ;;; dirtrack.el --- Directory Tracking by watching the prompt
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
74439
ddcbd2c1b70d Update copyright years.
Glenn Morris <rgm@gnu.org>
parents: 71666
diff changeset
3 ;; Copyright (C) 1996, 2001, 2002, 2003, 2004, 2005,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100908
diff changeset
4 ;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
6 ;; Author: Peter Breton <pbreton@cs.umb.edu>
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ;; Created: Sun Nov 17 1996
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 ;; Keywords: processes
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
12 ;; GNU Emacs is free software: you can redistribute it and/or modify
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
14 ;; the Free Software Foundation, either version 3 of the License, or
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
15 ;; (at your option) any later version.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
23 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ;;; Commentary:
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;; Shell directory tracking by watching the prompt.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; This is yet another attempt at a directory-tracking package for
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
30 ;; Emacs shell-mode. However, this package makes one strong assumption:
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;; that you can customize your shell's prompt to contain the
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
32 ;; current working directory. Most shells do support this, including
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 ;; almost every type of Bourne and C shell on Unix, the native shells on
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;; Windows95 (COMMAND.COM) and Windows NT (CMD.EXE), and most 3rd party
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
35 ;; Windows shells. If you cannot do this, or do not wish to, this package
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; will be useless to you.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ;; Installation:
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 ;; 1) Set your shell's prompt to contain the current working directory.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 ;; You may need to consult your shell's documentation to find out how to
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 ;; do this.
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
43 ;;
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
44 ;; Note that directory tracking is done by matching regular expressions,
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 ;; therefore it is *VERY IMPORTANT* for your prompt to be easily
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
46 ;; distinguishable from other output. If your prompt regexp is too general,
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 ;; you will see error messages from the dirtrack filter as it attempts to cd
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 ;; to non-existent directories.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 ;;
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
50 ;; 2) Set the variable `dirtrack-list' to an appropriate value. This
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 ;; should be a list of two elements: the first is a regular expression
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 ;; which matches your prompt up to and including the pathname part.
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
53 ;; The second is a number which tells which regular expression group to
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
54 ;; match to extract only the pathname. If you use a multi-line prompt,
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
55 ;; add 't' as a third element. Note that some of the functions in
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 ;; 'comint.el' assume a single-line prompt (eg, comint-bol).
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
57 ;;
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
58 ;; Determining this information may take some experimentation. Using
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
59 ;; `dirtrack-debug-mode' may help; it causes the directory-tracking
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
60 ;; filter to log messages to the buffer `dirtrack-debug-buffer'.
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
61 ;;
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
62 ;; 3) Activate `dirtrack-mode'. You may wish to turn ordinary shell
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
63 ;; tracking off by calling `shell-dirtrack-mode'.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 ;; Examples:
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 ;; 1) On Windows NT, my prompt is set to emacs$S$P$G.
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 ;; 'dirtrack-list' is set to (list "^emacs \\([a-zA-Z]:.*\\)>" 1)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 ;; 2) On Solaris running bash, my prompt is set like this:
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 ;; PS1="\w\012emacs@\h(\!) [\t]% "
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 ;; 'dirtrack-list' is set to (list "^\\([/~].*\\)\nemacs@[^%]+% *" 1 t)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 ;;
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 ;; I'd appreciate other examples from people who use this package.
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
75 ;;
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
76 ;; Here's one from Stephen Eglen:
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
77 ;;
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
78 ;; Running under tcsh:
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
79 ;; (setq-default dirtrack-list '("^%E \\([^ ]+\\)" 1))
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
80 ;;
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
81 ;; It might be worth mentioning in your file that emacs sources start up
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
82 ;; files of the form: ~/.emacs_<SHELL> where <SHELL> is the name of the
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
83 ;; shell. So for example, I have the following in ~/.emacs_tcsh:
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
84 ;;
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
85 ;; set prompt = "%%E %~ %h% "
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
86 ;;
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
87 ;; This produces a prompt of the form:
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
88 ;; %E /var/spool 10%
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
89 ;;
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
90 ;; This saves me from having to use the %E prefix in other non-emacs
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
91 ;; shells.
23390
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
92 ;;
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
93 ;; A final note:
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
94 ;;
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
95 ;; I run LOTS of shell buffers through Emacs, sometimes as different users
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
96 ;; (eg, when logged in as myself, I'll run a root shell in the same Emacs).
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
97 ;; If you do this, and the shell prompt contains a ~, Emacs will interpret
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
98 ;; this relative to the user which owns the Emacs process, not the user
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
99 ;; who owns the shell buffer. This may cause dirtrack to behave strangely
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
100 ;; (typically it reports that it is unable to cd to a directory
23390
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
101 ;; with a ~ in it).
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
102 ;;
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
103 ;; The same behavior can occur if you use dirtrack with remote filesystems
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
104 ;; (using telnet, rlogin, etc) as Emacs will be checking the local
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
105 ;; filesystem, not the remote one. This problem is not specific to dirtrack,
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
106 ;; but also affects file completion, etc.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 ;;; Code:
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 (eval-when-compile
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 (require 'comint)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112 (require 'shell))
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
114 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
115 ;; Customization Variables
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
117
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
118 (defgroup dirtrack nil
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
119 "Directory tracking by watching the prompt."
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
120 :prefix "dirtrack-"
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
121 :group 'shell)
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
122
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
123 (defcustom dirtrack-list (list "^emacs \\([a-zA-Z]:.*\\)>" 1)
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
124 "List for directory tracking.
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 First item is a regexp that describes where to find the path in a prompt.
64538
be20990b5d3d (dirtrack-list): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 64091
diff changeset
126 Second is a number, the regexp group to match. Optional third item is
be20990b5d3d (dirtrack-list): Fix typos in docstring.
Juanma Barranquero <lekktu@gmail.com>
parents: 64091
diff changeset
127 whether the prompt is multi-line. If nil or omitted, prompt is assumed to
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
128 be on a single line."
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
129 :group 'dirtrack
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
130 :type '(sexp (regexp :tag "Prompt Expression")
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
131 (integer :tag "Regexp Group")
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
132 (boolean :tag "Multiline Prompt")))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 (make-variable-buffer-local 'dirtrack-list)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
136 (defcustom dirtrack-debug nil
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
137 "If non-nil, the function `dirtrack' will report debugging info."
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
138 :group 'dirtrack
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
139 :type 'boolean)
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
141 (defcustom dirtrack-debug-buffer "*Directory Tracking Log*"
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
142 "Buffer in which to write directory tracking debug information."
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
143 :group 'dirtrack
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
144 :type 'string)
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
146 (defcustom dirtrack-directory-function
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
147 (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 'dirtrack-windows-directory-function
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
149 'file-name-as-directory)
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
150 "Function to apply to the prompt directory for comparison purposes."
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
151 :group 'dirtrack
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
152 :type 'function)
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
153
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
154 (defcustom dirtrack-canonicalize-function
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
155 (if (memq system-type (list 'ms-dos 'windows-nt 'cygwin))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
156 'downcase 'identity)
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
157 "Function to apply to the default directory for comparison purposes."
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
158 :group 'dirtrack
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
159 :type 'function)
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
160
23851
6c6028a96f5a (dirtrack-directory-change-hook): New hook.
Karl Heuer <kwzh@gnu.org>
parents: 23390
diff changeset
161 (defcustom dirtrack-directory-change-hook nil
6c6028a96f5a (dirtrack-directory-change-hook): New hook.
Karl Heuer <kwzh@gnu.org>
parents: 23390
diff changeset
162 "Hook that is called when a directory change is made."
6c6028a96f5a (dirtrack-directory-change-hook): New hook.
Karl Heuer <kwzh@gnu.org>
parents: 23390
diff changeset
163 :group 'dirtrack
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
164 :type 'hook)
23851
6c6028a96f5a (dirtrack-directory-change-hook): New hook.
Karl Heuer <kwzh@gnu.org>
parents: 23390
diff changeset
165
6c6028a96f5a (dirtrack-directory-change-hook): New hook.
Karl Heuer <kwzh@gnu.org>
parents: 23390
diff changeset
166
21183
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
167 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
168 ;; Functions
934132d62987 Customized.
Richard M. Stallman <rms@gnu.org>
parents: 17976
diff changeset
169 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
170
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
171
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
172 (defun dirtrack-windows-directory-function (dir)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
173 "Return a canonical directory for comparison purposes.
49549
99be3a1e2589 Cygwin support patch.
Juanma Barranquero <lekktu@gmail.com>
parents: 35967
diff changeset
174 Such a directory is all lowercase, has forward-slashes as delimiters,
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
175 and ends with a forward slash."
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
176 (file-name-as-directory (downcase (subst-char-in-string ?\\ ?/ dir))))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
177
50264
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
178 (defun dirtrack-cygwin-directory-function (dir)
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
179 "Return a canonical directory taken from a Cygwin path for comparison purposes."
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
180 (if (string-match "/cygdrive/\\([A-Z]\\)\\(.*\\)" dir)
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
181 (concat (match-string 1 dir) ":" (match-string 2 dir))
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
182 dir))
251a71560199 Remove timestamp
Peter Breton <pbreton@attbi.com>
parents: 49549
diff changeset
183
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
184
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
185 ;;;###autoload
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
186 (define-minor-mode dirtrack-mode
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
187 "Enable or disable Dirtrack directory tracking in a shell buffer.
85790
f6d6cf96529d (dirtrack-mode): Doc fix.
Glenn Morris <rgm@gnu.org>
parents: 85739
diff changeset
188 This method requires that your shell prompt contain the full
f6d6cf96529d (dirtrack-mode): Doc fix.
Glenn Morris <rgm@gnu.org>
parents: 85739
diff changeset
189 current working directory at all times, and that `dirtrack-list'
f6d6cf96529d (dirtrack-mode): Doc fix.
Glenn Morris <rgm@gnu.org>
parents: 85739
diff changeset
190 is set to match the prompt. This is an alternative to
f6d6cf96529d (dirtrack-mode): Doc fix.
Glenn Morris <rgm@gnu.org>
parents: 85739
diff changeset
191 `shell-dirtrack-mode', which works differently, by tracking `cd'
f6d6cf96529d (dirtrack-mode): Doc fix.
Glenn Morris <rgm@gnu.org>
parents: 85739
diff changeset
192 and similar commands which change the shell working directory."
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
193 nil nil nil
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
194 (if dirtrack-mode
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
195 (add-hook 'comint-preoutput-filter-functions 'dirtrack nil t)
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
196 (remove-hook 'comint-preoutput-filter-functions 'dirtrack t)))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
197
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
198 (define-obsolete-function-alias 'dirtrack-toggle 'dirtrack-mode "23.1")
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
199 (define-obsolete-variable-alias 'dirtrackp 'dirtrack-mode "23.1")
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
200
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
201
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
202 (define-minor-mode dirtrack-debug-mode
23390
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
203 "Enable or disable Dirtrack debugging."
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
204 nil nil nil
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
205 (if dirtrack-debug-mode
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
206 (display-buffer (get-buffer-create dirtrack-debug-buffer))))
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
207
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
208 (define-obsolete-function-alias 'dirtrack-debug-toggle 'dirtrack-debug-mode
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
209 "23.1")
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
210 (define-obsolete-variable-alias 'dirtrack-debug 'dirtrack-debug-mode "23.1")
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
211
23390
ce9dd8548989 Mentioned dirtrack-debug-toggle in the docs.
Karl Heuer <kwzh@gnu.org>
parents: 21183
diff changeset
212
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
213 (defun dirtrack-debug-message (string)
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
214 "Insert string at the end of `dirtrack-debug-buffer'."
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
215 (when dirtrack-debug-mode
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
216 (with-current-buffer (get-buffer-create dirtrack-debug-buffer)
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
217 (goto-char (point-max))
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
218 (insert (concat string "\n")))))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
219
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220 ;;;###autoload
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 (defun dirtrack (input)
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
222 "Determine the current directory by scanning the process output for a prompt.
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
223 The prompt to look for is the first item in `dirtrack-list'.
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
224
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
225 You can toggle directory tracking by using the function `dirtrack-mode'.
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
226
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
227 If directory tracking does not seem to be working, you can use the
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
228 function `dirtrack-debug-mode' to turn on debugging output."
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
229 (unless (or (null dirtrack-mode)
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
230 (eq (point) (point-min))) ; no output?
24355
f0b106582755 (dirtrack): Check for the prompt in the input string instead of the buffer.
Richard M. Stallman <rms@gnu.org>
parents: 23851
diff changeset
231 (let (prompt-path
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
232 (current-dir default-directory)
16960
8c56da3f7f7f (dirtrack-debug-message): Put output at end of buffer.
Richard M. Stallman <rms@gnu.org>
parents: 16817
diff changeset
233 (dirtrack-regexp (nth 0 dirtrack-list))
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
234 (match-num (nth 1 dirtrack-list))
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
235 ;; Currently unimplemented, it seems. --Stef
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
236 (multi-line (nth 2 dirtrack-list)))
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
237 (save-excursion
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
238 ;; No match
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
239 (if (not (string-match dirtrack-regexp input))
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
240 (dirtrack-debug-message
100061
18bc0d1e74ff (dirtrack): Fix error message.
Chong Yidong <cyd@stupidchicken.com>
parents: 94678
diff changeset
241 (format "Input `%s' failed to match `dirtrack-list'" input))
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
242 (setq prompt-path (match-string match-num input))
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
243 ;; Empty string
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
244 (if (not (> (length prompt-path) 0))
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
245 (dirtrack-debug-message "Match is empty string")
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
246 ;; Transform prompts into canonical forms
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
247 (setq prompt-path (funcall dirtrack-directory-function
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
248 prompt-path)
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
249 current-dir (funcall dirtrack-canonicalize-function
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
250 current-dir))
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
251 (dirtrack-debug-message
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
252 (format "Prompt is %s\nCurrent directory is %s"
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
253 prompt-path current-dir))
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
254 ;; Compare them
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
255 (if (or (string= current-dir prompt-path)
85739
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
256 (string= current-dir (abbreviate-file-name prompt-path)))
0600735b5f64 Update commentary.
Glenn Morris <rgm@gnu.org>
parents: 78236
diff changeset
257 (dirtrack-debug-message (format "Not changing directory"))
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
258 ;; It's possible that Emacs will think the directory
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
259 ;; won't exist (eg, rlogin buffers)
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
260 (if (file-accessible-directory-p prompt-path)
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
261 ;; Change directory
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
262 (and (shell-process-cd prompt-path)
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
263 (run-hooks 'dirtrack-directory-change-hook)
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
264 (dirtrack-debug-message
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
265 (format "Changing directory to %s" prompt-path)))
107046
d9ad62ffa43a Don't signal error on incorrect dirtrack regexp (Bug#5476)
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
266 (warn "Directory %s does not exist" prompt-path)))
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
267 )))))
24370
fa97a69b1d3c (dirtrack): Added docstring. Now returns input.
Richard M. Stallman <rms@gnu.org>
parents: 24355
diff changeset
268 input)
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
269
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
270 (provide 'dirtrack)
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
271
71666
743b3d313968 (dirtrack-default-directory-function): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
272 ;; arch-tag: 168de071-be88-4937-aff6-2aba9f328d5a
16817
40eaf36862f4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
273 ;;; dirtrack.el ends here