]> git.eshelyaron.com Git - emacs.git/log
emacs.git
9 years agoMake [:graph:] act like [:print:] sans space
Paul Eggert [Wed, 15 Apr 2015 07:26:32 +0000 (00:26 -0700)]
Make [:graph:] act like [:print:] sans space

In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
[:graph:] so that it matches everything that [:print:] does,
except for space.
* doc/lispref/searching.texi (Char Classes):
* etc/NEWS:
* lisp/emacs-lisp/rx.el (rx):
Document [:graph:] to be [:print:] sans ' '.
* src/character.c, src/character.h (graphicp): New function.
* src/regex.c (ISGRAPH) [emacs]: Use it.
(BIT_GRAPH): New macro.
(BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
(re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
Return BIT_GRAPH for RECC_GRAPH.
(re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
and ISPRINT if BIT_PRINT.

9 years agoautomated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
Stefan Monnier [Wed, 15 Apr 2015 03:06:44 +0000 (23:06 -0400)]
automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:

Don't use call-next-method in a cl-defmethod.

9 years ago* lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
Stefan Monnier [Wed, 15 Apr 2015 03:04:45 +0000 (23:04 -0400)]
* lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class

(eieio--class-p): Remove, provided by cl-defstruct.

9 years agoAdd seq-intersection and seq-difference to the seq library
Nicolas Petton [Tue, 14 Apr 2015 22:33:27 +0000 (00:33 +0200)]
Add seq-intersection and seq-difference to the seq library

* lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
functions.

* test/automated/seq-tests.el: Add tests for seq-intersection and
seq-difference.

* doc/lispref/sequences.texi: Add documentation for seq-intersection
and seq-difference.

9 years ago; CONTRIBUTE: Update the "make the ChangeLog entry in their name" bit
Dmitry Gutov [Tue, 14 Apr 2015 23:21:55 +0000 (02:21 +0300)]
; CONTRIBUTE: Update the "make the ChangeLog entry in their name" bit

Fixes: debbugs:20328
9 years ago; CONTRIBUTE: Remove the "relax this rule for commit messages" bit
Dmitry Gutov [Tue, 14 Apr 2015 23:15:07 +0000 (02:15 +0300)]
; CONTRIBUTE: Remove the "relax this rule for commit messages" bit

Fixes: debbugs:20328
9 years ago; Set indent-tabs-mode to nil in (most) Elisp sources
Dmitry Gutov [Tue, 14 Apr 2015 22:40:52 +0000 (01:40 +0300)]
; Set indent-tabs-mode to nil in (most) Elisp sources

Fixes: bug#20323
9 years ago* eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
Stefan Monnier [Tue, 14 Apr 2015 21:26:12 +0000 (17:26 -0400)]
* eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals

9 years agopackage--ensure-init-file: widen requires save-restriction
Sam Steingold [Tue, 14 Apr 2015 19:14:20 +0000 (15:14 -0400)]
package--ensure-init-file: widen requires save-restriction

9 years agoImprove the commit-msg Git hook for unibyte environments
Eli Zaretskii [Tue, 14 Apr 2015 18:57:23 +0000 (21:57 +0300)]
Improve the commit-msg Git hook for unibyte environments

* build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
in unibyte environments.  (Suggested by Paul Eggert
<eggert@cs.ucla.edu>.)  Use a more accurate approximation to
[:print:], based on UTF-8 sequences of the unprintable characters.

9 years agoDescribe problems with cursor caused by Windows Magnifier
Eli Zaretskii [Tue, 14 Apr 2015 16:34:05 +0000 (19:34 +0300)]
Describe problems with cursor caused by Windows Magnifier

* etc/PROBLEMS: Describe the problem with cursor shape on
MS-Windows due to Windows Magnifier.

Fixes: Bug#20271
9 years agoMake [:print:] support non-ASCII characters correctly
Eli Zaretskii [Tue, 14 Apr 2015 15:47:04 +0000 (18:47 +0300)]
Make [:print:] support non-ASCII characters correctly

* src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
(BIT_PRINT): New bit mask.
(re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
* src/character.c (printablep): New function.
* src/character.h (printablep): Add prototype.

* lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
of 'print', 'alnum', and 'alphabetic'.

* doc/lispref/searching.texi (Char Classes): Document the new
behavior of [:print:].

* etc/NEWS: Mention the new behavior of [:print:].

9 years agoAssign correct general-category and names to surrogates
Eli Zaretskii [Tue, 14 Apr 2015 15:37:07 +0000 (18:37 +0300)]
Assign correct general-category and names to surrogates

* admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
surrogates.  This avoids assigning them the default
general-category of 'Cn', i.e. unassigned codepoints.
(unidata-get-name): Give surrogates synthetic names.

9 years agoAssume C89 offsetof in xterm.c, xlwmenu.c
Paul Eggert [Tue, 14 Apr 2015 07:58:07 +0000 (00:58 -0700)]
Assume C89 offsetof in xterm.c, xlwmenu.c

* lwlib/xlwmenu.c (offset):
* src/xterm.c (cvt_string_to_pixel_args):
Use offsetof, not XtOffset.

9 years agoAssume C89 offsetof in widget.c
Paul Eggert [Tue, 14 Apr 2015 07:37:48 +0000 (00:37 -0700)]
Assume C89 offsetof in widget.c

* src/widget.c (XtOffset): Remove; no longer needed.
(offset): Implement via offsetof instead of via pre-C89 XtOffset hack.

9 years agoFix think-o in previous patch
Paul Eggert [Tue, 14 Apr 2015 07:26:18 +0000 (00:26 -0700)]
Fix think-o in previous patch

* src/window.c (count_windows, get_leaf_windows):
Don't optimize count_windows incorrectly.

9 years agoAvoid some int overflows in window.c
Paul Eggert [Tue, 14 Apr 2015 06:26:13 +0000 (23:26 -0700)]
Avoid some int overflows in window.c

* src/print.c (print_object):
* src/window.c (sequence_number):
* src/window.h (struct window.sequence_number):
Don't assume window sequence number fits in int.
* src/window.c (window_select_count):
* src/window.h (struct window.use_time, window_select_count):
Don't assume window use time fits in int.
* src/window.c (Fsplit_window_internal):
Don't assume user-supplied integer, or sum, fits in int.
(Fset_window_configuration, count_windows, get_leaf_windows)
(save_window_save, Fcurrent_window_configuration):
Use ptrdiff_t for object counts.
(Fset_window_configuration): Omit unused local 'n'.
(count_windows): Simplify by writing in terms of get_leaf_windows.
(get_leaf_windows): Don't store through FLAT if it's null.
(extract_dimension): New static function.
(set_window_margins, set_window_fringes, set_window_scroll_bars):
Use it to avoid undefined behavior when converting user-supplied
integer to 'int'.

9 years agoMinor doc copyedits
Glenn Morris [Tue, 14 Apr 2015 06:20:48 +0000 (23:20 -0700)]
Minor doc copyedits

* doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.

* doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.

9 years ago[Gnus] Catch the invalid-operation that idna.el will issue
Katsumi Yamaoka [Tue, 14 Apr 2015 03:35:02 +0000 (03:35 +0000)]
[Gnus] Catch the invalid-operation that idna.el will issue

* lisp/gnus/gnus-art.el (gnus-use-idna):
* lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
* lisp/gnus/message.el (message-use-idna):
Catch the invalid-operation that idna.el will issue.

9 years ago* doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
Paul Eggert [Tue, 14 Apr 2015 03:30:50 +0000 (20:30 -0700)]
* doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.

9 years agopackage--ensure-init-file: widen before looking for "(package-initialize)"
Sam Steingold [Tue, 14 Apr 2015 03:27:02 +0000 (23:27 -0400)]
package--ensure-init-file: widen before looking for "(package-initialize)"

9 years agoChange diff-switches default to `-u'
Dmitry Gutov [Tue, 14 Apr 2015 02:03:32 +0000 (05:03 +0300)]
Change diff-switches default to `-u'

Fixes: debbugs:20290
* doc/emacs/files.texi (Comparing Files): Document the new default
value of `diff-switches'.

* doc/emacs/trouble.texi (Sending Patches): Document the preference
for unified diff format.  Escape the plus in the suggested `-F' regexp
value.

* lisp/vc/diff.el (diff-switches): Change the default to `-u'.

9 years ago(gnus-group--setup-tool-bar-update): Fix last change
Stefan Monnier [Tue, 14 Apr 2015 01:30:27 +0000 (21:30 -0400)]
(gnus-group--setup-tool-bar-update): Fix last change

* lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
cursor-sensor-functions should be a list of functions.

9 years agoUse gmm-called-interactively-p in Gnus
Katsumi Yamaoka [Mon, 13 Apr 2015 23:42:18 +0000 (23:42 +0000)]
Use gmm-called-interactively-p in Gnus

* lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.

9 years ago* lisp/loadup.el ("cus-start"): Load it after loaddefs.el
Stefan Monnier [Mon, 13 Apr 2015 22:21:00 +0000 (18:21 -0400)]
* lisp/loadup.el ("cus-start"): Load it after loaddefs.el

Fixes: debbugs:20321
* lisp/cus-start.el (read-buffer-function): Don't advertize
iswitchb-read-buffer any more.
(iswitchb): Don't tweak this obsolete group any more.

9 years ago* lisp/emacs-lisp/package.el: Fix package--ensure-init-file
Artur Malabarba [Mon, 13 Apr 2015 19:50:33 +0000 (20:50 +0100)]
* lisp/emacs-lisp/package.el: Fix package--ensure-init-file

9 years ago* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
Artur Malabarba [Mon, 13 Apr 2015 12:13:36 +0000 (13:13 +0100)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings

Adding a string after a constructor's argument list will use
that string as the constructor function docstring.  If this string
is absent but the struct itself was given a docstring, use that as
the constructor's docstring.

Fixes (bug#17284).

9 years agoDeprecate `intangible' and `point-entered' properties
Stefan Monnier [Mon, 13 Apr 2015 19:51:15 +0000 (15:51 -0400)]
Deprecate `intangible' and `point-entered' properties

* lisp/emacs-lisp/cursor-sensor.el: New file.

* lisp/simple.el (pre-redisplay-functions): New hook.
(redisplay--pre-redisplay-functions): New function.
(pre-redisplay-function): Use it.
(minibuffer-avoid-prompt): Mark obsolete.
(redisplay--update-region-highlight): Adapt it to work as a function on
pre-redisplay-functions.

* lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
(minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
than point-entered to make the prompt intangible.

* lisp/forms.el: Move `provide' calls to the end.
(forms-mode): Don't use `run-hooks' on a local var.
(forms--make-format, forms--make-format-elt-using-text-properties):
Use cursor-intangible rather than `intangible'.
(forms-mode): Enable cursor-intangible-mode.

* lisp/isearch.el (isearch-mode): Use defvar-local.
(cursor-sensor-inhibit): Declare.
(isearch-mode): Set cursor-sensor-inhibit.
(isearch-done): Set it back.
(isearch-open-overlay-temporary, isearch-open-necessary-overlays)
(isearch-close-unnecessary-overlays): Don't bother with `intangible'
any more.

* lisp/ses.el (ses-localvars): Remove `mode-line-process'.
(ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
Add Edebug spec.
(ses-goto-print, ses-print-cell, ses-adjust-print-width)
(ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
inhibit-point-motion-hooks any more.
(ses--cell-at-pos, ses--curcell): New functions, extracted from
ses-set-curcell.
(ses-set-curcell): Use them.
(ses-print-cell, ses-setup): Use cursor-intangible instead of
`intangible'.  Make sure cursor-intangible isn't sticky at BOB.
(ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
Use ses--cell-at-pos.
(ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
extracted from ses-command-hook.  Make them work with multiple windows
displaying the same buffer.
(ses-mode): Use them via mode-line-process and pre-redisplay-functions.
Enable cursor-intangible-mode.
(ses-command-hook): Remove cell highlight and mode-line update code.
(ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
Update for new name of text-property holding the cell name.
(ses-rename-cell): Don't mess with mode-line-process.

* lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
cursor-sensor-functions property instead of point-entered.
(erc-insert-timestamp-right, erc-format-timestamp):
Use cursor-intangible rather than `intangible'.
(erc-munge-invisibility-spec): Use add-to-invisibility-spec and
remove-from-invisibility-spec.  Enable cursor-intangible-mode and
cursor-sensor-mode if needed.
(erc-echo-timestamp): Adapt to calling convention of
cursor-sensor-functions.
(erc-insert-timestamp-right): Remove unused vars `current-window' and
`indent'.

* lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
(gnus-update-group-mark-positions): Remove unused `topic' var.
(gnus-group-insert-group-line): Remove unused var `header'.
(gnus-group--setup-tool-bar-update): New function.
(gnus-group-insert-group-line): Use it.
(gnus-group-update-eval-form): Declare local
dynamically-bound variables.
(gnus-group-unsubscribe-group): Use \` and \' to match string bounds.

* lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
(gnus-group-prepare-topics, gnus-topic-update-topic)
(gnus-topic-change-level, gnus-topic-catchup-articles)
(gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
Use inhibit-read-only.
(gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
(gnus-topic-mode): Use define-minor-mode and derived-mode-p.

* lisp/textmodes/reftex-index.el (reftex-display-index):
Use cursor-intangible-mode if available.
(reftex-index-post-command-hook): Check cursor-intangible.

* lisp/textmodes/reftex-toc.el (reftex-toc):
Use cursor-intangible-mode if available.
(reftex-toc-recenter, reftex-toc-post-command-hook):
Check cursor-intangible.

* lisp/textmodes/sgml-mode.el: Use lexical-binding.
(sgml-tag): Use cursor-sensor-functions instead of point-entered.
(sgml-tags-invisible): Use with-silent-modifications and
inhibit-read-only.  Enable cursor-sensor-mode.
(sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
calling convention of cursor-sensor-functions.

* lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
(table-point-entered-cell-hook, table-point-left-cell-hook):
Don't autoload.
(table-cell-entered-state): Remove var.
(table--put-cell-point-entered/left-property)
(table--remove-cell-properties):
Use cursor-sensor-functions rather than point-entered/left.
(table--point-entered/left-cell-function): Merge
table--point-entered-cell-function and table--point-left-cell-function
and adjust to calling convention of cursor-sensor-functions.

9 years agoUpdate ldef-boots.el
Stefan Monnier [Mon, 13 Apr 2015 18:55:10 +0000 (14:55 -0400)]
Update ldef-boots.el

9 years ago* lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
Stefan Monnier [Mon, 13 Apr 2015 18:46:58 +0000 (14:46 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.

9 years ago* doc/misc/eieio.texi: Don't advertize now obsolete constructs
Stefan Monnier [Mon, 13 Apr 2015 18:36:55 +0000 (14:36 -0400)]
* doc/misc/eieio.texi: Don't advertize now obsolete constructs

9 years agoCollapse successive char deletions in the undo log
Stefan Monnier [Mon, 13 Apr 2015 18:05:09 +0000 (14:05 -0400)]
Collapse successive char deletions in the undo log

* src/cmds.c (remove_excessive_undo_boundaries): New function,
extracted from Fself_insert_command.
(Fdelete_char, Fself_insert_command): Use it.
* src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
* src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.

9 years agoxterm and OSC 52: Add NEWS entry, and tweak the code
Stefan Monnier [Mon, 13 Apr 2015 15:36:30 +0000 (11:36 -0400)]
xterm and OSC 52: Add NEWS entry, and tweak the code

* lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
top-level.
(terminal-init-xterm-activate-set-selection): Set a terminal property.
(xterm--set-selection): Use it instead of checking the value of
`terminal-initted'.  Don't use string-bytes.

9 years agoxterm.el: Implement OSC-52 functionality for setting the X selection
Philipp Stephani [Mon, 13 Apr 2015 14:48:47 +0000 (10:48 -0400)]
xterm.el: Implement OSC-52 functionality for setting the X selection

* lisp/term/xterm.el (xterm-max-cut-length): New var.
(xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
(terminal-init-xterm, xterm--version-handler): Use them.

9 years agoRemove left over code from when we used an obsolete/loaddefs.el file
Stefan Monnier [Mon, 13 Apr 2015 14:41:30 +0000 (10:41 -0400)]
Remove left over code from when we used an obsolete/loaddefs.el file

* lisp/subr.el (do-after-load-evaluation): Remove left over code from when
we used an obsolete/loaddefs.el file.

9 years ago* cedet/semantic/fw.el: Use declare.
Stefan Monnier [Mon, 13 Apr 2015 14:39:25 +0000 (10:39 -0400)]
* cedet/semantic/fw.el: Use declare.

* cedet/semantic/fw.el (semantic-exit-on-input)
(semanticdb-without-unloaded-file-searches): Use declare.
(semantic-fw-add-edebug-spec): Remove.

9 years ago(completion-lisp-mode-hook): Use completion-separator-chars
Stefan Monnier [Mon, 13 Apr 2015 14:35:15 +0000 (10:35 -0400)]
(completion-lisp-mode-hook): Use completion-separator-chars

* lisp/completion.el (completion-lisp-mode-hook):
Use completion-separator-chars rather than local key binding.

9 years ago* src/*.c: Set deactivate_mark buffer-locally
Stefan Monnier [Mon, 13 Apr 2015 14:16:38 +0000 (10:16 -0400)]
* src/*.c: Set deactivate_mark buffer-locally

Fixes: debbugs:20260
* src/insdel.c (prepare_to_modify_buffer_1):
* src/fileio.c (Finsert_file_contents): Set deactivate_mark
buffer-locally.

9 years agopython.el: Keep symmetry on sexp navigation with parens
Fabián Ezequiel Gallina [Mon, 13 Apr 2015 01:43:44 +0000 (22:43 -0300)]
python.el: Keep symmetry on sexp navigation with parens

Fixes: debbugs:19954
* lisp/progmodes/python.el
(python-nav--forward-sexp): Add argument skip-parens-p.
(python-nav-forward-sexp, python-nav-backward-sexp)
(python-nav-forward-sexp-safe)
(python-nav-backward-sexp-safe): Use it.

* test/automated/python-tests.el
(python-nav-forward-sexp-1): Fix test.

9 years agoDon't use `setq-local' in Gnus code
João Távora [Sun, 12 Apr 2015 22:23:44 +0000 (23:23 +0100)]
Don't use `setq-local' in Gnus code

This might break upstream builds with older Emacsen

* lisp/gnus/message.el (message-mode): Use `set' and
`make-local-variable' instead of `setq-local'.

9 years agoUpdate Makefile.in's .PHONY dependencies
Paul Eggert [Sun, 12 Apr 2015 22:21:08 +0000 (15:21 -0700)]
Update Makefile.in's .PHONY dependencies

* Makefile.in (change-history-commit, master-branch-is-current)
(no-ChangeLog): Now phony.

9 years agoRemove configure's --with-mmdf option
Paul Eggert [Sun, 12 Apr 2015 21:55:38 +0000 (14:55 -0700)]
Remove configure's --with-mmdf option

* configure.ac (MAIL_USE_MMDF): Remove.
* etc/NEWS: Document this.
* lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
Fixes: bug#20308
9 years ago* doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
Paul Eggert [Sun, 12 Apr 2015 18:26:50 +0000 (11:26 -0700)]
* doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.

That way, 'make install' won't think it's a man page.
Reported by Ashish SHUKLA in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html

9 years agoImprove 'make change-history' prereq tests
Paul Eggert [Sun, 12 Apr 2015 17:21:59 +0000 (10:21 -0700)]
Improve 'make change-history' prereq tests

* Makefile.in (gen_origin): Fix to match what's in the master branch.
(no-ChangeLog, master-branch-is-current): New rules.
(change-history): Depend on them, to avoid similar future problems.
Escape the local-variables string to pacify Emacs when editing
Makefile.in.

9 years ago* test/automated/package-test.el (with-package-test): Kill Packages buffer
Artur Malabarba [Sun, 12 Apr 2015 15:10:22 +0000 (16:10 +0100)]
* test/automated/package-test.el (with-package-test): Kill Packages buffer

9 years ago* lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
Artur Malabarba [Sun, 12 Apr 2015 14:11:08 +0000 (15:11 +0100)]
* lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt

(package-menu--prompt-transaction-p): Prompt for "Delete" first,
"Upgrade" last, and use capitalized instead of all-caps.

9 years ago* lisp/emacs-lisp/package.el: Completely silence async operations
Artur Malabarba [Sun, 12 Apr 2015 14:03:45 +0000 (15:03 +0100)]
* lisp/emacs-lisp/package.el: Completely silence async operations

(package--make-autoloads-and-stuff): Silence autoloads.

(package--save-selected-packages): New function, silences
`customize-save-variable'.
(package--user-selected-p, package-install-from-buffer)
(package-delete, package-install): Use it.

(package-install-from-archive)
(package-menu--perform-transaction): Silence.

(package-menu-execute): Feedback when operation starts.

9 years agoUse delay-mode-hooks when visiting the init-file
Artur Malabarba [Sun, 12 Apr 2015 13:37:45 +0000 (14:37 +0100)]
Use delay-mode-hooks when visiting the init-file

* lisp/emacs-lisp/package.el (package--ensure-init-file):
delay-mode-hooks

* lisp/cus-edit.el (custom-save-all): delay-mode-hooks

9 years ago* lisp/files.el: Only message when saving if save-silently is nil
Artur Malabarba [Sun, 12 Apr 2015 13:36:54 +0000 (14:36 +0100)]
* lisp/files.el: Only message when saving if save-silently is nil

(save-silently): New variable.
(files--message): New function.

(find-file-noselect, save-buffer, basic-save-buffer)
(basic-save-buffer-2, save-some-buffers, not-modified)
(append-to-file): Use them.

9 years agoSupport debug declarations in pcase macros
Johan Bockgård [Sun, 12 Apr 2015 14:26:52 +0000 (16:26 +0200)]
Support debug declarations in pcase macros

* lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
(pcase-UPAT): Use it.  Remove "`".
(pcase--edebug-match-macro): New function.
(pcase-defmacro): Support debug declarations.

* lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
* lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
* lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.

9 years agopcase.el: Edebug support for `app' and vector patterns
Johan Bockgård [Sun, 12 Apr 2015 14:26:51 +0000 (16:26 +0200)]
pcase.el: Edebug support for `app' and vector patterns

* lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
(pcase-UPAT): Use it. Support `app' patterns.
(pcase-QPAT): Support vector patterns.

9 years agoedebug.el: Disambiguate vector specifications
Johan Bockgård [Sun, 12 Apr 2015 14:26:51 +0000 (16:26 +0200)]
edebug.el: Disambiguate vector specifications

* lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
`(vector ...)' as a vector specification, not as a sublist.

9 years ago(gnus-summary-refer-thread): Don't clobber unread articles
Johan Bockgård [Sun, 12 Apr 2015 14:13:08 +0000 (16:13 +0200)]
(gnus-summary-refer-thread): Don't clobber unread articles

This fixes a bug where `A T' causes "random" articles to become marked
as read.

* lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
gnus-newsgroup-unreads remains sorted.

9 years agomouse-sel.el: Fix mouse-sel-get-selection-function
Johan Bockgård [Sun, 12 Apr 2015 13:55:32 +0000 (15:55 +0200)]
mouse-sel.el: Fix mouse-sel-get-selection-function

* lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
Use gui--last-selected-text-primary instead of no longer existing
gui-last-selected-text.

9 years ago* lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
Johan Bockgård [Sun, 12 Apr 2015 13:50:02 +0000 (15:50 +0200)]
* lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.

9 years ago* lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
Johan Bockgård [Sun, 12 Apr 2015 13:37:50 +0000 (15:37 +0200)]
* lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.

9 years ago* lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
Artur Malabarba [Sun, 12 Apr 2015 12:47:58 +0000 (13:47 +0100)]
* lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate

9 years ago* lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
Artur Malabarba [Sun, 12 Apr 2015 12:44:43 +0000 (13:44 +0100)]
* lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer

9 years ago* lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
Artur Malabarba [Sun, 12 Apr 2015 11:05:13 +0000 (12:05 +0100)]
* lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations

(byte-compile--interactive): New var.
(byte-compile--message): New function.
(byte-compile-log-1, byte-force-recompile)
(byte-recompile-directory, byte-recompile-file)
(byte-compile-file, compile-defun)
(byte-compile-file-form-defmumble, byte-compile)
(byte-compile-file-form-defalias, display-call-tree): Use it.

9 years ago* lisp/files.el: Don't message when nothing happened
Artur Malabarba [Sun, 12 Apr 2015 11:01:24 +0000 (12:01 +0100)]
* lisp/files.el: Don't message when nothing happened

(save-some-buffers, basic-save-buffer): Before messaging to say
"nothing was saved" check if (called-interactively-p 'any).

9 years agoSummary: Improve sexp-based movement in message-mode
João Távora [Sun, 12 Apr 2015 12:12:27 +0000 (13:12 +0100)]
Summary: Improve sexp-based movement in message-mode

Works by giving citations and smileys a different syntax.  This helps
modes like `show-paren-mode', `electric-pair-mode', and C-M-*
sexp-based movement.

* lisp/gnus/message.el (message--syntax-propertize): New function.
(message-mode): Set syntax-related vars.
(message-smileys): New variable.

* test/automated/message-mode-tests.el: New file

9 years agoUse bool for boolean in window.c
Paul Eggert [Sun, 12 Apr 2015 03:45:08 +0000 (20:45 -0700)]
Use bool for boolean in window.c

* src/window.c: Omit unnecessary static function decls.
(adjust_window_count, select_window, Fselect_window)
(window_body_width, Fwindow_body_height, Fwindow_body_width)
(set_window_hscroll, check_window_containing, Fwindow_at)
(Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
(unshow_buffer, replace_window, recombine_windows)
(add_window_to_list, candidate_window_p, next_window)
(Fnext_window, Fprevious_window, window_loop, check_all_windows)
(Fget_buffer_window, Fdelete_other_windows_internal)
(replace_buffer_in_windows_safely, set_window_buffer)
(Fset_window_buffer, Fforce_window_update)
(temp_output_buffer_show, make_parent_window)
(window_resize_check, window_resize_apply, Fwindow_resize_apply)
(resize_frame_windows, Fsplit_window_internal)
(Fdelete_window_internal, grow_mini_window, shrink_mini_window)
(Fresize_mini_window_internal, mark_window_cursors_off)
(window_scroll, window_scroll_pixel_based)
(window_scroll_line_based, scroll_command, Fscroll_other_window)
(Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
(Fmove_to_window_line, Fset_window_configuration)
(delete_all_child_windows, apply_window_adjustment)
(set_window_fringes, set_window_scroll_bars)
(Fset_window_vscroll, foreach_window, foreach_window_1)
(compare_window_configurations, Fcompare_window_configurations):
Prefer 'bool', 'true', and 'false' for booleans.
* src/window.h (WINDOW_MODE_LINE_LINES)
(WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.

9 years agoSpeed up byte-compilation and autoload generation by avoiding mode-hooks
Artur Malabarba [Sun, 12 Apr 2015 02:23:35 +0000 (03:23 +0100)]
Speed up byte-compilation and autoload generation by avoiding mode-hooks

This prevents emacs-lisp-mode-hook from being run everytime an
autoload file is generated, which can account for a fraction of
package installation time depending on the hooks the user has
configured.

* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.

* lisp/emacs-lisp/autoload.el (autoload-find-file)
(autoload-find-generated-file): Use delay-mode-hooks.

9 years ago* lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
Artur Malabarba [Sun, 12 Apr 2015 02:55:21 +0000 (03:55 +0100)]
* lisp/emacs-lisp/package.el: Improve `package-menu-refresh'

(package-menu-refresh): Respect async and do new package checking.
(list-packages): Use `package-menu-refresh' instead of repeating code.

9 years ago* lisp/emacs-lisp/package.el: Improve package-menu-quick-help
Artur Malabarba [Sun, 12 Apr 2015 02:08:21 +0000 (03:08 +0100)]
* lisp/emacs-lisp/package.el: Improve package-menu-quick-help

(package--quick-help-keys): New variable.
(package--prettify-quick-help-key): New function.
(package-menu-quick-help): Use it.

9 years ago* lisp/emacs-lisp/package.el: Fix initially wrong compat table
Artur Malabarba [Sun, 12 Apr 2015 01:33:29 +0000 (02:33 +0100)]
* lisp/emacs-lisp/package.el: Fix initially wrong compat table

(package--build-compatibility-table): require finder

9 years ago* test/automated/package-test.el: Fix new test
Artur Malabarba [Sun, 12 Apr 2015 01:14:03 +0000 (02:14 +0100)]
* test/automated/package-test.el: Fix new test

9 years ago* lisp/emacs-lisp/package.el: Silence async operations
Artur Malabarba [Sun, 12 Apr 2015 00:52:43 +0000 (01:52 +0100)]
* lisp/emacs-lisp/package.el: Silence async operations

(package--silence): New variable.
(package--message): New function.

(package-import-keyring, package-refresh-contents)
(package-compute-transaction, package-install, package-delete)
(package-menu--perform-transaction, package-menu-execute): Use it.

9 years ago* test/automated/package-test.el: Test async functionality
Artur Malabarba [Sun, 12 Apr 2015 00:10:35 +0000 (01:10 +0100)]
* test/automated/package-test.el: Test async functionality

(package-test-update-archives-async): New test

9 years agoUtilize `make-process' in epg.el
Daiki Ueno [Sat, 11 Apr 2015 07:31:59 +0000 (16:31 +0900)]
Utilize `make-process' in epg.el

* lisp/epg.el (epg-error-output): Abolish.
(epg-context): New slot `error-buffer'.
(epg--start): Use `make-process' and `make-pipe-process'.
(epg--process-filter): Remove code separating stderr from stdout.
(epg-wait-for-completion): Simplify `error-output' handling.
(epg-reset): Dispose error buffer.

9 years ago* .gitignore: Ignore doc temps and outputs.
Paul Eggert [Sat, 11 Apr 2015 20:49:08 +0000 (13:49 -0700)]
* .gitignore: Ignore doc temps and outputs.

9 years agoPort commit-msg to MSYS Bash+Gawk
Paul Eggert [Sat, 11 Apr 2015 20:04:37 +0000 (13:04 -0700)]
Port commit-msg to MSYS Bash+Gawk

See Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
* build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
(cent_sign, print_at_sign, at_sign): Revert previous change.
(print_at_sign): Prepend "BEGIN".
(at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.

9 years agoPort commit-msg to broken MS-Windows shell
Paul Eggert [Sat, 11 Apr 2015 15:19:13 +0000 (08:19 -0700)]
Port commit-msg to broken MS-Windows shell

* build-aux/git-hooks/commit-msg (cent_sign):
Just use UTF-8 here rather than ASCII + printf, as the latter fails
on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html

9 years agoSupport GnuTLS v3.4 and later on MS-Windows
Chris Zheng [Sat, 11 Apr 2015 15:06:52 +0000 (18:06 +0300)]
Support GnuTLS v3.4 and later on MS-Windows

* src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
* lisp/term/w32-win.el (dynamic-library-alist): Determine which
GnuTLS DLL to load according to value of libgnutls-version.

Fixes: bug#20294
Copyright-paperwork-exempt: yes

9 years agoMinor quoting etc. fixes to misc manuals
Paul Eggert [Sat, 11 Apr 2015 14:47:25 +0000 (07:47 -0700)]
Minor quoting etc. fixes to misc manuals

Fix some minor quoting and spacing issues.  Distinguish more
clearly among grave accent and apostrophe (which are ASCII) and
single quote (which is not).  Prefer the standard terms
"apostrophe" and "grave accent" to alternative names that can be
confusing.  Use apostrophes to single-quote ASCII text.
* doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
rather than approximating it in ASCII with grave accent.

9 years agoRespect more keyword args in `make-process'
Daiki Ueno [Sat, 11 Apr 2015 07:01:18 +0000 (16:01 +0900)]
Respect more keyword args in `make-process'

* process.c (Fmake_process): Respect `:sentinel' and `:filter'
keywords as documented.

9 years agoExtract ChangeLog entries when committing a directory
Dmitry Gutov [Sat, 11 Apr 2015 04:09:28 +0000 (07:09 +0300)]
Extract ChangeLog entries when committing a directory

* lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.

* lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
Add a FIXME comment.
(log-edit-changelog-entries): Extract from
`log-edit-changelog-entries', handle FILE being a directory
(http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).

9 years agoFix problems found by --enable-gcc-warnings
Paul Eggert [Sat, 11 Apr 2015 02:36:29 +0000 (19:36 -0700)]
Fix problems found by --enable-gcc-warnings

* src/process.c (create_process, Fmake_pipe_process)
(Fmake_network_process): Omit unused locals.

9 years agoFix commit-msg to handle scissors lines
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
Fix commit-msg to handle scissors lines

* build-aux/git-hooks/commit-msg:
Ignore every line after a scissors line, such as a line generated
by 'git commit -v'.  Problem reported by Johan Bockgård in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html

9 years agoport commit-msg to Gawk 3.0.4 (1999)
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
port commit-msg to Gawk 3.0.4 (1999)

* build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
(print_at_sign, at_sign): New vars.  Use them to avoid problems
Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html

9 years agoHave commit-msg report commit failure
Paul Eggert [Sat, 11 Apr 2015 02:12:16 +0000 (19:12 -0700)]
Have commit-msg report commit failure

* build-aux/git-hooks/commit-msg: If the commit is aborted,
say so.  Simplify by doing this at the end.  Problem reported
by Eli Zaretskii in:
http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html

9 years agoClean up LDAP Configuration section of EUDC manual
Thomas Fitzsimmons [Sat, 11 Apr 2015 01:55:40 +0000 (21:55 -0400)]
Clean up LDAP Configuration section of EUDC manual

* doc/misc/eudc.texi: Combine indices.
(LDAP Configuration): Use command markup.  Add index entries.
Change formatting.  Wrap long lines.  Add noindent markup.

9 years agoAdd facility to collect stderr of async subprocess
Daiki Ueno [Tue, 7 Apr 2015 08:42:09 +0000 (17:42 +0900)]
Add facility to collect stderr of async subprocess

* src/w32.h (register_aux_fd): New function declaration.
* src/w32.c (register_aux_fd): New function.
* src/process.h (struct Lisp_Process): New member stderrproc.
* src/process.c (PIPECONN_P): New macro.
(PIPECONN1_P): New macro.
(Fdelete_process, Fprocess_status, Fset_process_buffer)
(Fset_process_filter, Fset_process_sentinel, Fstop_process)
(Fcontinue_process): Handle pipe process specially.
(create_process): Respect p->stderrproc.
(Fmake_pipe_process): New function.
(Fmake_process): Add new keyword argument :stderr.
(wait_reading_process_output): Specially handle a pipe process when
it gets an EOF.
(syms_of_process): Register Qpipe and Smake_pipe_process.

* doc/lispref/processes.texi (Asynchronous Processes): Document
`make-pipe-process' and `:stderr' keyword of `make-process'.

* lisp/subr.el (start-process): Suggest to use `make-process' handle
standard error separately.

* test/automated/process-tests.el (process-test-stderr-buffer)
(process-test-stderr-filter): New tests.

* etc/NEWS: Mention new process type `pipe' and its usage with the
`:stderr' keyword of `make-process'.

9 years agoMinor quoting etc. fixes to lispref manual
Paul Eggert [Fri, 10 Apr 2015 18:27:21 +0000 (11:27 -0700)]
Minor quoting etc. fixes to lispref manual

* doc/lispref/tips.texi (Documentation Tips):
Distinguish more clearly among grave accent, apostrophe,
and single quote.
* doc/lispref/README, doc/lispref/buffers.texi:
* doc/lispref/commands.texi, doc/lispref/control.texi:
* doc/lispref/customize.texi, doc/lispref/display.texi:
* doc/lispref/elisp.texi, doc/lispref/files.texi:
* doc/lispref/frames.texi, doc/lispref/hash.texi:
* doc/lispref/help.texi, doc/lispref/internals.texi:
* doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
* doc/lispref/markers.texi, doc/lispref/modes.texi:
* doc/lispref/nonascii.texi, doc/lispref/objects.texi:
* doc/lispref/os.texi, doc/lispref/positions.texi:
* doc/lispref/strings.texi, doc/lispref/syntax.texi:
* doc/lispref/text.texi, doc/lispref/tips.texi:
* doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
Use American-style double quoting in ordinary text,
and quote 'like this' when single-quoting in ASCII text.
Also, fix some minor spacing issues.

9 years agoHandle symlinked test directory in tramp-tests.el
Michael Albinus [Fri, 10 Apr 2015 10:53:01 +0000 (12:53 +0200)]
Handle symlinked test directory in tramp-tests.el

* test/automated/tramp-tests.el (tramp-test18-file-attributes)
(tramp--test-check-files): Use `file-truename' for directories.

9 years agoFix 'recenter' when visual-line-mode is turned on
Eli Zaretskii [Fri, 10 Apr 2015 10:09:42 +0000 (13:09 +0300)]
Fix 'recenter' when visual-line-mode is turned on

* src/window.c (Frecenter): Use the same code for GUI and TTY
frames alike; use vmotion only for "initial" frames.  This is
because vmotion doesn't support visual-line-mode.  Rewrite the
'iarg >= 0' case to use move_it_* functions instead of using
vmotion, for the same reason.  Fix the clipping of the argument
value to support scroll-margin in all cases and avoid unwarranted
recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
which see.

9 years ago* abbrev.el (define-abbrev-table): Refine last change.
Stefan Monnier [Fri, 10 Apr 2015 06:47:44 +0000 (02:47 -0400)]
* abbrev.el (define-abbrev-table): Refine last change.

9 years agocl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
Stefan Monnier [Fri, 10 Apr 2015 05:50:22 +0000 (01:50 -0400)]
cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"

* lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
use of c[ad]+r", so as to keep the "cl-" prefix on all
cl-lib definitions.

9 years ago* vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
Stefan Monnier [Fri, 10 Apr 2015 04:20:54 +0000 (00:20 -0400)]
* vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks

9 years ago* lisp/cedet/semantic: Remove some dead code
Stefan Monnier [Fri, 10 Apr 2015 04:17:19 +0000 (00:17 -0400)]
* lisp/cedet/semantic: Remove some dead code

* lisp/cedet/semantic/util-modes.el
(semantic-stickyfunc-header-line-format): Emacs<22 is not supported
any more.
* lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
not supported any more.
(semantic-safe): Use `declare'.
* lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
(semantic-tag-intangible-p): Remove unused functions.
* lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
Remove unused function.

9 years ago* lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
Stefan Monnier [Fri, 10 Apr 2015 04:11:04 +0000 (00:11 -0400)]
* lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.

(gnus-article-hide-text, gnus-article-unhide-text)
(gnus-article-unhide-text-type): Remove special handling of
`intangible' since that property is not used any more.
(gnus-article-treat-body-boundary): Use gnus-hidden-properties.

9 years ago; Add asterisks and periods
Dmitry Gutov [Fri, 10 Apr 2015 01:10:56 +0000 (04:10 +0300)]
; Add asterisks and periods

9 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Jay Belanger [Fri, 10 Apr 2015 00:07:15 +0000 (19:07 -0500)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

9 years agoUse the VC root in `log-edit-listfun'
Dmitry Gutov [Fri, 10 Apr 2015 00:54:55 +0000 (03:54 +0300)]
Use the VC root in `log-edit-listfun'

* lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
`log-edit-listfun'.

9 years agoFix description of Unix time, mention new function.
Jay Belanger [Fri, 10 Apr 2015 00:03:19 +0000 (19:03 -0500)]
Fix description of Unix time, mention new function.

* lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
Unix time.
* doc/misc/calc.texi (Date Forms): Fix description of Unix time.
(Basic Operations on Units): Mention `calc-convert-exact-units'.

9 years ago* lisp/emacs-lisp/package.el: Use mode-line-process for notification
Artur Malabarba [Wed, 8 Apr 2015 21:59:55 +0000 (22:59 +0100)]
* lisp/emacs-lisp/package.el: Use mode-line-process for notification

9 years ago(log-edit-insert-changelog-entries): Don't add newline after the last entry
Dmitry Gutov [Thu, 9 Apr 2015 23:26:58 +0000 (02:26 +0300)]
(log-edit-insert-changelog-entries): Don't add newline after the last entry

* lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
Don't add newline after the last entry.

9 years agocss-mode.el: Add "not" pseudo-class
Simen Heggestøyl [Thu, 9 Apr 2015 18:58:53 +0000 (20:58 +0200)]
css-mode.el: Add "not" pseudo-class

Fixes: debbugs:20267
* textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to list
of CSS pseudo-classes.

9 years agoetc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
Stefan Monnier [Thu, 9 Apr 2015 18:45:42 +0000 (14:45 -0400)]
etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"

9 years agoStop messing with the EMACS env var
Michael Albinus [Thu, 9 Apr 2015 18:07:20 +0000 (20:07 +0200)]
Stop messing with the EMACS env var

* misc.texi (Interactive Shell): Remove description of EMACS env var.