Mark Oteiza [Tue, 22 Nov 2016 07:42:47 +0000 (02:42 -0500)]
Make sure elided long buffer names have ellipses added (Bug#24972)
* lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
string concat, and chop "strvar" less the width of the ellipsis.
(ibuffer-compile-make-substring-form): Add space as padding, to fix
off-by-one in alignment.
Tino Calancha [Tue, 22 Nov 2016 06:23:50 +0000 (15:23 +0900)]
buff-menu: Add command to unmark all buffers
Bind 'U' in buff-menu, bs and electric-buff-menu to commands
to unmark all buffers (Bug#24880).
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
New predicate; return non-nil if tabulated-list has a fake header.
* lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
New command; remove all flags that use a particular mark from all the lines.
Bind it to 'M-DEL'.
(Buffer-menu-unmark-all):
New command; remove all flags from all the lines. Bind it to 'U'.
(Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
(Buffer-menu-delete, Buffer-menu-mark): Use them.
(Buffer-menu-mode-map): Update menus.
(Buffer-menu-mode): Update mode doc.
* lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
(bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
(bs-mode): Update mode doc.
* lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
to 'M-DEL'.
(bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
Use point instead of cursor in doc string.
(electric-buffer-list): Update mode doc.
* doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
and Buffer-menu-unmark-all-buffers.
; * etc/NEWS: Add an entry per each new feature.
Paul Eggert [Mon, 21 Nov 2016 16:42:12 +0000 (08:42 -0800)]
Fix another CANNOT_DUMP problem
Reported by Robert Pluim in:
http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html
* src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
* src/lisp.h: ... to here.
Katsumi Yamaoka [Mon, 21 Nov 2016 08:21:27 +0000 (08:21 +0000)]
Don't collect strings existing out of <tr>...</tr>
* lisp/net/shr.el (shr-collect-extra-strings-in-table):
Don't collect strings existing out of <tr>...</tr> to avoid
duplication with what `shr-tag-table' renders.
Mike Kupfer [Mon, 21 Nov 2016 06:10:13 +0000 (06:10 +0000)]
Add a variable to pass additional options to rcvstore
* lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
(gnus-summary-save-in-folder): Include gnus-rcvstore-options in
the arguments that are passed to rcvstore.
cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
and followups, i.e., ding mailing list.
Paul Eggert [Mon, 21 Nov 2016 04:55:35 +0000 (20:55 -0800)]
Fix undefined refs on some GNU/Linux hosts
Problem reported by Ken Raeburn in:
http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00463.html
* src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
not needed in the CANNOT_UNDUMP case. All uses removed. This
removes unwanted references to my_endbss and my_endbss_static,
which are not optimized away on some platforms.
Paul Eggert [Mon, 21 Nov 2016 00:57:17 +0000 (16:57 -0800)]
Make CANNOT_DUMP work better on GNU/Linux
Clean up some of the bitrot affecting the CANNOT_DUMP code. This
lets the build succeed again, and fixes the testing framework so
that most test cases now pass. About twenty test cases still
fail, though, and we still have Bug#24974.
* configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
(SYSTEM_MALLOC): Now true if CANNOT_DUMP. There should no longer
be any point to messing with a private memory allocator unless
Emacs is dumping.
* src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
* src/image.c (reset_image_types):
* src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
Do not define if CANNOT_DUMP.
* src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
(daemon_pipe) [!WINDOWSNT]: Now static.
* test/Makefile.in (mostlyclean): Remove *.tmp files.
(make-test-deps.mk): Elide CANNOT_DUMP chatter.
Eli Zaretskii [Sun, 20 Nov 2016 17:28:37 +0000 (19:28 +0200)]
Fix redrawing non-selected frame after resize on MS-Windows
* src/xdisp.c (redisplay_internal): If all the frames were
successfully updated, reset the "garbaged" flag of each frame, to
make sure it doesn't stay set.
* src/w32term.c (w32_read_socket): Don't clear the frame if it's
"garbaged", since expose_frame won't redraw the foreground then.
(Bug#24642)
Paul Eggert [Sun, 20 Nov 2016 00:00:57 +0000 (16:00 -0800)]
Merge from gnulib
This incorporates:
2016-11-15 sys_time: add gnulib::timeval for C++
2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
2016-11-13 strftime: don't use __THROW
2016-11-12 strftime: tune %q
2016-11-12 Merge strftime.c changes from glibc
2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
2016-11-05 strftime,strptime: support %q to represent the quarter
The glibc changes in turn incorporate the following strftime.c changes:
2015-10-20 Convert misc function definitions to prototype style
2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
2010-01-09 Add support for XPG7 testing
2009-10-30 Implement Burmese language locale for Myanmar
2008-06-13 [BZ #6612] pass reference to tzset_called around
2007-10-16 [BZ #5184] Add tzset_called argument
* build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
* m4/manywarnings.m4: Copy from gnulib.
Paul Eggert [Sat, 19 Nov 2016 22:31:05 +0000 (14:31 -0800)]
Merge from origin/emacs-25
4af5981 Add a comment in generated refcards about the source ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment. 4887e7c js-mode: Fix indent problem after a regexp e992ac0 Fix sluggish display of symbols in UTF-8 language environment 1fc101b Don't confuse how Texinfo outputs @var with the input 91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame... f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da... 5b0cddd More fixes in copyright notices in etc/refcards/ f994c20 Update copyright text in refcards 9ad2ae7 Fix Outline command names 26c3554 Send text received by bracketed paste to process db0b58d Correct the statement about programming modes always running ... 78aece4 Improve documentation of 'occur' eb364fd Do call debugger on failed cl-assert 3ef4ee8 Avoid infloop in python 8da810f Don't refer to obsolete FEATURE-unload-hook 4f478ca Improve documentation of dabbrevs 7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890) 89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890) 3b199f7 Improve documentation of some Help commands 93d3a0e Fix documentation of yes-or-no prompts af04919 Fix documentation of partial completion style ed80184 Fix documentation of the mode line on emacsclient frames e6be855 Fix description of 'C-z' in User manual 16f7007 Improve and clarify documentation of Outline Mode 31d93aa Add Emacs version number to nt/README.W32 0b6b815 Fix python-mode hideshow regexp dc152c5 Modernize usage of 'macOS' in doc and comments 84c5343 Prefer comments /* like this */ in C code bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845). 3ef86fd Clarify documentation of face attribute functions de51d59 ; * nt/README.W32: Minor copyedits. db436e9 Don't call debug on failed cl-assert
Mark Oteiza [Sat, 19 Nov 2016 18:34:24 +0000 (13:34 -0500)]
Port RefTeX to cl-lib
* lisp/textmodes/reftex-auc.el:
* lisp/textmodes/reftex-cite.el: Use cl-lib.
(reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
macros.
* lisp/textmodes/reftex-dcr.el: Use cl-lib.
(reftex-view-regexp-match): Substitute cl-lib macro.
* lisp/textmodes/reftex-global.el: Use cl-lib.
(reftex-find-duplicate-labels, reftex-renumber-simple-labels):
(reftex-translate): Substitute cl-lib macros.
* lisp/textmodes/reftex-index.el: Use cl-lib.
(reftex-index, reftex-index-select-tag, reftex-index-mode-map):
(reftex-index-next-phrase, reftex-index-phrases-info):
(reftex-query-index-phrase): Substitute cl-lib macros.
* lisp/textmodes/reftex-parse.el: Use cl-lib.
(reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
(reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
Substitute cl-lib macros.
* lisp/textmodes/reftex-ref.el: Use cl-lib.
(reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
macros.
* lisp/textmodes/reftex-sel.el: Use cl-lib.
(reftex-select-shared-map): Set keymap parent to special-mode-map.
Flatten loop and remove digits and hyphen definitions from the map.
(reftex-select-label-mode-map):
(reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
(reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
* lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
cl-pushnew.
* lisp/textmodes/reftex.el: Use cl-lib.
(reftex-docstruct-symbol): Use cl-incf.
(reftex-ref-style-toggle): Replace add-to-list with append.
(reftex-compile-variables): Use cl-lib macros, and functions with
compiler macros. cl-first is just an alias.
(reftex-parse-args, reftex-scanning-info-available-p):
(reftex-select-external-document, reftex-get-file-buffer-force): Use
cl-lib macros.
(reftex-isearch-minor-mode): Replace add-to-list with append.
Eli Zaretskii [Sat, 19 Nov 2016 10:17:23 +0000 (12:17 +0200)]
Implement getrlimit and setrlimit for MS-Windows
* src/w32heap.c (getrlimit, setrlimit): New functions.
Include w32.h.
* src/emacs.c (main): Use 'rlim_t', not 'long', for values that
should be compatible with 'struct rlimit' members.
* nt/inc/sys/resource.h: New header file.
* nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
Set to "yes".
Mark Oteiza [Sat, 19 Nov 2016 00:36:18 +0000 (19:36 -0500)]
Clean up reftex-toc-mode-map
* lisp/textmodes/reftex-toc.el: Remove cl.
(reftex-toc-mode-map): Flatten loop. Remove mapping digit keys and
hyphen, as reftex-toc-mode is derived from special-mode nowadays.
Eli Zaretskii [Fri, 18 Nov 2016 11:02:34 +0000 (13:02 +0200)]
Improve documentation of functions that accept time values
* doc/lispref/os.texi (Time Calculations): Mention the meaning of
'nil' or a scalar number as the time-value argument. Add a
cross-reference to 'float-time' for computing a time difference as
a scalar number of seconds.
* src/editfns.c (Fformat_time_string, Ftime_less_p)
(Ftime_subtract, Ftime_add, Fdecode_time, Fcurrent_time_string)
(Fcurrent_time_zone): Mention in the doc strings the meaning of
nil argument and the fact that a time value can be a scalar number
of seconds since the epoch.
(Ftime_subtract): Mention 'float-time'.
Alex [Fri, 18 Nov 2016 09:02:55 +0000 (11:02 +0200)]
Extend 'indent-relative' when its arg is non-nil
* lisp/indent.el (indent-relative-maybe): New obsolete alias.
(indent-relative-first-indent-point): Renamed from
'indent-relative-maybe'.
(indent-relative): Now accepts an additional optional argument.
The first argument was renamed to FIRST-ONLY. Doc fix. Support
the additional arg. (Bug#24766)
Mark Oteiza [Thu, 17 Nov 2016 23:27:38 +0000 (18:27 -0500)]
Port registry.el the rest of the way to cl-lib
This file already is using cl-lib functions at runtime; eieio ultimately
loads cl-lib, which explains why doing so wasn't an issue.
* lisp/registry.el: Require cl-lib.
(registry-db, registry--match, registry-search, registry-delete):
(registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
(registry-collect-prune-candidates): Replace cl function with cl-lib one.
Eli Zaretskii [Wed, 16 Nov 2016 16:11:33 +0000 (18:11 +0200)]
Fix sluggish display of symbols in UTF-8 language environment
* lisp/international/fontset.el (setup-default-fontset): Make sure
Symbola and FreeMono are set up in the default fontset as belonging
to the "iso10646-1" registry. In the UTF-8 locale, this avoids a
long and futile search for a suitable font, whose side effect is a
lot of consing, which then hits the font-cache compacting issue,
and causes very sluggish redisplay of characters displayed by
these fonts. All this happens because the default for the
registry is "iso8859-1". (Bug#24953)
Glenn Morris [Wed, 16 Nov 2016 07:28:47 +0000 (23:28 -0800)]
Add --new-daemon, which runs in the foreground and does not fork
This is intended for modern init systems such as systemd,
which manage many of the traditional aspects of daemon behavior
themselves. (Bug#2677)
* src/emacs.c (daemon_type): New integer.
(usage, standard_args): Add --old-daemon and --new-daemon.
(main): Handle --old-daemon and --new-daemon arguments.
Restrict all the forking and complicated daemon stuff to old-daemon.
(Fdaemon_initialized): Handle new-style daemon.
* src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
Replace daemon_pipe with daemon_type.
* doc/emacs/cmdargs.texi (Initial Options):
* doc/emacs/glossary.texi (Glossary):
* doc/emacs/misc.texi (Emacs Server):
* doc/lispref/display.texi (Window Systems):
* doc/lispref/os.texi (Startup Summary): Related doc updates.
* etc/NEWS: Mention this.
* etc/emacs.service: Use Type=simple and --new-daemon.
Glenn Morris [Wed, 16 Nov 2016 00:18:28 +0000 (19:18 -0500)]
Don't confuse how Texinfo outputs @var with the input
* doc/emacs/rmail.texi (Movemail):
* doc/lispref/control.texi (Pattern matching case statement):
* doc/lispref/frames.texi (Size and Position):
* doc/lispref/processes.texi (Asynchronous Processes):
* doc/lispref/text.texi (Document Object Model):
* doc/lispref/windows.texi (Coordinates and Windows):
Do not upper-case the argument of @var.
Ken Brown [Mon, 14 Nov 2016 22:26:12 +0000 (17:26 -0500)]
Simplify case-insensitivity checks on Mac OS X
* src/fileio.c (file_name_case_insensitive_p): Try skipping the
Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
Leave in two alternatives conditionally compiled based on
DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
* etc/PROBLEMS: Mention the possible problem with pathconf on
Mac OS X.
* lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
name.
(sql-postgres-list-databases): New function returning a list of
available PostgreSQL databases.
* test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
Wilson Snyder [Mon, 14 Nov 2016 18:47:31 +0000 (13:47 -0500)]
Update verilog-mode.el
* verilog-mode.el (verilog-read-decls, verilog-calc-1): Fix
"default clocking" indentation and preventing AUTOs from working,
bug1084. Reported by Alan Morgan.
(verilog-diff-report): Fix `verilog-diff-report'
not returning bad status on differences, bug1087. Reported by
Eric Jackowski.
(verilog-auto-inst-param-value)
(verilog-auto-inst-param-value-type, verilog-read-sub-decls)
(verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
(verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
(verilog-read-sub-decls-type): When
`verilog-auto-inst-param-value-type' is set, which is now the
default, AUTOINPUT etc will now substitute parameter types from
submodules, bug1061. Reported by Brad Dobbie.
(verilog-auto-reset, verilog-backward-case-item)
(verilog-extended-case-re, verilog-read-always-signals-recurse):
Fix indentation of randcase, bug1072. Reported by David Rogoff.
(verilog-read-sub-decls-expr)
(verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
in generated comments, bug1057. Reported by Kaushal Modi.
(verilog-auto-wire-comment, verilog-insert-definition):
Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
Eric Jackowski.
(verilog-extended-complete-re): Fix indentation
of class static functions, bug1053. Reported by Gregory
Czajkowski.
(verilog-module-filenames): Support tramp for
finding verilog modules. Reported by Nevada Sanchez.
Paul Eggert [Mon, 14 Nov 2016 17:08:06 +0000 (09:08 -0800)]
Improve case-insensitive checks (Bug#24441)
* doc/lispref/files.texi (Truenames): Simplify documentation,
to avoid giving too much platform-specific information that
may not be accurate anyway.
* src/fileio.c (file_name_case_insensitive_p): Use pathconf with
_PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
Otherwise if one approach fails (e.g., with errno == EINVAL), fall
back on an alternative rather than returning false. Try skipping
the Darwin code, as it (1) no longer seems to be needed and (2)
does not seem to match the Apple documentation. Leave in two
alternatives conditionally compiled based on
DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
Eli Zaretskii [Mon, 14 Nov 2016 16:13:09 +0000 (18:13 +0200)]
Fix documentation changes of connection-local variables
* etc/NEWS: Fix last change.
* doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
* doc/lispref/elisp.texi (Top): Update the master menu.
Tino Calancha [Mon, 14 Nov 2016 08:31:44 +0000 (17:31 +0900)]
tabulated-list: extend truncation into next align-right column
See discussion on:
https://lists.gnu.org/archive/html/emacs-devel/2016-10/msg01101.html
* lisp/emacs-lisp/tabulated-list.el
(tabulated-list--near-rows): New variable.
(tabulated-list-print, tabulated-list-set-col): Use it.
(tabulated-list--col-local-max-widths): New defsubst.
(tabulated-list-print-col): Use it. If the next column is
align-right, and has some space left then don't truncate to width,
use some of the available space from the next column.
Ken Brown [Mon, 14 Nov 2016 03:00:24 +0000 (22:00 -0500)]
Use the new 'file-name-case-insensitive-p' function
* lisp/international/mule.el (auto-coding-alist-lookup):
* lisp/files.el (file-truename):
(abbreviate-file-name, set-auto-mode, file-relative-name):
* package.el (package-untar-buffer): Use
'file-name-case-insensitive-p' instead of 'system-type' to test
case-insensitivity.
Paul Eggert [Sun, 13 Nov 2016 20:15:25 +0000 (12:15 -0800)]
Port --enable-gcc-warnings to Ubuntu 16.10
* src/gmalloc.c: Include <stdlib.h>, so it declares
hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
so that GCC doesn't complain that hybrid_aligned_alloc is
defined without being declared.
Ken Brown [Sun, 13 Nov 2016 00:00:35 +0000 (19:00 -0500)]
Check case-sensitivity when renaming files
* src/fileio.c (file_name_case_insensitive_p)
(Ffile_name_case_insensitive_p): New functions.
(Frename_file): Allow renames that simply change case when the
FILE argument is on a case-insensitive filesystem. (Bug#24441)
* lisp/dired-aux.el (dired-do-create-files): Use
'file-name-case-insensitive-p' instead of 'system-type' to check
for case-insensitivity. (Bug#24441)
Mark Oteiza [Sat, 12 Nov 2016 00:05:23 +0000 (19:05 -0500)]
Update chart.el
* lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
(chart-draw): Wrap in with-silent-modifications. Instead of inserting a
fixed number of newlines, use window-height.
(chart-bar):
(chart-trim): Use dolist.
(chart-file-count): The previous implementation was buggy and missed
extensions. Use file-name-extension instead to detect file extensions.
Also use dolist and cl-incf to reduce verbosity.
Katsumi Yamaoka [Fri, 11 Nov 2016 08:17:41 +0000 (08:17 +0000)]
* lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
(shr-collect-extra-strings-in-table):
Render extra tables in an invalid html as well.
Alan Mackenzie [Thu, 10 Nov 2016 21:22:05 +0000 (21:22 +0000)]
Correct the statement about programming modes always running prog-mode-hook.
doc/emacs/modes.texi (Major Modes): Amend the statement about programming
modes running prog-mode-hook to say that it applies to many (not all) such
modes, and specifying exactly which modes.
Mark Oteiza [Wed, 9 Nov 2016 17:54:36 +0000 (12:54 -0500)]
Update quickurl.el
* lisp/net/quickurl.el (quickurl-format-function):
(quickurl-sort-function): Use named function.
(quickurl-list-mode-map): Remove lines that are extraneous now that the
parent mode is special-mode.
(quickurl-format-url, quickurl-sort-urls): New functions.
(quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
be used.
(quickurl-list-mode): Derive from special-mode. Nix setting
buffer-read-only: special-mode does that.
(quickurl-list-populate-buffer): Use dolist instead.
(quickurl-list-quit): Use quit-window. It looks like this was written
before the quit-window rewrite. quit-window is very useful now.
Noam Postavsky [Tue, 8 Nov 2016 01:03:48 +0000 (20:03 -0500)]
Do call debugger on failed cl-assert
"Don't call debug on failed cl-assert..." removed the call to `debug' in
cl--assertion-failed because `debug' calls `kill-emacs' in batch mode,
thus messing up ert test runs. However, calling the debugger is useful
because it allows catching failed assertions even inside
`condition-case' calls. The problem with ert can be avoided by calling
`debugger' instead of `debug' directly, since ert installs its own
debugger while running tests.
* lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): Call
`debugger' if `debug-on-error' is non-nil.
* lisp/progmodes/python.el (python-info-docstring-p): Improve
infloop avoidance: replace (bobp) with generic test for
forward progress.
* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
test for bug#24905
* lisp/progmodes/python.el (python-info-docstring-p): Improve
infloop avoidance: replace (bobp) with generic test for
forward progress.
* test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
test for bug#24905
Make gnus/message.el work correctly under lexical binding
* lisp/gnus/message.el (message-send-mail): Rename `arg' to
`_' to shut up the byte compiler.
(sha1-maximum-internal-length, smtpmail-smtp-server)
(smtpmail-smtp-service): add missing defvars