From: Stefan Monnier Date: Mon, 18 Jul 2022 21:39:55 +0000 (-0400) Subject: (help-fns--first-release): Try and avoid false positives X-Git-Tag: emacs-29.0.90~1447^2~858 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c32212bf966523e3a3153c5ad2c131d140aeff8a;p=emacs.git (help-fns--first-release): Try and avoid false positives We used to use a very "optimistic" regexp which worked well for longish symbol names but suffered from too many false positives on short names. Use a more restrictive regexp, which should make the recent "weed out" change unnecessary. This in turn requires the use of '...' more consistently in etc/NEWS* files. * lisp/help-fns.el (help-fns--first-release-regexp): New function. (help-fns--first-release): Use it. Fix minor issue with the Emacs version regexp. (help-fns--mention-first-release): Undo last change. * etc/NEWS*: Replace `...' with '...'. Indent code examples by at least 2 spaces. Add previously missing '...' quotes around many of the variables and functions described. --- diff --git a/etc/NEWS b/etc/NEWS index 28a883efc7a..5c4e55a9ea2 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1105,9 +1105,9 @@ in Dired mode by default. The user options 'dired-bind-man' and To get the old behavior back and unbind these keys in Dired mode, add the following to your Init file: -(with-eval-after-load 'dired - (keymap-set dired-mode-map "N" nil) - (keymap-set dired-mode-map "I" nil)) + (with-eval-after-load 'dired + (keymap-set dired-mode-map "N" nil) + (keymap-set dired-mode-map "I" nil)) --- *** New command 'dired-do-eww'. diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17 index ee6fa82b29f..9d7bacc9ec8 100644 --- a/etc/NEWS.1-17 +++ b/etc/NEWS.1-17 @@ -41,10 +41,10 @@ that Emacs has not been run on before. See etc/MACHINES. -** Portable `alloca' provided. +** Portable 'alloca' provided. Emacs can now run on machines that do not and cannot support the library -subroutine `alloca' in the canonical fashion, using an `alloca' emulation +subroutine 'alloca' in the canonical fashion, using an 'alloca' emulation written in C. ** On-line manual. @@ -74,39 +74,39 @@ highest previously used. Thus, the active, current file does not have a version number. Only the backups have them. -This feature is controlled by the variable `version-control'. If it -is `nil', as normally, then numbered backups are made only for files +This feature is controlled by the variable 'version-control'. If it +is 'nil', as normally, then numbered backups are made only for files that already have numbered backups. Backup names with just `~' are used for files that have no numbered backups. -If `version-control' is `never', then the backup file's name is +If 'version-control' is 'never', then the backup file's name is made with just `~' in any case. -If `version-control' is not `nil' or `never', numbered backups are +If 'version-control' is not 'nil' or 'never', numbered backups are made unconditionally. To prevent unlimited consumption of disk space, Emacs can delete old backup versions automatically. Generally Emacs keeps the first few backups and the latest few backups, deleting any in between. This happens every time a new backup is made. The two variables that -control the deletion are `kept-old-versions' and `kept-new-versions'. +control the deletion are 'kept-old-versions' and 'kept-new-versions'. Their values are, respectively, the number of oldest backups to keep and the number of newest ones to keep, each time a new backup is made. -The value of `kept-new-versions' includes the backup just created. +The value of 'kept-new-versions' includes the backup just created. By default, both values are 2. -If `trim-versions-without-asking' is non-`nil', the excess middle versions -are deleted without a murmur. If it is `nil', the default, then you +If 'trim-versions-without-asking' is non-'nil', the excess middle versions +are deleted without a murmur. If it is 'nil', the default, then you are asked whether the excess middle versions should really be deleted. Dired has a new command `.' which marks for deletion all but the latest -and oldest few of every numeric series of backups. `kept-old-versions' -controls the number of oldest versions to keep, and `dired-kept-versions' +and oldest few of every numeric series of backups. 'kept-old-versions' +controls the number of oldest versions to keep, and 'dired-kept-versions' controls the number of latest versions to keep. A numeric argument to the `.' command, if positive, specifies the number of latest versions -to keep, overriding `dired-kept-versions'. A negative argument specifies +to keep, overriding 'dired-kept-versions'. A negative argument specifies the number of oldest versions to keep, using minus the argument to override -`kept-old-versions'. +'kept-old-versions'. ** Immediate conflict detection. @@ -182,17 +182,17 @@ is now C-c C-o, and C-x C-v (show output) is now C-c C-r. The old M-= (copy previous input) command is now C-c C-y. -** Shell mode recognizes aliases for `pushd', `popd' and `cd'. +** Shell mode recognizes aliases for 'pushd', 'popd' and 'cd'. -Shell mode now uses the variable `shell-pushd-regexp' as a +Shell mode now uses the variable 'shell-pushd-regexp' as a regular expression to recognize any command name that is -equivalent to a `pushd' command. By default it is set up -to recognize just `pushd' itself. If you use aliases for -`pushd', change the regexp to recognize them as well. +equivalent to a 'pushd' command. By default it is set up +to recognize just 'pushd' itself. If you use aliases for +'pushd', change the regexp to recognize them as well. -There are also `shell-popd-regexp' to recognize commands -with the effect of a `popd', and `shell-cd-regexp' to recognize -commands with the effect of a `cd'. +There are also 'shell-popd-regexp' to recognize commands +with the effect of a 'popd', and 'shell-cd-regexp' to recognize +commands with the effect of a 'cd'. ** "Exit" command in certain modes now C-c C-c. @@ -203,7 +203,7 @@ modes, the command to exit used to be just C-c. ** Outline mode changes. Lines that are not heading lines are now called "body" lines. -The command `hide-text' is renamed to `hide-body'. +The command 'hide-text' is renamed to 'hide-body'. The key M-H is renamed to C-c C-h. The key M-S is renamed to C-c C-s. The key M-s is renamed to C-c C-i. @@ -229,7 +229,7 @@ o now outputs to an Rmail file, and C-o to a Unix mail file. The F command (rmail-find) is renamed to M-s (rmail-search). Various new commands and features exist; see the Emacs manual. -** Local bindings described first in describe-bindings. +** Local bindings described first in 'describe-bindings'. ** [...], {...} now balance in Fundamental mode. @@ -238,9 +238,9 @@ Various new commands and features exist; see the Emacs manual. There are two new major modes for editing nroff input and TeX input. See the Emacs manual for full information. -** New C indentation style variable `c-brace-imaginary-offset'. +** New C indentation style variable 'c-brace-imaginary-offset'. -The value of `c-brace-imaginary-offset', normally zero, controls the +The value of 'c-brace-imaginary-offset', normally zero, controls the indentation of a statement inside a brace-group where the open-brace is not the first thing on a line. The value says where the open-brace is imagined to be, relative to the first nonblank character on the line. @@ -251,47 +251,47 @@ Dired now normally keeps the cursor at the beginning of the file name, not at the beginning of the line. The most used motion commands are redefined in Dired to position the cursor this way. -`n' and `p' are now equivalent in dired to `C-n' and `C-p'. +'n' and 'p' are now equivalent in dired to 'C-n' and 'C-p'. If any files to be deleted cannot be deleted, their names are printed in an error message. -If the `v' command is invoked on a file which is a directory, +If the 'v' command is invoked on a file which is a directory, dired is run on that directory. -** `visit-tag-table' renamed `visit-tags-table'. +** 'visit-tag-table' renamed 'visit-tags-table'. -This is so apropos of `tags' finds everything you need to +This is so apropos of 'tags' finds everything you need to know about in connection with Tags. -** `mh-e' library uses C-c as prefix. +** 'mh-e' library uses C-c as prefix. -All the special commands of `mh-rmail' now are placed on a +All the special commands of 'mh-rmail' now are placed on a C-c prefix rather than on the C-x prefix. This is for consistency with other special modes with their own commands. -** M-$ or `spell-word' checks word before point. +** M-$ or 'spell-word' checks word before point. It used to check the word after point. ** Quitting during autoloading no longer causes trouble. Now, when a file is autoloaded, all function redefinitions -and `provide' calls are recorded and are undone if you quit +and 'provide' calls are recorded and are undone if you quit before the file is finished loading. As a result, it no longer happens that some of the entry points which are normally autoloading have been defined already, but the entire file is not really present to support them. -** `else' can now be indented correctly in C mode. +** 'else' can now be indented correctly in C mode. -TAB in C mode now knows which `if' statement an `else' matches -up with, and can indent the `else' correctly under the `if', -even if the `if' contained such things as another `if' statement, -or a `while' or `for' statement, with no braces around it. +TAB in C mode now knows which 'if' statement an 'else' matches +up with, and can indent the 'else' correctly under the 'if', +even if the 'if' contained such things as another 'if' statement, +or a 'while' or 'for' statement, with no braces around it. -** `batch-byte-compile' +** 'batch-byte-compile' Runs byte-compile-file on the files specified on the command line. All the rest of the command line arguments are taken as files to @@ -300,10 +300,10 @@ Must be used only with -batch, and kills emacs on completion. Each file will be processed even if an error occurred previously. For example, invoke `emacs -batch -f batch-byte-compile *.el'. -** `-batch' changes. +** '-batch' changes. -`-batch' now implies `-q': no init file is loaded by Emacs when -`-batch' is used. Also, no `term/TERMTYPE.el' file is loaded. Auto +'-batch' now implies '-q': no init file is loaded by Emacs when +'-batch' is used. Also, no `term/TERMTYPE.el' file is loaded. Auto saving is not done except in buffers in which it is explicitly requested. Also, many echo-area printouts describing what is going on are inhibited in batch mode, so that the only output you get is the @@ -311,7 +311,7 @@ output you program specifically. One echo-area message that is not suppressed is the one that says that a file is being loaded. That is because you can prevent this -message by passing `t' as the third argument to `load'. +message by passing 't' as the third argument to 'load'. ** Display of search string in incremental search. @@ -324,12 +324,12 @@ is actually going on. ** View commands. The commands C-x ], C-x [, C-x /, C-x j and C-x o are now -available inside `view-buffer' and `view-file', with their +available inside 'view-buffer' and 'view-file', with their normal meanings. ** Full-width windows preferred. -The ``other-window'' commands prefer other full width windows, +The 'other-window' commands prefer other full width windows, and will split only full width windows. ** M-x rename-file can copy if necessary. @@ -367,7 +367,7 @@ distance rather than a single column if used with no argument. ** Auto Save Files Deleted. -The default value of `delete-auto-save-files' is now `t', so that +The default value of 'delete-auto-save-files' is now 't', so that when you save a file for real, its auto save file is deleted. ** Rnews changes. @@ -392,18 +392,18 @@ to specify files in which copies of the message should be put. The message is written into those files in Unix mail file format. The message as sent does not contain any Fcc fields in its header. You can use any number of Fcc fields, but only one file name in each one. -The variable `mail-archive-file-name', if non-`nil', can be a string +The variable 'mail-archive-file-name', if non-'nil', can be a string which is a file name; an Fcc to that file will be inserted in every message when you begin to compose it. A new command C-c q now exists in Mail mode. It fills the paragraphs of an old message that had been inserted with C-c y. -When the *mail* buffer is put in Mail mode, text-mode-hook -is now run in addition to mail-mode-hook. text-mode-hook +When the *mail* buffer is put in Mail mode, 'text-mode-hook' +is now run in addition to 'mail-mode-hook'. text-mode-hook is run first. -The new variable `mail-header-separator' now specifies the string +The new variable 'mail-header-separator' now specifies the string to use on the line that goes between the headers and the message text. By default it is still "--text follows this line--". @@ -434,38 +434,38 @@ with (defun foo-1 (x y z) ... -** Functions `region-to-string' and `region-around-match' removed. +** Functions 'region-to-string' and 'region-around-match' removed. These functions were made for compatibility with Gosling Emacs, but it turns out to be undesirable to use them in GNU Emacs because they use the mark. They have been eliminated from Emacs proper, but are present in mlsupport.el for the sake of converted mocklisp programs. -If you were using `region-to-string', you should instead use -`buffer-substring'; then you can pass the bounds as arguments and +If you were using 'region-to-string', you should instead use +'buffer-substring'; then you can pass the bounds as arguments and can avoid setting the mark. -If you were using `region-around-match', you can use instead -the two functions `match-beginning' and `match-end'. These give +If you were using 'region-around-match', you can use instead +the two functions 'match-beginning' and 'match-end'. These give you one bound at a time, as a numeric value, without changing point or the mark. -** Function `function-type' removed. +** Function 'function-type' removed. This just appeared not to be very useful. It can easily be written in -Lisp if you happen to want it. Just use `symbol-function' to get the +Lisp if you happen to want it. Just use 'symbol-function' to get the function definition of a symbol, and look at its data type or its car if it is a list. -** Variable `buffer-number' removed. +** Variable 'buffer-number' removed. -You can still use the function `buffer-number' to find out +You can still use the function 'buffer-number' to find out a buffer's unique number (assigned in order of creation). -** Variable `executing-macro' renamed `executing-kbd-macro'. +** Variable 'executing-macro' renamed 'executing-kbd-macro'. This variable is the currently executing keyboard macro, as -a string, or `nil' when no keyboard macro is being executed. +a string, or 'nil' when no keyboard macro is being executed. ** Loading term/$TERM. @@ -478,15 +478,15 @@ term-$TERM; thus, for example, term-vt100.el, but now they live in a special subdirectory named term, and have names like term/vt100.el. -** `command-history' format changed. +** 'command-history' format changed. The elements of this list are now Lisp expressions which can be evaluated directly to repeat a command. ** Unused editing commands removed. -The functions `forward-to-word', `backward-to-word', -`upcase-char', `mark-beginning-of-buffer' and `mark-end-of-buffer' +The functions 'forward-to-word', 'backward-to-word', +'upcase-char', 'mark-beginning-of-buffer' and 'mark-end-of-buffer' have been removed. Their definitions can be found in file lisp/unused.el if you need them. @@ -496,53 +496,53 @@ lisp/unused.el if you need them. ** You can now continue after errors and quits. When the debugger is entered because of a C-g, due to -a non-`nil' value of `debug-on-quit', the `c' command in the debugger +a non-'nil' value of 'debug-on-quit', the 'c' command in the debugger resumes execution of the code that was running when the quit happened. -Use the `q' command to go ahead and quit. +Use the 'q' command to go ahead and quit. The same applies to some kinds of errors, but not all. Errors -signaled with the Lisp function `signal' can be continued; the `c' -command causes `signal' to return. The `r' command causes `signal' to -return the value you specify. The `c' command is equivalent to `r' -with the value `nil'. +signaled with the Lisp function 'signal' can be continued; the 'c' +command causes 'signal' to return. The 'r' command causes 'signal' to +return the value you specify. The 'c' command is equivalent to 'r' +with the value 'nil'. -For a `wrong-type-argument' error, the value returned with the `r' +For a 'wrong-type-argument' error, the value returned with the 'r' command is used in place of the invalid argument. If this new value is not valid, another error occurs. -Errors signaled with the function `error' cannot be continued. +Errors signaled with the function 'error' cannot be continued. If you try to continue, the error just happens again. -** `dot' renamed `point'. +** 'dot' renamed 'point'. -The word `dot' has been replaced with `point' in all +The word 'dot' has been replaced with 'point' in all function and variable names, including: - point, point-min, point-max, - point-marker, point-min-marker, point-max-marker, - window-point, set-window-point, - point-to-register, register-to-point, - exchange-point-and-mark. + 'point', 'point-min', 'point-max', + 'point-marker', 'point-min-marker', 'point-max-marker', + 'window-point', 'set-window-point', + 'point-to-register', 'register-to-point', + 'exchange-point-and-mark'. The old names are still supported, for now. -** `string-match' records position of end of match. +** 'string-match' records position of end of match. -After a successful call to `string-match', `(match-end 0)' will +After a successful call to 'string-match', `(match-end 0)' will return the index in the string of the first character after the match. -Also, `match-begin' and `match-end' with nonzero arguments can be +Also, 'match-begin' and 'match-end' with nonzero arguments can be used to find the indices of beginnings and ends of substrings matched by subpatterns surrounded by parentheses. -** New function `insert-before-markers'. +** New function 'insert-before-markers'. -This function is just like `insert' except in the handling of any +This function is just like 'insert' except in the handling of any relocatable markers that are located at the point of insertion. -With `insert', such markers end up pointing before the inserted text. -With `insert-before-markers', they end up pointing after the inserted +With 'insert', such markers end up pointing before the inserted text. +With 'insert-before-markers', they end up pointing after the inserted text. -** New function `copy-alist'. +** New function 'copy-alist'. This function takes one argument, a list, and makes a disjoint copy of the alist structure. The list itself is copied, and each element @@ -550,32 +550,32 @@ that is a cons cell is copied, but the cars and cdrs of elements remain shared with the original argument. This is what it takes to get two alists disjoint enough that changes -in one do not change the result of `assq' on the other. +in one do not change the result of 'assq' on the other. -** New function `copy-keymap'. +** New function 'copy-keymap'. This function takes a keymap as argument and returns a new keymap containing initially the same bindings. Rebindings in either one of them will not alter the bindings in the other. -** New function `copy-syntax-table'. +** New function 'copy-syntax-table'. This function takes a syntax table as argument and returns a new syntax table containing initially the same syntax settings. Changes in either one of them will not alter the other. -** Randomizing the random numbers. +** Randomizing the 'random' numbers. `(random t)' causes the random number generator's seed to be set based on the current time and Emacs's process id. -** Third argument to `modify-syntax-entry'. +** Third argument to 'modify-syntax-entry'. -The optional third argument to `modify-syntax-entry', if specified +The optional third argument to 'modify-syntax-entry', if specified should be a syntax table. The modification is made in that syntax table rather than in the current syntax table. -** New function `run-hooks'. +** New function 'run-hooks'. This function takes any number of symbols as arguments. It processes the symbols in order. For each symbol which @@ -584,29 +584,29 @@ called as a function, with no arguments. This is useful in major mode commands. -** Second arg to `switch-to-buffer'. +** Second arg to 'switch-to-buffer'. -If this function is given a non-`nil' second argument, then the +If this function is given a non-'nil' second argument, then the selection being done is not recorded on the selection history. The buffer's position in the history remains unchanged. This feature is used by the view commands, so that the selection history after exiting from viewing is the same as it was before. -** Second arg to `display-buffer' and `pop-to-buffer'. +** Second arg to 'display-buffer' and 'pop-to-buffer'. These two functions both accept an optional second argument which -defaults to `nil'. If the argument is not `nil', it means that +defaults to 'nil'. If the argument is not 'nil', it means that another window (not the selected one) must be found or created to display the specified buffer in, even if it is already shown in the selected window. -This feature is used by `switch-to-buffer-other-window'. +This feature is used by 'switch-to-buffer-other-window'. -** New variable `completion-ignore-case'. +** New variable 'completion-ignore-case'. -If this variable is non-`nil', completion allows strings +If this variable is non-'nil', completion allows strings in different cases to be considered matching. The global value -is `nil' +is 'nil' This variable exists for the sake of commands that are completing an argument in which case is not significant. It is possible @@ -617,13 +617,13 @@ where case makes a difference. ** Major modes related to Text mode call text-mode-hook, then their own hooks. For example, turning on Outline mode first calls the value of -`text-mode-hook' as a function, if it exists and is non-`nil', -and then does likewise for the variable `outline-mode-hook'. +'text-mode-hook' as a function, if it exists and is non-'nil', +and then does likewise for the variable 'outline-mode-hook'. ** Defining new command line switches. You can define a new command line switch in your .emacs file -by putting elements on the value of `command-switch-alist'. +by putting elements on the value of 'command-switch-alist'. Each element of this list should look like (SWITCHSTRING . FUNCTION) where SWITCHSTRING is a string containing the switch to be @@ -633,35 +633,35 @@ receives the command line argument, a string, as its argument. To implement a switch that uses up one or more following arguments, use the fact that the remaining command line arguments are kept -as a list in the variable `command-line-args'. FUNCTION can +as a list in the variable 'command-line-args'. FUNCTION can examine this variable, and do (setq command-line-args (cdr command-line-args) to "use up" an argument. -** New variable `load-in-progress'. +** New variable 'load-in-progress'. -This variable is non-`nil' when a file of Lisp code is being read -and executed by `load'. +This variable is non-'nil' when a file of Lisp code is being read +and executed by 'load'. -** New variable `print-length'. +** New variable 'print-length'. -The value of this variable is normally `nil'. It may instead be -a number; in that case, when a list is printed by `prin1' or -`princ' only that many initial elements are printed; the rest are +The value of this variable is normally 'nil'. It may instead be +a number; in that case, when a list is printed by 'prin1' or +'princ' only that many initial elements are printed; the rest are replaced by `...'. -** New variable `find-file-not-found-hook'. +** New variable 'find-file-not-found-hook'. -If `find-file' or any of its variants is used on a nonexistent file, -the value of `find-file-not-found-hook' is called (if it is not `nil') +If 'find-file' or any of its variants is used on a nonexistent file, +the value of 'find-file-not-found-hook' is called (if it is not 'nil') with no arguments, after creating an empty buffer. The file's name -can be found as the value of `buffer-file-name'. +can be found as the value of 'buffer-file-name'. ** Processes without buffers. -In the function `start-process', you can now specify `nil' as -the process's buffer. You can also set a process's buffer to `nil' -using `set-process-buffer'. +In the function 'start-process', you can now specify 'nil' as +the process's buffer. You can also set a process's buffer to 'nil' +using 'set-process-buffer'. The reason you might want to do this is to prevent the process from being killed because any particular buffer is killed. @@ -672,18 +672,18 @@ When a process has no buffer, its output is lost unless it has a filter, and no indication of its being stopped or killed is given unless it has a sentinel. -** New function `user-variable-p'. `v' arg prompting changed. +** New function 'user-variable-p'. 'v' arg prompting changed. -This function takes a symbol as argument and returns `t' if +This function takes a symbol as argument and returns 't' if the symbol is defined as a user option variable. This means -that it has a `variable-documentation' property whose value is +that it has a 'variable-documentation' property whose value is a string starting with `*'. -Code `v' in an interactive arg reading string now accepts +Code 'v' in an interactive arg reading string now accepts user variables only, and completion is limited to the space of user variables. -The function `read-variable' also now accepts and completes +The function 'read-variable' also now accepts and completes over user variables only. ** CBREAK mode input is the default in Unix 4.3 bsd. @@ -691,33 +691,33 @@ over user variables only. In Berkeley 4.3 Unix, there are sufficient features for Emacs to work fully correctly using CBREAK mode and not using SIGIO. Therefore, this mode is the default when running under 4.3. -This mode corresponds to `nil' as the first argument to -`set-input-mode'. You can still select either mode by calling +This mode corresponds to 'nil' as the first argument to +'set-input-mode'. You can still select either mode by calling that function. ** Information on memory usage. -The new variable `data-bytes-used' contains the number +The new variable 'data-bytes-used' contains the number of bytes of impure space allocated in Emacs. -`data-bytes-free' contains the number of additional bytes +'data-bytes-free' contains the number of additional bytes Emacs could allocate. Note that space formerly allocated -and freed again still counts as `used', since it is still +and freed again still counts as 'used', since it is still in Emacs's address space. -** No limit on size of output from `format'. +** No limit on size of output from 'format'. -The string output from `format' used to be truncated to +The string output from 'format' used to be truncated to 100 characters in length. Now it can have any length. -** New errors `void-variable' and `void-function' replace `void-symbol'. +** New errors 'void-variable' and 'void-function' replace 'void-symbol'. This change makes it possible to have error messages that clearly distinguish undefined variables from undefined functions. -It also allows `condition-case' to handle one case without the other. +It also allows 'condition-case' to handle one case without the other. -** `replace-match' handling of `\'. +** 'replace-match' handling of `\'. -In `replace-match', when the replacement is not literal, +In 'replace-match', when the replacement is not literal, `\' in the replacement string is always treated as an escape marker. The only two special `\' constructs are `\&' and `\DIGIT', so `\' followed by anything other than @@ -728,21 +728,21 @@ This level of escaping is comparable with what goes on in a regular expression. It is over and above the level of `\' escaping that goes on when strings are read in Lisp syntax. -** New error `invalid-regexp'. +** New error 'invalid-regexp'. A regexp search signals this type of error if the argument does not meet the rules for regexp syntax. -** `kill-emacs' with argument. +** 'kill-emacs' with argument. If the argument is a number, it is returned as the exit status code of the Emacs process. If the argument is a string, its contents are stuffed as pending terminal input, to be read by another program after Emacs is dead. -** New fifth argument to `subst-char-in-region'. +** New fifth argument to 'subst-char-in-region'. -This argument is optional and defaults to `nil'. If it is not `nil', +This argument is optional and defaults to 'nil'. If it is not 'nil', then the substitutions made by this function are not recorded in the Undo mechanism. @@ -757,25 +757,25 @@ another while in the debugger. Exiting from the debugger kills the `*Backtrace*' buffer, so you will not try to give commands in it when no longer really in the debugger. -** New function `switch-to-buffer-other-window'. +** New function 'switch-to-buffer-other-window'. This is the new primitive to select a specified buffer (the argument) in another window. It is not quite the same as -`pop-to-buffer', because it is guaranteed to create another +'pop-to-buffer', because it is guaranteed to create another window (assuming there is room on the screen) so that it can leave the current window's old buffer displayed as well. All functions to select a buffer in another window should do so by calling this new function. -** New variable `minibuffer-help-form'. +** New variable 'minibuffer-help-form'. -At entry to the minibuffer, the variable `help-form' is bound -to the value of `minibuffer-help-form'. +At entry to the minibuffer, the variable 'help-form' is bound +to the value of 'minibuffer-help-form'. -`help-form' is expected at all times to contain either `nil' +'help-form' is expected at all times to contain either 'nil' or an expression to be executed when C-h is typed (overriding -the definition of C-h as a command). `minibuffer-help-form' +the definition of C-h as a command). 'minibuffer-help-form' can be used to provide a different default way of handling C-h while in the minibuffer. @@ -791,7 +791,7 @@ be quoted with a second `\', to include it in the doc string.) This construct is normally used on a line by itself, with no blank lines before or after. -For example, the documentation string for the function `c-mode' contains +For example, the documentation string for the function 'c-mode' contains ... Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. @@ -803,13 +803,13 @@ For example, the documentation string for the function `c-mode' contains Punctuation characters behave like whitespace in word and list parsing, but can be distinguished in regexps and in the -function `char-syntax'. Punctuation syntax is represented by -a period in `modify-syntax-entry'. +function 'char-syntax'. Punctuation syntax is represented by +a period in 'modify-syntax-entry'. -** `auto-mode-alist' no longer needs entries for backup-file names, +** 'auto-mode-alist' no longer needs entries for backup-file names, Backup suffixes of all kinds are now stripped from a file's name -before searching `auto-mode-alist'. +before searching 'auto-mode-alist'. @@ -846,14 +846,14 @@ arguments and then confirm, or abort with C-g. ** Incremental search does less redisplay on slow terminals. -If the terminal baud rate is <= the value of `isearch-slow-speed', +If the terminal baud rate is <= the value of 'isearch-slow-speed', incremental searching outside the text on the screen creates a single-line window and uses that to display the line on which a match has been found. Exiting or quitting the search restores the previous window configuration and redisplays the window you were searching in. -The initial value of `isearch-slow-speed' is 1200. +The initial value of 'isearch-slow-speed' is 1200. This feature is courtesy of crl@purdue. @@ -871,17 +871,17 @@ if you know enough to switch windows while in the minibuffer, you can probably understand recursive minibuffers. This may be overridden by binding the variable -`enable-recursive-minibuffers' to t. +'enable-recursive-minibuffers' to t. ** New major mode Emacs-Lisp mode, for editing Lisp code to run in Emacs. -The mode in which emacs lisp files is edited is now called emacs-lisp-mode -and is distinct from lisp-mode. The latter is intended for use with -lisps external to emacs. +The mode in which emacs lisp files is edited is now called 'emacs-lisp-mode' +and is distinct from 'lisp-mode'. The latter is intended for use with +lisps external to Emacs. The hook which is funcalled (if non-nil) on entry to elisp-mode is now -called emacs-lisp-mode-hook. A consequence of this changes is that -.emacs init files which set the value of lisp-mode-hook may need to be +called 'emacs-lisp-mode-hook'. A consequence of this changes is that +.emacs init files which set the value of 'lisp-mode-hook' may need to be changed to use the new names. ** Correct matching of parentheses is checked on insertion. @@ -898,18 +898,18 @@ This feature was originally written by shane@mit-ajax. ** M-x command-history-mode ** M-x electric-command-history -`list-command-history' displays forms from the command history subject +'list-command-history' displays forms from the command history subject to user controlled filtering and limit on number of forms. It leaves -the buffer in `command-history-mode'. M-x command-history-mode +the buffer in 'command-history-mode'. M-x command-history-mode recomputes the command history each time it is invoked via -`list-command-history'. It is like Emacs-Lisp mode except that characters +'list-command-history'. It is like Emacs-Lisp mode except that characters don't insert themselves and provision is made for re-evaluating an -expression from the list. `electric-command-history' pops up a type +expression from the list. 'electric-command-history' pops up a type out window with the command history displayed. If the very next character is Space, the window goes away and the previous window configuration is restored. Otherwise you can move around in the history and select an expression for evaluation *inside* the buffer -which invoked `electric-command-history'. The original window +which invoked 'electric-command-history'. The original window configuration is restored on exit unless the command selected changes it. @@ -924,7 +924,7 @@ Special commands for hacking tabs and tab stops are provided. Special commands for killing rectangles and overlaying them are provided. See the documentation of function edit-picture for more details. -Calls value of `edit-picture-hook' on entry if non-nil. +Calls value of 'edit-picture-hook' on entry if non-nil. ** Stupid C-s/C-q `flow control' supported. @@ -977,15 +977,15 @@ lisp-mode-hook, in that order, if non-nil. Meanwhile, in lisp-mode, the command C-M-x is defined to send the current defun as input to the `*lisp*' subprocess. -** Mode line says `Narrow' when buffer is clipped. +** Mode line says 'Narrow' when buffer is clipped. -If a buffer has a clipping restriction (made by `narrow-to-region') -then its mode line contains the word `Narrow' after the major and +If a buffer has a clipping restriction (made by 'narrow-to-region') +then its mode line contains the word 'Narrow' after the major and minor modes. -** Mode line says `Abbrev' when abbrev mode is on. +** Mode line says 'Abbrev' when abbrev mode is on. -** add-change-log-entry takes prefix argument +** 'add-change-log-entry' takes prefix argument Giving a prefix argument makes it prompt for login name, full name, and site name, with defaults. Otherwise the defaults are used @@ -994,27 +994,27 @@ with no confirmation. ** M-x view-buffer and M-x view-file view-buffer selects the named buffer, view-file finds the named file; the -resulting buffer is placed into view-mode (a recursive edit). The normal +resulting buffer is placed into 'view-mode' (a recursive edit). The normal emacs commands are not available. Instead a set of special commands is provided which facilitate moving around in the buffer, searching and scrolling by screenfuls. Exiting view-mode returns to the buffer in which the view-file or view-buffer command was given. Type ? or h when viewing for a complete list of view commands. -Each calls value of `view-hook' if non-nil on entry. +Each calls value of 'view-hook' if non-nil on entry. written by shane@mit-ajax. ** New key commands in dired. -`v' views (like more) the file on the current line. +'v' views (like more) the file on the current line. `#' marks auto-save files for deletion. `~' marks backup files for deletion. -`r' renames a file and updates the directory listing if the +'r' renames a file and updates the directory listing if the file is renamed to same directory. -`c' copies a file and updates the directory listing if the file is +'c' copies a file and updates the directory listing if the file is copied to the same directory. -** New function `electric-buffer-list'. +** New function 'electric-buffer-list'. This pops up a buffer describing the set of emacs buffers. Immediately typing space makes the buffer list go away and returns @@ -1026,18 +1026,18 @@ cursor's line. There are a number of other commands which are the same as those of buffer-menu-mode. This is a useful thing to bind to c-x c-b in your `.emacs' file if the -rather non-standard `electric' behavior of the buffer list suits your taste. +rather non-standard 'electric' behavior of the buffer list suits your taste. Type C-h after invoking electric-buffer-list for more information. -Calls value of `electric-buffer-menu-mode-hook' if non-nil on entry. -Calls value of `after-electric-buffer-menu' on exit (select) if non-nil. +Calls value of 'electric-buffer-menu-mode-hook' if non-nil on entry. +Calls value of 'after-electric-buffer-menu' on exit (select) if non-nil. ** Changes in version 16 for mail reading and sending *** sendmail prefix character is C-c (and not C-z). New command C-c w. For instance C-c C-c (or C-c C-s) sends mail now rather than C-z C-z. -C-c w inserts your `signature' (contents of ~/.signature) at the end +C-c w inserts your 'signature' (contents of ~/.signature) at the end of mail. *** New feature in C-c y command in sending mail. @@ -1063,26 +1063,26 @@ C-c and C-] are the only ways "back into Rmail", but you can switch to other buffers and edit them as usual. C-r in Rmail changes only the handling of the Rmail buffer. -*** Rmail command `t' toggles header display. +*** Rmail command 't' toggles header display. Normally Rmail reformats messages to hide most header fields. -`t' switches to display of all the header fields of the +'t' switches to display of all the header fields of the current message, as long as it remains current. -Another `t' switches back to the usual display. +Another 't' switches back to the usual display. *** Rmail command '>' goes to the last message. -*** Rmail commands `a' and `k' set message attributes. -`a' adds an attribute and `k' removes one. You specify +*** Rmail commands 'a' and 'k' set message attributes. +'a' adds an attribute and 'k' removes one. You specify the attribute by name. You can specify either a built-in flag such as "deleted" or "filed", or a user-defined keyword (anything not recognized as built-in). -*** Rmail commands `l' and `L' summarize by attributes. +*** Rmail commands 'l' and 'L' summarize by attributes. These commands create a summary with one line per message, -like `h', but they list only some of the messages. You -specify which attribute (for `l') or attributes (for `L') +like 'h', but they list only some of the messages. You +specify which attribute (for 'l') or attributes (for 'L') the messages should have. *** Rmail can parse mmdf mail files. @@ -1092,11 +1092,11 @@ the messages should have. mh-e is a front end for GNU emacs and the MH mail system. It provides a friendly and convenient interface to the MH commands. -To read mail, invoke mh-rmail. This will inc new mail and display the +To read mail, invoke 'mh-rmail'. This will inc new mail and display the scan listing on the screen. To see a summary of the mh-e commands, type ?. Help is available through the usual facilities. -To send mail, invoke mh-smail. +To send mail, invoke 'mh-smail'. mh-e requires a copy of MH.5 that has been compiled with the MHE compiler switch. @@ -1105,39 +1105,39 @@ From larus@berkeley. ** New hooks and parameters in version 16 -*** New variable `blink-matching-paren-distance'. +*** New variable 'blink-matching-paren-distance'. This is the maximum number of characters to search for an open-paren to match an inserted close-paren. The matching open-paren is shown and checked if it is found within this distance. -`nil' means search all the way to the beginning of the buffer. +'nil' means search all the way to the beginning of the buffer. In this case, a warning message is printed if no matching open-paren is found. This feature was originally written by shane@mit-ajax. -*** New variable `find-file-run-dired' +*** New variable 'find-file-run-dired' If nil, find-file will report an error if an attempt to visit a directory is detected; otherwise, it runs dired on that directory. The default is t. -*** Variable `dired-listing-switches' holds switches given to `ls' by dired. +*** Variable 'dired-listing-switches' holds switches given to 'ls' by dired. -The value should be a string containing `-' followed by letters. -The letter `l' had better be included and letter 'F' had better be excluded! +The value should be a string containing '-' followed by letters. +The letter 'l' had better be included and letter 'F' had better be excluded! The default is "-al". This feature was originally written by shane@mit-ajax. -*** New variable `display-time-day-and-date'. +*** New variable 'display-time-day-and-date'. -If this variable is set non-`nil', the function M-x display-time +If this variable is set non-'nil', the function M-x display-time displays the day and date, as well as the time. -*** New parameter `c-continued-statement-indent'. +*** New parameter 'c-continued-statement-indent'. This controls the extra indentation given to a line that continues a C statement started on the previous line. @@ -1147,19 +1147,20 @@ By default it is 2, which is why you would see bar (); -*** Changed meaning of `c-indent-level'. +*** Changed meaning of 'c-indent-level'. -The value of `c-brace-offset' used to be -subtracted from the value of `c-indent-level' whenever +The value of 'c-brace-offset' used to be +subtracted from the value of 'c-indent-level' whenever that value was used. Now it is not. -As a result, `c-indent-level' is now the offset of +As a result, 'c-indent-level' is now the offset of statements within a block, relative to the line containing the open-brace that starts the block. -*** turn-on-auto-fill is useful value for text-mode-hook. +*** 'turn-on-auto-fill' is useful value for 'text-mode-hook'. + + (setq text-mode-hook 'turn-on-auto-fill) -(setq text-mode-hook 'turn-on-auto-fill) is all you have to do to make sure Auto Fill mode is turned on whenever you enter Text mode. @@ -1187,8 +1188,8 @@ the following text, up to the next `]', is taken as a function name. Instead of printing that function name, the command that runs it is printed. (M-x is used to construct a command if no shorter one exists.) -For example, instead of putting `C-n' in a documentation string -to refer to the C-n command, put in `\[next-line]'. (In practice +For example, instead of putting 'C-n' in a documentation string +to refer to the 'next-line' command, put in `\[next-line]'. (In practice you will need to quote the backslash with another backslash, due to the syntax for strings in Lisp and C.) @@ -1197,34 +1198,34 @@ precede them with `\='. To include the characters `\=', precede them with `\='. For example, "\\=\\= is the way to quote \\=\\[" will come out as `\= is the way to quote \['. -The new function `substitute-command-keys' takes a string possibly +The new function 'substitute-command-keys' takes a string possibly containing \[...] constructs and replaces those constructs with the key sequences they currently stand for. -*** Primitives `find-line-comment' and `find-line-comment-body' flushed. +*** Primitives 'find-line-comment' and 'find-line-comment-body' flushed. -Search for the value of `comment-start-skip' if you want to find +Search for the value of 'comment-start-skip' if you want to find whether and where a line has a comment. -*** New function `auto-save-file-name-p' +*** New function 'auto-save-file-name-p' -Should return non-`nil' if given a string which is the name of an +Should return non-'nil' if given a string which is the name of an auto-save file (sans directory name). If you redefine -`make-auto-save-file-name', you should redefine this accordingly. By -default, this function returns `t' for filenames beginning with +'make-auto-save-file-name', you should redefine this accordingly. By +default, this function returns 't' for filenames beginning with character `#'. -*** The value of `exec-directory' now ends in a slash. +*** The value of 'exec-directory' now ends in a slash. This is to be compatible with most directory names in GNU Emacs. *** Dribble files and termscript files. -(open-dribble-file FILE) opens a dribble file named FILE. When a +'open-dribble-file' opens a dribble file. When a dribble file is open, every character Emacs reads from the terminal is written to the dribble file. -(open-termscript FILE) opens a termscript file named FILE. When a +'open-termscript' opens a termscript file. When a termscript file is open, all characters sent to the terminal by Emacs are also written in the termscript file. @@ -1240,15 +1241,15 @@ a synonym for C-x u (undo). *** Undefined function errors versus undefined variable errors. -Void-symbol errors now say "boundp" if the symbol's value was void -or "fboundp" if the function definition was void. +Void-symbol errors now say 'boundp' if the symbol's value was void +or 'fboundp' if the function definition was void. -*** New function `bury-buffer'. +*** New function 'bury-buffer'. -The new function `bury-buffer' takes one argument, a buffer object, +The new function 'bury-buffer' takes one argument, a buffer object, and puts that buffer at the end of the internal list of buffers. So it is the least preferred candidate for use as the default value -of C-x b, or for other-buffer to return. +of C-x b, or for 'other-buffer' to return. *** Already-displayed buffers have low priority for display. @@ -1256,14 +1257,14 @@ When a buffer is chosen automatically for display, or to be the default in C-x b, buffers already displayed in windows have lower priority than buffers not currently visible. -*** `set-window-start' accepts a third argument NOFORCE. +*** 'set-window-start' accepts a third argument NOFORCE. This argument, if non-nil, prevents the window's force_start flag from being set. Setting the force_start flag causes the next redisplay to insist on starting display at the specified starting point, even if dot must be moved to get it onto the screen. -*** New function `send-string-to-terminal'. +*** New function 'send-string-to-terminal'. This function takes one argument, a string, and outputs its contents to the terminal exactly as specified: control characters, escape @@ -1273,9 +1274,9 @@ sequences, and all. The terminal's keypad is now put into command mode, as opposed to numeric mode, while Emacs is running. This is done by means of the -termcap `ks' and `ke' strings. +termcap 'ks' and 'ke' strings. -*** New function `generate-new-buffer' +*** New function 'generate-new-buffer' This function takes a string as an argument NAME and looks for a creates and returns a buffer called NAME if one did not already exist. @@ -1283,38 +1284,38 @@ Otherwise, it successively tries appending suffixes of the form "<1>", "<2>" etc to NAME until it creates a string which does not name an existing buffer. A new buffer with that name is the created and returned. -*** New function `prin1-to-string' +*** New function 'prin1-to-string' This function takes one argument, a lisp object, and returns a string -containing that object's printed representation, such as `prin1' +containing that object's printed representation, such as 'prin1' would output. -*** New function `read-from-minibuffer' +*** New function 'read-from-minibuffer' Lets you supply a prompt, initial-contents, a keymap, and specify whether the result should be interpreted as a string or a lisp object. -Old functions `read-minibuffer', `eval-minibuffer', `read-string' all +Old functions 'read-minibuffer', 'eval-minibuffer', 'read-string' all take second optional string argument which is initial contents of minibuffer. *** minibuffer variable names changed (names of keymaps) -minibuf-local-map -> minibuffer-local-map -minibuf-local-ns-map -> minibuffer-local-ns-map -minibuf-local-completion-map -> minibuffer-local-completion-map -minibuf-local-must-match-map -> minibuffer-local-must-match-map +'minibuf-local-map' -> 'minibuffer-local-map' +'minibuf-local-ns-map' -> 'minibuffer-local-ns-map' +'minibuf-local-completion-map' -> 'minibuffer-local-completion-map' +'minibuf-local-must-match-map' -> 'minibuffer-local-must-match-map' ** Changes in version 16 affecting configuring and building Emacs *** Configuration switch VT100_INVERSE eliminated. You can control the use of inverse video on any terminal by setting -the variable `inverse-video', or by changing the termcap entry. If -you like, set `inverse-video' in your `.emacs' file based on +the variable 'inverse-video', or by changing the termcap entry. If +you like, set 'inverse-video' in your `.emacs' file based on examination of (getenv "TERM"). -*** New switch `-batch' makes Emacs run noninteractively. +*** New switch '-batch' makes Emacs run noninteractively. -If the switch `-batch' is used, Emacs treats its standard output +If the switch '-batch' is used, Emacs treats its standard output and input like ordinary files (even if they are a terminal). It does not display buffers or windows; the only output to standard output is what would appear as messages in the echo area, and each @@ -1322,13 +1323,13 @@ message is followed by a newline. The terminal modes are not changed, so that C-z and C-c retain their normal Unix meanings. Emacs does still read commands from -the terminal, but the idea of `-batch' is that you use it with +the terminal, but the idea of '-batch' is that you use it with other command line arguments that tell Emacs a complete task to perform, -including killing itself. `-kill' used as the last argument is a good +including killing itself. '-kill' used as the last argument is a good way to accomplish this. -The Lisp variable `noninteractive' is now defined, to be `nil' -except when `-batch' has been specified. +The Lisp variable 'noninteractive' is now defined, to be 'nil' +except when '-batch' has been specified. *** Emacs can be built with output redirected to a file. @@ -1359,7 +1360,7 @@ This is because -batch (see above) is now used in building Emacs. Note that lisp code converted from Mocklisp code will not necessarily run as fast as code specifically written for GNU Emacs, nor will it use the many features of GNU Emacs which are not present in Gosling's emacs. - (In particular, the byte-compiler (m-x byte-compile-file) knows little + (In particular, the byte-compiler (M-x byte-compile-file) knows little about compilation of code directly converted from mocklisp.) It is envisaged that old mocklisp code will be incrementally converted to GNU lisp code, with M-x convert-mocklisp-buffer being the first @@ -1382,63 +1383,66 @@ This is because -batch (see above) is now used in building Emacs. specify the tag table file name initially, or to switch to a new tag table. -** If truncate-partial-width-windows is non-nil (as it initially is), +** If 'truncate-partial-width-windows' is non-nil (as it initially is), all windows less than the full screen width (that is, made by side-by-side splitting) truncate lines rather than continuing them. ** Emacs now checks for Lisp stack overflow to avoid fatal errors. - The depth in eval, apply and funcall may not exceed max-lisp-eval-depth. + The depth in 'eval', 'apply' and 'funcall' may not exceed + 'max-lisp-eval-depth'. The depth in variable bindings and unwind-protects may not exceed - max-specpdl-size. If either limit is exceeded, an error occurs. + 'max-specpdl-size'. If either limit is exceeded, an error occurs. You can set the limits to larger values if you wish, but if you make them too large, you are vulnerable to a fatal error if you invoke Lisp code that does infinite recursion. -** New hooks find-file-hook and write-file-hook. +** New hooks 'find-file-hook' and 'write-file-hook'. Both of these variables if non-nil should be functions of no arguments. At the time they are called (current-buffer) will be the buffer being read or written respectively. - find-file-hook is called whenever a file is read into its own buffer, - such as by calling find-file, revert-buffer, etc. It is not called by - functions such as insert-file which do not read the file into a buffer of + 'find-file-hook' is called whenever a file is read into its own buffer, + such as by calling 'find-file', 'revert-buffer', etc. It is not called by + functions such as 'insert-file' which do not read the file into a buffer of its own. - find-file-hook is called after the file has been read in and its + 'find-file-hook' is called after the file has been read in and its local variables (if any) have been processed. - write-file-hook is called just before writing out a file from a buffer. + 'write-file-hook' is called just before writing out a file from a buffer. -** The initial value of shell-prompt-pattern is now "^[^#$%>]*[#$%>] *" +** The initial value of 'shell-prompt-pattern' is now "^[^#$%>]*[#$%>] *" -** If the .emacs file sets inhibit-startup-message to non-nil, +** If the .emacs file sets 'inhibit-startup-message' to non-nil, the messages normally printed by Emacs at startup time are inhibited. ** Facility for run-time conditionalization on the basis of emacs features. - The new variable features is a list of symbols which represent "features" + The new variable 'features' is a list of symbols which represent "features" of the executing emacs, for use in run-time conditionalization. - The function featurep of one argument may be used to test for the + The function 'featurep' of one argument may be used to test for the presence of a feature. It is just the same as - (not (null (memq FEATURE features))) where FEATURE is its argument. - For example, (if (featurep 'magic-window-hack) - (transmogrify-window 'vertical) - (split-window-vertically)) + (not (null (memq FEATURE features))) + where FEATURE is its argument. For example, + + (if (featurep 'magic-window-hack) + (transmogrify-window 'vertical) + (split-window-vertically)) - The function provide of one argument "announces" that FEATURE is present. + The function 'provide' of one argument "announces" that FEATURE is present. It is much the same as (if (not (featurep FEATURE)) (setq features (cons FEATURE features))) - The function require with arguments FEATURE and FILE-NAME loads FILE-NAME + The function 'require' with arguments FEATURE and FILE-NAME loads FILE-NAME (which should contain the form (provide FEATURE)) unless FEATURE is present. It is much the same as (if (not (featurep FEATURE)) (progn (load FILE-NAME) (if (not featurep FEATURE) (error ...)))) FILE-NAME is optional and defaults to FEATURE. -** New function load-average. +** New function 'load-average'. This returns a list of three integers, which are the current 1 minute, 5 minute and 15 minute load averages, @@ -1460,10 +1464,10 @@ This is because -batch (see above) is now used in building Emacs. ** Programmer's note: detecting killed buffers. Buffers are eliminated by explicitly killing them, using - the function kill-buffer. This does not eliminate or affect + the function 'kill-buffer'. This does not eliminate or affect the pointers to the buffer which may exist in list structure. If you have a pointer to a buffer and wish to tell whether - the buffer has been killed, use the function buffer-name. + the buffer has been killed, use the function 'buffer-name'. It returns nil on a killed buffer, and a string on a live buffer. ** New ways to access the last command input character. @@ -1471,13 +1475,13 @@ This is because -batch (see above) is now used in building Emacs. The function last-key-struck, which used to return the last input character that was read by command input, is eliminated. Instead, you can find this information as the value of the - variable last-command-char. (This variable used to be called + variable 'last-command-char'. (This variable used to be called last-key). - Another new variable, last-input-char, holds the last character + Another new variable, 'last-input-char', holds the last character read from the command input stream regardless of what it was read for. last-input-char and last-command-char are different - only inside a command that has called read-char to read input. + only inside a command that has called 'read-char' to read input. ** The new switch -kill causes Emacs to exit after processing the preceding command line arguments. Thus, @@ -1517,9 +1521,9 @@ This is because -batch (see above) is now used in building Emacs. user can explain why it is not called mdl-mode. You must load the library mim-mode explicitly to use this. -** GNU documentation formatter `texinfo'. +** GNU documentation formatter 'texinfo'. - The `texinfo' library defines a format for documentation + The 'texinfo' library defines a format for documentation files which can be passed through Tex to make a printed manual or passed through texinfo to make an Info file. Texinfo is documented fully by its own Info file; compare this file @@ -1532,7 +1536,7 @@ This is because -batch (see above) is now used in building Emacs. This is not ready for distribution yet, but will appear at a later time. -** New function read-from-string (emacs 15.29) +** New function 'read-from-string' (emacs 15.29) read-from-string takes three arguments: a string to read from, and optionally start and end indices which delimit a substring @@ -1558,25 +1562,25 @@ This is because -batch (see above) is now used in building Emacs. These messages appear after the text in the minibuffer, and remain on the screen until a few seconds go by or you type a key. -** The buffer-read-only flag is implemented. +** The 'buffer-read-only' flag is implemented. Setting or binding this per-buffer variable to a non-nil value makes illegal any operation which would modify the textual content of the buffer. (Such operations signal a buffer-read-only error) - The read-only state of a buffer may be altered using toggle-read-only + The read-only state of a buffer may be altered using 'toggle-read-only' (C-x C-q) The buffers used by Rmail, Dired, Rnews, and Info are now read-only by default to prevent accidental damage to the information in those buffers. -** Functions car-safe and cdr-safe. +** Functions 'car-safe' and 'cdr-safe'. These functions are like car and cdr when the argument is a cons. Given an argument not a cons, car-safe always returns nil, with no error; the same for cdr-safe. -** The new function user-real-login-name returns the name corresponding +** The new function 'user-real-login-name' returns the name corresponding to the real uid of the Emacs process. This is usually the same - as what user-login-name returns; however, when Emacs is invoked - from su, user-real-login-name returns "root" but user-login-name + as what 'user-login-name' returns; however, when Emacs is invoked + from su, 'user-real-login-name' returns "root" but user-login-name returns the name of the user who invoked su. @@ -1603,7 +1607,7 @@ This is because -batch (see above) is now used in building Emacs. This syntax can be used in strings too. Note, however, that Meta characters are not meaningful in key sequences being passed - to define-key or lookup-key; you must use ESC characters (\e) + to 'define-key' or 'lookup-key'; you must use ESC characters (\e) in them instead. ?\C- can be used likewise for control characters. (13.9) @@ -1627,14 +1631,14 @@ This is because -batch (see above) is now used in building Emacs. This is a shift key which causes the high bit to be turned on in all input characters typed while it is held down. - read-char now returns a value in the range 128-255 if + 'read-char' now returns a value in the range 128-255 if a Meta character is typed. When interpreted as command input, a Meta character is equivalent to a two character sequence, the meta prefix character followed by the unmetized character (Meta-G unmetized is G). The meta prefix character - is specified by the value of the variable meta-prefix-char. + is specified by the value of the variable 'meta-prefix-char'. If this character (normally Escape) has been redefined locally with a non-prefix definition (such as happens in completing minibuffers) then the local redefinition is suppressed when @@ -1643,10 +1647,10 @@ This is because -batch (see above) is now used in building Emacs. explicitly, but not effective if the character comes from the use of the Meta key. -** `-' is no longer a completion command in the minibuffer. +** '-' is no longer a completion command in the minibuffer. It is an ordinary self-inserting character. -** The list load-path of directories load to search for Lisp files +** The list 'load-path' of directories load to search for Lisp files is now controlled by the EMACSLOADPATH environment variable [[ Note this was originally EMACS-LOAD-PATH and has been changed again; sh does not deal properly with hyphens in env variable names]] @@ -1720,20 +1724,20 @@ you will not on its account be queried about active subprocesses. ** The commands C-c and C-z have been interchanged, for greater compatibility with normal Unix usage. - C-z now runs suspend-emacs and C-c runs exit-recursive-edit. + C-z now runs suspend-emacs and C-c runs 'exit-recursive-edit'. -** The value returned by file-name-directory now ends +** The value returned by 'file-name-directory' now ends with a slash. (file-name-directory "foo/bar") => "foo/". This avoids confusing results when dealing with files in the root directory. - The value of the per-buffer variable default-directory + The value of the per-buffer variable 'default-directory' is also supposed to have a final slash now. ** There are now variables to control the switches passed to - `ls' by the C-x C-d command (list-directory). - list-directory-brief-switches is a string, initially "-CF", - used for brief listings, and list-directory-verbose-switches + 'ls' by the C-x C-d command (list-directory). + 'list-directory-brief-switches' is a string, initially "-CF", + used for brief listings, and 'list-directory-verbose-switches' is a string, initially "-l", used for verbose ones. ** For Ann Arbor Ambassador terminals, the termcap "ti" string @@ -1757,7 +1761,7 @@ you will not on its account be queried about active subprocesses. to the specified filename BEFORE it tries the filename without change. -** rmail now makes the mode line display the total number +** 'rmail' now makes the mode line display the total number of messages and the current message number. The "f" command now means forward a message to another user. The command to search through all messages for a string is now "F". @@ -1767,13 +1771,13 @@ you will not on its account be queried about active subprocesses. ** The hyphen character is now equivalent to a Space while in completing minibuffers. Both mean to complete an additional word. -** The Lisp function error now takes args like format +** The Lisp function 'error' now takes args like 'format' which are used to construct the error message. ** Redisplay will refuse to start its display at the end of the buffer. It will pick a new place to display from, rather than use that. -** The value returned by garbage-collect has been changed. +** The value returned by 'garbage-collect' has been changed. Its first element is no longer a number but a cons, whose car is the number of cons cells now in use, and whose cdr is the number of cons cells that have been @@ -1782,9 +1786,9 @@ you will not on its account be queried about active subprocesses. The third element is similar but describes markers. ** The variable buffer-name has been eliminated. - The function buffer-name still exists. This is to prevent + The function 'buffer-name' still exists. This is to prevent user programs from changing buffer names without going - through the rename-buffer function. + through the 'rename-buffer' function. @@ -1795,7 +1799,7 @@ you will not on its account be queried about active subprocesses. Also, a line which consists of the fill prefix followed by white space separates paragraphs. -** C-x C-v runs the new function find-alternate-file. +** C-x C-v runs the new function 'find-alternate-file'. It finds the specified file, switches to that buffer, and kills the previous current buffer. (It requires confirmation if that buffer had changes.) This is @@ -1807,18 +1811,18 @@ you will not on its account be queried about active subprocesses. ** Meta-g (fill-region) now fills each paragraph in the region individually. To fill the region as if it were a single paragraph (for when the paragraph-delimiting mechanism - does the wrong thing), use fill-region-as-paragraph. + does the wrong thing), use 'fill-region-as-paragraph'. -** Tab in text mode now runs the function tab-to-tab-stop. - A new mode called indented-text-mode is like text-mode - except that in it Tab runs the function indent-relative, +** Tab in text mode now runs the function 'tab-to-tab-stop'. + A new mode called 'indented-text-mode' is like 'text-mode' + except that in it Tab runs the function 'indent-relative', which indents the line under the previous line. If auto fill is enabled while in indented-text-mode, the new lines that it makes are indented. -** Functions kill-rectangle and yank-rectangle. +** Functions 'kill-rectangle' and 'yank-rectangle'. kill-rectangle deletes the rectangle specified by dot and mark - (or by two arguments) and saves it in the variable killed-rectangle. + (or by two arguments) and saves it in the variable 'killed-rectangle'. yank-rectangle inserts the rectangle in that variable. Tab characters in a rectangle being saved are replaced @@ -1859,7 +1863,7 @@ you will not on its account be queried about active subprocesses. C-r -- enter a recursive edit, then on exit ask again for a character C-l -- redisplay screen and ask again." -** write-kbd-macro and append-kbd-macro are used to save +** 'write-kbd-macro' and 'append-kbd-macro' are used to save a kbd macro definition in a file (as Lisp code to redefine the macro when the file is loaded). These commands differ in that write-kbd-macro @@ -1868,11 +1872,11 @@ you will not on its account be queried about active subprocesses. record the keys which invoke the macro as well as the macro's definition. -** The variable global-minor-modes is used to display +** The variable 'global-minor-modes' is used to display strings in the mode line of all buffers. It should be a list of elements that are conses whose cdrs are strings to be displayed. This complements the variable - minor-modes, which has the same effect but has a separate + 'minor-modes', which has the same effect but has a separate value in each buffer. ** C-x = describes horizontal scrolling in effect, if any. @@ -1887,7 +1891,7 @@ you will not on its account be queried about active subprocesses. This release mostly fixes bugs. There are a few new features: -** apropos now sorts the symbols before displaying them. +** 'apropos' now sorts the symbols before displaying them. Also, it returns a list of the symbols found. apropos now accepts a second arg PRED which should be a function @@ -1898,7 +1902,7 @@ This release mostly fixes bugs. There are a few new features: If the third argument to apropos is non-nil, apropos does not display anything; it merely returns the list of symbols found. - C-h a now runs the new function command-apropos rather than + C-h a now runs the new function 'command-apropos' rather than apropos, and shows only symbols with definitions as commands. ** M-x shell sends the command @@ -1908,8 +1912,8 @@ This release mostly fixes bugs. There are a few new features: as it came from your ESHELL or SHELL environment variable but with directory name, if any, removed. -** M-, now runs the command tags-loop-continue, which is used - to resume a terminated tags-search or tags-query-replace. +** M-, now runs the command 'tags-loop-continue', which is used + to resume a terminated 'tags-search' or 'tags-query-replace'. @@ -1921,60 +1925,60 @@ It's Beat CCA Week. so that all buffer names used automatically by Emacs now have *'s. ** Undo information is now stored separately for each buffer. - The Undo command (C-x u) always applies to the current - buffer only. +The Undo command (C-x u) always applies to the current +buffer only. C-_ is now a synonym for C-x u. - (buffer-flush-undo BUFFER) causes undo information not to - be kept for BUFFER, and frees the space that would have - been used to hold it. In any case, no undo information is - kept for buffers whose names start with spaces. (These - buffers also do not appear in the C-x C-b display.) +'buffer-flush-undo' causes undo information not to +be kept for BUFFER, and frees the space that would have +been used to hold it. In any case, no undo information is +kept for buffers whose names start with spaces. (These +buffers also do not appear in the C-x C-b display.) ** Rectangle operations are now implemented. - C-x r stores the rectangle described by dot and mark - into a register; it reads the register name from the keyboard. - C-x g, the command to insert the contents of a register, - can be used to reinsert the rectangle elsewhere. +C-x r stores the rectangle described by dot and mark +into a register; it reads the register name from the keyboard. +C-x g, the command to insert the contents of a register, +can be used to reinsert the rectangle elsewhere. Other rectangle commands include - open-rectangle: + 'open-rectangle': insert a blank rectangle in the position and size described by dot and mark, at its corners; the existing text is pushed to the right. - clear-rectangle: + 'clear-rectangle': replace the rectangle described by dot and mark with blanks. The previous text is deleted. - delete-rectangle: + 'delete-rectangle': delete the text of the specified rectangle, moving the text beyond it on each line leftward. ** Side-by-side windows are allowed. Use C-x 5 to split the - current window into two windows side by side. - C-x } makes the selected window ARG columns wider at the - expense of the windows at its sides. C-x { makes the selected - window ARG columns narrower. An argument to C-x 5 specifies - how many columns to give to the leftmost of the two windows made. +current window into two windows side by side. +C-x } makes the selected window ARG columns wider at the +expense of the windows at its sides. C-x { makes the selected +window ARG columns narrower. An argument to C-x 5 specifies +how many columns to give to the leftmost of the two windows made. - C-x 2 now accepts a numeric argument to specify the number of - lines to give to the uppermost of the two windows it makes. +C-x 2 now accepts a numeric argument to specify the number of +lines to give to the uppermost of the two windows it makes. ** Horizontal scrolling of the lines in a window is now implemented. - C-x < (scroll-left) scrolls all displayed lines left, - with the numeric argument (default 1) saying how far to scroll. - When the window is scrolled left, some amount of the beginning - of each nonempty line is replaced by an "$". - C-x > scrolls right. If a window has no text hidden at the left - margin, it cannot be scrolled any farther right than that. - When nonzero leftwards scrolling is in effect in a window. - lines are automatically truncated at the window's right margin - regardless of the value of the variable truncate-lines in the - buffer being displayed. - -** C-x C-d now uses the default output format of `ls', - which gives just file names in multiple columns. - C-u C-x C-d passes the -l switch to `ls'. +C-x < (scroll-left) scrolls all displayed lines left, +with the numeric argument (default 1) saying how far to scroll. +When the window is scrolled left, some amount of the beginning +of each nonempty line is replaced by an "$". +C-x > scrolls right. If a window has no text hidden at the left +margin, it cannot be scrolled any farther right than that. +When nonzero leftwards scrolling is in effect in a window. +lines are automatically truncated at the window's right margin +regardless of the value of the variable 'truncate-lines' in the +buffer being displayed. + +** C-x C-d now uses the default output format of 'ls', +which gives just file names in multiple columns. +C-u C-x C-d passes the -l switch to 'ls'. ** C-t at the end of a line now exchanges the two preceding characters. @@ -1995,7 +1999,7 @@ It's Beat CCA Week. ** The mode line will now say "Def" after the major mode while a keyboard macro is being defined. -** The variable fill-prefix is now used by Meta-q. +** The variable 'fill-prefix' is now used by Meta-q. Meta-q removes the fill prefix from lines that start with it before filling, and inserts the fill prefix on each line after filling. @@ -2057,7 +2061,7 @@ It's Beat CCA Week. including the terminating slash, requests the use of the default file name (usually the visited file's name). - Set the variable insert-default-directory to nil + Set the variable 'insert-default-directory' to nil to turn off this feature. ** M-x shell now uses the environment variable ESHELL, @@ -2095,83 +2099,82 @@ It's Beat CCA Week. ** The file of Lisp code Emacs reads on startup is now called ~/.emacs rather than ~/.emacs_pro. -** copy-file now gives the copied file the same mode bits +** 'copy-file' now gives the copied file the same mode bits as the original file. ** Output from a process inserted into the process's buffer no longer sets the buffer's mark. Instead it sets a marker associated with the process to point to the end of the inserted text. You can access this marker with - (process-mark PROCESS) - and then either examine its position with marker-position - or set its position with set-marker. + 'process-mark' and then either examine its position with + 'marker-position' or set its position with 'set-marker'. -** completing-read takes a new optional fifth argument which, +** 'completing-read' takes a new optional fifth argument which, if non-nil, should be a string of text to insert into the minibuffer before reading user commands. -** The Lisp function elt now exists: +** The Lisp function 'elt' now exists: (elt ARRAY N) is like (aref ARRAY N), (elt LIST N) is like (nth N LIST). -** rplaca is now a synonym for setcar, and rplacd for setcdr. - eql is now a synonym for eq; it turns out that the Common Lisp +** 'rplaca' is now a synonym for 'setcar', and 'rplacd' for 'setcdr'. + 'eql' is now a synonym for 'eq'; it turns out that the Common Lisp distinction between eq and eql is insignificant in Emacs. - numberp is a new synonym for integerp. + 'numberp' is a new synonym for 'integerp'. -** auto-save has been renamed to auto-save-mode. +** auto-save has been renamed to 'auto-save-mode'. ** Auto save file names for buffers are now created by the - function make-auto-save-file-name. This is so you can + function 'make-auto-save-file-name'. This is so you can redefine that function to change the way auto save file names are chosen. -** expand-file-name no longer discards a final slash. +** 'expand-file-name' no longer discards a final slash. (expand-file-name "foo" "/lose") => "/lose/foo" (expand-file-name "foo/" "/lose") => "/lose/foo/" - Also, expand-file-name no longer substitutes $ constructs. - A new function substitute-in-file-name does this. Reading - a file name with read-file-name or the `f' or`F' option - of interactive calling uses substitute-in-file-name - on the file name that was read and returns the result. +Also, expand-file-name no longer substitutes $ constructs. +A new function 'substitute-in-file-name' does this. Reading +a file name with 'read-file-name' or the 'f' or'F' option +of 'interactive' calling uses substitute-in-file-name +on the file name that was read and returns the result. - All I/O primitives including insert-file-contents and - delete-file call expand-file-name on the file name supplied. - This change makes them considerably faster in the usual case. +All I/O primitives including 'insert-file-contents' and +'delete-file' call 'expand-file-name' on the file name supplied. +This change makes them considerably faster in the usual case. ** Interactive calling spec strings allow the new code letter 'D' - which means to read a directory name. It is like 'f' except - that the default if the user makes no change in the minibuffer - is to return the current default directory rather than the - current visited file name. +which means to read a directory name. It is like 'f' except +that the default if the user makes no change in the minibuffer +is to return the current default directory rather than the +current visited file name. * Changes in Emacs 1.5 -** suspend-emacs now accepts an optional argument - which is a string to be stuffed as terminal input - to be read by Emacs's superior shell after Emacs exits. +** 'suspend-emacs' now accepts an optional argument +which is a string to be stuffed as terminal input +to be read by Emacs's superior shell after Emacs exits. A library called ledit exists which uses this feature to transmit text to a Lisp job running as a sibling of Emacs. -** If find-file is given the name of a directory, +** If 'find-file' is given the name of a directory, it automatically invokes dired on that directory rather than reading in the binary data that make up the actual contents of the directory according to Unix. ** Saving an Emacs buffer now preserves the file modes of any previously existing file with the same name. - This works using new Lisp functions file-modes and - set-file-modes, which can be used to read or set the mode + This works using new Lisp functions 'file-modes' and + 'set-file-modes', which can be used to read or set the mode bits of any file. -** The Lisp function cond now exists, with its traditional meaning. +** The Lisp function 'cond' now exists, with its traditional meaning. -** defvar and defconst now permit the documentation string +** 'defvar' and 'defconst' now permit the documentation string to be omitted. defvar also permits the initial value to be omitted; then it acts only as a comment. @@ -2180,9 +2183,9 @@ It's Beat CCA Week. * Changes in Emacs 1.4 ** Auto-filling now normally indents the new line it creates - by calling indent-according-to-mode. This function, meanwhile, + by calling 'indent-according-to-mode'. This function, meanwhile, has in Fundamental and Text modes the effect of making the line - have an indentation of the value of left-margin, a per-buffer variable. + have an indentation of the value of 'left-margin', a per-buffer variable. Tab no longer precisely does indent-according-to-mode; it does that in all modes that supply their own indentation routine, @@ -2215,33 +2218,33 @@ It's Beat CCA Week. an integer. ** The Lisp function 'function' now exists. function is the - same as quote, except that it serves as a signal to the + same as 'quote', except that it serves as a signal to the Lisp compiler that the argument should be compiled as a function. Example: (mapcar (function (lambda (x) (+ x 5))) list) -** The function set-key has been renamed to global-set-key. - undefine-key and local-undefine-key has been renamed to - global-unset-key and local-unset-key. +** The function set-key has been renamed to 'global-set-key'. + 'undefine-key' and 'local-undefine-key' has been renamed to + 'global-unset-key' and 'local-unset-key'. ** Emacs now collects input from asynchronous subprocesses - while waiting in the functions sleep-for and sit-for. + while waiting in the functions 'sleep-for' and 'sit-for'. ** Shell mode's Newline command attempts to distinguish subshell prompts from user input when issued in the middle of the buffer. It no longer reexecutes from dot to the end of the line; it reeexecutes the entire line minus any prompt. The prompt is recognized by searching for the value of - shell-prompt-pattern, starting from the beginning of the line. + 'shell-prompt-pattern', starting from the beginning of the line. Anything thus skipped is not reexecuted. * Changes in Emacs 1.3 -** An undo facility exists now. Type C-x u to undo a batch of +** An undo facility exists now. Type C-x u to 'undo' a batch of changes (usually one command's changes, but some commands - such as query-replace divide their changes into multiple + such as 'query-replace' divide their changes into multiple batches. You can repeat C-x u to undo further. As long as no commands other than C-x u intervene, each one undoes another batch. A numeric argument to C-x u acts as a repeat @@ -2283,12 +2286,12 @@ It's Beat CCA Week. to be in effect when the file is edited. See the file DIFF in the same directory as this file for full details. -** A function nth is defined. It means the same thing as in Common Lisp. +** A function 'nth' is defined. It means the same thing as in Common Lisp. ** The function install-command has been renamed to set-key. It now takes the key sequence as the first argument and the definition for it as the second argument. - Likewise, local-install-command has been renamed to local-set-key. + Likewise, local-install-command has been renamed to 'local-set-key'. @@ -2296,11 +2299,11 @@ It's Beat CCA Week. ** A Lisp single-stepping and debugging facility exists. To cause the debugger to be entered when an error - occurs, set the variable debug-on-error non-nil. + occurs, set the variable 'debug-on-error' non-nil. To cause the debugger to be entered whenever function foo - is called, do (debug-on-entry 'foo). To cancel this, - do (cancel-debug-on-entry 'foo). debug-on-entry does + is called, use 'debug-on-entry'. To cancel this, + use 'cancel-debug-on-entry'. debug-on-entry does not work for primitives (written in C), only functions written in Lisp. Most standard Emacs commands are in Lisp. @@ -2311,31 +2314,31 @@ It's Beat CCA Week. by the argument values unless arguments are still being calculated. At the beginning of the buffer is a description of why the debugger was entered: function entry, function exit, - error, or simply that the user called the function `debug'. + error, or simply that the user called the function 'debug'. - To exit the debugger and return to top level, type `q'. + To exit the debugger and return to top level, type 'q'. In the debugger, you can evaluate Lisp expressions by - typing `e'. This is equivalent to `M-ESC'. + typing 'e'. This is equivalent to 'M-ESC'. When the debugger is entered due to an error, that is all you can do. When it is entered due to function entry (such as, requested by debug-on-entry), you have two options: Continue execution and reenter debugger after the - completion of the function being entered. Type `c'. + completion of the function being entered. Type 'c'. Continue execution but enter the debugger before - the next subexpression. Type `d'. + the next subexpression. Type 'd'. You will see that some stack frames are marked with *. This means the debugger will be entered when those frames exit. You will see the value being returned in the first line of the backtrace buffer. Your options: - Continue execution, and return that value. Type `c'. - Continue execution, and return a specified value. Type `r'. + Continue execution, and return that value. Type 'c'. + Continue execution, and return a specified value. Type 'r'. You can mark a frame to enter the debugger on exit - with the `b' command, or clear such a mark with `u'. + with the 'b' command, or clear such a mark with 'u'. ** Lisp macros now exist. For example, you can write @@ -2373,7 +2376,7 @@ It's Beat CCA Week. ** The value of a Lisp expression evaluated using M-ESC is now printed in the minibuffer. -** M-q now runs fill-paragraph, independent of major mode. +** M-q now runs 'fill-paragraph', independent of major mode. ** C-h m now prints documentation on the current buffer's major mode. What it prints is the documentation of the @@ -2429,12 +2432,12 @@ It's Beat CCA Week. All editing commands treat hidden outline-mode lines as part of the preceding visible line. -** C-x C-z runs save-buffers-kill-emacs +** C-x C-z runs 'save-buffers-kill-emacs' offers to save each file buffer, then exits. -** C-c's function is now called suspend-emacs. +** C-c's function is now called 'suspend-emacs'. -** The command C-x m runs mail, which switches to a buffer *mail* +** The command C-x m runs 'mail', which switches to a buffer *mail* and lets you compose a message to send. C-x 4 m runs mail in another window. Type C-z C-s in the mail buffer to send the message according to what you have entered in the buffer. @@ -2442,7 +2445,7 @@ It's Beat CCA Week. You must separate the headers from the message text with an empty line. -** You can now dired partial directories (specified with names +** You can now 'dired' partial directories (specified with names containing *'s, etc, all processed by the shell). Also, you can dired more than one directory; dired names the buffer according to the filespec or directory name. Reinvoking @@ -2464,13 +2467,13 @@ It's Beat CCA Week. contains text put there for some other reason, it is cleared first. - t is now the top-level value of standard-output. + t is now the top-level value of 'standard-output'. t as an input stream now means "read via the minibuffer". The minibuffer is used to read a line of input, with editing, - and this line is then parsed. Any excess not used by `read' - is ignored; each `read' from t reads fresh input. - t is now the top-level value of standard-input. + and this line is then parsed. Any excess not used by 'read' + is ignored; each 'read' from t reads fresh input. + t is now the top-level value of 'standard-input'. *** A marker may be used as an input stream or an output stream. The effect is to grab input from where the marker points, @@ -2482,29 +2485,32 @@ It's Beat CCA Week. and the buffer's mark is set to the end of the inserted output each time output is inserted. -*** (pos-visible-in-window-p POS WINDOW) - returns t if position POS in WINDOW's buffer is in the range - that is being displayed in WINDOW; nil if it is scrolled - vertically out of visibility. +*** New function 'pos-visible-in-window-p' + + (pos-visible-in-window-p POS WINDOW) + +returns t if position POS in WINDOW's buffer is in the range +that is being displayed in WINDOW; nil if it is scrolled +vertically out of visibility. - If display in WINDOW is not currently up to date, this function - calculates carefully whether POS would appear if display were - done immediately based on the current (window-start WINDOW). +If display in WINDOW is not currently up to date, this function +calculates carefully whether POS would appear if display were +done immediately based on the current 'window-start'. - POS defaults to (dot), and WINDOW to (selected-window). +POS defaults to (dot), and WINDOW to (selected-window). *** Variable buffer-alist replaced by function (buffer-list). - The actual alist of buffers used internally by Emacs is now - no longer accessible, to prevent the user from crashing Emacs - by modifying it. The function buffer-list returns a list - of all existing buffers. Modifying this list cannot hurt anything - as a new list is constructed by each call to buffer-list. +The actual alist of buffers used internally by Emacs is now +no longer accessible, to prevent the user from crashing Emacs +by modifying it. The function buffer-list returns a list +of all existing buffers. Modifying this list cannot hurt anything +as a new list is constructed by each call to buffer-list. -*** load now takes an optional third argument NOMSG which, if non-nil, - prevents load from printing a message when it starts and when - it is done. +*** 'load' now takes an optional third argument NOMSG which, if non-nil, +prevents load from printing a message when it starts and when +it is done. -*** byte-recompile-directory is a new function which finds all +*** 'byte-recompile-directory' is a new function which finds all the .elc files in a directory, and regenerates each one which is older than the corresponding .el (Lisp source) file. diff --git a/etc/NEWS.18 b/etc/NEWS.18 index 78d63e5db71..a90d0bd0ea6 100644 --- a/etc/NEWS.18 +++ b/etc/NEWS.18 @@ -29,18 +29,18 @@ run, Emacs now tries the entire terminal type first. If that doesn't yield a file that exists, the last hyphen and what follows it is stripped. If that doesn't yield a file that exists, the previous hyphen is stripped, and so on until all hyphens are gone. For -example, if the terminal type is `aaa-48-foo', Emacs will try first +example, if the terminal type is 'aaa-48-foo', Emacs will try first `term/aaa-48-foo.el', then `term/aaa-48.el' and finally `term/aaa.el'. Underscores now receive the same treatment as hyphens. -** Texinfo features: @defun, etc. texinfo-show-structure. -New template commands. texinfo-format-region. +** Texinfo features: @defun, etc. 'texinfo-show-structure'. +New template commands. 'texinfo-format-region'. -** The special "local variable" `eval' is now ignored if you are running +** The special "local variable" 'eval' is now ignored if you are running as root. -** New command `c-macro-expand' shows the result of C macro expansion +** New command 'c-macro-expand' shows the result of C macro expansion in the region. It works using the C preprocessor, so its results are completely accurate. @@ -50,21 +50,21 @@ are completely accurate. ** New hooks. -*** `spell-region' now allows you to filter the text before spelling-checking. -If the value of `spell-filter' is non-nil, it is called, with no arguments, +*** 'spell-region' now allows you to filter the text before spelling-checking. +If the value of 'spell-filter' is non-nil, it is called, with no arguments, looking at a temporary buffer containing a copy of the text to be checked. It can alter the text freely before the spell program sees it. -*** The variable `lpr-command' now specifies the command to be used when +*** The variable 'lpr-command' now specifies the command to be used when you use the commands to print text (such as M-x print-buffer). -*** Posting netnews now calls the value of `news-inews-hook' (if not nil) +*** Posting netnews now calls the value of 'news-inews-hook' (if not nil) as a function of no arguments before the actual posting. -*** Rmail now calls the value of `rmail-show-message-hook' (if not nil) +*** Rmail now calls the value of 'rmail-show-message-hook' (if not nil) as a function of no arguments, each time a new message is selected. -*** `kill-emacs' calls the value of `kill-emacs-hook' as a function of no args. +*** 'kill-emacs' calls the value of 'kill-emacs-hook' as a function of no args. ** New libraries. See the source code of each library for more information. @@ -100,20 +100,20 @@ comes from a directory of files created by you. ** New programming features. -*** The variable `window-system-version' now contains the version number +*** The variable 'window-system-version' now contains the version number of the window system you are using (if appropriate). When using X windows, its value is either 10 or 11. *** (interactive "N") uses the prefix argument if any; otherwise, it reads a number using the minibuffer. -*** VMS: there are two new functions `vms-system-info' and `shrink-to-icon'. +*** VMS: there are two new functions 'vms-system-info' and 'shrink-to-icon'. The former allows you to get many kinds of system status information. See its self-documentation for full details. The second is used with the window system: it iconifies the Emacs window. -*** VMS: the new function `define-logical-name' allows you to create -job-wide logical names. The old function `define-dcl-symbol' has been +*** VMS: the new function 'define-logical-name' allows you to create +job-wide logical names. The old function 'define-dcl-symbol' has been removed. @@ -134,8 +134,8 @@ code is displayed in another window with an arrow added to the line where the program is executing. Special GDB-mode commands include M-s, M-n, M-i, M-u, M-d, and C-c C-f -which send the GDB commands `step', `next', `stepi', `up', `down' -and `finish'. +which send the GDB commands 'step', 'next', 'stepi', 'up', 'down' +and 'finish'. In any source file, the commands C-x SPC tells GDB to set a breakpoint on the current line. @@ -146,28 +146,28 @@ on the current line. This is a way you can explicitly request not to make a backup. -** `term-setup-hook' is for users only. +** 'term-setup-hook' is for users only. Emacs never uses this variable for internal purposes, so you can freely set it in your `.emacs' file to make Emacs do something special after loading any terminal-specific setup file from `lisp/term'. -** `copy-keymap' now copies recursive submaps. +** 'copy-keymap' now copies recursive submaps. ** New overlay-arrow feature. -If you set the variable `overlay-arrow-string' to a string -and `overlay-arrow-position' to a marker, that string is displayed on +If you set the variable 'overlay-arrow-string' to a string +and 'overlay-arrow-position' to a marker, that string is displayed on the screen at the position of that marker, hiding whatever text would have appeared there. If that position isn't on the screen, or if the buffer the marker points into isn't displayed, there is no effect. ** -batch mode can read from the terminal. -It now works to use `read-char' to do terminal input in a noninteractive +It now works to use 'read-char' to do terminal input in a noninteractive Emacs run. End of file causes Emacs to exit. -** Variables `data-bytes-used' and `data-bytes-free' removed. +** Variables 'data-bytes-used' and 'data-bytes-free' removed. These variables cannot really work because the 24-bit range of an integer in (most ports of) GNU Emacs is not large enough to hold their @@ -177,7 +177,7 @@ values on many systems. * Changes in Emacs 18.45, since version 18.41. -** C indentation parameter `c-continued-brace-offset'. +** C indentation parameter 'c-continued-brace-offset'. This parameter's value is added to the indentation of any line that is in a continuation context and starts with an open-brace. @@ -195,7 +195,7 @@ abbreviation, if the expansion found is all lower case except perhaps for its first letter, then the case pattern of the abbreviation is carried over to the expansion that replaces it. -** TeX-mode syntax. +** 'TeX-mode' syntax. \ is no longer given "escape character" syntax in TeX mode. It now has the syntax of an ordinary punctuation character. As a result, @@ -203,13 +203,13 @@ has the syntax of an ordinary punctuation character. As a result, ** Mail-mode automatic Reply-To field. -If the variable `mail-default-reply-to' is non-`nil', then each time +If the variable 'mail-default-reply-to' is non-'nil', then each time you start to compose a message, a Reply-To field is inserted with -its contents taken from the value of `mail-default-reply-to'. +its contents taken from the value of 'mail-default-reply-to'. ** Where is your .emacs file? -If you run Emacs under `su', so your real and effective uids are +If you run Emacs under 'su', so your real and effective uids are different, Emacs uses the home directory associated with the real uid (the name you actually logged in under) to find the .emacs file. @@ -228,7 +228,7 @@ case. You can use either upper or lower case indiscriminately. ** VMS-only function 'define-dcl-symbol'. This is a new name for the function formerly called -`define-logical-name'. +'define-logical-name'. @@ -288,26 +288,26 @@ normally print such a message. *** Cursor appears in last line during y-or-n questions. -Questions that want a `y' or `n' answer now move the cursor +Questions that want a 'y' or 'n' answer now move the cursor to the last line, following the question. ** Library loading changes. -`load' now considers all possible suffixes (`.elc', `.el' and none) -for each directory in `load-path' before going on to the next directory. +'load' now considers all possible suffixes (`.elc', `.el' and none) +for each directory in 'load-path' before going on to the next directory. It now accepts an optional fourth argument which, if non-nil, says to use no suffixes; then the file name must be given in full. The search -of the directories in `load-path' goes on as usual in this case, but +of the directories in 'load-path' goes on as usual in this case, but it too can be prevented by passing an absolute file name. -The value of `load-path' no longer by default includes nil (meaning to -look in the current default directory). The idea is that `load' should +The value of 'load-path' no longer by default includes nil (meaning to +look in the current default directory). The idea is that 'load' should be used to search the path only for libraries to be found in the standard places. If you want to override system libraries with your own, place your own libraries in one special directory and add that directory to the -front of `load-path'. +front of 'load-path'. -The function `load' is no longer a command; that is to say, `M-x load' +The function 'load' is no longer a command; that is to say, `M-x load' is no longer allowed. Instead, there are two commands for loading files. `M-x load-library' is equivalent to the old meaning of `M-x load'. `M-x load-file' reads a file name with completion and defaulting @@ -315,11 +315,11 @@ and then loads exactly that file, with no searching and no suffixes. ** Emulation of other editors. -*** `edt-emulation-on' starts emulating DEC's EDT editor. +*** 'edt-emulation-on' starts emulating DEC's EDT editor. -Do `edt-emulation-off' to return Emacs to normal. +Do 'edt-emulation-off' to return Emacs to normal. -*** `vi-mode' and `vip-mode' starts emulating vi. +*** 'vi-mode' and 'vip-mode' starts emulating vi. These are two different vi emulations provided by GNU Emacs users. We are interested in feedback as to which emulation is preferable. @@ -327,18 +327,18 @@ We are interested in feedback as to which emulation is preferable. See the documentation and source code for these functions for more information. -*** `set-gosmacs-bindings' emulates Gosling Emacs. +*** 'set-gosmacs-bindings' emulates Gosling Emacs. This command changes many global bindings to resemble those of Gosling Emacs. The previous bindings are saved and can be restored using -`set-gnu-bindings'. +'set-gnu-bindings'. ** Emulation of a display terminal. Within Emacs it is now possible to run programs (such as emacs or supdup) which expect to do output to a visual display terminal. -See the function `terminal-emulator' for more information. +See the function 'terminal-emulator' for more information. ** New support for keypads and function keys. @@ -366,7 +366,7 @@ assigned to the standard key-names. One other change in terminal-specific files: if the value of the TERM variable contains a hyphen, only the part before the first hyphen is used in forming the name of the terminal-specific file. Thus, for -terminal type `aaa-48', the file loaded is now `term/aaa.el' rather +terminal type 'aaa-48', the file loaded is now `term/aaa.el' rather than `term/aaa-48.el'. ** New startup command line options. @@ -375,53 +375,54 @@ than `term/aaa-48.el'. insert the contents of FILE into the current buffer at that point in command line processing. This is like using the command M-x insert-file. -`-funcall', `-load', `-user' and `-no-init-file' are new synonyms for -`-f', `-l', `-u' and `-q'. +'-funcall', '-load', '-user' and '-no-init-file' are new synonyms for +'-f', '-l', '-u' and '-q'. -`-nw' means don't use a window system. If you are using a terminal +'-nw' means don't use a window system. If you are using a terminal emulator on the X window system and you want to run Emacs to work through the terminal emulator instead of working directly with the window system, use this switch. ** Buffer-sorting commands. -Various M-x commands whose names start with `sort-' sort parts of +Various M-x commands whose names start with 'sort-' sort parts of the region: -sort-lines divides the region into lines and sorts them alphabetically. -sort-pages divides into pages and sorts them alphabetically. -sort-paragraphs divides into paragraphs and sorts them alphabetically. -sort-fields divides into lines and sorts them alphabetically +'sort-lines' divides the region into lines and sorts them alphabetically. +'sort-pages' divides into pages and sorts them alphabetically. +'sort-paragraphs' + divides into paragraphs and sorts them alphabetically. +'sort-fields' divides into lines and sorts them alphabetically according to one field in the line. The numeric argument specifies which field (counting from field 1 at the beginning of the line). Fields in a line are separated by whitespace. -sort-numeric-fields +'sort-numeric-fields' is similar but converts the specified fields to numbers and sorts them numerically. -sort-columns divides into lines and sorts them according to the contents +'sort-columns' divides into lines and sorts them according to the contents of a specified range of columns. Refer to the self-documentation of these commands for full usage information. ** Changes in various commands. -*** `tags-query-replace' and `tags-search' change. +*** 'tags-query-replace' and 'tags-search' change. These functions now display the name of the file being searched at the moment. -*** `occur' output now serves as a menu. `occur-menu' command deleted. +*** 'occur' output now serves as a menu. 'occur-menu' command deleted. `M-x occur' now allows you to move quickly to any of the occurrences -listed. Select the `*Occur*' buffer that contains the output of `occur', +listed. Select the `*Occur*' buffer that contains the output of 'occur', move point to the occurrence you want, and type C-c C-c. This will move point to the same occurrence in the buffer that the occurrences were found in. -The command `occur-menu' is thus obsolete, and has been deleted. +The command 'occur-menu' is thus obsolete, and has been deleted. One way to get a list of matching lines without line numbers is to -copy the text to another buffer and use the command `keep-lines'. +copy the text to another buffer and use the command 'keep-lines'. *** Incremental search changes. @@ -441,20 +442,20 @@ incremental regexp search with C-M-s C-r. If you add a `*', `?' or `\|' to an incremental search regexp, point will back up if that is appropriate. For example, if -you have searched for `ab' and add a `*', point moves to the -first match for `ab*', which may be before the match for `ab' +you have searched for 'ab' and add a `*', point moves to the +first match for `ab*', which may be before the match for 'ab' that was previously found. If an incremental search is failing and you ask to repeat it, it will start again from the beginning of the buffer (or the end, if it is a backward search). -The search-controlling parameters `isearch-slow-speed' and -`isearch-slow-window-lines' have now been renamed to start with -`search' instead of `isearch'. Now all the parameters' names start -with `search'. +The search-controlling parameters 'isearch-slow-speed' and +'isearch-slow-window-lines' have now been renamed to start with +'search' instead of 'isearch'. Now all the parameters' names start +with 'search'. -If `search-slow-window-lines' is negative, the slow search window +If 'search-slow-window-lines' is negative, the slow search window is put at the top of the screen, and the absolute value or the negative number specifies the height of it. @@ -490,9 +491,9 @@ by searching the buffer for words that start with the abbreviation. *** Changes in saving kbd macros. -The commands `write-kbd-macro' and `append-kbd-macro' have been +The commands 'write-kbd-macro' and 'append-kbd-macro' have been deleted. The way to save a keyboard macro is to use the new command -`insert-kbd-macro', which inserts Lisp code to define the macro as +'insert-kbd-macro', which inserts Lisp code to define the macro as it is currently defined into the buffer before point. Visit a Lisp file such as your Emacs init file `~/.emacs', insert the macro definition (perhaps deleting an old definition for the same macro) @@ -507,14 +508,14 @@ an abbrev, even if abbrev-mode is not turned on. The command C-M-x in Lisp mode, which sends the current defun to an inferior Lisp process, now works by writing the text into a temporary -file and actually sending only a `load'-form to load the file. +file and actually sending only a 'load'-form to load the file. As a result, it avoids the Unix bugs that used to strike when the text was above a certain length. With a prefix argument, this command now makes the inferior Lisp buffer appear on the screen and scrolls it so that the bottom is showing. -Two variables `inferior-lisp-load-command' and `inferior-lisp-prompt', +Two variables 'inferior-lisp-load-command' and 'inferior-lisp-prompt', exist to customize these feature for different Lisp implementations. *** C-x p now disabled. @@ -552,7 +553,7 @@ When you change the visited file name of a buffer, the auto save file is now renamed to belong to the new visited file name. You can customize the way auto save file names are made by redefining -the two functions `make-auto-save-file-name' and `auto-save-file-name-p', +the two functions 'make-auto-save-file-name' and 'auto-save-file-name-p', both of which are defined in `files.el'. *** Modifying a buffer whose file is changed on disk is detected instantly. @@ -566,7 +567,7 @@ If it has, you are asked to confirm that you want to change the buffer. Emacs can now know about buffers that it should offer to save on exit even though they are not visiting files. This is done for any buffer -which has a non-nil local value of `buffer-offer-save'. By default, +which has a non-nil local value of 'buffer-offer-save'. By default, Mail mode provides such a local value. *** Backup file changes. @@ -592,9 +593,9 @@ give the user name and password for use on that host. FTP is reinvoked each time you ask to use it, but previously specified user names and passwords are remembered automatically. -*** Dired `g' command. +*** Dired 'g' command. -`g' in Dired mode is equivalent to M-x revert-buffer; it causes the +'g' in Dired mode is equivalent to M-x revert-buffer; it causes the current contents of the same directory to be read in. ** Changes in major modes. @@ -608,11 +609,11 @@ afterward. The old definition did one additional thing: it reindented the line before the new newline. This has been removed because it made the command twice as slow. The only time it was really useful was after the -insertion of an `else', since the fact of starting with `else' may change +insertion of an 'else', since the fact of starting with 'else' may change the way that line is indented. Now you will have to type TAB again -yourself to reindent the `else' properly. +yourself to reindent the 'else' properly. -If the variable `c-tab-always-indent' is set to `nil', the TAB command +If the variable 'c-tab-always-indent' is set to 'nil', the TAB command in C mode, with no argument, will just insert a tab character if there is non-whitespace preceding point on the current line. Giving it a prefix argument will force reindentation of the line (as well as @@ -622,7 +623,7 @@ of the compound statement that begins after point, if any). This mode provides commands for motion and indentation of Fortran code, plus built-in abbrevs for Fortran keywords. For details, see the manual -or the on-line documentation of the command `fortran-mode'. +or the on-line documentation of the command 'fortran-mode'. *** Scribe mode now exists. @@ -641,7 +642,7 @@ Most of them are the same as in Shell mode. *** Picture mode changes. -The special picture-mode commands to specify the direction of cursor +The special 'picture-mode' commands to specify the direction of cursor motion after insertion have been moved to C-c keys. The commands to specify diagonal motion were already C-c keys; they are unchanged. The keys to specify horizontal or vertical motion are now @@ -659,7 +660,7 @@ LaTeX mode now exists. Use M-x latex-mode to select this mode, and M-x plain-tex-mode to select the previously existing mode for Plain TeX. M-x tex-mode attempts to examine the contents of the buffer and choose between latex-mode and plain-tex-mode accordingly; if the -buffer is empty or it cannot tell, the variable `TeX-default-mode' +buffer is empty or it cannot tell, the variable 'TeX-default-mode' controls the choice. Its value should be the symbol for the mode to be used. @@ -693,7 +694,7 @@ C-c C-f Move to next visible heading at the same level. C-c C-b Move to previous visible heading at the same level. C-c C-u Move up to previous visible heading at a higher level. -The variable `outline-regexp' now controls recognition of heading lines. +The variable 'outline-regexp' now controls recognition of heading lines. Any line whose beginning matches this regexp is a heading line. The depth in outline structure is determined by the length of the string that matches. @@ -729,7 +730,7 @@ Thus, C-c LETTER is always unassigned. *** Rmail C-r command changed to w. -The Rmail command to edit the current message is now `w'. This change +The Rmail command to edit the current message is now 'w'. This change has been made because people frequently type C-r while in Rmail hoping to do a reverse incremental search. That now works. @@ -742,7 +743,7 @@ decryption of the body of a news message. It defaults to the USENET standard of 13, and accepts any numeric arg between 1 to 25 and -25 to -1. The function is bound to C-c C-r in both news-mode and news-reply-mode. -*** rmail-output command added. +*** 'rmail-output' command added. The C-o command has been bound to rmail-output in news-mode. This allows one to append an article to a file which is in either Unix @@ -785,7 +786,7 @@ either you are using a window system and give Emacs a separate window or you run the other programs as inferiors of Emacs (such as, using M-x shell). -First prepare the existing Emacs process by loading the `server' +First prepare the existing Emacs process by loading the 'server' library and executing M-x server-start. (Your .emacs can do this automatically.) @@ -820,24 +821,24 @@ Emacs will no longer load a file named `.emacs.el' or `emacs.elc' in place of `.emacs'. This is so that it will take less time to find `.emacs'. If you want to compile your init file, give it another name and make `.emacs' a link to the `.elc' file, or make it contain -a call to `load' to load the `.elc' file. +a call to 'load' to load the `.elc' file. -*** `default-profile' renamed to `default', and loaded after `.emacs'. +*** 'default-profile' renamed to 'default', and loaded after `.emacs'. -It used to be the case that the file `default-profile' was loaded if +It used to be the case that the file 'default-profile' was loaded if and only if `.emacs' was not found. -Now the name `default-profile' is not used at all. Instead, a library -named `default' is loaded after the `.emacs' file. `default' is loaded -whether the `.emacs' file exists or not. However, loading of `default' -can be prevented if the `.emacs' file sets `inhibit-default-init' to non-nil. +Now the name 'default-profile' is not used at all. Instead, a library +named 'default' is loaded after the `.emacs' file. 'default' is loaded +whether the `.emacs' file exists or not. However, loading of 'default' +can be prevented if the `.emacs' file sets 'inhibit-default-init' to non-nil. In fact, you would call the default file `default.el' and probably would -byte-compile it to speed execution. +'byte-compile' it to speed execution. -Note that for most purposes you are better off using a `site-init' library +Note that for most purposes you are better off using a 'site-init' library since that will be loaded before the runnable Emacs is dumped. By using -a `site-init' library, you avoid taking up time each time Emacs is started. +a 'site-init' library, you avoid taking up time each time Emacs is started. *** inhibit-command-line has been eliminated. @@ -845,79 +846,79 @@ This variable used to exist for .emacs files to set. It has been eliminated because you can get the same effect by setting command-line-args to nil and setting inhibit-startup-message to t. -** `apply' is more general. +** 'apply' is more general. -`apply' now accepts any number of arguments. The first one is a function; +'apply' now accepts any number of arguments. The first one is a function; the rest are individual arguments to pass to that function, except for the last, which is a list of arguments to pass. -Previously, `apply' required exactly two arguments. Its old behavior +Previously, 'apply' required exactly two arguments. Its old behavior follows as a special case of the new definition. -** New code-letter for `interactive'. +** New code-letter for 'interactive'. (interactive "NFoo: ") is like (interactive "nFoo: ") in reading a number using the minibuffer to serve as the argument; however, if a prefix argument was specified, it uses the prefix argument value as the argument, and does not use the minibuffer at all. -This is used by the `goto-line' and `goto-char' commands. +This is used by the 'goto-line' and 'goto-char' commands. ** Semantics of variables. *** Built-in per-buffer variables improved. Several built-in variables which in the past had a different value in -each buffer now behave exactly as if `make-variable-buffer-local' had +each buffer now behave exactly as if 'make-variable-buffer-local' had been done to them. -These variables are `tab-width', `ctl-arrow', `truncate-lines', -`fill-column', `left-margin', `mode-line-format', `abbrev-mode', -`overwrite-mode', `case-fold-search', `auto-fill-hook', -`selective-display', `selective-display-ellipses'. +These variables are 'tab-width', 'ctl-arrow', 'truncate-lines', +'fill-column', 'left-margin', 'mode-line-format', 'abbrev-mode', +'overwrite-mode', 'case-fold-search', 'auto-fill-hook', +'selective-display', 'selective-display-ellipses'. To be precise, each variable has a default value which shows through -in most buffers and can be accessed with `default-value' and set with -`set-default'. Setting the variable with `setq' makes the variable +in most buffers and can be accessed with 'default-value' and set with +'set-default'. Setting the variable with 'setq' makes the variable local to the current buffer. Changing the default value has retroactive effect on all buffers in which the variable is not local. -The variables `default-case-fold-search', etc., are now obsolete. +The variables 'default-case-fold-search', etc., are now obsolete. They now refer to the default value of the variable, which is not quite the same behavior as before, but it should enable old init files to continue to work. *** New per-buffer variables. -The variables `fill-prefix', `comment-column' and `indent-tabs-mode' -are now per-buffer. They work just like `fill-column', etc. +The variables 'fill-prefix', 'comment-column' and 'indent-tabs-mode' +are now per-buffer. They work just like 'fill-column', etc. -*** New function `setq-default'. +*** New function 'setq-default'. -`setq-default' sets the default value of a variable, and uses the -same syntax that `setq' accepts: the variable name is not evaluated +'setq-default' sets the default value of a variable, and uses the +same syntax that 'setq' accepts: the variable name is not evaluated and need not be quoted. `(setq-default case-fold-search nil)' would make searches case-sensitive -in all buffers that do not have local values for `case-fold-search'. +in all buffers that do not have local values for 'case-fold-search'. -*** Functions `global-set' and `global-value' deleted. +*** Functions 'global-set' and 'global-value' deleted. These functions were never used except by mistake by users expecting -the functionality of `set-default' and `default-value'. +the functionality of 'set-default' and 'default-value'. ** Changes in defaulting of major modes. -When `default-major-mode' is `nil', new buffers are supposed to +When 'default-major-mode' is 'nil', new buffers are supposed to get their major mode from the buffer that is current. However, certain major modes (such as Dired mode, Rmail mode, Rmail Summary mode, and others) are not reasonable to use in this way. -Now such modes' names have been given non-`nil' `mode-class' properties. +Now such modes' names have been given non-'nil' 'mode-class' properties. If the current buffer's mode has such a property, Fundamental mode is used as the default for newly created buffers. -** `where-is-internal' requires additional arguments. +** 'where-is-internal' requires additional arguments. This function now accepts three arguments, two of them required: DEFINITION, the definition to search for; LOCAL-KEYMAP, the keymap @@ -934,7 +935,7 @@ are required when previously only one argument was allowed. To get the old behavior of this function, write `(current-local-map)' as the expression for the second argument. -The incompatibility is sad, but `nil' is a legitimate value for the +The incompatibility is sad, but 'nil' is a legitimate value for the second argument (it means there is no local keymap), so it cannot also serve as a default meaning to use the current local keymap. @@ -945,9 +946,9 @@ usual replacement of the abbrev with the expansion before running the hook. Previously the abbrev itself was deleted but the expansion was not inserted. -** Function `scan-buffer' deleted. +** Function 'scan-buffer' deleted. -Use `search-forward' or `search-backward' in place of `scan-buffer'. +Use 'search-forward' or 'search-backward' in place of 'scan-buffer'. You will have to rearrange the arguments. ** X window interface improvements. @@ -959,7 +960,7 @@ for details. *** New pop-up menu facility. -The new function `x-popup-menu' pops up a menu (in a X window) +The new function 'x-popup-menu' pops up a menu (in a X window) and returns an indication of which selection the user made. For more information, see its self-documentation. @@ -969,7 +970,7 @@ This command prints the disassembly of a byte-compiled Emacs Lisp function. Would anyone like to interface this to the debugger? -** `insert-buffer-substring' can insert part of the current buffer. +** 'insert-buffer-substring' can insert part of the current buffer. The old restriction that the text being inserted had to come from a different buffer is now lifted. @@ -977,41 +978,42 @@ a different buffer is now lifted. When inserting text from the current buffer, the text to be inserted is determined from the specified bounds before any copying takes place. -** New function `substitute-key-definition'. +** New function 'substitute-key-definition'. This is a new way to replace one command with another command as the binding of whatever keys may happen to refer to it. -(substitute-key-definition OLDDEF NEWDEF KEYMAP) looks through KEYMAP -for keys defined to run OLDDEF, and rebinds those keys to run NEWDEF -instead. + (substitute-key-definition OLDDEF NEWDEF KEYMAP) -** New function `insert-char'. +looks through KEYMAP for keys defined to run OLDDEF, and rebinds those keys to +run NEWDEF instead. + +** New function 'insert-char'. Insert a specified character, a specified number of times. -** `mark-marker' changed. +** 'mark-marker' changed. When there is no mark, this now returns a marker that points -nowhere, rather than `nil'. +nowhere, rather than 'nil'. -** `ding' accepts argument. +** 'ding' accepts argument. -When given an argument, the function `ding' does not terminate -execution of a keyboard macro. Normally, `ding' does terminate +When given an argument, the function 'ding' does not terminate +execution of a keyboard macro. Normally, 'ding' does terminate all macros that are currently executing. -** New function `minibuffer-depth'. +** New function 'minibuffer-depth'. This function returns the current depth in minibuffer activations. The value is zero when the minibuffer is not in use. Values greater than one are possible if the user has entered the minibuffer recursively. -** New function `documentation-property'. +** New function 'documentation-property'. (documentation-property SYMBOL PROPNAME) is like (get SYMBOL PROPNAME), -except that if the property value is a number `documentation-property' +except that if the property value is a number 'documentation-property' will take that number (or its absolute value) as a character position in the DOC file and return the string found there. @@ -1032,8 +1034,8 @@ will expand into "ESC C-x evaluates the defun containing point." regardless of the current major mode, because ESC C-x is defined to -run `eval-defun' in the keymap `emacs-lisp-mode-map'. The effect is -to show the key for `eval-defun' in Emacs Lisp mode regardless of the +run 'eval-defun' in the keymap 'emacs-lisp-mode-map'. The effect is +to show the key for 'eval-defun' in Emacs Lisp mode regardless of the current major mode. The `\<...>' construct applies to all `\[...]' constructs that follow it, @@ -1047,50 +1049,50 @@ has been used or not. ** Multiple hooks allowed in certain contexts. -The old hook variables `find-file-hook', `find-file-not-found-hook' and -`write-file-hook' have been replaced. +The old hook variables 'find-file-hook', 'find-file-not-found-hook' and +'write-file-hook' have been replaced. -The replacements are `find-file-hooks', `find-file-not-found-hooks' -and `write-file-hooks'. Each holds a list of functions to be called; -by default, `nil', for no functions. The functions are called in +The replacements are 'find-file-hooks', 'find-file-not-found-hooks' +and 'write-file-hooks'. Each holds a list of functions to be called; +by default, 'nil', for no functions. The functions are called in order of appearance in the list. -In the case of `find-file-hooks', all the functions are executed. +In the case of 'find-file-hooks', all the functions are executed. -In the case of `find-file-not-found-hooks', if any of the functions -returns non-`nil', the rest of the functions are not called. +In the case of 'find-file-not-found-hooks', if any of the functions +returns non-'nil', the rest of the functions are not called. -In the case of `write-file-hooks', if any of the functions returns -non-`nil', the rest of the functions are not called, and the file is +In the case of 'write-file-hooks', if any of the functions returns +non-'nil', the rest of the functions are not called, and the file is considered to have been written already; so actual writing in the -usual way is not done. If `write-file-hooks' is local to a buffer, -it is set to its global value if `set-visited-file-name' is called +usual way is not done. If 'write-file-hooks' is local to a buffer, +it is set to its global value if 'set-visited-file-name' is called (and thus by C-x C-w as well). -`find-file-not-found-hooks' and `write-file-hooks' can be used +'find-file-not-found-hooks' and 'write-file-hooks' can be used together to implement editing of files that are not stored as Unix files: stored in archives, or inside version control systems, or on other machines running other operating systems and accessible via ftp. ** New hooks for suspending Emacs. -Suspending Emacs runs the hook `suspend-hook' before suspending -and the hook `suspend-resume-hook' if the suspended Emacs is resumed. +Suspending Emacs runs the hook 'suspend-hook' before suspending +and the hook 'suspend-resume-hook' if the suspended Emacs is resumed. Running a hook is done by applying the variable's value to no arguments -if the variable has a non-`nil' value. If `suspend-hook' returns -non-`nil', then suspending is inhibited and so is running the -`suspend-resume-hook'. The non-`nil' value means that the `suspend-hook' +if the variable has a non-'nil' value. If 'suspend-hook' returns +non-'nil', then suspending is inhibited and so is running the +'suspend-resume-hook'. The non-'nil' value means that the 'suspend-hook' has done whatever suspending is required. ** Disabling commands can print a special message. -A command is disabled by giving it a non-`nil' `disabled' property. +A command is disabled by giving it a non-'nil' 'disabled' property. Now, if this property is a string, it is included in the message printed when the user tries to run the command. ** Emacs can open TCP connections. -The function `open-network-stream' opens a TCP connection to +The function 'open-network-stream' opens a TCP connection to a specified host and service. Its value is a Lisp object that represents the connection. The object is a kind of "subprocess", and I/O are done like I/O to subprocesses. @@ -1100,7 +1102,7 @@ done like I/O to subprocesses. *** New mode-line control features. The display of the mode line used to be controlled by a format-string -that was the value of the variable `mode-line-format'. +that was the value of the variable 'mode-line-format'. This variable still exists, but it now allows more general values, not just strings. Lists, cons cells and symbols are also meaningful. @@ -1139,16 +1141,16 @@ used as mode elements, and what they do in the display: at most the width specified by the integer. There is always one mode element to start with, that being the value of -`mode-line-format', but if this value is a list then it leads to several +'mode-line-format', but if this value is a list then it leads to several more mode elements, which can lead to more, and so on. There is one new %-construct for mode elements that are strings: `%n' displays ` Narrow' for a buffer that is narrowed. -The default value of `mode-line-format' refers to several other variables. -These variables are `mode-name', `mode-line-buffer-identification', -`mode-line-process', `mode-line-modified', `global-mode-string' and -`minor-mode-alist'. The first four are local in every buffer in which they +The default value of 'mode-line-format' refers to several other variables. +These variables are 'mode-name', 'mode-line-buffer-identification', +'mode-line-process', 'mode-line-modified', 'global-mode-string' and +'minor-mode-alist'. The first four are local in every buffer in which they are changed from the default. mode-name Name of buffer's major mode. Local in every buffer. @@ -1156,7 +1158,7 @@ mode-name Name of buffer's major mode. Local in every buffer. mode-line-buffer-identification Normally the list ("Emacs: %17b"), it is responsible for displaying text to indicate what buffer is being shown - and what kind of editing it is doing. `Emacs' means + and what kind of editing it is doing. 'Emacs' means that a file of characters is being edited. Major modes such as Info and Dired which edit or view other kinds of data often change this value. This variables becomes @@ -1188,72 +1190,72 @@ global-mode-string The idea of these variables is to eliminate the need for major modes to alter mode-line-format itself. -*** `window-point' valid for selected window. +*** 'window-point' valid for selected window. -The value returned by `window-point' used to be incorrect when its +The value returned by 'window-point' used to be incorrect when its argument was the selected window. Now the value is correct. *** Window configurations may be saved as Lisp objects. -The function `current-window-configuration' returns a special type of +The function 'current-window-configuration' returns a special type of Lisp object that represents the current layout of windows: the sizes and positions of windows, which buffers appear in them, and which parts of the buffers appear on the screen. -The function `set-window-configuration' takes one argument, which must +The function 'set-window-configuration' takes one argument, which must be a window configuration object, and restores that configuration. -*** New hook `temp-output-buffer-show-hook'. +*** New hook 'temp-output-buffer-show-hook'. This hook allows you to control how help buffers are displayed. -Whenever `with-output-to-temp-buffer' has executed its body and wants -to display the temp buffer, if this variable is bound and non-`nil' +Whenever 'with-output-to-temp-buffer' has executed its body and wants +to display the temp buffer, if this variable is bound and non-'nil' then its value is called with one argument, the temp buffer. The hook function is solely responsible for displaying the buffer. The standard manner of display--making the buffer appear in a window--is used only if there is no hook function. -*** New function `minibuffer-window'. +*** New function 'minibuffer-window'. This function returns the window used (sometimes) for displaying the minibuffer. It can be used even when the minibuffer is not active. -*** New feature to `next-window'. +*** New feature to 'next-window'. -If the optional second argument is neither `nil' nor `t', the minibuffer +If the optional second argument is neither 'nil' nor 't', the minibuffer window is omitted from consideration even when active; if the starting window was the last non-minibuffer window, the value will be the first non-minibuffer window. -*** New variable `minibuffer-scroll-window'. +*** New variable 'minibuffer-scroll-window'. -When this variable is non-`nil', the command `scroll-other-window' +When this variable is non-'nil', the command 'scroll-other-window' uses it as the window to be scrolled. Displays of completion-lists set this variable to the window containing the display. -*** New argument to `sit-for'. +*** New argument to 'sit-for'. -A non-nil second argument to `sit-for' means do not redisplay; +A non-nil second argument to 'sit-for' means do not redisplay; just wait for the specified time or until input is available. -*** Deleted function `set-minor-mode'; minor modes must be changed. +*** Deleted function 'set-minor-mode'; minor modes must be changed. -The function `set-minor-mode' has been eliminated. The display +The function 'set-minor-mode' has been eliminated. The display of minor mode names in the mode line is now controlled by the -variable `minor-mode-alist'. To specify display of a new minor +variable 'minor-mode-alist'. To specify display of a new minor mode, it is sufficient to add an element to this list. Once that is done, you can turn the mode on and off just by setting a variable, and the display will show its status automatically. -*** New variable `cursor-in-echo-area'. +*** New variable 'cursor-in-echo-area'. If this variable is non-nil, the screen cursor appears on the last line of the screen, at the end of the text displayed there. Binding this variable to t is useful at times when reading single -characters of input with `read-char'. +characters of input with 'read-char'. -*** New per-buffer variable `selective-display-ellipses'. +*** New per-buffer variable 'selective-display-ellipses'. If this variable is non-nil, an ellipsis (`...') appears on the screen at the end of each text line that is followed by invisible text. @@ -1262,16 +1264,16 @@ If this variable is nil, no ellipses appear. Then there is no sign on the screen that invisible text is present. Text is made invisible under the control of the variable -`selective-display'; this is how Outline mode and C-x $ work. +'selective-display'; this is how Outline mode and C-x $ work. -*** New variable `no-redraw-on-reenter'. +*** New variable 'no-redraw-on-reenter'. If you set this variable non-nil, Emacs will not clear the screen when you resume it after suspending it. This is for the sake of terminals with multiple screens of memory, where the termcap entry has been set up to switch between screens when Emacs is suspended and resumed. -*** New argument to `set-screen-height' or `set-screen-width'. +*** New argument to 'set-screen-height' or 'set-screen-width'. These functions now take an optional second argument which says what significance the newly specified height or width has. @@ -1295,21 +1297,21 @@ needed. ** File-related changes. -*** New parameter `backup-by-copying-when-mismatch'. +*** New parameter 'backup-by-copying-when-mismatch'. -If this variable is non-`nil', then when Emacs is about to save a +If this variable is non-'nil', then when Emacs is about to save a file, it will create the backup file by copying if that would avoid changing the file's uid or gid. -The default value of this variable is `nil', because usually it is +The default value of this variable is 'nil', because usually it is useful to have the uid of a file change according to who edited it -last. I recommend that this variable be left normally `nil' and +last. I recommend that this variable be left normally 'nil' and changed with a local variables list in those particular files where the uid needs to be preserved. -*** New parameter `file-precious-flag'. +*** New parameter 'file-precious-flag'. -If this variable is non-`nil', saving the buffer tries to avoid +If this variable is non-'nil', saving the buffer tries to avoid leaving an incomplete file due to disk full or other I/O errors. It renames the old file before saving. If saving is successful, the renamed file is deleted; if saving gets an error, the renamed @@ -1317,29 +1319,29 @@ file is renamed back to the name you visited. Backups are always made by copying for such files. -*** New variable `buffer-offer-save'. +*** New variable 'buffer-offer-save'. -If the value of this variable is non-`nil' in a buffer then exiting +If the value of this variable is non-'nil' in a buffer then exiting Emacs will offer to save the buffer (if it is modified and nonempty) even if the buffer is not visiting a file. This variable is automatically made local to the current buffer whenever it is set. -*** `rename-file', `copy-file', `add-name-to-file' and `make-symbolic-link'. +*** 'rename-file', 'copy-file', 'add-name-to-file' and 'make-symbolic-link'. -The third argument to these functions used to be `t' or `nil'; `t' +The third argument to these functions used to be 't' or 'nil'; 't' meaning go ahead even if the specified new file name already has a file, -and `nil' meaning to get an error. +and 'nil' meaning to get an error. Now if the third argument is a number it means to ask the user for confirmation in this case. -*** New optional argument to `copy-file'. +*** New optional argument to 'copy-file'. -If `copy-file' receives a non-nil fourth argument, it attempts +If 'copy-file' receives a non-nil fourth argument, it attempts to give the new copy the same time-of-last-modification that the original file has. -*** New function `file-newer-than-file-p'. +*** New function 'file-newer-than-file-p'. (file-newer-than-file-p FILE1 FILE2) returns non-nil if FILE1 has been modified more recently than FILE2. If FILE1 does not exist, the value @@ -1347,19 +1349,19 @@ is always nil; otherwise, if FILE2 does not exist, the value is t. This is meant for use when FILE2 depends on FILE1, to see if changes in FILE1 make it necessary to recompute FILE2 from it. -*** Changed function `file-exists-p'. +*** Changed function 'file-exists-p'. -This function is no longer the same as `file-readable-p'. -`file-exists-p' can now return t for a file that exists but which +This function is no longer the same as 'file-readable-p'. +'file-exists-p' can now return t for a file that exists but which the fascists won't allow you to read. -*** New function `file-locked-p'. +*** New function 'file-locked-p'. -This function receives a file name as argument and returns `nil' -if the file is not locked, `t' if locked by this Emacs, or a +This function receives a file name as argument and returns 'nil' +if the file is not locked, 't' if locked by this Emacs, or a string giving the name of the user who has locked it. -*** New function `file-name-sans-versions'. +*** New function 'file-name-sans-versions'. (file-name-sans-versions NAME) returns a substring of NAME, with any version numbers or other backup suffixes deleted from the end. @@ -1379,9 +1381,9 @@ directory, but the name of the file that holds that directory is `du:[rms]foo.dir'. There are two new functions for converting between directory names -and file names. `directory-file-name' takes a directory name and +and file names. 'directory-file-name' takes a directory name and returns the name of the file in which that directory's data is stored. -`file-name-as-directory' takes the name of a file and returns +'file-name-as-directory' takes the name of a file and returns the corresponding directory name. These always understand Unix file name syntax; on VMS, they understand VMS syntax as well. @@ -1390,30 +1392,30 @@ and (directory-file-name "/usr/rms/") returns "/usr/rms". On VMS, (file-name-as-directory "du:[rms]foo.dir") returns "du:[rms.foo]" and (directory-file-name "du:[rms.foo]") returns "du:[rms]foo.dir". -*** Value of `file-attributes' changed. +*** Value of 'file-attributes' changed. The function file-attributes returns a list containing many kinds of information about a file. Now the list has eleven elements. -The tenth element is `t' if deleting the file and creating another +The tenth element is 't' if deleting the file and creating another file of the same name would result in a change in the file's group; -`nil' if there would be no change. You can also think of this as +'nil' if there would be no change. You can also think of this as comparing the file's group with the default group for files created in the same directory by you. The eleventh element is the inode number of the file. -*** VMS-only function `file-name-all-versions'. +*** VMS-only function 'file-name-all-versions'. This function returns a list of all the completions, including version number, of a specified version-number-less file name. This is like -`file-name-all-completions', except that the latter returns values +'file-name-all-completions', except that the latter returns values that do not include version numbers. -*** VMS-only variable `vms-stmlf-recfm'. +*** VMS-only variable 'vms-stmlf-recfm'. On a VMS system, if this variable is non-nil, Emacs will give newly -created files the record format `stmlf'. This is necessary for files +created files the record format 'stmlf'. This is necessary for files that must contain lines of arbitrary length, such as compiled Emacs Lisp. @@ -1423,35 +1425,35 @@ no effect. This variable has no effect on Unix systems. -*** `insert-file-contents' on an empty file. +*** 'insert-file-contents' on an empty file. This no longer sets the buffer's "modified" flag. -*** New function (VMS only) `define-logical-name': +*** New function (VMS only) 'define-logical-name': (define-logical-name LOGICAL TRANSLATION) defines a VMS logical name LOGICAL whose translation is TRANSLATION. The new name applies to the current process only. -*** Deleted variable `ask-about-buffer-names'. +*** Deleted variable 'ask-about-buffer-names'. If you want buffer names for files to be generated in a special way, -you must redefine `create-file-buffer'. +you must redefine 'create-file-buffer'. ** Subprocess-related changes. -*** New function `process-list'. +*** New function 'process-list'. This function takes no arguments and returns a list of all of Emacs's asynchronous subprocesses. -*** New function `process-exit-status'. +*** New function 'process-exit-status'. This function, given a process, process name or buffer as argument, returns the exit status code or signal number of the process. If the process has not yet exited or died, this function returns 0. -*** Process output ignores `buffer-read-only'. +*** Process output ignores 'buffer-read-only'. Output from a process will go into the process's buffer even if the buffer is read only. @@ -1464,57 +1466,57 @@ permanently alter the selected buffer in a straightforward manner. *** Specifying environment variables for subprocesses. -When a subprocess is started with `start-process' or `call-process', -the value of the variable `process-environment' is taken to +When a subprocess is started with 'start-process' or 'call-process', +the value of the variable 'process-environment' is taken to specify the environment variables to give the subprocess. The value should be a list of strings, each of the form "VAR=VALUE". -`process-environment' is initialized when Emacs starts up +'process-environment' is initialized when Emacs starts up based on Emacs's environment. -*** New variable `process-connection-type'. +*** New variable 'process-connection-type'. -If this variable is `nil', when a subprocess is created, Emacs uses +If this variable is 'nil', when a subprocess is created, Emacs uses a pipe rather than a pty to communicate with it. Normally this -variable is `t', telling Emacs to use a pty if ptys are supported +variable is 't', telling Emacs to use a pty if ptys are supported and one is available. -*** New function `waiting-for-user-input-p'. +*** New function 'waiting-for-user-input-p'. -This function, given a subprocess as argument, returns `t' if that +This function, given a subprocess as argument, returns 't' if that subprocess appears to be waiting for input sent from Emacs, -or `nil' otherwise. +or 'nil' otherwise. -*** New hook `shell-set-directory-error-hook'. +*** New hook 'shell-set-directory-error-hook'. The value of this variable is called, with no arguments, whenever Shell mode gets an error trying to keep track of directory-setting -commands (such as `cd' and `pushd') used in the shell buffer. +commands (such as 'cd' and 'pushd') used in the shell buffer. -** New functions `user-uid' and `user-real-uid'. +** New functions 'user-uid' and 'user-real-uid'. These functions take no arguments and return, respectively, the effective uid and the real uid of the Emacs process. The value in each case is an integer. -** New variable `print-escape-newlines' controls string printing. +** New variable 'print-escape-newlines' controls string printing. -If this variable is non-`nil', then when a Lisp string is printed -by the Lisp printing function `prin1' or `print', newline characters +If this variable is non-'nil', then when a Lisp string is printed +by the Lisp printing function 'prin1' or 'print', newline characters are printed as `\n' rather than as a literal newline. -** New function `sysnetunam' on HPUX. +** New function 'sysnetunam' on HPUX. This function takes two arguments, a network address PATH and a -login string LOGIN, and executes the system call `netunam'. -It returns `t' if the call succeeds, otherwise `nil'. +login string LOGIN, and executes the system call 'netunam'. +It returns 't' if the call succeeds, otherwise 'nil'. News regarding installation: ** Many `s-...' file names changed. Many `s-...' files have been renamed. All periods in such names, -except the ones just before the final `h', have been changed to +except the ones just before the final 'h', have been changed to hyphens. Thus, `s-bsd4.2.h' has been renamed to `s-bsd4-2.h'. This is so a Unix distribution can be moved mechanically to VMS. @@ -1533,7 +1535,7 @@ well as functions. This may make it easier to port to some machines. -** Macros `XPNTR' and `XSETPNTR'; flag `DATA_SEG_BITS'. +** Macros 'XPNTR' and 'XSETPNTR'; flag `DATA_SEG_BITS'. These macros exclusively are used to unpack a pointer from a Lisp_Object and to insert a pointer into a Lisp_Object. Redefining them may help @@ -1557,7 +1559,7 @@ for more information. ** `SYSTEM_MALLOC' prevents use of GNU `malloc.c'. -SYSTEM_MALLOC, if defined, means use the system's own `malloc' routines +SYSTEM_MALLOC, if defined, means use the system's own 'malloc' routines rather than those that come with Emacs. Use this only if absolutely necessary, because if it is used you do @@ -1580,23 +1582,23 @@ These flags just say whether certain system calls are available. ** New macros control compiler switches, linker switches and libraries. The m- and s- files can now control in a modular fashion the precise -arguments passed to `cc' and `ld'. +arguments passed to 'cc' and 'ld'. -LIBS_STANDARD defines the standard C libraries. Default is `-lc'. -LIBS_DEBUG defines the extra libraries to use when debugging. Default `-lg'. +LIBS_STANDARD defines the standard C libraries. Default is '-lc'. +LIBS_DEBUG defines the extra libraries to use when debugging. Default '-lg'. LIBS_SYSTEM can be defined by the s- file to specify extra libraries. LIBS_MACHINE can be defined by the m- file to specify extra libraries. LIBS_TERMCAP defines the libraries for Termcap or Terminfo. It is defined by default in a complicated fashion but the m- or s- file can override it. -LD_SWITCH_SYSTEM can be defined by the s- file to specify extra `ld' switches. - The default is `-X' on BSD systems except those few that use COFF object files. -LD_SWITCH_MACHINE can be defined by the m- file to specify extra `ld' switches. +LD_SWITCH_SYSTEM can be defined by the s- file to specify extra 'ld' switches. + The default is '-X' on BSD systems except those few that use COFF object files. +LD_SWITCH_MACHINE can be defined by the m- file to specify extra 'ld' switches. -C_DEBUG_SWITCH defines the switches to give `cc' when debugging. Default `-g'. -C_OPTIMIZE_SWITCH defines the switches to give `cc' to optimize. Default `-O'. -C_SWITCH_MACHINE can be defined by the m- file to specify extra `cc' switches. +C_DEBUG_SWITCH defines the switches to give 'cc' when debugging. Default '-g'. +C_OPTIMIZE_SWITCH defines the switches to give 'cc' to optimize. Default '-O'. +C_SWITCH_MACHINE can be defined by the m- file to specify extra 'cc' switches. diff --git a/etc/NEWS.19 b/etc/NEWS.19 index 7eb4deaeba5..d21cd8187f1 100644 --- a/etc/NEWS.19 +++ b/etc/NEWS.19 @@ -17,8 +17,8 @@ This file is about changes in Emacs versions 19. ** Bibtex mode no longer turns on Auto Fill automatically. (No major mode should do that--it is the user's choice.) -** The variable normal-auto-fill-function specifies the function to -use for auto-fill-function, if and when Auto Fill is turned on. +** The variable 'normal-auto-fill-function' specifies the function to +use for 'auto-fill-function', if and when Auto Fill is turned on. Major modes can set this locally to alter how Auto Fill works. @@ -53,7 +53,7 @@ This feature is not enabled by default; since the Alt key is also the Meta key, it is too easy and painful to activate this feature by accident. -** The command apply-macro-to-region-lines repeats the last defined +** The command 'apply-macro-to-region-lines' repeats the last defined keyboard macro once for each complete line within the current region. It does this line by line, by moving point to the beginning of that line and then executing the macro. @@ -71,13 +71,13 @@ characters. Font Lock can be configured to use Fast Lock mode and Lazy Lock mode (see below) in a flexible way. Rather than adding the appropriate function to the -hook font-lock-mode-hook, you can use the new variable font-lock-support-mode +hook font-lock-mode-hook, you can use the new variable 'font-lock-support-mode' to control which modes have Fast Lock mode or Lazy Lock mode turned on when Font Lock mode is enabled. For example, to use Fast Lock mode when Font Lock mode is turned on, put: - (setq font-lock-support-mode 'fast-lock-mode) + (setq font-lock-support-mode 'fast-lock-mode) in your ~/.emacs. @@ -93,9 +93,9 @@ Emacs has been idle for a given amount of time. To use this package, put in your ~/.emacs: - (setq font-lock-support-mode 'lazy-lock-mode) + (setq font-lock-support-mode 'lazy-lock-mode) -To control the package behavior, see the documentation for `lazy-lock-mode'. +To control the package behavior, see the documentation for 'lazy-lock-mode'. ** Changes in BibTeX mode. @@ -142,7 +142,7 @@ referred. *** An nn-like pick-and-read minor mode is available for the summary buffers. - (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) + (add-hook 'gnus-summary-mode-hook #'gnus-pick-mode) *** In binary groups you can use a special binary minor mode: @@ -150,7 +150,7 @@ buffers. *** Groups can be grouped in a folding topic hierarchy. - (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) + (add-hook 'gnus-group-mode-hook #'gnus-topic-mode) *** Gnus can re-send and bounce mail. @@ -159,7 +159,7 @@ buffers. *** Groups can now have a score, and bubbling based on entry frequency is possible. - (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group) + (add-hook 'gnus-summary-exit-hook #'gnus-summary-bubble-group) *** Groups can be process-marked, and commands can be performed on groups of groups. @@ -175,7 +175,7 @@ batches, ClariNet briefs collections, and just about everything else. *** Groups can be sorted according to many criteria. - For instance: (setq gnus-group-sort-function 'gnus-group-sort-by-rank) + For instance: (setq gnus-group-sort-function #'gnus-group-sort-by-rank) *** New group parameters have been introduced to set list-address and expiration times. @@ -196,17 +196,17 @@ articles with the `*' command. *** Article headers can be buttonized. - (add-hook 'gnus-article-display-hook 'gnus-article-add-buttons-to-head) + (add-hook 'gnus-article-display-hook #'gnus-article-add-buttons-to-head) *** All mail backends support fetching articles by Message-ID. *** Duplicate mail can now be treated properly. See the -`nnmail-treat-duplicates' variable. +'nnmail-treat-duplicates' variable. *** All summary mode commands are available directly from the article buffer. -*** Frames can be part of `gnus-buffer-configuration'. +*** Frames can be part of 'gnus-buffer-configuration'. *** Mail can be re-scanned by a daemonic process. @@ -235,7 +235,7 @@ refetching. *** A clean copy of the current article is always stored in a separate buffer to allow easier treatment. -*** Gnus can suggest where to save articles. See `gnus-split-methods'. +*** Gnus can suggest where to save articles. See 'gnus-split-methods'. *** Gnus doesn't have to do as much prompting when saving. @@ -255,7 +255,7 @@ cited text to hide is now customizable. *** Boring headers can be hidden. - (add-hook 'gnus-article-display-hook 'gnus-article-hide-boring-headers) + (add-hook 'gnus-article-display-hook #'gnus-article-hide-boring-headers) *** Default scoring values can now be set from the menu bar. @@ -275,10 +275,10 @@ exists. ** The variable print-length applies to printing vectors and bitvectors, as well as lists. -** The new function keymap-parent returns the parent keymap +** The new function 'keymap-parent' returns the parent keymap of a given keymap. -** The new function set-keymap-parent specifies a new parent for a +** The new function 'set-keymap-parent' specifies a new parent for a given keymap. The arguments are KEYMAP and PARENT. PARENT must be a keymap or nil. @@ -357,17 +357,17 @@ This command, not previously mentioned in NEWS, toggles a mode in which the minibuffer window expands to show as many lines as the minibuffer contains. -** `title' frame parameter and resource. +** 'title' frame parameter and resource. -The `title' X resource now specifies just the frame title, nothing else. +The 'title' X resource now specifies just the frame title, nothing else. It does not affect the name used for looking up other X resources. -It works by setting the new `title' frame parameter, which likewise +It works by setting the new 'title' frame parameter, which likewise affects just the displayed title of the frame. -The `name' parameter continues to do what it used to do: +The 'name' parameter continues to do what it used to do: it specifies the frame name for looking up X resources, and also serves as the default for the displayed title -when the `title' parameter is unspecified or nil. +when the 'title' parameter is unspecified or nil. ** Emacs now uses the X toolkit by default, if you have a new enough version of X installed (X11R5 or newer). @@ -406,7 +406,7 @@ Emacs or the operating system crashes, the file remains for M-x recover-session. You can turn off the writing of these files by setting -auto-save-list-file-name to nil. If you do this, M-x recover-session +'auto-save-list-file-name' to nil. If you do this, M-x recover-session will not work. Some previous Emacs versions failed to delete these files even on @@ -417,13 +417,13 @@ now that the bug is fixed. ** Changes to Version Control (VC) -There is a new variable, vc-follow-symlinks. It indicates what to do +There is a new variable, 'vc-follow-symlinks'. It indicates what to do when you visit a link to a file that is under version control. Editing the file through the link bypasses the version control system, which is dangerous and probably not what you want. If this variable is t, VC follows the link and visits the real file, -telling you about it in the echo area. If it is `ask' (the default), +telling you about it in the echo area. If it is 'ask' (the default), VC asks for confirmation whether it should follow the link. If nil, the link is visited and a warning displayed. @@ -449,27 +449,27 @@ Completion in fields that hold mail addresses works based on the list of local users plus your aliases. Additionally, if your site provides a mail directory or a specific host to use for any unrecognized user name, you can arrange to query that host for completion also. (See the -documentation of variables `mail-directory-process' and -`mail-directory-stream'.) +documentation of variables 'mail-directory-process' and +'mail-directory-stream'.) -** A greatly extended sgml-mode offers new features such as (to be configured) +** A greatly extended 'sgml-mode' offers new features such as (to be configured) skeletons with completing read for tags and attributes, typing named characters including optionally all 8bit characters, making tags invisible with optional alternate display text, skipping and deleting tag(pair)s. Note: since Emacs' syntax feature cannot limit the special meaning of ', " and - to inside <>, for some texts the result, especially of font locking, may be -wrong (see `sgml-specials' if you get wrong results). +wrong (see 'sgml-specials' if you get wrong results). -The derived html-mode configures this with tags and attributes more or +The derived 'html-mode' configures this with tags and attributes more or less HTML3ish. It also offers optional quick keys like C-c 1 for -headline or C-c u for unordered list (see `html-quick-keys'). Edit / +headline or C-c u for unordered list (see 'html-quick-keys'). Edit / Text Properties / Face or M-g combinations create tags as applicable. Outline minor mode is supported and level 1 font-locking tries to fontify tag contents (which only works when they fit on one line, due to a limitation in font-lock). -External viewing via browse-url can occur automatically upon saving. +External viewing via 'browse-url' can occur automatically upon saving. ** M-x imenu-add-to-menubar now adds to the menu bar for the current buffer only. If you want to put an Imenu item in the menu bar for all @@ -494,7 +494,7 @@ isn't in sorted order, so you should finish each entry with C-c C-c (bibtex-close-entry) after you have inserted or modified it. The default value of bibtex-maintain-sorted-entries is nil. -*** Function `show-all' is no longer bound to a key, since C-u C-c C-q +*** Function 'show-all' is no longer bound to a key, since C-u C-c C-q does the same job. *** Entries with quotes inside quote-delimited fields (as `author = @@ -509,13 +509,13 @@ text. Font Lock mode can be turned on globally, in buffers that support it, by the new command global-font-lock-mode. You can use the new variable -font-lock-global-modes to control which modes have Font Lock mode automagically -turned on. By default, this variable is set so that Font Lock mode is turned -on globally where the buffer mode supports it. +'font-lock-global-modes' to control which modes have Font Lock mode +automagically turned on. By default, this variable is set so that +Font Lock mode is turned on globally where the buffer mode supports it. For example, to automagically turn on Font Lock mode where supported, put: - (global-font-lock-mode t) + (global-font-lock-mode t) in your ~/.emacs. @@ -524,10 +524,10 @@ in your ~/.emacs. In Font Lock mode, editing a line automatically refontifies that line only. However, if your change alters the syntactic context for following lines, those lines remain incorrectly fontified. To refontify them, use the new -command M-g M-g (font-lock-fontify-block). +command M-g M-g ('font-lock-fontify-block'). In certain major modes, M-g M-g refontifies the entire current function. -(The variable font-lock-mark-block-function controls how to find the +(The variable 'font-lock-mark-block-function' controls how to find the current function.) In other major modes, M-g M-g refontifies 16 lines above and below point. @@ -535,7 +535,7 @@ With a prefix argument N, M-g M-g refontifies N lines above and below point. ** Follow mode -Follow mode is a new minor mode combining windows showing the same +'follow-mode' is a new minor mode combining windows showing the same buffer into one tall "virtual window". The windows are typically two side-by-side windows. Follow mode makes them scroll together as if they were a unit. To use it, go to a frame with just one window, @@ -554,7 +554,7 @@ to hs-hide-hook and hs-show-hook, to follow the convention for normal hooks. ** Simula mode now has a menu containing the most important commands. -The new command simula-indent-exp is bound to C-M-q. +The new command 'simula-indent-exp' is bound to C-M-q. ** etags can now handle programs written in Erlang. Files are recognized by the extensions .erl and .hrl. The tagged lines are @@ -577,23 +577,23 @@ pressing both mouse buttons. restricted functionality on MS-DOS, now work. The most important ones are: -**** Printing (both with `M-x lpr-buffer' and with `ps-print' package) +**** Printing (both with `M-x lpr-buffer' and with 'ps-print' package) now works. -**** `Ediff' works (in a single-frame mode). +**** 'Ediff' works (in a single-frame mode). **** `M-x display-time' can be used on MS-DOS (due to the new implementation of Emacs timers, see below). -**** `Dired' supports Unix-style shell wildcards. +**** 'Dired' supports Unix-style shell wildcards. -**** The `c-macro-expand' command now works as on other platforms. +**** The 'c-macro-expand' command now works as on other platforms. **** `M-x recover-session' works. **** `M-x list-colors-display' displays all the available colors. -**** The `TPU-EDT' package works. +**** The 'TPU-EDT' package works. * Lisp changes in Emacs 19.31. @@ -606,17 +606,17 @@ behavior, and invoking it with any other value deactivates it. ** Change in system-type and system-configuration values. -The value of system-type on a Linux-based GNU system is now `lignux', -not `linux'. This means that some programs which use `system-type' -need to be changed. The value of `system-configuration' will also +The value of system-type on a Linux-based GNU system is now 'lignux', +not 'linux'. This means that some programs which use 'system-type' +need to be changed. The value of 'system-configuration' will also be different. -It is generally recommended to use `system-configuration' rather -than `system-type'. +It is generally recommended to use 'system-configuration' rather +than 'system-type'. See for more about this. -** The functions shell-command and dired-call-process +** The functions 'shell-command' and 'dired-call-process' now run file name handlers for default-directory, if it has them. ** Undoing the deletion of text now restores the positions of markers @@ -626,7 +626,7 @@ that pointed into or next to the deleted text. no longer use a separate process. Therefore, they now work more reliably and can be used for shorter time delays. -The new function run-with-timer is a convenient way to set up a timer +The new function 'run-with-timer' is a convenient way to set up a timer to run a specified amount of time after the present. A call looks like this: @@ -687,13 +687,13 @@ asks the question PROMPT (just like y-or-n-p). If the user answers within SECONDS seconds, it returns the answer that the user gave. Otherwise it gives up after SECONDS seconds, and returns DEFAULT-VALUE. -** Minor change to `encode-time': you can now pass more than seven +** Minor change to 'encode-time': you can now pass more than seven arguments. If you do that, the first six arguments have the usual meaning, the last argument is interpreted as the time zone, and the arguments in between are ignored. -This means that it works to use the list returned by `decode-time' as -the list of arguments for `encode-time'. +This means that it works to use the list returned by 'decode-time' as +the list of arguments for 'encode-time'. ** The default value of load-path now includes the directory /usr/local/share/emacs/VERSION/site-lisp In addition to @@ -717,9 +717,9 @@ convert-standard-filename to convert the file name to a proper form for each operating system. Here is an example of use, from the file completions.el: -(defvar save-completions-file-name - (convert-standard-filename "~/.completions") - "*The filename to save completions to.") + (defvar save-completions-file-name + (convert-standard-filename "~/.completions") + "*The filename to save completions to.") This sets the variable save-completions-file-name to a value that depends on the operating system, because the definition of @@ -734,11 +734,11 @@ minibuffer if there is no prefix argument at all.) ** When a process is deleted, this no longer disconnects the process marker from its buffer position. -** The variable garbage-collection-messages now controls whether +** The variable 'garbage-collection-messages' now controls whether Emacs displays a message at the beginning and end of garbage collection. The default is nil, meaning there are no messages. -** The variable debug-ignored-errors specifies certain kinds of errors +** The variable 'debug-ignored-errors' specifies certain kinds of errors that should not enter the debugger. Its value is a list of error condition symbols and/or regular expressions. If the error has any of the condition symbols listed, or if any of the regular expressions @@ -748,27 +748,28 @@ regardless of the value of debug-on-error. This variable is initialized to match certain common but uninteresting errors that happen often during editing. -** The new function error-message-string converts an error datum +** The new function 'error-message-string' converts an error datum into its error message. The error datum is what condition-case puts into the variable, to describe the error that happened. ** Anything that changes which buffer appears in a given window now runs the window-scroll-functions for that window. -** The new function get-buffer-window-list returns a list of windows displaying -a buffer. The function is called with the buffer (a buffer object or a buffer -name) and two optional arguments specifying the minibuffer windows and frames -to search. Therefore this function takes optional args like next-window etc., -and not get-buffer-window. +** The new function 'get-buffer-window-list' returns a list of windows +displaying a buffer. The function is called with the buffer (a buffer +object or a buffer name) and two optional arguments specifying the +minibuffer windows and frames to search. +Therefore this function takes optional args like 'next-window' etc., +and not 'get-buffer-window'. -** buffer-substring now runs the hook buffer-access-fontify-functions, +** 'buffer-substring' now runs the hook 'buffer-access-fontify-functions', calling each function with two arguments--the range of the buffer -being accessed. buffer-substring-no-properties does not call them. +being accessed. 'buffer-substring-no-properties' does not call them. If you use this feature, you should set the variable -buffer-access-fontified-property to a non-nil symbol, which is a +'buffer-access-fontified-property' to a non-nil symbol, which is a property name. Then, if all the characters in the buffer range have a -non-nil value for that property, the buffer-access-fontify-functions +non-nil value for that property, the 'buffer-access-fontify-functions' are not called. When called, these functions should put a non-nil property on the text that they fontify, so that they won't get called over and over for the same text. @@ -776,7 +777,7 @@ over and over for the same text. ** Changes in lisp-mnt.el *** The lisp-mnt package can now recognize file headers that are written -in the formats used by the `what' command and the RCS `ident' command: +in the formats used by the 'what' command and the RCS 'ident' command: ;; @(#) HEADER: text ;; $HEADER: text $ @@ -813,12 +814,13 @@ when narrowing is in effect. ** If you type a M-x command that has an equivalent key binding, the equivalent is shown in the minibuffer before the command executes. This feature is enabled by default for the sake of beginning users. -You can turn the feature off by setting suggest-key-bindings to nil. +You can turn the feature off by setting 'suggest-key-bindings' to nil. ** The menu bar is now visible on text-only terminals. To choose a command from the menu bar when you have no mouse, type M-` -(Meta-Backquote) or F10. To turn off menu bar display, -do (menu-bar-mode -1). +(Meta-Backquote) or F10. To turn off menu bar display, do: + + (menu-bar-mode -1). ** Whenever you invoke a minibuffer, it appears in the minibuffer window that the current frame uses. @@ -848,7 +850,7 @@ Use M-x xterm-mouse-mode to let emacs take control over the mouse. *** C-mouse-1 now once again provides a menu of buffers to select. S-mouse-1 is now the way to select a default font for the frame. -*** There is a new mouse-scroll-min-lines variable to control the +*** There is a new 'mouse-scroll-min-lines' variable to control the minimum number of lines scrolled by dragging the mouse outside a window's edge. @@ -869,11 +871,11 @@ you have already seen. ** Filling changes. -*** If the variable colon-double-space is non-nil, the explicit fill +*** If the variable 'colon-double-space' is non-nil, the explicit fill commands put two spaces after a colon. *** Auto-Fill mode now supports Adaptive Fill mode just as the -explicit fill commands do. The variable adaptive-fill-regexp +explicit fill commands do. The variable 'adaptive-fill-regexp' specifies a regular expression to match text at the beginning of a line that should be the fill prefix. @@ -885,14 +887,14 @@ paragraph because they are indented. This indentation shouldn't be copied to additional lines. Whether indented lines are paragraph lines depends on the value of the -variable paragraph-start. Some major modes set this; you can set it +variable 'paragraph-start'. Some major modes set this; you can set it by hand or in mode hooks as well. For editing text in which paragraph first lines are not indented, and which contains paragraphs in which all lines are indented, you should use Indented Text mode or arrange for paragraph-start not to match these lines. *** You can specify more complex ways of choosing a fill prefix -automatically by setting `adaptive-fill-function'. This function +automatically by setting 'adaptive-fill-function'. This function is called with point after the left margin of a line, and it should return the appropriate fill prefix based on that line. If it returns nil, that means it sees no fill prefix in that line. @@ -910,7 +912,7 @@ fail, though. functions have changed names. **** The summary mode gnus-uu commands have been moved from the `C-c -C-v' keymap to the `X' keymap. +C-v' keymap to the 'X' keymap. **** There can now be several summary buffers active at once. Variables that are relevant to each summary buffer are buffer-local to @@ -920,7 +922,7 @@ that buffer. highlighting based not only on what's visible in the buffer, but on other data structures. -**** Old packages like `expire-kill' will no longer work. +**** Old packages like 'expire-kill' will no longer work. **** `C-c C-l' in the group buffer no longer switches to a different buffer, but instead lists killed groups in the group buffer. @@ -987,8 +989,8 @@ to the servers. *** General changes (all backends). VC directory listings (C-x v d) are now kept up to date when you do a -vc-next-action (C-x v v) on the marked files. The `g' command updates -the buffer properly. `=' in a VC dired buffer produces a version +vc-next-action (C-x v v) on the marked files. The 'g' command updates +the buffer properly. '=' in a VC dired buffer produces a version control diff, not an ordinary diff. *** CVS changes. @@ -1033,14 +1035,14 @@ locking for a file, use the "rcs -U" command. If you share RCS subdirs with other users (through symbolic links), and you always want to work on the latest version, set -vc-consult-headers to nil and vc-mistrust-permissions to `t'. +vc-consult-headers to nil and vc-mistrust-permissions to 't'. Then you see the state of the *latest* version on the mode line, not that of your working file. When you do a check out, VC overwrites your working file with the latest version from the master. *** RCS customization. -There is a new variable vc-consult-headers. If it is t (the default), +There is a new variable 'vc-consult-headers'. If it is t (the default), VC searches for RCS headers in working files (like `$Id$') and determines the state of the file from them, not from the master file. This is fast and more reliable when you use branches. (The variable @@ -1065,7 +1067,7 @@ Here are the commands for converting to and from these calendars: Calendar mode now has commands to produce fancy printed calendars via LaTeX. You can ask for a calendar for one or more days, weeks, months -or years. The commands all start with `t'; see the manual for a list +or years. The commands all start with 't'; see the manual for a list of them. *** New sexp diary entry type @@ -1094,12 +1096,12 @@ you can do to turn the mode on. -** The new pc-select package emulates the key bindings for cutting and +** The new 'pc-select' package emulates the key bindings for cutting and pasting, and selection of regions, found in Windows, Motif, and the Macintosh. -** Help buffers now use a special major mode, Help mode. This mode -normally turns on View mode; it also provides a hook, help-mode-hook, +** Help buffers now use a special major mode, 'help-mode'. This mode +normally turns on View mode; it also provides a hook, 'help-mode-hook', which you can use for other customization. ** Apropos now uses faces for enhanced legibility. It now describes @@ -1114,7 +1116,7 @@ function definition, variable, or property. For example, to automatically turn on Font Lock mode in the *Help* buffer, put: - (add-hook 'help-mode-hook 'turn-on-font-lock) + (add-hook 'help-mode-hook #'turn-on-font-lock) in your ~/.emacs. @@ -1129,13 +1131,13 @@ before resuming with the keyword item of which it is part. For example, a typical keyword item might be: - ("\\" (0 anchor-face)) + ("\\" (0 anchor-face)) which fontifies each occurrence of the discrete word "anchor" in the value of the variable anchor-face. However, the highlighting information can be used to fontify text that is anchored to the word "anchor". For example: - ("\\" (0 anchor-face) ("\\=[ ,]*\\(item\\)" nil nil (1 item-face))) + ("\\" (0 anchor-face) ("\\=[ ,]*\\(item\\)" nil nil (1 item-face))) which fontifies each occurrence of "anchor" as above, but for each occurrence of "anchor", each occurrence of "item", in any following comma separated list, @@ -1163,7 +1165,7 @@ These variables can now specify values for individual modes, by supplying lists of mode names and values. For example, to use the above mentioned level 3 decoration for buffers in C/C++ modes, and default decoration otherwise, put: - (setq font-lock-maximum-decoration '((c-mode . 3) (c++-mode . 3))) + (setq font-lock-maximum-decoration '((c-mode . 3) (c++-mode . 3))) in your ~/.emacs. Maximum buffer size values for individual modes are specified in the same way with the variable font-lock-maximum-size. @@ -1171,15 +1173,16 @@ specified in the same way with the variable font-lock-maximum-size. *** Font Lock configuration The mechanism to provide default settings for Font Lock mode are the variables -font-lock-defaults and font-lock-maximum-decoration. Typically, you should +'font-lock-defaults' and 'font-lock-maximum-decoration'. Typically, you should only need to change the value of font-lock-maximum-decoration. However, to support Font Lock mode for buffers in modes that currently do not support Font Lock mode, you should set a buffer local value of font-lock-defaults for that mode, typically via its mode hook. These variables are used by Font Lock mode to set the values of the variables -font-lock-keywords, font-lock-keywords-only, font-lock-syntax-table, -font-lock-beginning-of-syntax-function and font-lock-keywords-case-fold-search. +'font-lock-keywords', 'font-lock-keywords-only', 'font-lock-syntax-table', +'font-lock-beginning-of-syntax-function' +and 'font-lock-keywords-case-fold-search'. You need not set these variables directly, and should not set them yourself since the underlining mechanism may change in future. @@ -1188,13 +1191,16 @@ since the underlining mechanism may change in future. archive files (files whose names end with .arc, .lzh, .zip, and .zoo). ** You can automatically update the years in copyright notice by -means of (add-hook 'write-file-hooks 'copyright-update). +means of + + (add-hook 'write-file-hooks #'copyright-update). + Optionally it can update the GPL version as well. ** Scripts of various languages (Shell, AWK, Perl, makefiles ...) can be automatically provided with a magic number and be made executable by their respective modes under control of various user variables. -The mode must call (executable-set-magic "perl") or +The mode must call 'executable-set-magic', such as (executable-set-magic "make" "-f"). The latter for example has no effect on [Mm]akefile. @@ -1202,15 +1208,15 @@ effect on [Mm]akefile. command C-c ! executes the region, and optionally beginning of script as well, by passing them to the shell. -Cases such as `sh' being a `bash' are now accounted for. +Cases such as 'sh' being a 'bash' are now accounted for. Fontification now also does variables, the magic number and all -builtin commands. Shell script mode no longer mingles `tab-width' and -indentation style. The variable `sh-tab-width' has been renamed to -`sh-indentation'. Empty lines are now indented like previous +builtin commands. Shell script mode no longer mingles 'tab-width' and +indentation style. The variable 'sh-tab-width' has been renamed to +'sh-indentation'. Empty lines are now indented like previous non-empty line, rather than just previous line. The annoying $ variable prompting has been eliminated. Instead, shell -script mode uses `comint-dynamic-completion' for commands, variables +script mode uses 'comint-dynamic-completion' for commands, variables and filenames. ** Two-column mode now automatically scrolls both buffers together, @@ -1229,7 +1235,7 @@ element < no longer exists, ' is a new element. ** The autoinsert insert facility for prefilling empty files as soon as they are found has been extended to accommodate skeletons or calling -functions. See the function auto-insert. +functions. See the function 'auto-insert'. ** TPU-edt Changes @@ -1290,7 +1296,7 @@ from the command line. ** etags has now the ability to tag Perl files. They are recognized either by the .pm and .pl suffixes or by a first line which starts with `#!' and specifies a Perl interpreter. The tagged lines are -those beginning with the `sub' keyword. +those beginning with the 'sub' keyword. New suffixes recognized are .hpp for C++; .f90 for Fortran; .bib, .ltx, .TeX for TeX (.bbl, .dtx removed); .ml for Lisp; .prolog for @@ -1322,25 +1328,25 @@ character table. It can be any of these values: keyboard-translate-table case-table -The function `char-table-subtype' returns the subtype of a char-table. +The function 'char-table-subtype' returns the subtype of a char-table. You cannot alter the subtype of an existing char-table. A char-table has an element for each character code. It also has some "extra slots". The number of extra slots depends on the subtype and their use depends on the subtype. (Each subtype symbol has a -`char-table-extra-slots' property that says how many extra slots to -make.) Use (char-table-extra-slot TABLE N) to access extra slot N and -(set-char-table-extra-slot TABLE N VALUE) to store VALUE in slot N. +'char-table-extra-slots' property that says how many extra slots to +make.) Use 'char-table-extra-slot' to access extra slots and +'set-char-table-extra-slot' to store a value in a slot. A char-table T can have a parent, which should be another char-table P. If you look for the value in T for character C, and the table T actually holds nil, P's element for character C is used instead. -The functions `char-table-parent' and `set-char-table-parent' +The functions 'char-table-parent' and 'set-char-table-parent' let you read or set the parent of a char-table. To scan all the values in a char-table, do not try to loop through all possible character codes. That would work for now, but will not work -in the future. Instead, call map-char-table. (map-char-table +in the future. Instead, call 'map-char-table'. (map-char-table FUNCTION TABLE) calls FUNCTION once for each character or character set that has a distinct value in TABLE. FUNCTION gets two arguments, RANGE and VALUE. RANGE specifies a range of TABLE that has one @@ -1349,23 +1355,23 @@ uniform value, and VALUE is the value in TABLE for that range. Currently, RANGE is always a vector containing a single character and it refers to that character alone. In the future, other kinds of ranges will occur. You can set the value for a given range -with (set-char-table-range TABLE RANGE VALUE) and examine the value -for a range with (char-table-range TABLE RANGE). +with 'set-char-table-range' and examine the value +for a range with 'char-table-range'. *** Syntax tables are now represented as char-tables. All syntax tables other than the standard syntax table normally have the standard syntax table as their parent. -Their subtype is `syntax-table'. +Their subtype is 'syntax-table'. *** Display tables are now represented as char-tables. -Their subtype is `display-table'. +Their subtype is 'display-table'. *** Case tables are now represented as char-tables. -Their subtype is `case-table'. +Their subtype is 'case-table'. *** The value of keyboard-translate-table may now be a char-table instead of a string. Normally the char-tables used for this purpose -have the subtype `keyboard-translate-table', but that is not required. +have the subtype 'keyboard-translate-table', but that is not required. *** A new data type called a bool-vector is a vector of values that are either t or nil. To create one, do @@ -1375,25 +1381,25 @@ that are either t or nil. To create one, do text is inserted at the place where the marker points. This is called the "insertion type" of the marker. -To set the insertion type, do (set-marker-insertion-type MARKER TYPE). +To set the insertion type, use 'set-marker-insertion-type'. If TYPE is t, it means the marker advances when text is inserted. If TYPE is nil, it means the marker does not advance. (In Emacs 19.29, markers did not advance.) -The function marker-insertion-type reports the insertion type of a -given marker. The function copy-marker takes a second argument TYPE +The function 'marker-insertion-type' reports the insertion type of a +given marker. The function 'copy-marker' takes a second argument TYPE which specifies the insertion type of the new copied marker. ** When you create an overlay, you can specify the insertion type of the beginning and of the end. To do this, you can use two new -arguments to make-overlay: front-advance and rear-advance. +arguments to 'make-overlay': front-advance and rear-advance. -** The new function overlays-in returns a list of the overlays that +** The new function 'overlays-in' returns a list of the overlays that overlap a specified range of the buffer. The returned list includes empty overlays at the beginning of this range, as well as within the range. -** The new hook window-scroll-functions is run when a window has been +** The new hook 'window-scroll-functions' is run when a window has been scrolled. The functions in this list are called just before redisplay, after the new window-start has been computed. Each function is called with two arguments--the window that has been scrolled, and its @@ -1402,7 +1408,7 @@ new window-start position. This hook is useful for on-the-fly fontification and other features that affect how the redisplayed text will look when it is displayed. -The window-end value of the window is not valid when these functions +The 'window-end' value of the window is not valid when these functions are called. The computation of window-end is byproduct of actual redisplay of the window contents, which means it has not yet happened when the hook is run. Computing window-end specially in advance for @@ -1411,21 +1417,21 @@ the sake of these functions would cause a slowdown. The hook functions can determine where the text on the window will end by calling vertical-motion starting with the window-start position. -** The new hook redisplay-end-trigger-functions is run whenever +** The new hook 'redisplay-end-trigger-functions' is run whenever redisplay in window uses text that extends past a specified end trigger position. You set the end trigger position with the function -set-window-redisplay-end-trigger. The functions are called with two +'set-window-redisplay-end-trigger'. The functions are called with two arguments: the window, and the end trigger position. Storing nil for the end trigger position turns off the feature, and the trigger value is automatically reset to nil just after the hook is run. -You can use the function window-redisplay-end-trigger to read a +You can use the function 'window-redisplay-end-trigger' to read a window's current end trigger value. -** The new function insert-file-contents-literally inserts the +** The new function 'insert-file-contents-literally' inserts the contents of a file without any character set translation or decoding. -** The new function safe-length computes the length of a list. +** The new function 'safe-length' computes the length of a list. It never gets an error--it treats any non-list like nil. If given a circular list, it returns an upper bound for the number of elements before the circularity. @@ -1436,19 +1442,19 @@ regexp that was matched, not the entire match. For example, after matching `foo \(ba*r\)' calling replace-match with 1 as SUBEXP means to replace just the text that matched `\(ba*r\)'. -** The new keymap special-event-map defines bindings for certain +** The new keymap 'special-event-map' defines bindings for certain events that should be handled at a very low level--as soon as they -are read. The read-event function processes these events itself, +are read. The 'read-event' function processes these events itself, and never returns them. Events that are handled in this way do not echo, they are never grouped into key sequences, and they never appear in the value of -last-command-event or (this-command-keys). They do not discard a -numeric argument, they cannot be unread with unread-command-events, +'last-command-event' or (this-command-keys). They do not discard a +numeric argument, they cannot be unread with 'unread-command-events', they may not appear in a keyboard macro, and they are not recorded in a keyboard macro while you are defining one. -These events do, however, appear in last-input-event immediately after +These events do, however, appear in 'last-input-event' immediately after they are read, and this is the way for the event's definition to find the actual event. @@ -1460,7 +1466,7 @@ out-of-range values for its SEC, MINUTE, HOUR, DAY, and MONTH arguments; for example, day 0 means the day preceding the given month. Also, the ZONE argument can now be a TZ-style string. -** command-execute and call-interactively now accept an optional third +** 'command-execute' and 'call-interactively' now accept an optional third argument KEYS. If specified and non-nil, this specifies the key sequence containing the events that were used to invoke the command. @@ -1542,7 +1548,7 @@ contain items that were formerly in the Files and Edit menus, as well as some that did not exist in the menu bar menus before. ** Emacs can now display on more than one X display at the same time. -Use the command make-frame-on-display to create a frame, specifying +Use the command 'make-frame-on-display' to create a frame, specifying which display to use. ** M-x talk-connect sets up a multi-user talk connection @@ -1559,7 +1565,7 @@ This means the maximum size of a buffer is at least 2**27-1, or 134,217,727. ** When you start Emacs, you can now specify option names in -long GNU form (starting with `--') and you can abbreviate the names. +long GNU form (starting with '--') and you can abbreviate the names. You can now specify the options in any order. The previous requirements about the order of options @@ -1574,7 +1580,7 @@ active, now leaves the mark active and does not change its position. You can make incremental search deactivate the mark once again with this expression. - (add-hook 'isearch-mode-hook 'deactivate-mark) + (add-hook 'isearch-mode-hook #'deactivate-mark) ** C-delete now deletes a word backwards. This is for compatibility with some editors in the PC world. (This key is not available on @@ -1602,7 +1608,7 @@ If you prefer the old ESC ESC binding, put in your `~/.emacs': (global-set-key "\e\e" 'eval-expression) ** The f1 function key is now equivalent to the help key. This is -done with key-translation-map; delete the binding for f1 in that map +done with 'key-translation-map'; delete the binding for f1 in that map if you want to use f1 for something else. ** Mouse-3, in the simplest case, still sets the region. But now, it @@ -1638,15 +1644,15 @@ are used. *** All fill functions now indent every line to the left-margin. If there is also a fill-prefix, that goes after the margin indentation. -*** Open-line and newline also make sure that the lines they create +*** 'open-line' and 'newline' also make sure that the lines they create are indented to the left margin. *** It also allows you to set the "justification" of the region: whether it should be centered, flush right, and so forth. The fill -functions (including auto-fill-mode) will maintain the justification +functions (including 'auto-fill-mode') will maintain the justification and indentation that you request. -*** The new function `list-colors-display' shows you what colors are +*** The new function 'list-colors-display' shows you what colors are available. This is also accessible from the C-mouse-2 menu. ** You can now save and load files including their faces and other @@ -1676,7 +1682,7 @@ middle of an ordinary key sequence. character. ** Echo area messages are now logged in the "*Messages*" buffer. The -size of this buffer is limited to message-log-max lines. +size of this buffer is limited to 'message-log-max' lines. ** RET in various special modes for read-only buffers that contain lists of items now selects the item point is on. These modes include @@ -1684,12 +1690,12 @@ Dired, Compilation buffers, Buffer-menu, Tar mode, and Occur mode. (In Info, RET follows the reference near point; in completion list buffers, RET chooses the completion around point.) -** set-background-color now updates the modeline face in a special +** 'set-background-color' now updates the modeline face in a special way. If that face was previously set up to be reverse video, the reverse of the default face, then set-background-color updates it so that it remains the reverse of the default face. -** The functions raise-frame and lower-frame are now commands. +** The functions 'raise-frame' and 'lower-frame' are now commands. When used interactively, they apply to the selected frame. ** M-x buffer-menu now displays the buffer list in the selected window. @@ -1706,16 +1712,16 @@ default value, if there is one. Normal execution of defvar does not alter the variable if it already has a non-void value. ** In completion list buffers, the left and right arrow keys run the -new commands previous-completion and next-completion. They move one +new commands 'previous-completion' and 'next-completion'. They move one completion at a time. -** While doing completion in the minibuffer, the `prior' or `pageup' +** While doing completion in the minibuffer, the 'prior' or 'pageup' key switches to the completion list window. ** When you exit the minibuffer with empty contents, the empty string is not put in the minibuffer history. -** The default buffer for insert-buffer is now the "first" buffer +** The default buffer for 'insert-buffer' is now the "first" buffer other than the current one. If you have more than one window, this is a buffer visible in another window. (Usually it is the buffer that C-M-v would scroll.) @@ -1747,8 +1753,8 @@ and scribe-underline-word is on C-c C-u. gomoku-human-plays is on C-c C-p, gomoku-human-resigns is on C-c C-r, and gomoku-emacs-plays is on C-c C-e. -*** In the Outline mode defined in allout.el, -outline-rebullet-current-heading is now on C-c *. +*** In the Outline mode defined in 'allout', +'outline-rebullet-current-heading' is now on C-c *. ** M-s in Info now searches through the nodes of the Info file, just like s. The alias M-s was added so that you can use the same @@ -1760,14 +1766,14 @@ with the sequences ~! and ~?. ** M-x compare-windows now pushes mark in both windows before it starts moving point. -** There are two new commands in Dired, A (dired-do-search) -and Q (dired-do-query-replace). These are similar to tags-search and +** There are two new commands in Dired, A ('dired-do-search') +and Q ('dired-do-query-replace'). These are similar to tags-search and tags-query-replace, but instead of searching the list of files that appears in a tags table, they search all the files marked in Dired. ** Changes to dabbrev. -A new function, `dabbrev-completion' (bound to M-C-/), expands the +A new function, 'dabbrev-completion' (bound to M-C-/), expands the unique part of an abbreviation. Dabbrev now looks for expansions in other buffers, looks for symbols @@ -1788,7 +1794,7 @@ another way. *** Bookmarks can have annotations; type "C-h m" after doing "M-x list-bookmarks", for more information on annotations. -*** The bookmark-jump popup menu function is now `bookmark-menu-jump', for +*** The 'bookmark-jump' popup menu function is now 'bookmark-menu-jump', for those who bind it to a mouse click. *** The default bookmarks file name is now "~/.emacs.bmk". If you @@ -1816,18 +1822,18 @@ command M-x cpp-highlight-buffer. variable symbols. Also ++ and -- which mean 2* positive and negative c-basic-offset respectively. -*** New variable, c-recognize-knr-p, which controls whether K&R C +*** New variable, 'c-recognize-knr-p', which controls whether K&R C constructs will be recognized. Trying to recognize K&R constructs is a time hog so if you're programming strictly in ANSI C, set this variable to nil (it should already be nil in c++-mode). -*** New variable, c-hanging-comment-ender-p for controlling +*** New variable, 'c-hanging-comment-ender-p' for controlling c-fill-paragraph's behavior. *** New syntactic symbol: statement-case-open. This is assigned to lines containing an open brace just after a case/default label. -*** New variable, c-progress-interval, which controls minibuffer update +*** New variable, 'c-progress-interval', which controls minibuffer update message displays during long re-indentation. This is a new feature which prints percentage complete messages at specified intervals. @@ -1844,7 +1850,7 @@ which prints percentage complete messages at specified intervals. ** icomplete.el now works more like a minor mode. Use M-x icomplete-mode to turn it on and off. -Icomplete now supports an `icomplete-minibuffer-setup-hook', which is +Icomplete now supports an 'icomplete-minibuffer-setup-hook', which is run on minibuffer setup whenever icompletion will be occurring. This hook can be used to customize interoperation of icomplete with other minibuffer-specific packages, eg rsz-mini. See the doc string for @@ -1852,10 +1858,10 @@ more info. ** Ediff change. -Use ediff-revision instead of vc-ediff. It also replaces rcs-ediff, +Use 'ediff-revision' instead of 'vc-ediff'. It also replaces rcs-ediff, for those who use that; if you want to use a version control package other than vc.el, you must set the variable -ediff-version-control-package to specify which package. +'ediff-version-control-package' to specify which package. ** VC now supports branches with RCS. @@ -1878,7 +1884,7 @@ branch, then the new version automatically creates a new branch. ** VC now supports CVS as well as RCS and SCCS. Since there are no locks in CVS, some things behave slightly -different when the backend is CVS. When vc-next-action is invoked +different when the backend is CVS. When 'vc-next-action' is invoked in a directory handled by CVS, it does the following: If the file is not already registered, this registers it for version @@ -1895,7 +1901,7 @@ file remains in existence. If vc-next-action changes the repository file, it asks you whether to merge in the changes into your working copy. -vc-directory, when started in a CVS file hierarchy, reports +'vc-directory', when started in a CVS file hierarchy, reports all files that are modified (and thus need to be committed). (When the backend is RCS or SCCS vc-directory reports all locked files). @@ -1908,7 +1914,7 @@ You can disable the CVS support as follows: (setq vc-master-templates (delq 'vc-find-cvs-master vc-master-templates)) -or by setting vc-handle-cvs to nil. +or by setting 'vc-handle-cvs' to nil. This may be desirable if you run a non-standard version of CVS, or if CVS was compiled with FORCE_USE_EDITOR or (possibly) @@ -1929,8 +1935,8 @@ of lines, specified by the variable comint-buffer-maximum-size. Just like the command comint-strip-ctrl-m, this can be run automatically during process output by doing this: -(add-hook 'comint-output-filter-functions - 'comint-truncate-buffer) + (add-hook 'comint-output-filter-functions + #'comint-truncate-buffer) ** Telnet mode buffer name changed. @@ -1941,32 +1947,32 @@ The buffer name for a Telnet buffer is now *telnet-HOST*, not entire man page is indented, the indentation is removed. The user option names that used to end in -p now end in -flag. The -new names are: Man-reuse-okay-flag, Man-downcase-section-letters-flag, -Man-circular-pages-flag. The Man-notify user option has been renamed to -Man-notify-method and accepts one more value, `pushy', that just +new names are: 'Man-reuse-okay-flag', 'Man-downcase-section-letters-flag', +'Man-circular-pages-flag'. The 'Man-notify' user option has been renamed to +'Man-notify-method' and accepts one more value, 'pushy', that just switches the current buffer to the manpage buffer, without switching frames nor changing your windows configuration. -A new user option Man-fontify-manpage-flag disables fontification +A new user option 'Man-fontify-manpage-flag' disables fontification (thus speeding up man) when set to nil. Default is to fontify if a -window system is used. Two new user options Man-overstrike-face -(default 'bold) and Man-underline-face (default 'underline) can be set +window system is used. Two new user options 'Man-overstrike-face' +(default 'bold) and 'Man-underline-face' (default 'underline) can be set to the preferred faces to be used for the words that man overstrikes and underlines. Useful for those who like colored man pages. -Two new interactive functions are provided: Man-cleanup-manpage and -Man-fontify-manpage. Both can be used on a buffer that contains the +Two new interactive functions are provided: 'Man-cleanup-manpage' and +'Man-fontify-manpage'. Both can be used on a buffer that contains the output of a `rsh host man manpage' command, or the output of an `nroff -man -Tman manpage' command to make them readable. Man-cleanup-manpage is faster, but does not fontify. -** The new function modify-face makes it easy to specify +** The new function 'modify-face' makes it easy to specify all the attributes of a face, all at once. ** Faces now support background stippling. -Use the command set-face-stipple to specify the stipple-pattern for a -face. Use face-stipple to access the specified stipple pattern. The +Use the command 'set-face-stipple' to specify the stipple-pattern for a +face. Use 'face-stipple' to access the specified stipple pattern. The existing face functions now handle the stipple pattern when appropriate. @@ -1978,14 +1984,14 @@ stipple instead to get the same effect. *** Fontification -Two new default faces are provided; `font-lock-variable-name-face' and -`font-lock-reference-face'. The face `font-lock-doc-string-face' has +Two new default faces are provided; 'font-lock-variable-name-face' and +'font-lock-reference-face'. The face 'font-lock-doc-string-face' has been removed since it is the same as the existing -`font-lock-string-face'. Where appropriate, fontification +'font-lock-string-face'. Where appropriate, fontification automatically uses these new faces. -Fontification via commands `font-lock-mode' and -`font-lock-fontify-buffer' is now cleanly interruptible (i.e., with +Fontification via commands 'font-lock-mode' and +'font-lock-fontify-buffer' is now cleanly interruptible (i.e., with C-g). If you interrupt during the fontification process, the buffer remains in its previous modified state and all highlighting is removed from the buffer. @@ -1994,14 +2000,14 @@ For C/C++ modes, Font Lock mode is much faster but highlights much more. Other modes are faster/more extensive/more discriminatory, or a combination of these. -To enable Font Lock mode, add the new function `turn-on-font-lock' in +To enable Font Lock mode, add the new function 'turn-on-font-lock' in one of the following ways: - (add-hook 'c-mode-hook 'turn-on-font-lock) + (add-hook 'c-mode-hook #'turn-on-font-lock) Or for any visited file with: - (add-hook 'find-file-hooks 'turn-on-font-lock) + (add-hook 'find-file-hooks #'turn-on-font-lock) *** Supports color and grayscale displays @@ -2010,26 +2016,26 @@ the type of display and background shade. Attributes (face color, bold, italic and underline, and display type and background mode) can be controlled either from Emacs Lisp or X resources. -See the new variables `font-lock-display-type' and -`font-lock-face-attributes'. +See the new variables 'font-lock-display-type' and +'font-lock-face-attributes'. *** Supports more modes The following modes are directly supported: -ada-mode, asm-mode, bibtex-mode, c++-c-mode, c++-mode, c-mode, -change-log-mode, compilation-mode, dired-mode, emacs-lisp-mode, -fortran-mode, latex-mode, lisp-mode, mail-mode, makefile-mode, -outline-mode, pascal-mode, perl-mode, plain-tex-mode, rmail-mode, -rmail-summary-mode, scheme-mode, shell-mode, slitex-mode, tex-mode, -texinfo-mode. +'ada-mode', 'asm-mode', 'bibtex-mode', 'c++-c-mode', 'c++-mode', 'c-mode', +'change-log-mode', 'compilation-mode', 'dired-mode', 'emacs-lisp-mode', +'fortran-mode', 'latex-mode', 'lisp-mode', 'mail-mode', 'makefile-mode', +'outline-mode', 'pascal-mode', 'perl-mode', 'plain-tex-mode', 'rmail-mode', +'rmail-summary-mode', 'scheme-mode', 'shell-mode', 'slitex-mode', 'tex-mode', +'texinfo-mode'. -See the new variables `font-lock-defaults-alist' and -`font-lock-defaults'. +See the new variables 'font-lock-defaults-alist' and +'font-lock-defaults'. Some modes support different levels of fontification. You can choose to use the minimum or maximum available decoration by changing the -value of the new variable `font-lock-maximum-decoration'. +value of the new variable 'font-lock-maximum-decoration'. Programmers are urged to make available to the community their own keywords for modes not yet supported. See font-lock.el for @@ -2047,18 +2053,18 @@ highlighting. To use this package, put in your `~/.emacs': - (add-hook 'font-lock-mode-hook 'turn-on-fast-lock) + (add-hook 'font-lock-mode-hook #'turn-on-fast-lock) -To control the use of caches, see the documentation for `fast-lock-mode'. +To control the use of caches, see the documentation for 'fast-lock-mode'. -** You can tell pop-to-buffer to display certain buffers in the selected +** You can tell 'pop-to-buffer' to display certain buffers in the selected window rather than finding some other window to display them in. There are two variables you can use to specify these buffers. -same-window-buffer-names holds a list of buffer names; if a buffer's +'same-window-buffer-names' holds a list of buffer names; if a buffer's name appears in this list, pop-to-buffer puts it in the selected window. -same-window-regexps holds a list of regexps--if any one of them +'same-window-regexps' holds a list of regexps--if any one of them matches a buffer's name, then pop-to-buffer puts that buffer in the selected window. @@ -2068,7 +2074,7 @@ window. These include shell buffers, mail buffers, telnet buffers, and others. By removing elements from these variables, you can ask Emacs to display those buffers in separate windows. -** The special-display-buffer-names and special-display-regexps lists +** The 'special-display-buffer-names' and 'special-display-regexps' lists have been generalized. An element may now be a list. The car of the list is the buffer name or regular expression for matching buffer names. @@ -2084,17 +2090,17 @@ FUNCTION; its first argument is the buffer, and its remaining arguments are ARGS. ** If the environment variable REPLYTO is set, its value is the default -for mail-default-reply-to. +for 'mail-default-reply-to'. ** When you send a message in Emacs, if you specify an Rmail file with the Fcc: header field, Emacs converts the message to Rmail format before writing it. Thus, the file never contains anything but Rmail format messages. -** The new variable mail-from-style controls whether the From: header +** The new variable 'mail-from-style' controls whether the From: header should include the sender's full name, and if so, which format to use. -** The new variable mail-personal-alias-file specifies the name of the +** The new variable 'mail-personal-alias-file' specifies the name of the user's personal aliases. This defaults to the file ~/.mailrc. mailabbrev.el used to have its own variable for this purpose (mail-abbrev-mailrc-file). That variable is no longer used. @@ -2111,33 +2117,33 @@ crossreference entries are object to completion. *** Braces are supported as field delimiters in addition to quotes. BibTeX entries may have brace-delimited and quote-delimited fields intermixed. The delimiters generated for new entries are specified by -the variables bibtex-field-left-delimiter and -bibtex-field-right-delimiter on a buffer-local basis. Those variables +the variables 'bibtex-field-left-delimiter' and +'bibtex-field-right-delimiter' on a buffer-local basis. Those variables default to braces, since it is easier to put quote accented characters (as the german umlauts) into a brace-delimited entry. -*** The function bibtex-clean-entry can now be invoked with a prefix +*** The function 'bibtex-clean-entry' can now be invoked with a prefix argument. In this case, a label is automatically generated from various fields in the record. If bibtex-clean-entry is invoked on a record without label, a label is also generated automatically. -Various variables (all beginning with `bibtex-autokey-') control the -creation of that key. The variable bibtex-autokey-edit-before-use +Various variables (all beginning with 'bibtex-autokey-') control the +creation of that key. The variable 'bibtex-autokey-edit-before-use' determines, if the user is allowed to edit auto-generated reference keys before they are used. -*** A New function bibtex-complete-string completes strings with +*** A New function 'bibtex-complete-string' completes strings with respect to the strings defined in this buffer and a set of predefined strings (initialized to the string macros defined in the standard BibTeX style files) in the same way in which ispell-complete-word works with respect to words in a dictionary. Candidates for bibtex-complete-string are initialized from variable -bibtex-predefined-strings and by parsing the files found in -bibtex-string-files for @String definitions. +'bibtex-predefined-strings' and by parsing the files found in +'bibtex-string-files' for @String definitions. *** Every reference/field pair has now attached a comment which appears in the echo area when this field is edited. These comments should provide useful hints for BibTeX usage, especially for BibTeX -beginners. New variable bibtex-help-message determines if these help +beginners. New variable 'bibtex-help-message' determines if these help messages are to appear in the minibuffer when moving to a text entry. *** Inscriptions of menu bar changed from "Entry Types" to @@ -2164,7 +2170,7 @@ didn't. *** Default value for variables bibtex-maintain-sorted-entries and bibtex-sort-ignore-string-entries is now t. -*** All interactive functions are renamed to begin with `bibtex-'. +*** All interactive functions are renamed to begin with 'bibtex-'. *** Keybindings with \C-c\C-e entry changed for unification. Often used reference types are now on control-modified keys, mediocre used @@ -2184,8 +2190,8 @@ use --with-x if you need to request X support explicitly. automatically enable X support if X is installed on your machine.) ** If you use the site-init.el file to set the variable -mail-host-address to a string in the dumped Emacs, that string becomes -the default host address for initializing user-mail-address. +'mail-host-address' to a string in the dumped Emacs, that string becomes +the default host address for initializing 'user-mail-address'. It is used instead of the value of (system-name). @@ -2202,11 +2208,11 @@ macros. Thus, you can now write `(x ,y z) instead of (` (x (, y) z)). The old syntax is still accepted. -*** The new function rassoc is like assoc, except that it compares the +*** The new function 'rassoc' is like 'assoc', except that it compares the key against the cdr of each alist element, where assoc would compare it against the car of each alist element. -*** The new function unintern deletes a symbol from an obarray. The +*** The new function 'unintern' deletes a symbol from an obarray. The first argument can be the symbol to delete, or a string giving its name. The second argument specifies the obarray (nil means the current default obarray). @@ -2215,18 +2221,18 @@ If the specified symbol is not in the obarray, or if there's no symbol in the obarray matching the specified string, unintern does nothing and returns nil. If it does delete a symbol, it returns t. -*** You can specify an alternative read function for use by load and -eval-region by binding the variable load-read-function to some other +*** You can specify an alternative read function for use by 'load' and +'eval-region' by binding the variable 'load-read-function' to some other function. This function should accept one argument just like read. If load-read-function is nil, load and eval-region use ordinary read. -*** The new function `type-of' takes any object as argument, and -returns a symbol identifying the type of that object--one of `symbol', -`integer', `float', `string', `cons', `vector', `marker', `overlay', -`window', `buffer', `subr', `compiled-function', -`window-configuration', `process'. +*** The new function 'type-of' takes any object as argument, and +returns a symbol identifying the type of that object--one of 'symbol', +'integer', 'float', 'string', 'cons', 'vector', 'marker', 'overlay', +'window', 'buffer', 'subr', 'compiled-function', +'window-configuration', 'process'. -*** When you use eval-after-load for a file that is already loaded, it +*** When you use 'eval-after-load' for a file that is already loaded, it executes the FORM right away. As before, if the file is not yet loaded, it arranges to execute FORM if and when the file is loaded later. The result is: if you have called eval-after-load for a file, @@ -2239,24 +2245,24 @@ treating them as a comment. You would not want to use this in a file you edit by hand, but it is useful for commenting out parts of machine-generated files. -*** Two new functions, `plist-get' and `plist-put', +*** Two new functions, 'plist-get' and 'plist-put', allow you to modify and retrieve values from lists formatted as property-lists. -They work like `get' and `put', but operate on any list. -`plist-put' returns the modified property-list; you must store it +They work like 'get' and 'put', but operate on any list. +'plist-put' returns the modified property-list; you must store it back where you got it. -*** The new function add-to-list is called with two elements, +*** The new function 'add-to-list' is called with two elements, a variable that holds a list and a new element. It adds the element to the list unless it is already present. -It compares elements using `equal'. Here is an example: +It compares elements using 'equal'. Here is an example: -(setq foo '(a b)) => (a b) + (setq foo '(a b)) => (a b) -(add-to-list 'foo 'c) => (c a b) + (add-to-list 'foo 'c) => (c a b) -(add-to-list 'foo 'b) => (c a b) + (add-to-list 'foo 'b) => (c a b) -foo => (c a b) + foo => (c a b) ** Changes in compilation. @@ -2281,7 +2287,7 @@ loading the compiled file does not actually bring the function definitions into core. Instead it creates references to the compiled file, and brings each function's definition into core the first time you call that function, or when you force it with the new function -`fetch-bytecode'. +'fetch-bytecode'. Using the lazy loading feature has a few consequences: @@ -2294,7 +2300,7 @@ Using the lazy loading feature has a few consequences: will get nonsense results. To enable the lazy loading feature, set up a non-nil file local -variable binding for the variable `byte-compile-dynamic' in the Lisp +variable binding for the variable 'byte-compile-dynamic' in the Lisp source file. For example, put this on the first line: -*-byte-compile-dynamic: t;-*- @@ -2304,26 +2310,26 @@ contains many functions, most of which are not actually used by a given user in a given session. To turn off the basic feature of referring to the file for doc -strings, set byte-compile-dynamic-docstrings to nil. You can do this +strings, set 'byte-compile-dynamic-docstrings' to nil. You can do this globally, or for one source file by adding this to the first line: -*-byte-compile-dynamic-docstrings: nil;-*- ** Strings -*** Do not pass integer arguments to `concat' (or `vconcat' or -`append'). We are phasing out the old unrecommended support for +*** Do not pass integer arguments to 'concat' (or 'vconcat' or +'append'). We are phasing out the old unrecommended support for integers as arguments to these functions, in preparation for treating numbers as single characters in a future release. To concatenate -numbers in string form, use `number-to-string' first, or rewrite the -call to use `format' instead of `concat'. +numbers in string form, use 'number-to-string' first, or rewrite the +call to use 'format' instead of 'concat'. -*** The new function match-string returns the string of text matched at +*** The new function 'match-string' returns the string of text matched at the given parenthesized expression by the last regexp search, or nil -if there was no match. If the last match was by `string-match' on a +if there was no match. If the last match was by 'string-match' on a string, the string must be given. Therefore, this function can be -used in place of `buffer-substring' and `substring', when using -`match-beginning' and `match-end' to find match positions. +used in place of 'buffer-substring' and 'substring', when using +'match-beginning' and 'match-end' to find match positions. (match-string N) or (match-string N STRING) @@ -2333,11 +2339,11 @@ the portion of STRING that was matched. When used in this way, replace-match returns a newly created string which is the same as STRING except for the matched portion. -*** The new function buffer-substring-no-properties -is like buffer-substring except that the string it returns +*** The new function 'buffer-substring-no-properties' +is like 'buffer-substring' except that the string it returns has no text properties. -*** The function `equal' now considers two strings to be different +*** The function 'equal' now considers two strings to be different if they don't have the same text properties. ** Completion @@ -2352,7 +2358,7 @@ are ignored unless the initial string also starts with a space. *** Local hook variables. There is now a clean way to give a hook variable a buffer-local value. -Call the function `make-local-hook' to do this. +Call the function 'make-local-hook' to do this. Once a hook variable is buffer-local, you can add hooks to it either globally or locally. run-hooks runs the local hook functions @@ -2365,12 +2371,12 @@ function or a global one. Local hooks use t as an element of the (local) value of the hook variable as a flag meaning to use the global value also. -*** The new function local-variable-p tells you whether a particular +*** The new function 'local-variable-p' tells you whether a particular variable is buffer-local in the current buffer or a specified buffer. ** Editing Facilities -*** The function copy-region-as-kill no longer sets this-command; +*** The function 'copy-region-as-kill' no longer sets this-command; as a result, a following kill command will not normally append to the text saved by copy-region-as-kill. @@ -2380,18 +2386,18 @@ instead of looking for the longest match--just as they did in Emacs 18. The reason for this change is to get higher speed. There are new functions you can use if you really want to search or -match with Posix behavior: posix-search-forward, -posix-search-backward, posix-looking-at, and posix-string-match. Call -these just like re-search-forward, re-search-backward, looking-at, and -string-match. +match with Posix behavior: 'posix-search-forward', +'posix-search-backward', 'posix-looking-at', and 'posix-string-match'. +Call these just like 're-search-forward', 're-search-backward', +'looking-at', and 'string-match'. ** Files -*** The new variable `format-alist' defines file formats, +*** The new variable 'format-alist' defines file formats, which are ways of translating between the data in a file and things (text, text-properties, and possibly other information) in a buffer. -`format-alist' has one element for each format. Each element is a +'format-alist' has one element for each format. Each element is a list like this: (NAME DOC-STRING REGEXP FROM-FN TO-FN MODIFY MODE-FN) containing the name of the format, a documentation string, a regular @@ -2405,41 +2411,41 @@ FROM-FN is called to decode files in that format; it gets two args, BEGIN longer matches REGEXP, or else it will get called again. TO-FN is called to encode a region into that format; it is also passed BEGIN and END, and either returns a list of annotations as in - `write-region-annotate-functions', or modifies the region and returns + 'write-region-annotate-functions', or modifies the region and returns the new end position. MODIFY, if non-nil, means the TO-FN modifies the region. If nil, TO-FN may not make any changes and should return a list of annotations. -`insert-file-contents' checks the beginning of the file that it is +'insert-file-contents' checks the beginning of the file that it is inserting to see if it matches one of the regexps. If so, then it calls the decoding function, and then looks for another match. When visiting a file, it also calls the mode function, and sets the -variable `buffer-file-format' to the list of formats that the file +variable 'buffer-file-format' to the list of formats that the file used. -`write-region' calls the encoding functions for each format in -`buffer-file-format' before it writes the file. To save a file in a -different format, either set `buffer-file-format' to a different -value, or call the new function `format-write-file'. +'write-region' calls the encoding functions for each format in +'buffer-file-format' before it writes the file. To save a file in a +different format, either set 'buffer-file-format' to a different +value, or call the new function 'format-write-file'. Since some encoding functions may be slow, you can request that auto-save use a format different from the buffer's default by setting -the variable `auto-save-file-format' to the desired format. This will +the variable 'auto-save-file-format' to the desired format. This will determine the format of all auto-save files. -*** The new function file-ownership-preserved-p tells you whether +*** The new function 'file-ownership-preserved-p' tells you whether deleting a file and recreating it would keep the file's owner unchanged. -*** The new function file-regular-p returns t if a file +*** The new function 'file-regular-p' returns t if a file is a "regular" file (not a directory, symlink, named pipe, terminal, or other I/O device). -*** The new function file-name-sans-extension discards the extension +*** The new function 'file-name-sans-extension' discards the extension of a file name. You call it with a file name, and returns a string lacking the extension. -*** The variable path-separator is a string which says which +*** The variable 'path-separator' is a string which says which character separates directories in a search path. It is ":" for Unix and GNU systems, ";" for MSDOG and Windows NT. @@ -2462,20 +2468,20 @@ like (ctrl meta newline) or (meta ?d), as in XEmacs. (ctrl meta newline) is equivalent to the event type symbol C-M-newline, and (meta ?d) is equivalent to the character ?\M-d. -*** The function event-convert-list converts a list such as +*** The function 'event-convert-list' converts a list such as (meta ?d) into the corresponding event type (a symbol or integer). -*** In an interactive spec, `k' means to read a key sequence. In this +*** In an interactive spec, 'k' means to read a key sequence. In this key sequence, upper case characters and shifted function keys which have no bindings are converted to lower case if that makes them defined. -The new interactive code `K' reads a key sequence similarly, but does -not convert the last event. `K' is useful for reading a key sequence +The new interactive code 'K' reads a key sequence similarly, but does +not convert the last event. 'K' is useful for reading a key sequence to be given a binding. -*** The variable overriding-local-map now has no effect on the menu bar -display unless overriding-local-map-menu-flag is non-nil. This is why +*** The variable 'overriding-local-map' now has no effect on the menu bar +display unless 'overriding-local-map-menu-flag' is non-nil. This is why incremental search no longer temporarily changes the menu bars. Note that overriding-local-map does still affect the execution of key @@ -2486,10 +2492,10 @@ looked up and executed. But this is what you'd normally do anyway: programs that use overriding-local-map normally exit and "put back" any event such as menu-bar that they do not handle specially. -*** The new variable `overriding-terminal-local-map' is like -overriding-local-map, but is specific to a single terminal. +*** The new variable 'overriding-terminal-local-map' is like +'overriding-local-map', but is specific to a single terminal. -*** delete-frame events. +*** 'delete-frame' events. When you use the X window manager's "delete window" command, this now generates a delete-frame event. The standard definition of this event @@ -2497,7 +2503,7 @@ is a command that deletes the frame that received the event, and kills Emacs when the last visible or iconified frame is deleted. You can rebind the event to some other command if you wish. -*** Two new types of events, iconify-frame and make-frame-visible, +*** Two new types of events, 'iconify-frame' and 'make-frame-visible', indicate that the user iconified or deiconified a frame with the window manager. Since the window manager has already done the work, the default definition for both event types in Emacs is to do nothing. @@ -2508,49 +2514,49 @@ the default definition for both event types in Emacs is to do nothing. words, all the screens of a single X server). The value in effect, at any given time, is the one that belongs to the terminal of the selected frame. The terminal-local variables are -default-minibuffer-frame, system-key-alist, defining-kbd-macro, and -last-kbd-macro. There is no way for Lisp programs to create others. +'default-minibuffer-frame', 'system-key-alist', 'defining-kbd-macro', and +'last-kbd-macro'. There is no way for Lisp programs to create others. The terminal-local variables cannot be buffer-local. -*** When you create an X frame, for the `top' and `left' frame +*** When you create an X frame, for the 'top' and 'left' frame parameters, you can now use values of the form (+ N) or (- N), where N is an integer. (+ N) means N pixels to the right of the left edge of the screen and (- N) means N pixels to the left of the right edge. In both cases, N may be zero (exactly at the edge) or negative (putting the window partly off the screen). -The function x-parse-geometry can return values of these forms +The function 'x-parse-geometry' can return values of these forms for certain inputs. -*** The variable menu-bar-file-menu has been renamed to -menu-bar-files-menu to match the actual item that appears in the menu. +*** The variable 'menu-bar-file-menu' has been renamed to +'menu-bar-files-menu' to match the actual item that appears in the menu. (All the other such variable names do match.) -*** The new function active-minibuffer-window returns the minibuffer window +*** The new function 'active-minibuffer-window' returns the minibuffer window currently active, or nil if none is now active. -*** In the functions next-window, previous-window, next-frame, -previous-frame, get-buffer-window, get-lru-window, get-largest-window -and delete-windows-on, if you specify 0 for the last argument, +*** In the functions 'next-window', 'previous-window', 'next-frame', +'previous-frame', 'get-buffer-window', 'get-lru-window', 'get-largest-window' +and 'delete-windows-on', if you specify 0 for the last argument, it means to consider all visible and iconified frames. -*** When you set a frame's cursor type with modify-frame-parameters, +*** When you set a frame's cursor type with 'modify-frame-parameters', you can now specify (bar . INTEGER) as the cursor type. This stands for a bar cursor of width INTEGER. -*** The new function facep returns t if its argument is a face name +*** The new function 'facep' returns t if its argument is a face name (or if it is a vector such as is used internally by the Lisp code to represent a face). *** Each frame can now have a buffer-predicate function, -which is the `buffer-predicate' frame parameter. -When `other-buffer' looks for an alternative buffer, it considers +which is the 'buffer-predicate' frame parameter. +When 'other-buffer' looks for an alternative buffer, it considers only the buffers that fit the selected frame's buffer predicate (if it has one). This is useful for applications that make their own frames. *** When you create an X frame, you can now specify the frame parameter -`display'. This says which display to put the frame on. The value +'display'. This says which display to put the frame on. The value should be a display name--a string of the form "HOST:DPYNUMBER.SCREENNUMBER". @@ -2560,11 +2566,11 @@ a display name string or a frame. A value of nil stands for the selected frame. To close the connection to an X display, use the function -x-close-connection. Specify which display with a display name. You +'x-close-connection'. Specify which display with a display name. You cannot close the connection if Emacs still has frames open on that display. -x-display-list returns a list indicating which displays Emacs has +'x-display-list' returns a list indicating which displays Emacs has connections to. Its elements are display names (strings). *** The icon-type frame parameter may now be a file name. @@ -2572,27 +2578,28 @@ Then the contents of that file specify the icon bitmap to use for that frame. *** The title of an Emacs frame, displayed by most window managers, is -set from frame-title-format or icon-title-format. These have the same -structure as mode-line-format. +set from 'frame-title-format' or 'icon-title-format'. These have the same +structure as 'mode-line-format'. -*** x-display-grayscale-p is a new function that returns non-nil if +*** 'x-display-grayscale-p' is a new function that returns non-nil if your X server can display shades of gray. Currently it returns non-nil for color displays (because they can display shades of gray); we may change it in the next version to return nil for color displays. -*** The frame parameter scroll-bar-width specifies the width of the +*** The frame parameter 'scroll-bar-width' specifies the width of the scrollbar in pixels. ** Buffers -*** Creating a buffer with get-buffer-create does not obey -default-major-mode. That variable is now handled in a separate -function, set-buffer-major-mode. get-buffer-create and generate-new-buffer -always leave the newly created buffer in Fundamental mode. +*** Creating a buffer with 'get-buffer-create' does not obey +'default-major-mode'. That variable is now handled in a separate +function, 'set-buffer-major-mode'. 'get-buffer-create' and +'generate-new-buffer' always leave the newly created buffer +in Fundamental mode. -Creating a new buffer by visiting a file or with switch-to-buffer, -pop-to-buffer, and similar functions does call set-buffer-major-mode -to select the default major mode specified with default-major-mode. +Creating a new buffer by visiting a file or with 'switch-to-buffer', +'pop-to-buffer', and similar functions does call 'set-buffer-major-mode' +to select the default major mode specified with 'default-major-mode'. *** You can now create an "indirect buffer". An indirect buffer shares its text, including text properties, with another buffer (the "base @@ -2602,24 +2609,24 @@ those of the base buffer and all other buffers. An indirect buffer cannot itself be visiting a file (though its base buffer can be). The base buffer cannot itself be indirect. -Use (make-indirect-buffer BASE-BUFFER NAME) to make an indirect buffer -named NAME whose base is BASE-BUFFER. If BASE-BUFFER is an indirect -buffer, its base buffer is used as the base for the new buffer. +Use 'make-indirect-buffer' to make an indirect buffer. +If the base buffer is an indirect buffer, its base buffer is used as +the base for the new buffer. You can make an indirect buffer current, or switch to it in a window, just as you would a non-indirect buffer. -The function buffer-base-buffer, given an indirect buffer, returns its +The function 'buffer-base-buffer', given an indirect buffer, returns its base buffer. It returns nil when given an ordinary buffer (not indirect). -The library `noutline' has versions of Outline mode and Outline minor +The library 'noutline' has versions of Outline mode and Outline minor mode which let you display different parts of the outline in different indirect buffers. ** Subprocesses -*** The functions call-process and call-process-region now allow +*** The functions 'call-process' and 'call-process-region' now allow you to direct error message output from the subprocess into a separate destination, instead of mixing it with ordinary output. To do this, specify for the third argument, BUFFER, a list of the form @@ -2646,42 +2653,42 @@ names, respectively. ** Text properties -*** You can now specify which values of the `invisible' property +*** You can now specify which values of the 'invisible' property make text invisible in a given buffer. The variable -`buffer-invisibility-spec', which is always local in all buffers, +'buffer-invisibility-spec', which is always local in all buffers, controls this. -If its value is t, then any non-nil `invisible' property makes +If its value is t, then any non-nil 'invisible' property makes a character invisible. If its value is a list, then a character is invisible if its -`invisible' property value appears as a member of the list, or if it +'invisible' property value appears as a member of the list, or if it appears as the car of a member of the list. -When the `invisible' property value appears as the car of a member of -the `buffer-invisibility-spec' list, then the cdr of that member has +When the 'invisible' property value appears as the car of a member of +the 'buffer-invisibility-spec' list, then the cdr of that member has an effect. If it is non-nil, then an ellipsis appears in place of the character. (This happens only for the *last* invisible character in a series of consecutive invisible characters, and only at the end of a line.) -If a character's `invisible' property is a list, then Emacs checks each -element of the list against `buffer-invisibility-spec'. If any element +If a character's 'invisible' property is a list, then Emacs checks each +element of the list against 'buffer-invisibility-spec'. If any element matches, the character is invisible. -*** The command `list-text-properties-at' shows what text properties +*** The command 'list-text-properties-at' shows what text properties are in effect at point. *** Frame objects now exist in Emacs even on systems that don't support X Windows. You can create multiple frames, and switch between them -using select-frame. The selected frame is actually displayed on your +using 'select-frame'. The selected frame is actually displayed on your terminal; other frames are not displayed at all. The selected frame -number appears in the mode line after `Emacs', except for frame 1. +number appears in the mode line after 'Emacs', except for frame 1. Switching frames on ASCII terminals is therefore more or less equivalent to switching between different window configurations. -*** The new variable window-size-change-functions holds a list of +*** The new variable 'window-size-change-functions' holds a list of functions to be called if window sizes change (or if windows are created or deleted). The functions are called once for each frame on which changes have occurred, with the frame as the sole argument. @@ -2712,16 +2719,16 @@ are the same arguments that the after-change-functions receive. This means the function must accept either four or five arguments. *** You can set defaults for text-properties with the new variable -`default-text-properties'. Its value is a property list; the values +'default-text-properties'. Its value is a property list; the values specified there are used whenever a character (or its category) does not specify a value. -*** The `face' property of a character or an overlay can now be a list +*** The 'face' property of a character or an overlay can now be a list of face names. Formerly it had to be just one face name. -*** Changes in handling the `intangible' text property. +*** Changes in handling the 'intangible' text property. -**** If inhibit-point-motion-hooks is non-nil, then `intangible' properties +**** If inhibit-point-motion-hooks is non-nil, then 'intangible' properties are ignored. **** Moving to just before a stretch of intangible text @@ -2740,26 +2747,26 @@ place point between them. *** Overlay changes. -**** The new function previous-overlay-change returns the position of +**** The new function 'previous-overlay-change' returns the position of the previous overlay start or end, before a specified position. This -is the backwards-moving counterpart of next-overlay-change. +is the backwards-moving counterpart of 'next-overlay-change'. -**** overlay-get now supports category properties on an overlay -the same way get-text-property supports them as text properties. +**** 'overlay-get' now supports category properties on an overlay +the same way 'get-text-property' supports them as text properties. Specifically, if an overlay does not have the property PROP that you -ask for, but it does have a `category' property which is a symbol, +ask for, but it does have a 'category' property which is a symbol, then that symbol's PROP property is used. -**** If an overlay has a non-nil `evaporate' property, it will be +**** If an overlay has a non-nil 'evaporate' property, it will be deleted if it ever becomes empty (i.e., when it spans no characters). -**** If an overlay has a `before-string' and/or `after-string' property, +**** If an overlay has a 'before-string' and/or 'after-string' property, these strings are displayed at the overlay's endpoints. ** Filling -*** The new variable fill-paragraph-function provides a way for major +*** The new variable 'fill-paragraph-function' provides a way for major modes to override the filling of paragraphs. If this is non-nil, fill-paragraph calls it as a function, passing along its sole argument. If the function returns non-nil, fill-paragraph assumes it @@ -2770,57 +2777,57 @@ language modes. *** Text filling and justification changes: -**** The new variable use-hard-newlines can be used to make a +**** The new variable 'use-hard-newlines' can be used to make a distinction between "hard" and "soft" newlines; the fill functions will then never remove a newline that was manually inserted. Hard -newlines are marked with a non-nil `hard' text-property. +newlines are marked with a non-nil 'hard' text-property. -**** The fill-column and left-margin can now be modified by text-properties. +**** The 'fill-column' and 'left-margin' can now be modified by text-properties. Most lisp programs should use the new functions (current-fill-column) and (current-left-margin), which return the proper values to use for the current line. **** There are new functions for dealing with margins: -***** Set-left-margin and set-right-margin (set the value for a region +***** 'set-left-margin' and 'set-right-margin' (set the value for a region and re-fill). These functions take three arguments: two to specify a region, and the desired margin value. -***** Increase-left-margin, decrease-left-margin, increase-right-margin, and -decrease-right-margin (change settings relative to current values, and +***** 'increase-left-margin', 'decrease-left-margin', 'increase-right-margin', +and 'decrease-right-margin' (change settings relative to current values, and re-fill). -***** move-to-left-margin moves point there, optionally adding +***** 'move-to-left-margin' moves point there, optionally adding indentation or changing tabs to spaces in order to make that possible. -beginning-of-line-text also moves past the fill-prefix and any +'beginning-of-line-text' also moves past the 'fill-prefix' and any indentation added to center or right-justify a line, to the beginning of the text that the user actually typed. -***** delete-to-left-margin removes any left-margin indentation, but +***** 'delete-to-left-margin' removes any left-margin indentation, but does not change the property. -**** The paragraph-movement functions look for the paragraph-start and -paragraph-separate regexps at the current left margin, not at the +**** The paragraph-movement functions look for the 'paragraph-start' and +'paragraph-separate' regexps at the current left margin, not at the beginning of the line. This means that those regexps should NOT use ^ to anchor the search. However, for backwards compatibility, a ^ at the beginning of the regexp will be ignored, so most packages won't break. -**** justify-current-line is now capable of doing left, center, or +**** 'justify-current-line' is now capable of doing left, center, or right justification as well as full justification. **** The fill functions can do any kind of justification based on the new -`justification' text-property and `default-justification' variable, +'justification' text-property and 'default-justification' variable, or arguments to the functions. They also have a new option which defeats the normal removal of extra whitespace. -**** The new function `current-justification' returns the kind of +**** The new function 'current-justification' returns the kind of justification used for the current line. The new function -`set-justification' can be used to change it, including re-justifying +'set-justification' can be used to change it, including re-justifying the text of the region according to the new value. -**** Filling and auto-fill are disabled if justification is `none'. +**** Filling and auto-fill are disabled if justification is 'none'. -**** The auto-fill-function is now called regardless of whether +**** The 'auto-fill-function' is now called regardless of whether the fill-column has been exceeded; the function can determine on its own whether filling (or justification) is necessary. @@ -2828,14 +2835,14 @@ own whether filling (or justification) is necessary. ** Processes -*** process-tty-name is a new function that returns the name of the +*** 'process-tty-name' is a new function that returns the name of the terminal that the process itself reads and writes on (not the name of the pty that Emacs uses to talk with that terminal). *** Errors in process filters and sentinels are now normally caught automatically, so that they don't abort other Lisp programs. -Setting debug-on-error non-nil turns off this feature; then errors in +Setting 'debug-on-error' non-nil turns off this feature; then errors in filters and sentinels are not caught. As a result, they can invoke the debugger, under the control of debug-on-error. @@ -2846,10 +2853,10 @@ match data. ** Display -*** The variable message-log-max controls how messages are logged in the +*** The variable 'message-log-max' controls how messages are logged in the "*Messages*" buffer. An integer value means to keep that many lines; t means to log with no limit; nil means disable message logging. Lisp -code that calls `message' excessively (e.g. isearch.el) should probably +code that calls 'message' excessively (e.g. isearch.el) should probably bind this variable to nil. *** Display tables now have a new element, at index 261, specifying the @@ -2859,22 +2866,22 @@ other useful character to store for this element is a space, to make less visual separation between two side-by-side windows displaying related information. -*** The new mode-line-format spec %c displays the current column number. +*** The new 'mode-line-format' spec %c displays the current column number. -*** The new variable blink-matching-delay specifies how long to keep +*** The new variable 'blink-matching-delay' specifies how long to keep the cursor at the matching open-paren, after you insert a close-paren. This is useful mainly on systems which can wait for a fraction of a second--you can then specify fractional values such as 0.5. *** Faster processing of buffers with long lines -The new variable cache-long-line-scans determines whether Emacs +The new variable 'cache-long-line-scans' determines whether Emacs should use caches to handle long lines more quickly. This variable is buffer-local, in all buffers. Normally, the line-motion functions work by scanning the buffer for -newlines. Columnar operations (like `move-to-column' and -`compute-motion') also work by scanning the buffer, summing character +newlines. Columnar operations (like 'move-to-column' and +'compute-motion') also work by scanning the buffer, summing character widths as they go. This works well for ordinary text, but if the buffer's lines are very long (say, more than 500 characters), these motion functions will take longer to execute. Emacs may also take @@ -2899,30 +2906,30 @@ it should only affect their performance. ** System Interface -*** The function user-login-name now accepts an optional +*** The function 'user-login-name' now accepts an optional argument uid. If the argument is non-nil, user-login-name returns the login name for that user id. -*** system-name, user-name, user-full-name and user-real-name are now -variables as well as functions. The variables hold the same values -that the functions would return. The new variable multiple-frames +*** 'system-name', 'user-name', 'user-full-name' and 'user-real-name' are +now variables as well as functions. The variables hold the same values +that the functions would return. The new variable 'multiple-frames' is non-nil if at least two non-minibuffer frames are visible. These -variables may be useful in constructing the value of frame-title-format -or icon-title-format. +variables may be useful in constructing the value of 'frame-title-format' +or 'icon-title-format'. *** Changes in time-conversion functions. -**** The new function format-time-string takes a format string and a +**** The new function 'format-time-string' takes a format string and a time value. It converts the time to a string, according to the format specified. You can specify what kind of conversion to use with %-specifications. -**** The new function decode-time converts a time value into a list of +**** The new function 'decode-time' converts a time value into a list of specific items of information: the year, month, day of week, day of month, hour, minute and second. (A time value is a list of two or three integers.) -**** The new function encode-time converts specific items of time +**** The new function 'encode-time' converts specific items of time information--the second, minute, hour, day, month, year, and time zone--into a time value. @@ -2977,7 +2984,7 @@ You must still explicitly load either iso-transl or iso-acc. ** For a read-only buffer that is also modified, the mode line now displays %* instead of %%. -** M-prior (scroll-other-window-down) is a new command that works like +** M-prior ('scroll-other-window-down') is a new command that works like M-next (and C-M-v) but scrolls in the opposite direction. M-home moves to the beginning of the buffer, in the other window. @@ -3001,7 +3008,7 @@ your .signature file, you now get a -- before the signature. ** Setting rmail-highlighted-headers to nil entirely turns off highlighting in Rmail. However, if your motivation for doing this is that the highlighted text doesn't look good on your display, it might -be better to change the appearance of the `highlight' face. Once +be better to change the appearance of the 'highlight' face. Once you've done that, you may find Rmail highlighting is useful. ** In the calendar, mouse-2 is now used only for commands that apply to a date. @@ -3018,18 +3025,18 @@ is now C-c C-v C-d, not C-c C-v C-h. Thus, C-c C-v C-h is now available for asking for a list of the subcommands of C-c C-v. ** You can now specify "who you are" for various Emacs packages by -setting just one variable, user-mail-address. This currently applies +setting just one variable, 'user-mail-address'. This currently applies to posting news with GNUS and to making change log entries. It may apply to additional Emacs features in the future. * Lisp-Level Changes in Emacs 19.26: -** The function insert-char now takes an optional third argument +** The function 'insert-char' now takes an optional third argument which, if non-nil, says the inserted characters should inherit sticky text properties from the surrounding text. -** The `diary' library has been renamed to `diary-lib'. If you refer +** The 'diary' library has been renamed to 'diary-lib'. If you refer to this library in your Lisp code, you must update the references. ** Sending text to a subprocess can read input from subprocesses if it @@ -3051,23 +3058,23 @@ The old meaning of %+ is now available on %&. It displays * for a modified buffer and - for an unmodified buffer, regardless of read-only status. -** You can now use `underline' in the color list of a face. +** You can now use 'underline' in the color list of a face. It serves as a last resort, and says to underline the face (if previous color list elements can't be used). -** The new function x-color-values returns the list of color values +** The new function 'x-color-values' returns the list of color values for a given color name (a string). The list contains three integers which give the amounts of red, green and blue in the color: (R G B). -** In run-at-time, 0 as the repeat interval means "don't repeat". +** In 'run-at-time', 0 as the repeat interval means "don't repeat". -** The variable trim-versions-without-asking has been renamed to -delete-old-versions. +** The variable 'trim-versions-without-asking' has been renamed to +'delete-old-versions'. -** The new function other-window-for-scrolling returns the choice of +** The new function 'other-window-for-scrolling' returns the choice of other window for C-M-v to scroll. -** Note that the function fceiling was mistakenly documented as fceil before. +** Note that the function 'fceiling' was mistakenly documented as 'fceil' before. * Changes in cc-mode.el in Emacs 19.26: @@ -3081,7 +3088,7 @@ other window for C-M-v to scroll. Note that the custom indent function c-adaptive-block-open has been removed as obsolete. -** You can now specify the `hanginess' of closing braces. See +** You can now specify the 'hanginess' of closing braces. See c-hanging-braces-alist. ** Recognizes try and catch blocks in C++. They are given the @@ -3102,9 +3109,9 @@ other window for C-M-v to scroll. cc-mode.el. ** internal defun c-indent-via-language-element has been renamed - c-indent-line for compatibility with c-mode.el and awk-mode. + c-indent-line for compatibility with c-mode.el and 'awk-mode'. -** new buffer-local variable c-comment-start-regexp for (potential) +** new buffer-local variable 'c-comment-start-regexp' for (potential) flexibility in adding new modes based on cc-mode.el @@ -3112,7 +3119,7 @@ other window for C-M-v to scroll. * Changes in Emacs 19.25 The variable x-cross-pointer-shape (which didn't really exist) has -been renamed to x-sensitive-text-pointer-shape, and now does exist. +been renamed to 'x-sensitive-text-pointer-shape', and now does exist. @@ -3207,7 +3214,7 @@ move the mouse over them. ** In a completion list buffer, the command RET now chooses the completion that is around or next to point. -** If you specify the foreground color for the `mode-line' face, and +** If you specify the foreground color for the 'mode-line' face, and mode-line-inverse-video is non-nil, then the default background color is the usual foreground color. @@ -3228,7 +3235,7 @@ auto-save (as has been possible in Emacs 19). ** C-x r d now runs the command delete-rectangle. -** The new command imenu shows you a menu of interesting places in the +** The new command 'imenu' shows you a menu of interesting places in the current buffer and lets you select one; then it moves point there. The definition of interesting places depends on the major mode, but typically this includes function definitions and such. Normally, @@ -3237,29 +3244,29 @@ event, it shows a mouse popup menu. ** You can make certain chosen buffers, that normally appear in a separate window, appear in special frames of their own. To do this, -set special-display-buffer-names to a list of buffer names; any buffer +set 'special-display-buffer-names' to a list of buffer names; any buffer whose name is in that list automatically gets a special frame when it is to be displayed in another window. A good value to try is ("*compilation*" "*grep*" "*TeX Shell*"). -More generally, you can set special-display-regexps to a list of regular +More generally, you can set 'special-display-regexps' to a list of regular expressions; then each buffer whose name matches any of those regular expressions gets its own frame. -The variable special-display-frame-alist specifies the frame +The variable 'special-display-frame-alist' specifies the frame parameters for these frames. It has a default value, so you don't need to set it. -** If you set sentence-end-double-space to nil, the fill commands +** If you set 'sentence-end-double-space' to nil, the fill commands expect just one space at the end of a sentence. (If you want the sentence commands to accept single spaces, you must modify the regexp -sentence-end also.) +'sentence-end' also.) ** You can suppress the startup echo area message by adding text like this to your .emacs file: -(setq inhibit-startup-echo-area-message "YOUR-LOGIN-NAME") + (setq inhibit-startup-echo-area-message "YOUR-LOGIN-NAME") Simply setting inhibit-startup-echo-area-message to your login name is not sufficient to inhibit the message; Emacs explicitly checks whether @@ -3272,7 +3279,7 @@ message for someone else. ** Outline minor mode now uses C-c C-o as a prefix instead of just C-c. -** In Outline mode, hide-subtree is now C-c C-d. (It was C-c C-h; but +** In Outline mode, 'hide-subtree' is now C-c C-d. (It was C-c C-h; but that is now a conventional way to ask for help about C-c commands.) ** There are two additional commands in Outline mode. @@ -3315,19 +3322,19 @@ buffer to show the last batch of output from the subprogram. point, rather than the word that point is within. *** Comint mode file name completion ignores those files that end with a -string in the new variable comint-completion-fignore. This variable's +string in the new variable 'comint-completion-fignore'. This variable's default value is nil. *** Shell mode uses the variable shell-completion-fignore to set comint-completion-fignore. The default value is nil, but some people prefer ("~" "#" "%"). -*** The function `comint-watch-for-password-prompt' can be used to +*** The function 'comint-watch-for-password-prompt' can be used to suppress echoing when a subprocess asks for a password. To use it, do this: -(add-hook 'comint-output-filter-functions - 'comint-watch-for-password-prompt) + (add-hook 'comint-output-filter-functions + #'comint-watch-for-password-prompt) *** You can use M-x shell-strip-ctrl-m to strip ^M characters from process output. @@ -3353,23 +3360,23 @@ GDB-style symbol completion. This will work with GDB 4.13. ** Rmail no longer gets new mail automatically when you visit an Rmail file specified by name--not even if it is your primary Rmail file. To -get new mail, type `g'. This feature is an advantage because you now +get new mail, type 'g'. This feature is an advantage because you now have a choice of whether to get new mail. (This change actually occurred in an earlier version, but wasn't listed here then, since it made the code do what the documentation already said.) ** Rmail now highlights certain fields automatically, when you use X -windows. The variable rmail-highlighted-headers controls which +windows. The variable 'rmail-highlighted-headers' controls which fields. -** If you set rmail-summary-window-size to an integer, Rmail uses +** If you set 'rmail-summary-window-size' to an integer, Rmail uses a window that many lines high for the summary buffer. -** rmail-input-menu is a new command that visits an Rmail file letting -you choose which file with a mouse menu. rmail-output-menu is +** 'rmail-input-menu' is a new command that visits an Rmail file letting +you choose which file with a mouse menu. 'rmail-output-menu' is similar; it outputs the current message, using a mouse menu to choose which Rmail file. These commands use the variables -rmail-secondary-file-directory and rmail-secondary-file-regexp. +'rmail-secondary-file-directory' and 'rmail-secondary-file-regexp'. ** The mh-e package has been changed substantially. See the file ./MH-E-NEWS for details. @@ -3384,8 +3391,8 @@ date in the calendar window and common three-month-related commands when clicked elsewhere in the calendar window. You can set up colored/shaded highlighting of holidays, diary entry -dates, and today's date, by setting calendar-holiday-marker, -diary-entry-marker, and calendar-today-marker to a face instead of a +dates, and today's date, by setting 'calendar-holiday-marker', +'diary-entry-marker', and 'calendar-today-marker' to a face instead of a character. Using a special face is now the default if you are using a window system. @@ -3393,16 +3400,16 @@ window system. features. *** The appt alarm window stays for the full duration of -appt-display-duration. It no longer disappears when you start typing +'appt-display-duration'. It no longer disappears when you start typing text. *** You can change the way the appointment window is created/deleted by -setting the variables appt-disp-window-function and -appt-delete-window-function. +setting the variables 'appt-disp-window-function' and +'appt-delete-window-function'. For instance, these variables can be set to functions that display appointments in pop-up frames, which are lowered or iconified after -appt-display-duration seconds. +'appt-display-duration' seconds. ** desktop.el can now save a list of buffer-local variables, and saves more global ones. @@ -3423,8 +3430,8 @@ now be debugged with Edebug. *** Edebug specifications may now contain body, &define, name, arg or arglist, def-body, and def-form, to support definitions. -*** edebug-all-defuns is renamed to edebug-all-defs. -def-edebug-form-spec is replaced by def-edebug-form whose arguments +*** edebug-all-defuns is renamed to 'edebug-all-defs'. +def-edebug-form-spec is replaced by 'def-edebug-form' whose arguments are unevaluated. The old names are still available for now. *** Frequency counts and coverage data may be displayed for functions being @@ -3436,13 +3443,13 @@ debugged. *** A new "next" mode stops only after expression evaluation. -*** A new command, top-level-nonstop, does not even stop for unwind-protect, +*** A new command, 'top-level-nonstop', does not even stop for 'unwind-protect', as top-level would. * Changes in CC mode in Emacs 19.23. -`cc-mode' provides ANSI C, K&R C, and ARM C++ language editing. It +'cc-mode' provides ANSI C, K&R C, and ARM C++ language editing. It represents the merge of c++-mode.el and c-mode.el. cc-mode provides a new, more flexible indentation engine so that indentation customization is more intuitive. There are two steps to calculating @@ -3450,8 +3457,8 @@ indentation: first, CC mode analyzes the line for syntactic content, then based on this content it applies user defined offsets and adds this offset to the indentation of some previous line. -The syntactic analysis determines if the line describes a `statement', -`substatement', `class-open', `member-init-intro', etc. These are +The syntactic analysis determines if the line describes a 'statement', +'substatement', 'class-open', 'member-init-intro', etc. These are described in detail with C-h v c-offsets-alist. You can change the offsets interactively with C-c C-o (c-set-offsets), or programmatically in your c-mode-common-hook, which is run both by @@ -3489,75 +3496,75 @@ int foo (int i) you could add the following to your .emacs file: -(defun my-c-mode-common-hook () - (c-set-offset 'case-label 2) - (c-set-offset 'statement-case-intro 2)) -(add-hook 'c-mode-common-hook 'my-c-mode-common-hook) + (defun my-c-mode-common-hook () + (c-set-offset 'case-label 2) + (c-set-offset 'statement-case-intro 2)) + (add-hook 'c-mode-common-hook #'my-c-mode-common-hook) ** New variables: -c-offsets-alist contains an association list of syntactic symbols and +'c-offsets-alist' contains an association list of syntactic symbols and their relative offsets. Do a "C-h v c-offsets-alist" to get a list of all syntactic symbols currently defined, and their meanings. You should not change this variable directly; use the supplied interface -commands c-set-offset and c-set-style. +commands 'c-set-offset' and 'c-set-style'. -c-mode-common-hook is run by both c-mode and c++-mode during their +'c-mode-common-hook' is run by both 'c-mode' and 'c++-mode' during their common initializations. You should put any customizations that are the same for both C and C++ into this hook. -The variable c-strict-semantics-p is used mainly for debugging. When +The variable 'c-strict-semantics-p' is used mainly for debugging. When non-nil, CC mode signals an error if it returns a syntactic symbol that can't be found in c-offsets-alist. If you want CC mode to echo the syntactic analysis for a particular -line when you hit the TAB key, set c-echo-semantic-information-p to +line when you hit the TAB key, set 'c-echo-semantic-information-p' to non-nil. -c-basic-offset controls the standard amount of offset for a level of +'c-basic-offset' controls the standard amount of offset for a level of indentation. You can set a syntactic symbol's offset to + or - as a short-hand for positive or negative c-basic-offset. -c-comment-only-line-offset lets you control indentation given to lines +'c-comment-only-line-offset' lets you control indentation given to lines which contain only a comment, in the case of C++ line style comments, or the introduction to a C block comment. Comment-only lines at column zero can be anchored there independent of the indentation given to other comment-only lines. -c-block-comments-indent-p controls the style of C block comment +'c-block-comments-indent-p' controls the style of C block comment re-indentation. If you put leading stars in front of comment continuation lines, you should set this variable to nil. -c-cleanup-list is a list describing certain C and C++ constructs to be +'c-cleanup-list' is a list describing certain C and C++ constructs to be "cleaned up" as they are typed, but only when the auto-newline feature is turned on. In C++, make sure this variable contains at least 'scope-operator so that double colons will not be separated by a newline. -Colons (`:') and braces (`{` and `}') are special in C and C++. For +Colons (':') and braces (`{` and `}') are special in C and C++. For certain constructs, you may like them to hang on the right edge of the code, or you may like them to start a new line of code. You can use -the two variables c-hanging-braces-alist and c-hanging-colons-alist +the two variables 'c-hanging-braces-alist' and 'c-hanging-colons-alist' to control whether newlines are placed before and/or after colons and braces when certain C and C++ constructs are entered. For example, you can control whether the colon that introduces a C++ member initialization list hangs on the right edge, starts a new line, or has no newlines either before or after it. -c-special-indent-hook is run after a line is indented by CC mode. You +'c-special-indent-hook' is run after a line is indented by CC mode. You can perform any custom indentations here. -c-delete-function is the function that is called when a single +'c-delete-function' is the function that is called when a single character is deleted with the c-electric-delete command (DEL). -c-electric-pound-behavior describes what happens when you enter the +'c-electric-pound-behavior' describes what happens when you enter the `#' that introduces a cpp macro. -If c-tab-always-indent is neither t nor nil, then TAB inserts a tab +If 'c-tab-always-indent' is neither t nor nil, then TAB inserts a tab when within strings, comments, and cpp directives, but it reindents the line unconditionally. -c-inhibit-startup-warnings-p inhibits warnings about any old +'c-inhibit-startup-warnings-p' inhibits warnings about any old version of Emacs you might be running, which could be incompatible with cc-mode. @@ -3613,7 +3620,7 @@ convention of VariableNamesWithoutUnderscoresButEachWordCapitalized. * Lisp programming changes in Emacs 19.23. -** To pop up a dialog box, call x-popup-dialog. +** To pop up a dialog box, call 'x-popup-dialog'. It takes two arguments, POSITION and CONTENTS. POSITION specifies which frame to place the dialog box over; @@ -3635,12 +3642,12 @@ If your Emacs is not using an X toolkit, then it cannot display a real dialog box; so instead it displays a pop-up menu in the center of the frame. -** y-or-n-p, yes-or-no-p and map-y-or-n-p now use menus or dialog boxes +** 'y-or-n-p', 'yes-or-no-p' and 'map-y-or-n-p' now use menus or dialog boxes to ask their question(s) if the command that is running was reached by a mouse event. If you want to control which way these functions work, bind the -variable last-nonmenu-event around the call. These functions use the +variable 'last-nonmenu-event' around the call. These functions use the keyboard if that variable holds a keyboard event (actually, any non-list); they use the mouse if that variable holds a mouse event (actually, any list). @@ -3649,49 +3656,49 @@ non-list); they use the mouse if that variable holds a mouse event a text property. It specifies a face to use when the mouse is in the range of text for which the property is specified. -** When text has a non-nil `intangible' property, you cannot move point +** When text has a non-nil 'intangible' property, you cannot move point within it or right before it. If you try, point actually moves to the -end of the intangible text. Note that this means that backward-char +end of the intangible text. Note that this means that 'backward-char' is a no-op when there is an intangible character to the left of point. -** minibuffer-exit-hook is a new normal hook that is run when you +** 'minibuffer-exit-hook' is a new normal hook that is run when you exit the minibuffer. -** The variable x-cross-pointer-shape specifies the cursor shape to use +** The variable 'x-cross-pointer-shape' specifies the cursor shape to use when the mouse is over text that has a mouse-face property. -** The new variable interpreter-mode-alist specifies major modes to use +** The new variable 'interpreter-mode-alist' specifies major modes to use for shell scripts that specify a command interpreter. Its elements look like (INTERPRETER . MODE); for example, ("perl" . perl-mode) is one element present by default. This feature applies only when the file name doesn't indicate which mode to use. ** If you use a minibuffer-only frame, set the variable -minibuffer-auto-raise to t, and entering the minibuffer will then +'minibuffer-auto-raise' to t, and entering the minibuffer will then raise the minibuffer frame. -** If pop-up-frames is t, display-buffer now looks for an existing +** If 'pop-up-frames' is t, display-buffer now looks for an existing window in any visible frame, showing the specified buffer, and uses such a window in preference to making a new frame. -** In the functions next-window, previous-window, next-frame, -previous-frame, get-buffer-window, get-lru-window, get-largest-window -and delete-windows-on, if you specify `visible' for the last argument, +** In the functions 'next-window', 'previous-window', 'next-frame', +'previous-frame', 'get-buffer-window', 'get-lru-window', 'get-largest-window' +and 'delete-windows-on', if you specify 'visible' for the last argument, it means to consider all visible frames. ** Mouse events now give the X and Y coordinates in pixels, rather than in characters. You can convert these values to characters by dividing by the values of (frame-char-width) and (frame-char-height). -** The new functions mouse-pixel-position and set-mouse-pixel-position +** The new functions 'mouse-pixel-position' and 'set-mouse-pixel-position' read and set the mouse position in units of pixels. The existing -functions mouse-position and set-mouse-position continue to work with +functions 'mouse-position' and 'set-mouse-position' continue to work with units of characters. -** The new function compute-motion is useful for computing the width +** The new function 'compute-motion' is useful for computing the width of certain text when it is displayed. -** The function vertical-motion now takes an option second argument WINDOW +** The function 'vertical-motion' now takes an option second argument WINDOW which says which window to use for the display calculations. vertical-motion always operates on the current buffer. @@ -3699,7 +3706,7 @@ It is ok to specify a window displaying some other buffer. Then vertical-motion uses the width, hscroll and display-table of the specified window, but still scans the current buffer. -** An error no longer sets last-command to t; the value of last-command +** An error no longer sets 'last-command' to t; the value of last-command does reflect the previous command (the one that got an error). If you do not want a particular command to be recognized as the @@ -3728,20 +3735,20 @@ The undo and yank commands do this. ** If you specify an explicit title for a new frame when you create it, the title is used as the resource name when looking up X resources to control the shape of that frame. If you don't specify the frame title, -the value of x-resource-name is used, as before. +the value of 'x-resource-name' is used, as before. ** The frame parameter user-position, if non-nil, says that the user has specified the frame position. Emacs reports this to the window manager, to tell it not to override the position that the user specified. -** Major modes can now set change-major-mode-hook to arrange for state +** Major modes can now set 'change-major-mode-hook' to arrange for state to be cleaned up when the user switches to a new major mode. The function -kill-all-local-variables runs this hook. For best results, make the hook a +'kill-all-local-variables' runs this hook. For best results, make the hook a buffer-local variable so that it will disappear after doing its job and will not interfere with the subsequent major mode. -** The new variable overriding-local-map, if non-nil, specifies a keymap +** The new variable 'overriding-local-map', if non-nil, specifies a keymap that overrides the current local map, all minor mode keymaps, and all text property keymaps. Incremental search uses this feature to override all other keymaps temporarily. @@ -3756,7 +3763,7 @@ key sequences that run the same command COMMAND. Displaying the menu automatically creates and updates the sublist when appropriate; you need never set these up yourself. -lookup-key, key-binding, and similar functions return just COMMAND, +'lookup-key', 'key-binding', and similar functions return just COMMAND, not the whole binding. To precompute this information for a given keymap, you can do @@ -3783,7 +3790,7 @@ from the specifications above.) If you pass the value of overriding-local-map as KEYMAP, where-is-internal searches in exactly the same was as command execution does. -** Use the macro define-derived-mode to define a new major mode that +** Use the macro 'define-derived-mode' to define a new major mode that inherits the definition of another major mode. Here's how to define a command named hypertext-mode that inherits from the command text-mode: @@ -3800,11 +3807,11 @@ its own mode hook. All are given names made by appending a suffix to the name of the new mode. ** A syntax table can now inherit the data for some characters from -standard-syntax-table, while specifying other characters itself. +'standard-syntax-table', while specifying other characters itself. Syntax code 13 means "inherit this character from the standard syntax -table." In modify-syntax-entry, the character `@' represents this code. +table." In 'modify-syntax-entry', the character `@' represents this code. -The function `make-syntax-table' now creates a syntax table which +The function 'make-syntax-table' now creates a syntax table which inherits all letters and control characters (0 to 31 and 128 to 255) from the standard syntax table, while copying the other characters from the standard syntax table. Most syntax tables in Emacs are set @@ -3815,15 +3822,15 @@ sets with additional alphabetic characters in the range 128 to 255. Just changing the standard syntax for these characters affects all major modes. -** The new function transpose-regions swaps two regions of the buffer. +** The new function 'transpose-regions' swaps two regions of the buffer. It preserves the markers in those two regions, so that they stay with the surrounding text as it is swapped. -** revert-buffer now runs before-revert-hook at the beginning and -after-revert-hook at the end. These can be used by minor modes +** 'revert-buffer' now runs 'before-revert-hook' at the beginning and +'after-revert-hook' at the end. These can be used by minor modes that need to clean up state variables. -** The new function get-char-property is like get-text-property, but +** The new function 'get-char-property' is like 'get-text-property', but checks for overlays with properties as well as for text properties. It checks for overlays first, in order of descending priority, and text properties last. @@ -3832,9 +3839,9 @@ get-char-property allows windows as the OBJECT argument, as well as buffers and strings. If you specify a window, then only overlays active on that window are considered. -** Overlays can have the `invisible' property. +** Overlays can have the 'invisible' property. -** The function insert-file-contents now takes an optional fifth +** The function 'insert-file-contents' now takes an optional fifth argument called REPLACE. If this is t, it means to replace the contents of the buffer (actually, just the accessible portion) with the contents of the file. @@ -3843,72 +3850,72 @@ This is better than simply deleting and inserting the whole thing because (1) it preserves some marker positions and (2) it puts less data in the undo list. -** The variable inhibit-first-line-modes-regexps specifies classes of +** The variable 'inhibit-first-line-modes-regexps' specifies classes of file names for which -*- on the first line should not be looked for. -** The variables before-change-functions and after-change-functions +** The variables 'before-change-functions' and 'after-change-functions' hold lists of functions to call before and after a change in the buffer's text. They work much like before-change-function and after-change-function, except that they hold a list of functions instead of just one. -These variables will eventually make before-change-function and -after-change-function obsolete. +These variables will eventually make 'before-change-function' and +'after-change-function' obsolete. -** The variable kill-buffer-query-functions holds a list of functions +** The variable 'kill-buffer-query-functions' holds a list of functions to be called with no arguments when a buffer is about to be killed. (That buffer is the current buffer when the function is called.) If any of the functions returns nil, the buffer is not killed (and the remaining functions in the list are not called). -** The variable kill-emacs-query-functions holds a list of functions +** The variable 'kill-emacs-query-functions' holds a list of functions to be called with no arguments when you ask to exit Emacs. If any of the functions returns nil, the exit is canceled (and the remaining functions in the list are not called). -** The argument for buffer-disable-undo is now optional, -like the argument for buffer-enable-undo. +** The argument for 'buffer-disable-undo' is now optional, +like the argument for 'buffer-enable-undo'. -** The new variable system-configuration holds the canonical three-part +** The new variable 'system-configuration' holds the canonical three-part GNU configuration name for which Emacs was built. -** The function system-name now tries harder to return a fully qualified +** The function 'system-name' now tries harder to return a fully qualified domain name. -** The variable emacs-major-version holds the major version number +** The variable 'emacs-major-version' holds the major version number of Emacs. (Currently 19.) -** The variable emacs-minor-version holds the minor version number +** The variable 'emacs-minor-version' holds the minor version number of Emacs. (Currently 23.) -** The default value of comint-input-autoexpand is now nil. +** The default value of 'comint-input-autoexpand' is now nil. However, Shell mode sets it from the value of shell-input-autoexpand, -whose default value is `history'. +whose default value is 'history'. -** The new function set-process-window-size specifies the terminal window +** The new function 'set-process-window-size' specifies the terminal window size for a subprocess. On some systems it sends the subprocess a signal to let it know that the size has changed. ** %P is a new way to display a percentage in the mode line. It displays the percentage of the buffer text that is above the *bottom* of the window (which includes the text visible, in the window as well -as the text above the top). It displays `Top' as well as the +as the text above the top). It displays 'Top' as well as the percentage if the top of the buffer is visible on screen. ** %+ in the mode line specs displays `*' if the buffer is modified, -and otherwise `-'. It never displays `%', as `%*' would do; whether the +and otherwise '-'. It never displays `%', as `%*' would do; whether the buffer is read-only has no effect on %+. -** The new functions ffloor, fceiling, fround and ftruncate take a +** The new functions 'ffloor', 'fceiling', 'fround' and 'ftruncate' take a floating point argument and return a floating point result whose value is a nearby integer. ffloor returns the nearest integer below; fceiling, the nearest integer above; ftruncate, the nearest integer in the direction towards zero; fround, the nearest integer. -** Setting `print-escape-newlines' to a non-nil value now also makes +** Setting 'print-escape-newlines' to a non-nil value now also makes formfeeds print as ``\f''. -** auto-mode-alist now has a new feature. If an element has the form +** 'auto-mode-alist' now has a new feature. If an element has the form (REGEXP FUNCTION t), and REGEXP matches the file name, then after calling FUNCTION, Emacs deletes the part of the file name that matched REGEXP and then searches auto-mode-alist again for a new match. @@ -3917,26 +3924,26 @@ This is useful for uncompression packages. An entry of this sort for .gz can uncompress the file and then put the uncompressed file in the proper mode according to the name sans .gz. -** The new function emacs-pid returns the process ID number of Emacs. +** The new function 'emacs-pid' returns the process ID number of Emacs. -** user-login-name now consistently checks the LOGNAME environment -variable before USER. user-original-login-name is obsolete, since it +** 'user-login-name' now consistently checks the LOGNAME environment +variable before USER. 'user-original-login-name' is obsolete, since it provides the same functionality. To ignore the environment variables, use user-real-login-name. ** There is a more general way of handling the system-specific X -keysyms. Set the variable system-key-alist to an alist containing +keysyms. Set the variable 'system-key-alist' to an alist containing elements of the form (CODE . SYMBOL), where CODE is the numeric keysym code minus the "vendor specific" bit, and symbol is the name for the function key. -** You can use the variable command-line-functions to set up functions +** You can use the variable 'command-line-functions' to set up functions to process unrecognized command line arguments. The variable's value should be a list of functions of no arguments. The functions are called successively until one of them returns non-nil. -Each function should access the free variables argi (the current -argument) and command-line-args-left (the remaining arguments). The +Each function should access the free variables 'argi' (the current +argument) and 'command-line-args-left' (the remaining arguments). The function should return non-nil only if it recognizes and processes the argument in argi. If it does so, it may consume following arguments as well by removing them from command-line-args-left. @@ -3944,14 +3951,14 @@ as well by removing them from command-line-args-left. ** There's a new way for a magic file name handler to run a primitive and inhibit handling of the file name. Here is how to do it: -(let ((inhibit-file-name-handlers - (cons 'ange-ftp-file-handler - (and (eq inhibit-file-name-operation operation) - inhibit-file-name-handlers))) - (inhibit-file-name-operation operation)) - (apply this-operation args)) + (let ((inhibit-file-name-handlers + (cons 'ange-ftp-file-handler + (and (eq inhibit-file-name-operation operation) + inhibit-file-name-handlers))) + (inhibit-file-name-operation operation)) + (apply this-operation args)) -The function find-file-name-handler now takes two arguments. The +The function 'find-file-name-handler' now takes two arguments. The second argument is OPERATION, the operation for which the handler is being sought. @@ -3961,11 +3968,11 @@ it is not. There is simply no way for find-file-name-handler to do the right thing without receiving the proper value for its second argument. -** The variable completion-regexp-list affects the completion -primitives try-completion and all-completions. They consider +** The variable 'completion-regexp-list' affects the completion +primitives 'try-completion' and 'all-completions'. They consider only the possible completions that match each regexp in the list. -** Case conversion in the function replace-match has been changed. +** Case conversion in the function 'replace-match' has been changed. The old behavior was this: if any word in the old text was capitalized, replace-match capitalized each word of the replacement @@ -3977,24 +3984,24 @@ replace-match capitalizes the first word of the replacement text. ** You can now specify a case table with CANON non-nil and EQV nil. Then the EQV part of the case table is deduced from CANON. -** The new function minibuffer-prompt takes no arguments and returns +** The new function 'minibuffer-prompt' takes no arguments and returns the current minibuffer prompt string. -The new function minibuffer-prompt-width takes no arguments and +The new function 'minibuffer-prompt-width' takes no arguments and returns the display width of the minibuffer prompt string. -** The new function frame-first-window returns the window at the +** The new function 'frame-first-window' returns the window at the upper left corner of a given frame. -** wholenump is a new alias for natnump. +** 'wholenump' is a new alias for 'natnump'. -** The variable installation-directory, if non-@code{nil}, names a -directory within which to look for the `lib-src' and `etc' +** The variable 'installation-directory', if non-@code{nil}, names a +directory within which to look for the 'lib-src' and 'etc' subdirectories. This is non-nil when Emacs can't find those directories in their standard installed locations, but can find them near where the Emacs executable was found. -** invocation-name and invocation-directory are now variables as well +** 'invocation-name' and 'invocation-directory' are now variables as well as functions. The variable values are the same values that the functions return: the Emacs program name sans directories, and the directory it was found in. (invocation-directory may be nil, if Emacs @@ -4019,9 +4026,9 @@ by building Emacs. ** The mouse click M-mouse-2 now inserts the current secondary selection (from Emacs or any other X client) where you click. It does not move point. -This command is called mouse-yank-secondary. +This command is called 'mouse-yank-secondary'. -mouse-kill-secondary no longer has a key binding by default. +'mouse-kill-secondary' no longer has a key binding by default. Clicking M-mouse-3 (mouse-secondary-save-then-kill) twice may be a convenient enough way of killing the secondary selection. Or perhaps there should be a keyboard binding for killing the @@ -4029,13 +4036,13 @@ secondary selection. Any suggestions? ** New packages: -*** `icomplete' provides character-by-character information +*** 'icomplete' provides character-by-character information about what you could complete if you type TAB. -*** `avoid' moves the mouse away from point so that it doesn't hide +*** 'avoid' moves the mouse away from point so that it doesn't hide your typing. -*** `shadowfile' helps you update files that are supposed to be stored +*** 'shadowfile' helps you update files that are supposed to be stored identically in different places (perhaps on different machines). ** C-h p now knows about four additional keywords: data, faces, mouse, @@ -4058,13 +4065,13 @@ This feature was added in 19.21 but did not work smoothly enough. ** Display of buffers with text properties is much faster now. -** The feature previously announced whereby `insert' does not inherit +** The feature previously announced whereby 'insert' does not inherit text properties from surrounding text was not fully implemented -before; but now it is. use `insert-and-inherit' if you wish to +before; but now it is. use 'insert-and-inherit' if you wish to inherit sticky properties from the surrounding text. -** The functions next-property-change, previous-property-change, -next-single-property-change, and previous-single-property-change +** The functions 'next-property-change', 'previous-property-change', +'next-single-property-change', and 'previous-single-property-change' now take one additional optional argument LIMIT that is a position at which to stop scanning. If scan ends without finding the property change sought, these functions return the specified limit. @@ -4151,7 +4158,7 @@ is expected. To define case-conversion for these characters for ISO 8859/1, load the library iso-syntax. (This is not new.) -** M-TAB in Text mode now runs the command ispell-complete-word +** M-TAB in Text mode now runs the command 'ispell-complete-word' which performs completion using the spelling dictionary. The spelling correction submenu now includes this command @@ -4162,7 +4169,7 @@ beginning of a word. ** In incremental search, you can use M-y to yank the most recent kill into the search string. -** The new function ispell-message checks the spelling of a message +** The new function 'ispell-message' checks the spelling of a message you are about to send or post. It ignores text cited from other messages. @@ -4188,8 +4195,8 @@ Indented lines continue the paragraph that is in progress. This makes the user option variable adaptive-fill-mode have its intended effect. ** Local variable specifications in files for variables whose names end -in `-hook' and `-function' are now controlled by the variable -`enable-local-eval', just like the `eval' variable. +in '-hook' and '-function' are now controlled by the variable +'enable-local-eval', just like the 'eval' variable. ** C-x r j (jump-to-register) when restoring a frame configuration now makes all unwanted frames (existing frames not mentioned in the @@ -4199,7 +4206,7 @@ If you want to delete these unwanted frames, use a prefix argument for C-x r j. ** You can customize the calendar to display weeks beginning on -Monday: set the variable `calendar-week-start-day' to 1. +Monday: set the variable 'calendar-week-start-day' to 1. ** Rmail changes. @@ -4220,7 +4227,7 @@ There are new menu bar items for completion/input/output/signal commands. Input behavior is configurable. Variables control whether some windows showing the buffer scroll to the bottom before insertion. These are -`comint-scroll-to-bottom-on-input' and `before-change-function'. By default, +'comint-scroll-to-bottom-on-input' and 'before-change-function'. By default, insertion causes the selected window to scroll to the bottom before insertion occurs. @@ -4228,33 +4235,33 @@ Subprocess output now keeps point at the end of the buffer in each window individually if point was already at the end of the buffer in that window. -If `comint-scroll-show-maximum-output' is non-nil (which is the +If 'comint-scroll-show-maximum-output' is non-nil (which is the default), then scrolling due to arrival of output tries to place the last line of text at the bottom line of the window, so as to show as much useful text as possible. (This mimics the scrolling behavior of many terminals.) -By setting `comint-scroll-to-bottom-on-output', you can opt for having +By setting 'comint-scroll-to-bottom-on-output', you can opt for having point jump to the end of the buffer whenever output arrives--no matter -where in the buffer point was before. If the value is `this', point -jumps in the selected window. If the value is `all', point jumps in -each window that shows the comint buffer. If the value is `other', +where in the buffer point was before. If the value is 'this', point +jumps in the selected window. If the value is 'all', point jumps in +each window that shows the comint buffer. If the value is 'other', point jumps in all nonselected windows that show the current buffer. The default value is nil, which means point does not jump to the end. Input history insertion is configurable. A variable controls whether only the first instance of successive identical inputs is stored in the input history. -This is `comint-input-ignoredups'. +This is 'comint-input-ignoredups'. Completion (bound to TAB) is now more general. Depending on context, completion now operates on the input history, on command names, or (as before) on filenames. Filename completion is configurable. Variables control whether -file/directory suffix characters are added (`comint-completion-addsuffix'), +file/directory suffix characters are added ('comint-completion-addsuffix'), whether shortest completion is acceptable when no further unambiguous -completion is possible (`comint-completion-recexact'), and the timing of -completion candidate listing (`comint-completion-autolist'). +completion is possible ('comint-completion-recexact'), and the timing of +completion candidate listing ('comint-completion-autolist'). Comint mode now provides history expansion. Insert input using `!' and `^', in the same syntax that typical shells use; then type TAB. @@ -4264,12 +4271,12 @@ comint buffer in place of the original input. History references in the input may be expanded before insertion into the input ring, or on input to the interpreter (and therefore -visibly). The variable `comint-input-autoexpand' specifies which. +visibly). The variable 'comint-input-autoexpand' specifies which. You can make the SPC key perform history expansion by binding -SPC to the command `comint-magic-space'. +SPC to the command 'comint-magic-space'. -The command `comint-dynamic-complete-variable' does variable name +The command 'comint-dynamic-complete-variable' does variable name completion using the environment variables as set within Emacs. The variables controlling filename completion apply to variable name completion too. This command is normally available through the menu @@ -4283,54 +4290,54 @@ on output groups (i.e., shell prompt plus associated shell output). TAB now completes commands, as well as file names and expand history. Commands are searched for along the path that Emacs has on startup. -C-c C-f now moves forward a command (`shell-forward-command') and -C-c C-b now moves backward a command (`shell-backward-command'). +C-c C-f now moves forward a command ('shell-forward-command') and +C-c C-b now moves backward a command ('shell-backward-command'). Command completion is configurable. The variables controlling filename completion in comint mode apply, together with a variable controlling whether to restrict possible completions to only files -that are executable (`shell-command-execonly'). +that are executable ('shell-command-execonly'). The input history is initialized from the file name given in the -variable `shell-input-ring-file-name'--normally `.history' in your +variable 'shell-input-ring-file-name'--normally `.history' in your home directory. Directory tracking is more robust. It can cope with command sequences and forked commands, and can detect the failure of directory changing commands in most circumstances. It's still not infallible, of course. -You can now configure the behavior of `pushd'. Variables control -whether `pushd' behaves like `cd' if no argument is given -(`shell-pushd-tohome'), pop rather than rotate with a numeric argument -(`shell-pushd-dextract'), and only add directories to the directory -stack if they are not already on it (`shell-pushd-dunique'). The +You can now configure the behavior of 'pushd'. Variables control +whether 'pushd' behaves like 'cd' if no argument is given +('shell-pushd-tohome'), pop rather than rotate with a numeric argument +('shell-pushd-dextract'), and only add directories to the directory +stack if they are not already on it ('shell-pushd-dunique'). The configuration you choose should match the underlying shell, of course. * Emacs Lisp programming changes in Emacs 19.20. -** A new function `remove-hook' is now used to remove a hook that you might -have added with `add-hook'. +** A new function 'remove-hook' is now used to remove a hook that you might +have added with 'add-hook'. -** There is now a Lisp pretty-printer in the library `pp'. +** There is now a Lisp pretty-printer in the library 'pp'. ** The partial Common Lisp support has been entirely reimplemented. -** When you insert text using `insert', `insert-before-markers' or -`insert-buffer-substring', text properties are no longer inherited +** When you insert text using 'insert', 'insert-before-markers' or +'insert-buffer-substring', text properties are no longer inherited from the surrounding text. When you want to inherit text properties, use the new functions -`insert-and-inherit' or `insert-before-markers-and-inherit'. +'insert-and-inherit' or 'insert-before-markers-and-inherit'. The self-inserting character command does do inheritance. ** Frame creation hooks. -The function make-frame now runs the normal hooks -before-make-frame-hook and after-make-frame-hook. +The function 'make-frame' now runs the normal hooks +'before-make-frame-hook' and 'after-make-frame-hook'. -** You can now use function-key-map to make a key an alias for other +** You can now use 'function-key-map' to make a key an alias for other key sequences that can vary depending on circumstances. To do this, give the key a definition in function-key-map which is a function rather than a specific expansion key sequence. @@ -4339,22 +4346,22 @@ If the function reads input itself, it can have the effect of altering the event that follows. For example, here's how to define C-c h to turn the character that follows into a hyper character: -(define-key function-key-map "\C-ch" 'hyperify) + (define-key function-key-map "\C-ch" 'hyperify) -(defun hyperify (prompt) - (let ((e (read-event))) - (vector (if (numberp e) - (logior (ash 1 20) e) - (if (memq 'hyper (event-modifiers e)) - e - (add-event-modifier "H-" e)))))) + (defun hyperify (prompt) + (let ((e (read-event))) + (vector (if (numberp e) + (logior (ash 1 20) e) + (if (memq 'hyper (event-modifiers e)) + e + (add-event-modifier "H-" e)))))) -(defun add-event-modifier (string e) - (let ((symbol (if (symbolp e) e (car e)))) - (setq symbol (intern (concat string (symbol-name symbol)))) - (if (symbolp e) - symbol - (cons symbol (cdr e))))) + (defun add-event-modifier (string e) + (let ((symbol (if (symbolp e) e (car e)))) + (setq symbol (intern (concat string (symbol-name symbol)))) + (if (symbolp e) + symbol + (cons symbol (cdr e))))) The character translation function gets one argument, which is the prompt that was specified in read-key-sequence--or nil if the key @@ -4367,8 +4374,8 @@ New low-level Lisp features make it possible to write Lisp programs to save text properties in files, and read text properties from files. You can program any file format you like. -The variable `write-region-annotation-functions' should contain a list -of functions to be run by `write-region' to encode text properties in +The variable 'write-region-annotation-functions' should contain a list +of functions to be run by 'write-region' to encode text properties in some fashion as annotations to the text that is written. Each function in the list is called with two arguments: the start and @@ -4384,13 +4391,13 @@ add there. Each list returned by one of these functions must be already sorted in increasing order by POSITION. If there is more than one function, -`write-region' merges the lists destructively into one sorted list. +'write-region' merges the lists destructively into one sorted list. -When `write-region' actually writes the text from the buffer to the +When 'write-region' actually writes the text from the buffer to the file, it intermixes the specified annotations at the corresponding positions. All this takes place without modifying the buffer. -The variable `after-insert-file-functions' should contain a list of +The variable 'after-insert-file-functions' should contain a list of functions to be run each time a file's contents have been inserted into a buffer. Each function receives one argument, the length of the inserted text; point indicates the start of that text. The function @@ -4400,7 +4407,7 @@ value returned by one function is used as the argument to the next. These functions should always return with point at the beginning of the inserted text. -The intended use of `after-insert-file-functions' is for converting +The intended use of 'after-insert-file-functions' is for converting some sort of textual annotations into actual text properties. But many other uses may be possible. @@ -4453,16 +4460,16 @@ mode might want to set this to '("." "(" ")") or some such. ** Comint output hook. -There is now a hook, comint-output-filter-hook, that is run-hooks'ed by the -output filter, comint-output-filter. This is useful for scrolling (see +There is now a hook, 'comint-output-filter-hook', that is run by the +output filter, 'comint-output-filter'. This is useful for scrolling (see below), but also things like processing output for specific text, output highlighting, etc. So that such output processing may be done efficiently, there is a new -variable, comint-last-output-start, that records the position of the start of +variable, 'comint-last-output-start', that records the position of the start of the last output inserted into the buffer (effectively the previous value of process-mark). Output processing functions should process the text -between comint-last-output-start (or perhaps the beginning of the line that +between 'comint-last-output-start' (or perhaps the beginning of the line that the position lies on) and process-mark. ** Comint scrolling. @@ -4478,8 +4485,8 @@ possible. But, then again, there is a comint-show-maximum-output command. The input following point is not deleted when moving around the input history (with M-p etc.). Emacs maintainers may not like this. However, I feel this -is a useful feature. The simple remedy is to put end-of-line in before -delete-region in comint-previous-matching-input. +is a useful feature. The simple remedy is to put 'end-of-line' in before +'delete-region' in 'comint-previous-matching-input'. The input history retrieval commands still wrap-around the input ring, unlike Emacs command history. @@ -4495,23 +4502,23 @@ sessions. ** Another simpler package saveplace.el records your position in each file when you kill its buffer (or kill Emacs), and jumps to the same position when you visit the file again (even in another Emacs -session). Use `toggle-save-place' to turn on place-saving in a given file; +session). Use 'toggle-save-place' to turn on place-saving in a given file; use (setq-default save-place t) to turn it on for all files. ** In Outline mode, you can now customize how to compute the level of a -heading line. Set `outline-level' to a function of no arguments which +heading line. Set 'outline-level' to a function of no arguments which returns the level, assuming point is at the beginning of a heading line. ** You can now specify the prefix key to use for Outline minor mode. -(The default is C-c.) Set the variable outline-minor-mode-prefix to +(The default is C-c.) Set the variable 'outline-minor-mode-prefix' to the key sequence you want to use (as a string or vector). ** In Bibtex mode, C-c e has been changed to C-c C-b. This is because C-c followed by a letter is reserved for users. -** The `mod' function is no longer an alias for `%', but is a separate function -that yields a result with the same sign as the divisor. `floor' now takes an +** The 'mod' function is no longer an alias for `%', but is a separate function +that yields a result with the same sign as the divisor. 'floor' now takes an optional second argument, which divides the first argument before the floor is taken. @@ -4542,7 +4549,7 @@ does for windows. command history. ** If the directory containing the Emacs executable has a sibling named -`lisp', that `lisp' directory is added to the end of `load-path' +'lisp', that 'lisp' directory is added to the end of 'load-path' (provided you don't override the normal value with the EMACSLOADPATH environment variable). This feature may make it easier to move an installed Emacs from place to place. @@ -4568,9 +4575,9 @@ COMPATIBLE with the old (version 18) format. See the documentation of the variable calendar-holidays for details of the new, improved format. -The hook `diary-display-hook' has been split into two: +The hook 'diary-display-hook' has been split into two: diary-display-hook which should be used ONLY for the display and -`diary-hook' which should be used for appointment notification. If +'diary-hook' which should be used for appointment notification. If diary-display-hook is nil (the default), simple-diary-display is used. This allows the diary hooks to be correctly set with add-hook. @@ -4592,23 +4599,23 @@ events, which are then discarded if not defined. Triple events that are not defined convert to the corresponding double event; if that is also not defined, it may convert further. -** The new function event-click-count returns the number of clicks, +** The new function 'event-click-count' returns the number of clicks, from an event which is a list. It is 1 for an ordinary click, drag, or button-down event, 2 for a double event, and 3 or more for a triple event. -** The new function previous-frame is like next-frame, but moves +** The new function 'previous-frame' is like 'next-frame', but moves around through the set of existing frames in the opposite order. -** The post-command-hook now runs even after commands that get an error +** The 'post-command-hook' now runs even after commands that get an error and return to top level. As a consequence of the same change, this hook also runs before Emacs reads the first command. That might sound -paradoxical, as if this hook were the same as the pre-command-hook. +paradoxical, as if this hook were the same as the 'pre-command-hook'. Actually, they are not similar; the latter runs before *execution* of a command, but after it has been read. ** You can turn off the text property hooks that run when point moves -to certain places in the buffer, by binding inhibit-point-motion-hooks +to certain places in the buffer, by binding 'inhibit-point-motion-hooks' to a non-nil value. ** Inserting a string with no text properties into the buffer normally @@ -4642,7 +4649,7 @@ rear-sticky for the property, and the property is non-nil, it dominates. Otherwise, the following character's property value is used if it is front-sticky for that property. -** If you give a character a non-nil `invisible' text property, the +** If you give a character a non-nil 'invisible' text property, the character does not appear on the screen. This works much like selective display. @@ -4652,12 +4659,12 @@ versions. ** In Info, when you go to a node, it runs the normal hook Info-selection-hook. -** You can use the new function `invocation-directory' to get the name +** You can use the new function 'invocation-directory' to get the name of the directory containing the Emacs executable that was run. -** Entry to the minibuffer runs the normal hook minibuffer-setup-hook. +** Entry to the minibuffer runs the normal hook 'minibuffer-setup-hook'. -** The new function minibuffer-window-active-p takes one argument, a +** The new function 'minibuffer-window-active-p' takes one argument, a minibuffer window, and returns t if the window is currently active. @@ -4668,7 +4675,7 @@ minibuffer window, and returns t if the window is currently active. you can select a completion by clicking mouse button 2 on that completion. -** Use the command `list-faces-display' to display a list of +** Use the command 'list-faces-display' to display a list of all the currently defined faces, showing what they look like. ** Menu bar items from local maps now come after the usual items. @@ -4690,9 +4697,9 @@ suitable menu bar items to other major modes. ** The key binding C-x a C-h has been eliminated. This is because it got in the way of the general feature of typing C-h after a prefix character. If you want to run -inverse-add-global-abbrev, you can use C-x a - or C-x a i g instead. +'inverse-add-global-abbrev', you can use C-x a - or C-x a i g instead. -** If you set the variable `rmail-mail-new-frame' to a non-nil value, +** If you set the variable 'rmail-mail-new-frame' to a non-nil value, all the Rmail commands to send mail make a new frame to do it in. When you send the message, or use the menu bar command not to send it, that frame is deleted. @@ -4703,43 +4710,43 @@ the message to it in Rmail format if it is an Rmail file, and in inbox file format otherwise. C-o and o are different only when you specify a new file. -** The function `copy-face' now takes an optional fourth argument +** The function 'copy-face' now takes an optional fourth argument NEW-FRAME. If you specify this, it copies the definition of face OLD-FACE on frame FRAME to face NEW-NAME on frame NEW-FRAME. ** A local map can now cancel out one of the global map's menu items. -Just define that subcommand of the menu item with `undefined' -as the definition. For example, this cancels out the `Buffers' item +Just define that subcommand of the menu item with 'undefined' +as the definition. For example, this cancels out the 'Buffers' item for the current major mode: (local-set-key [menu-bar buffer] 'undefined) ** To put global items at the end of the menu bar, use the new variable -`menu-bar-final-items'. It should be a list of symbols--event types +'menu-bar-final-items'. It should be a list of symbols--event types bound in the menu bar. The menu bar items for these symbols are moved to the end. -** The list returned by `buffer-local-variables' now contains cons-cell +** The list returned by 'buffer-local-variables' now contains cons-cell elements of the form (SYMBOL . VALUE) only for buffer-local variables that have values. For unbound buffer-local variables, the variable name (symbol) appears directly as an element of the list. -** The `modification-hooks' property of a character no longer affects +** The 'modification-hooks' property of a character no longer affects insertion; it runs only for deletion and modification of the character. -To detect insertion, use `insert-in-front-hooks' and -`insert-behind-hooks' properties. The former runs when text is +To detect insertion, use 'insert-in-front-hooks' and +'insert-behind-hooks' properties. The former runs when text is inserted immediately preceding the character that has the property; the latter runs when text is inserted immediately following the character. ** Buffer modification now runs hooks belonging to overlays as well as hooks belonging to characters. If an overlay has a -`modification-hooks' property, it applies to any change to text in the +'modification-hooks' property, it applies to any change to text in the overlay, and any insertion within the overlay. If the overlay has a -`insert-in-front-hooks' property, it runs for insertion at the +'insert-in-front-hooks' property, it runs for insertion at the beginning boundary of the overlay. If the overlay has an -`insert-behind-hooks' property, it runs for insertion at the end +'insert-behind-hooks' property, it runs for insertion at the end boundary of the overlay. The values of these properties should be lists of functions. Each @@ -4747,7 +4754,7 @@ function is called, receiving as arguments the overlay in question, followed by the bounds of the range being modified. ** The new `-name NAME' option directs Emacs to search for its X -resources using the name `NAME', and sets the title of the initial +resources using the name 'NAME', and sets the title of the initial frame. This argument was added for consistency with other X clients. ** The new `-xrm DATABASE' option tells Emacs to treat the string @@ -4786,7 +4793,7 @@ Emacs searches for X resources The paths in the variables XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR may contain %-escapes (like the control strings passed to -the Emacs lisp `format' function or C printf function), which Emacs expands. +the Emacs lisp 'format' function or C printf function), which Emacs expands. %N is replaced by the string "Emacs" wherever it occurs. %T is replaced by "app-defaults" wherever it occurs. @@ -4823,29 +4830,29 @@ If XFILESEARCHPATH is unset, Emacs uses the default value This feature was added for consistency with other X applications. -** The new function `text-property-any' scans the region of text from -START to END to see if any character's property PROP is `eq' to +** The new function 'text-property-any' scans the region of text from +START to END to see if any character's property PROP is 'eq' to VALUE. If so, it returns the position of the first such character. Otherwise, it returns nil. The optional fifth argument, OBJECT, specifies the string or buffer to be examined. -** The new function `text-property-not-all' scans the region of text from -START to END to see if any character's property PROP is not `eq' to +** The new function 'text-property-not-all' scans the region of text from +START to END to see if any character's property PROP is not 'eq' to VALUE. If so, it returns the position of the first such character. Otherwise, it returns nil. The optional fifth argument, OBJECT, specifies the string or buffer to be examined. -** The function `delete-windows-on' now takes an optional second +** The function 'delete-windows-on' now takes an optional second argument FRAME, which specifies which frames it should affect. - + If FRAME is nil or omitted, then `delete-windows-on' deletes windows + + If FRAME is nil or omitted, then 'delete-windows-on' deletes windows showing BUFFER (its first argument) on all frames. - + If FRAME is t, then `delete-windows-on' only deletes windows on the + + If FRAME is t, then 'delete-windows-on' only deletes windows on the selected frame; other frames are unaffected. - + If FRAME is a frame, then `delete-windows-on' only deletes windows on + + If FRAME is a frame, then 'delete-windows-on' only deletes windows on the given frame; other frames are unaffected. @@ -4858,21 +4865,21 @@ continue the drag beyond the boundaries of the window, Emacs scrolls the window at a steady rate until you either move the mouse back into the window or release the button. -** RET now exits `query-replace' and `query-replace-regexp'; this makes it +** RET now exits 'query-replace' and 'query-replace-regexp'; this makes it more consistent with the incremental search facility, which uses RET to end the search. ** In C mode, C-c C-u now runs c-up-conditional. C-c C-n and C-c C-p now run new commands that move forward -and back over balanced sets of C conditionals (c-forward-conditional -and c-backward-conditional). +and back over balanced sets of C conditionals ('c-forward-conditional' +and 'c-backward-conditional'). ** The Edit entry in the menu bar has a new alternative: "Choose Next Paste". It gives you a menu showing the various strings in the kill ring; click on one to select it as the text to be yanked ("pasted") the next time you yank. -** If you enable Transient Mark mode and set `mark-even-if-inactive' to +** If you enable Transient Mark mode and set 'mark-even-if-inactive' to non-nil, then the region is highlighted in a transient fashion just as normally in Transient Mark mode, but the mark really remains active all the time; commands that use the region can be used even if the @@ -4882,33 +4889,33 @@ region highlighting turns off. that start with that prefix. ** The VC package now searches for version control commands in the -directories named by the variable `vc-path'; its value should be a +directories named by the variable 'vc-path'; its value should be a list of strings. ** If you are visiting a file that has locks registered under RCS, VC now displays each lock's owner and version number in the mode line -after the string `RCS'. If there are no locks, VC displays the head +after the string 'RCS'. If there are no locks, VC displays the head version number. -** When using X, if you load the `paren' library, Emacs automatically +** When using X, if you load the 'paren' library, Emacs automatically underlines or highlights the matching paren whenever point is next to the outside of a paren. When point is before an open-paren, this shows the matching close; when point is after a close-paren, this shows the matching open. -** The new function `define-key-after' is like `define-key', +** The new function 'define-key-after' is like 'define-key', but takes an extra argument AFTER. It places the newly defined binding after the binding for the event AFTER. -** `accessible-keymaps' now takes an optional second argument, PREFIX. +** 'accessible-keymaps' now takes an optional second argument, PREFIX. If PREFIX is non-nil, it means the value should include only maps for keys that start with PREFIX. -`describe-bindings' also accepts an optional argument PREFIX which +'describe-bindings' also accepts an optional argument PREFIX which means to describe only the keys that start with PREFIX. -** The variable `prefix-help-command' hold a command to run to display help -whenever the character `help-char' follows a prefix key and does not have +** The variable 'prefix-help-command' hold a command to run to display help +whenever the character 'help-char' follows a prefix key and does not have a key binding in that context. ** Emacs now detects double- and triple-mouse clicks. A single mouse @@ -4928,18 +4935,18 @@ their timestamps. To count as double- and triple-clicks, mouse clicks must be at the same location as the first click, and the number of milliseconds between the first release and the second must be less than the value -of the lisp variable `double-click-time'. Setting `double-click-time' +of the lisp variable 'double-click-time'. Setting 'double-click-time' to nil disables multi-click detection. Setting it to t removes the time limit; Emacs then detects multi-clicks by position only. -If `read-key-sequence' finds no binding for a double-click event, but +If 'read-key-sequence' finds no binding for a double-click event, but the corresponding single-click event would be bound, -`read-key-sequence' demotes it to a single-click. Similarly, it +'read-key-sequence' demotes it to a single-click. Similarly, it demotes unbound triple-clicks to double- or single-clicks. This means you don't have to distinguish between single- and multi-clicks if you don't want to. -Emacs reports all clicks after the third as `triple-mouse-N' clicks, +Emacs reports all clicks after the third as 'triple-mouse-N' clicks, but increments the click count after POSITION. For example, a fourth click, soon after the third and at the same location, produces a pair of events of the form: @@ -4952,25 +4959,25 @@ slightly. If a mouse event includes a position list of the form: this denotes exactly the same position as the list: (WINDOW PLACE-SYMBOL (COLUMN . ROW) TIMESTAMP) That is, the event occurred over a non-textual area of the frame, -specified by PLACE-SYMBOL, a symbol like `mode-line' or -`vertical-scroll-bar'. +specified by PLACE-SYMBOL, a symbol like 'mode-line' or +'vertical-scroll-bar'. Enclosing PLACE-SYMBOL in a singleton list does not change the -position denoted, but the `read-key-sequence' function uses the +position denoted, but the 'read-key-sequence' function uses the presence or absence of the singleton list to tell whether or not it should prefix the event with its place symbol. -Normally, `read-key-sequence' prefixes mouse events occurring over +Normally, 'read-key-sequence' prefixes mouse events occurring over non-textual areas with their PLACE-SYMBOLs, to select the sub-keymap appropriate for the event; for example, clicking on the mode line produces a sequence like [mode-line (mouse-1 POSN)] However, if lisp code elects to unread the resulting key sequence by -placing it in the `unread-command-events' variable, it is important -that `read-key-sequence' not insert the prefix symbol again; that +placing it in the 'unread-command-events' variable, it is important +that 'read-key-sequence' not insert the prefix symbol again; that would produce a malformed key sequence like [mode-line mode-line (mouse-1 POSN)] -For this reason, `read-key-sequence' encloses the event's PLACE-SYMBOL +For this reason, 'read-key-sequence' encloses the event's PLACE-SYMBOL in a singleton list when it first inserts the prefix, but doesn't insert the prefix when processing events whose PLACE-SYMBOLs are already thus enclosed. @@ -4979,7 +4986,7 @@ already thus enclosed. * Changes in version 19.15. -** `make-frame-visible', which uniconified frames, is now a command, +** 'make-frame-visible', which uniconified frames, is now a command, and thus may be bound to a key. This makes sense because frames respond to user input while iconified. @@ -4998,11 +5005,11 @@ at the other end. Emacs has only one secondary selection at any time. Starting to set a new one cancels any previous one. The secondary selection displays -using a face named `secondary-selection'. +using a face named 'secondary-selection'. -** There's a new way to request use of Supercite (sc.el). Do this: +** New hook 'mail-citation-hook'. E.g. to request use of Supercite (sc.el): - (add-hook 'mail-citation-hook 'sc-cite-original) + (add-hook 'mail-citation-hook #'sc-cite-original) Currently this works with Rmail. In the future, other Emacs based mail-readers should be modified to understand this hook also. @@ -5011,7 +5018,7 @@ for those other mail readers. ** When a regular expression contains `\(...\)' inside a repetition operator such as `*' or `+', and you ask about the range that was matched -using `match-beginning' and `match-end', the range you get corresponds +using 'match-beginning' and 'match-end', the range you get corresponds to the *last* repetition *only*. In Emacs 18, you would get a range corresponding to all the repetitions. @@ -5027,18 +5034,18 @@ and thus didn't document it.) * Changes in version 19.14. -** To modify read-only text, bind the variable `inhibit-read-only' +** To modify read-only text, bind the variable 'inhibit-read-only' to a non-nil value. If the value is t, then all reasons that might -make text read-only are inhibited (including `read-only' text properties). -If the value is a list, then a `read-only' property is inhibited -if it is `memq' in the list. +make text read-only are inhibited (including 'read-only' text properties). +If the value is a list, then a 'read-only' property is inhibited +if it is 'memq' in the list. -** If you call `get-buffer-window' passing t as its second argument, it +** If you call 'get-buffer-window' passing t as its second argument, it will only search for windows on visible frames. Previously, passing t -as the second argument caused `get-buffer-window' to search all +as the second argument caused 'get-buffer-window' to search all frames, visible or not. -** If you call `other-buffer' with a nil or omitted second argument, it +** If you call 'other-buffer' with a nil or omitted second argument, it will ignore buffers displayed windows on any visible frame, not just the selected frame. @@ -5048,22 +5055,22 @@ to the window or frame that you want. ** The command M-( now inserts spaces outside the open-parentheses in some cases--depending on the syntax classes of the surrounding -characters. If the variable `parens-dont-require-spaces' is non-nil, +characters. If the variable 'parens-dont-require-spaces' is non-nil, it inhibits insertion of these spaces. ** The GUD package now supports the debugger known as xdb on HP/UX -systems. Use M-x xdb. The variable `gud-xdb-directories' lets you +systems. Use M-x xdb. The variable 'gud-xdb-directories' lets you specify a list of directories to search for source code. ** If you are using the mailabbrev package, you should note that its -function for defining an alias is now called `define-mail-abbrev'. -This package no longer contains a definition for `define-mail-alias'; +function for defining an alias is now called 'define-mail-abbrev'. +This package no longer contains a definition for 'define-mail-alias'; that name is used only in mailaliases. ** Inserted characters now inherit the properties of the text before them, by default, rather than those of the following text. -** The function `insert-file-contents' now takes optional arguments BEG +** The function 'insert-file-contents' now takes optional arguments BEG and END that specify which part of the file to insert. BEG defaults to 0 (the beginning of the file), and END defaults to the end of the file. @@ -5073,7 +5080,7 @@ If you specify BEG or END, then the argument VISIT must be nil. * Changes in version 19.13. -** Magic file names can now handle the `load' operation. +** Magic file names can now handle the 'load' operation. ** Bibtex mode now sets up special entries in the menu bar. @@ -5094,7 +5101,7 @@ We may move them again for greater consistency with other modes. * Changes in version 19.12. ** You can now make many of the sort commands ignore case by setting -`sort-fold-case' to a non-nil value. +'sort-fold-case' to a non-nil value. @@ -5102,15 +5109,15 @@ We may move them again for greater consistency with other modes. ** Supercite is installed. -** `write-file-hooks' functions that return non-nil are responsible +** 'write-file-hooks' functions that return non-nil are responsible for making a backup file if you want that to be done. To do so, execute the following code: (or buffer-backed-up (backup-buffer)) You might wish to save the file modes value returned by -`backup-buffer' and use that to set the mode bits of the file -that you write. This is what `basic-save-buffer' does when +'backup-buffer' and use that to set the mode bits of the file +that you write. This is what 'basic-save-buffer' does when it writes a file in the usual way. (This is not actually new, but wasn't documented before.) @@ -5119,12 +5126,12 @@ it writes a file in the usual way. * Changes in version 19.10. -** The command `repeat-complex-command' is now on C-x ESC ESC. +** The command 'repeat-complex-command' is now on C-x ESC ESC. It used to be bound to C-x ESC. The reason for this change is to make function keys work after C-x. -** The variable `highlight-nonselected-windows' now controls whether +** The variable 'highlight-nonselected-windows' now controls whether the region is highlighted in windows other than the selected window (in Transient Mark mode only, of course, and currently only when using X). @@ -5139,26 +5146,26 @@ buffer text according to the ISO Latin-1 standard. With a prefix argument, this command enables European character display if and only if the argument is positive. -** The `-i' command-line argument tells Emacs to use a picture of the +** The '-i' command-line argument tells Emacs to use a picture of the GNU gnu as its icon, instead of letting the window manager choose an icon for it. This option used to insert a file into the current -buffer; use `-insert' to do that now. +buffer; use '-insert' to do that now. -** The `configure' script now supports `--prefix' and `--exec-prefix' +** The 'configure' script now supports '--prefix' and '--exec-prefix' options. -The `--prefix=PREFIXDIR' option specifies where the installation process +The '--prefix=PREFIXDIR' option specifies where the installation process should put emacs and its data files. This defaults to `/usr/local'. - Emacs (and the other utilities users run) go in PREFIXDIR/bin - (unless the `--exec-prefix' option says otherwise). + (unless the '--exec-prefix' option says otherwise). - The architecture-independent files go in PREFIXDIR/lib/emacs/VERSION (where VERSION is the version number of Emacs, like `19.7'). - The architecture-dependent files go in PREFIXDIR/lib/emacs/VERSION/CONFIGURATION (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), - unless the `--exec-prefix' option says otherwise. + unless the '--exec-prefix' option says otherwise. -The `--exec-prefix=EXECDIR' option allows you to specify a separate +The '--exec-prefix=EXECDIR' option allows you to specify a separate portion of the directory tree for installing architecture-specific files, like executables and utility programs. If specified, - Emacs (and the other utilities users run) go in EXECDIR/bin, and @@ -5166,14 +5173,14 @@ files, like executables and utility programs. If specified, EXECDIR/lib/emacs/VERSION/CONFIGURATION. EXECDIR/bin should be a directory that is normally in users' PATHs. -** When running under X, the new lisp function `x-list-fonts' +** When running under X, the new lisp function 'x-list-fonts' allows code to find out which fonts are available from the X server. The first argument PATTERN is a string, perhaps with wildcard characters; the * character matches any substring, and the ? character matches any single character. PATTERN is case-insensitive. If the optional arguments FACE and FRAME are specified, then -`x-list-fonts' returns only fonts the same size as FACE on FRAME. +'x-list-fonts' returns only fonts the same size as FACE on FRAME. @@ -5188,7 +5195,7 @@ their sizes, or reused by other processes if Emacs doesn't need it. for input, which often avoids the need to do these things while you are typing. -The variable `auto-save-timeout' says how many seconds Emacs should +The variable 'auto-save-timeout' says how many seconds Emacs should wait, after you stop typing, before it does an auto save and a garbage collection. @@ -5200,12 +5207,12 @@ warning again. If you reenable Auto Save mode in that buffer, Emacs will start saving it again with no further warnings. -** A new minor mode called Line Number mode displays the current line +** A new minor mode called 'line-number-mode' displays the current line number in the mode line, updating it as necessary when you move point. However, if the buffer is very large (larger than the value of -`line-number-display-limit'), then the line number doesn't appear. +'line-number-display-limit'), then the line number doesn't appear. This is because computing the line number can be painfully slow if the buffer is very large. @@ -5215,7 +5222,7 @@ buffer is very large. directions. ** You can suppress next-line's habit of inserting a newline when -called at the end of a buffer by setting next-line-add-newlines to nil +called at the end of a buffer by setting 'next-line-add-newlines' to nil (it defaults to t). ** You can now get back recent minibuffer inputs conveniently. While @@ -5233,8 +5240,8 @@ The history feature is available for all uses of the minibuffer, but there are separate history lists for different kinds of input. For example, there is a list for file names, used by all the commands that read file names. There is a list for arguments of commands like -`query-replace'. There are also very specific history lists, such -as the one that `compile' uses for compilation commands. +'query-replace'. There are also very specific history lists, such +as the one that 'compile' uses for compilation commands. ** You can now display text in a mixture of fonts and colors, using the "face" feature, together with the overlay and text property features. @@ -5258,30 +5265,30 @@ C-x n is a prefix for narrowing. C-x a is a prefix for abbrev commands. C-x r C-SPC -C-x r SPC point-to-register (Was C-x /) -C-x r j jump-to-register (Was C-x j) -C-x r s copy-to-register (Was C-x x) -C-x r i insert-register (Was C-x g) -C-x r r copy-rectangle-to-register (Was C-x r) -C-x r k kill-rectangle -C-x r y yank-rectangle -C-x r o open-rectangle -C-x r f frame-configuration-to-register +C-x r SPC 'point-to-register' (Was C-x /) +C-x r j 'jump-to-register' (Was C-x j) +C-x r s 'copy-to-register' (Was C-x x) +C-x r i 'insert-register' (Was C-x g) +C-x r r 'copy-rectangle-to-register' (Was C-x r) +C-x r k 'kill-rectangle' +C-x r y 'yank-rectangle' +C-x r o 'open-rectangle' +C-x r f 'frame-configuration-to-register' (This saves the state of all windows in all frames.) -C-x r w window-configuration-to-register +C-x r w 'window-configuration-to-register' (This saves the state of all windows in the selected frame.) (Use C-x r j to restore a configuration saved with C-x r f or C-x r w.) -C-x n n narrow-to-region (Was C-x n) -C-x n p narrow-to-page (Was C-x p) -C-x n w widen (Was C-x w) +C-x n n 'narrow-to-region' (Was C-x n) +C-x n p 'narrow-to-page' (Was C-x p) +C-x n w 'widen' (Was C-x w) -C-x a l add-mode-abbrev (Was C-x C-a) -C-x a g add-global-abbrev (Was C-x +) -C-x a i l inverse-add-mode-abbrev (Was C-x C-h) -C-x a i g inverse-add-global-abbrev (Was C-x -) -C-x a e expand-abbrev (Was C-x ') +C-x a l 'add-mode-abbrev' (Was C-x C-a) +C-x a g 'add-global-abbrev' (Was C-x +) +C-x a i l 'inverse-add-mode-abbrev' (Was C-x C-h) +C-x a i g 'inverse-add-global-abbrev' (Was C-x -) +C-x a e 'expand-abbrev' (Was C-x ') (The old key bindings C-x /, C-x j, C-x x and C-x g have not yet been removed.) @@ -5300,12 +5307,12 @@ but that you don't want to keep in buffers all the time. ** The keys M-g (fill-region) and C-x a (append-to-buffer) have been eliminated. -** The new command `string-rectangle' inserts a specified string on +** The new command 'string-rectangle' inserts a specified string on each line of the region-rectangle. -** C-x 4 r is now `find-file-read-only-other-window'. +** C-x 4 r is now 'find-file-read-only-other-window'. -** C-x 4 C-o is now `display-buffer', which displays a specified buffer +** C-x 4 C-o is now 'display-buffer', which displays a specified buffer in another window without selecting it. ** Picture mode has been substantially improved. The picture editing commands @@ -5330,17 +5337,17 @@ to enable and disable the new mode. M-x outline-mode is unchanged; it still switches to Outline mode as a major mode. -** The default setting of `version-control' comes from the environment +** The default setting of 'version-control' comes from the environment variable VERSION_CONTROL. ** The user option for controlling whether files can set local -variables is now called `enable-local-variables'. A value of t means +variables is now called 'enable-local-variables'. A value of t means local-variables lists are obeyed; nil means they are ignored; anything else means query the user. -The user option for controlling use of the `eval' local variable is -now called is `enable-local-eval'; its values are interpreted like -those of `enable-local-variables'. +The user option for controlling use of the 'eval' local variable is +now called is 'enable-local-eval'; its values are interpreted like +those of 'enable-local-variables'. ** X Window System changes: @@ -5366,8 +5373,8 @@ one in the future. deletion. ** The variables that control how much undo information to save have -been renamed to `undo-limit' and `undo-strong-limit'. They used to be -called `undo-threshold' and `undo-high-threshold'. +been renamed to 'undo-limit' and 'undo-strong-limit'. They used to be +called 'undo-threshold' and 'undo-high-threshold'. ** You can now use kill commands in read-only buffers. They don't actually change the buffer, and Emacs will beep and warn you that the @@ -5378,7 +5385,7 @@ the kill ring, so you can yank it into other buffers. M-^ deletes the prefix (if it occurs) after the newline that it deletes. -** C-M-l now runs the command `reposition-window'. It scrolls the +** C-M-l now runs the command 'reposition-window'. It scrolls the window heuristically in a way designed to get useful information onto the screen. @@ -5433,14 +5440,14 @@ subsequently. You can no longer use M-, to find the next similar tag; you must use M-. with a prefix argument, instead. The motive for this change is so that you can more reliably use -M-, to resume a suspended `tags-search' or `tags-query-replace'. +M-, to resume a suspended 'tags-search' or 'tags-query-replace'. -** C-x s (`save-some-buffers') now gives you more options when it asks -whether to save a particular buffer. In addition to `y' or `n', you +** C-x s ('save-some-buffers') now gives you more options when it asks +whether to save a particular buffer. In addition to 'y' or 'n', you can answer `!' to save all the remaining buffers, `.' to save this buffer but not save any others, ESC to stop saving and exit the command, and C-h to get help. These options are analogous to those -of `query-replace'. +of 'query-replace'. ** M-x make-symbolic-link does not expand its first argument. This lets you make a link with a target that is a relative file name. @@ -5454,22 +5461,22 @@ makes filling work conveniently. Each bunch of grouped entries is one paragraph, and each collection of entries from one person on one day is considered a page. -** The `comment-region' command adds comment delimiters to the lines that +** The 'comment-region' command adds comment delimiters to the lines that start in the region, thus commenting them out. With a negative argument, it deletes comment delimiters from the lines in the region--this cancels -the effect of `comment-region' without an argument. +the effect of 'comment-region' without an argument. -With a positive argument, `comment-region' adds comment delimiters +With a positive argument, 'comment-region' adds comment delimiters but duplicates the last character of the comment start sequence as many times as the argument specifies. This is a way of calling attention to the comment. In Lisp, you should use an argument at least two, because the indentation convention for single semicolon comments does not leave them at the beginning of a line. -** If `split-window-keep-point' is non-nil, C-x 2 tries to avoid +** If 'split-window-keep-point' is non-nil, C-x 2 tries to avoid shifting any text on the screen by putting point in whichever window happens to contain the screen line the cursor is already on. -The default is that `split-window-keep-point' is non-nil on slow +The default is that 'split-window-keep-point' is non-nil on slow terminals. ** M-x super-apropos is like M-x apropos except that it searches both @@ -5506,10 +5513,10 @@ compilation buffers, and any Emacs feature which creates a special buffer with a particular name. ** M-x compare-windows with a prefix argument ignores changes in whitespace. -If `compare-ignore-case' is non-nil, then differences in case are also +If 'compare-ignore-case' is non-nil, then differences in case are also ignored. -** `backward-paragraph' is now bound to M-{ by default, and `forward-paragraph' +** 'backward-paragraph' is now bound to M-{ by default, and 'forward-paragraph' to M-}. Originally, these commands were bound to M-[ and M-], but they were running into conflicts with the use of function keys. On many terminals, function keys send a sequence beginning ESC-[, so many users have defined this @@ -5519,25 +5526,25 @@ as a prefix key. default; these commands seem to be often hit by accident, and can be quite destructive if their effects are not noticed immediately. -** The function `erase-buffer' is now interactive, but disabled by default. +** The function 'erase-buffer' is now interactive, but disabled by default. ** When visiting a new file, Emacs attempts to abbreviate the file's -path using the symlinks listed in `directory-abbrev-alist'. +path using the symlinks listed in 'directory-abbrev-alist'. ** When you visit the same file in under two names that translate into the same name once symbolic links are handled, Emacs warns you that you have two buffers for the same file. ** If you wish to avoid visiting the same file in two buffers under -different names, set the variable `find-file-existing-other-name' -non-nil. Then `find-file' uses the existing buffer visiting the file, +different names, set the variable 'find-file-existing-other-name' +non-nil. Then 'find-file' uses the existing buffer visiting the file, no matter which of the file's names you specify. -** If you set `find-file-visit-truename' non-nil, then the file name +** If you set 'find-file-visit-truename' non-nil, then the file name recorded for a buffer is the file's truename (in which all symbolic links have been removed), rather than the name you specify. Setting -`find-file-visit-truename' also implies the effect of -`find-file-existing-other-name'. +'find-file-visit-truename' also implies the effect of +'find-file-existing-other-name'. ** C-x C-v now inserts the entire current file name in the minibuffer. This is convenient if you made a small mistake in typing it. Point @@ -5550,40 +5557,40 @@ it. ** C-x q now uses ESC to terminate all iterations of the keyboard macro, rather than C-d as before. -** Use the command `setenv' to set an individual environment variable +** Use the command 'setenv' to set an individual environment variable for Emacs subprocesses. Specify a variable name and a value, both as strings. This command applies only to subprocesses yet to be started. -** Use `rot13-other-window' to examine a buffer with rot13. +** Use 'rot13-other-window' to examine a buffer with rot13. This command does not change the text in the buffer. Instead, it creates a window with a funny display table that applies the code when displaying the text. ** The command `M-x version' now prints the current Emacs version; The -`version' command is an alias for the `emacs-version' command. +'version' command is an alias for the 'emacs-version' command. ** More complex changes in existing packages. -*** `fill-nonuniform-paragraphs' is a new command, much like -`fill-individual-paragraphs' except that only separator lines separate +*** 'fill-nonuniform-paragraphs' is a new command, much like +'fill-individual-paragraphs' except that only separator lines separate paragraphs. Since this means that the lines of one paragraph may have different amounts of indentation, the fill prefix used is the smallest amount of indentation of any of the lines of the paragraph. -*** Filling is now partially controlled by a new minor mode, Adaptive -Fill mode. When this mode is enabled (and it is enabled by default), -if you use M-x fill-region-as-paragraph on an indented paragraph and -you don't have a fill prefix, it uses the indentation of the second -line of the paragraph as the fill prefix. +*** Filling is now partially controlled by a new minor mode, +'adaptive-fill-mode'. When this mode is enabled (and it is enabled +by default), if you use M-x fill-region-as-paragraph on an indented +paragraph and you don't have a fill prefix, it uses the indentation +of the second line of the paragraph as the fill prefix. Adaptive Fill mode doesn't have much effect on M-q in most major modes, because an indented line will probably count as a paragraph starter and thus each line of an indented paragraph will be considered a paragraph of its own. -*** M-q in C mode now runs `c-fill-paragraph', which is designed +*** M-q in C mode now runs 'c-fill-paragraph', which is designed for filling C comments. (We assume you don't want to fill the code in a C program.) @@ -5610,7 +5617,7 @@ i Insert this word in your private dictionary r Replace the word this time with a string typed by you. When the Ispell process starts, it reads your private dictionary which -is the file `~/ispell.words'. If you "insert" words with the `i' command, +is the file `~/ispell.words'. If you "insert" words with the 'i' command, these words are added to that file, but not right away--only at the end of the interactive replacement process. @@ -5654,7 +5661,7 @@ superseding C-c C-y (copy-last-shell-input): The C-x C-a bindings are also active in source files. *** The old TeX mode bindings of M-{ and M-} have been moved to C-c { -and C-c }. (These commands are `up-list' and `tex-insert-braces'; +and C-c }. (These commands are 'up-list' and 'tex-insert-braces'; they are the TeX equivalents of M-( and M-).) This is because M-{ and M-} are now globally defined commands. @@ -5662,22 +5669,22 @@ and M-} are now globally defined commands. `%' is now a word-separator character in Mail mode. -`mail-signature', if non-nil, tells M-x mail to insert your +'mail-signature', if non-nil, tells M-x mail to insert your `.signature' file automatically. If you don't want your signature in a particular message, just delete it before you send the message. You can specify the text to insert at the beginning of each line when you use C-c C-y to yank the message you are replying to. Set -`mail-yank-prefix' to the desired string. A value of `nil' (the +'mail-yank-prefix' to the desired string. A value of 'nil' (the default) means to use indentation, as in Emacs 18. If you use just C-u as the prefix argument to C-c C-y, then it does not insert anything at the beginning of the lines, regardless of the value of -`mail-yank-prefix'. +'mail-yank-prefix'. If you like, you can expand mail aliases as abbrevs, as soon as you type them in. To enable this feature, execute the following: - (add-hook 'mail-setup-hook 'mail-abbrevs-setup) + (add-hook 'mail-setup-hook #'mail-abbrevs-setup) This can go in your .emacs file. @@ -5691,25 +5698,25 @@ Rmail by default gets new mail only from the system inbox file, not from `~/mbox'. In Rmail, you can retry sending a message that failed -by typing `M-m' on the failure message. +by typing 'M-m' on the failure message. By contrast, another new command M-x rmail-resend is used for forwarding a message and marking it as "resent from" you with header fields "Resent-From:" and "Resent-To:". -`e' is now the command to edit a message. -To expunge, type `x'. We know this will surprise people +'e' is now the command to edit a message. +To expunge, type 'x'. We know this will surprise people some of the time, but the surprise will not be disastrous--if -you type `e' meaning to expunge, just turn off editing with C-c C-c -and then type `x'. +you type 'e' meaning to expunge, just turn off editing with C-c C-c +and then type 'x'. Another new Rmail command is `<', which moves to the first message. This is for symmetry with `>'. -Use the `b' command to bury the Rmail buffer and its summary buffer, +Use the 'b' command to bury the Rmail buffer and its summary buffer, if any, removing both of them from display on the screen. -The variable `rmail-output-file-alist' now controls the default +The variable 'rmail-output-file-alist' now controls the default for the file to output a message to. In the Rmail summary buffer, all cursor motion commands select @@ -5724,7 +5731,7 @@ line. Conversely, motion and deletion commands in the Rmail buffer also update the summary buffer. If you set the variable -`rmail-redisplay-summary' to a non-nil value, then they bring the +'rmail-redisplay-summary' to a non-nil value, then they bring the summary buffer (if one exists) back onto the screen. C-M-t is a new command to make a summary by topic. It uses regexp @@ -5732,13 +5739,13 @@ matching against just the subjects of the messages to decide which messages to show in the summary. You can easily convert an Rmail file to system mailbox format with the -command `unrmail'. This command reads two arguments, the name of +command 'unrmail'. This command reads two arguments, the name of the Rmail file to convert, and the name of the new mailbox file. (This command does not change the Rmail file itself.) Rmail now handles Content Length fields in messages. -*** `mail-extract-address-components' unpacks mail addresses. +*** 'mail-extract-address-components' unpacks mail addresses. It takes an address as a string (the contents of the From field, for example) and returns a list of the form (FULL-NAME CANONICAL-ADDRESS). @@ -5747,7 +5754,7 @@ CANONICAL-ADDRESS). **** M-x c-up-conditional -In C mode, `c-up-conditional' moves back to the containing +In C mode, 'c-up-conditional' moves back to the containing preprocessor conditional, setting the mark where point was previously. @@ -5757,7 +5764,7 @@ conditional. When going backwards, `#elif' acts like `#else' followed by `#if'. When going forwards, `#elif' is ignored. **** In C mode, M-a and M-e are now defined as -`c-beginning-of-statement' and `c-end-of-statement'. +'c-beginning-of-statement' and 'c-end-of-statement'. **** In C mode, M-x c-backslash-region is a new command to insert or align `\' characters at the ends of the lines of the region, except @@ -5770,7 +5777,7 @@ whitespace before it. Otherwise, it inserts a new `\'. *** New features in info. When Info looks for an Info file, it searches the directories -in `Info-directory-list'. This makes it easy to install the Info files +in 'Info-directory-list'. This makes it easy to install the Info files that come with various packages. You can specify the path with the environment variable INFOPATH. @@ -5790,15 +5797,15 @@ next node in depth-first order (like `]'). DEL scrolls backwards in the current node; at the end, it moves to the previous node in depth-first order (like `['). -After a menu select, the info `up' command now restores point in the +After a menu select, the info 'up' command now restores point in the menu. The combination of this and the previous two changes means that repeated SPC keystrokes do the right (depth-first traverse forward) thing. `i STRING RET' moves to the node associated with STRING in the index or indices of this manual. If there is more than one match for -STRING, the `i' command finds the first match. +STRING, the 'i' command finds the first match. -`,' finds the next match for the string in the previous `i' command +`,' finds the next match for the string in the previous 'i' command If you click the middle mouse button near a cross-reference, menu item or node pointer while in Info, you will go to the node @@ -5810,7 +5817,7 @@ You can repeat any previous compilation command conveniently using the minibuffer history commands, while in the minibuffer entering the compilation command. -While a compilation is going on, the string `Compiling' appears in +While a compilation is going on, the string 'Compiling' appears in the mode line. When this string disappears, that tells you the compilation is finished. @@ -5828,8 +5835,8 @@ error, no matter how big the buffer is. *** M-x diff and M-x diff-backup. This new command compares two files, displaying the differences in an -Emacs buffer. The options for the `diff' program come from the -variable `diff-switches', whose value should be a string. +Emacs buffer. The options for the 'diff' program come from the +variable 'diff-switches', whose value should be a string. The buffer of differences has Compilation mode as its major mode, so you can use C-x ` to visit successive changed locations in the two @@ -5839,7 +5846,7 @@ other special commands of Compilation mode: SPC and DEL for scrolling, and M-n and M-p for cursor motion. M-x diff-backup compares a file with its most recent backup. -If you specify the name of a backup file, `diff-backup' compares it +If you specify the name of a backup file, 'diff-backup' compares it with the source file that it is a backup of. *** The View commands (such as M-x view-buffer and M-x view-file) no @@ -5877,12 +5884,12 @@ it easier to customize that behavior. Emacs 19 eliminates the old variables `search-...-char' that used to be the way to specify the characters to use for various special purposes in incremental search. Instead, you can define the meaning -of a character in incremental search by modifying `isearch-mode-map'. +of a character in incremental search by modifying 'isearch-mode-map'. *** New commands in Buffer Menu mode. The command C-o now displays the current line's buffer in another -window but does not select it. This is like the existing command `o' +window but does not select it. This is like the existing command 'o' which selects the current line's buffer in another window. The command % toggles the read-only flag of the current line's buffer. @@ -5919,18 +5926,18 @@ perform initial checkin on an unregistered file. By default, VC uses RCS if RCS is installed on your machine; otherwise, SCCS. If you want to make the choice explicitly, you can do -it by setting `vc-default-back-end' to the symbol `RCS' or the symbol -`SCCS'. +it by setting 'vc-default-back-end' to the symbol 'RCS' or the symbol +'SCCS'. You can tell when a file you visit is maintained with version control -because either `RCS' or `SCCS' appears in the mode line. +because either 'RCS' or 'SCCS' appears in the mode line. *** A new Calendar mode has been added, the work of Edward M. Reingold. The mode can display the Gregorian calendar and a variety of other calendars at any date, and interacts with a diary facility similar to -the UNIX `calendar' utility. +the UNIX 'calendar' utility. -*** There is a new major mode for editing binary files: Hexl mode. +*** There is a new major mode for editing binary files: 'hexl-mode'. To use it, use M-x hexl-find-file instead of C-x C-f to visit the file. This command converts the file's contents to hexadecimal and lets you edit the translation. When you save the file, it is converted @@ -5977,22 +5984,22 @@ in the Emacs distribution. and certain other differences between C and C++. It also has a command `fill-c++-comment' which fills a paragraph made of comment lines. -The command `comment-region' is useful in C++ mode for commenting out +The command 'comment-region' is useful in C++ mode for commenting out several consecutive lines, or removing the commenting out of such lines. *** A new package for merging two variants of the same text. It's not unusual for programmers to get their signals crossed and modify the same program in two different directions. Then somebody -has to merge the two versions. The command `emerge-files' makes this +has to merge the two versions. The command 'emerge-files' makes this easier. -`emerge-files' reads two file names and compares them. Then it +'emerge-files' reads two file names and compares them. Then it displays three buffers: one for each file, and one for the differences. If the original version of the file is available, you can make things -even easier using `emerge-files-with-ancestor'. It reads three file +even easier using 'emerge-files-with-ancestor'. It reads three file names--variant 1, variant 2, and the common ancestor--and uses diff3 to compare them. @@ -6007,7 +6014,7 @@ prevents you from doing more than selecting the A or the B version of differences. In Edit mode, all emerge commands use the C-c prefix, and the usual Emacs commands are available. This allows editing the merge buffer, but slows down Emerge operations. Edit and fast modes -are indicated by `F' and `E' in the minor modes in the mode line. +are indicated by 'F' and 'E' in the minor modes in the mode line. The Emerge commands are: @@ -6067,7 +6074,7 @@ If you use a prefix argument, Emerge reads another file name to use for the output file. Once Emerge has prepared the buffer of differences, it runs the hooks -in `emerge-startup-hooks'. +in 'emerge-startup-hooks'. *** Asm mode is a new major mode for editing files of assembler code. It defines these commands: @@ -6124,7 +6131,7 @@ type C-x 6 d, is empty, C-x 6 d kills it.) *** You can supply command arguments such as files to visit to an Emacs that is already running. To do this, you must do this in your .emacs file: - (add-hook 'suspend-hook 'resume-suspend-hook) + (add-hook 'suspend-hook #'resume-suspend-hook) Also you must use the shellscript emacs.csh or emacs.sh, found in the etc subdirectory. @@ -6183,7 +6190,7 @@ VT-100 and H19 terminals; put the following in your `.emacs' file: When flow control is enabled, you must type C-\ to get the effect of a C-s, and type C-^ to get the effect of a C-q. -The function `enable-flow-control' enables flow control unconditionally. +The function 'enable-flow-control' enables flow control unconditionally. ** Changes in Dired @@ -6199,15 +6206,15 @@ parent directory. *** Setting and Clearing Marks There are now two kinds of marker that you can put on a file in Dired: -`D' for deletion, and `*' for any other kind of operation. -The `x' command deletes only files marked with `D', and most +'D' for deletion, and `*' for any other kind of operation. +The 'x' command deletes only files marked with 'D', and most other Dired commands operate only on the files marked with `*'. -To mark files with `D' (also called "flagging" the files), you -can use `d' as usual. Here are some commands for marking with +To mark files with 'D' (also called "flagging" the files), you +can use 'd' as usual. Here are some commands for marking with `*' (and also for unmarking): -**** `m' marks the current file with `*', for an operation other than +**** 'm' marks the current file with `*', for an operation other than deletion. **** `*' marks all executable files. With a prefix argument, it @@ -6223,7 +6230,7 @@ argument, it unmarks all those files. argument, queries for each marked file. Type your help character, usually C-h, at that time for help. -**** `c' replaces all marks that use the character OLD with marks that +**** 'c' replaces all marks that use the character OLD with marks that use the character NEW. You can use almost any character as a mark character by means of this command, to distinguish various classes of files. If OLD is ` ', then the command operates on all unmarked @@ -6248,48 +6255,48 @@ marked files. These are the commands: -**** `C' copies the specified files. You must specify a directory to +**** 'C' copies the specified files. You must specify a directory to copy into, or (if copying a single file) a new name. -If `dired-copy-preserve-time' is non-`nil', then copying sets +If 'dired-copy-preserve-time' is non-'nil', then copying sets the modification time of the new file to be the same as that of the old file. -**** `R' renames the specified files. You must specify a directory to +**** 'R' renames the specified files. You must specify a directory to rename into, or (if renaming a single file) a new name. Dired automatically changes the visited file name of buffers associated with renamed files so that they refer to the new names. -**** `H' makes hard links to the specified files. You must specify a +**** 'H' makes hard links to the specified files. You must specify a directory to make the links in, or (if making just one link) the name to give the link. -**** `S' makes symbolic links to the specified files. You must specify +**** 'S' makes symbolic links to the specified files. You must specify a directory to make the links in, or (if making just one link) the name to give the link. -**** `M' changes the mode of the specified files. This calls the -`chmod' program, so you can describe the desired mode change with any -argument that `chmod' would handle. +**** 'M' changes the mode of the specified files. This calls the +'chmod' program, so you can describe the desired mode change with any +argument that 'chmod' would handle. -**** `G' changes the group of the specified files. +**** 'G' changes the group of the specified files. -**** `O' changes the owner of the specified files. (On normal systems, +**** 'O' changes the owner of the specified files. (On normal systems, only the superuser can do this.) -The variable `dired-chown-program' specifies the name of the -program to use to do the work (different systems put `chown' in +The variable 'dired-chown-program' specifies the name of the +program to use to do the work (different systems put 'chown' in different places. -**** `Z' compresses or uncompresses the specified files. +**** 'Z' compresses or uncompresses the specified files. -**** `L' loads the specified Emacs Lisp files. +**** 'L' loads the specified Emacs Lisp files. -**** `B' byte compiles the specified Emacs Lisp files. +**** 'B' byte compiles the specified Emacs Lisp files. -**** `P' prints the specified files. It uses the variables -`lpr-command' and `lpr-switches' just as `lpr-file' does. +**** 'P' prints the specified files. It uses the variables +'lpr-command' and 'lpr-switches' just as 'lpr-file' does. *** Shell Commands in Dired @@ -6300,17 +6307,17 @@ shell command to multiple files: - If you use `*' in the command, then the shell command runs just once, with the list of file names substituted for the `*'. -Thus, `! tar cf foo.tar * RET' runs `tar' on the entire list of file +Thus, `! tar cf foo.tar * RET' runs 'tar' on the entire list of file names, putting them into one tar file `foo.tar'. The file names are inserted in the order that they appear in the Dired buffer. - If the command string doesn't contain `*', then it runs once for each file, with the file name attached at the end. For example, `! -uudecode RET' runs `uudecode' on each file. +uudecode RET' runs 'uudecode' on each file. To run the shell command once for each file but without being limited to putting the file name inserted in the middle, use a shell loop. -For example, this shell command would run `uuencode' on each of the +For example, this shell command would run 'uuencode' on each of the specified files, writing the output into a corresponding `.uu' file: for file in *; uuencode $file $file >$file.uu; done @@ -6334,7 +6341,7 @@ the regular expression REGEXP. These four commands rename, copy, make hard links and make soft links, in each case computing the new name by regular expression substitution from the name of the old file. They effectively perform -`query-replace-regexp' on the selected file names in the Dired buffer. +'query-replace-regexp' on the selected file names in the Dired buffer. The commands read two arguments: a regular expression, and a substitution pattern. Each selected file name is matched against the @@ -6362,30 +6369,30 @@ as a default the last regular expression specified in a `%' command. *** File Comparison with Dired -**** `=' compares the current file with another file (the file at the -mark), by running the `diff' program. The file at the mark is given -to `diff' first. +**** '=' compares the current file with another file (the file at the +mark), by running the 'diff' program. The file at the mark is given +to 'diff' first. -**** `M-=' compares the current file with its backup file. If there +**** 'M-=' compares the current file with its backup file. If there are several numerical backups, it uses the most recent one. If this file is a backup, it is compared with its original. -The backup file is the first file given to `diff'. +The backup file is the first file given to 'diff'. *** Subdirectories in Dired You can display more than one directory in one Dired buffer. -The simplest way to do this is to specify the options `-lR' for -running `ls'. That produces a recursive directory listing showing +The simplest way to do this is to specify the options '-lR' for +running 'ls'. That produces a recursive directory listing showing all subdirectories, all within the same Dired buffer. You can also insert the contents of a particular subdirectory with the -`i' command. Use this command on the line that describes a file which +'i' command. Use this command on the line that describes a file which is a directory. Inserted subdirectory contents follow the top-level directory of the Dired buffer, just as they do in `ls -lR' output. If the subdirectory's contents are already present in the buffer, the -`i' command just moves to it (type `l' to refresh it). It sets the +'i' command just moves to it (type 'l' to refresh it). It sets the Emacs mark before moving, so C-x C-x takes you back to the old position in the buffer. @@ -6423,18 +6430,18 @@ away. *** Editing the Dired Buffer -**** `l' updates the specified files in a Dired buffer. This means +**** 'l' updates the specified files in a Dired buffer. This means reading their current status from the file system and changing the buffer to reflect it properly. If you use this command on a subdirectory header line, it updates the contents of the subdirectory. -**** `g' updates the entire contents of the Dired buffer. It preserves +**** 'g' updates the entire contents of the Dired buffer. It preserves all marks except for those on files that have vanished. Hidden subdirectories are updated but remain hidden. -**** `k' kills all marked lines (not the files). With a prefix +**** 'k' kills all marked lines (not the files). With a prefix argument, it kills that many lines starting with the current line. This command does not delete files; it just deletes text from the Dired @@ -6445,10 +6452,10 @@ are also deleted from the buffer. Typing `C-u k' on the header line for a subdirectory is another way to delete a subdirectory from the Dired buffer. -*** `find' and Dired. +*** 'find' and Dired. To search for files with names matching a wildcard pattern use -`find-name-dired'. Its arguments are DIRECTORY and +'find-name-dired'. Its arguments are DIRECTORY and PATTERN. It selects all the files in DIRECTORY or its subdirectories whose own names match PATTERN. @@ -6456,17 +6463,17 @@ The files thus selected are displayed in a Dired buffer in which the ordinary Dired commands are available. If you want to test the contents of files, rather than their names, use -`find-grep-dired'. This command takes two minibuffer arguments, +'find-grep-dired'. This command takes two minibuffer arguments, DIRECTORY and REGEXP; it selects all the files in DIRECTORY or its subdirectories that contain a match for -REGEXP. It works by running `find' and `grep'. +REGEXP. It works by running 'find' and 'grep'. -The most general command in this series is `find-dired', which lets -you specify any condition that `find' can test. It takes two -minibuffer arguments, DIRECTORY and FIND-ARGS; it runs `find' in -DIRECTORY with using FIND-ARGS as the arguments to `find' specifying +The most general command in this series is 'find-dired', which lets +you specify any condition that 'find' can test. It takes two +minibuffer arguments, DIRECTORY and FIND-ARGS; it runs 'find' in +DIRECTORY with using FIND-ARGS as the arguments to 'find' specifying which files to accept. To use this command, you need to know how to -use `find'. +use 'find'. ** New amusements and novelties. @@ -6498,14 +6505,14 @@ description of the steps required for installation. *** If you create a Lisp file named `site-start.el', Emacs loads the file whenever it starts up. -*** A new Lisp variable, `data-directory', indicates the directory +*** A new Lisp variable, 'data-directory', indicates the directory containing the DOC file, tutorial, copying agreement, and other -familiar `etc' files. The value of `data-directory' is a simple string. +familiar 'etc' files. The value of 'data-directory' is a simple string. The default should be set at build time, and the person installing Emacs should place all the data files in this directory. The `help.el' functions that look for docstrings and information files check this variable. All Emacs Lisp packages should also be coded so that they -refer to `data-directory' to find data files. +refer to 'data-directory' to find data files. *** The PURESIZE definition has been moved from config.h to its own file, puresize.h. Since almost every file of C source in the @@ -6514,7 +6521,7 @@ on puresize.h, this means that changing the value of PURESIZE causes only those two files to be recompiled. *** The makefile at the top of the Emacs source tree now supports a -`dist' target, which creates a compressed tar file suitable for +'dist' target, which creates a compressed tar file suitable for distribution, using the contents of the source tree. Object files, old file versions, executables, DOC files, and other architecture-specific or easy-to-recreate files are not included in diff --git a/etc/NEWS.20 b/etc/NEWS.20 index 2a9b0b2d259..332d6ded92a 100644 --- a/etc/NEWS.20 +++ b/etc/NEWS.20 @@ -55,11 +55,11 @@ Formerly the name had to be `.emacs'. If you use the name If both `.emacs' and `.emacs.el' exist, the latter file is the one that is used. -** shell-command, and shell-command-on-region, now return +** 'shell-command', and 'shell-command-on-region', now return the exit code of the command (unless it is asynchronous). Also, you can specify a place to put the error output, separate from the command's regular output. -Interactively, the variable shell-command-default-error-buffer +Interactively, the variable 'shell-command-default-error-buffer' says where to put error output; set it to a buffer name. In calls from Lisp, an optional argument ERROR-BUFFER specifies the buffer name. @@ -69,8 +69,8 @@ output is inserted before point in that buffer, with \f\n to separate it from the previous batch of error output. The error buffer is not cleared, so error output from successive commands accumulates there. -** Setting the default value of enable-multibyte-characters to nil in -the .emacs file, either explicitly using setq-default, or via Custom, +** Setting the default value of 'enable-multibyte-characters' to nil in +the .emacs file, either explicitly using 'setq-default', or via Custom, is now essentially equivalent to using --unibyte: all buffers created during startup will be made unibyte after loading .emacs. @@ -79,8 +79,8 @@ example, typing C-x C-f c*.c RET visits all the files whose names match c*.c. To visit a file whose name contains * or ?, add the quoting sequence /: to the beginning of the file name. -** The M-x commands keep-lines, flush-lines and count-matches -now have the same feature as occur and query-replace: +** The M-x commands 'keep-lines', 'flush-lines' and 'count-matches' +now have the same feature as 'occur' and 'query-replace': if the pattern contains any upper case letters, then they never ignore case. @@ -96,10 +96,10 @@ If you subsequently save the buffer, Emacs converts the text back to the same format that was used in the file before. You can turn off end-of-line conversion by setting the variable -`inhibit-eol-conversion' to non-nil, e.g. with Custom in the MULE group. +'inhibit-eol-conversion' to non-nil, e.g. with Custom in the MULE group. -** The character set property `prefered-coding-system' has been -renamed to `preferred-coding-system', for the sake of correct spelling. +** The character set property 'prefered-coding-system' has been +renamed to 'preferred-coding-system', for the sake of correct spelling. This is a fairly internal feature, so few programs should be affected. ** Mode-line display of end-of-line format is changed. @@ -110,22 +110,22 @@ is displayed as "(DOS)" on Unix and GNU/Linux systems. The usual end-of-line format is still displayed as a single character (colon for Unix, backslash for DOS and Windows, and forward slash for the Mac). -The values of the variables eol-mnemonic-unix, eol-mnemonic-dos, -eol-mnemonic-mac, and eol-mnemonic-undecided, which are strings, +The values of the variables 'eol-mnemonic-unix', 'eol-mnemonic-dos', +'eol-mnemonic-mac', and 'eol-mnemonic-undecided', which are strings, control what is displayed in the mode line for each end-of-line format. You can now customize these variables. -** In the previous version of Emacs, tar-mode didn't work well if a +** In the previous version of Emacs, 'tar-mode' didn't work well if a filename contained non-ASCII characters. Now this is fixed. Such a filename is decoded by file-name-coding-system if the default value of enable-multibyte-characters is non-nil. -** The command temp-buffer-resize-mode toggles a minor mode +** The command 'temp-buffer-resize-mode' toggles a minor mode in which temporary buffers (such as help buffers) are given windows just big enough to hold the whole contents. ** If you use completion.el, you must now run the function -dynamic-completion-mode to enable it. Just loading the file +'dynamic-completion-mode' to enable it. Just loading the file doesn't have any effect. ** In Flyspell mode, the default is now to make just one Ispell process, @@ -133,11 +133,11 @@ not one per buffer. ** If you use iswitchb but do not call (iswitchb-default-keybindings) to use the default keybindings, you will need to add the following line: - (add-hook 'minibuffer-setup-hook 'iswitchb-minibuffer-setup) + (add-hook 'minibuffer-setup-hook #'iswitchb-minibuffer-setup) ** Auto-show mode is no longer enabled just by loading auto-show.el. -To control it, set `auto-show-mode' via Custom or use the -`auto-show-mode' command. +To control it, set 'auto-show-mode' via Custom or use the +'auto-show-mode' command. ** Handling of X fonts' ascent/descent parameters has been changed to avoid redisplay problems. As a consequence, compared with previous @@ -183,7 +183,7 @@ current codepage when it starts. ** Mail changes *** When mail is sent using compose-mail (C-x m), and if -`mail-send-nonascii' is set to the new default value `mime', +'mail-send-nonascii' is set to the new default value 'mime', appropriate MIME headers are added. The headers are added only if non-ASCII characters are present in the body of the mail, and no other MIME headers are already present. For example, the following three @@ -194,11 +194,11 @@ latin-1: Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit -*** The new variable default-sendmail-coding-system specifies the +*** The new variable 'default-sendmail-coding-system' specifies the default way to encode outgoing mail. This has higher priority than -default-buffer-file-coding-system but has lower priority than -sendmail-coding-system and the local value of -buffer-file-coding-system. +'default-buffer-file-coding-system' but has lower priority than +'sendmail-coding-system' and the local value of +'buffer-file-coding-system'. You should not set this variable manually. Instead, set sendmail-coding-system to specify a fixed encoding for all outgoing @@ -248,11 +248,11 @@ brace. These used to be recognized as brace-list-entry's. c-electric-brace also recognizes brace-entry-open braces (brace-list-entry's can no longer be electrified). -*** New command c-indent-line-or-region, not bound by default. +*** New command 'c-indent-line-or-region', not bound by default. *** `#' is only electric when typed in the indentation of a line. -*** Parentheses are now electric (via the new command c-electric-paren) +*** Parentheses are now electric (via the new command 'c-electric-paren') for auto-reindenting lines when parens are typed. *** In "gnu" style, inline-open offset is now set to zero. @@ -273,10 +273,10 @@ Gnus manual for the full story. before. All Message buffers are now also articles in the nndraft group, which is created automatically. -*** `gnus-alter-header-function' can now be used to alter header +*** 'gnus-alter-header-function' can now be used to alter header values. -*** `gnus-summary-goto-article' now accept Message-ID's. +*** 'gnus-summary-goto-article' now accept Message-ID's. *** A new Message command for deleting text in the body of a message outside the region: `C-c C-v'. @@ -284,20 +284,20 @@ outside the region: `C-c C-v'. *** You can now post to component group in nnvirtual groups with `C-u C-c C-c'. -*** `nntp-rlogin-program' -- new variable to ease customization. +*** 'nntp-rlogin-program' -- new variable to ease customization. -*** `C-u C-c C-c' in `gnus-article-edit-mode' will now inhibit +*** `C-u C-c C-c' in 'gnus-article-edit-mode' will now inhibit re-highlighting of the article buffer. -*** New element in `gnus-boring-article-headers' -- `long-to'. +*** New element in 'gnus-boring-article-headers' -- 'long-to'. -*** `M-i' symbolic prefix command. See the section "Symbolic +*** 'M-i' symbolic prefix command. See the section "Symbolic Prefixes" in the Gnus manual for details. -*** `L' and `I' in the summary buffer now take the symbolic prefix -`a' to add the score rule to the "all.SCORE" file. +*** 'L' and 'I' in the summary buffer now take the symbolic prefix +'a' to add the score rule to the "all.SCORE" file. -*** `gnus-simplify-subject-functions' variable to allow greater +*** 'gnus-simplify-subject-functions' variable to allow greater control over simplification. *** `A T' -- new command for fetching the current thread. @@ -305,21 +305,21 @@ control over simplification. *** `/ T' -- new command for including the current thread in the limit. -*** `M-RET' is a new Message command for breaking cited text. +*** 'M-RET' is a new Message command for breaking cited text. -*** \\1-expressions are now valid in `nnmail-split-methods'. +*** \\1-expressions are now valid in 'nnmail-split-methods'. -*** The `custom-face-lookup' function has been removed. +*** The 'custom-face-lookup' function has been removed. If you used this function in your initialization files, you must -rewrite them to use `face-spec-set' instead. +rewrite them to use 'face-spec-set' instead. *** Canceling now uses the current select method. Symbolic prefix -`a' forces normal posting method. +'a' forces normal posting method. *** New command to translate M******** sm*rtq**t*s into proper text -- `W d'. -*** For easier debugging of nntp, you can set `nntp-record-commands' +*** For easier debugging of nntp, you can set 'nntp-record-commands' to a non-nil value. *** nntp now uses ~/.authinfo, a .netrc-like file, for controlling @@ -330,49 +330,49 @@ has been added. *** A history of where mails have been split is available. -*** A new article date command has been added -- `article-date-iso8601'. +*** A new article date command has been added -- 'article-date-iso8601'. *** Subjects can be simplified when threading by setting -`gnus-score-thread-simplify'. +'gnus-score-thread-simplify'. *** A new function for citing in Message has been added -- -`message-cite-original-without-signature'. +'message-cite-original-without-signature'. -*** `article-strip-all-blank-lines' -- new article command. +*** 'article-strip-all-blank-lines' -- new article command. *** A new Message command to kill to the end of the article has been added. *** A minimum adaptive score can be specified by using the -`gnus-adaptive-word-minimum' variable. +'gnus-adaptive-word-minimum' variable. *** The "lapsed date" article header can be kept continually -updated by the `gnus-start-date-timer' command. +updated by the 'gnus-start-date-timer' command. *** Web listserv archives can be read with the nnlistserv backend. *** Old dejanews archives can now be read by nnweb. -*** `gnus-posting-styles' has been re-activated. +*** 'gnus-posting-styles' has been re-activated. ** Changes to TeX and LaTeX mode -*** The new variable `tex-start-options-string' can be used to give +*** The new variable 'tex-start-options-string' can be used to give options for the TeX run. The default value causes TeX to run in nonstopmode. For an interactive TeX run set it to nil or "". -*** The command `tex-feed-input' sends input to the Tex Shell. In a +*** The command 'tex-feed-input' sends input to the Tex Shell. In a TeX buffer it is bound to the keys C-RET, C-c RET, and C-c C-m (some of these keys may not work on all systems). For instance, if you run TeX interactively and if the TeX run stops because of an error, you can continue it without leaving the TeX buffer by typing C-RET. -*** The Tex Shell Buffer is now in `compilation-shell-minor-mode'. +*** The Tex Shell Buffer is now in 'compilation-shell-minor-mode'. All error-parsing commands of the Compilation major mode are available but bound to keys that don't collide with the shell. Thus you can use the Tex Shell for command line executions like a usual shell. -*** The commands `tex-validate-region' and `tex-validate-buffer' check +*** The commands 'tex-validate-region' and 'tex-validate-buffer' check the matching of braces and $'s. The errors are listed in a *Occur* buffer and you can use C-c C-c or mouse-2 to go to a particular mismatch. @@ -380,7 +380,7 @@ mismatch. ** Changes to RefTeX mode *** The table of contents buffer can now also display labels and -file boundaries in addition to sections. Use `l', `i', and `c' keys. +file boundaries in addition to sections. Use 'l', 'i', and 'c' keys. *** Labels derived from context (the section heading) are now lowercase by default. To make the label legal in LaTeX, latin-1 @@ -388,25 +388,25 @@ characters will lose their accent. All Mule characters will be removed from the label. *** The automatic display of cross reference information can also use -a window instead of the echo area. See variable `reftex-auto-view-crossref'. +a window instead of the echo area. See variable 'reftex-auto-view-crossref'. *** kpsewhich can be used by RefTeX to find TeX and BibTeX files. See the -customization group `reftex-finding-files'. +customization group 'reftex-finding-files'. -*** The option `reftex-bibfile-ignore-list' has been renamed to -`reftex-bibfile-ignore-regexps' and indeed can be fed with regular +*** The option 'reftex-bibfile-ignore-list' has been renamed to +'reftex-bibfile-ignore-regexps' and indeed can be fed with regular expressions. *** Multiple Selection buffers are now hidden buffers. ** New/deleted modes and packages -*** The package snmp-mode.el provides major modes for editing SNMP and -SNMPv2 MIBs. It has entries on `auto-mode-alist'. +*** 'snmp-mode' provides major modes for editing SNMP and SNMPv2 MIBs. +It has entries on 'auto-mode-alist'. *** The package sql.el provides a major mode, M-x sql-mode, for editing SQL files, and M-x sql-interactive-mode for interacting with -SQL interpreters. It has an entry on `auto-mode-alist'. +SQL interpreters. It has an entry on 'auto-mode-alist'. *** ispell4.el has been deleted. It got in the way of ispell.el and this was hard to fix reliably. It has long been obsolete -- use @@ -431,7 +431,7 @@ controls whether an external program is invoked or output is written directly to a printer port. Similarly, in the previous version of Emacs, the value of ps-lpr-command did not affect PostScript printing on MS-DOS unless ps-printer-name was set to something other than a -string (eg. t or `pipe'), but now it controls whether an external +string (eg. t or 'pipe'), but now it controls whether an external program is used. (These changes were made so that configuration of printing variables would be almost identical across all platforms.) @@ -442,11 +442,11 @@ input, on those systems the data to be output is now written to a temporary file whose name is passed as the last argument to the external program. -An exception is made for `print', a standard program on Windows NT, -and `nprint', a standard program on Novell Netware. For both of these +An exception is made for 'print', a standard program on Windows NT, +and 'nprint', a standard program on Novell Netware. For both of these programs, the command line is constructed in the appropriate syntax automatically, using only the value of printer-name or ps-printer-name -as appropriate--the value of the relevant `-switches' variable is +as appropriate--the value of the relevant '-switches' variable is ignored, as both programs have no useful switches. ** The value of the variable dos-printer (cf. dos-ps-printer), if it has @@ -460,10 +460,10 @@ This includes Tetris and Snake. * Lisp changes in Emacs 20.4 -** New functions line-beginning-position and line-end-position +** New functions 'line-beginning-position' and 'line-end-position' return the position of the beginning or end of the current line. They both accept an optional argument, which has the same -meaning as the argument to beginning-of-line or end-of-line. +meaning as the argument to 'beginning-of-line' or 'end-of-line'. ** find-file and allied functions now have an optional argument WILDCARD. If this is non-nil, they do wildcard processing, @@ -478,54 +478,54 @@ It is an integer if the size fits in a Lisp integer, float otherwise. the number fits in a Lisp integer) or a cons cell containing two integers. -** The new function directory-files-and-attributes returns a list of +** The new function 'directory-files-and-attributes' returns a list of files in a directory and their attributes. It accepts the same -arguments as directory-files and has similar semantics, except that +arguments as 'directory-files' and has similar semantics, except that file names and attributes are returned. -** The new function file-attributes-lessp is a helper function for +** The new function 'file-attributes-lessp' is a helper function for sorting the list generated by directory-files-and-attributes. It accepts two arguments, each a list of a file name and its attributes. -It compares the file names of each according to string-lessp and +It compares the file names of each according to 'string-lessp' and returns the result. -** The new function file-expand-wildcards expands a wildcard-pattern +** The new function 'file-expand-wildcards' expands a wildcard-pattern to produce a list of existing files that match the pattern. ** New functions for base64 conversion: -The function base64-encode-region converts a part of the buffer -into the base64 code used in MIME. base64-decode-region +The function 'base64-encode-region' converts a part of the buffer +into the base64 code used in MIME. 'base64-decode-region' performs the opposite conversion. Line-breaking is supported optionally. -Functions base64-encode-string and base64-decode-string do a similar +Functions 'base64-encode-string' and 'base64-decode-string' do a similar job on the text in a string. They return the value as a new string. ** -The new function process-running-child-p +The new function 'process-running-child-p' will tell you if a subprocess has given control of its terminal to its own child process. -** interrupt-process and such functions have a new feature: -when the second argument is `lambda', they send a signal +** 'interrupt-process' and such functions have a new feature: +when the second argument is 'lambda', they send a signal to the running child of the subshell, if any, but if the shell itself owns its terminal, no signal is sent. -** There are new widget types `plist' and `alist' which can +** There are new widget types 'plist' and 'alist' which can be used for customizing variables whose values are plists or alists. -** easymenu.el now understands `:key-sequence' and `:style button'. +** easymenu.el now understands ':key-sequence' and `:style button'. :included is an alias for :visible. -easy-menu-add-item now understands the values returned by -easy-menu-remove-item and easy-menu-item-present-p. This can be used +'easy-menu-add-item' now understands the values returned by +'easy-menu-remove-item' and 'easy-menu-item-present-p'. This can be used to move or copy menu entries. ** Multibyte editing changes -*** The definitions of sref and char-bytes are changed. Now, sref is -an alias of aref and char-bytes always returns 1. This change is to +*** The definitions of 'sref' and 'char-bytes' are changed. Now, 'sref' is +an alias of 'aref' and 'char-bytes' always returns 1. This change is to make some Emacs Lisp code which works on 20.2 and earlier also work on the latest Emacs. Such code uses a combination of sref and char-bytes in a loop typically as below: @@ -546,50 +546,50 @@ deleting at the head or the end of the region may signal this error: This is to avoid some bytes being combined together into a character across the boundary. -*** The functions find-charset-region and find-charset-string include -`unknown' in the returned list in the following cases: +*** The functions 'find-charset-region' and 'find-charset-string' include +'unknown' in the returned list in the following cases: o The current buffer or the target string is unibyte and contains 8-bit characters. o The current buffer or the target string is multibyte and contains invalid characters. -*** The functions decode-coding-region and encode-coding-region remove +*** The functions 'decode-coding-region' and 'encode-coding-region' remove text properties of the target region. Ideally, they should correctly preserve text properties, but for the moment, it's hard. Removing text properties is better than preserving them in a less-than-correct way. -*** prefer-coding-system sets EOL conversion of default coding systems. +*** 'prefer-coding-system' sets EOL conversion of default coding systems. If the argument to prefer-coding-system specifies a certain type of end of line conversion, the default coding systems set by prefer-coding-system will specify that conversion type for end of line. -*** The new function thai-compose-string can be used to properly +*** The new function 'thai-compose-string' can be used to properly compose Thai characters in a string. -** The primitive `define-prefix-command' now takes an optional third +** The primitive 'define-prefix-command' now takes an optional third argument NAME, which should be a string. It supplies the menu name for the created keymap. Keymaps created in order to be displayed as menus should always use the third argument. -** The meanings of optional second arguments for read-char, -read-event, and read-char-exclusive are flipped. Now the second +** The meanings of optional second arguments for 'read-char', +'read-event', and 'read-char-exclusive' are flipped. Now the second arguments are INHERIT-INPUT-METHOD. These functions use the current input method (if any) if and only if INHERIT-INPUT-METHOD is non-nil. -** The new function clear-this-command-keys empties out the contents +** The new function 'clear-this-command-keys' empties out the contents of the vector that (this-command-keys) returns. This is useful in programs that read passwords, to prevent the passwords from echoing inadvertently as part of the next command in certain cases. -** The new macro `with-temp-message' displays a temporary message in -the echo area, while executing some Lisp code. Like `progn', it +** The new macro 'with-temp-message' displays a temporary message in +the echo area, while executing some Lisp code. Like 'progn', it returns the value of the last form, but it also restores the previous echo area contents. (with-temp-message MESSAGE &rest BODY) -** The function `require' now takes an optional third argument +** The function 'require' now takes an optional third argument NOERROR. If it is non-nil, then there is no error if the requested feature cannot be loaded. @@ -597,7 +597,7 @@ requested feature cannot be loaded. foreground color, background color or stipple pattern means to clear out that attribute. -** The `outer-window-id' frame property of an X frame +** The 'outer-window-id' frame property of an X frame gives the window number of the outermost X window for the frame. ** Temporary buffers made with with-output-to-temp-buffer are now @@ -605,14 +605,14 @@ read-only by default, and normally use the major mode Help mode unless you put them in some other non-Fundamental mode before the end of with-output-to-temp-buffer. -** The new functions gap-position and gap-size return information on +** The new functions 'gap-position' and 'gap-size' return information on the gap of the current buffer. -** The new functions position-bytes and byte-to-position provide a way +** The new functions 'position-bytes' and 'byte-to-position' provide a way to convert between character positions and byte positions in the current buffer. -** vc.el defines two new macros, `edit-vc-file' and `with-vc-file', to +** vc.el defines two new macros, 'edit-vc-file' and 'with-vc-file', to facilitate working with version-controlled files from Lisp programs. These macros check out a given file automatically if needed, and check it back in after any modifications have been made. @@ -694,10 +694,10 @@ C-x RET x specifies a coding system for all subsequent cutting and pasting operations. ** You can specify the printer to use for commands that do printing by -setting the variable `printer-name'. Just what a printer name looks +setting the variable 'printer-name'. Just what a printer name looks like depends on your operating system. You can specify a different printer for the PostScript printing commands by setting -`ps-printer-name'. +'ps-printer-name'. ** Emacs now supports on-the-fly spell checking by the means of a minor mode. It is called M-x flyspell-mode. You don't have to remember @@ -735,17 +735,17 @@ You can use the ENTER key to accept the current conversion. If you type TAB to display a list of alternatives, you can select one of the alternatives with Mouse-2. -The meaning of the variable `input-method-verbose-flag' is changed so -that you can set it to t, nil, `default', or `complex-only'. +The meaning of the variable 'input-method-verbose-flag' is changed so +that you can set it to t, nil, 'default', or 'complex-only'. If the value is nil, extra guidance is never given. If the value is t, extra guidance is always given. - If the value is `complex-only', extra guidance is always given only + If the value is 'complex-only', extra guidance is always given only when you are using complex input methods such as chinese-py. - If the value is `default' (this is the default), extra guidance is + If the value is 'default' (this is the default), extra guidance is given in the following case: o When you are using a complex input method. o When you are using a simple input method but not in the minibuffer. @@ -755,7 +755,7 @@ input-method-verbose-flag to nil or to complex-only is a good choice, and if you are using an input method you are not familiar with, setting it to t is helpful. -The old command select-input-method is now called set-input-method. +The old command 'select-input-method' is now called 'set-input-method'. In the language environment "Korean", you can use the following keys: @@ -787,7 +787,7 @@ Lisp variables in user-loaded libraries. ** C-x r t (string-rectangle) now deletes the existing rectangle contents before inserting the specified string on each line. -** There is a new command delete-whitespace-rectangle +** There is a new command 'delete-whitespace-rectangle' which deletes whitespace starting from a particular column in all the lines on a rectangle. The column is specified by the left edge of the rectangle. @@ -815,7 +815,7 @@ confirmation before overwriting an existing file. When you call the function from a Lisp program, a new optional argument CONFIRM says whether to ask for confirmation in this case. -** If you use find-file-literally and the file is already visited +** If you use 'find-file-literally' and the file is already visited non-literally, the command asks you whether to revisit the file literally. If you say no, it signals an error. @@ -824,22 +824,22 @@ now use the proper name for the mode hook: WHATEVER-mode-hook. Formerly they used the name WHATEVER-mode-hooks, but that is inconsistent with Emacs conventions. -** shell-command-on-region (and shell-command) reports success or +** 'shell-command-on-region' (and shell-command) reports success or failure if the command produces no output. -** Set focus-follows-mouse to nil if your window system or window +** Set 'focus-follows-mouse' to nil if your window system or window manager does not transfer focus to another window when you just move the mouse. -** mouse-menu-buffer-maxlen has been renamed to -mouse-buffer-menu-maxlen to be consistent with the other related +** 'mouse-menu-buffer-maxlen' has been renamed to +'mouse-buffer-menu-maxlen' to be consistent with the other related function and variable names. -** The new variable auto-coding-alist specifies coding systems for +** The new variable 'auto-coding-alist' specifies coding systems for reading specific files. This has higher priority than -file-coding-system-alist. +'file-coding-system-alist'. -** If you set the variable unibyte-display-via-language-environment to +** If you set the variable 'unibyte-display-via-language-environment' to t, then Emacs displays non-ASCII characters are displayed by converting them to the equivalent multibyte characters according to the current language environment. As a result, they are displayed @@ -848,7 +848,7 @@ according to the current fontset. ** C-q's handling of codes in the range 0200 through 0377 is changed. The codes in the range 0200 through 0237 are inserted as one byte of -that code regardless of the values of nonascii-translation-table and +that code regardless of the values of 'nonascii-translation-table' and nonascii-insert-offset. For the codes in the range 0240 through 0377, if @@ -869,14 +869,14 @@ command keys. ** M-x apropos-command, with a prefix argument, no longer looks for user option variables--instead it looks for noninteractive functions. -Meanwhile, the command apropos-variable normally searches for +Meanwhile, the command 'apropos-variable' normally searches for user option variables; with a prefix argument, it looks at all variables that have documentation. ** When you type a long line in the minibuffer, and the minibuffer shows just one line, automatically scrolling works in a special way that shows you overlap with the previous line of text. The variable -minibuffer-scroll-overlap controls how many characters of overlap +'minibuffer-scroll-overlap' controls how many characters of overlap it should show; the default is 20. Meanwhile, Resize Minibuffer mode is still available; in that mode, @@ -904,19 +904,19 @@ the tag around point and puts that into the default grep command. buffer positions from which M-. or other tag-finding commands were invoked. -** The new variable comment-padding specifies the number of spaces -that `comment-region' will insert before the actual text of the comment. +** The new variable 'comment-padding' specifies the number of spaces +that 'comment-region' will insert before the actual text of the comment. The default is 1. ** In Fortran mode the characters `.', `_' and `$' now have symbol -syntax, not word syntax. Fortran mode now supports `imenu' and has -new commands fortran-join-line (M-^) and fortran-narrow-to-subprogram +syntax, not word syntax. Fortran mode now supports 'imenu' and has +new commands 'fortran-join-line' (M-^) and 'fortran-narrow-to-subprogram' (C-x n d). M-q can be used to fill a statement or comment block sensibly. -** GUD now supports jdb, the Java debugger, and pdb, the Python debugger. +** GUD now supports 'jdb', the Java debugger, and 'pdb', the Python debugger. -** If you set the variable add-log-keep-changes-together to a non-nil +** If you set the variable 'add-log-keep-changes-together' to a non-nil value, the command `C-x 4 a' will automatically notice when you make two entries in one day for one file, and combine them. @@ -931,13 +931,13 @@ every night. the variable desktop-enable to t with Custom. *** Minor modes are now restored. Which minor modes are restored -and how modes are restored is controlled by `desktop-minor-mode-table'. +and how modes are restored is controlled by 'desktop-minor-mode-table'. ** There is no need to do anything special, now, to enable Gnus to read and post multi-lingual articles. ** Outline mode has now support for showing hidden outlines when -doing an isearch. In order for this to happen search-invisible should +doing an isearch. In order for this to happen 'search-invisible' should be set to open (the default). If an isearch match is inside a hidden outline the outline is made visible. If you continue pressing C-s and the match moves outside the formerly invisible outline, the outline is @@ -998,7 +998,7 @@ function for something else (10-20 lines of Lisp code). *** The Dired function dired-do-toggle, which toggles marked and unmarked files, is now bound to "t" instead of "T". -*** dired-at-point has been added to ffap.el. It allows one to easily +*** 'dired-at-point' has been added to ffap.el. It allows one to easily run Dired on the directory name at point. *** Dired has a new command: %g. It searches the contents of @@ -1007,7 +1007,7 @@ for a specified regexp. ** VC Changes -*** New option vc-ignore-vc-files lets you turn off version control +*** New option 'vc-ignore-vc-files' lets you turn off version control conveniently. *** VC Dired has been completely rewritten. It is now much @@ -1022,14 +1022,14 @@ currently locked (for CVS, all files not up-to-date are shown). You can change the listing format by setting vc-dired-recurse to nil, then it shows only the given directory, and you may also set vc-dired-terse-display to nil, then it shows all files under version -control plus the names of any subdirectories, so that you can type `i' +control plus the names of any subdirectories, so that you can type 'i' on such lines to insert them manually, as in ordinary Dired. -All Dired commands operate normally in VC Dired, except for `v', which +All Dired commands operate normally in VC Dired, except for 'v', which is redefined as the version control prefix. That means you may type -`v l', `v =' etc. to invoke `vc-print-log', `vc-diff' and the like on +`v l', `v =' etc. to invoke 'vc-print-log', 'vc-diff' and the like on the file named in the current Dired buffer line. `v v' invokes -`vc-next-action' on this file, or on all files currently marked. +'vc-next-action' on this file, or on all files currently marked. The new command `v t' (vc-dired-toggle-terse-mode) allows you to toggle between terse display (only locked files) and full display (all @@ -1044,13 +1044,13 @@ command in the minibuffer, to fine-tune VC Dired's output. file, and CVS detects conflicts, VC now offers to start an ediff session to resolve them. -Alternatively, you can use the new command `vc-resolve-conflicts' to +Alternatively, you can use the new command 'vc-resolve-conflicts' to resolve conflicts in a file at any time. It works in any buffer that contains conflict markers as generated by rcsmerge (which is what CVS uses as well). *** You can now transfer changes between branches, using the new -command vc-merge (C-x v m). It is implemented for RCS and CVS. When +command 'vc-merge' (C-x v m). It is implemented for RCS and CVS. When you invoke it in a buffer under version-control, you can specify either an entire branch or a pair of versions, and the changes on that branch or between the two versions are merged into the working file. @@ -1059,16 +1059,16 @@ using ediff. ** Changes in Font Lock -*** The face and variable previously known as font-lock-reference-face -are now called font-lock-constant-face to better reflect their typical +*** The face and variable previously known as 'font-lock-reference-face' +are now called 'font-lock-constant-face' to better reflect their typical use for highlighting constants and labels. (Its face properties are -unchanged.) The variable font-lock-reference-face remains for now for -compatibility reasons, but its value is font-lock-constant-face. +unchanged.) The variable 'font-lock-reference-face' remains for now for +compatibility reasons, but its value is 'font-lock-constant-face'. ** Frame name display changes -*** The command set-frame-name lets you set the name of the current -frame. You can use the new command select-frame-by-name to select and +*** The command 'set-frame-name' lets you set the name of the current +frame. You can use the new command 'select-frame-by-name' to select and raise a frame; this is mostly useful on character-only terminals, or when many frames are invisible or iconified. @@ -1096,11 +1096,11 @@ C-c C-a if repeated twice consecutively now moves to the process mark, which separates the pending input from the subprocess output and the previously sent input. -C-c M-r now runs comint-previous-matching-input-from-input; +C-c M-r now runs 'comint-previous-matching-input-from-input'; it searches for a previous command, using the current pending input as the search string. -*** New option compilation-scroll-output can be set to scroll +*** New option 'compilation-scroll-output' can be set to scroll automatically in compilation-mode windows. ** C mode changes @@ -1117,7 +1117,7 @@ style is still the default however. *** "java" style now conforms to Sun's JDK coding style. -*** There are new commands c-beginning-of-defun, c-end-of-defun which +*** There are new commands 'c-beginning-of-defun', 'c-end-of-defun' which are alternatives which you could bind to C-M-a and C-M-e if you prefer them. They do not have key bindings by default. @@ -1130,40 +1130,40 @@ namespace-open, namespace-close, and innamespace. *** File local variable settings of c-file-style and c-file-offsets makes the style variables local to that buffer only. -*** New indentation functions c-lineup-close-paren, -c-indent-one-line-block, c-lineup-dont-change. +*** New indentation functions 'c-lineup-close-paren', +'c-indent-one-line-block', 'c-lineup-dont-change'. *** Improvements (hopefully!) to the way CC Mode is loaded. You should now be able to do a (require 'cc-mode) to get the entire package loaded properly for customization in your .emacs file. A new -variable c-initialize-on-load controls this and is t by default. +variable 'c-initialize-on-load' controls this and is t by default. -** Changes to hippie-expand. +** Changes to 'hippie-expand'. -*** New customization variable `hippie-expand-dabbrev-skip-space'. If +*** New customization variable 'hippie-expand-dabbrev-skip-space'. If non-nil, trailing spaces may be included in the abbreviation to search for, -which then gives the same behavior as the original `dabbrev-expand'. +which then gives the same behavior as the original 'dabbrev-expand'. -*** New customization variable `hippie-expand-dabbrev-as-symbol'. If +*** New customization variable 'hippie-expand-dabbrev-as-symbol'. If non-nil, characters of syntax '_' is considered part of the word when expanding dynamically. -*** New customization variable `hippie-expand-no-restriction'. If +*** New customization variable 'hippie-expand-no-restriction'. If non-nil, narrowed buffers are widened before they are searched. -*** New customization variable `hippie-expand-only-buffers'. If +*** New customization variable 'hippie-expand-only-buffers'. If non-empty, buffers searched are restricted to the types specified in this list. Useful for example when constructing new special-purpose -expansion functions with `make-hippie-expand-function'. +expansion functions with 'make-hippie-expand-function'. *** Text properties of the expansion are no longer copied. ** Changes in BibTeX mode. *** Any titleword matching a regexp in the new variable -bibtex-autokey-titleword-ignore (case sensitive) is ignored during +'bibtex-autokey-titleword-ignore' (case sensitive) is ignored during automatic key generation. This replaces variable -bibtex-autokey-titleword-first-ignore, which only checked for matches +'bibtex-autokey-titleword-first-ignore', which only checked for matches against the first word in the title. *** Autokey generation now uses all words from the title, not just @@ -1182,9 +1182,9 @@ bibtex-autokey-name-case-convert. *** Support for character terminals is available: there is a new keymap and the vcursor will appear as an arrow between buffer text. A -variable `vcursor-interpret-input' allows input from the vcursor to be +variable 'vcursor-interpret-input' allows input from the vcursor to be entered exactly as if typed. Numerous functions, including -`vcursor-compare-windows', have been rewritten to improve consistency +'vcursor-compare-windows', have been rewritten to improve consistency in the selection of windows and corresponding keymaps. *** vcursor options can now be altered with M-x customize under the @@ -1194,7 +1194,7 @@ Editing group once the package is loaded. generally a bad side effect. Use M-x customize to set vcursor-key-bindings to t to restore the old behavior. -*** vcursor-auto-disable can be `copy', which turns off copying from the +*** vcursor-auto-disable can be 'copy', which turns off copying from the vcursor, but doesn't disable it, after any non-vcursor command. ** Ispell changes. @@ -1219,7 +1219,7 @@ include: RefTeX has been updated in order to make it more usable with very large projects (like a several volume math book). The parser has been re-written from scratch. To get maximum speed from RefTeX, check the -section `Optimizations' in the manual. +section 'Optimizations' in the manual. *** New recursive parser. @@ -1231,7 +1231,7 @@ recursive parser scans the individual files. Reparsing of changed document parts can now be made faster by enabling partial scans. To use this feature, read the documentation string of -the variable `reftex-enable-partial-scans' and set the variable to t. +the variable 'reftex-enable-partial-scans' and set the variable to t. (setq reftex-enable-partial-scans t) @@ -1250,13 +1250,13 @@ for large documents), you can reuse these buffers by setting *** References to external documents. -The LaTeX package `xr' allows to cross-reference labels in external +The LaTeX package 'xr' allows to cross-reference labels in external documents. RefTeX can provide information about the external documents as well. To use this feature, set up the \externaldocument -macros required by the `xr' package and rescan the document with -RefTeX. The external labels can then be accessed with the `x' key in -the selection buffer provided by `reftex-reference' (bound to `C-c )'). -The `x' key also works in the table of contents buffer. +macros required by the 'xr' package and rescan the document with +RefTeX. The external labels can then be accessed with the 'x' key in +the selection buffer provided by 'reftex-reference' (bound to `C-c )'). +The 'x' key also works in the table of contents buffer. *** Many more labeled LaTeX environments are recognized by default. @@ -1269,13 +1269,13 @@ the enumeration of sections in the *toc* buffer accordingly. *** Mouse support for selection and *toc* buffers The mouse can now be used to select items in the selection and *toc* -buffers. See also the new option `reftex-highlight-selection'. +buffers. See also the new option 'reftex-highlight-selection'. *** New keymaps for selection and table of contents modes. The selection processes for labels and citation keys, and the table of -contents buffer now have their own keymaps: `reftex-select-label-map', -`reftex-select-bib-map', `reftex-toc-map'. The selection processes +contents buffer now have their own keymaps: 'reftex-select-label-map', +'reftex-select-bib-map', 'reftex-toc-map'. The selection processes have a number of new keys predefined. In particular, TAB lets you enter a label with completion. Check the on-the-fly help (press `?' at the selection prompt) or read the Info documentation to find out @@ -1283,18 +1283,18 @@ more. *** Support for the varioref package -The `v' key in the label selection buffer toggles \ref versus \vref. +The 'v' key in the label selection buffer toggles \ref versus \vref. *** New hooks Three new hooks can be used to redefine the way labels, references, and citations are created. These hooks are -`reftex-format-label-function', `reftex-format-ref-function', -`reftex-format-cite-function'. +'reftex-format-label-function', 'reftex-format-ref-function', +'reftex-format-cite-function'. *** Citations outside LaTeX -The command `reftex-citation' may also be used outside LaTeX (e.g. in +The command 'reftex-citation' may also be used outside LaTeX (e.g. in a mail buffer). See the Info documentation for details. *** Short context is no longer fontified. @@ -1305,7 +1305,7 @@ fontified, use (setq reftex-refontify-context t) -** file-cache-minibuffer-complete now accepts a prefix argument. +** 'file-cache-minibuffer-complete' now accepts a prefix argument. With a prefix argument, it does not try to do completion of the file name within its directory; it only checks for other directories that contain the same file name. @@ -1339,50 +1339,50 @@ uses it for keeping notes about his postal Chess games, but it should be helpful for other two-player games as well, as long as they have an established system of notation similar to Chess. -*** The new minor mode checkdoc-minor-mode provides Emacs Lisp +*** The new minor mode 'checkdoc-minor-mode' provides Emacs Lisp documentation string checking for style and spelling. The style guidelines are found in the Emacs Lisp programming manual. *** The net-utils package makes some common networking features available in Emacs. Some of these functions are wrappers around -system utilities (ping, nslookup, etc.); others are implementations of -simple protocols (finger, whois) in Emacs Lisp. There are also +system utilities ('ping', 'nslookup', etc.); others are implementations of +simple protocols ('finger', 'whois') in Emacs Lisp. There are also functions to make simple connections to TCP/IP ports for debugging and the like. -*** highlight-changes-mode is a minor mode that uses colors to +*** 'highlight-changes-mode' is a minor mode that uses colors to identify recently changed parts of the buffer text. -*** The new package `midnight' lets you specify things to be done +*** The new package 'midnight' lets you specify things to be done within Emacs at midnight--by default, kill buffers that you have not used in a considerable time. To use this feature, customize -the user option `midnight-mode' to t. +the user option 'midnight-mode' to t. *** The file generic-x.el defines a number of simple major modes. - apache-generic-mode: For Apache and NCSA httpd configuration files - samba-generic-mode: Samba configuration files - fvwm-generic-mode: For fvwm initialization files - x-resource-generic-mode: For X resource files - hosts-generic-mode: For hosts files (.rhosts, /etc/hosts, etc.) - mailagent-rules-generic-mode: For mailagent .rules files - javascript-generic-mode: For JavaScript files - vrml-generic-mode: For VRML files - java-manifest-generic-mode: For Java MANIFEST files - java-properties-generic-mode: For Java property files - mailrc-generic-mode: For .mailrc files + 'apache-generic-mode': For Apache and NCSA httpd configuration files + 'samba-generic-mode': Samba configuration files + 'fvwm-generic-mode': For fvwm initialization files + 'x-resource-generic-mode': For X resource files + 'hosts-generic-mode': For hosts files (.rhosts, /etc/hosts, etc.) + 'mailagent-rules-generic-mode': For mailagent .rules files + 'javascript-generic-mode': For JavaScript files + 'vrml-generic-mode': For VRML files + 'java-manifest-generic-mode': For Java MANIFEST files + 'java-properties-generic-mode': For Java property files + 'mailrc-generic-mode': For .mailrc files Platform-specific modes: - prototype-generic-mode: For Solaris/Sys V prototype files - pkginfo-generic-mode: For Solaris/Sys V pkginfo files - alias-generic-mode: For C shell alias files - inf-generic-mode: For MS-Windows INF files - ini-generic-mode: For MS-Windows INI files - reg-generic-mode: For MS-Windows Registry files - bat-generic-mode: For MS-Windows BAT scripts - rc-generic-mode: For MS-Windows Resource files - rul-generic-mode: For InstallShield scripts + 'prototype-generic-mode': For Solaris/Sys V prototype files + 'pkginfo-generic-mode': For Solaris/Sys V pkginfo files + 'alias-generic-mode': For C shell alias files + 'inf-generic-mode': For MS-Windows INF files + 'ini-generic-mode': For MS-Windows INI files + 'reg-generic-mode': For MS-Windows Registry files + 'bat-generic-mode': For MS-Windows BAT scripts + 'rc-generic-mode': For MS-Windows Resource files + 'rul-generic-mode': For InstallShield scripts * Lisp changes in Emacs 20.3 since the Emacs Lisp Manual was published @@ -1396,22 +1396,22 @@ Thus, each lisp file is read in a consistent way regardless of whether you started Emacs with --unibyte, so that a Lisp program gives consistent results regardless of how Emacs was started. -** The new function assoc-default is useful for searching an alist, +** The new function 'assoc-default' is useful for searching an alist, and using a default value if the key is not found there. You can specify a comparison predicate, so this function is useful for searching comparing a string against an alist of regular expressions. -** The functions unibyte-char-to-multibyte and -multibyte-char-to-unibyte convert between unibyte and multibyte +** The functions 'unibyte-char-to-multibyte' and +'multibyte-char-to-unibyte' convert between unibyte and multibyte character codes, in a way that is appropriate for the current language environment. -** The functions read-event, read-char and read-char-exclusive now +** The functions 'read-event', 'read-char' and 'read-char-exclusive' now take two optional arguments. PROMPT, if non-nil, specifies a prompt string. SUPPRESS-INPUT-METHOD, if non-nil, says to disable the current input method for reading this one event. -** Two new variables print-escape-nonascii and print-escape-multibyte +** Two new variables 'print-escape-nonascii' and 'print-escape-multibyte' now control whether to output certain characters as backslash-sequences. print-escape-nonascii applies to single-byte non-ASCII characters; print-escape-multibyte applies to multibyte @@ -1433,7 +1433,7 @@ considered obsolete. The function char-boundary-p has been deleted. See below for additional changes relating to multibyte characters. -** defcustom, defface and defgroup now accept the keyword `:version'. +** 'defcustom', 'defface' and 'defgroup' now accept the keyword ':version'. Use this to specify in which version of Emacs a certain variable's default value changed. For example, @@ -1446,9 +1446,9 @@ default value changed. For example, :version "20.3") If an entire new group is added or the variables in it have the -default values changed, then just add a `:version' to that group. It +default values changed, then just add a ':version' to that group. It is recommended that new packages added to the distribution contain a -`:version' in the top level group. +':version' in the top level group. This information is used to control the customize-changed-options command. @@ -1489,25 +1489,25 @@ clear that this would be very useful; windows tend to come and go in a very transitory fashion, so that trying to produce any specific effect through a window-local binding would not be very robust. -** `sregexq' and `sregex' are two new functions for constructing +** 'sregexq' and 'sregex' are two new functions for constructing "symbolic regular expressions." These are Lisp expressions that, when evaluated, yield conventional string-based regexps. The symbolic form makes it easier to construct, read, and maintain complex patterns. See the documentation in sregex.el. -** parse-partial-sexp's return value has an additional element which +** 'parse-partial-sexp's return value has an additional element which is used to pass information along if you pass it to another call to parse-partial-sexp, starting its scan where the first call ended. The contents of this field are not yet finalized. -** eval-region now accepts a fourth optional argument READ-FUNCTION. -If it is non-nil, that function is used instead of `read'. +** 'eval-region' now accepts a fourth optional argument READ-FUNCTION. +If it is non-nil, that function is used instead of 'read'. -** unload-feature by default removes the feature's functions from +** 'unload-feature' by default removes the feature's functions from known hooks to avoid trouble, but a package providing FEATURE can define a hook FEATURE-unload-hook to be run by unload-feature instead. -** read-from-minibuffer no longer returns the argument DEFAULT-VALUE +** 'read-from-minibuffer' no longer returns the argument DEFAULT-VALUE when the user enters empty input. It now returns the null string, as it did in Emacs 19. The default value is made available in the history via M-n, but it is not applied here as a default. @@ -1516,66 +1516,66 @@ The other, more specialized minibuffer-reading functions continue to return the default value (not the null string) when the user enters empty input. -** The new variable read-buffer-function controls which routine to use +** The new variable 'read-buffer-function' controls which routine to use for selecting buffers. For example, if you set this variable to -`iswitchb-read-buffer', iswitchb will be used to read buffer names. +'iswitchb-read-buffer', iswitchb will be used to read buffer names. Other functions can also be used if they accept the same arguments as -`read-buffer' and return the selected buffer name as a string. +'read-buffer' and return the selected buffer name as a string. -** The new function read-passwd reads a password from the terminal, +** The new function 'read-passwd' reads a password from the terminal, echoing a period for each character typed. It takes three arguments: a prompt string, a flag which says "read it twice to make sure", and a default password to use if the user enters nothing. -** The variable fill-nobreak-predicate gives major modes a way to +** The variable 'fill-nobreak-predicate' gives major modes a way to specify not to break a line at certain places. Its value is a function which is called with no arguments, with point located at the place where a break is being considered. If the function returns non-nil, then the line won't be broken there. -** window-end now takes an optional second argument, UPDATE. +** 'window-end' now takes an optional second argument, UPDATE. If this is non-nil, then the function always returns an accurate up-to-date value for the buffer position corresponding to the end of the window, even if this requires computation. -** other-buffer now takes an optional argument FRAME +** 'other-buffer' now takes an optional argument FRAME which specifies which frame's buffer list to use. If it is nil, that means use the selected frame's buffer list. -** The new variable buffer-display-time, always local in every buffer, +** The new variable 'buffer-display-time', always local in every buffer, holds the value of (current-time) as of the last time that a window was directed to display this buffer. ** It is now meaningful to compare two window-configuration objects -with `equal'. Two window-configuration objects are equal if they +with 'equal'. Two 'window-configuration' objects are equal if they describe equivalent arrangements of windows, in the same frame--in other words, if they would give the same results if passed to -set-window-configuration. +'set-window-configuration'. -** compare-window-configurations is a new function that compares two +** 'compare-window-configurations' is a new function that compares two window configurations loosely. It ignores differences in saved buffer positions and scrolling, and considers only the structure and sizes of windows and the choice of buffers to display. -** The variable minor-mode-overriding-map-alist allows major modes to +** The variable 'minor-mode-overriding-map-alist' allows major modes to override the key bindings of a minor mode. The elements of this alist -look like the elements of minor-mode-map-alist: (VARIABLE . KEYMAP). +look like the elements of 'minor-mode-map-alist': (VARIABLE . KEYMAP). If the VARIABLE in an element of minor-mode-overriding-map-alist has a non-nil value, the paired KEYMAP is active, and totally overrides the map (if any) specified for the same variable in minor-mode-map-alist. -minor-mode-overriding-map-alist is automatically local in all buffers, +'minor-mode-overriding-map-alist' is automatically local in all buffers, and it is meant to be set by major modes. -** The function match-string-no-properties is like match-string +** The function 'match-string-no-properties' is like 'match-string' except that it discards all text properties from the result. -** The function load-average now accepts an optional argument +** The function 'load-average' now accepts an optional argument USE-FLOATS. If it is non-nil, the load average values are returned as floating point numbers, rather than as integers to be divided by 100. -** The new variable temporary-file-directory specifies the directory +** The new variable 'temporary-file-directory' specifies the directory to use for creating temporary files. The default value is determined in a reasonable way for your operating system; on GNU and Unix systems it is based on the TMP and TMPDIR environment variables. @@ -1586,7 +1586,7 @@ it is based on the TMP and TMPDIR environment variables. keywords :visible and :filter. The existing keyword :keys is now better supported. -The variable `easy-menu-precalculate-equivalent-keybindings' controls +The variable 'easy-menu-precalculate-equivalent-keybindings' controls a new feature which calculates keyboard equivalents for the menu when you define the menu. The default is t. If you rarely use menus, you can set the variable to nil to disable this precalculation feature; @@ -1597,7 +1597,7 @@ then the calculation is done only if you use the menu bar. In a keymap, a key binding that has the format (STRING . REAL-BINDING) or (STRING HELP-STRING . REAL-BINDING) defines a menu item. Now a menu item definition may also be a list that -starts with the symbol `menu-item'. +starts with the symbol 'menu-item'. The format is: (menu-item ITEM-NAME) or @@ -1617,7 +1617,7 @@ The supported properties include :keys DESCRIPTION DESCRIPTION is a string that describes an equivalent keyboard binding for REAL-BINDING. DESCRIPTION is expanded with - `substitute-command-keys' before it is used. + 'substitute-command-keys' before it is used. :key-sequence KEY-SEQUENCE KEY-SEQUENCE is a key-sequence for an equivalent keyboard binding. @@ -1637,7 +1637,7 @@ Eventually ordinary X-buttons may be supported. ** New event types -*** The new event type `mouse-wheel' is generated by a wheel on a +*** The new event type 'mouse-wheel' is generated by a wheel on a mouse (such as the MS Intellimouse). The event contains a delta that corresponds to the amount and direction that the wheel is rotated, which is typically used to implement a scroll or zoom. The format is: @@ -1653,7 +1653,7 @@ forward, away from the user. As of now, this event type is generated only on MS Windows. -*** The new event type `drag-n-drop' is generated when a group of +*** The new event type 'drag-n-drop' is generated when a group of files is selected in an application outside of Emacs, and then dragged and dropped onto an Emacs frame. The event contains a list of filenames that were dragged and dropped, which are then typically @@ -1669,9 +1669,9 @@ As of now, this event type is generated only on MS Windows. ** Changes relating to multibyte characters. -*** The variable enable-multibyte-characters is now read-only; +*** The variable 'enable-multibyte-characters' is now read-only; any attempt to set it directly signals an error. The only way -to change this value in an existing buffer is with set-buffer-multibyte. +to change this value in an existing buffer is with 'set-buffer-multibyte'. *** In a string constant, `\ ' now stands for "nothing at all". You can use it to terminate a hex escape which is followed by a character @@ -1681,9 +1681,9 @@ that could otherwise be read as part of the hex escape. in Emacs 19 and before. The function chars-in-string has been deleted. -The function concat-chars has been renamed to `string'. +The function concat-chars has been renamed to 'string'. -*** The function set-buffer-multibyte sets the flag in the current +*** The function 'set-buffer-multibyte' sets the flag in the current buffer that says whether the buffer uses multibyte representation or unibyte representation. If the argument is nil, it selects unibyte representation. Otherwise it selects multibyte representation. @@ -1694,12 +1694,12 @@ viewed as characters; a sequence of two bytes which is treated as one character when the buffer uses multibyte representation will count as two characters using unibyte representation. -This function sets enable-multibyte-characters to record which +This function sets 'enable-multibyte-characters' to record which representation is in use. It also adjusts various data in the buffer (including its markers, overlays and text properties) so that they are consistent with the new representation. -*** string-make-multibyte takes a string and converts it to multibyte +*** 'string-make-multibyte' takes a string and converts it to multibyte representation. Most of the time, you don't need to care about the representation, because Emacs converts when necessary; however, it makes a difference when you compare strings. @@ -1708,7 +1708,7 @@ The conversion of non-ASCII characters works by adding the value of nonascii-insert-offset to each character, or by translating them using the table nonascii-translation-table. -*** string-make-unibyte takes a string and converts it to unibyte +*** 'string-make-unibyte' takes a string and converts it to unibyte representation. Most of the time, you don't need to care about the representation, but it makes a difference when you compare strings. @@ -1716,18 +1716,18 @@ The conversion from multibyte to unibyte representation loses information; the only time Emacs performs it automatically is when inserting a multibyte string into a unibyte buffer. -*** string-as-multibyte takes a string, and returns another string +*** 'string-as-multibyte' takes a string, and returns another string which contains the same bytes, but treats them as multibyte. -*** string-as-unibyte takes a string, and returns another string +*** 'string-as-unibyte' takes a string, and returns another string which contains the same bytes, but treats them as unibyte. -*** The new function compare-strings lets you compare +*** The new function 'compare-strings' lets you compare portions of two strings. Unibyte strings are converted to multibyte, so that a unibyte string can match a multibyte string. You can specify whether to ignore case or not. -*** assoc-ignore-case now uses compare-strings so that +*** 'assoc-ignore-case' now uses compare-strings so that it can treat unibyte and multibyte strings as equal. *** Regular expression operations and buffer string searches now @@ -1745,21 +1745,21 @@ expression [^\0-\177] works for it. *** Structure of coding system changed. All coding systems (including aliases and subsidiaries) are named -by symbols; the symbol's `coding-system' property is a vector +by symbols; the symbol's 'coding-system' property is a vector which defines the coding system. Aliases share the same vector as the principal name, so that altering the contents of this vector affects the principal name and its aliases. You can define your own alias name of a coding system by the function -define-coding-system-alias. +'define-coding-system-alias'. The coding system definition includes a property list of its own. Use -the new functions `coding-system-get' and `coding-system-put' to -access such coding system properties as post-read-conversion, -pre-write-conversion, character-translation-table-for-decode, -character-translation-table-for-encode, mime-charset, and -safe-charsets. For instance, (coding-system-get 'iso-latin-1 +the new functions 'coding-system-get' and 'coding-system-put' to +access such coding system properties as 'post-read-conversion', +'pre-write-conversion', 'character-translation-table-for-decode', +'character-translation-table-for-encode', 'mime-charset', and +'safe-charsets'. For instance, (coding-system-get 'iso-latin-1 'mime-charset) gives the corresponding MIME-charset parameter -`iso-8859-1'. +'iso-8859-1'. Among the coding system properties listed above, safe-charsets is new. The value of this property is a list of character sets which this @@ -1771,54 +1771,54 @@ also be handled safely by systems other than Emacs as far as they are capable of that coding system. Though, Emacs itself can encode the other character sets and read it back correctly. -*** The new function select-safe-coding-system can be used to find a +*** The new function 'select-safe-coding-system' can be used to find a proper coding system for encoding the specified region or string. This function requires a user interaction. -*** The new functions find-coding-systems-region and -find-coding-systems-string are helper functions used by -select-safe-coding-system. They return a list of all proper coding +*** The new functions 'find-coding-systems-region' and +'find-coding-systems-string' are helper functions used by +'select-safe-coding-system'. They return a list of all proper coding systems to encode a text in some region or string. If you don't want a user interaction, use one of these functions instead of -select-safe-coding-system. +'select-safe-coding-system'. *** The explicit encoding and decoding functions, such as -decode-coding-region and encode-coding-string, now set -last-coding-system-used to reflect the actual way encoding or decoding +'decode-coding-region' and 'encode-coding-string', now set +'last-coding-system-used' to reflect the actual way encoding or decoding was done. -*** The new function detect-coding-with-language-environment can be +*** The new function 'detect-coding-with-language-environment' can be used to detect a coding system of text according to priorities of coding systems used by some specific language environment. -*** The functions detect-coding-region and detect-coding-string always +*** The functions 'detect-coding-region' and 'detect-coding-string' always return a list if the arg HIGHEST is nil. Thus, if only ASCII characters are found, they now return a list of single element -`undecided' or its subsidiaries. +'undecided' or its subsidiaries. -*** The new functions coding-system-change-eol-conversion and -coding-system-change-text-conversion can be used to get a different +*** The new functions 'coding-system-change-eol-conversion' and +'coding-system-change-text-conversion' can be used to get a different coding system than what specified only in how end-of-line or text is converted. -*** The new function set-selection-coding-system can be used to set a +*** The new function 'set-selection-coding-system' can be used to set a coding system for communicating with other X clients. -*** The function `map-char-table' now passes as argument only valid +*** The function 'map-char-table' now passes as argument only valid character codes, plus generic characters that stand for entire character sets or entire subrows of a character set. In other words, -each time `map-char-table' calls its FUNCTION argument, the key value +each time 'map-char-table' calls its FUNCTION argument, the key value either will be a valid individual character code, or will stand for a range of characters. -*** The new function `char-valid-p' can be used for checking whether a +*** The new function 'char-valid-p' can be used for checking whether a Lisp object is a valid character code or not. -*** The new function `charset-after' returns a charset of a character +*** The new function 'charset-after' returns a charset of a character in the current buffer at position POS. *** Input methods are now implemented using the variable -input-method-function. If this is non-nil, its value should be a +'input-method-function'. If this is non-nil, its value should be a function; then, whenever Emacs reads an input event that is a printing character with no modifier bits, it calls that function, passing the event as an argument. Often this function will read more input, first @@ -1834,10 +1834,10 @@ The input method function is not called when reading the second and subsequent events of a key sequence. *** You can customize any language environment by using -set-language-environment-hook and exit-language-environment-hook. +'set-language-environment-hook' and 'exit-language-environment-hook'. -The hook `exit-language-environment-hook' should be used to undo -customizations that you made with set-language-environment-hook. For +The hook 'exit-language-environment-hook' should be used to undo +customizations that you made with 'set-language-environment-hook'. For instance, if you set up a special key binding for a specific language environment by set-language-environment-hook, you should set up exit-language-environment-hook to restore the normal key binding. @@ -1859,9 +1859,9 @@ session or permanently. (Permanent settings are stored automatically in your .emacs file.) ** Scroll bars are now on the left side of the window. -You can change this with M-x customize-option scroll-bar-mode. +You can change this with M-x customize-option 'scroll-bar-mode'. -** The mode line no longer includes the string `Emacs'. +** The mode line no longer includes the string 'Emacs'. This makes more space in the mode line for other information. ** When you select a region with the mouse, it is highlighted @@ -1873,7 +1873,7 @@ delete the character before point, as usual. ** In an incremental search the whole current match is highlighted on terminals which support this. (You can disable this feature -by setting search-highlight to nil.) +by setting 'search-highlight' to nil.) ** In the minibuffer, in some cases, you can now use M-n to insert the default value into the minibuffer as text. In effect, @@ -1885,7 +1885,7 @@ past.) ** In Text mode, now only blank lines separate paragraphs. This makes it possible to get the full benefit of Adaptive Fill mode in Text mode, and other modes derived from it (such as Mail mode). -TAB in Text mode now runs the command indent-relative; this +TAB in Text mode now runs the command 'indent-relative'; this makes a practical difference only when you use indented paragraphs. As a result, the old Indented Text mode is now identical to Text mode, @@ -1897,18 +1897,18 @@ use the new mode, Paragraph Indent Text mode. ** Scrolling changes *** Scroll commands to scroll a whole screen now preserve the screen -position of the cursor, if scroll-preserve-screen-position is non-nil. +position of the cursor, if 'scroll-preserve-screen-position' is non-nil. In this mode, if you scroll several screens back and forth, finishing on the same screen where you started, the cursor goes back to the line where it started. -*** If you set scroll-conservatively to a small number, then when you +*** If you set 'scroll-conservatively' to a small number, then when you move point a short distance off the screen, Emacs will scroll the screen just far enough to bring point back on screen, provided that -does not exceed `scroll-conservatively' lines. +does not exceed 'scroll-conservatively' lines. -*** The new variable scroll-margin says how close point can come to the +*** The new variable 'scroll-margin' says how close point can come to the top or bottom of a window. It is a number of screen lines; if point comes within that many lines of the top or bottom of the window, Emacs recenters the window. @@ -2005,7 +2005,7 @@ sequences already in the buffer, byte by byte. This is probably not what you want. If you want to edit a file of unibyte characters (Latin-1, for -example), you can do it by specifying `no-conversion' as the coding +example), you can do it by specifying 'no-conversion' as the coding system when reading the file. This coding system also turns off multibyte characters in that buffer. @@ -2038,18 +2038,18 @@ characters). Emacs does not use any fontset by default. Its default font is still chosen as in previous versions. You can tell Emacs to use a fontset -with the `-fn' option or the `Font' X resource. +with the '-fn' option or the 'Font' X resource. Emacs creates a standard fontset automatically according to the value -of standard-fontset-spec. This fontset's short name is -`fontset-standard'. Bold, italic, and bold-italic variants of the +of 'standard-fontset-spec'. This fontset's short name is +'fontset-standard'. Bold, italic, and bold-italic variants of the standard fontset are created automatically. -If you specify a default ASCII font with the `Font' resource or `-fn' +If you specify a default ASCII font with the 'Font' resource or '-fn' argument, a fontset is generated from it. This works by replacing the FOUNDRY, FAMILY, ADD_STYLE, and AVERAGE_WIDTH fields of the font name with `*' then using this to specify a fontset. This fontset's short -name is `fontset-startup'. +name is 'fontset-startup'. Emacs checks resources of the form Fontset-N where N is 0, 1, 2... The resource value should have this form: @@ -2081,7 +2081,7 @@ Here is the substitution rule: (This is to prevent use of auto-scaled fonts.) The function which processes the fontset resource value to create the -fontset is called create-fontset-from-fontset-spec. You can also call +fontset is called 'create-fontset-from-fontset-spec'. You can also call that function explicitly to create a fontset. With the X resource Emacs.Font, you can specify a fontset name just @@ -2127,7 +2127,7 @@ If the immediately following command does not use the coding system, then C-x RET c ultimately has no effect. For example, C-x RET c iso-8859-1 RET C-x C-f temp RET -visits the file `temp' treating it as ISO Latin-1. +visits the file 'temp' treating it as ISO Latin-1. *** You can specify the coding system for a file using the -*- construct. Include `coding: CODINGSYSTEM;' inside the -*-...-*- @@ -2169,7 +2169,7 @@ in the corresponding buffer. By default, process input and output are not translated at all. -*** The variable file-name-coding-system specifies the coding system +*** The variable 'file-name-coding-system' specifies the coding system to use for encoding file names before operating on them. It is also used for decoding file names obtained from the system. @@ -2203,7 +2203,7 @@ the coding system used in the visited file. It normally follows the first dash. A dash indicates the default state of affairs: no code conversion -(except CRLF => newline if appropriate). `=' means no conversion +(except CRLF => newline if appropriate). '=' means no conversion whatsoever. The ISO 8859 coding systems are represented by digits 1 through 9. Other coding systems are represented by letters: @@ -2232,7 +2232,7 @@ two additional characters appear in between the dash and the file coding system. These two characters describe the coding system for keyboard input, and the coding system for terminal output. -*** The new variable rmail-file-coding-system specifies the code +*** The new variable 'rmail-file-coding-system' specifies the code conversion to use for RMAIL files. The default value is nil. When you read mail with Rmail, each message is decoded automatically @@ -2240,7 +2240,7 @@ into Emacs' internal format. This has nothing to do with rmail-file-coding-system. That variable controls reading and writing Rmail files themselves. -*** The new variable sendmail-coding-system specifies the code +*** The new variable 'sendmail-coding-system' specifies the code conversion for outgoing mail. The default value is nil. Actually, there are three different ways of specifying the coding system @@ -2259,7 +2259,7 @@ translations. ** An easy new way to visit a file with no code or format conversion of any kind: Use M-x find-file-literally. There is also a command -insert-file-literally which inserts a file into the current buffer +'insert-file-literally' which inserts a file into the current buffer without any conversion. ** C-q's handling of octal character codes is changed. @@ -2277,7 +2277,7 @@ Precisely which Info files are used to look it up depends on the major mode. For example, in C mode, the GNU libc manual is used. ** M-TAB in most programming language modes now runs the command -complete-symbol. This command performs completion on the symbol name +'complete-symbol'. This command performs completion on the symbol name in the buffer before point. With a numeric argument, it performs completion based on the set of @@ -2310,19 +2310,19 @@ tell Emacs to go ahead anyway. ** If you wish to use Show Paren mode to display matching parentheses, it is no longer sufficient to load paren.el. Instead you must call -show-paren-mode. +'show-paren-mode'. ** If you wish to use Delete Selection mode to replace a highlighted selection when you insert new text, it is no longer sufficient to load -delsel.el. Instead you must call the function delete-selection-mode. +delsel.el. Instead you must call the function 'delete-selection-mode'. ** If you wish to use Partial Completion mode to complete partial words within symbols or filenames, it is no longer sufficient to load -complete.el. Instead you must call the function partial-completion-mode. +complete.el. Instead you must call the function 'partial-completion-mode'. ** If you wish to use uniquify to rename buffers for you, it is no longer sufficient to load uniquify.el. You must also -set uniquify-buffer-name-style to one of the non-nil legitimate values. +set 'uniquify-buffer-name-style' to one of the non-nil legitimate values. ** Changes in View mode. @@ -2330,23 +2330,23 @@ set uniquify-buffer-name-style to one of the non-nil legitimate values. Do H in view mode for a list of commands. *** There are two new commands for entering View mode: -view-file-other-frame and view-buffer-other-frame. +'view-file-other-frame' and 'view-buffer-other-frame'. *** Exiting View mode does a better job of restoring windows to their previous state. -*** New customization variable view-scroll-auto-exit. If non-nil, +*** New customization variable 'view-scroll-auto-exit'. If non-nil, scrolling past end of buffer makes view mode exit. -*** New customization variable view-exits-all-viewing-windows. If +*** New customization variable 'view-exits-all-viewing-windows'. If non-nil, view-mode will at exit restore all windows viewing buffer, not just the selected window. -*** New customization variable view-read-only. If non-nil, visiting a -read-only file automatically enters View mode, and toggle-read-only +*** New customization variable 'view-read-only'. If non-nil, visiting a +read-only file automatically enters View mode, and 'toggle-read-only' turns View mode on or off. -*** New customization variable view-remove-frame-by-deleting controls +*** New customization variable 'view-remove-frame-by-deleting' controls how to remove a not needed frame at view mode exit. If non-nil, delete the frame, if nil make an icon of it. @@ -2363,10 +2363,10 @@ blocks if a match is inside the block. The block is hidden again if the search is continued and the next match is outside the block. By customizing the variable -isearch-hide-immediately you can choose to hide all the temporarily +'isearch-hide-immediately' you can choose to hide all the temporarily shown blocks only when exiting from incremental search. -By customizing the variable hs-isearch-open you can choose what kind +By customizing the variable 'hs-isearch-open' you can choose what kind of blocks to temporarily show during isearch: comment blocks, code blocks, all of them or none. @@ -2384,7 +2384,7 @@ However, the mode will not be changed if This applies to M-x set-visited-file-name as well. -However, if you set change-major-mode-with-file-name to nil, then +However, if you set 'change-major-mode-with-file-name' to nil, then these commands do not change the major mode. ** M-x occur changes. @@ -2440,30 +2440,30 @@ The expansion is also copied verbatim if the abbreviation itself has mixed case. And using SPC M-/ to copy an additional word always copies it verbatim except when the previous copied word is all caps. -*** The values of `dabbrev-case-replace' and `dabbrev-case-fold-search' +*** The values of 'dabbrev-case-replace' and 'dabbrev-case-fold-search' are no longer Lisp expressions. They have simply three possible values. -`dabbrev-case-replace' has these three values: nil (don't preserve -case), t (do), or `case-replace' (do like M-x query-replace). -`dabbrev-case-fold-search' has these three values: nil (don't ignore -case), t (do), or `case-fold-search' (do like search). +'dabbrev-case-replace' has these three values: nil (don't preserve +case), t (do), or 'case-replace' (do like M-x query-replace). +'dabbrev-case-fold-search' has these three values: nil (don't ignore +case), t (do), or 'case-fold-search' (do like search). ** Minibuffer history lists are truncated automatically now to a -certain length. The variable history-length specifies how long they +certain length. The variable 'history-length' specifies how long they can be. The default value is 30. ** Changes in Mail mode. -*** The key C-x m no longer runs the `mail' command directly. -Instead, it runs the command `compose-mail', which invokes the mail +*** The key C-x m no longer runs the 'mail' command directly. +Instead, it runs the command 'compose-mail', which invokes the mail composition mechanism you have selected with the variable -`mail-user-agent'. The default choice of user agent is -`sendmail-user-agent', which gives behavior compatible with the old +'mail-user-agent'. The default choice of user agent is +'sendmail-user-agent', which gives behavior compatible with the old behavior. -C-x 4 m now runs compose-mail-other-window, and C-x 5 m runs -compose-mail-other-frame. +C-x 4 m now runs 'compose-mail-other-window', and C-x 5 m runs +'compose-mail-other-frame'. *** While composing a reply to a mail message, from Rmail, you can use the command C-c C-r to cite just the region from the message you are @@ -2480,23 +2480,23 @@ need to expand mail aliases yourself before sending mail. *** New features in the mail-complete command. -**** The mail-complete command now inserts the user's full name, -for local users or if that is known. The variable mail-complete-style +**** The 'mail-complete' command now inserts the user's full name, +for local users or if that is known. The variable 'mail-complete-style' controls the style to use, and whether to do this at all. -Its values are like those of mail-from-style. +Its values are like those of 'mail-from-style'. -**** The variable mail-passwd-command lets you specify a shell command +**** The variable 'mail-passwd-command' lets you specify a shell command to run to fetch a set of password-entries that add to the ones in /etc/passwd. -**** The variable mail-passwd-file now specifies a list of files to read +**** The variable 'mail-passwd-file' now specifies a list of files to read to get the list of user ids. By default, one file is used: /etc/passwd. ** You can "quote" a file name to inhibit special significance of special syntax, by adding `/:' to the beginning. Thus, if you have a directory named `/foo:', you can prevent it from being treated as a -reference to a remote host named `foo' by writing it as `/:/foo:'. +reference to a remote host named 'foo' by writing it as `/:/foo:'. Emacs uses this new construct automatically when necessary, such as when you start it with a working directory whose name might otherwise @@ -2560,7 +2560,7 @@ for output. Gnus. *** Scoring can now be performed with logical operators like -`and', `or', `not', and parent redirection. +'and', 'or', 'not', and parent redirection. *** Article washing status can be displayed in the article mode line. @@ -2569,18 +2569,18 @@ article mode line. *** Suppression of duplicate articles based on Message-ID. -(setq gnus-suppress-duplicates t) + (setq gnus-suppress-duplicates t) *** New variables for specifying what score and adapt files are to be considered home score and adapt files. See -`gnus-home-score-file' and `gnus-home-adapt-files'. +'gnus-home-score-file' and 'gnus-home-adapt-files'. *** Groups can inherit group parameters from parent topics. *** Article editing has been revamped and is now usable. *** Signatures can be recognized in more intelligent fashions. -See `gnus-signature-separator' and `gnus-signature-limit'. +See 'gnus-signature-separator' and 'gnus-signature-limit'. *** Summary pick mode has been made to look more nn-like. Line numbers are displayed and the `.' command can be @@ -2597,7 +2597,7 @@ generating lines in buffers. *** Several commands in the group buffer can be undone with `C-M-_'. -*** Scoring can be done on words using the new score type `w'. +*** Scoring can be done on words using the new score type 'w'. *** Adaptive scoring can be done on a Subject word-by-word basis: @@ -2616,7 +2616,7 @@ the native server. `M-x gnus-group-clear-data-on-native-groups' *** A new command for reading collections of documents -(nndoc with nnvirtual on top) has been added -- `C-M-d'. +(nndoc with nnvirtual on top) has been added -- 'C-M-d'. *** Process mark sets can be pushed and popped. @@ -2651,14 +2651,14 @@ sorting functions, and each topic can be sorted independently. *** More hooks and functions have been added to remove junk from incoming mail before saving the mail. - See `nnmail-prepare-incoming-header-hook'. + See 'nnmail-prepare-incoming-header-hook'. *** The nnml mail backend now understands compressed article files. *** To enable Gnus to read/post multi-lingual articles, you must execute the following code, for instance, in your .emacs. - (add-hook 'gnus-startup-hook 'gnus-mule-initialize) + (add-hook 'gnus-startup-hook #'gnus-mule-initialize) Then, when you start Gnus, it will decode non-ASCII text automatically and show appropriate characters. (Note: if you are using gnus-mime @@ -2712,17 +2712,17 @@ share the same style variable settings; to make them buffer local, set c-style-variables-are-local-p to t in your .emacs file. Note that you must do this *before* CC Mode is loaded. -*** The new variable c-indentation-style holds the C style name +*** The new variable 'c-indentation-style' holds the C style name of the current buffer. -*** The variable c-block-comments-indent-p has been deleted, because +*** The variable 'c-block-comments-indent-p' has been deleted, because it is no longer necessary. C mode now handles all the supported styles of block comments, with no need to say which one you will use. *** There is a new indentation style "python", which specifies the C style that the Python developers like. -*** There is a new c-cleanup-list option: brace-elseif-brace. +*** There is a new 'c-cleanup-list' option: brace-elseif-brace. This says to put ...} else if (...) {... on one line, just as brace-else-brace says to put ...} else {... on one line. @@ -2744,17 +2744,17 @@ other developers. Such files are made read-only by CVS. To get a writable copy, type C-x C-q in a buffer visiting such a file. VC then calls "cvs edit", which notifies the other developers of it. -*** vc-version-diff (C-u C-x v =) now suggests reasonable defaults for +*** 'vc-version-diff' (C-u C-x v =) now suggests reasonable defaults for version numbers, based on the current state of the file. ** Calendar changes. -*** A new function, list-holidays, allows you list holidays or +*** A new function, 'list-holidays', allows you list holidays or subclasses of holidays for ranges of years. Related menu items allow you do this for the year of the selected date, or the following/previous years. -*** There is now support for the Baha'i calendar system. Use `pb' in +*** There is now support for the Baha'i calendar system. Use 'pb' in the *Calendar* buffer to display the current Baha'i date. The Baha'i calendar, or "Badi calendar" is a system of 19 months with 19 days each, and 4 intercalary days (5 during a Gregorian leap year). The @@ -2771,17 +2771,17 @@ layout. Some printer systems print a header page and force the first page to be printed on the back of the header page when using duplex. If your printer system has this behavior, set variable -`ps-banner-page-when-duplexing' to t. +'ps-banner-page-when-duplexing' to t. -If variable `ps-banner-page-when-duplexing' is non-nil, it prints a +If variable 'ps-banner-page-when-duplexing' is non-nil, it prints a blank page as the very first printed page. So, it behaves as if the very first character of buffer (or region) were a form feed ^L (\014). -The variable `ps-spool-config' specifies who is responsible for +The variable 'ps-spool-config' specifies who is responsible for setting duplex mode and page size. Valid values are: - lpr-switches duplex and page size are configured by `ps-lpr-switches'. - Don't forget to set `ps-lpr-switches' to select duplex + lpr-switches duplex and page size are configured by 'ps-lpr-switches'. + Don't forget to set 'ps-lpr-switches' to select duplex printing for your printer. setpagedevice duplex and page size are configured by ps-print using the @@ -2790,15 +2790,15 @@ setting duplex mode and page size. Valid values are: nil duplex and page size are configured by ps-print *not* using the setpagedevice PostScript operator. -The variable `ps-spool-tumble' specifies how the page images on +The variable 'ps-spool-tumble' specifies how the page images on opposite sides of a sheet are oriented with respect to each other. If -`ps-spool-tumble' is nil, ps-print produces output suitable for -bindings on the left or right. If `ps-spool-tumble' is non-nil, +'ps-spool-tumble' is nil, ps-print produces output suitable for +bindings on the left or right. If 'ps-spool-tumble' is non-nil, ps-print produces output suitable for bindings at the top or bottom. -This variable takes effect only if `ps-spool-duplex' is non-nil. +This variable takes effect only if 'ps-spool-duplex' is non-nil. The default value is nil. -The variable `ps-header-frame-alist' specifies a header frame +The variable 'ps-header-frame-alist' specifies a header frame properties alist. Valid frame properties are: fore-color Specify the foreground frame color. @@ -2824,25 +2824,25 @@ properties alist. Valid frame properties are: Any other property is ignored. Don't change this alist directly; instead use Custom, or the -`ps-value', `ps-get', `ps-put' and `ps-del' functions (see there for +'ps-value', 'ps-get', 'ps-put' and 'ps-del' functions (see there for documentation). Ps-print can also print footers. The footer variables are: -`ps-print-footer', `ps-footer-offset', `ps-print-footer-frame', -`ps-footer-font-family', `ps-footer-font-size', `ps-footer-line-pad', -`ps-footer-lines', `ps-left-footer', `ps-right-footer' and -`ps-footer-frame-alist'. These variables are similar to those +'ps-print-footer', 'ps-footer-offset', 'ps-print-footer-frame', +'ps-footer-font-family', 'ps-footer-font-size', 'ps-footer-line-pad', +'ps-footer-lines', 'ps-left-footer', 'ps-right-footer' and +'ps-footer-frame-alist'. These variables are similar to those controlling headers. *** Color management (subgroup) -If `ps-print-color-p' is non-nil, the buffer's text will be printed in +If 'ps-print-color-p' is non-nil, the buffer's text will be printed in color. *** Face Management (subgroup) If you need to print without worrying about face background colors, -set the variable `ps-use-face-background' which specifies if face +set the variable 'ps-use-face-background' which specifies if face background should be used. Valid values are: t always use face background color. @@ -2851,47 +2851,47 @@ background should be used. Valid values are: *** N-up printing (subgroup) -The variable `ps-n-up-printing' specifies the number of pages per +The variable 'ps-n-up-printing' specifies the number of pages per sheet of paper. -The variable `ps-n-up-margin' specifies the margin in points (pt) +The variable 'ps-n-up-margin' specifies the margin in points (pt) between the sheet border and the n-up printing. -If variable `ps-n-up-border-p' is non-nil, a border is drawn around +If variable 'ps-n-up-border-p' is non-nil, a border is drawn around each page. -The variable `ps-n-up-filling' specifies how the page matrix is filled +The variable 'ps-n-up-filling' specifies how the page matrix is filled on each sheet of paper. Following are the valid values for -`ps-n-up-filling' with a filling example using a 3x4 page matrix: +'ps-n-up-filling' with a filling example using a 3x4 page matrix: - `left-top' 1 2 3 4 `left-bottom' 9 10 11 12 + 'left-top' 1 2 3 4 'left-bottom' 9 10 11 12 5 6 7 8 5 6 7 8 9 10 11 12 1 2 3 4 - `right-top' 4 3 2 1 `right-bottom' 12 11 10 9 + 'right-top' 4 3 2 1 'right-bottom' 12 11 10 9 8 7 6 5 8 7 6 5 12 11 10 9 4 3 2 1 - `top-left' 1 4 7 10 `bottom-left' 3 6 9 12 + 'top-left' 1 4 7 10 'bottom-left' 3 6 9 12 2 5 8 11 2 5 8 11 3 6 9 12 1 4 7 10 - `top-right' 10 7 4 1 `bottom-right' 12 9 6 3 + 'top-right' 10 7 4 1 'bottom-right' 12 9 6 3 11 8 5 2 11 8 5 2 12 9 6 3 10 7 4 1 -Any other value is treated as `left-top'. +Any other value is treated as 'left-top'. *** Zebra stripes (subgroup) -The variable `ps-zebra-color' controls the zebra stripes grayscale or +The variable 'ps-zebra-color' controls the zebra stripes grayscale or RGB color. -The variable `ps-zebra-stripe-follow' specifies how zebra stripes +The variable 'ps-zebra-stripe-follow' specifies how zebra stripes continue on next page. Visually, valid values are (the character `+' to the right of each column indicates that a line is printed): - `nil' `follow' `full' `full-follow' + 'nil' 'follow' 'full' 'full-follow' Current Page -------- ----------- --------- ---------------- 1 XXXXX + 1 XXXXXXXX + 1 XXXXXX + 1 XXXXXXXXXXXXX + 2 XXXXX + 2 XXXXXXXX + 2 XXXXXX + 2 XXXXXXXXXXXXX + @@ -2919,86 +2919,86 @@ to the right of each column indicates that a line is printed): 22 + 22 + -------- ----------- --------- ---------------- -Any other value is treated as `nil'. +Any other value is treated as 'nil'. *** Printer management (subgroup) -The variable `ps-printer-name-option' determines the option used by +The variable 'ps-printer-name-option' determines the option used by some utilities to indicate the printer name; it's used only when -`ps-printer-name' is a non-empty string. If you're using the lpr -utility to print, for example, `ps-printer-name-option' should be set +'ps-printer-name' is a non-empty string. If you're using the lpr +utility to print, for example, 'ps-printer-name-option' should be set to "-P". -The variable `ps-manual-feed' indicates if the printer requires manual +The variable 'ps-manual-feed' indicates if the printer requires manual paper feeding. If it's nil, automatic feeding takes place. If it's non-nil, manual feeding takes place. -The variable `ps-end-with-control-d' specifies whether C-d (\x04) +The variable 'ps-end-with-control-d' specifies whether C-d (\x04) should be inserted at end of the generated PostScript. Non-nil means do so. *** Page settings (subgroup) -If variable `ps-warn-paper-type' is nil, it's *not* treated as an +If variable 'ps-warn-paper-type' is nil, it's *not* treated as an error if the PostScript printer doesn't have a paper with the size -indicated by `ps-paper-type'; the default paper size will be used -instead. If `ps-warn-paper-type' is non-nil, an error is signaled if +indicated by 'ps-paper-type'; the default paper size will be used +instead. If 'ps-warn-paper-type' is non-nil, an error is signaled if the PostScript printer doesn't support a paper with the size indicated -by `ps-paper-type'. This is used when `ps-spool-config' is set to -`setpagedevice'. +by 'ps-paper-type'. This is used when 'ps-spool-config' is set to +'setpagedevice'. -The variable `ps-print-upside-down' determines the orientation for -printing pages: nil means `normal' printing, non-nil means -`upside-down' printing (that is, the page is rotated by 180 degrees). +The variable 'ps-print-upside-down' determines the orientation for +printing pages: nil means 'normal' printing, non-nil means +'upside-down' printing (that is, the page is rotated by 180 degrees). -The variable `ps-selected-pages' specifies which pages to print. If +The variable 'ps-selected-pages' specifies which pages to print. If it's nil, all pages are printed. If it's a list, list elements may be integers specifying a single page to print, or cons cells (FROM . TO) specifying to print from page FROM to TO. Invalid list elements, that is integers smaller than one, or elements whose FROM is greater than its TO, are ignored. -The variable `ps-even-or-odd-pages' specifies how to print even/odd +The variable 'ps-even-or-odd-pages' specifies how to print even/odd pages. Valid values are: nil print all pages. - `even-page' print only even pages. + 'even-page' print only even pages. - `odd-page' print only odd pages. + 'odd-page' print only odd pages. - `even-sheet' print only even sheets. - That is, if `ps-n-up-printing' is 1, it behaves like - `even-page', but for values greater than 1, it'll + 'even-sheet' print only even sheets. + That is, if 'ps-n-up-printing' is 1, it behaves like + 'even-page', but for values greater than 1, it'll print only the even sheet of paper. - `odd-sheet' print only odd sheets. - That is, if `ps-n-up-printing' is 1, it behaves like - `odd-page'; but for values greater than 1, it'll print + 'odd-sheet' print only odd sheets. + That is, if 'ps-n-up-printing' is 1, it behaves like + 'odd-page'; but for values greater than 1, it'll print only the odd sheet of paper. Any other value is treated as nil. -If you set `ps-selected-pages' (see there for documentation), pages -are filtered by `ps-selected-pages', and then by -`ps-even-or-odd-pages'. For example, if we have: +If you set 'ps-selected-pages' (see there for documentation), pages +are filtered by 'ps-selected-pages', and then by +'ps-even-or-odd-pages'. For example, if we have: (setq ps-selected-pages '(1 4 (6 . 10) (12 . 16) 20)) -and we combine this with `ps-even-or-odd-pages' and -`ps-n-up-printing', we get: +and we combine this with 'ps-even-or-odd-pages' and +'ps-n-up-printing', we get: -`ps-n-up-printing' = 1: - `ps-even-or-odd-pages' PAGES PRINTED +'ps-n-up-printing' = 1: + 'ps-even-or-odd-pages' PAGES PRINTED nil 1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 20 even-page 4, 6, 8, 10, 12, 14, 16, 20 odd-page 1, 7, 9, 13, 15 even-sheet 4, 6, 8, 10, 12, 14, 16, 20 odd-sheet 1, 7, 9, 13, 15 -`ps-n-up-printing' = 2: - `ps-even-or-odd-pages' PAGES PRINTED +'ps-n-up-printing' = 2: + 'ps-even-or-odd-pages' PAGES PRINTED nil 1/4, 6/7, 8/9, 10/12, 13/14, 15/16, 20 even-page 4/6, 8/10, 12/14, 16/20 odd-page 1/7, 9/13, 15 @@ -3007,23 +3007,23 @@ and we combine this with `ps-even-or-odd-pages' and *** Miscellany (subgroup) -The variable `ps-error-handler-message' specifies where error handler +The variable 'ps-error-handler-message' specifies where error handler messages should be sent. It is also possible to add a user-defined PostScript prologue code in front of all generated prologue code by setting the variable -`ps-user-defined-prologue'. +'ps-user-defined-prologue'. -The variable `ps-line-number-font' specifies the font for line numbers. +The variable 'ps-line-number-font' specifies the font for line numbers. -The variable `ps-line-number-font-size' specifies the font size in +The variable 'ps-line-number-font-size' specifies the font size in points for line numbers. -The variable `ps-line-number-color' specifies the color for line -numbers. See `ps-zebra-color' for documentation. +The variable 'ps-line-number-color' specifies the color for line +numbers. See 'ps-zebra-color' for documentation. -The variable `ps-line-number-step' specifies the interval in which -line numbers are printed. For example, if `ps-line-number-step' is set +The variable 'ps-line-number-step' specifies the interval in which +line numbers are printed. For example, if 'ps-line-number-step' is set to 2, the printing will look like: 1 one line @@ -3040,14 +3040,14 @@ integer an integer specifying the interval in which line numbers are printed. If it's smaller than or equal to zero, 1 is used. -`zebra' specifies that only the line number of the first line in a +'zebra' specifies that only the line number of the first line in a zebra stripe is to be printed. -Any other value is treated as `zebra'. +Any other value is treated as 'zebra'. -The variable `ps-line-number-start' specifies the starting point in -the interval given by `ps-line-number-step'. For example, if -`ps-line-number-step' is set to 3, and `ps-line-number-start' is set to +The variable 'ps-line-number-start' specifies the starting point in +the interval given by 'ps-line-number-step'. For example, if +'ps-line-number-step' is set to 3, and 'ps-line-number-start' is set to 3, the output will look like: one line @@ -3062,20 +3062,20 @@ the interval given by `ps-line-number-step'. For example, if one line ... -The variable `ps-postscript-code-directory' specifies the directory +The variable 'ps-postscript-code-directory' specifies the directory where the PostScript prologue file used by ps-print is found. -The variable `ps-line-spacing' determines the line spacing in points, +The variable 'ps-line-spacing' determines the line spacing in points, for ordinary text, when generating PostScript (similar to -`ps-font-size'). +'ps-font-size'). -The variable `ps-paragraph-spacing' determines the paragraph spacing, +The variable 'ps-paragraph-spacing' determines the paragraph spacing, in points, for ordinary text, when generating PostScript (similar to -`ps-font-size'). +'ps-font-size'). -The variable `ps-paragraph-regexp' specifies the paragraph delimiter. +The variable 'ps-paragraph-regexp' specifies the paragraph delimiter. -The variable `ps-begin-cut-regexp' and `ps-end-cut-regexp' specify the +The variable 'ps-begin-cut-regexp' and 'ps-end-cut-regexp' specify the start and end of a region to cut out when printing. ** hideshow changes. @@ -3083,33 +3083,33 @@ start and end of a region to cut out when printing. *** now supports hiding of blocks of single line comments (like // for C++, ; for lisp). -*** Support for java-mode added. +*** Support for 'java-mode' added. -*** When doing `hs-hide-all' it is now possible to also hide the comments -in the file if `hs-hide-comments-when-hiding-all' is set. +*** When doing 'hs-hide-all' it is now possible to also hide the comments +in the file if 'hs-hide-comments-when-hiding-all' is set. -*** The new function `hs-hide-initial-comment' hides the comments at +*** The new function 'hs-hide-initial-comment' hides the comments at the beginning of the files. Finally those huge RCS logs don't stay in your -way! This is run by default when entering the `hs-minor-mode'. +way! This is run by default when entering the 'hs-minor-mode'. -*** Now uses overlays instead of `selective-display', so is more +*** Now uses overlays instead of 'selective-display', so is more robust and a lot faster. *** A block beginning can span multiple lines. -*** The new variable `hs-show-hidden-short-form' if t, directs hideshow +*** The new variable 'hs-show-hidden-short-form' if t, directs hideshow to show only the beginning of a block when it is hidden. See the documentation for more details. ** Changes in Enriched mode. -*** When you visit a file in enriched-mode, Emacs will make sure it is +*** When you visit a file in 'enriched-mode', Emacs will make sure it is filled to the current fill-column. This behavior is now independent of the size of the window. When you save the file, the fill-column in use is stored as well, so that the whole buffer need not be refilled the next time unless the fill-column is different. -*** use-hard-newlines is now a minor mode. When it is enabled, Emacs +*** 'use-hard-newlines' is now a minor mode. When it is enabled, Emacs distinguishes between hard and soft newlines, and treats hard newlines as paragraph boundaries. Otherwise all newlines inserted are marked as soft, and paragraph boundaries are determined solely from the text. @@ -3118,8 +3118,8 @@ as soft, and paragraph boundaries are determined solely from the text. *** Custom support -The variables font-lock-face-attributes, font-lock-display-type and -font-lock-background-mode are now obsolete; the recommended way to specify +The variables 'font-lock-face-attributes', 'font-lock-display-type' and +'font-lock-background-mode' are now obsolete; the recommended way to specify the faces to use for Font Lock mode is with M-x customize-group on the new custom group font-lock-faces. If you set font-lock-face-attributes in your ~/.emacs file, Font Lock mode will respect its value. However, you should @@ -3145,9 +3145,9 @@ support Font Lock mode, via the command global-font-lock-mode. *** Configurable support Support for C, C++, Objective-C and Java can be more easily configured for -additional types and classes via the new variables c-font-lock-extra-types, -c++-font-lock-extra-types, objc-font-lock-extra-types and, you guessed it, -java-font-lock-extra-types. These value of each of these variables should be a +additional types and classes via the new variables 'c-font-lock-extra-types', +'c++-font-lock-extra-types', 'objc-font-lock-extra-types' and, you guessed it, +'java-font-lock-extra-types'. The value of each of these variables should be a list of regexps matching the extra type names. For example, the default value of c-font-lock-extra-types is ("\\sw+_t") which means fontification follows the convention that C type names end in _t. This results in slower fontification. @@ -3158,38 +3158,38 @@ it easier to make specific and common changes for the fontification of types. *** Adding highlighting patterns to existing support -You can use the new function font-lock-add-keywords to add your own +You can use the new function 'font-lock-add-keywords' to add your own highlighting patterns, such as for project-local or user-specific constructs, for any mode. -For example, to highlight `FIXME:' words in C comments, put: +For example, to highlight 'FIXME:' words in C comments, put: - (font-lock-add-keywords 'c-mode '(("\\