diff options
| author | Karoly Lorentey | 2005-09-05 14:21:08 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-09-05 14:21:08 +0000 |
| commit | 6f5b225036d2dd45cb413d9b373abae8cb44a2eb (patch) | |
| tree | 7876bf4c58b1e7d3f6f2db39d02052298c64f4d1 | |
| parent | 4bed7e65b4c7c2702b499e874f6bc599045b3c07 (diff) | |
| parent | 656f8fc5fd872e6b4d5ca65ec95e205e21a5bf13 (diff) | |
| download | emacs-6f5b225036d2dd45cb413d9b373abae8cb44a2eb.tar.gz emacs-6f5b225036d2dd45cb413d9b373abae8cb44a2eb.zip | |
Merged in changes from CVS trunk. (Testing my own CVS gateway.)
Patches applied:
* lorentey@elte.hu--2004/emacs--cvs-trunk--0--patch-3
Update from CVS.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-395
| -rw-r--r-- | admin/FOR-RELEASE | 8 | ||||
| -rw-r--r-- | lisp/ChangeLog | 12 | ||||
| -rw-r--r-- | lisp/custom.el | 27 | ||||
| -rw-r--r-- | lispref/ChangeLog | 13 | ||||
| -rw-r--r-- | lispref/intro.texi | 22 | ||||
| -rw-r--r-- | lispref/tips.texi | 14 | ||||
| -rw-r--r-- | man/ChangeLog | 9 | ||||
| -rw-r--r-- | man/custom.texi | 56 | ||||
| -rw-r--r-- | man/search.texi | 6 | ||||
| -rw-r--r-- | src/ChangeLog | 10 | ||||
| -rw-r--r-- | src/editfns.c | 5 | ||||
| -rw-r--r-- | src/fns.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 26 |
13 files changed, 172 insertions, 38 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 5375db09f69..d41dcec061b 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -33,10 +33,6 @@ To be done by Andre Spiegel <spiegel@gnu.org>. | |||
| 33 | 33 | ||
| 34 | ** Update Speedbar. | 34 | ** Update Speedbar. |
| 35 | 35 | ||
| 36 | ** Debug custom themes. | ||
| 37 | |||
| 38 | ** Get rid of the defadvice calls in org.el. | ||
| 39 | |||
| 40 | * FATAL ERRORS | 36 | * FATAL ERRORS |
| 41 | 37 | ||
| 42 | ** Investigate reported crashes in compact_small_strings. | 38 | ** Investigate reported crashes in compact_small_strings. |
| @@ -115,8 +111,6 @@ The class A seems to be missing. | |||
| 115 | 111 | ||
| 116 | * DOCUMENTATION | 112 | * DOCUMENTATION |
| 117 | 113 | ||
| 118 | ** Document Custom Themes. | ||
| 119 | |||
| 120 | ** Update man/info.texi. | 114 | ** Update man/info.texi. |
| 121 | 115 | ||
| 122 | ** Add missing years in copyright notices of all files. | 116 | ** Add missing years in copyright notices of all files. |
| @@ -243,7 +237,7 @@ lispref/hash.texi "Luc Teirlinck" Chong Yidong | |||
| 243 | lispref/help.texi "Luc Teirlinck" Chong Yidong | 237 | lispref/help.texi "Luc Teirlinck" Chong Yidong |
| 244 | lispref/hooks.texi Lute Kamstra | 238 | lispref/hooks.texi Lute Kamstra |
| 245 | lispref/internals.texi "Luc Teirlinck" Chong Yidong | 239 | lispref/internals.texi "Luc Teirlinck" Chong Yidong |
| 246 | lispref/intro.texi "Luc Teirlinck" | 240 | lispref/intro.texi "Luc Teirlinck" Josh Varner |
| 247 | lispref/keymaps.texi "Luc Teirlinck" Chong Yidong | 241 | lispref/keymaps.texi "Luc Teirlinck" Chong Yidong |
| 248 | lispref/lists.texi "Luc Teirlinck" Chong Yidong | 242 | lispref/lists.texi "Luc Teirlinck" Chong Yidong |
| 249 | lispref/loading.texi "Luc Teirlinck" Chong Yidong | 243 | lispref/loading.texi "Luc Teirlinck" Chong Yidong |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1bcdf7628b4..1782616a1c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2005-09-04 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * custom.el (load-theme): Renamed from require-theme. | ||
| 4 | Add interactive spec. | ||
| 5 | (enable-theme): Renamed from custom-enable-theme. | ||
| 6 | Add interactive spec. | ||
| 7 | (disable-theme): Renamed from custom-disable-theme. | ||
| 8 | Add interactive spec. | ||
| 9 | (custom-make-theme-feature): Doc fix. | ||
| 10 | (custom-theme-directory): Doc fix. | ||
| 11 | (provide-theme): Call enable-theme. | ||
| 12 | |||
| 1 | 2005-09-02 Dan Nicolaescu <dann@ics.uci.edu> | 13 | 2005-09-02 Dan Nicolaescu <dann@ics.uci.edu> |
| 2 | 14 | ||
| 3 | * term/xterm.el (terminal-init-xterm): Add eval-when-compile to | 15 | * term/xterm.el (terminal-init-xterm): Add eval-when-compile to |
diff --git a/lisp/custom.el b/lisp/custom.el index 0831535f181..c4eae52751b 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -953,7 +953,7 @@ into `features'. | |||
| 953 | 953 | ||
| 954 | This allows for a file-name convention for autoloading themes: | 954 | This allows for a file-name convention for autoloading themes: |
| 955 | Every theme X has a property `provide-theme' whose value is \"X-theme\". | 955 | Every theme X has a property `provide-theme' whose value is \"X-theme\". |
| 956 | \(require-theme X) then attempts to load the file `X-theme.el'." | 956 | \(load-theme X) then attempts to load the file `X-theme.el'." |
| 957 | (intern (concat (symbol-name theme) "-theme"))) | 957 | (intern (concat (symbol-name theme) "-theme"))) |
| 958 | 958 | ||
| 959 | ;;; Loading themes. | 959 | ;;; Loading themes. |
| @@ -996,7 +996,7 @@ Every theme X has a property `provide-theme' whose value is \"X-theme\". | |||
| 996 | "~/_emacs.d/" | 996 | "~/_emacs.d/" |
| 997 | "~/.emacs.d/") | 997 | "~/.emacs.d/") |
| 998 | "Directory in which Custom theme files should be written. | 998 | "Directory in which Custom theme files should be written. |
| 999 | `require-theme' searches this directory in addition to load-path. | 999 | `load-theme' searches this directory in addition to load-path. |
| 1000 | The command `customize-create-theme' writes the files it produces | 1000 | The command `customize-create-theme' writes the files it produces |
| 1001 | into this directory." | 1001 | into this directory." |
| 1002 | :type 'string | 1002 | :type 'string |
| @@ -1031,11 +1031,11 @@ by `custom-make-theme-feature'." | |||
| 1031 | ;; `user' must always be the highest-precedence enabled theme. | 1031 | ;; `user' must always be the highest-precedence enabled theme. |
| 1032 | ;; Make that remain true. (This has the effect of making user settings | 1032 | ;; Make that remain true. (This has the effect of making user settings |
| 1033 | ;; override the ones just loaded, too.) | 1033 | ;; override the ones just loaded, too.) |
| 1034 | (custom-enable-theme 'user)) | 1034 | (enable-theme 'user)) |
| 1035 | 1035 | ||
| 1036 | (defun require-theme (theme) | 1036 | (defun load-theme (theme) |
| 1037 | "Try to load a theme's settings from its file. | 1037 | "Try to load a theme's settings from its file. |
| 1038 | This also enables the theme; use `custom-disable-theme' to disable it." | 1038 | This also enables the theme; use `disable-theme' to disable it." |
| 1039 | 1039 | ||
| 1040 | ;; THEME's feature is stored in THEME's `theme-feature' property. | 1040 | ;; THEME's feature is stored in THEME's `theme-feature' property. |
| 1041 | ;; Usually the `theme-feature' property contains a symbol created | 1041 | ;; Usually the `theme-feature' property contains a symbol created |
| @@ -1043,6 +1043,7 @@ This also enables the theme; use `custom-disable-theme' to disable it." | |||
| 1043 | 1043 | ||
| 1044 | ;; Note we do no check for validity of the theme here. | 1044 | ;; Note we do no check for validity of the theme here. |
| 1045 | ;; This allows to pull in themes by a file-name convention | 1045 | ;; This allows to pull in themes by a file-name convention |
| 1046 | (interactive "SCustom theme name: ") | ||
| 1046 | (let ((load-path (if (file-directory-p custom-theme-directory) | 1047 | (let ((load-path (if (file-directory-p custom-theme-directory) |
| 1047 | (cons custom-theme-directory load-path) | 1048 | (cons custom-theme-directory load-path) |
| 1048 | load-path))) | 1049 | load-path))) |
| @@ -1070,12 +1071,12 @@ All the themes loaded for BY-THEME are recorded in BY-THEME's property | |||
| 1070 | (let ((themes-loaded (get by-theme 'theme-loads-themes))) | 1071 | (let ((themes-loaded (get by-theme 'theme-loads-themes))) |
| 1071 | (dolist (theme body) | 1072 | (dolist (theme body) |
| 1072 | (cond ((and (consp theme) (eq (car theme) 'reset)) | 1073 | (cond ((and (consp theme) (eq (car theme) 'reset)) |
| 1073 | (custom-disable-theme (cadr theme))) | 1074 | (disable-theme (cadr theme))) |
| 1074 | ((and (consp theme) (eq (car theme) 'hidden)) | 1075 | ((and (consp theme) (eq (car theme) 'hidden)) |
| 1075 | (require-theme (cadr theme)) | 1076 | (load-theme (cadr theme)) |
| 1076 | (custom-disable-theme (cadr theme))) | 1077 | (disable-theme (cadr theme))) |
| 1077 | (t | 1078 | (t |
| 1078 | (require-theme theme))) | 1079 | (load-theme theme))) |
| 1079 | (push theme themes-loaded)) | 1080 | (push theme themes-loaded)) |
| 1080 | (put by-theme 'theme-loads-themes themes-loaded))) | 1081 | (put by-theme 'theme-loads-themes themes-loaded))) |
| 1081 | 1082 | ||
| @@ -1087,10 +1088,11 @@ See `custom-theme-load-themes' for more information on BODY." | |||
| 1087 | 1088 | ||
| 1088 | ;;; Enabling and disabling loaded themes. | 1089 | ;;; Enabling and disabling loaded themes. |
| 1089 | 1090 | ||
| 1090 | (defun custom-enable-theme (theme) | 1091 | (defun enable-theme (theme) |
| 1091 | "Reenable all variable and face settings defined by THEME. | 1092 | "Reenable all variable and face settings defined by THEME. |
| 1092 | The newly enabled theme gets the highest precedence (after `user'). | 1093 | The newly enabled theme gets the highest precedence (after `user'). |
| 1093 | If it is already enabled, just give it highest precedence (after `user')." | 1094 | If it is already enabled, just give it highest precedence (after `user')." |
| 1095 | (interactive "SEnable Custom theme: ") | ||
| 1094 | (let ((settings (get theme 'theme-settings))) | 1096 | (let ((settings (get theme 'theme-settings))) |
| 1095 | (dolist (s settings) | 1097 | (dolist (s settings) |
| 1096 | (let* ((prop (car s)) | 1098 | (let* ((prop (car s)) |
| @@ -1104,11 +1106,12 @@ If it is already enabled, just give it highest precedence (after `user')." | |||
| 1104 | (cons theme (delq theme custom-enabled-themes))) | 1106 | (cons theme (delq theme custom-enabled-themes))) |
| 1105 | ;; `user' must always be the highest-precedence enabled theme. | 1107 | ;; `user' must always be the highest-precedence enabled theme. |
| 1106 | (unless (eq theme 'user) | 1108 | (unless (eq theme 'user) |
| 1107 | (custom-enable-theme 'user))) | 1109 | (enable-theme 'user))) |
| 1108 | 1110 | ||
| 1109 | (defun custom-disable-theme (theme) | 1111 | (defun disable-theme (theme) |
| 1110 | "Disable all variable and face settings defined by THEME. | 1112 | "Disable all variable and face settings defined by THEME. |
| 1111 | See `custom-known-themes' for a list of known themes." | 1113 | See `custom-known-themes' for a list of known themes." |
| 1114 | (interactive "SDisable Custom theme: ") | ||
| 1112 | (let ((settings (get theme 'theme-settings))) | 1115 | (let ((settings (get theme 'theme-settings))) |
| 1113 | (dolist (s settings) | 1116 | (dolist (s settings) |
| 1114 | (let* ((prop (car s)) | 1117 | (let* ((prop (car s)) |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 9c19c136926..ec8885138b5 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2005-09-03 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * tips.texi (Programming Tips): Add conventions for minibuffer | ||
| 4 | questions and prompts. | ||
| 5 | |||
| 6 | 2005-09-03 Joshua Varner <jlvarner@gmail.com> (tiny change) | ||
| 7 | |||
| 8 | * intro.texi (nil and t): Minor cleanup. | ||
| 9 | Delete spurious mention of keyword symbols. | ||
| 10 | (Evaluation Notation): Add index entry. | ||
| 11 | (A Sample Function Description): Minor cleanup. | ||
| 12 | (A Sample Variable Description): Not all vars can be set. | ||
| 13 | |||
| 1 | 2005-09-03 Thien-Thi Nguyen <ttn@gnu.org> | 14 | 2005-09-03 Thien-Thi Nguyen <ttn@gnu.org> |
| 2 | 15 | ||
| 3 | * text.texi (Buffer Contents): Use "\n" in examples' result strings. | 16 | * text.texi (Buffer Contents): Use "\n" in examples' result strings. |
diff --git a/lispref/intro.texi b/lispref/intro.texi index 01ffeb3321c..8c3501c823b 100644 --- a/lispref/intro.texi +++ b/lispref/intro.texi | |||
| @@ -197,7 +197,7 @@ in Lisp programs also. | |||
| 197 | (not nil) ; @r{Emphasize the truth value @var{false}} | 197 | (not nil) ; @r{Emphasize the truth value @var{false}} |
| 198 | @end example | 198 | @end example |
| 199 | 199 | ||
| 200 | @cindex @code{t} and truth | 200 | @cindex @code{t}, uses of |
| 201 | @cindex true | 201 | @cindex true |
| 202 | In contexts where a truth value is expected, any non-@code{nil} value | 202 | In contexts where a truth value is expected, any non-@code{nil} value |
| 203 | is considered to be @var{true}. However, @code{t} is the preferred way | 203 | is considered to be @var{true}. However, @code{t} is the preferred way |
| @@ -209,14 +209,14 @@ choosing, use @code{t}. The symbol @code{t} always has the value | |||
| 209 | In Emacs Lisp, @code{nil} and @code{t} are special symbols that always | 209 | In Emacs Lisp, @code{nil} and @code{t} are special symbols that always |
| 210 | evaluate to themselves. This is so that you do not need to quote them | 210 | evaluate to themselves. This is so that you do not need to quote them |
| 211 | to use them as constants in a program. An attempt to change their | 211 | to use them as constants in a program. An attempt to change their |
| 212 | values results in a @code{setting-constant} error. The same is true of | 212 | values results in a @code{setting-constant} error. @xref{Constant |
| 213 | any symbol whose name starts with a colon (@samp{:}). @xref{Constant | ||
| 214 | Variables}. | 213 | Variables}. |
| 215 | 214 | ||
| 216 | @node Evaluation Notation | 215 | @node Evaluation Notation |
| 217 | @subsection Evaluation Notation | 216 | @subsection Evaluation Notation |
| 218 | @cindex evaluation notation | 217 | @cindex evaluation notation |
| 219 | @cindex documentation notation | 218 | @cindex documentation notation |
| 219 | @cindex notation | ||
| 220 | 220 | ||
| 221 | A Lisp expression that you can evaluate is called a @dfn{form}. | 221 | A Lisp expression that you can evaluate is called a @dfn{form}. |
| 222 | Evaluating a form always produces a result, which is a Lisp object. In | 222 | Evaluating a form always produces a result, which is a Lisp object. In |
| @@ -355,11 +355,11 @@ indicates that the subsequent arguments may be omitted (omitted | |||
| 355 | arguments default to @code{nil}). Do not write @code{&optional} when | 355 | arguments default to @code{nil}). Do not write @code{&optional} when |
| 356 | you call the function. | 356 | you call the function. |
| 357 | 357 | ||
| 358 | The keyword @code{&rest} (which must be followed by a single argument | 358 | The keyword @code{&rest} (which must be followed by a single |
| 359 | name) indicates that any number of arguments can follow. The single | 359 | argument name) indicates that any number of arguments can follow. The |
| 360 | following argument name will have a value, as a variable, which is a | 360 | single argument name following @code{&rest} will receive, as its |
| 361 | list of all these remaining arguments. Do not write @code{&rest} when | 361 | value, a list of all the remaining arguments passed to the function. |
| 362 | you call the function. | 362 | Do not write @code{&rest} when you call the function. |
| 363 | 363 | ||
| 364 | Here is a description of an imaginary function @code{foo}: | 364 | Here is a description of an imaginary function @code{foo}: |
| 365 | 365 | ||
| @@ -450,9 +450,9 @@ from @var{body}, which includes all remaining elements of the form. | |||
| 450 | @cindex variable descriptions | 450 | @cindex variable descriptions |
| 451 | @cindex option descriptions | 451 | @cindex option descriptions |
| 452 | 452 | ||
| 453 | A @dfn{variable} is a name that can hold a value. Although any | 453 | A @dfn{variable} is a name that can hold a value. Although nearly |
| 454 | variable can be set by the user, certain variables that exist | 454 | all variables can be set by the user, certain variables exist |
| 455 | specifically so that users can change them are called @dfn{user | 455 | specifically so that users can change them; these are called @dfn{user |
| 456 | options}. Ordinary variables and user options are described using a | 456 | options}. Ordinary variables and user options are described using a |
| 457 | format like that for functions except that there are no arguments. | 457 | format like that for functions except that there are no arguments. |
| 458 | 458 | ||
diff --git a/lispref/tips.texi b/lispref/tips.texi index 46eb887dce8..d651eb95f0e 100644 --- a/lispref/tips.texi +++ b/lispref/tips.texi | |||
| @@ -374,6 +374,20 @@ An error message should start with a capital letter but should not end | |||
| 374 | with a period. | 374 | with a period. |
| 375 | 375 | ||
| 376 | @item | 376 | @item |
| 377 | A question asked in the minibuffer with @code{y-or-n-p} or | ||
| 378 | @code{yes-or-no-p} should start with a capital letter and end with | ||
| 379 | @samp{? }. | ||
| 380 | |||
| 381 | @item | ||
| 382 | When you mention a default value in a minibuffer prompt, | ||
| 383 | put it and the word @samp{default} inside parentheses. | ||
| 384 | It should look like this: | ||
| 385 | |||
| 386 | @example | ||
| 387 | Enter the answer: (default 42) | ||
| 388 | @end example | ||
| 389 | |||
| 390 | @item | ||
| 377 | In @code{interactive}, if you use a Lisp expression to produce a list | 391 | In @code{interactive}, if you use a Lisp expression to produce a list |
| 378 | of arguments, don't try to provide the ``correct'' default values for | 392 | of arguments, don't try to provide the ``correct'' default values for |
| 379 | region or position arguments. Instead, provide @code{nil} for those | 393 | region or position arguments. Instead, provide @code{nil} for those |
diff --git a/man/ChangeLog b/man/ChangeLog index ac992ec6922..3f956c71625 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2005-09-05 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * custom.texi (Custom Themes): New node. | ||
| 4 | |||
| 5 | 2005-09-03 Richard M. Stallman <rms@gnu.org> | ||
| 6 | |||
| 7 | * search.texi (Search Case): Mention vars that control | ||
| 8 | case-fold-search for various operations. | ||
| 9 | |||
| 1 | 2005-08-30 Carsten Dominik <dominik@science.uva.nl> | 10 | 2005-08-30 Carsten Dominik <dominik@science.uva.nl> |
| 2 | 11 | ||
| 3 | * org.texi: Version 3.15. | 12 | * org.texi: Version 3.15. |
diff --git a/man/custom.texi b/man/custom.texi index d531d92eb0f..87722f63b69 100644 --- a/man/custom.texi +++ b/man/custom.texi | |||
| @@ -199,6 +199,8 @@ the active fields and other features. | |||
| 199 | * Face Customization:: How to edit the attributes of a face. | 199 | * Face Customization:: How to edit the attributes of a face. |
| 200 | * Specific Customization:: Making a customization buffer for specific | 200 | * Specific Customization:: Making a customization buffer for specific |
| 201 | variables, faces, or groups. | 201 | variables, faces, or groups. |
| 202 | * Custom Themes:: How to define collections of customized options | ||
| 203 | that can be loaded and unloaded together. | ||
| 202 | @end menu | 204 | @end menu |
| 203 | 205 | ||
| 204 | @node Customization Groups | 206 | @node Customization Groups |
| @@ -652,6 +654,60 @@ changes. Use @kbd{M-x customize-saved} to look at the options that | |||
| 652 | you have saved. Use @kbd{M-x customize-customized} to look at the | 654 | you have saved. Use @kbd{M-x customize-customized} to look at the |
| 653 | options that you have set but not saved. | 655 | options that you have set but not saved. |
| 654 | 656 | ||
| 657 | @node Custom Themes | ||
| 658 | @subsection Customization Themes | ||
| 659 | @cindex custom themes | ||
| 660 | |||
| 661 | @dfn{Custom themes} are collections of customized options that can be | ||
| 662 | enabled or disabled as a unit. You can use Custom themes to switch | ||
| 663 | quickly and easily between various collections of settings, and to | ||
| 664 | transfer such collections from one computer to another. | ||
| 665 | |||
| 666 | @findex customize-create-theme | ||
| 667 | To define a Custom theme, use the command | ||
| 668 | @kbd{M-x customize-create-theme}, which brings up a buffer named | ||
| 669 | @samp{*New Custom Theme*}. At the top of the buffer is an editable | ||
| 670 | field where you can specify the name of the theme. To add a | ||
| 671 | customization option to the theme, click on the @samp{INS} button to | ||
| 672 | open up a field where you can insert the name of the option. The | ||
| 673 | current value of that option is applied to the theme. After adding as | ||
| 674 | many options as you like, click on @samp{Done} to save the Custom | ||
| 675 | theme. | ||
| 676 | |||
| 677 | @vindex custom-theme-directory | ||
| 678 | Saving a Custom theme named @var{foo} writes its definition into the | ||
| 679 | file @file{@var{foo}-theme.el}, in the directory @file{~/.emacs.d/} | ||
| 680 | (you can specify the directory by setting | ||
| 681 | @code{custom-theme-directory}). | ||
| 682 | |||
| 683 | @findex load-theme | ||
| 684 | @findex enable-theme | ||
| 685 | @findex disable-theme | ||
| 686 | You can load the themes you've previously defined with the command | ||
| 687 | @code{load-theme}. It prompts for a theme name in the minibuffer, | ||
| 688 | then loads that theme if it isn't already loaded. It also | ||
| 689 | @dfn{enables} the theme, which means putting its settings into effect. | ||
| 690 | An enabled theme can be @dfn{disabled} with the command | ||
| 691 | @kbd{M-x disable-theme}; this returns the options specified in the | ||
| 692 | theme to their original values. To re-enable the theme, use the | ||
| 693 | command @kbd{M-x enable-theme}. | ||
| 694 | |||
| 695 | To enable a Custom theme named @var{foo} whenever Emacs is started up, | ||
| 696 | add the line @code{(load-theme '@var{foo})} to your @file{.emacs} file | ||
| 697 | (@pxref{Init File}). | ||
| 698 | |||
| 699 | Enabling a custom theme does not disable the themes already enabled; | ||
| 700 | instead, they are all enabled together. If two enabled Custom themes | ||
| 701 | specify different values for an option, the last theme to be enabled | ||
| 702 | takes effect. | ||
| 703 | |||
| 704 | The options that you set in the ordinary customization buffer | ||
| 705 | (@pxref{Easy Customization}) are also considered part of a Custom | ||
| 706 | theme, called @samp{user}. The @samp{user} theme is always enabled, | ||
| 707 | and always takes precedence over all other enabled Custom themes. | ||
| 708 | Additionally, the @samp{user} theme is recorded in your @file{.emacs} | ||
| 709 | file, rather than a @file{user-theme.el} file. | ||
| 710 | |||
| 655 | @node Variables | 711 | @node Variables |
| 656 | @section Variables | 712 | @section Variables |
| 657 | @cindex variable | 713 | @cindex variable |
diff --git a/man/search.texi b/man/search.texi index 0233f7ce8de..b252e9c7c8c 100644 --- a/man/search.texi +++ b/man/search.texi | |||
| @@ -907,6 +907,12 @@ searches also, including those performed by the replace commands | |||
| 907 | (@pxref{Replace}) and the minibuffer history matching commands | 907 | (@pxref{Replace}) and the minibuffer history matching commands |
| 908 | (@pxref{Minibuffer History}). | 908 | (@pxref{Minibuffer History}). |
| 909 | 909 | ||
| 910 | Several related variables control case-sensitivity of searching and | ||
| 911 | matching for specific commands or activities. For instance, | ||
| 912 | @code{tags-case-fold-search} controls case sensitivity for | ||
| 913 | @code{find-tag}. To find these variables, do @kbd{M-x | ||
| 914 | apropos-variable @key{RET} case-fold-search @key{RET}}. | ||
| 915 | |||
| 910 | @node Replace | 916 | @node Replace |
| 911 | @section Replacement Commands | 917 | @section Replacement Commands |
| 912 | @cindex replacement | 918 | @cindex replacement |
diff --git a/src/ChangeLog b/src/ChangeLog index 09a3ba2d825..bc76f96208a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2005-09-03 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (redisplay_internal): Make UPDATED as long as needed. | ||
| 4 | (move_it_in_display_line_to): Stop after last char on line even | ||
| 5 | on a windowing terminal, if that's the specified stop position. | ||
| 6 | |||
| 7 | * fns.c (Fsort): Doc fix. | ||
| 8 | |||
| 9 | * editfns.c (Fpropertize): Don't insist that properties be symbols. | ||
| 10 | |||
| 1 | 2005-09-01 Stefan Monnier <monnier@iro.umontreal.ca> | 11 | 2005-09-01 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 12 | ||
| 3 | * dispnew.c (window_to_frame_hpos, update_window): | 13 | * dispnew.c (window_to_frame_hpos, update_window): |
diff --git a/src/editfns.c b/src/editfns.c index da4533d2537..a05d2396448 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3260,10 +3260,7 @@ usage: (propertize STRING &rest PROPERTIES) */) | |||
| 3260 | string = Fcopy_sequence (args[0]); | 3260 | string = Fcopy_sequence (args[0]); |
| 3261 | 3261 | ||
| 3262 | for (i = 1; i < nargs; i += 2) | 3262 | for (i = 1; i < nargs; i += 2) |
| 3263 | { | 3263 | properties = Fcons (args[i], Fcons (args[i + 1], properties)); |
| 3264 | CHECK_SYMBOL (args[i]); | ||
| 3265 | properties = Fcons (args[i], Fcons (args[i + 1], properties)); | ||
| 3266 | } | ||
| 3267 | 3264 | ||
| 3268 | Fadd_text_properties (make_number (0), | 3265 | Fadd_text_properties (make_number (0), |
| 3269 | make_number (SCHARS (string)), | 3266 | make_number (SCHARS (string)), |
| @@ -1894,7 +1894,7 @@ DEFUN ("sort", Fsort, Ssort, 2, 2, 0, | |||
| 1894 | doc: /* Sort LIST, stably, comparing elements using PREDICATE. | 1894 | doc: /* Sort LIST, stably, comparing elements using PREDICATE. |
| 1895 | Returns the sorted list. LIST is modified by side effects. | 1895 | Returns the sorted list. LIST is modified by side effects. |
| 1896 | PREDICATE is called with two elements of LIST, and should return non-nil | 1896 | PREDICATE is called with two elements of LIST, and should return non-nil |
| 1897 | if the first element is "less" than the second. */) | 1897 | if the first element should sort before the second. */) |
| 1898 | (list, predicate) | 1898 | (list, predicate) |
| 1899 | Lisp_Object list, predicate; | 1899 | Lisp_Object list, predicate; |
| 1900 | { | 1900 | { |
diff --git a/src/xdisp.c b/src/xdisp.c index a32cb70f436..b887c8d702c 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5999,6 +5999,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5999 | glyphs have the same width. */ | 5999 | glyphs have the same width. */ |
| 6000 | int single_glyph_width = it->pixel_width / it->nglyphs; | 6000 | int single_glyph_width = it->pixel_width / it->nglyphs; |
| 6001 | int new_x; | 6001 | int new_x; |
| 6002 | int x_before_this_char = x; | ||
| 6003 | int hpos_before_this_char = it->hpos; | ||
| 6002 | 6004 | ||
| 6003 | for (i = 0; i < it->nglyphs; ++i, x = new_x) | 6005 | for (i = 0; i < it->nglyphs; ++i, x = new_x) |
| 6004 | { | 6006 | { |
| @@ -6030,8 +6032,22 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 6030 | { | 6032 | { |
| 6031 | ++it->hpos; | 6033 | ++it->hpos; |
| 6032 | it->current_x = new_x; | 6034 | it->current_x = new_x; |
| 6035 | |||
| 6036 | /* The character's last glyph just barely fits | ||
| 6037 | in this row. */ | ||
| 6033 | if (i == it->nglyphs - 1) | 6038 | if (i == it->nglyphs - 1) |
| 6034 | { | 6039 | { |
| 6040 | /* If this is the destination position, | ||
| 6041 | return a position *before* it in this row, | ||
| 6042 | now that we know it fits in this row. */ | ||
| 6043 | if (BUFFER_POS_REACHED_P ()) | ||
| 6044 | { | ||
| 6045 | it->hpos = hpos_before_this_char; | ||
| 6046 | it->current_x = x_before_this_char; | ||
| 6047 | result = MOVE_POS_MATCH_OR_ZV; | ||
| 6048 | break; | ||
| 6049 | } | ||
| 6050 | |||
| 6035 | set_iterator_to_next (it, 1); | 6051 | set_iterator_to_next (it, 1); |
| 6036 | #ifdef HAVE_WINDOW_SYSTEM | 6052 | #ifdef HAVE_WINDOW_SYSTEM |
| 6037 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) | 6053 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) |
| @@ -10600,9 +10616,13 @@ redisplay_internal (preserve_echo_area) | |||
| 10600 | if (consider_all_windows_p) | 10616 | if (consider_all_windows_p) |
| 10601 | { | 10617 | { |
| 10602 | Lisp_Object tail, frame; | 10618 | Lisp_Object tail, frame; |
| 10603 | int i, n = 0, size = 50; | 10619 | int i, n = 0, size = 5; |
| 10604 | struct frame **updated | 10620 | struct frame **updated; |
| 10605 | = (struct frame **) alloca (size * sizeof *updated); | 10621 | |
| 10622 | FOR_EACH_FRAME (tail, frame) | ||
| 10623 | size++; | ||
| 10624 | |||
| 10625 | updated = (struct frame **) alloca (size * sizeof *updated); | ||
| 10606 | 10626 | ||
| 10607 | /* Recompute # windows showing selected buffer. This will be | 10627 | /* Recompute # windows showing selected buffer. This will be |
| 10608 | incremented each time such a window is displayed. */ | 10628 | incremented each time such a window is displayed. */ |