Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
521a54c5
Commit
521a54c5
authored
May 17, 2013
by
Glenn Morris
Browse files
* lisp/cus-dep.el (custom-make-dependencies): Sort the output.
(custom-versions-load-alist): Convert comment to doc.
parent
a21ba35d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
41 deletions
+50
-41
lisp/ChangeLog
lisp/ChangeLog
+5
-0
lisp/cus-dep.el
lisp/cus-dep.el
+45
-41
No files found.
lisp/ChangeLog
View file @
521a54c5
2013-05-18 Glenn Morris <rgm@gnu.org>
* cus-dep.el (custom-make-dependencies): Sort the output.
(custom-versions-load-alist): Convert comment to doc.
2013-05-17 Leo Liu <sdl.web@gmail.com>
* newcomment.el (comment-search-backward): Stricter in finding
...
...
lisp/cus-dep.el
View file @
521a54c5
...
...
@@ -121,36 +121,32 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS"
(insert (autoload-rubric generated-custom-dependencies-file
"
custom
dependencies
" t))
(search-backward "
")
(
mapatoms (lambda (symbol
)
(
let ((members (get symbol 'custom-group)
)
where found
)
(when members
(
dolist (
member
;; So x and no-x builds won't differ.
(sort (mapcar 'car members) 'string<
))
(setq where (get member 'custom-
where)
)
(
unless (or (null where
)
(member
where found))
(push
whe
re
found
)))
(when found
(
insert "
(
put
'
" (symbol-name symbol)
"
'custom-loads
'
"
)
(prin1 (nreverse found) (current-buffer
))
(insert
"
)
\n
")))
)))
(
let (alist
)
(
mapatoms (lambda (symbol
)
(let ((members (get symbol 'custom-group)
)
where found)
(
when
member
s
(dolist (member (mapcar 'car members))
(setq where (get member 'custom-where
))
(unless (or (null
where)
(
member where found)
)
(push
where found))
)
(
whe
n
found
(push (cons (symbol-name symbol)
(
with-output-to-string
(prin1 (sort found 'string<)))) alist)))))
)
(dolist (e (sort alist (lambda (e1 e2) (string< (car e1) (car e2)))
))
(insert "
(
put
'
" (car e) "
'custom-loads
'
" (cdr e)
"
)
\n
")))
(insert "
\
;; These are for handling :version. We need to have a minimum of
;; information so `customize-changed-options' could do its job.
;; The remainder of this file is for handling :version.
;; We provide a minimum of information so that `customize-changed-options'
;; can do its job.
;; For groups we set `custom-version', `group-documentation' and
;; `custom-tag' (which are shown in the customize buffer), so we
;; don't have to load the file containing the group.
;; `custom-versions-load-alist' is an alist that has as car a version
;; number and as elts the files that have variables or faces that
;; contain that version. These files should be loaded before showing
;; the customization buffer that `customize-changed-options'
;; generates.
;; This macro is used so we don't modify the information about
;; variables and groups if it's already set. (We don't know when
;; " (file-name-nondirectory generated-custom-dependencies-file)
...
...
@@ -161,7 +157,8 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS"
(put ,symbol ,propname ,value)))
"
)
(
let
((
version-alist
nil
))
(
let
((
version-alist
nil
)
groups
)
(
mapatoms
(
lambda
(
symbol
)
(
let
((
version
(
get
symbol
'custom-version
))
where
)
...
...
@@ -179,25 +176,32 @@ Usage: emacs -batch -l ./cus-dep.el -f custom-make-dependencies DIRS"
(
push
where
(
cdr
(
assoc
version
version-alist
))))
(
push
(
list
version
where
)
version-alist
)))
;; This is a group
(
insert
"(custom-put-if-not '"
(
symbol-name
symbol
)
" 'custom-version "
)
(
prin1
version
(
current-buffer
))
(
insert
")\n"
)
(
insert
"(custom-put-if-not '"
(
symbol-name
symbol
))
(
insert
" 'group-documentation "
)
(
prin1
(
get
symbol
'group-documentation
)
(
current-buffer
))
(
insert
")\n"
)
(
when
(
get
symbol
'custom-tag
)
(
insert
"(custom-put-if-not '"
(
symbol-name
symbol
))
(
insert
" 'custom-tag "
)
(
prin1
(
get
symbol
'custom-tag
)
(
current-buffer
))
(
insert
")\n"
))
))))))
(
push
(
list
(
symbol-name
symbol
)
(
with-output-to-string
(
prin1
version
))
(
with-output-to-string
(
prin1
(
get
symbol
'group-documentation
)))
(
if
(
get
symbol
'custom-tag
)
(
with-output-to-string
(
prin1
(
get
symbol
'custom-tag
)))))
groups
)))))))
(
dolist
(
e
(
sort
groups
(
lambda
(
e1
e2
)
(
string<
(
car
e1
)
(
car
e2
)))))
(
insert
"(custom-put-if-not '"
(
car
e
)
" 'custom-version '"
(
nth
1
e
)
")\n"
)
(
insert
"(custom-put-if-not '"
(
car
e
)
" 'group-documentation "
(
nth
2
e
)
")\n"
)
(
if
(
nth
3
e
)
(
insert
"(custom-put-if-not '"
(
car
e
)
" 'custom-tag "
(
nth
3
e
)
")\n"
)))
(
insert
"\n(defvar custom-versions-load-alist "
(
if
version-alist
"'"
""
))
(
prin1
version-alist
(
current-buffer
))
(
insert
"\n \"For internal use by custom.\")\n"
))
(
prin1
(
sort
version-alist
(
lambda
(
e1
e2
)
(
version<
(
car
e1
)
(
car
e2
))))
(
current-buffer
))
(
insert
"\n \"For internal use by custom.
This is an alist whose members have as car a version string, and as
elements the files that have variables or faces that contain that
version. These files should be loaded before showing the customization
buffer that `customize-changed-options' generates.\")\n\n"
))
(
save-buffer
)
(
message
"Generating %s...done"
generated-custom-dependencies-file
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment