ARCHIVE  ENTRY  COMMENT  TRACKBACK  CATEGORY  RECOMMEND  LINK  PROFILE  OTHERS
<< June 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< パワーポイントの図をepsにする | main | [Emacs] eshellのプロンプトをかわいくする >>
2016.02.25 Thursday

スポンサーサイト

一定期間更新がないため広告を表示しています

2015.01.07 Wednesday

Emacs 24.3→24.4 の変更点

自分に関係のありそうなところを中心に。
Changes in Emacs 24.4

New option `load-prefer-newer' affects how the `load' function chooses
the file to load.  If this is non-nil, then when both .el and .elc
versions of a file exist, and the caller did not explicitly specify
which one to load, then the newer file is loaded.  The default, nil,
means to always load the .elc file.


load-prefer-newer を non-nil にすると .elc よりも .el が新しいときに .el を読み込むようになる(24.3 では常に .elc)。僕はいらないかなあ。
 

Multi-monitor support

New functions `display-monitor-attributes-list' and
`frame-monitor-attributes' can be used to obtain information about
each physical monitor on multi-monitor setups.

The functions `display-pixel-width' and `display-pixel-height' now
behave consistently among the platforms: they return the pixel width
or height for all physical monitors associated with the given display
as if they were on X.  To get information for each physical
monitor, use the new functions above.  Similar notes also apply to
`x-display-pixel-width', `x-display-pixel-height', `display-mm-width',
`display-mm-height', `x-display-mm-width', and `x-display-mm-height'.


マルチモニタに対応。各モニタの情報を取得する関数なんかが追加されたみたい。
 

The *Messages* buffer is created in `messages-buffer-mode',
a new major mode, with read-only status.  Any code that might create
the *Messages* buffer should call the function `messages-buffer' to do
so and set up the mode.


*Messages* バッファ用のメジャーモード messages-buffer-mode が追加。read-only だとしか書いてないけどなにか他に機能があるんだろうか。
 

In keymaps where SPC scrolls forward, S-SPC now scrolls backward.
This affects View mode, etc.


SPC でスクロールするような場面では S-SPC で後ろ向きにスクロールできる。view-mode など。
 

New commands `toggle-frame-fullscreen' and `toggle-frame-maximized',
bound to <f11> and M-<f10>, respectively.


Emacsをフルスクリーンにするコマンドが追加。Windowsでもできるんだろうか…?
 

The functions `window-body-height' and `window-body-width' now never
count partially visible lines or columns if called with a nil PIXELWISE
argument.

The new function `window-text-pixel-size' returns the size of the
text of a window's buffer in pixels.  This allows functions like
`fit-frame-to-buffer' and `fit-window-to-buffer' to accurately fit a
window to its buffer as it will be displayed.


ピクセル単位でウィンドウの大きさを取得・操作するための関数が追加。
 

`split-window' is now a non-interactive function, not a command.
As a command, it was a special case of `C-x 2' (`split-window-below'),
and as such superfluous.  After being reimplemented in Lisp, its
interactive form was mistakenly retained.


24.3 (だっけ?) で split-window-below と split-window-right に分かれた split-window コマンドが 24.4 からはただの関数に。
 

The commands `eval-expression' (`M-:'), `eval-last-sexp' (`C-x C-e'),
and `eval-print-last-sexp' (`C-j' in Lisp Interaction mode) can take a
zero prefix argument.  This disables truncation of lists in the output,
equivalent to setting `(eval-expression-)print-length' and
`(eval-expression-)print-level' to nil.  Additionally, it causes integers
to be printed in other formats (octal, hexadecimal, and character).


eval-last-sexp に前置引数を付けると大きなリストも省略せずに表示してくれるようになる。いい感じ。

Editing Changes in Emacs 24.4

