emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/uniquify.el


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/uniquify.el
Date: Wed, 07 May 2003 11:53:09 -0400

Index: emacs/lisp/uniquify.el
diff -c emacs/lisp/uniquify.el:1.44 emacs/lisp/uniquify.el:1.45
*** emacs/lisp/uniquify.el:1.44 Tue May  6 10:29:39 2003
--- emacs/lisp/uniquify.el      Wed May  7 11:53:08 2003
***************
*** 160,167 ****
  ;; uniquify-fix-list data structure
  (defstruct (uniquify-item
            (:constructor nil) (:copier nil)
!           (:constructor uniquify-make-item (base filename buffer proposed)))
!   base filename buffer proposed)
  
  ;; Internal variables used free
  (defvar uniquify-possibly-resolvable nil)
--- 160,167 ----
  ;; uniquify-fix-list data structure
  (defstruct (uniquify-item
            (:constructor nil) (:copier nil)
!           (:constructor uniquify-make-item (base dirname buffer proposed)))
!   base dirname buffer proposed)
  
  ;; Internal variables used free
  (defvar uniquify-possibly-resolvable nil)
***************
*** 251,263 ****
      (uniquify-rationalize-conflicting-sublist conflicting-sublist
                                              old-proposed depth)))
  
! (defun uniquify-get-proposed-name (base filename &optional depth)
    (unless depth (setq depth uniquify-min-dir-content))
!   (assert (equal (directory-file-name filename) filename))  ;No trailing 
slash.
  
    ;; Distinguish directories by adding extra separator.
    (if (and uniquify-trailing-separator-p
!          (file-directory-p (expand-file-name base filename))
           (not (string-equal base "")))
        (cond ((eq uniquify-buffer-name-style 'forward)
             (setq base (file-name-as-directory base)))
--- 251,263 ----
      (uniquify-rationalize-conflicting-sublist conflicting-sublist
                                              old-proposed depth)))
  
! (defun uniquify-get-proposed-name (base dirname &optional depth)
    (unless depth (setq depth uniquify-min-dir-content))
!   (assert (equal (directory-file-name dirname) dirname)) ;No trailing slash.
  
    ;; Distinguish directories by adding extra separator.
    (if (and uniquify-trailing-separator-p
!          (file-directory-p (expand-file-name base dirname))
           (not (string-equal base "")))
        (cond ((eq uniquify-buffer-name-style 'forward)
             (setq base (file-name-as-directory base)))
***************
*** 267,284 ****
  
    (let ((extra-string nil)
        (n depth))
!     (while (and (> n 0) filename)
!       (let ((file (file-name-nondirectory filename)))
!       (when (setq filename (file-name-directory filename))
!         (setq filename (directory-file-name filename)))
        (setq n (1- n))
        (push (if (zerop (length file)) ;nil or "".
!                 (prog1 "" (setq filename nil)) ;Could be `filename' iso "".
                file)
              extra-string)))
      (when (zerop n)
!       (if (and filename extra-string
!              (equal filename (file-name-directory filename)))
          ;; We're just before the root.  Let's add the leading / already.
          ;; With "/a/b"+"/c/d/b" this leads to "/a/b" and "d/b" but with
          ;; "/a/b"+"/c/a/b" this leads to "/a/b" and "a/b".
--- 267,284 ----
  
    (let ((extra-string nil)
        (n depth))
!     (while (and (> n 0) dirname)
!       (let ((file (file-name-nondirectory dirname)))
!       (when (setq dirname (file-name-directory dirname))
!         (setq dirname (directory-file-name dirname)))
        (setq n (1- n))
        (push (if (zerop (length file)) ;nil or "".
!                 (prog1 "" (setq dirname nil)) ;Could be `dirname' iso "".
                file)
              extra-string)))
      (when (zerop n)
!       (if (and dirname extra-string
!              (equal dirname (file-name-directory dirname)))
          ;; We're just before the root.  Let's add the leading / already.
          ;; With "/a/b"+"/c/d/b" this leads to "/a/b" and "d/b" but with
          ;; "/a/b"+"/c/a/b" this leads to "/a/b" and "a/b".
***************
*** 322,328 ****
            (setf (uniquify-item-proposed item)
                  (uniquify-get-proposed-name
                   (uniquify-item-base item)
!                  (uniquify-item-filename item)
                   depth)))
          (uniquify-rationalize-a-list conf-list depth))
        (unless (string= old-name "")
--- 322,328 ----
            (setf (uniquify-item-proposed item)
                  (uniquify-get-proposed-name
                   (uniquify-item-base item)
!                  (uniquify-item-dirname item)
                   depth)))
          (uniquify-rationalize-a-list conf-list depth))
        (unless (string= old-name "")




reply via email to

[Prev in Thread] Current Thread [Next in Thread]