23569
package.el で、 MELPA に登録されているようなパッケージ(具体的には、
[docker.el](https://github.com/Silex/docker.el))を、手元にクローンしてから利用しようと考えています。理由は、適宜修正を入れながら
(そして、PR を送ったりしながら) パッケージを利用したいからです。

手元にレポジトリを落としてきて、そのパスを load-path に加えた状態なのですが、  
このままだと、 `require` しないと、該当機能を利用することができません。  
できれば、 autoload で必要に応じて、 load するようにしたいです。

このパッケージの関数定義には、 `autoload` の magic comment が付与されているので、  
どうにかすれば、このパッケージの autoload するべき関数を、  
autoload の対象として登録できると思っています。

質問:

  * ローカルで git clone したパッケージの、`;;;###autoload` が付与された関数を、autoload の対象にするにはどうしたらいいでしょうか？
CC BY-SA 3.0
2016-03-28T14:35:30.083
23558
2016-03-28T16:57:29.167
754
question
elisp
clone したパッケージの autoload だけを読み込むには？
`update-directory-autoloads` という関数が用意されているので、これで `*_autoloads.el` を生成します。仮に
`docker.el` リポジトリを `/home/nemo/` に clone したとします。

```

    (let ((generated-autoload-file "/home/nemo/docker.el/docker_autoloads.el"))
      (update-directory-autoloads "/home/nemo/docker.el"))
    
```

上記を実行するとリポジトリ内のファイルから `magic comment(";;;### autoloads")` を抽出して
`docker_autoloads.el` に出力します。

**docker_autoloads.el**

```

    ;;; docker_autoloads.el --- automatically extracted autoloads
    ;;
    ;;; Code:
    
    ;;;### (autoloads nil "docker" "docker.el" t)
    ;;; Generated autoloads from docker.el
                            :
    
    (provide 'docker_autoloads)
                            :
    
```

もっとも、最終的にはこの `docker_autoloads.el` を load する必要はありますが。

```

    (require 'docker_autoloads)
    
```
CC BY-SA 3.0
2016-03-28T16:57:29.167
23569
2016-03-28T16:57:29.167
23558
answer