`electric-indent-mode' is now enabled by default.
Typing RET reindents the current line and indents the new line.
`C-j' inserts a newline but does not indent.  In some programming modes,
additional characters are electric (eg `{').


Emacs 24 から追加された electric-indent-mode がデフォルトで ON になった。
 

`tab-stop-list' is now implicitly extended to infinity by repeating
the last step.  Its default value is changed to nil, which means a tab
stop every `tab-width' columns.


tab-stop-list を nil にしておくと、 tab-width からよしなに判断してくれるようになった。 '(4 8 12 16 20) みたいな泥臭いことをしなくても OK。
 

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


uniquify がデフォルトで ON に。
 

New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region.
Most commands are still unaware of it, but kill/yank do work on the rectangle.


矩形選択用のコマンドが追加。今は自作の phi-rectangle を使ってるけど、良さそうだったら移行しようかな。
 

New option `visual-order-cursor-movement'.
If this is non-nil, cursor motion with arrow keys will follow the
visual order of characters on the screen: <left> always moves to the
left, <right> always moves to the right, disregarding the surrounding
bidirectional context.


visual-order-cursor-movement を non-nil にすると、右から左に進むような言語でも→キーで右に、←キーで左に進むようになる。
 

New command `delete-duplicate-lines'.
This searches the region for identical lines, and removes all but one
copy of each repeated line.  The lines need not be sorted.


重複した行を削除する delete-duplicate-lines コマンドが追加。 sort-lines みたいに、普段から使うわけではないけど、いざというときにいい仕事をしてくれそう。
 

New command `cycle-spacing' acts like a smarter `just-one-space'.
When called in succession, it cycles between spacing conventions:
one space, no spaces, original spacing.


cycle-spacing コマンドが追加。連打すると just-one-space → スペースを全削除 → 元に戻す。
 

The new function `fill-single-char-nobreak-p' can stop fill from breaking
a line after a one-letter word, which is an error in some typographical
conventions.  To use it, add it to the `fill-nobreak-predicate' hook.


fill-single-char-nobreak-p を fill-nobreak-predicate に追加すると、 fill-paragraph が一文字の単語の直後に改行を入れなくなる。
 

All interactive commands that read a register (`copy-to-register', etc.)
now display a temporary window after `register-preview-delay' seconds
that summarizes existing registers.  To disable this, set that option to nil.
Interactive commands that read registers and want to make use of this
should use `register-read-with-preview' to read register names.


レジスタを使うコマンドでプレビューが出るようになった。レジスタって敷居高いけど使いこなせたら便利そうな印象があるので、こういう変化はいい。
 

New command `C-x C-k x' (`kmacro-to-register') stores keyboard
macros in registers.


キーボードマクロをレジスタに保存するコマンドが追加。

Changes in Specialized Modes and Packages in Emacs 24.4

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


マークした全バッファで検索を走らせるコマンドが Buffer-menu に追加。
 

letf is now just an alias for cl-letf.


letf (cl-letf) が cl-lib の一部になった。
 

CUA mode now uses `delete-selection-mode' and `shift-select-mode'.
Hence, you can now enable it independently from those modes, and from
`transient-mark-mode'.


CUA が内部で delete-selection-mode と shift-select-mode を使うようになった。今までは全部 CUA 独自の実装になっていて個別に無効にできなかったので、かなりいい感じ。
 

CUA's rectangles can now be used without CUA by calling the command
`cua-rectangle-mark-mode'.


CUA の矩形選択がコマンドとして cua-mode から独立。rectangle-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.


dired でパーミッションなどの詳細を非表示にできるようになった。 dired-details.el がビルトインになった感じかな。
 

`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'.


top みたいな激しい画面の使い方をするコマンドが eshell で実行できるようになった。
 

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.


eshell に tramp で実装された su, sudo が追加。ただしデフォルトでは外部コマンドの su, sudo を呼ぶみたい。
 

New global command `M-s h .' (`highlight-symbol-at-point') highlights
the symbol near point.


カーソル位置のシンボルをハイライトするコマンドが追加。地味に便利かも。
 

