* custom.el (custom-push-theme): Clarify docstring. VALUE nil for
reset means to remove setting from theme entirely. Don't keep
expanding theme-settings list; delete old entries if necessary.
* cus-edit.el (custom-buffer-create-internal): Move "Erase
customization" button one line up.
(custom-themed): New face.
(custom-magic-alist): New value, THEMED, for theme settings.
(custom-variable-state-set): Check theme-value.
(custom-variable-reset-standard, custom-face-reset-standard):
Remove theme setting entirely.
(custom-buffer-create-internal): Reword the top-of-buffer help intro.
Don't include buttons that write a file when there's no file.
(custom-variable-menu, custom-face-menu, custom-group-menu):
Don't include commands that write a file when there's no file.
different aliases. No longer list user options that are not defined
with defcustom (unless a prefix arg is given). Doc fix.
(customize-apropos-options): Doc fix.
Filter out autoloaded options from the group completion list by
using heuristics that autoloaded groups don't have `custom-autoload'
property on their symbols (they have only `custom-loads').
buffers correctly. (It used to throw an error in such buffers.)
Make it ask for confirmation in group buffers and other Custom
buffers containing more than one customization item.
`(fringe custom-face)' shadowed `(fringe custom-group)'
in the custom-group property of the symbol frames and the
fringe group got no link to its parent group frames.
Doc fix.
(custom-raised-buttons): Add :set spec.
(custom-button-unraised, custom-button-pressed-unraised): New
faces, so that custom-raised-buttons actually does something.
(custom-mode): Use custom-button and custom-button-pressed.
* wid-edit.el (widget-specify-button): Don't ignore
widget-mouse-face on graphic terminals.
(widget-move-and-invoke): Cleanup.
buffers. Mention there that saving an option edits the init file.
Add link to Emacs manual node on `custom-file'.
(custom-magic-alist): Rewrite individual State messages to use
capitalized keywords. Doc fix.
(custom-magic-alist): Change the status descriptions again.
(face widget-type): Total rewrite based on `restricted-sexp'
to eliminate the confusing double hiding levels.
(custom-buffer-create, custom-buffer-create-other-window)
(customize-browse): Use it instead of killing buffers.
(custom-bury-buffer): Obey the argument.
(custom-variable-reset-saved, custom-variable-reset-standard):
Remove unused var `comment-widget'.
(custom-face-edit-deactivate): Remove unused var `to'.
(custom-save-variables): Remove unused var `sep'.
Remove unnecessary calls to custom-load-symbol.
(custom-group-value-create):
Load widget deps if state is not hidden. If widget deps are
loaded, load them in advance.
(custom-menu-create): If widget deps are loaded, load them earlier.
(customize-option): Remove search in loaddefs.el.
(customize-apropos): Use custom-variable-p.
(custom-save-variables): Use custom-variable-p to detect non-rogue variables.
(custom-variable-save): Take themes into account.
(custom-variable-reset-saved): Add comment-widget.
(custom-variable-reset-standard): Add comment-widget.
(custom-variable-reset-standard): Take themes into account.
(custom-face-save): Take themes into account.
(custom-face-reset-standard): Take themes into account.
(custom-save-variables): Take themes into account.
(custom-save-faces): Take themes into account.
(custom-save-faces): Take themes into account.
(custom-save-resets): New function.
(custom-save-loaded-themes): New function.
(customize-save-customized): Take themes into account.
the -p prefix from variables since they shouldn't have it anyway.
(custom-group-menu-create, customize-menu-create):
Only cdr if applicable, since custom-menu-create might return
a vector (i.e. a single menu entry).
Say "Show Value", not just "Show". Also "Hide Value".
Output a newline before the doc string.
(custom-face-value-create): Say "Show Face" and "Hide Face".
(Custom-reset-standard): Use it.
(custom-variable, custom-face): Define it.
(custom-variable-standard-value, custom-face-standard-value): New fns.
(custom-face-save): Don't save a face whose value is standard.
(custom-save-faces): Use SYMBOL, not 'default, to set NOW and COMMENT.
(custom-face-edit-fix-value): If VALUE is not a list, pass it thru.
(custom-face-edit-deactivate, custom-face-edit-activate)
(custom-face-edit-delete, custom-face-edit-attribute-tag):
New functions.
(custom-face-edit): Specify a custom :convert-widget.
(custom-pre-filter-face-spec, custom-post-filter-face-spec):
Don't pass in default filters that map between `nil' and `off' and
`unspecified' and `nil'.
(custom-post-filter-face-spec): New functions.
(custom-face-set, custom-face-value-create): Filter the face spec
before and after customization.
(custom-face-set): If VALUE specifies a null face, pass a
non-null-but-otherwise-ignored face-spec instead to `face-spec-set'.
2000-10-23 Andrew Choi <akochoi@i-cable.com>
* dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
* dispnew.c [macintosh]: Include macterm.h.
(init_display) [macintosh]: initialization for window system.
* emacs.c (main) [macintosh]: Call syms_of_textprop,
syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
syms_of_search, x_term_init, and init_keyboard before calling
init_window_once. Also, call syms_of_xmenu.
* fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
default fontset to Monaco.
* frame.c [macintosh]: Include macterm.h. Remove declarations of
NewMacWindow and DisposeMacWindow.
(make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
instead of calling NewMacWindow and setting fields of
f->output_data.mac directly. Call init_frame_faces.
(Fdelete_frame) [macintosh]: Remove unused code.
(Fmodify_frame_parameters) [macintosh]: Call
x_set_frame_parameters instead of mac_set_frame_parameters.
* frame.h [macintosh]: Define menu_bar_lines field in struct
frame. Define FRAME_EXTERNAL_MENU_BAR macro.
* keyboard.c [macintosh]: Include macterm.h.
(kbd_buffer_get_event) [macintosh]: Generate delete_window_event
and menu_bar_activate_event type events as for X and NT.
(make_lispy_event) [macintosh]: Construct lisp events of type
MENU_BAR_EVENT as for X and NT.
* sysdep.c [macintosh]: Remove declaration for sys_signal.
Include stdlib.h. Remove definition of Vx_bitmap_file_path.
(sys_subshell) [macintosh]: Remove definition entirely.
(init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
Vwindow_system_version here. Remove initialization of
Vx_bitmap_file_path.
(read_input_waiting): Correct the number of parameters passed to
read_socket_hook.
Move all Macintosh functions to mac/mac.c.
* term.c [macintosh]: Include macterm.h.
* window.c [macintosh]: Include macterm.h.
* xdisp.c [macintosh]: Include macterm.h. Declare
set_frame_menubar and pending_menu_activation.
(echo_area_display) [macintosh]: Do not return if terminal frame
is the selected frame.
(update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
Allow only the selected frame to set menu bar.
(redisplay_window) [macintosh]: Obtain menu bar to redisplay by
calling FRAME_EXTERNAL_MENU_BAR (f).
(display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
* xfaces.c [macintosh]: Include macterm.h. Define x_display_info
and check_x. Declare XCreateGC. Define x_create_gc and
x_free_gc. Initialize font_sort_order.
(x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
but call x_list_fonts instead of w32_list_fonts.
(Finternal_face_x_get_resource) [macintosh]: Do not call
display_x_get_resource.
(prepare_face_for_display) [macintosh]: Set xgcv.font.
(realize_x_face) [macintosh]: Load the font if it is specified in
ATTRS.
(syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
to Qt.
* cus-edit.el (custom-button-face): Use 3D look for mac.
(custom-button-pressed-face): Likewise.
* faces.el (set-face-attributes-from-resources): Handle mac frames
in the same way as x and w32 frames.
(face-valid-attribute-values): Likewise.
(read-face-attribute): Likewise.
(defined-colors): Likewise.
(color-defined-p): Likewise.
(color-values): Likewise.
(display-grayscale-p): Likewise.
(face-set-after-frame-default): Likewise.
(mode-line): Same default face as for x and w32.
(tool-bar): Likewise.
* frame.el: Remove call to frame-notice-user-settings at end of
the file.
* info.el (Info-fontify-node): make underlines invisible for mac
as for x, pc, and w32 frame types.
* term/mac-win.el: New file.
default face's height is not a number.
(custom-face-tag-face, custom-group-tag-face-1)
(custom-group-tag-face): Ditto.
(custom-group-tag-face-1): Add :group.
(customize-set-variable, customize-save-variable): Rename args for
doc.
(custom-variable-tag-face, custom-face-tag-face)
(custom-group-tag-face-1, custom-group-tag-face): Modify from
style which user identify as hyperlink.
(hook): Don't add undefined functions to the hook.
(debug-ignored-errors): Transfer message from bindings.el.
leave point where the first occurrence was.
(custom-save-faces): Insert a newline at the end of the comment.
Avoid a double newline there.
If final closeparen is at bol, put a space before it.
(custom-save-variables): Likewise.
(custom-file): Doc fix.
(custom-comment-create, custom-comment-show)
(custom-comment-invisible-p): Don't use :comment-overlay.
(custom-comment-hide): New function.
(custom-variable-set, custom-variable-save)
(custom-variable-reset-standard, custom-face-set)
(custom-face-save): Use it.
(multimedia): New group.
(custom-last): Function removed.
(custom-quote): Add vectorp case, comment out characterp case.
(custom-buffer-done-function, custom-raised-buttons): New option.
(Custom-buffer-done): New function.
(custom-buffer-create-internal): Obey custom-raised-buttons,
Custom-buffer-done.
(custom-button-face): Make it `released-button'.
(custom-button-pressed-face): Make it `pressed-button'
(custom-mode-map): Bind "q" to Custom-buffer-done.
(custom-mode): Deal with raised/pressed buttons.
Changes from Didier Verna:
(custom-prompt-variable): Optional third arg makes prompt for a comment
string.
(customize-set-value, customize-set-variable, customize-save-variable):
Optional prefix makes function handle variable comments.
(customize-customized, customize-saved, custom-variable-state-set)
(custom-variable-set, custom-variable-save, custom-face-state-set)
(custom-variable-reset-saved, custom-variable-reset-standard)
(custom-face-set, custom-face-save, custom-face-reset-saved)
(custom-face-reset-standard, customize-save-customized): Handle custom
comments.
(custom-comment-face, custom-comment-tag-face): New face.
(custom-comment): New widget.
(custom-comment-create, custom-comment-delete)
(custom-comment-value-set, custom-comment-show)
()custom-comment-invisible-p): New functions.
(custom-variable-value-create, custom-face-value-create): Create a
comment field widget.
(custom-variable-menu, custom-face-menu): New entry for custom comment.
(custom-face-value-create): Remove compatibility code.
(custom-save-variables, custom-save-faces): Possibly save custom comments.
(custom-buffer-create, custom-buffer-create-other-window)
(customize-browse): Use pop-to-buffer.
(same-window-regexps): Add autoload to add regexp to match custom bfrs.
related variables added.
(custom-variable-default-form): New variable controlling default
display form for customization of variables.
(custom-variable): widget `:form' is nil before initialization.
(custom-variable-value-create): Initialize `:form' to
`custom-variable-default-form'.
(custom-face-default-form): New variable controlling default
display form for customization of faces.
(custom-face): widget `:form' is nil before initialization.
(custom-face-value-create): Initialize `:form' to
`custom-face-default-form'.
is inserted in the buffer to describe it.
(custom-buffer-create-other-window, custom-buffer-create):
New arg DESCRIBE; pass it along.
(customize-group): Pass DESCRIBE argument.
(custom-face-menu): Improve Set and Save item strings.
(custom-group-menu): Likewise.
(custom): Don't set :button-face.
(custom-mode): Use custom-button-face here
as buffer-local value of widget-button-face.
(custom-mode): Use custom-documentation-face for doc strings.
(custom-group-link): Fix the help string.
(custom-magic-show): Doc fix.
(custom-group-value-create): In links style,
use Go to Group instead of Show.
(Custom-goto-parent): New command.
(custom-mode-map): Bind u to Custom-goto-parent.
Bind SPC and DEL.
(custom-buffer-create-internal): Improve help for buttons.
(custom-button-face): New defface.
(custom widget-type): Use custom-button-face for buttons.
(custom-group-tag-faces): Initial value is nil.
(custom-variable-tag-face): Renamed from custom-variable-sample-face.
Initialize it like custom-group-tag-face.
(custom-group-tag-faces): Initialize to nil.
(custom-state-face): New defface.
(custom-magic-value-create):
Use custom-state-face for long State descriptions.
(custom-state-buffer-message): Display the message
only if the item is modified. Take widget as arg.
(custom-mode): Use widget-edit-functions.
(Custom-save): Renamed from custom-save.
(custom-browse-sort-predicate): Defalias deleted.
(custom-group-value-create): Don't sort, in tree mode.
(Custom-mode-menu): Renamed from custom-mode-menu.
(Custom-reset-current): Renamed from custom-reset-current.
(Custom-reset-saved): Renamed from custom-reset-saved.
(Custom-reset-standard): Renamed from custom-reset-standard.
(Custom-menu-update): Renamed from custom-menu-update.
(customize-set-value): Renamed from custom-set-value.
(customize-set-variable): Renamed from custom-set-variable.
moved from wid-edit.el and renamed from group-visibility.
(custom-group-visibility-create): Function renamed
and moved from wid-edit.el.
(custom-state-buffer-message): New function.
(custom-mode): Add custom-state-buffer-message to widget-edit-hook.
(custom-group): Don't insert a space before the group name here.
(customize-group): If buffer exists, use it unchanged.
(custom-format-handler) <L>: Maybe make a group-link widget
instead of a group-visibility widget.
custom-nest-groups controls this.
<l, i, e>: Indent differently if custom-nest-groups.
(custom-buffer-create-internal): Put parent groups near the top.
(custom-format-handler) <L>: Use group-visibility.
<L, i, - cases>: Triple the indentation, use just 2 dashes.
(customize-variable): Add it as an alias.
(customize-option-other-window):
Renamed from customize-variable-other-window.
(custom-load-symbol): Search for both short and absolute
names of the library, when avoiding duplicate loading.
(custom-group-magic-alist): New variable.
(custom-group-state-update): Use custom-group-magic-alist.
(customize-group): Renamed from `customize',
and rename argument to GROUP.
(customize): New function.