view update-subdirs @ 103693:e094814e8eed

Virtual Info files and nodes. (Info-virtual-files, Info-virtual-nodes): New variables. (Info-current-node-virtual): New variable. (Info-virtual-file-p, Info-virtual-fun, Info-virtual-call): New functions. (Info-file-supports-index-cookies): Use Info-virtual-file-p to check for a virtual file instead of checking a fixed list of node names. (Info-find-file): Use Info-virtual-fun and Info-virtual-call instead of ad-hoc processing of "dir" and (apropos history toc). (Info-find-node-2): Use Info-virtual-fun and Info-virtual-call instead of ad-hoc processing of "dir" and (apropos history toc). Reread a file when moving from a virtual node. (add-to-list)<Info-virtual-files>: Add "\\`dir\\'". (Info-directory-toc-nodes, Info-directory-find-file) (Info-directory-find-node): New functions. (add-to-list)<Info-virtual-files>: Add "\\`\\*History\\*\\'". (Info-history): Move part of code to `Info-history-find-node'. (Info-history-toc-nodes, Info-history-find-file) (Info-history-find-node): New functions. (add-to-list)<Info-virtual-nodes>: Add "\\`\\*TOC\\*\\'". (Info-toc): Move part of code to `Info-toc-find-node'. (Info-toc-find-node): New function. (Info-toc-insert): Renamed from `Info-insert-toc'. Don't insert the current Info file name to references because now the node "*TOC*" belongs to the same Info manual. (Info-toc-build): Renamed from `Info-build-toc'. (Info-toc-nodes): Rename input argument `file' to `filename'. Use Info-virtual-fun, Info-virtual-call and Info-virtual-file-p instead of ad-hoc processing of ("dir" apropos history toc). (Info-index-nodes): Use Info-virtual-file-p to check for a virtual file instead of checking a fixed list of node names. (Info-index-node): Add check for `Info-current-node-virtual'. Raise `save-match-data' higher up the tree to contain `search-forward' too (bug fix). (add-to-list)<Info-virtual-nodes>: Add "\\`\\*Index.*\\*\\'". (Info-virtual-index-nodes): New variable. (Info-virtual-index-find-node, Info-virtual-index): New functions. (add-to-list)<Info-virtual-files>: Add "\\`\\*Apropos\\*\\'". (Info-apropos-file, Info-apropos-nodes): New variables. (Info-apropos-toc-nodes, Info-apropos-find-file) (Info-apropos-find-node, Info-apropos-matches): New functions. (info-apropos): Move part of code to `Info-apropos-find-node' and `Info-apropos-matches'. (Info-mode-map): Bind "I" to `Info-virtual-index'. (Info-desktop-buffer-misc-data): Use Info-virtual-file-p to check for a virtual file instead of checking a fixed list of node names.
author Juri Linkov <juri@jurta.org>
date Thu, 02 Jul 2009 22:47:33 +0000
parents f7624bb0bd1f
children 1d1d5d9bd884
line wrap: on
line source

#!/bin/sh
# Write into $1/subdirs.el a list of subdirs of directory $1.

# Copyright (C) 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, 2005,
#   2006, 2007, 2008, 2009  Free Software Foundation, Inc.

# This file is part of GNU Emacs.

# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.


cd $1
for file in *; do
    case $file in
	*.elc | *.el | term | RCS | CVS | Old | . | .. | =* | *~ | *.orig | *.rej)
	  ;;
	*)
	    if [ -d $file ]; then
		if [ "$file" = "obsolete" ]; then
		    subdirs="$subdirs \"$file\""
		else
		    subdirs="\"$file\" $subdirs"
		fi
	    fi
	    ;;
    esac
done

if [ "x$subdirs" = x ]; then
  rm -f subdirs.el
else
  rm -f subdirs.el~
  echo ";; -*- no-byte-compile: t -*-
;; In load-path, after this directory should come
;; certain of its subdirectories.  Here we specify them.
(normal-top-level-add-to-load-path '($subdirs))
;; Local" "Variables:
;; version-control: never
;; no-byte-compile: t
;; End:" > subdirs.el~
  if cmp "subdirs.el" "subdirs.el~" >/dev/null 2>&1; then
    :; # echo "subdirs.el unchanged";
  else
  mv subdirs.el~ subdirs.el
  fi
fi

# arch-tag: 56ebcf1b-5c30-4934-b0b4-72d374064704