1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-01 20:06:00 +00:00
Commit Graph

218 Commits

Author SHA1 Message Date
Glenn Morris
35dc09a19c Merge from emacs-24, up to 2012-04-10T02:06:19Z!larsi@gnus.org 2012-04-13 18:46:06 -07:00
Chong Yidong
81927dd2a4 New Lisp manual nodes, Applying Customizations and Custom Themes.
* doc/lispref/customize.texi (Applying Customizations):
(Custom Themes): New nodes.

* doc/lispref/display.texi (Defining Faces): Reference custom-set-faces.

* doc/lispref/modes.texi (Defining Minor Modes, Defining Minor Modes):
* doc/lispref/os.texi (Startup Summary): Copyedits.

* doc/emacs/custom.texi (Creating Custom Themes): Add reference to Custom
Themes node in Lisp manual.

* lisp/custom.el (custom-theme-set-variables): Doc fix.
2012-04-12 22:50:58 +08:00
Chong Yidong
b4d3bc10dc Remove defining user variables via * in docstring.
* lisp/apropos.el (apropos-variable):
* lisp/files-x.el (read-file-local-variable):
* lisp/simple.el (set-variable):
* lisp/woman.el (woman-mini-help):
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Callers changed.

* lisp/custom.el (custom-variable-p): Return nil for non-symbol
arguments instead of signaling an error.
(user-variable-p): Obsolete alias for custom-variable-p.

* lisp/erc/erc.el (erc-cmd-SET): Call custom-variable-p instead of
user-variable-p.

* src/callint.c (Finteractive, Fcall_interactively):
* src/minibuf.c (Fread_variable): Callers changed.

* src/eval.c (Fuser_variable_p, user_variable_p_eh)
(lisp_indirect_variable): Functions deleted.
(Fdefvar): Caller changed.

* doc/lispref/commands.texi (Interactive Codes):
* doc/lispref/help.texi (Accessing Documentation):
* doc/lispref/minibuf.texi (High-Level Completion): Callers changed.

