Skip to content

Instantly share code, notes, and snippets.

@zk-phi
Last active November 21, 2019 04:38
Show Gist options
  • Save zk-phi/cd33b28b050ad43e1476092c395ae717 to your computer and use it in GitHub Desktop.
Save zk-phi/cd33b28b050ad43e1476092c395ae717 to your computer and use it in GitHub Desktop.
news

Changes in Emacs 24.4

Frame and window handling

New commands `toggle-frame-fullscreen’ and `toggle-frame-maximized’,

bound to <f11> and M-<f10>, respectively.

あれっ、これでいいじゃん

Temp Buffer Resize Mode can now adjust the height and width of

windows and frames. The new option `temp-buffer-max-width’ allows you to control the width of temporary buffer windows. Moreover, if the new option `fit-frame-to-buffer’ is non-nil and the buffer appears in the root window of a frame, Temp Buffer Resize Mode will try to adjust the width and/or height of the frame.

これ便利なのでは? popwin やめたいのと合わせて。 straight.el だっけ?もよさそう これ系はどっかで一回整理したいよなあ

Editing Changes in Emacs 24.4

Uniquify is enabled by default, with `post-forward-angle-brackets’ style.

In other words, if you visit two files that have the same base name, then rather than creating buffers basename and basename<2>, Emacs uses basename<dirA> and basename<dirB>. To change this, customize `uniquify-buffer-name-style’. Set it to nil for the old behavior.

init.el にある設定もういらなそうね

Changes in Specialized Modes and Packages in Emacs 24.4

Backtrace and debugger

New Lisp debugger command `v’ (`debugger-toggle-locals’) toggles the

display of local variables of the current stack frame.

The Lisp debugger’s `e’ command (`debugger-eval-expression’) now includes

the lexical environment when evaluating the code in the context at point (and so allows you to access lexical variables).

New minor mode `jit-lock-debug-mode’ helps you debug code run via JIT Lock.

In the Buffer Menu, `M-s a C-o’ shows matches for a regexp in marked buffers.

Delete Selection mode can now be used without Transient Mark mode.

New Dired minor mode `dired-hide-details-mode’ toggles whether details,

such as file ownership or permissions, are visible in Dired buffers. See the new options `dired-hide-details-hide-symlink-targets’ and `dired-hide-details-hide-information-lines’ for customizing what to hide.

You can enable ElDoc inside the `eval-expression’ minibuffer with:

(add-hook ‘eval-expression-minibuffer-setup-hook ‘eldoc-mode) The results display in the mode line.

Eshell

`eshell’ now supports visual subcommands and options.

Eshell has been able to handle “visual” commands (interactive, non-line oriented commands such as top that require display capabilities not provided by eshell) by running them in an Emacs terminal emulator. See `eshell-visual-commands’.

This feature has been extended to subcommands and options that make a usually line-oriented command a visual command. Typical examples are “git log” and “git <command> –help”, which display their output in a pager by default. See `eshell-visual-subcommands’ and `eshell-visual-options’.

New Eshell-Tramp module.

External su and sudo commands are now the default; the internal, Tramp-using variants can still be used by enabling the eshell-tramp module.

Icomplete is now more similar to Ido.

Icomplete by default now applies to all forms of minibuffer completion.

The variable `icomplete-with-completion-tables’ (now a user option) controls this. To restore the old behavior, set it back to ‘(internal-complete-buffer).

You can navigate through and select completions using the keys

from `icomplete-minibuffer-map’.

The string that separates potential completions is now a customizable

option (`icomplete-separator’). The default is ” | ” rather than “,”.

New face `icomplete-first-match’; and new options

`icomplete-hide-common-prefix’ and `icomplete-show-matches-on-no-input’.

The option `icomplete-show-key-bindings’ has been removed.

Ido

An Ido user manual is now included.

The option `ido-use-virtual-buffers’ can now take the value `auto’.

This means to use virtual buffers if the current ido input does not match an existing buffer.

The variable `ido-decorations’ can optionally have two new elements,

which are the brackets to use around the sole remaining completion.

Image mode

New commands `n’ (`image-next-file’) and `p’ (`image-previous-file’)

visit the next image file and the previous image file in the same directory, respectively.

New commands to show specific frames of multi-frame images.

`f’ (`image-next-frame’) and `b’ (`image-previous-frame’) visit the next or previous frame. `F’ (`image-goto-frame’) shows a specific frame.

New commands to speed up, slow down, or reverse animation.

`a +’ (`image-increase-speed’) and `a -’ (`image-decrease-speed’) to speed up and slow down the animation. `a r’ (`image-reverse-speed’) to reverse it and `a 0’ (`image-reset-speed’) to reset it.

The command `image-mode-fit-frame’ deletes other windows.

When toggling, it restores the frame’s previous window configuration. It also has an optional frame argument, which can be used by Lisp callers to fit the image to a frame other than the selected frame.

New Imenu option `imenu-generic-skip-comments-and-strings’.

Info

New Info face `info-index-match’, used to highlight matches in index

entries displayed by `Info-index-next’, `Info-virtual-index’ and `info-apropos’.

