comparison lisp/cus-edit.el @ 89909:68c22ea6027c

Sync to HEAD
author Kenichi Handa <handa@m17n.org>
date Fri, 16 Apr 2004 12:51:06 +0000
parents 375f2633d815
children 4c90ffeb71c5
comparison
equal deleted inserted replaced
89908:ee1402f7b568 89909:68c22ea6027c
1 ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages 1 ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
2 ;; 2 ;;
3 ;; Copyright (C) 1996,97,1999,2000,01,02,2003 Free Software Foundation, Inc. 3 ;; Copyright (C) 1996,97,1999,2000,01,02,03,2004 Free Software Foundation, Inc.
4 ;; 4 ;;
5 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk> 5 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
6 ;; Maintainer: FSF 6 ;; Maintainer: FSF
7 ;; Keywords: help, faces 7 ;; Keywords: help, faces
8 8
72 "Various sorts of searching and matching." 72 "Various sorts of searching and matching."
73 :group 'editing) 73 :group 'editing)
74 74
75 (defgroup emulations nil 75 (defgroup emulations nil
76 "Emulations of other editors." 76 "Emulations of other editors."
77 :link '(custom-manual "(emacs)Emulation")
77 :group 'editing) 78 :group 'editing)
78 79
79 (defgroup mouse nil 80 (defgroup mouse nil
80 "Mouse support." 81 "Mouse support."
81 :group 'editing) 82 :group 'editing)
85 :group 'editing) 86 :group 'editing)
86 87
87 (defgroup external nil 88 (defgroup external nil
88 "Interfacing to external utilities." 89 "Interfacing to external utilities."
89 :group 'emacs) 90 :group 'emacs)
90
91 (defgroup bib nil
92 "Code related to the `bib' bibliography processor."
93 :tag "Bibliography"
94 :group 'external)
95 91
96 (defgroup processes nil 92 (defgroup processes nil
97 "Process, subshell, compilation, and job control support." 93 "Process, subshell, compilation, and job control support."
98 :group 'external 94 :group 'external
99 :group 'development) 95 :group 'development)
115 :group 'languages 111 :group 'languages
116 :group 'development) 112 :group 'development)
117 113
118 (defgroup c nil 114 (defgroup c nil
119 "Support for the C language and related languages." 115 "Support for the C language and related languages."
116 :link '(custom-manual "(ccmode)")
120 :group 'languages) 117 :group 'languages)
121 118
122 (defgroup tools nil 119 (defgroup tools nil
123 "Programming tools." 120 "Programming tools."
124 :group 'programming) 121 :group 'programming)
139 "Modes for electronic-mail handling." 136 "Modes for electronic-mail handling."
140 :group 'applications) 137 :group 'applications)
141 138
142 (defgroup news nil 139 (defgroup news nil
143 "Support for netnews reading and posting." 140 "Support for netnews reading and posting."
141 :link '(custom-manual "(gnus)")
144 :group 'applications) 142 :group 'applications)
145 143
146 (defgroup games nil 144 (defgroup games nil
147 "Games, jokes and amusements." 145 "Games, jokes and amusements."
148 :group 'applications) 146 :group 'applications)
193 "Support code for vms." 191 "Support code for vms."
194 :group 'environment) 192 :group 'environment)
195 193
196 (defgroup i18n nil 194 (defgroup i18n nil
197 "Internationalization and alternate character-set support." 195 "Internationalization and alternate character-set support."
196 :link '(custom-manual "(emacs)International")
198 :group 'environment 197 :group 'environment
199 :group 'editing) 198 :group 'editing)
200 199
201 (defgroup x nil 200 (defgroup x nil
202 "The X Window system." 201 "The X Window system."
243 :group 'emacs) 242 :group 'emacs)
244 243
245 (defgroup customize '((widgets custom-group)) 244 (defgroup customize '((widgets custom-group))
246 "Customization of the Customization support." 245 "Customization of the Customization support."
247 :link '(custom-manual "(elisp)Customization") 246 :link '(custom-manual "(elisp)Customization")
248 :link '(url-link :tag "(Old?) Development Page"
249 "http://www.dina.kvl.dk/~abraham/custom/")
250 :prefix "custom-" 247 :prefix "custom-"
251 :group 'help) 248 :group 'help)
252 249
253 (defgroup custom-faces nil 250 (defgroup custom-faces nil
254 "Faces used by customize." 251 "Faces used by customize."
270 :prefix "custom-" 267 :prefix "custom-"
271 :group 'customize) 268 :group 'customize)
272 269
273 (defgroup abbrev-mode nil 270 (defgroup abbrev-mode nil
274 "Word abbreviations mode." 271 "Word abbreviations mode."
272 :link '(custom-manual "(emacs)Abbrevs")
275 :group 'abbrev) 273 :group 'abbrev)
276 274
277 (defgroup alloc nil 275 (defgroup alloc nil
278 "Storage allocation and gc for GNU Emacs Lisp interpreter." 276 "Storage allocation and gc for GNU Emacs Lisp interpreter."
279 :tag "Storage Allocation" 277 :tag "Storage Allocation"
280 :group 'internal) 278 :group 'internal)
281 279
282 (defgroup undo nil 280 (defgroup undo nil
283 "Undoing changes in buffers." 281 "Undoing changes in buffers."
282 :link '(custom-manual "(emacs)Undo")
284 :group 'editing) 283 :group 'editing)
285 284
286 (defgroup modeline nil 285 (defgroup modeline nil
287 "Content of the modeline." 286 "Content of the modeline."
288 :group 'environment) 287 :group 'environment)
289 288
290 (defgroup fill nil
291 "Indenting and filling text."
292 :group 'editing)
293
294 (defgroup editing-basics nil 289 (defgroup editing-basics nil
295 "Most basic editing facilities." 290 "Most basic editing facilities."
296 :group 'editing) 291 :group 'editing)
297 292
298 (defgroup display nil 293 (defgroup display nil
319 "Debugging Emacs itself." 314 "Debugging Emacs itself."
320 :group 'development) 315 :group 'development)
321 316
322 (defgroup minibuffer nil 317 (defgroup minibuffer nil
323 "Controling the behaviour of the minibuffer." 318 "Controling the behaviour of the minibuffer."
319 :link '(custom-manual "(emacs)Minibuffer")
324 :group 'environment) 320 :group 'environment)
325 321
326 (defgroup keyboard nil 322 (defgroup keyboard nil
327 "Input from the keyboard." 323 "Input from the keyboard."
328 :group 'environment) 324 :group 'environment)
347 "MULE Emacs internationalization." 343 "MULE Emacs internationalization."
348 :group 'i18n) 344 :group 'i18n)
349 345
350 (defgroup windows nil 346 (defgroup windows nil
351 "Windows within a frame." 347 "Windows within a frame."
348 :link '(custom-manual "(emacs)Windows")
352 :group 'environment) 349 :group 'environment)
353 350
354 ;;; Utilities. 351 ;;; Utilities.
355 352
356 (defun custom-quote (sexp) 353 (defun custom-quote (sexp)
1952 If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"." 1949 If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"."
1953 (let ((name (widget-value widget)) 1950 (let ((name (widget-value widget))
1954 (type (widget-type widget)) 1951 (type (widget-type widget))
1955 (buttons (widget-get widget :buttons)) 1952 (buttons (widget-get widget :buttons))
1956 (start (point)) 1953 (start (point))
1957 found) 1954 (parents nil))
1958 (insert (or initial-string "Parent groups:")) 1955 (insert (or initial-string "Parent groups:"))
1959 (mapatoms (lambda (symbol) 1956 (mapatoms (lambda (symbol)
1960 (let ((entry (assq name (get symbol 'custom-group)))) 1957 (let ((entry (assq name (get symbol 'custom-group))))
1961 (when (eq (nth 1 entry) type) 1958 (when (eq (nth 1 entry) type)
1962 (insert " ") 1959 (insert " ")
1963 (push (widget-create-child-and-convert 1960 (push (widget-create-child-and-convert
1964 widget 'custom-group-link 1961 widget 'custom-group-link
1965 :tag (custom-unlispify-tag-name symbol) 1962 :tag (custom-unlispify-tag-name symbol)
1966 symbol) 1963 symbol)
1967 buttons) 1964 buttons)
1968 (setq found t))))) 1965 (setq parents (cons symbol parents))))))
1966 (and (null (get name 'custom-links)) ;No links of its own.
1967 (= (length parents) 1) ;A single parent.
1968 (let* ((links (get (car parents) 'custom-links))
1969 (many (> (length links) 2)))
1970 (when links
1971 (insert "\nParent documentation: ")
1972 (while links
1973 (push (widget-create-child-and-convert widget (car links))
1974 buttons)
1975 (setq links (cdr links))
1976 (cond ((null links)
1977 (insert ".\n"))
1978 ((null (cdr links))
1979 (if many
1980 (insert ", and ")
1981 (insert " and ")))
1982 (t
1983 (insert ", ")))))))
1984 (if parents
1985 (insert "\n")
1986 (delete-region start (point)))
1969 (widget-put widget :buttons buttons) 1987 (widget-put widget :buttons buttons)
1970 (if found 1988 parents))
1971 (insert "\n")
1972 (delete-region start (point)))
1973 found))
1974 1989
1975 ;;; The `custom-comment' Widget. 1990 ;;; The `custom-comment' Widget.
1976 1991
1977 ;; like the editable field 1992 ;; like the editable field
1978 (defface custom-comment-face '((((class grayscale color) 1993 (defface custom-comment-face '((((class grayscale color)
4109 4124
4110 ;;; The End. 4125 ;;; The End.
4111 4126
4112 (provide 'cus-edit) 4127 (provide 'cus-edit)
4113 4128
4129 ;;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f
4114 ;;; cus-edit.el ends here 4130 ;;; cus-edit.el ends here