New option `hi-lock-auto-select-face'.  When non-nil, hi-lock commands
will cycle through faces in `hi-lock-face-defaults' without prompting.


hi-lock-auto-select-face を non-nil にしておくと、ハイライトコマンドを呼んだときにいちいち色を訊いてこなくなる。良い感じ。
 

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


imenu にコメント・文字列の扱いを制御するオプションが追加。
 

In Prolog mode, `prolog-use-smie' has been removed,
along with the non-SMIE indentation code.


prolog-mode のインデントエンジンが SMIE に完全移行。
 

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.


カーソル位置のシンボルを検索するコマンドが追加。なんかそんなプラグインあったような。
 

Shell Script mode:
The SMIE indentation engine is now used by default - see `sh-use-smie'.


sh-mode のインデントエンジンも SMIE がデフォルトに。
 

You can customize the SMIE indentation of a mode via `smie-config'.
The command `smie-config-guess' can help you derive the appropriate
indentation settings, if you provide it with an indented sample file.
Use `smie-config-save' to save the result.


SMIE を自動設定する smie-config-guess コマンドが追加。guess-style みたいにインデント幅とかを検出してくれる感じかな。
 

`trace-function' and `trace-function-background' no longer prompt for
the output buffer.  Unless you use a prefix argument, they output to
`trace-buffer'.


trace-function が出力先のバッファをいちいち訊かなくなった。地味だけどいい改良。
 

New URL command `url-cookie-list' displays the current cookies,
and allows you to interactively remove cookies.


クッキーの管理をするコマンドが追加。
 

More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.

Affected files:
~/.emacs.d/timelog    replaces  ~/.timelog
~/.emacs.d/vip        replaces  ~/.vip
~/.emacs.d/viper    replaces  ~/.viper
~/.emacs.d/ido.last    replaces  ~/.ido.last
~/.emacs.d/kkcrc    replaces  ~/.kkcrc
~/.emacs.d/quickurls    replaces  ~/.quickurls
~/.emacs.d/idlwave/    replaces  ~/.idlwave/
~/.emacs.d/bdfcache.el    replaces  ~/.bdfcache.el
~/.emacs.d/places    replaces  ~/.emacs-places
~/.emacs.d/shadows    replaces  ~/.shadows
~/.emacs.d/shadow_todo    replaces  ~/.shadow_todo
~/.emacs.d/strokes    replaces  ~/.strokes
~/.emacs.d/notes    replaces  ~/.notes
~/.emacs.d/type-break    replaces  ~/.type-break

Also the following files used by the now obsolete otodo-mode.el:
~/.emacs.d/todo-do    replaces  ~/.todo-do
~/.emacs.d/todo-done    replaces  ~/.todo-done
~/.emacs.d/todo-top    replaces  ~/.todo-top


各プラグインの設定ファイルの保存場所が ~/.emacs.d から ~/ になった。
 

Obsolete package: iswitchb.el; use icomplete-mode.


iswitchb が obsolete に。

New Modes and Packages in Emacs 24.4

New package eww.el provides a built-in web browser.


elisp 製ウェブブラウザ eww がついにビルトインに。 24.4 の目玉かな?
 

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


advice に代わる関数再定義のインターフェース nadvice が追加。 advice よりも軽量らしい。advice は強力だけど不満も多かったなあ。
 

New minor modes `prettify-symbols-mode' and `global-prettify-symbols-mode'


pretty-symbols.el (pretty-lambda.el) 相当の機能がビルトインに。これビルトインにするほどみんな使ってるかなぁ。
 

New minor mode `superword-mode', which overrides the default word motion
commands to treat "symbol_words" as a single word, similar to what
`subword-mode' does.


subword-mode の逆、snake_case の単語をひとまとまりに扱う super-word-mode が追加。

Incompatible Lisp Changes in Emacs 24.4