The Info-edit command is obsolete. Editing Info nodes by hand

has not been relevant for some time.

JS Mode

New option `js-switch-indent-offset’.

Better indentation of multiple-variable declarations.

If a declaration spans several lines, variables on the following lines are lined up to the first one.

Recognition and better indentation of continuations in array comprehensions.

In Prolog mode, `prolog-use-smie’ has been removed,

along with the non-SMIE indentation code.

Ruby mode

Improved syntax highlighting and indentation.

New `electric-indent-mode’ integration.

New option `ruby-encoding-magic-comment-style’.

New option `ruby-custom-encoding-magic-comment-template’.

New option `ruby-align-to-stmt-keywords’.

New option `ruby-align-chained-calls’.

More Ruby file types have been added to `auto-mode-alist’.

Search and Replace

New global command `M-s .’ (`isearch-forward-symbol-at-point’)

starts a symbol (identifier) incremental search forward with the symbol found near point added to the search string initially.

`C-x 8 RET’ in Isearch mode reads a character by its Unicode name

and adds it to the search string.

`M-s i’ in Isearch mode toggles whether search matches invisible text.

`query-replace’ skips invisible text when `search-invisible’ is nil,

and opens overlays with hidden text when `search-invisible’ is `open’.

A negative prefix argument of replacement commands replaces backward.

`M– M-%’ replaces a string backward, `M– C-M-%’ replaces a regexp backward, `M-s w words M– M-%’ replaces a sequence of words backward.

By default, prefix arguments do not now terminate Isearch mode.

Set `isearch-allow-prefix’ to nil to restore the old behavior.

More Isearch commands accept prefix arguments, namely

`isearch-printing-char’, `isearch-quote-char’, `isearch-yank-word’, `isearch-yank-line’.

Word search now matches whitespace at the beginning/end

of the search string if it contains leading/trailing whitespace. In an incremental word search or when using a non-nil LAX argument of `word-search-regexp’, the lax matching can also match part of the first word (in addition to the lax matching of the last word). The same rules are now applied to the symbol search, with the difference that it matches symbols, and non-symbol characters between symbols.

New SES command `ses-rename-cell’ allows assignment of names to SES cells.

The shell.el option `explicit-bash-args’ includes –noediting by default.

All non-ancient Bash versions support this option.

Shell Script mode

The SMIE indentation engine is now used by default - see `sh-use-smie’.

`sh-mode’ now has its own setting for `add-log-current-defun-function’.

New Term mode option `term-suppress-hard-newline’.

Todo mode has been rewritten and enhanced.

The Todo mode user manual describes all commands and most user options. To support some of these features, a new file format is used, which is incompatible with the old format; however, you can convert old todo and done item files to the new format on initializing the first new todo file, or at any later time with the provided conversion command. The previous version of todo-mode.el has been renamed to otodo-mode.el and is now obsolete. New features include:

Support for multiple todo files and archive files of done items.

Renaming, reordering, moving, merging, and deleting categories.

Sortable tabular summaries of categories and the item types they contain.

Cross-category lists of items filtered by specific criteria.

More fine-grained interaction with the Emacs diary, by being able to

decide for each todo item whether it appears in the Fancy Diary display.

Highly flexible new item insertion and item editing.

Moving items between categories, storing done items in their category

or in archive files, undoing or unarchiving done items.

Reprioritizing items by inputting a numerical priority.

Extensive customizability of operation and display, including many faces.

Tramp

New connection method “adb”, which allows to access Android

devices by the Android Debug Bridge. The variable `tramp-adb-program’ can be used to adapt the path of the “adb” program, if needed.

Handlers for `file-acl’ and `set-file-acl’ for remote machines

that support POSIX ACLs.

Handlers for `file-notify-add-watch’ and `file-notify-rm-watch’

for remote machines that support filesystem notifications.

The experimental url syntax for remote file names has been removed.

The connection methods “plink1”, “ssh1”, “ssh2”, “scp1”, “scp2”,

“scpc” and “rsyncc” are discontinued. The ssh option “ControlMaster=auto” is set automatically in all ssh-based methods, when possible. See `tramp-use-ssh-controlmaster-options’.

New URL command `url-cookie-list’ displays the current cookies,

and allows you to interactively remove cookies.

New Modes and Packages in Emacs 24.4

New package nadvice.el offers lighter-weight advice facilities.

It is layered as:

  • `add-function’/`remove-function’, which can be used to add/remove code on any function-carrying place, such as process filters or `<foo>-function’ hooks.
  • `advice-add’/`advice-remove’ to add/remove a piece of advice on a named function, much like `defadvice’ does.

nadvice 、軽量らしいので移行したさはある

Incompatible Lisp Changes in Emacs 24.4

Default process filters and sentinels are not nil any more.

Instead they default to a function that does what the nil value used to do.

symon で set-process-sentinel 使ってるのでちょっときになるな デフォルトが nil じゃなくなっても、 nil にセットすることは問題ないのか?

Obsoleted functions

`log10’

rpn-calc.el で使われてた (修正 push 済み)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment