/[emacs]/emacs/lisp/filesets.el
ViewVC logotype

Diff of /emacs/lisp/filesets.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by pj, Mon Apr 29 17:47:04 2002 UTC revision 1.4 by rms, Tue Apr 30 01:58:43 2002 UTC
# Line 84  Line 84 
84    
85  ;;; Some variables  ;;; Some variables
86  (eval-and-compile  (eval-and-compile
87    (unless (boundp 'filesets-running-xemacs)    (defvar filesets-running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)
88      (defvar filesets-running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)      "Non-nil means we are running XEmacs."))
       "Non-nil means we are running XEmacs.")))  
89    
90  (defvar filesets-menu-cache nil  (defvar filesets-menu-cache nil
91    "The whole filesets menu.")    "The whole filesets menu.")
# Line 97  Line 96 
96    
97  (defvar filesets-ingroup-cache nil  (defvar filesets-ingroup-cache nil
98    "A plist containing files and their ingroup data.")    "A plist containing files and their ingroup data.")
99  (defvar filesets-ingroup-paths nil  (defvar filesets-ingroup-files nil
100    "A temporary list of path already processed when searching for    "List of files already processed when searching for included files.")
 included files.")  
101    
102  (defvar filesets-has-changed-flag t  (defvar filesets-has-changed-flag t
103    "Non-nil means some fileset definition has changed.")    "Non-nil means some fileset definition has changed.")
# Line 1018  defined in `filesets-ingroup-patterns'." Line 1016  defined in `filesets-ingroup-patterns'."
1016    :group 'filesets)    :group 'filesets)
1017    
1018    
 (defun filesets-error (class &rest args)  
   "`error' wrapper."  
   (error (apply 'concat  
                 (mapcar (lambda (x) (format "%s " x))  
                         args))))  
   
1019  ;;; Emacs compatibility  ;;; Emacs compatibility
1020  (eval-and-compile  (eval-and-compile
1021    (if filesets-running-xemacs    (if filesets-running-xemacs
1022        (progn        (progn
1023            (fset 'filesets-error 'error)
1024          (fset 'filesets-add-submenu 'add-submenu))          (fset 'filesets-add-submenu 'add-submenu))
       
     (progn  
1025    
1026        (require 'easymenu)      (require 'easymenu)
1027                
1028        ;; This should work for 21.1 Emacs      (defun filesets-error (class &rest args)
1029        (defun filesets-add-submenu (menu-path submenu &optional        "`error' wrapper."
1030                                               before in-menu)        (error (mapconcat 'identity args " ")))
1031          "`easy-menu-define' wrapper."  
1032          (easy-menu-define      ;; This should work for 21.1 Emacs
1033            filesets-submenu global-map "Filesets menu" submenu))      (defun filesets-add-submenu (menu-path submenu &optional
1034        )))                                             before in-menu)
1035          "`easy-menu-define' wrapper."
1036  ;;; helper        (easy-menu-define
1037  ;(defmacro filesets-testing (feature messagep &rest body)          filesets-submenu global-map "Filesets menu" submenu))
1038  ;  (cond      ))
 ;   ((equal filesets-version "testing")  
 ;    `(progn ,@body))  
 ;   (messagep  
 ;    (message "Filestats: feature `%s' is disabled." feature)  
 ;    nil)  
 ;   (t  
 ;    nil)))  
   
 ;(defun filesets-not-yet-implemented (feature)  
 ;  (message "Filestats: `%s' is not yet implemented." feature))  
1039    
1040  (defun filesets-filter-dir-names (lst &optional negative)  (defun filesets-filter-dir-names (lst &optional negative)
1041    "Remove non-directory names from a list of strings. If NEGATIVE is    "Remove non-directory names from a list of strings. If NEGATIVE is
# Line 1352  not be opened." Line 1333  not be opened."
1333          (filesets-spawn-external-viewer file external-viewer-def)          (filesets-spawn-external-viewer file external-viewer-def)
1334        (filesets-find-file file))))        (filesets-find-file file))))
1335    
1336  (defun fsfind-file-using ()  (defun filesets-find-file-using ()
1337    "Select a viewer and call `filesets-find-or-display-file'."    "Select a viewer and call `filesets-find-or-display-file'."
1338    (interactive)    (interactive)
1339    (let* ((lst (mapcar (lambda (this)    (let* ((lst (mapcar (lambda (this)
# Line 2040  LOOKUP-NAME is used as lookup name for r Line 2021  LOOKUP-NAME is used as lookup name for r
2021                                   (not (member f flist))                                   (not (member f flist))
2022                                   (or (not remdupl-flag)                                   (or (not remdupl-flag)
2023                                       (not (member*                                       (not (member*
2024                                             f filesets-ingroup-paths                                             f filesets-ingroup-files
2025                                             :test 'filesets-files-equalp))))                                             :test 'filesets-files-equalp))))
2026                          (let ((no-stub-flag                          (let ((no-stub-flag
2027                                 (and (not this-stub-flag)                                 (and (not this-stub-flag)
# Line 2049  LOOKUP-NAME is used as lookup name for r Line 2030  LOOKUP-NAME is used as lookup name for r
2030                                        t))))                                        t))))
2031                            (setq count (+ count 1))                            (setq count (+ count 1))
2032                            (setq flist (cons f flist))                            (setq flist (cons f flist))
2033                            (setq filesets-ingroup-paths                            (setq filesets-ingroup-files
2034                                  (cons f filesets-ingroup-paths))                                  (cons f filesets-ingroup-files))
2035                            (when no-stub-flag                            (when no-stub-flag
2036                              (filesets-ingroup-cache-put master f))                              (filesets-ingroup-cache-put master f))
2037                            (setq lst (append lst (list f))))))))                            (setq lst (append lst (list f))))))))
# Line 2121  FS is a fileset's name. FLIST is a list Line 2102  FS is a fileset's name. FLIST is a list
2102    "Build a :ingroup submenu for file MASTER."    "Build a :ingroup submenu for file MASTER."
2103    (if (file-readable-p master)    (if (file-readable-p master)
2104        (let ((remdupl-flag  (filesets-ingroup-get-remdupl-p master)))        (let ((remdupl-flag  (filesets-ingroup-get-remdupl-p master)))
2105          (setq filesets-ingroup-paths (list master))          (setq filesets-ingroup-files (list master))
2106          (filesets-ingroup-collect lookup-name remdupl-flag master))          (filesets-ingroup-collect lookup-name remdupl-flag master))
2107      (if filesets-be-docile-flag      (if filesets-be-docile-flag
2108          (progn          (progn

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26