The default file coding for Emacs Lisp files is now utf-8.
(See `file-coding-system-alist'.)  In most cases, this change is
transparent, but files that contain unusual characters without
specifying an explicit coding system may fail to load with obscure
errors.  You should either convert them to utf-8 or add an explicit
`coding:' cookie.


elisp のコードがデフォルトで utf-8 と判断されるようになった。
 

Overlay priority does not have to be nil or a non-negative integer.
Overlay priority can be other kinds of Lisp objects.  We didn't yet
decide whether other types of values are stable enough, and therefore
don't feel it's right to document them.  For now, don't assume in your
code that the values of overlay priority can only be either nil or an
integer, always test them with an appropriate predicate to be one or
the other.  If you need to sort arbitrary overlays into priority
order, `overlays-at' can now optionally do this.
You should still only specify integer priorities on overlays you create.


オーバーレイの優先度が nil 、整数以外でもよくなった。けど、今のところ使われていないみたい。どうして変わったんだろ。
 

The cars of the elements in `interpreter-mode-alist' are now
treated as regexps rather than literal strings.


interpreter-mode-alist の key が正規表現になった。
 

`overriding-terminal-local-map' no longer replaces the local keymaps.
It used to disable the minor mode, major mode, and text-property keymaps,
whereas now it simply has higher precedence.


overriding-terminal-local-map がメジャーモードのキーマップを上書きしなくなった。
 

`defvar' and `defcustom' in a let-binding affect the "external" default.


let の中で defvar や defcustom してもエラーにならなくなった。普通に大域環境で定義される。
 

`read-event' does not always decode chars in ttys any more.  As was the case
in Emacs 22 and before, `read-event' (and `read-char') by default read raw
bytes from the terminal.  If you want to read decoded chars instead (as was
always the case in Emacs-23, for example), pass a non-nil
`inherit-input-method' argument.


read-event がたんにイベントのバイト表現 (文字表現ではなく) を返すようになった。
 

In `symbol-function', nil and "unbound" are indistinguishable.
`symbol-function' does not signal a `void-function' error any more.
To determine if a symbol's function definition is void, use `fboundp'.


関数未束縛のシンボルに対する symbol-function がエラーではなく nil になった。変数束縛と統一されてなくて個人的に不思議な感じがするけどどうして変わったんだろう。
 

`defadvice' does not honor the `freeze' flag and cannot advise
special-forms any more.


スペシャルフォームを defadvice できなくなった。 `freeze' ってなんだ。
 

By default `copy-file' no longer copies file permission bits to an
existing destination; and it sets the file permission bits of a newly
created destination to those of the source, masked by the default file
permissions.  To copy the file permission bits, pass t as the
PRESERVE-PERMISSIONS argument of `copy-file'.


copy-file がデフォルトではパーミッションをコピーしなくなった。
 

`visited-file-modtime' now returns -1 for nonexistent files.
Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous
in the presence of files with negative time stamps.


存在しないファイルに対する visited-file-modtime の戻り値が変わった (これなら -1 じゃなくて nil でもいいような…)。

Lisp Changes in Emacs 24.4

The second argument of `eval' can now specify a lexical environment.


eval がオプショナル引数で環境を受け取るようになった。
 

New macro `define-alternatives' can be used to define generic commands.
Generic commands are interactive functions whose implementation can be
selected among several alternatives, as a matter of user preference.


何種類かの動作を使い分けられる "ジェネリックコマンド" が定義できるようになった。
 

Numeric comparison functions =, <, >, <=, >= can now take many arguments.


数値比較関数が引数をいっぱい受け取るようになった。 (< 1 2 3) みたいな。
 

New macro `with-eval-after-load'.
This is like the old `eval-after-load', but better behaved.


クォートのいらない eval-after-load 、 with-eval-after-load が追加 (名前..)。
 

New variable `enable-dir-local-variables'.
Directory-local variables are ignored if this is nil.  This may be
useful for modes that want to ignore directory-locals while still
respecting file-local variables.


enable-dir-local-variables を nil にするとディレクトリローカルな変数を無効にできる。
 

`read-regexp' now uses the new variable `read-regexp-defaults-function'
as a function to call to provide default values.


read-regexp がデフォルト値を関数で生成できるようになった。
 

New hook `pre-redisplay-function'.


画面更新にフックがついた。使えるかも。
 

`split-string' now takes an optional argument TRIM.
The value, if non-nil, is a regexp that specifies what to trim from
the start and end of each substring.


split-string ができあがった文字列をトリミングできるようになった
 

New coding-system `prefer-utf-8'.
This is like `undecided' but prefers UTF-8 on decoding if the text to
be decoded does not contain any invalid UTF-8 sequences.  On encoding,
any non-ASCII characters are automatically encoded as UTF-8.


"特に問題がなければ utf-8 とみなす" という文字コードが追加。
 

New function `define-error'.


エラー型を定義するための関数が追加。
 

`with-demoted-errors' takes an additional argument `format'.


エラーを捻りつぶす with-demoted-errors がエラー時のメッセージの形式を指定できるようになった。
 

Errors from timer functions are no longer silently discarded,
but are reported as messages.  So you may see "Error running timer"
messages from code that was failing silently till now.  Set
`debug-on-error' non-nil to get a real error and a backtrace.


タイマー実行中にエラーが起きたときメッセージが表示されるようになった。 タイマー実行中のエラーも debug-on-error で捕まえられる。
 

Face specs set via Custom themes now replace the `defface' spec
rather than inheriting from it.  In other words, setting a face via a
theme now behaves like setting it via Customize: you only need to
specify the attributes that you want, you don't need to unset those
that you don't want.


テーマの face 定義が defface を上書きするようになった。
 

New face spec attribute :distant-foreground
specifies foreground to use if background color is near the foreground
color that would otherwise have been used.


face に背景色と文字色が一緒になってしまった場合の代わりの文字色を指定することができるようになった。
 

New function `add-face-text-property', which can be used to
conveniently prepend/append new face properties.


face に text-property を設定する関数が追加。
 

New face characteristic (supports :underline (:style wave))
specifies whether or not the terminal can display a wavy line.


":underline (:style wave)" がサポートされているかを調べられるようになった。
 

If Emacs is compiled with file notification support, it uses notifications
instead of checking file time stamps.  To disable this, set the user option
`auto-revert-use-notify' to nil.  Alternatively, you can specify a regular
expression matching directories to be excluded from file notifications via
`auto-revert-notify-exclude-dir-regexp'.


auto-revert などが file notification に対応した。
 

The new user option `auto-revert-remote-files' enables reversion
of remote files, if non-nil.


auto-revert-remote-files を non-nil にするとリモートのファイルもリバートされるようになる。
 

New bool-vector set operation functions:
- `bool-vector-exclusive-or'
- `bool-vector-union'
- `bool-vector-intersection'
- `bool-vector-set-difference'
- `bool-vector-not'
- `bool-vector-subsetp'
- `bool-vector-count-consecutive'
- `bool-vector-count-population'


bool-vector を操作する関数がいくつか追加。
 

New library subr-x.el with miscellaneous small utility functions:
- hash-table-keys'
- `hash-table-values'
- `string-blank-p'
- `string-empty-p'
- `string-join'
- `string-reverse'
- `string-trim-left'
- `string-trim-right'
- `string-trim'
- `string-remove-prefix'
- `string-remove-suffix'


文字列・ハッシュテーブル関連のユーティリティ関数がいくつか追加。
 

The spelling of the rx.el category `chinese-two-byte' has been
corrected (the first 'e' was missing).


rx.el にあった文字カテゴリの typo が直った。これ気になってたんだよなーw
 

`with-wrapper-hook' is obsoleted by `add-function'.
The few hooks that used with-wrapper-hook are replaced as follows:


Emacs 24.1 で追加された with-wrapper-hook がさっそく obsolete に。
2016.02.25 Thursday

スポンサーサイト

コメント
コメントする








 
Powered by
30days Album
PR