* doc/lispref/customize.texi (Variable Definitions): Remove user-variable-p.
2012-04-09 20:36:01 +08:00
Chong Yidong
4125cb8b65 Fix interaction of load-theme with cust-theme.el.
* lisp/custom.el (load-theme): Even if NO-ENABLE arg is t, reenable the
theme if it was previously enabled before (Bug#11031).

* lisp/cus-theme.el (customize-create-theme, custom-theme-revert): Doc fixes.
2012-03-25 22:05:51 +08:00
Chong Yidong
abd1f678d0 * lisp/custom.el (load-theme): Doc fix. 2012-02-22 14:10:03 +08:00
Chong Yidong
c3a70e2b95 Doc updates for defvar, defconst, and defcustom.
* lisp/custom.el (defcustom): Doc fix; note use of defvar.

* src/eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is
marked as special.  Also, starting docstrings with * is obsolete.
2012-02-15 12:00:34 +08:00
Chong Yidong
f2475f97b7 * lisp/custom.el (defcustom): Another doc fix. 2012-02-06 20:48:07 +08:00
Chong Yidong
9a6dd7472a * lisp/custom.el (defcustom): Doc fix.
Fixes: debbugs:9711
2012-02-06 20:36:31 +08:00
Chong Yidong
03988c98df Updates to Macros and Customization chapters of Lisp manual.
* doc/lispref/customize.texi (Common Keywords): Minor clarifications.
Document custom-unlispify-remove-prefixes.
(Variable Definitions): Backquotes in defcustom seem to work fine
now.  Various other copyedits.

* doc/lispref/macros.texi (Expansion): Minor clarification.
(Backquote): Move node to eval.texi.
(Defining Macros): Move an example from Backquote node.
(Argument Evaluation): No need to mention Pascal.
(Indenting Macros): Add xref to Defining Macros.

* doc/lispref/eval.texi (Backquote): Move from macros.texi.

* lisp/custom.el (defcustom): Doc fix.
2012-02-05 14:44:47 +08:00
Samuel Bronson
d6e6f4b1e9 * lisp/custom.el (defcustom): Add doc link to Lisp manual (Bug#10635). 2012-01-29 18:01:20 +08:00
Chong Yidong
0b21c100be Tweak custom-variable-p and user-variable-p docs.
* lisp/custom.el (custom-variable-p): Doc fix.

* src/eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p.
2012-01-25 13:48:11 +08:00
Chong Yidong
1de76afef2 * lisp/custom.el (custom-safe-themes): Use SHA-256 for hashing.
* doc/emacs/custom.texi (Custom Themes): Switched custom-safe-themes
to use SHA-256.
2012-01-09 15:48:51 +08:00
Chong Yidong
0448233577 Tweak handling of custom-enabled-themes and custom-safe-themes.
* lisp/cus-theme.el (custom-theme-merge-theme): Ignore
custom-enabled-themes and custom-safe-themes.

* lisp/custom.el (enable-theme): Don't set custom-safe-themes.
2012-01-05 19:12:11 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Chong Yidong
04c52e2f5b Allow overriding of theme confirmation via custom-safe-themes.
See http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00121.html

* lisp/custom.el (custom-safe-themes, load-theme): Treat value of t for
custom-safe-themes as special.
2011-10-01 14:27:21 -04:00
Andreas Schwab
f042cfd86a * lisp/mail/sendmail.el (send-mail-function): No longer delay custom
initialization.
* lisp/custom.el (custom-initialize-delay): Doc fix.
2011-07-08 19:02:01 +02:00
Juanma Barranquero
9173deecd8 Fix typos. 2011-07-05 11:51:56 +02:00
Chong Yidong
1485f4c03a Fix how custom themes handle faces, so the multi-tty/multi-frame case works.
* lisp/custom.el (custom-push-theme): Don't record faces in `changed'
theme; this doesn't work correctly for per-frame face settings.
(disable-theme): Use face-set-after-frame-default to reset faces.
(custom--frame-color-default): New function.

* lisp/frame.el (frame-background-mode, frame-set-background-mode):
Moved from faces.el.
(frame-default-terminal-background): New function.

* src/xfaces.c (Finternal_merge_in_global_face): Modify the foreground
and background color parameters if they have been changed.
2011-07-03 18:16:07 -04:00
Lars Magne Ingebrigtsen
8a20ca4cb0 Clarify that SETFUNCTION is only used in the Customize user interface
(bug#6089).
2011-07-03 01:52:35 +02:00
Chong Yidong
658d8eb8fc Avoid calling customize-save-variable during startup (Bug#8720).
* lisp/cus-edit.el (customize-push-and-save): New function.

* lisp/files.el (hack-local-variables-confirm): Use it.

* lisp/custom.el (load-theme): New arg NO-CONFIRM.  Use
customize-push-and-save (Bug#8720).
(custom-enabled-themes): Doc fix.

* lisp/cus-theme.el (customize-create-theme)
(custom-theme-merge-theme): Callers to load-theme changed.
2011-06-29 21:39:52 -04:00
Stefan Monnier
850256b5e9 * lisp/custom.el (defcustom): Obey lexical-binding. 2011-04-25 13:52:51 -03:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Chong Yidong
3b2ff876a5 Fix theme and X-resource interactions for the cursor face.
* lisp/startup.el (command-line): Save the cursor's theme-face
directly, instead of using face-override-spec.

* lisp/custom.el (load-theme): Minor optimization in assigning faces.
2011-04-04 21:21:52 -04:00
Stefan Monnier
40d83b412f Merge from trunk 2011-03-31 00:24:03 -04:00
Chong Yidong
fccee4ab72 Special handling of the `custom-enabled-themes' custom variable.
* lisp/custom.el (custom--inhibit-theme-enable): Make it affect only
custom-theme-set-variables and custom-theme-set-faces.
(provide-theme): Ignore custom--inhibit-theme-enable.
(load-theme): Enable the theme explicitly if NO-ENABLE is non-nil.
(custom-enabling-themes): Delete variable.
(enable-theme): Accept only loaded themes as arguments.  Ignore
the special custom-enabled-themes variable.
(custom-enabled-themes): Forbid themes from setting this.
Eliminate use of custom-enabling-themes.
(custom-push-theme): Quote "changed" custom var entry.
2011-03-21 20:30:23 -04:00
Chong Yidong
0357c7ae9c * lisp/custom.el (custom-push-theme): Quote "changed" custom var entry. 2011-03-21 18:09:52 -04:00
Stefan Monnier
cafdcef32d Merge from trunk 2011-03-21 12:42:16 -04:00
Juanma Barranquero
171fc304ac lisp/custom.el: Trivial fixes.
* custom.el (custom-known-themes): Reflow docstring.
  (custom-theme-load-path): Fix typo in docstring.
  (load-theme): Fix typo in error message.
  (custom-available-themes, custom-variable-theme-value):
  Use `let', not `let*'.
2011-03-17 03:30:27 +01:00
Chong Yidong
2bb5649ecc * lisp/custom.el (custom-available-themes): Return themes in alphabetical order. 2011-03-07 21:49:20 -05:00
Stefan Monnier
d032d5e7df * doc/lispref/variables.texi (Scope): Mention the availability of lexbind.
(Lexical Binding): New node.
* doc/lispref/eval.texi (Eval): Add `eval's new `lexical' arg.
* lisp/emacs-lisp/cconv.el (cconv-liftwhen): Increase threshold.
(cconv-closure-convert-rec): Convert interactive spec in empty lexenv.
(cconv-analyse-use): Improve unused vars warnings.
(cconv-analyse-form): Analyze interactive spec in empty lexenv.
* lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Always byte-compile
the interactive spec in lexical-binding mode.
(byte-compile-refresh-preloaded): Don't reload byte-compiler files.
* lisp/custom.el (custom-initialize-default): Use defvar.
(custom-declare-variable): Set the special-variable-p flag.
* lisp/help-fns.el (help-make-usage): Drop leading underscores.
* lisp/dired.el (dired-revert, dired-make-relative): Mark unused args.
(dired-unmark-all-files): Remove unused var `query'.
(dired-overwrite-confirmed): Declare.
(dired-restore-desktop-buffer): Don't use dynamically scoped arg names.
* lisp/mpc.el: Mark unused args.
(mpc--faster-toggle): Remove unused var `songnb'.
* lisp/server.el (server-kill-buffer-running): Move before first use.
* lisp/minibuffer.el: Mark unused args.
* src/callint.c (quotify_arg): Simplify the logic.
(Fcall_interactively): Use lexical binding when evaluating the
interactive spec of a lexically bound function.
2011-03-01 00:03:24 -05:00
Chong Yidong
928f4e732d Drop use of unsafep for checking Custom themes; bugfixes.
* lisp/custom.el (load-theme): Define return value.  Drop use of
unsafep; call custom-theme-load-confirm for non-known-safe themes.
(custom-theme-load-confirm): Scroll in the correct window.
(custom-enabled-themes): Add custom-safe-themes to :set-after.

* lisp/cus-theme.el (custom-theme-checkbox-toggle): Don't activate the
checkbox if load-theme fails.
2011-02-01 12:34:07 -05:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Chong Yidong
b7617f6d8b Record "safe themes" as sha1 hashes, as suggested by Stefan Monnier.
* lisp/custom.el (custom-safe-themes): Rename from
custom-safe-theme-files.  Add :risky tag.
(load-theme, custom-theme-load-confirm): Save sha1 hashes to
custom-safe-themes, not filenames.  Suggested by Stefan Monnier.
2011-01-08 23:59:56 -05:00
Chong Yidong
278f68456b Load themes using `load', querying if theme file not known safe.
* custom.el (custom-safe-theme-files): New defcustom.
(custom-theme-load-confirm): New function.
(load-theme): Load theme using `load', confirming with
custom-theme-load-confirm if necessary.
2011-01-08 14:19:55 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Chong Yidong
7fd8732d2e Revert 2010-10-18 change; use safe-functions instead.
* cus-face.el (custom-theme-set-faces): Revert 2010-10-18 change.
Don't mark as safe.

* custom.el (custom-theme-set-variables): Likewise.
(load-theme): Add custom-theme-set-faces and
custom-theme-set-variables to safe-functions while loading.
(custom-enabled-themes): Mark as risky.
2010-10-19 15:22:40 -04:00
Chong Yidong
e48eb34332 Use unsafep to check for theme safety.
* cus-face.el (custom-theme-set-faces): Mark as a safe function.

* custom.el (custom-theme-set-variables): Mark as a safe function.
(load-theme): Check forms using unsafep.
2010-10-18 13:26:25 -04:00
Chong Yidong
29a4c45b98 Allow Custom settings to be migrated into a custom theme.
* cus-theme.el (custom-theme--migrate-settings): New var.
(customize-create-theme): Allow editing the `user' theme.
(custom-theme-add-variable, custom-theme-add-var-1)
(custom-theme-add-face, custom-theme-add-face-1): Add a checkbox
to the front of each variable or face widget.
(custom-theme-write): Save theme settings in the correct order.
Optionally, remove saved settings from user customizations.
(custom-theme-write-variables, custom-theme-write-faces): Saved
only the checked widgets.
(customize-themes): Add a link for migrating custom settings.

* custom.el (custom-declare-theme, provide-theme): Use
custom-theme-name-valid-p.
(custom-theme-name-valid-p): Remove checks that are now
unnecessary since themes no longer obey load-path.

* cus-edit.el (custom-variable-value-create): For the simple
style, hide documentation string when hidden.
2010-10-16 20:00:34 -04:00
Chong Yidong
647bc5022f Allow hiding of modified custom widgets.
* cus-edit.el (custom-variable, custom-face): Combine the
:inhibit-magic and :display-style properties into a single
:custom-style property.
(custom-toggle-hide-variable, custom-toggle-hide-face): New
functions.  If hiding an edited value, save it to :shown-value.
(custom-variable-value-create, custom-face-value-create): Use
them.
(custom-magic-reset): Allow magic property to be unset.

* cus-theme.el (custom-theme-add-var-1)
(custom-theme-add-face-1): Use the :custom-style property.

* custom.el: (custom-theme-load-path): Doc fix.
2010-10-16 16:36:20 -04:00
Chong Yidong
782b5e8d92 Move built-in theme directory to etc/.
* custom.el: Custom themes no longer use load-path.
(custom-theme-load-path): New option.  Change built-in theme
directory to etc/.
(custom-enabled-themes): Add custom-theme-load-path dependency.
(custom-theme--load-path): New function.
(load-theme, custom-available-themes): Use it.

* cus-theme.el (describe-theme-1): Use custom-theme--load-path.
(customize-themes): Link to custom-theme-load-path variable.
2010-10-16 14:27:08 -04:00
Chong Yidong
4983ddeaa8 Define a cursor defface; minor face optimizations.
* faces.el (face-spec-reset-face): Reset all attributes in one
single call to set-face-attribute.
(face-spec-match-p): Make it a defsubst.
(frame-set-background-mode): New arg KEEP-FACE-SPECS.
(x-create-frame-with-faces, tty-create-frame-with-faces)
(tty-set-up-initial-frame-faces): Don't recompute face specs in
frame-set-background-mode, since they are recomputed immediately
afterwards in face-set-after-frame-default.
(face-set-after-frame-default): Minor optimization.
(cursor): Provide non-trivial defface spec.

* custom.el (custom-theme-recalc-face): Simplify.
2010-10-13 23:55:18 -04:00
Chong Yidong
2919746c64 Add some default custom themes.
* cus-theme.el (custom-theme--listed-faces): Add cursor face.
(describe-theme-1): Extract doc from unloaded themes.

* custom.el (custom-theme-name-valid-p): Don't list color-themes.

* themes/tango-theme.el:
* themes/tango-dark-theme.el:
* themes/wheatgrass-theme.el: New files.
2010-10-12 16:06:20 -04:00
Chong Yidong
6b09b5d118 New interface for choosing Custom themes.
* lisp/cus-edit.el (custom--initialize-widget-variables): New function.
(Custom-mode): Use it.

* lisp/cus-face.el (custom-theme-set-faces): Remove dead code.  Obey
custom--inhibit-theme-enable.

* lisp/cus-theme.el (describe-theme, customize-themes)
(custom-theme-save): New commands.
(custom-new-theme-mode-map): Bind C-x C-s.
(custom-new-theme-mode): Use custom--initialize-widget-variables.
(customize-create-theme): New optional arg THEME.
(custom-theme-revert): Use it.
(custom-theme-visit-theme): Remove dead code.
(custom-theme-merge-theme): Use custom-available-themes.
(custom-theme-write): Make interactive.
(custom-theme-write): Use custom-theme-name-valid-p.
(describe-theme-1, custom-theme-choose-revert)
(custom-theme-checkbox-toggle, custom-theme-selections-toggle):
New funs.
(custom-theme-allow-multiple-selections): New option.
(custom-theme-choose-mode): New major mode.

* lisp/custom.el (custom-theme-set-variables): Remove dead code.  Obey
custom--inhibit-theme-enable.
(custom--inhibit-theme-enable): New var.
(provide-theme): Obey it.
(load-theme): Replace load with manual read/eval, in order to
check for correctness.  Use custom-theme-name-valid-p.
(custom-theme-name-valid-p): New function.
(custom-available-themes): Use it.

* lisp/help-mode.el (help-theme-def, help-theme-edit): New buttons.
2010-10-11 23:10:21 -04:00
Chong Yidong
05d22d0217 More cleanups and minor fixes for Customize.
* cus-edit.el (custom-face-edit-fix-value): Use
custom-fix-face-spec.

* custom.el (custom-push-theme): Cleanup (use cond).
(disable-theme): Recompute the saved-face property.
(custom-theme-recalc-face): Follow face alias before setting prop.

* custom.el (custom-fix-face-spec): New function; code moved from
custom-face-edit-fix-value.
(custom-push-theme): Use it when checking if a face has been
changed outside customize.
(custom-available-themes): New function.
(load-theme): Use it.

* image.el (image-checkbox-checked, image-checkbox-unchecked): New
variables, containing checkbox images.

* startup.el (fancy-startup-tail):
* wid-edit.el (checkbox): Use them.
2010-10-11 00:49:59 -04:00
Chong Yidong
bd78fa1d54 Add "Package:" file headers to denote built-in packages. 2010-08-29 12:17:13 -04:00
Juanma Barranquero
440735a764 * custom.el (custom-declare-variable): Give clearer error message (bug#6476). 2010-07-23 03:29:46 +02:00
Stefan Monnier
9892380099 * custom.el (defcustom): Add edebug spec. 2010-04-18 22:32:47 -04:00
Glenn Morris
90a946031a * custom.el (custom-initialize-delay): Doc fix. 2010-02-25 20:42:07 -08:00