Mercurial > emacs
changeset 64418:c8d5956c919b
(Init Examples): Clean up text about conditionals.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 17 Jul 2005 19:47:56 +0000 |
parents | 2ef3675bf3a9 |
children | 30e914c69e59 |
files | man/custom.texi |
diffstat | 1 files changed, 20 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/man/custom.texi Sun Jul 17 07:44:34 2005 +0000 +++ b/man/custom.texi Sun Jul 17 19:47:56 2005 +0000 @@ -2313,42 +2313,37 @@ @end example @item -Adjusting the configuration to various contexts. - -In most of the cases, people want their Emacs to behave the same on -all their machines, so their configuration should be the same, no -matter whether it's GNU/Linux or not, under X11 or on a tty, with one -version of Emacs or another, ... +Adjusting the configuration to various platforms and Emacs versions. -What can happen, tho, is that depending on the circumstance some -features may or may not be available. In that case just prepend each -such customization with a little test that ensures that the feature -can be used. The best tests are usually checking that the feature is -available, rather than checking what kind of environment is -being used. +Users typically want Emacs to behave the same on all systems, so the +same init file is right for all platforms. However, sometimes it +happens that a function you use for customizing Emacs is not available +on some platforms or in older Emacs versions. To deal with that +situation, put the customization inside a conditional that tests whether +the function or facility is available, like this: @example -(if (fboundp 'blinking-cursor-mode) - (blinking-cursor-mode 0)) +(if (fboundp 'blink-cursor-mode) + (blink-cursor-mode 0)) + +(if (boundp 'coding-category-utf-8) + (set-coding-priority '(coding-category-utf-8))) @end example -@example -(if (boundp 'coding-category-utf-8) - (set-coding-priority '(coding-category-utf-8))) -@end example +@noindent +You can also simply disregard the errors that occur if the +function is not defined. @example -(require 'cl) ; To define `ignore-errors'. -(ignore-errors (set-face-background 'region "grey75")) +(condition case () + (set-face-background 'region "grey75") + (error nil)) @end example -Note also that a @code{setq} on a variable which does not exist is -generally harmless, so those usually do not need to be made -conditional on any kind of test. - +A @code{setq} on a variable which does not exist is generally +harmless, so those do not need a conditional. @end itemize - @node Terminal Init @subsection Terminal-specific Initialization