📄 onews.2
字号:
you can now use the commands M-p and M-n to pick an earlier orlater command to repeat. M-n picks the next earlier commandand M-p picks the next later one. The new command appears inthe minibuffer, and you can go ahead and edit it, and repeat itwhen you exit the minibuffer.Using M-n or M-p within C-x ESC is like having used a differentnumeric argument when you ran C-x ESC in the first place.The command you finally execute using C-x ESC is added to thefront of the command history, unless it is identical with thefirst thing in the command history.* Use C-c C-c to exit from editing within Info.It used to be C-z for this. Somehow this use of C-z wasleft out when all the others were moved. The intention is thatC-z should always suspend Emacs.* Default arg to C-x < and C-x > now window width minus 2.These commands, which scroll the current window horizontallyby a specified number of columns, now scroll a considerabledistance 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 thatwhen you save a file for real, its auto save file is deleted.* Rnews changes.The N, P and J keys in Rnews are renamed to M-n, M-p and M-j.These keys move among newsgroups.The n and p keys for moving sequentially between news articles nowaccept repeat count arguments, and the + and - keys, made redundant bythis change, are eliminated.The s command for outputting the current article to a fileis renamed as o, to be compatible with Rmail.* Sendmail changes.If you have a ~/.mailrc file, Emacs searches it for mailing addressaliases, and these aliases are expanded when you send mail in Emacs.Fcc fields can now be used in the headers in the *mail* bufferto 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 stringwhich is a file name; an Fcc to that file will be inserted in everymessage when you begin to compose it.A new command C-c q now exists in Mail mode. It fills theparagraphs of an old message that had been inserted with C-c y.When the *mail* buffer is put in Mail mode, text-mode-hookis now run in addition to mail-mode-hook. text-mode-hookis run first.The new variable `mail-header-separator' now specifies the stringto use on the line that goes between the headers and the message text.By default it is still "--text follows this line--".* Command history truncated automatically.Just before each garbage collection, all but the last 30 elementsof the command history are discarded.Incompatible Lisp Programming Changes in Emacs 17* `"e' no longer supported.This feature, which allowed Lisp functions to take argumentsthat were not evaluated, has been eliminated, because it isinescapably hard to make the compiler work properly with suchfunctions.You should use macros instead. A simple way to change anycode that uses `"e' is to replace (defun foo ("e x y z) ...with (defmacro foo (x y z) (list 'foo-1 (list 'quote x) (list 'quote y) (list 'quote z))) (defun foo-1 (x y z) ...* Functions `region-to-string' and `region-around-match' removed.These functions were made for compatibility with Gosling Emacs, but itturns out to be undesirable to use them in GNU Emacs because they usethe mark. They have been eliminated from Emacs proper, but arepresent 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 andcan avoid setting the mark.If you were using `region-around-match', you can use insteadthe two functions `match-beginning' and `match-end'. These giveyou one bound at a time, as a numeric value, without changingpoint or the mark.* Function `function-type' removed.This just appeared not to be very useful. It can easily be written inLisp if you happen to want it. Just use `symbol-function' to get thefunction definition of a symbol, and look at its data type or its carif it is a list.* Variable `buffer-number' removed.You can still use the function `buffer-number' to find outa buffer's unique number (assigned in order of creation).* Variable `executing-macro' renamed `executing-kbd-macro'.This variable is the currently executing keyboard macro, asa string, or `nil' when no keyboard macro is being executed.* Loading term/$TERM.The library term/$TERM (where $TERM get replaced by your terminaltype), which is done by Emacs automatically when it starts up, nowhappens after the user's .emacs file is loaded.In previous versions of Emacs, these files had names of the formterm-$TERM; thus, for example, term-vt100.el, but now they livein a special subdirectory named term, and have names liketerm/vt100.el.* `command-history' format changed.The elements of this list are now Lisp expressions which canbe 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'have been removed. Their definitions can be found in file lisp/unused.el if you need them.Upward Compatible Lisp Programming Changes in Emacs 17* You can now continue after errors and quits.When the debugger is entered because of a C-g, due toa non-`nil' value of `debug-on-quit', the `c' command in the debuggerresumes execution of the code that was running when the quit happened.Use the `q' command to go ahead and quit.The same applies to some kinds of errors, but not all. Errorssignaled with the Lisp function `signal' can be continued; the `c'command causes `signal' to return. The `r' command causes `signal' toreturn 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'command is used in place of the invalid argument. If this new valueis not valid, another error occurs.Errors signaled with the function `error' cannot be continued.If you try to continue, the error just happens again.* `dot' renamed `point'.The word `dot' has been replaced with `point' in allfunction 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.The old names are still supported, for now.* `string-match' records position of end of match.After a successful call to `string-match', `(match-end 0)' willreturn the index in the string of the first character after the match.Also, `match-begin' and `match-end' with nonzero arguments can beused to find the indices of beginnings and ends of substrings matchedby subpatterns surrounded by parentheses.* New function `insert-before-markers'.This function is just like `insert' except in the handling of anyrelocatable 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 insertedtext.* New function `copy-alist'.This function takes one argument, a list, and makes a disjoint copyof the alist structure. The list itself is copied, and each elementthat is a cons cell is copied, but the cars and cdrs of elementsremain shared with the original argument.This is what it takes to get two alists disjoint enough that changesin one do not change the result of `assq' on the other.* New function `copy-keymap'.This function takes a keymap as argument and returns a new keymapcontaining initially the same bindings. Rebindings in either one ofthem will not alter the bindings in the other.* New function `copy-syntax-table'.This function takes a syntax table as argument and returns a newsyntax table containing initially the same syntax settings. Changesin either one of them will not alter the other.* Randomizing the random numbers.`(random t)' causes the random number generator's seed to be setbased on the current time and Emacs's process id.* Third argument to `modify-syntax-entry'.The optional third argument to `modify-syntax-entry', if specifiedshould be a syntax table. The modification is made in that syntax tablerather than in the current syntax table.* New function `run-hooks'.This function takes any number of symbols as arguments.It processes the symbols in order. For each symbol whichhas a value (as a variable) that is non-nil, the value iscalled as a function, with no arguments.This is useful in major mode commands.* Second arg to `switch-to-buffer'.If this function is given a non-`nil' second argument, then theselection being done is not recorded on the selection history.The buffer's position in the history remains unchanged. Thisfeature is used by the view commands, so that the selection historyafter exiting from viewing is the same as it was before.* Second arg to `display-buffer' and `pop-to-buffer'.These two functions both accept an optional second argument whichdefaults to `nil'. If the argument is not `nil', it means thatanother window (not the selected one) must be found or created todisplay the specified buffer in, even if it is already shown inthe selected window.This feature is used by `switch-to-buffer-other-window'.* New variable `completion-ignore-case'.If this variable is non-`nil', completion allows stringsin different cases to be considered matching. The global valueis `nil'This variable exists for the sake of commands that are completingan argument in which case is not significant. It is possibleto change the value globally, but you might not like the consequencesin the many situations (buffer names, command names, file names)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'.* Defining new command line switches.You can define a new command line switch in your .emacs fileby 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 bedefined, such as "-foo", and FUNCTION is a function to be calledif such an argument is found in the command line. FUNCTIONreceives 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 keptas a list in the variable `command-line-args'. FUNCTION canexamine this variable, and do (setq command-line-args (cdr command-line-args)to "use up" an argument.* New variable `load-in-progress'.This variable is non-`nil' when a file of Lisp code is being readand executed by `load'.* New variable `print-length'.The value of this variable is normally `nil'. It may instead bea number; in that case, when a list is printed by `prin1' or`princ' only that many initial elements are printed; the rest arereplaced by `...'.* 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')with no arguments, after creating an empty buffer. The file's namecan be found as the value of `buffer-file-name'.* Processes without buffers.In the function `start-process', you can now specify `nil' asthe 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 processfrom being killed because any particular buffer is killed.When a process has a buffer, killing that buffer kills theprocess too.When a process has no buffer, its output is lost unless it has afilter, and no indication of its being stopped or killed is givenunless it has a sentinel.* New function `user-variable-p'. `v' arg prompting changed.This function takes a symbol as argument and returns `t' ifthe symbol is defined as a user option variable. This meansthat it has a `variable-documentation' property whose value isa string starting with `*'.Code `v' in an interactive arg reading string now accepts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -