* doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
* lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
(tramp-gvfs-handle-expand-file-name)
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
(tramp-gvfs-maybe-open-connection): Support also "afp".
(tramp-gvfs-handle-file-attributes): Handle the case of empty
"owner::user" and "owner::group" entries.
Move the E slightly to the right in the circle.
* etc/images/icons/hicolor/128x128/apps/emacs.png:
* etc/images/icons/hicolor/16x16/apps/emacs.png:
* etc/images/icons/hicolor/24x24/apps/emacs.png:
* etc/images/icons/hicolor/32x32/apps/emacs.png:
* etc/images/icons/hicolor/48x48/apps/emacs.png:
* etc/images/icons/hicolor/scalable/apps/emacs.svg:
* nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
* nt/icons/emacs.ico: New icom update.
thunk.el is extracted from stream.el in ELPA, with additional tests.
* lisp/emacs-lisp/thunk.el: New file.
* test/automated/thunk-tests.el: New file.
* etc/NEWS: Add information about thunk.el
* lisp/dired-aux.el (dired-shell-command): Use the caller's
`default-directory', return the result of `process-file'.
(dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
used by default.
(dired-compress-files-alist): New defvar.
(dired-do-compress-to): New command.
* lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
(dired-do-compress-to): Add an autoload entry.
* etc/NEWS: Add two entries.
This is more compatible with Common Lisp and XEmacs (Bug#21690). See:
http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
* lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
(color-xyz-to-srgb, color-xyz-to-lab):
* lisp/emacs-lisp/cl-extra.el (cl-float-limits):
* lisp/net/shr-color.el (shr-color-hue-to-rgb)
(shr-color-hsl-to-rgb-fractions):
Exploit the change to simplify the code a bit.
* lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
Don’t complain about single-argument calls to ‘/’.
* src/data.c (arith_driver, float_arith_driver):
Implement the change.
* etc/compilation.txt (symbol ant): add an additional trailing blank line to this section, so that there are two of them immediately before the next section
* lisp/json.el (json-object-type): Mention order handling in doc-string.
(json--plist-reverse): New utility function.
(json-read-object): Maintain ordering for alists and plists.
(json-pretty-print): Ensure that ordering is maintained.
* test/automated/json-tests.el (test-json-plist-reverse): New test for
`json--plist-reverse'.
(json-read-simple-alist): Update test to accommodate for changes in
`json-read-object'.
* etc/NEWS: Document the new behavior of the pretty printing functions.
(sh-indent-after-continuation): Add new value `always' (bug#17620)
(sh-smie-sh-rules): Remove old handling of continued lines.
(sh-smie--indent-continuation): New function.
(sh-set-shell): Use it.
lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
amend to match current modes and functions.
(edebug-set-initial-mode): Uncomment and change from setting a defun's
`edebug-initial-mode''s property to setting the variable
`edebug-initial-mode'.
(top level): Create new binding C-x C-a C-m for
`edebug-set-initial-mode'.
doc/lispref/edebug.texi (Edebug Execution Modes): document
`edebug-set-initial-mode' and its new key binding.
(Edebug Options): Mention the new command in the pertinent place.
etc/NEWS: Write entry for this change.
* doc/lispref/files.texi (Magic File Names):
Mention `file-notify-valid-p'.
* doc/lispref/os.texi (File Notifications):
Describe `file-notify-valid-p'.
* etc/NEWS: Add `file-notify-valid-p'.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
Improve implementation.
(tramp-gvfs-monitor-file-process-filter): Rename from
`tramp-gvfs-file-gvfs-monitor-file-process-filter'. Delete
process if appropriate.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
Improve implementation.
(tramp-sh-gvfs-monitor-dir-process-filter): Rename from
`tramp-sh-file-gvfs-monitor-dir-process-filter'. Delete process
if appropriate.
(tramp-sh-inotifywait-process-filter): Rename from
`tramp-sh-file-inotifywait-process-filter'. Delete process if
appropriate.
* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Use `delete-process'
(tramp-handle-file-notify-valid-p): Check also, that file or
directory to be watched still exists.
* test/automated/file-notify-tests.el (file-notify--test-timeout):
New defun. Use it at all places a timeout is needed.
(file-notify--test-cleanup): Delete directories recursively.
Cleanup also Tramp connections.
(file-notify-test02-events): Add tests for `attribute-change'.
(file-notify-test04-file-validity, file-notify-test05-dir-validity):
Add tests for `file-notify-rm-watch'.
Prefer straight quotes in random script files, as they are not converted.
Prefer grave quotes in a couple of places in the manual that were missed
earlier, as these quotes are converted.
* etc/images/connect.pbm: New file.
* etc/images/custom/down-pushed.pbm: New file.
* etc/images/custom/down.pbm: New file.
* etc/images/custom/right-pushed.pbm: New file.
* etc/images/custom/right.pbm: New file.
* etc/images/describe.pbm: New file.
* etc/images/disconnect.pbm: New file.
* etc/images/ezimage/bits.pbm: New file.
* etc/images/ezimage/bitsbang.pbm: New file.
* etc/images/ezimage/box-minus.pbm: New file.
* etc/images/ezimage/box-plus.pbm: New file.
* etc/images/ezimage/box.pbm: New file.
* etc/images/ezimage/checkmark.pbm: New file.
* etc/images/ezimage/dir-minus.pbm: New file.
* etc/images/ezimage/dir-plus.pbm: New file.
* etc/images/ezimage/dir.pbm: New file.
* etc/images/ezimage/doc-minus.pbm: New file.
* etc/images/ezimage/doc-plus.pbm: New file.
* etc/images/ezimage/doc.pbm: New file.
* etc/images/ezimage/info.pbm: New file.
* etc/images/ezimage/key.pbm: New file.
* etc/images/ezimage/label.pbm: New file.
* etc/images/ezimage/lock.pbm: New file.
* etc/images/ezimage/mail.pbm: New file.
* etc/images/ezimage/page-minus.pbm: New file.
* etc/images/ezimage/page-plus.pbm: New file.
* etc/images/ezimage/page.pbm: New file.
* etc/images/ezimage/tag-gt.pbm: New file.
* etc/images/ezimage/tag-minus.pbm: New file.
* etc/images/ezimage/tag-plus.pbm: New file.
* etc/images/ezimage/tag-type.pbm: New file.
* etc/images/ezimage/tag-v.pbm: New file.
* etc/images/ezimage/tag.pbm: New file.
* etc/images/ezimage/unlock.pbm: New file.
* etc/images/gnus/important.pbm: New file.
* etc/images/gnus/mail-send.pbm: New file.
* etc/images/gnus/receipt.pbm: New file.
* etc/images/gnus/toggle-subscription.pbm: New file.
* etc/images/gnus/unimportant.pbm: New file.
* etc/images/gud/all.pbm: New file.
* etc/images/gud/rcont.pbm: New file.
* etc/images/gud/recstart.pbm: New file.
* etc/images/gud/recstop.pbm: New file.
* etc/images/gud/rfinish.pbm: New file.
* etc/images/gud/rnext.pbm: New file.
* etc/images/gud/rnexti.pbm: New file.
* etc/images/gud/rstep.pbm: New file.
* etc/images/gud/rstepi.pbm: New file.
* etc/images/gud/thread.pbm: New file.
* etc/images/lock-broken.pbm: New file.
* etc/images/lock-ok.pbm: New file.
* etc/images/lock.pbm: New file.
* etc/images/mail/copy.pbm: New file.
* etc/images/mail/forward.pbm: New file.
* etc/images/mail/not-spam.pbm: New file.
* etc/images/mail/outbox.pbm: New file.
* etc/images/mail/preview.pbm: New file.
* etc/images/mail/save-draft.pbm: New file.
* etc/images/mh-logo.pbm: New file.
* etc/images/mpc/add.pbm: New file.
* etc/images/mpc/ffwd.pbm: New file.
* etc/images/mpc/next.pbm: New file.
* etc/images/mpc/pause.pbm: New file.
* etc/images/mpc/play.pbm: New file.
* etc/images/mpc/prev.pbm: New file.
* etc/images/mpc/rewind.pbm: New file.
* etc/images/mpc/stop.pbm: New file.
* etc/images/redo.pbm: New file.
* etc/images/smilies/braindamaged.pbm: New file.
* etc/images/smilies/cry.pbm: New file.
* etc/images/smilies/dead.pbm: New file.
* etc/images/smilies/evil.pbm: New file.
* etc/images/smilies/forced.pbm: New file.
* etc/images/smilies/grin.pbm: New file.
* etc/images/smilies/indifferent.pbm: New file.
* etc/images/sort-ascending.pbm: New file.
* etc/images/sort-column-ascending.pbm: New file.
* etc/images/sort-criteria.pbm: New file.
* etc/images/sort-descending.pbm: New file.
* etc/images/sort-row-ascending.pbm: New file.
* etc/images/unchecked.pbm: New file.
* etc/images/zoom-in.pbm: New file.
*: New file.
: New file.
: New file.
* Please enter the commit message for your changes. Lines starting: New file.
* with '#' will be ignored, and an empty message aborts the commit.: New file.
* On branch master: New file.
* Your branch is up-to-date with 'origin/master'.: New file.
*: New file.
* Changes to be committed:: New file.
* modified: etc/images/README: New file.
* etc/images/connect.pbm: New file.
* etc/images/custom/down-pushed.pbm: New file.
* etc/images/custom/down.pbm: New file.
* etc/images/custom/right-pushed.pbm: New file.
* etc/images/custom/right.pbm: New file.
* etc/images/describe.pbm: New file.
* etc/images/disconnect.pbm: New file.
* etc/images/ezimage/bits.pbm: New file.
* etc/images/ezimage/bitsbang.pbm: New file.
* etc/images/ezimage/box-minus.pbm: New file.
* etc/images/ezimage/box-plus.pbm: New file.
* etc/images/ezimage/box.pbm: New file.
* etc/images/ezimage/checkmark.pbm: New file.
* etc/images/ezimage/dir-minus.pbm: New file.
* etc/images/ezimage/dir-plus.pbm: New file.
* etc/images/ezimage/dir.pbm: New file.
* etc/images/ezimage/doc-minus.pbm: New file.
* etc/images/ezimage/doc-plus.pbm: New file.
* etc/images/ezimage/doc.pbm: New file.
* etc/images/ezimage/info.pbm: New file.
* etc/images/ezimage/key.pbm: New file.
* etc/images/ezimage/label.pbm: New file.
* etc/images/ezimage/lock.pbm: New file.
* etc/images/ezimage/mail.pbm: New file.
* etc/images/ezimage/page-minus.pbm: New file.
* etc/images/ezimage/page-plus.pbm: New file.
* etc/images/ezimage/page.pbm: New file.
* etc/images/ezimage/tag-gt.pbm: New file.
* etc/images/ezimage/tag-minus.pbm: New file.
* etc/images/ezimage/tag-plus.pbm: New file.
* etc/images/ezimage/tag-type.pbm: New file.
* etc/images/ezimage/tag-v.pbm: New file.
* etc/images/ezimage/tag.pbm: New file.
* etc/images/ezimage/unlock.pbm: New file.
* etc/images/gnus/important.pbm: New file.
* etc/images/gnus/mail-send.pbm: New file.
* etc/images/gnus/receipt.pbm: New file.
* etc/images/gnus/toggle-subscription.pbm: New file.
* etc/images/gnus/unimportant.pbm: New file.
* etc/images/gud/all.pbm: New file.
* etc/images/gud/rcont.pbm: New file.
* etc/images/gud/recstart.pbm: New file.
* etc/images/gud/recstop.pbm: New file.
* etc/images/gud/rfinish.pbm: New file.
* etc/images/gud/rnext.pbm: New file.
* etc/images/gud/rnexti.pbm: New file.
* etc/images/gud/rstep.pbm: New file.
* etc/images/gud/rstepi.pbm: New file.
* etc/images/gud/thread.pbm: New file.
* etc/images/lock-broken.pbm: New file.
* etc/images/lock-ok.pbm: New file.
* etc/images/lock.pbm: New file.
* etc/images/mail/copy.pbm: New file.
* etc/images/mail/forward.pbm: New file.
* etc/images/mail/not-spam.pbm: New file.
* etc/images/mail/outbox.pbm: New file.
* etc/images/mail/preview.pbm: New file.
* etc/images/mail/save-draft.pbm: New file.
* etc/images/mh-logo.pbm: New file.
* etc/images/mpc/add.pbm: New file.
* etc/images/mpc/ffwd.pbm: New file.
* etc/images/mpc/next.pbm: New file.
* etc/images/mpc/pause.pbm: New file.
* etc/images/mpc/play.pbm: New file.
* etc/images/mpc/prev.pbm: New file.
* etc/images/mpc/rewind.pbm: New file.
* etc/images/mpc/stop.pbm: New file.
* etc/images/redo.pbm: New file.
* etc/images/smilies/braindamaged.pbm: New file.
* etc/images/smilies/cry.pbm: New file.
* etc/images/smilies/dead.pbm: New file.
* etc/images/smilies/evil.pbm: New file.
* etc/images/smilies/forced.pbm: New file.
* etc/images/smilies/grin.pbm: New file.
* etc/images/smilies/indifferent.pbm: New file.
* etc/images/sort-ascending.pbm: New file.
* etc/images/sort-column-ascending.pbm: New file.
* etc/images/sort-criteria.pbm: New file.
* etc/images/sort-descending.pbm: New file.
* etc/images/sort-row-ascending.pbm: New file.
* etc/images/unchecked.pbm: New file.
* etc/images/zoom-in.pbm: New file.
* etc/images/README: Update instructions for PBM files.
* etc/images/separator.pbm: New file. Having it avoids the side
effect of changing the tool-bar height when the default font's size
changes and XPM image support is not available, due to the SPC
characters that are left in the Lisp string used to display the tool
bar, because there are no images to display instead of those SPC
characters.
* lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
(parse-sexp-propertize-function): Use it.
(syntax-propertize): Disable parse-sexp-propertize-function.
* src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
New functions.
(syms_of_syntax): New vars `parse-sexp-propertize-done' and
`parse-sexp-propertize-function'.
* src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
(UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
(SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
* lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
Don't assume `point' is set.
This should help Emacs work better out-of-the-box on Linux consoles,
which have only limited support for displaying Unicode characters.
Also, undo the recent change that caused text-quoting-style to
affect quote display on terminals, so that the two features are
independent. See Alan Mackenzie in:
http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
Finally, add a style parameter to startup--setup-quote-display,
so that this function can also be invoked after startup, with
different styles depending on user preference at the time.
* configure.ac: Check for linux/kd.h header.
* doc/emacs/display.texi (Text Display): Document quote display.
* doc/lispref/display.texi (Active Display Table):
* etc/NEWS:
* lisp/startup.el (startup--setup-quote-display, command-line):
text-quoting-style no longer affects quote display.
* doc/lispref/frames.texi (Terminal Parameters): Fix typo.
* lisp/international/mule-util.el (char-displayable-p):
* lisp/startup.el (startup--setup-quote-display):
On a text terminal supporting glyph codes, use the reported
glyph codes instead of the terminal coding system, as this
is more accurate on the Linux console.
* lisp/startup.el (startup--setup-quote-display):
New optional arg STYLE.
* src/fontset.c (Finternal_char_font):
Report glyph codes for a text terminal, if they are available.
Currently this is supported only for the Linux console.
* src/termhooks.h (struct terminal): New member glyph-code-table.
* src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
(calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
(terminal_glyph_code): New function.
When `package-initialize' is called as part of loading the init file,
the user probably doesn't want it to be called again afterwards. In this
situation, `package-initialize' now sets `package-enable-at-startup' to
nil to prevent that. The user can have the old behaviour by setting this
variable to t after the call to `package-initialize'. (Bug#21423)
* doc/emacs/package.texi (Package Installation): Document it
* doc/lispref/package.texi (Packaging Basics): Document it
* etc/NEWS: Document it
* doc/emacs/building.texi (Lisp Interaction):
* doc/lispref/os.texi (Startup Summary):
* etc/NEWS: Document this.
* lisp/startup.el (initial-scratch-message):
Look up find-file’s key rather than hardcoding it.
(command-line-1): Substitute the doc string.
This also substitutes the quotes, which will help test display
quoting at startup.
This attempts to fix a problem reported by Alan Mackenzie in:
http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
* doc/lispref/display.texi (Active Display Table):
Mention how text-quoting-style affects it.
* doc/lispref/help.texi (Keys in Documentation):
Say how to set text-quoting-style in ~/.emacs.
* etc/NEWS: Document the change.
* lisp/startup.el (startup--setup-quote-display):
Follow user preference if text-quoting-style is set.
(command-line): Setup quote display again if user expresses
a preference in .emacs.
(vc-refresh-state): Rename from vc-find-file-hook and make interactive.
(vc-find-file-hook): Redefine as obsolete alias.
Copyright-paperwork-exempt: yes
* lisp/simple.el (prefix-command-echo-keystrokes-functions)
(prefix-command-preserve-state-hook): New hooks.
(internal-echo-keystrokes-prefix): New function.
(prefix-command--needs-update, prefix-command--last-echo): New vars.
(prefix-command-update, prefix-command-preserve): New functions.
(reset-this-command-lengths): New compatibility definition.
(universal-argument--mode): Call prefix-command-update.
(universal-argument, universal-argument-more, negative-argument)
(digit-argument): Call prefix-command-preserve-state.
* src/keyboard.c: Call internal-echo-keystrokes-prefix to build
the "prefix argument" to echo.
(this_command_key_count_reset, before_command_key_count)
(before_command_echo_length): Delete variables.
(echo_add_key): Always add a space.
(echo_char): Remove.
(echo_dash): Don't give up when this_command_key_count is 0, since that
is now the case after a prefix command.
(echo_update): New function, extracted from echo_now.
(echo_now): Use it.
(add_command_key, read_char, record_menu_key): Remove old disabled code.
(command_loop_1): Don't refrain from pushing an undo boundary when
prefix-arg is set. Remove other prefix-arg special case, now handled
directly in the prefix commands instead. But call echo_now if there's
a prefix state to echo.
(read_char, record_menu_key): Use echo_update instead of echo_char.
(read_key_sequence): Use echo_now rather than echo_dash/echo_char.
(Freset_this_command_lengths): Delete function.
(syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
(syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
* lisp/simple.el: Use those new hooks for C-u.
(universal-argument--description): New function.
(prefix-command-echo-keystrokes-functions): Use it.
(universal-argument--preserve): New function.
(prefix-command-preserve-state-hook): Use it.
(command-execute): Call prefix-command-update if needed.
* lisp/kmacro.el (kmacro-step-edit-prefix-commands)
(kmacro-step-edit-prefix-index): Delete variables.
(kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
support for prefix arg commands.
(kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
* lisp/emulation/cua-base.el (cua--prefix-override-replay)
(cua--shift-control-prefix): Use prefix-command-preserve-state.
Remove now unused arg `arg'.
(cua--prefix-override-handler, cua--prefix-repeat-handler)
(cua--shift-control-c-prefix, cua--shift-control-x-prefix):
Update accordingly.
(cua--prefix-override-timeout): Don't call reset-this-command-lengths
any more.
(cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
if the mark is not set.