]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 years agopython.el: Pdbtracking improvements
Andrii Kolomoiets [Sat, 2 Nov 2019 16:08:13 +0000 (18:08 +0200)]
python.el: Pdbtracking improvements

Allow not to kill buffers when pdbtracking session is finished.
Pdbtracking session considered finished judging from the user input.

* lisp/progmodes/python.el (python-pdbtrack-kill-buffers): New
customizable variable.
(python-pdbtrack-set-tracked-buffer): Use it.
(python-pdbtrack-unset-tracked-buffer)
(python-pdbtrack-tracking-finish): New functions.
(python-pdbtrack-continue-command, python-pdbtrack-exit-command):
New customizable variables.
(python-pdbtrack-process-sentinel): New function.  Finish
pdbtracking session when process is killed.
(python-pdbtrack-prev-command-continue): New variable.
(python-pdbtrack-comint-input-filter-function): New function.
Finish pdbtracking session based on commands sent to pdb.
(python-pdbtrack-comint-output-filter-function): Unset/set
tracking buffer if looking at pdb prompt; finish pdbtracking
session if filename of current stack frame starts with
"<" e.g. "<stdin>".
(python-pdbtrack-comint-output-filter-function): Don't override
overlay-arrow-string.
(python-pdbtrack-setup-tracking): New function.
(inferior-python-mode): Use it.
(python-pdbtrack-stacktrace-info-regexp): Default value is changed.
Must also match lines with filename like "<stdin>" and "<string>".
* etc/NEWS: Mention python-pdbtrack-kill-buffers

5 years ago; * etc/NEWS: Minor copyedits in the Fido mode entry.
Eli Zaretskii [Thu, 7 Nov 2019 14:16:12 +0000 (16:16 +0200)]
; * etc/NEWS: Minor copyedits in the Fido mode entry.

5 years agoMake ange-ftp fit for tramp-tests
Michael Albinus [Thu, 7 Nov 2019 11:03:19 +0000 (12:03 +0100)]
Make ange-ftp fit for tramp-tests

* lisp/net/ange-ftp.el (ange-ftp-repaint-minibuffer): Use empty message.
(ange-ftp-quote-string): Unquote the string.
(ange-ftp-substitute-in-file-name, ange-ftp-access-file)
(ange-ftp-copy-directory, ange-ftp-make-symbolic-link)
(ange-ftp-add-name-to-file): New defuns.  Set 'ange-ftp property.
(ange-ftp-real-substitute-in-file-name)
(ange-ftp-real-copy-directory): New defuns.
(ange-ftp-file-name-as-directory): Care about `non-essential'.
(ange-ftp-file-attributes): Handle ID-STRING.
(ange-ftp-copy-file-internal, ange-ftp-rename-file)
(ange-ftp-make-directory): Improve error handling.
(ange-ftp-insert-directory): Initialize SWITCHES if they are nil.

* test/lisp/net/tramp-tests.el (ange-ftp-make-backup-files): Declare.
(tramp-test39-make-nearby-temp-file, tramp--test-ange-ftp-p): New defun.
(tramp-test05-expand-file-name-relative)
(tramp-test06-directory-file-name, tramp-test10-write-region)
(tramp-test11-copy-file, tramp-test12-rename-file)
(tramp-test17-insert-directory)
(tramp-test26-file-name-completion)
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name)
(tramp--test-special-characters): Use it.

5 years agoClean up major mode check in package-menu-mode
Stefan Kangas [Thu, 7 Nov 2019 03:10:43 +0000 (04:10 +0100)]
Clean up major mode check in package-menu-mode

* lisp/emacs-lisp/package.el (package--ensure-package-menu-mode):
Extract function to warn about incorrect major mode...
(package-menu-toggle-hiding, package-menu-refresh)
(package-menu-execute): ...from here.
(package-menu--mark-upgrades-1): And here, but move call...
(package-menu-mark-upgrades): ...here instead.
(package-menu-hide-package, package-menu-mark-delete)
(package-menu-mark-install, package-menu-mark-unmark)
(package-menu-quick-help, package-menu-get-status)
(package-menu-filter-by-keyword, package-menu-filter-by-name)
(package-menu-clear-filter): Add call to new function.  (Bug#37891)

5 years agoTest that comint-password-prompt-regexp matches "git push"
Stefan Kangas [Thu, 7 Nov 2019 00:42:31 +0000 (01:42 +0100)]
Test that comint-password-prompt-regexp matches "git push"

* test/lisp/comint-tests.el (comint-testsuite-password-strings): Test
that 'comint-password-prompt-regexp' matches 'git push'
output.  (Bug#20910)

5 years ago* lisp/dired-aux.el (dired-vc-rename-file): New defcustom.
Juri Linkov [Wed, 6 Nov 2019 23:14:58 +0000 (01:14 +0200)]
* lisp/dired-aux.el (dired-vc-rename-file): New defcustom.

(dired-rename-file): Call vc-rename-file when dired-vc-rename-file is non-nil.

* lisp/vc/vc.el (vc-rename-file): Allow renaming added files.
Call vc-file-clearprops on new file too for the case when
old and new files were renamed to each other back and forth.

https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg00069.html

5 years ago* lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.
Juri Linkov [Wed, 6 Nov 2019 23:01:12 +0000 (01:01 +0200)]
* lisp/tab-bar.el (tab-bar-history-old): Rename from tab-bar-history-current.

(tab-bar-history-old-minibuffer-depth):
Rename from tab-bar-history--minibuffer-depth.

5 years ago* lisp/tab-line.el: More configurability for tab buffer groups.
Juri Linkov [Wed, 6 Nov 2019 22:59:28 +0000 (00:59 +0200)]
* lisp/tab-line.el: More configurability for tab buffer groups.

* lisp/tab-line.el (tab-line-tabs-buffer-group-function)
(tab-line-tabs-buffer-group-sort-function)
(tab-line-tabs-buffer-groups-sort-function): New defvars.
(tab-line-tabs-buffer-group-name): Rename from
tab-line-tabs-buffer-groups--name and use tab-line-tabs-buffer-group-function.
(tab-line-tabs-buffer-groups): Use tab-line-tabs-buffer-groups-sort-function
and tab-line-tabs-buffer-group-sort-function.
(tab-line-new-tab): Let bind tab-line-tabs-buffer-groups to
mouse-buffer-menu-mode-groups.

5 years agoSimplify fixnum division slightly
Paul Eggert [Wed, 6 Nov 2019 19:47:39 +0000 (11:47 -0800)]
Simplify fixnum division slightly

* src/data.c (arith_driver): Streamline fixnum division a bit
more, and add a comment about why overflow is impossible.
This responds to a private comment by Stefan Monnier.

5 years agoAdd a full set of CC Mode language variables to js.el.
Alan Mackenzie [Wed, 6 Nov 2019 19:35:43 +0000 (19:35 +0000)]
Add a full set of CC Mode language variables to js.el.

This will allow js.el to work after maintenance changes in CC Mode, e.g. the
fix to bug #11165.

* lisp/progmodes/js.el (top level): Create a CC Mode derived language called
js-mode and based on Java Mode.
(js-mode): call c-init-language-vars for js-mode.  Remove the direct settings
of several CC Mode language variables which are now defined through the
derived language mechanism.  Call c-set-style and set up the needed style
variables c-block-comment-prefix and c-comment-prefix-regexp.

5 years agoMinor fix in the Emacs manual
Eli Zaretskii [Wed, 6 Nov 2019 17:22:11 +0000 (19:22 +0200)]
Minor fix in the Emacs manual

* doc/emacs/msdos.texi (ls in Lisp): Fix the description of
'ls-lisp-verbosity'.  (Bug#38077)

5 years agotime-stamp: add support for time zone numeric offset
Stephen Gildea [Wed, 6 Nov 2019 16:31:48 +0000 (08:31 -0800)]
time-stamp: add support for time zone numeric offset

* time-stamp.el: Implement %:z as expanding to the numeric time zone
offset, to address the feature request of bug#32931.  Do not document it
yet, to discourage compatibility problems in mixed Emacs 26 and Emacs 27
environments.  Documentation will be added in a subsequent release at
least two years later.  (We cannot yet use %z for numeric time zone
because in Emacs 26 it was documented to do something else.)

* time-stamp-tests.el (time-stamp-test-format-time-zone): expand this
test and break it into two tests, time-stamp-test-format-time-zone-name
and time-stamp-test-format-time-zone-offset.

5 years agoMore error checks in Tramp's make-directory
Michael Albinus [Wed, 6 Nov 2019 15:49:35 +0000 (16:49 +0100)]
More error checks in Tramp's make-directory

* lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-directory):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-directory):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-make-directory):
Signal `file-already-exists' if DIR exists.

* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
Fix thinko.
(tramp-test13-make-directory, tramp-test14-delete-directory)
(tramp-test15-copy-directory): Extend tests.

5 years agoFix problem with my last commit in package.el
Stefan Kangas [Wed, 6 Nov 2019 13:48:23 +0000 (14:48 +0100)]
Fix problem with my last commit in package.el

* lisp/emacs-lisp/package.el (package-menu--refresh-archives): Rename
from duplicated name package-menu--refresh.  (Bug#38084)
(package-menu-mode, list-packages): Use new name.

5 years agoUpdate from Gnulib
Paul Eggert [Wed, 6 Nov 2019 06:59:00 +0000 (22:59 -0800)]
Update from Gnulib

This incorporates:
2019-10-24 timespec-add, timespec-sub: simplify
* lib/timespec-add.c, lib/timespec-sub.c:
Copy from Gnulib.

5 years agoRemove unneeded overflow check in integer division
Paul Eggert [Wed, 6 Nov 2019 06:55:23 +0000 (22:55 -0800)]
Remove unneeded overflow check in integer division

* src/data.c (arith_driver): Remove unnecessary runtime test,
since integer overflow is impossible on division of fixnums,
given that the worst case is MOST_NEGATIVE_FIXNUM / -1 which is
representable as an EMACS_INT (albeit not as a fixnum).

5 years agoAvoid changing value of defcustom package-enable-at-startup
Stefan Kangas [Wed, 6 Nov 2019 00:19:23 +0000 (01:19 +0100)]
Avoid changing value of defcustom package-enable-at-startup

* lisp/emacs-lisp/package.el (package--activated): New variable to
avoid changing value of defcustom 'package-enable-at-startup'.
(package-initialize): Don't set 'package-enable-at-startup'.
(package-initialize, package-activate-all): Set 'package--activated'
instead of 'package-enable-at-startup'.
(package--initialized): Add doc string.

* lisp/startup.el (command-line): Check if 'package--activated' is
non-nil before activating packages.

* doc/lispref/package.texi (Packaging Basics): Update docs.

5 years agoMake 'g' refresh package data in package menu
Stefan Kangas [Tue, 5 Nov 2019 23:58:57 +0000 (00:58 +0100)]
Make 'g' refresh package data in package menu

* lisp/emacs-lisp/package.el (package-menu--refresh): Rename from
'package-menu-refresh', make internal and non-interactive.
(package-menu-mode-map, package-menu-mode-menu, package-menu-mode)
(list-packages): Use the above.  (Bug#35504)
(package-menu-refresh): Redefine as obsolete fuction alias for
'revert-buffer'.
* doc/emacs/package.texi (Package Menu): Document it.
* etc/NEWS: Announce it.

5 years agoRename *-multiframe-window to *-window-any-frame
Stefan Kangas [Tue, 5 Nov 2019 23:49:02 +0000 (00:49 +0100)]
Rename *-multiframe-window to *-window-any-frame

Suggested by Drew Adams.

* lisp/frame.el
(next-multiframe-window): Define as obsolete alias for...
(next-window-any-frame): ...new function name.
(previous-multiframe-window): Define as obsolete alias for...
(previous-window-any-frame): ...new function name.  (Bug#12436)

* lisp/term/ns-win.el (global-map): Use new command name.
* doc/emacs/windows.texi (Other Window): Document it.
* etc/NEWS: Announce it.

5 years agoFollow JSONRPC spec by not sending :result field on errors
João Távora [Tue, 5 Nov 2019 23:37:30 +0000 (23:37 +0000)]
Follow JSONRPC spec by not sending :result field on errors

Also don't send :error field on non-errors.

* lisp/jsonrpc.el (jsonrpc--reply): Don't send :result and :error
if none supplied.
(Version): Bump to 1.0.8

5 years agoAdd prefix arg to more isearch commands (bug#14563)
Juri Linkov [Tue, 5 Nov 2019 23:35:47 +0000 (01:35 +0200)]
Add prefix arg to more isearch commands (bug#14563)

* lisp/isearch.el (isearch--yank-char-or-syntax)
(isearch-yank-word-or-char, isearch-yank-symbol-or-char)
(isearch-yank-until-char): Add optional prefix arg.

5 years ago* lisp/tab-line.el: New option for tabs where buffers are grouped by mode.
Juri Linkov [Tue, 5 Nov 2019 23:21:57 +0000 (01:21 +0200)]
* lisp/tab-line.el: New option for tabs where buffers are grouped by mode.

* lisp/tab-line.el (tab-line-tabs-function): Add option
tab-line-tabs-buffer-groups.
(tab-line-tabs-buffer-groups): New defvar defaulted to
mouse-buffer-menu-mode-groups.
(tab-line-tabs-buffer-groups--name, tab-line-tabs-buffer-groups):
New functions.
(tab-line-format): Support tabs in the format '(tab (name . "name") ...)'.
(tab-line-select-tab): Move part of code to tab-line-select-tab-buffer.
(tab-line-select-tab-buffer): New function.
(tab-line-tab-current): Rename from tab-line-tab-selected.

5 years agoDocument fido-mode
João Távora [Tue, 5 Nov 2019 18:04:20 +0000 (18:04 +0000)]
Document fido-mode

* doc/emacs/buffers.texi (Icomplete): Document Fido Mode.

* etc/NEWS: Mention Fido Mode.

* lisp/icomplete.el (icomplete-mode): Ensure fido-mode is off.
(fido-mode): Ensure icomplete-mode is off.
(icomplete-magic-ido-ret): Don't force completions if no
completions.

5 years agoNew fido-mode, emulates ido-mode with icomplete-mode
João Távora [Sun, 3 Nov 2019 13:10:40 +0000 (13:10 +0000)]
New fido-mode, emulates ido-mode with icomplete-mode

* lisp/icomplete.el (icomplete-fido-mode-map): New variable.
(icomplete--fido-mode-setup): New function.
(fido-mode): New global minor mode.

5 years agoPacify byte-compiler in calculator.el
Paul Eggert [Tue, 5 Nov 2019 21:43:44 +0000 (13:43 -0800)]
Pacify byte-compiler in calculator.el

* lisp/calculator.el (calculator-expt): Open-code cl-evenp to
pacify warning “the function ‘cl-evenp’ might not be defined”.
Problem reported by Juanma Barranquero in:
https://lists.gnu.org/r/emacs-devel/2019-11/msg00118.html

5 years ago* admin/unidata/uvs.el: Use lexical-binding
Stefan Monnier [Tue, 5 Nov 2019 20:05:38 +0000 (15:05 -0500)]
* admin/unidata/uvs.el: Use lexical-binding

5 years ago* lisp/doc-view.el (doc-view--revert-buffer): Fix last change
Stefan Monnier [Tue, 5 Nov 2019 19:33:36 +0000 (14:33 -0500)]
* lisp/doc-view.el (doc-view--revert-buffer): Fix last change

5 years agoDeclare unused macro package--push obsolete
Stefan Kangas [Tue, 5 Nov 2019 14:45:22 +0000 (15:45 +0100)]
Declare unused macro package--push obsolete

* lisp/emacs-lisp/package.el (package--push): Declare obsolete.

5 years agoImprove Tramp's copy-directory
Michael Albinus [Tue, 5 Nov 2019 11:58:47 +0000 (12:58 +0100)]
Improve Tramp's copy-directory

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist):
Add `copy-directory'.

* lisp/net/tramp.el (tramp-handle-copy-directory): New defun.

5 years agoAlways check for client-certificates
Robert Pluim [Thu, 24 Jan 2019 13:35:30 +0000 (14:35 +0100)]
Always check for client-certificates

* lisp/net/network-stream.el
(network-stream-use-client-certificates): New user option.
(open-network-stream): If 'network-stream-use-client-certificates'
is t, and the user hasn't specified :client-certificate, do
certificate lookups via 'auth-source'.
(network-stream-certificate): Only return key and certificate
files that exist.

* doc/lispref/processes.texi (Network): Document new
client-certificate behavior.

* etc/NEWS: Document 'network-stream-use-client-certificates'.

5 years agoSimplify calculator-expt
Paul Eggert [Tue, 5 Nov 2019 07:19:36 +0000 (23:19 -0800)]
Simplify calculator-expt

* lisp/calculator.el (calculator-expt): Simplify, now that
expt does the right thing if the first arg is -1, 0, or 1.

5 years agoOverflow errors are range errors
Paul Eggert [Tue, 5 Nov 2019 07:17:06 +0000 (23:17 -0800)]
Overflow errors are range errors

* etc/NEWS: Mention this.
* doc/lispref/errors.texi (Standard Errors):
Document overflow-error, which was formerly undocumented.
It is a range error, not a domain error.
* src/data.c (syms_of_data): overflow-error and (undocumented)
underflow-error are subtypes range-error, not domain-error.
This fixes bugs in timezone-time-from-absolute and in
erc-ctcp-reply-PING.

5 years agoDon’t signal overflow for (expt 1 bignum)
Paul Eggert [Tue, 5 Nov 2019 07:10:12 +0000 (23:10 -0800)]
Don’t signal overflow for (expt 1 bignum)

Similarly for (expt 0 bignum) and (expt -1 bignum).
The result is always a -1, 0 or 1, so do not signal overflow.
* src/data.c (expt_integer): Do not signal an overflow if
-1 <= X <= 1.  Be clearer about when overflow is signaled.
* test/src/floatfns-tests.el (bignum-expt): Test this.

5 years agoFixes bug where restoring game saved in an endgame question room would show 'nil...
Ronnie Schnell [Mon, 4 Nov 2019 18:54:48 +0000 (13:54 -0500)]
Fixes bug where restoring game saved in an endgame question room would show 'nil' as the question.

5 years agoImprove Tramp error handling
Michael Albinus [Mon, 4 Nov 2019 16:34:31 +0000 (17:34 +0100)]
Improve Tramp error handling

* lisp/net/tramp.el (tramp-set-syntax): Add missing argument.
(tramp-signal-hook-function): Make it more robust.
(tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
(tramp-rclone-handle-directory-files):
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes)
(tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-copy-file, tramp-smb-handle-directory-files)
(tramp-smb-handle-rename-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Improve error handling.

* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test14-delete-directory)
(tramp-test15-copy-directory, tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Extend tests.

5 years agoFix last change in dired.c
Eli Zaretskii [Mon, 4 Nov 2019 15:39:12 +0000 (17:39 +0200)]
Fix last change in dired.c

* src/dired.c (file_name_completion): Fix arguments to
Fcompare_strings.  (Bug#38056)

5 years agoFix English grammar in some doc strings and comments
Stephen Gildea [Mon, 4 Nov 2019 02:36:05 +0000 (18:36 -0800)]
Fix English grammar in some doc strings and comments

(files.el subr.el): Fix some grammar errors in doc strings and comments.
(frame.c fringe.c image.c xfns.c xterm.c): Fix some English grammar
errors in doc strings.

5 years agoImprove time documentation a bit more
Paul Eggert [Mon, 4 Nov 2019 01:38:13 +0000 (17:38 -0800)]
Improve time documentation a bit more

* doc/lispref/os.texi (Time of Day, Time Conversion)
(Time Parsing, Time Calculations): Improve doc.

5 years ago* lisp/help-fns.el (describe-variable): Add quotes to symbol value of origval.
Juri Linkov [Sun, 3 Nov 2019 21:52:23 +0000 (23:52 +0200)]
* lisp/help-fns.el (describe-variable): Add quotes to symbol value of origval.

5 years ago* lisp/tab-bar.el: Better handling of tab-bar-history.
Juri Linkov [Sun, 3 Nov 2019 21:48:53 +0000 (23:48 +0200)]
* lisp/tab-bar.el: Better handling of tab-bar-history.

* lisp/tab-bar.el (tab-bar-history-limit): Increase to 10 since wc
is not saved to the desktop file anymore, so doesn't affect its size.
(tab-bar-history--pre-change, tab-bar--history-change):
Store wc before possibly entering the minibuffer.

5 years ago* lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.
Juri Linkov [Sun, 3 Nov 2019 21:44:44 +0000 (23:44 +0200)]
* lisp/tab-bar.el: Filter out non-persistent tab parameters from frameset.

* lisp/tab-bar.el (frameset-filter-tabs): New function
added to 'frameset-filter-alist' for frame parameter 'tabs'.
(tab-bar--tab): Remove ws-bl/ws-bbl that are not needed because
frameset doesn't save frame buffer-list to desktop anyway.
(tab-bar-select-tab): Remove ws-bl/ws-bbl related code.

* lisp/emacs-lisp/seq.el (seq-reduce): Add autoload cookie.

5 years agoHandle truncate-lines in customize-group
Stefan Kangas [Sun, 3 Nov 2019 16:45:48 +0000 (17:45 +0100)]
Handle truncate-lines in customize-group

* lisp/cus-edit.el (custom-group--draw-horizontal-line): New
function to draw horizontal lines which handles a non-nil value of
'truncate-lines'.  (Bug#25308)
(custom-group-value-create): Use it.

Co-authored-by: Jonas Bernoulli <jonas@bernoul.li>
5 years agoFix doc of font-lock-syntactic-face-function
Lars Ingebrigtsen [Sun, 3 Nov 2019 16:19:26 +0000 (17:19 +0100)]
Fix doc of font-lock-syntactic-face-function

* doc/lispref/modes.texi (Syntactic Font Lock): Don't refer to
no-longer-existing OTHER-VARS (bug#17730) and include an example.

5 years agoFix file-tests.el on MS-Windows
Eli Zaretskii [Sun, 3 Nov 2019 16:13:38 +0000 (18:13 +0200)]
Fix file-tests.el on MS-Windows

* test/lisp/files-tests.el
(files-tests-file-name-non-special-start-file-process): On
MS-Windows, wait till the process dies before returning from
the files-tests--with-temp-non-special macro, to ensure the
temporary directory is successfully deleted.

5 years agoFix case-insensitive completion of non-ASCII file names
Eli Zaretskii [Sun, 3 Nov 2019 16:08:45 +0000 (18:08 +0200)]
Fix case-insensitive completion of non-ASCII file names

* src/dired.c (scmp): Comment on (non)applicability to
comparisons of  non-ASCII strings case-insensitively.
(file_name_completion): Decode early the file names read from
the directory, and use the decoded names for comparison when
letter-case should be ignored.  (Bug#11339)

5 years ago; * src/font.c (Ffont_info): Minor fix of doc string.
Eli Zaretskii [Sun, 3 Nov 2019 15:58:31 +0000 (17:58 +0200)]
; * src/font.c (Ffont_info): Minor fix of doc string.

5 years agodescribe-font/font-info works with unloaded fonts
Lars Ingebrigtsen [Sun, 3 Nov 2019 15:33:15 +0000 (16:33 +0100)]
describe-font/font-info works with unloaded fonts

* lisp/international/mule-diag.el (describe-font): This function
can be used on unloaded fonts, so remove that restriction from the
doc string (bug#16815).  Also allow completion over all fonts on
the system.

* src/font.c (Ffont_info): Ditto for the doc string.

5 years agoAdd a <a id=...> skeleton to html-mode
Lars Ingebrigtsen [Sun, 3 Nov 2019 15:06:26 +0000 (16:06 +0100)]
Add a <a id=...> skeleton to html-mode

* lisp/textmodes/sgml-mode.el (html-id-anchor): New skeleton
and keystroke (bug#37651).

5 years ago* lisp/bs.el (bs-mode): Improve mode docstring.
Juanma Barranquero [Sun, 3 Nov 2019 13:15:18 +0000 (14:15 +0100)]
* lisp/bs.el (bs-mode): Improve mode docstring.

5 years ago* lisp/tab-line.el (tab-line-tab-selected): New face.
Juri Linkov [Sat, 2 Nov 2019 21:39:15 +0000 (23:39 +0200)]
* lisp/tab-line.el (tab-line-tab-selected): New face.

(tab-line-format): Use new face tab-line-tab-selected.
([tab-line]): Move tab-switching mouse wheel commands to S-keys.

5 years agoFix data-directory when executing from an out-of-source build
Óscar Fuentes [Sat, 2 Nov 2019 17:01:01 +0000 (18:01 +0100)]
Fix data-directory when executing from an out-of-source build

Fixes #36828.

* src/callproc.c (init_callproc): detect out-of-source build.

5 years agoAllow flymake diagnostic types to have shorter names
João Távora [Sat, 2 Nov 2019 16:38:53 +0000 (16:38 +0000)]
Allow flymake diagnostic types to have shorter names

Eglot, a third-party package which uses Flymake, has its own
diagnostic types such as 'eglot-error', 'eglot-warning', etc...  While
not being too long, they will not fit in the type column of the "list
all diagnostics" buffer.  This commit allows diagnostic types to have
user-defined names and also assigns names to the default categories.

* doc/misc/flymake.texi (Flymake error types): Describe
flymake-type-name prop.

* lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries):
Use type names.
(flymake-error, flymake-warning, flymake-note): Give these
diagnostic categories default type names.

5 years agoAvoid face clashes between Flymake and region highlighting
João Távora [Sat, 2 Nov 2019 16:16:14 +0000 (16:16 +0000)]
Avoid face clashes between Flymake and region highlighting

Fix bug#34022.

* lisp/progmodes/flymake.el (flymake--highlight-line): Use
(PRIMARY . SECONDARY) priority value.

5 years agoClarify consequences of mismatching Flymake diagnostic buffers
João Távora [Sat, 2 Nov 2019 15:53:45 +0000 (15:53 +0000)]
Clarify consequences of mismatching Flymake diagnostic buffers

Fix bug#34418.

* doc/misc/flymake.texi (Flymake utility functions): Add note to
flymake-make-diagnostic.

* lisp/progmodes/flymake.el (flymake--handle-report): Discard
diagnostics from other buffers.

5 years agoFurther fixup of the previous doc fix in the Faces node
Lars Ingebrigtsen [Sat, 2 Nov 2019 15:05:42 +0000 (16:05 +0100)]
Further fixup of the previous doc fix in the Faces node

* doc/lispref/display.texi (Faces): Improve wording from previous
change.

5 years agoRevert "Make the debbugs groups also include robot messages"
Lars Ingebrigtsen [Sat, 2 Nov 2019 14:36:42 +0000 (15:36 +0100)]
Revert "Make the debbugs groups also include robot messages"

This reverts commit 682eae776efa9d57842345de67becf5c56cafc91.

The change made the bug# disappear from the Subject lines.

5 years agoCC Mode. Fix slow scrolling by adding a search limit.
Alan Mackenzie [Sat, 2 Nov 2019 13:03:50 +0000 (13:03 +0000)]
CC Mode.  Fix slow scrolling by adding a search limit.

This fixes bug #10149.

* lisp/progmodes/cc-fonts.el (c-font-lock-single-decl) Limit the search by
c-go-up-list-backwards to 500 non-literal characters.

5 years agoCorrect merge blunder in last icomplete commit
João Távora [Sat, 2 Nov 2019 11:09:55 +0000 (11:09 +0000)]
Correct merge blunder in last icomplete commit

* lisp/icomplete.el (icomplete-exhibit): Use
while-no-input-ignore-events.

5 years agoDocument Windows font selection quirks
Eli Zaretskii [Sat, 2 Nov 2019 10:50:27 +0000 (12:50 +0200)]
Document Windows font selection quirks

* doc/emacs/msdos.texi (Windows Fonts): Document
'w32-use-w32-font-dialog' and 'w32-fixed-font-alist'.

5 years agoImprove documentation of 'set-face-font'
Eli Zaretskii [Sat, 2 Nov 2019 10:41:51 +0000 (12:41 +0200)]
Improve documentation of 'set-face-font'

* lisp/faces.el (set-face-font):
* doc/emacs/frames.texi (Fonts):
* doc/lispref/display.texi (Face Attributes)
(Attribute Functions): Clarify and correct the documentation
of set-face-font and related descriptions of font
specifications.  (Bug#14647)

5 years agoRevert "Omit edition numbers and dates in manuals"
Eli Zaretskii [Sat, 2 Nov 2019 07:52:39 +0000 (09:52 +0200)]
Revert "Omit edition numbers and dates in manuals"

This reverts commit 2f42832895942fdeaa0c500511aa19860fa806cd.
Editions of Emacs manuals must be coordinated with the FSF
publishing staff, as they appear on the printed books.

5 years ago; * etc/NEWS: Fix my previous change for package-initialize.
Stefan Kangas [Sat, 2 Nov 2019 03:32:03 +0000 (04:32 +0100)]
; * etc/NEWS: Fix my previous change for package-initialize.

5 years ago* .dir-locals.el: Add explanatory header.
Stefan Kangas [Sat, 2 Nov 2019 03:24:44 +0000 (04:24 +0100)]
* .dir-locals.el: Add explanatory header.

5 years agoAdd auto-insert skeleton for ".dir-locals.el"
Stefan Kangas [Sat, 2 Nov 2019 03:23:24 +0000 (04:23 +0100)]
Add auto-insert skeleton for ".dir-locals.el"

* lisp/autoinsert.el (auto-insert-alist): Add auto-insert skeleton for
".dir-locals.el".

5 years agoNew icomplete-tidy-shadowed-file-names variable
João Távora [Thu, 31 Oct 2019 10:58:38 +0000 (10:58 +0000)]
New icomplete-tidy-shadowed-file-names variable

* lisp/icomplete.el (rfn-eshadow): Require it.
(icomplete-tidy-shadowed-file-names): New variable.
(icomplete-exhibit): Use icomplete-tidy-shadowed-file-names.

5 years agoFix icomplete-force-complete-and-exit for no-input situations
João Távora [Thu, 31 Oct 2019 20:19:35 +0000 (20:19 +0000)]
Fix icomplete-force-complete-and-exit for no-input situations

If there is no minibuffer input, but the user has already cycled some
pre-calculated completions, we should be calling
minibuffer-force-complete-and-exit instead of
minibuffer-complete-and-exit.  The former is guaranteed to be fast in
this situation and yields the desired "selected" completion, while the
latter will just give us the default, ignoring all the cycling of
icomplete-{forward|backward}-completions.

* lisp/icomplete.el (icomplete-force-complete-and-exit): Add
comments and fix for empty input but some completions calculated.

5 years agoImprove fix for icomplete's backward-kill-word bug#38024
João Távora [Sat, 2 Nov 2019 02:29:56 +0000 (02:29 +0000)]
Improve fix for icomplete's backward-kill-word bug#38024

* lisp/icomplete.el (icomplete-exhibit): Use
while-no-input-ignore-events, not redisplay.

Co-authored-by: Stefan Monnier <j.schmoe@example.org>
5 years ago* doc/emacs/package.texi (Package Menu): Add index items.
Stefan Kangas [Sat, 2 Nov 2019 02:22:58 +0000 (03:22 +0100)]
* doc/emacs/package.texi (Package Menu): Add index items.

5 years agoUse PASSWORD_STORE_DIR in auth-source-pass when set
Stefan Kangas [Sun, 6 Oct 2019 02:02:27 +0000 (04:02 +0200)]
Use PASSWORD_STORE_DIR in auth-source-pass when set

* lisp/auth-source-pass.el (auth-source-pass-filename): Initialize to
PASSWORD_STORE_DIR environment variable when set.  (Bug#29663)

5 years agoDon't refuse to install packages without a "footer line"
Stefan Kangas [Sat, 2 Nov 2019 00:30:36 +0000 (01:30 +0100)]
Don't refuse to install packages without a "footer line"

* lisp/emacs-lisp/package.el (package-buffer-info): Don't signal an
error when the "footer line" is missing.  Warn only.  (Bug#26490)
* etc/NEWS: Announce it.

5 years agoOmit edition numbers and dates in manuals
Paul Eggert [Sat, 2 Nov 2019 00:24:02 +0000 (17:24 -0700)]
Omit edition numbers and dates in manuals

These seem to cause more confusion than they cure; e.g.,
https://shop.fsf.org/books/gnu-emacs-manual-18th-edition-v-261
currently advertises "18th edition" even as it points to
https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf
which says "Seventeenth Edition".  It is simpler and less
confusing to stick to one version number like "26.3".  If we
need a separate edition number for each printed manual for
some reason (marketing?) we can put “@ifset printed-edition”
around anything specific to the printed editions.
(as opposed to online PDF copies).
* doc/emacs/emacs.texi (EDITION):
* doc/lispintro/emacs-lisp-intro.texi (edition-number, update-date):
* doc/lispref/elisp.texi (VERSION, DATE):
Remove, and remove uses.

5 years agoDocument limits on some time-conversion functions
Paul Eggert [Fri, 1 Nov 2019 23:13:31 +0000 (16:13 -0700)]
Document limits on some time-conversion functions

* doc/lispref/os.texi (Time of Day, Time Zone Rules)
(Time Conversion, Time Parsing, Time Calculations):
Document functions that limit the range of time values
due to OS limits (Bug#37974).

5 years agoset-face-font doc string update
Lars Ingebrigtsen [Fri, 1 Nov 2019 17:32:29 +0000 (18:32 +0100)]
set-face-font doc string update

* lisp/faces.el (set-face-font): Mention what the string formats
are (bug#14647).

5 years agoFix documentation of set-face-font in the manual
Lars Ingebrigtsen [Fri, 1 Nov 2019 17:27:17 +0000 (18:27 +0100)]
Fix documentation of set-face-font in the manual

* doc/lispref/display.texi (Attribute Functions): Describe more
precisely what set-face-font does (bug#14647).

5 years agoLow-Level Font documentation fix
Lars Ingebrigtsen [Fri, 1 Nov 2019 17:14:17 +0000 (18:14 +0100)]
Low-Level Font documentation fix

* doc/lispref/display.texi (Low-Level Font): Mention what the data
types the font attributes are (bug#14634).

5 years agoReally enable setting a breakpoint without instrumenting first
Lars Ingebrigtsen [Fri, 1 Nov 2019 16:42:22 +0000 (17:42 +0100)]
Really enable setting a breakpoint without instrumenting first

* lisp/emacs-lisp/edebug.el (edebug-set-breakpoint): Really enable
setting a breakpoint without instrumenting first (bug#23469).

5 years ago; Auto-commit of loaddefs files.
Glenn Morris [Fri, 1 Nov 2019 13:27:08 +0000 (06:27 -0700)]
; Auto-commit of loaddefs files.

5 years agoDon't claim that anonymous face can't be used in font-lock
Lars Ingebrigtsen [Fri, 1 Nov 2019 13:17:17 +0000 (14:17 +0100)]
Don't claim that anonymous face can't be used in font-lock

* doc/lispref/display.texi (Faces): Anonymous functions can be
used when font locking, so adjust the injunction against them
(bug#35005).

5 years agoRemove an unfunny joke from DEVEL.HUMOR
Cecilio Pardo [Fri, 1 Nov 2019 12:54:41 +0000 (13:54 +0100)]
Remove an unfunny joke from DEVEL.HUMOR

* etc/DEVEL.HUMOR: Remove unfunny joke (bug#38002).

Copyright-paperwork-exempt: yes

5 years agoMake ant regexp in compilation-error-regexp-alist-alist more lax
Filipp Gunbin [Thu, 31 Oct 2019 18:39:01 +0000 (21:39 +0300)]
Make ant regexp in compilation-error-regexp-alist-alist more lax

* lisp/progmodes/compile.el: Make ant regexp accept filenames that may
occur on Cygwin (like c:/test) and optional additional severity level
after task name.
* etc/compilation.txt: Add sample.

5 years agoMinor wording change in ELisp manual
Richard Stallman [Sun, 27 Oct 2019 02:02:57 +0000 (22:02 -0400)]
Minor wording change in ELisp manual

* doc/lispref/functions.texi (Advising Named Functions):
Improve and clarify wording of the advice to avoid advising
functions in released code.

5 years ago; Add @cindex in files.texi for "temporary file on a remote host"
Michael Albinus [Fri, 1 Nov 2019 09:36:26 +0000 (10:36 +0100)]
; Add @cindex in files.texi for "temporary file on a remote host"

* doc/lispref/files.texi (Unique File Names): Add @cindex for
"temporary file on a remote host".  (Bug#38010)

5 years agoFix insert-file-contents file error regression
Paul Eggert [Fri, 1 Nov 2019 06:31:17 +0000 (23:31 -0700)]
Fix insert-file-contents file error regression

Problem reported for dired-view-file (Bug#37950).
* src/fileio.c (Finsert_file_contents): When visiting,
signal an error if the file could not be opened for any reason,
rather than signaling an error only for nonexistent files, fixing
a bug introduced in 2019-09-16T03:17:43!eggert@cs.ucla.edu.

5 years ago* lisp/cedet/ (semantic-analyze-possible-completions): Add `flags` arg
Eric Ludlam [Thu, 31 Oct 2019 23:10:58 +0000 (19:10 -0400)]
* lisp/cedet/ (semantic-analyze-possible-completions): Add `flags` arg

* lisp/cedet/semantic/texi.el (semantic-analyze-possible-completions),
lisp/cedet/srecode/srt-mode.el (semantic-analyze-possible-completions),
lisp/cedet/semantic/bovine/make.el (semantic-analyze-possible-completions):
Add `flags` arg.
* lisp/cedet/semantic/grammar.el (semantic-analyze-possible-completions):
Add `flags` arg.  Reverse the found prefix.
(semantic-ctxt-current-class-list): Include token tags as things to
appear in non-lisp context.

5 years ago* test/lisp/cedet/semantic-utest-ia.el: Update from upstream
Eric Ludlam [Mon, 28 Oct 2019 01:01:54 +0000 (21:01 -0400)]
* test/lisp/cedet/semantic-utest-ia.el: Update from upstream

Merge content from CEDET on SF to bring in additional test points
and support more types of languages.
(semantic-utest-ia-struct.cpp, semantic-utest-ia-templates.cpp)
(semantic-utest-ia-using.cpp, semantic-utest-ia-nsp.cpp)
(semantic-utest-ia-localvars.cpp, semantic-utest-ia-varnamse.java)
(semantic-utest-ia-wisent.wy, semantic-utest-ia-texi)
(semantic-utest-ia-make, semantic-utest-ia-srecoder): New test points
(semantic-ia-utest-buffer): Use comment-start-skip when looking
for test point tokens.
Capture errors ignoring debugger to enable test for empty results.
Improve output from test diagnostics.
(semantic-ia-utest-buffer-refs): Use comment-start-skip to find
test point tokens.
Author: Eric Ludlam <zappo@gnu.org>

5 years ago* test/manual/cedet/tests/test*: More updates from upstream
Eric Ludlam [Mon, 28 Oct 2019 00:51:54 +0000 (20:51 -0400)]
* test/manual/cedet/tests/test*: More updates from upstream

* test/manual/cedet/tests/testjavacomp.java,
test/manual/cedet/tests/testnsp.cpp,
test/manual/cedet/tests/testsppcomplete.c,
test/manual/cedet/tests/testtypedefs.cpp,
test/manual/cedet/tests/testvarnames.c:
Merge content from CEDET on SF with extended test points for use with
test/lisp/cedet/semantic-utest-ia.el
Author: Eric Ludlam <zappo@gnu.org>

5 years ago* test/manual/cedet/tests/testdoublens.cpp: Update from upstream
Eric Ludlam [Mon, 28 Oct 2019 00:36:17 +0000 (20:36 -0400)]
* test/manual/cedet/tests/testdoublens.cpp: Update from upstream

* test/manual/cedet/tests/testdoublens.hpp:
Merge content from CEDET on SF with extended test points for use with
test/lisp/cedet/semantic-utest-ia.el
Author: Eric Ludlam <zappo@gnu.org>

5 years ago* test/manual/cedet/tests/: New files for semantic-utest-ia.el
Eric Ludlam [Mon, 28 Oct 2019 00:31:34 +0000 (20:31 -0400)]
* test/manual/cedet/tests/: New files for semantic-utest-ia.el

* test/manual/cedet/tests/test.mk,
test/manual/cedet/tests/test.srt, test/manual/cedet/tests/test.texi,
test/manual/cedet/tests/testlocalvars.cpp,
test/manual/cedet/tests/teststruct.cpp,
test/manual/cedet/tests/testtemplates.cpp,
test/manual/cedet/tests/testusing.cpp,
test/manual/cedet/tests/testusing.hh,
test/manual/cedet/tests/testvarnames.java.
test/manual/cedet/tests/testwisent.wy:
New files to be used by test/lisp/cedet/semantic-utest-ia.el.
Author: Eric Ludlam <zappo@gnu.org>

5 years agoPrevent text flicker with macOS input methods (bug#23412)
Alan Third [Mon, 28 Oct 2019 11:21:29 +0000 (11:21 +0000)]
Prevent text flicker with macOS input methods (bug#23412)

* src/nsterm.m ([EmacsView setMarkedText:selectedRange:]): Don't
always delete the working text as ns-put-working-text does that.

5 years agoInhibit undo-in-region for mouse-drag-region (bug#37700)
Mattias Engdegård [Thu, 31 Oct 2019 09:31:27 +0000 (10:31 +0100)]
Inhibit undo-in-region for mouse-drag-region (bug#37700)

'mouse-drag-region' leaves the region active around the dragged text,
so a straight undo did not revert the entire operation.  To remedy
this, inhibit undo-in-region when the last command was
mouse-drag-region.  (Method suggested by Stefan Monnier.)

* lisp/mouse.el (undo-drag-region): Set the undo-inhibit-region property.
* lisp/simple.el (undo): Inhibit undo-in-region if the last command
had the undo-inhibit-region property set.
* doc/lispref/symbols.texi (Standard Properties):
* doc/lispref/text.texi (Undo): Document undo-inhibit-region.
* etc/NEWS: Announce the property.

5 years agoEnsure that font-local variables are buffer-local
Lars Ingebrigtsen [Thu, 31 Oct 2019 13:06:08 +0000 (14:06 +0100)]
Ensure that font-local variables are buffer-local

* lisp/font-lock.el (font-lock-set-defaults): Ensure that the font
lock variables are buffer-local even when nil, so that they're
copied correctly by mhtml mode when changing sub-modes (bug#33937).

5 years agoClean up font-lock-refontify slightly
Lars Ingebrigtsen [Thu, 31 Oct 2019 12:26:19 +0000 (13:26 +0100)]
Clean up font-lock-refontify slightly

* lisp/font-lock.el (font-lock-refontify): Use
syntax-ppss-flush-cache instead of internal variable.

5 years agoFurther tweaks to sh-script \ #foo font locking
Lars Ingebrigtsen [Thu, 31 Oct 2019 12:07:37 +0000 (13:07 +0100)]
Further tweaks to sh-script \ #foo font locking

* lisp/progmodes/sh-script.el (sh-syntax-propertize-function):
Tweak previous \ #foo change to work on all quoted characters, but
check that the backslash itself is not backslashed.  Regexp from
Stefan Monnier.

5 years agoFix some minor Tramp problems
Michael Albinus [Thu, 31 Oct 2019 10:13:13 +0000 (11:13 +0100)]
Fix some minor Tramp problems

* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
Check, that `tramp-password-save-function' is a function.

* lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info):
Check, that there is a share.

* lisp/net/tramp.el (outline-regexp): Declare.
(tramp-get-debug-buffer): Let-bind `signal-hook-function'.

* test/lisp/net/tramp-tests.el (tramp-test04-substitute-in-file-name):
Skip some tests for Emacs 24 and 25; they let Emacs crash.

5 years agoRework vc stash bindings
Robert Pluim [Thu, 31 Oct 2019 09:52:20 +0000 (10:52 +0100)]
Rework vc stash bindings

This adds create/snapshot bindings to the stash button even when there
are no stashes, and extends the stash menu bindings.

* etc/NEWS: Announce the bindings.

* lisp/vc/vc-git.el (vc-git-stash-shared-map): New keymap.  Holds
shared bindings between stash button and stash list.
(vc-git-stash-map): Inherit from vc-git-stash-shared-map.
(vc-git-stash-button-map): New keymap.  Holds button bindings,
inherit from vc-git-stash-shared-map.
(vc-git-stash-shared-help, vc-git-stash-list-help): New
defconsts.  Abstract out list/button help texts.
(vc-git--make-button-text): Set keymap property to
vc-git-stash-button-map.
(vc-git-make-stash-button): Use vc-git-stash-shared-help.
(vc-git-stash-menu-map): Add items for vc-git-stash and
vc-git-stash-snapshot.
(vc-git-dir-extra-headers): Use vc-git-stash-list-help and
vc-git-stash-shared-help.  Add vc-git-stash and
vc-git-stash-snapshot bindings to text shown when there are no stashes.

5 years agoFix bug with lock file on nonstandard filesystem
Paul Eggert [Thu, 31 Oct 2019 01:15:14 +0000 (18:15 -0700)]
Fix bug with lock file on nonstandard filesystem

* src/filelock.c (create_lock_file):
Don’t disable user write access to the lock file (Bug#37884).

5 years agoFont-lock symlinks in dired buffers better
Lars Ingebrigtsen [Wed, 30 Oct 2019 23:31:32 +0000 (00:31 +0100)]
Font-lock symlinks in dired buffers better

* lisp/dired.el (dired-font-lock-keywords): Font-lock symlinks
differently based on whether they point at a directory or not
(bug#17064).  Based on code from Michael Heerdegen.

5 years ago* lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.
Juri Linkov [Wed, 30 Oct 2019 23:11:05 +0000 (01:11 +0200)]
* lisp/tab-bar.el (tab-bar-select-tab): Use set-frame-parameter.

(tab-bar-list-noselect, tab-bar-list-mode): Rearrange buffer-read-only.

5 years agoFix print.c infloop on circular lists
Paul Eggert [Wed, 30 Oct 2019 21:40:06 +0000 (14:40 -0700)]
Fix print.c infloop on circular lists

Fix infinite loops in print.c when a circular list is passed
to command-error-default-function or to error-message-string.
* src/print.c (print_error_message):
Use FOR_EACH_TAIL to avoid infloop on circular lists.
(print_object): Use FOR_EACH_TAIL_SAFE, as it uses
Brent’s teleporting tortoise-hare algorithm which is
asymptotically better than the classic tortoise-hare
algorithm that the code wsas using.
* test/src/print-tests.el (print-circle-2): When print-circle
is nil, do not insist on a particular cycle-detection heuristic.
(error-message-string-circular): New test.

5 years agoFix keyboard.c infloops on circular lists
Paul Eggert [Wed, 30 Oct 2019 21:24:29 +0000 (14:24 -0700)]
Fix keyboard.c infloops on circular lists

Fix infinite loops in keyboard.c when a circular list is
found in a hook, or in help-event-list, or in the argument
of event-convert-list, or in a keymap where a Lucid event
type list is expected, or in a menu or tab spec.
* src/keyboard.c (safe_run_hooks_error, menu_bar_items)
(parse_menu_item, parse_tab_bar_item, parse_tool_bar_item):
Use FOR_EACH_TAIL to avoid infloop on circular lists.
(help_char_p, Fevent_convert_list, lucid_event_type_list_p):
Use FOR_EACH_TAIL_SAFE to avoid infloop on circular lists,
when the action is idempotent so a circular list can be
treated as a noncircular one.