changeset 23390:ce9dd8548989

Mentioned dirtrack-debug-toggle in the docs. Added note about running shells as other users or on other machines. (dirtrack-debug-toggle): Added this function.
author Karl Heuer <kwzh@gnu.org>
date Tue, 06 Oct 1998 23:41:18 +0000
parents f6d920229f4c
children 4120f9e06191
files lisp/dirtrack.el
diffstat 1 files changed, 23 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dirtrack.el	Tue Oct 06 23:35:50 1998 +0000
+++ b/lisp/dirtrack.el	Tue Oct 06 23:41:18 1998 +0000
@@ -59,7 +59,8 @@
 ;; 
 ;; Determining this information may take some experimentation. Setting
 ;; the variable `dirtrack-debug' may help; it causes the directory-tracking
-;; filter to log messages to the buffer `dirtrack-debug-buffer'.
+;; filter to log messages to the buffer `dirtrack-debug-buffer'. You can easily
+;; toggle this setting with the `dirtrack-debug-toggle' function.
 ;; 
 ;; 3) Add a hook to shell-mode to enable the directory tracking:
 ;;
@@ -99,6 +100,19 @@
 ;;   
 ;;   This saves me from having to use the %E prefix in other non-emacs
 ;;   shells.
+;;
+;; A final note:
+;; 
+;;   I run LOTS of shell buffers through Emacs, sometimes as different users (eg, when
+;;   logged in as myself, I'll run a root shell in the same Emacs). If you do this, and
+;;   the shell prompt contains a ~, Emacs will interpret this relative to the user which
+;;   owns the Emacs process, not the user who owns the shell buffer. This may cause
+;;   dirtrack to behave strangely (typically it reports that it is unable to cd to a directory
+;;   with a ~ in it).
+;;
+;;   The same behavior can occur if you use dirtrack with remote filesystems (using telnet,
+;;   rlogin, etc) as Emacs will be checking the local filesystem, not the remote one.
+;;   This problem is not specific to dirtrack, but also affects file completion, etc.
 
 ;;; Code:
 
@@ -215,6 +229,14 @@
   (setq dirtrackp (not dirtrackp))
   (message "Directory tracking %s" (if dirtrackp "ON" "OFF")))
 
+(defun dirtrack-debug-toggle ()
+  "Enable or disable Dirtrack debugging."
+  (interactive)
+  (setq dirtrack-debug (not dirtrack-debug))
+  (message "Directory debugging %s" (if dirtrack-debug "ON" "OFF"))
+  (and dirtrack-debug
+       (display-buffer (get-buffer-create dirtrack-debug-buffer))))
+
 (defun dirtrack-debug-message (string)
   (let ((buf (current-buffer))
 	(debug-buf (get-buffer-create dirtrack-debug-buffer))