summaryrefslogtreecommitdiff
path: root/lisp
Commit message (Collapse)AuthorAgeFilesLines
* ; Roll back certain doc changes; clarify what "transient" isDmitry Gutov2020-07-121-7/+9
|
* Fix a typo in eldoc.elJames N. V. Cash2020-07-121-1/+1
| | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix a typo. (Bug#42310) Copyright-paperwork-exempt: yes
* Fix last doc changes in project.elEli Zaretskii2020-07-121-8/+12
| | | | | | * lisp/progmodes/project.el (project-find-functions) (project-current): Add back information which was recently removed.
* Sort out ElDoc backward compatibility of eldoc-documentation-functionJoão Távora2020-07-121-5/+22
| | | | | | | | | | | | | | | | As explained previously, we can't simply make eldoc-documentation-function an variable alias for eldoc-documentation-strategy, because ElDoc is pre-loaded in Emacs < 28, where it holds at least one buffer-local binding. So if eldoc.el is loaded in those versions, we do the variable alias binding in reverse. We do this using a macro eldoc--documentation-strategy-defcustom to at load time in which direction to make the variable alias. * lisp/emacs-lisp/eldoc.el (eldoc--documentation-strategy-defcustom): Helper macro. (eldoc-documentation-strategy, eldoc-documentation-function): Use it. (Version): Bump to 1.5.0
* More Tramp code cleanupMichael Albinus2020-07-128-158/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp.el (tramp-process-actions): * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info) (tramp-adb-handle-set-file-times) (tramp-adb-maybe-open-connection): * lisp/net/tramp-cmds.el (tramp-rename-files, tramp-rename-these-files) (tramp-reporter-dump-variable): * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-stat) (tramp-sh-handle-file-selinux-context) (tramp-do-directory-files-and-attributes-with-stat) (tramp-sh-handle-file-name-all-completions) (tramp-sh-handle-write-region) (tramp-sh-handle-file-notify-add-watch) (tramp-sh-gvfs-monitor-dir-process-filter) (tramp-sh-inotifywait-process-filter) (tramp-sh-handle-file-system-info, tramp-find-executable) (tramp-open-shell, tramp-find-shell): * lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat) (tramp-smb-handle-file-system-info): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context) (tramp-sudoedit-handle-file-system-info): Remove superfluous `eval-when-compile', `concat' creates the string during byte compilation. Reported by Mattias Engdegård <mattiase@acm.org>. * lisp/net/tramp-adb.el (tramp-adb-prompt): Simplify. (tramp-adb-send-command): * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-string-to-byte-array): Use `string-match-p'. * lisp/net/tramp-sh.el (tramp-sunos-unames): New defconst. (tramp-find-executable, tramp-find-shell, tramp-get-remote-stat): Use it.
* project-kill-buffers: Update the docstring tooDmitry Gutov2020-07-121-0/+2
| | | | | * lisp/progmodes/project.el (project-kill-buffers): Copy a sentence over from project-switch-to-buffer.
* More docstring updates in project.elDmitry Gutov2020-07-121-9/+9
| | | | | | * lisp/progmodes/project.el (project-find-functions) (project-current, project-switch-to-buffer): More docstring updates.
* Merge from origin/emacs-27Glenn Morris2020-07-112-5/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | c04b92104c Add commentary in gtkutil.c 6290850dac Consistently stylize eldoc as ElDoc in prose 136e931189 Improve documentation of "C-u C-x =" 1f52771fd3 Mention floating rounding issues c892ae65b4 Repair global-auto-revert-ignore-modes (bug#42271) 3a446a02fb ; * src/xdisp.c (decode_mode_spec): Fix commentary. 79f381b4a6 One more improvement of left/right-fringe display spec docs 1279bdb072 Another clarification of left/right-fringe display spec # Conflicts: # doc/emacs/programs.texi
| * Consistently stylize eldoc as ElDoc in proseBasil L. Contovounesios2020-07-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/custom.texi (Specifying File Variables): * doc/emacs/modes.texi (Major Modes): * doc/emacs/programs.texi (Lisp Doc): * etc/NEWS.22: * etc/NEWS.23: * lisp/progmodes/python.el: (python-eldoc-function): * test/lisp/progmodes/python-tests.el: Consistently capitalize eldoc as ElDoc rather than Eldoc.
| * Repair global-auto-revert-ignore-modes (bug#42271)Mattias Engdegård2020-07-091-1/+1
| | | | | | | | | | | | Reported by Gustavo Tavares Cabral. * lisp/autorevert.el (auto-revert--global-add-current-buffer): Fix typo.
| * ; Auto-commit of loaddefs files.Glenn Morris2020-07-011-0/+4
| |
* | Fix multibyte chars of file names in tramp-adb.elMichael Albinus2020-07-111-40/+46
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command): Revert return value meaning. Insert the result into the connection buffer. (tramp-adb-handle-file-local-copy) (tramp-adb-handle-write-region, tramp-adb-handle-copy-file) (tramp-adb-get-device): Adapt calls. (tramp-adb-send-command): Use "adb shell ..." in case the command contains multibyte chars. * test/lisp/net/tramp-tests.el (tramp--test-utf8): Extend test.
* | Another minor improvement of project.el doc stringsEli Zaretskii2020-07-111-13/+26
| | | | | | | | | | | | * lisp/progmodes/project.el (project-find-functions) (project-current, project-switch-to-buffer): Doc fix. (project-current): Rename the argument DIR to DIRECTORY.
* | project-switch-to-buffer: Reword the docstringDmitry Gutov2020-07-111-3/+1
| | | | | | | | | | * lisp/progmodes/project.el (project-switch-to-buffer): Reword the docstring, copying the style from project-kill-buffers.
* | Fix placement of Eldoc docs during eval-expression (bug#42309)João Távora2020-07-101-36/+40
| | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): Rework.
* | Revert "Fix Eldoc problem when loading on Emacs 26.3"João Távora2020-07-101-4/+1
| | | | | | | | | | | | This reverts commit 9ade7ea7b77ec40c16deb4dff139ce7127a703e2. * lisp/emacs-lisp/eldoc.el (Version): Bump to 1.4.0
* | Tramp code cleanupMichael Albinus2020-07-108-110/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp.el (tramp-shell-prompt-pattern) (tramp-wrong-passwd-regexp, tramp-method-regexp-alist) (tramp-domain-regexp, tramp-host-regexp, tramp-ipv6-regexp) (tramp-port-regexp, tramp-debug-outline-regexp) (tramp-drop-volume-letter, tramp-parse-shostkeys) (tramp-handle-file-name-case-insensitive-p): * lisp/net/tramp-adb.el (tramp-adb-send-command-and-check): * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp): * lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter): * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp) (tramp-device-escape-sequence-regexp): * lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat) (tramp-smb-handle-set-file-acl, tramp-smb-read-file-entry): * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-selinux-context): Use character classes in regexp. * lisp/net/tramp-adb.el (tramp-adb-ls-date-year-regexp) (tramp-adb-ls-date-time-regexp): New defconst. (tramp-adb-ls-date-regexp, tramp-adb-ls-toolbox-regexp) (tramp-adb-sh-fix-ls-output): Use them. (tramp-adb-handle-set-file-times, tramp-adb-maybe-open-connection): Apply `eval-when-compile' on constant concat data. (tramp-do-parse-file-attributes-with-ls): Suppress `signal-hook-function'. (tramp-adb--gnu-switches-to-ash): Remove unused function. (tramp-adb-handle-set-file-modes): Qhote argument. (tramp-adb-maybe-open-connection): Set file property rather than flush. * lisp/net/tramp-cmds.el (tramp-rename-these-files): Apply `eval-when-compile' on constant concat data. * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes) (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Embed them in `eval-and-compile'. (tramp-gvfs-get-directory-attributes): Apply `eval-when-compile' on constant concat data.
* | Fix byte compilation warning in EldocJoão Távora2020-07-101-1/+1
| | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Pass nil as second argument.
* | Fix Eldoc problem when loading on Emacs 26.3João Távora2020-07-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When defining the obsolete variable alias for old eldoc-documentation-function (which now points to the newer eldoc-documentation-strategy), one gets the error "don't know how to make a localized vareiable an alias". I'm not sure, but I suspect this is because Eldoc is preloaded in Emacs 26.3 and the eldoc-documentation-function variable is already set locally by some Elisp buffer. Uninterning the symbol shortly before defining the alias seems to fix it. * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Unintern on load. (Version): Bump to 1.3.0
* | EUDC: Add macOS Contacts backendAlexander Adolf2020-07-091-0/+118
| | | | | | | | | | | | | | * lisp/net/eudcb-macos-contacts.el: New file. * doc/misc/eudc.texi (macOS Contacts): New section. (macOS Contacts Configuration): Likewise. * etc/NEWS: Mention new macOS Contacts backend.
* | Improve display of compositions by "C-u C-x ="Eli Zaretskii2020-07-091-2/+7
| | | | | | | | | | * lisp/descr-text.el (describe-char): On TTY frames, display the Unicode names of the composed characters as well. (Bug#42256)
* | Unbreak M-x eldocJoão Távora2020-07-091-13/+16
| | | | | | | | | | | | | | | | | | The command should always invoke Eldoc when called interactively, instead of going through the usual checks, which are performed to avoid interference with other commands. * lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Rework. (Version): Bump to 1.2.0
* | Prevent infloop in Eldoc message truncation algorithmJoão Távora2020-07-091-1/+1
| | | | | | | | | | | | | | | | | | The truncation algorithm still has a long way to go for very narrow frame sizes. It should become a generic mechanism that would allows one to truncate a string so that fits in N possibly truncated screen lines of a full-width window. * lisp/emacs-lisp/eldoc.el (eldoc-handle-docs): Tweak
* | Bump Flymake versionJoão Távora2020-07-091-1/+1
| | | | | | | | * lisp/progmodes/flymake.el (Version): Bump to 1.0.9.
* | * lisp/progmodes/cc-engine.el (c-at-expression-start-p): Fix message.Glenn Morris2020-07-081-1/+1
| |
* | Shoosh warnings about obsolete eldoc-documentation-functionJoão Távora2020-07-082-17/+12
| | | | | | | | | | | | | | * lisp/progmodes/cfengine.el (cfengine3-mode): Remove mention to obsolete eldoc-documentation-function. * lisp/progmodes/python.el (python-mode): Use with-no-warnings.
* | Improve Eldoc docstringsJoão Távora2020-07-081-31/+87
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-strategy): Improve docstring. (eldoc--make-callback): Improve docstring. (eldoc--invoke-strategy): New helper function. (eldoc-print-current-symbol-info): Call eldoc--invoke-strategy. (eldoc-documentation-functions): Improve docstring.
* | Change version scheme of two Eldoc obsolete specsJoão Távora2020-07-081-2/+2
| | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-function) (eldoc-message): Obsolete spec uses eldoc-1.1.0.
* | Adjust describe-char-eldoc to new eldoc-documentation-functions protocolJoão Távora2020-07-081-2/+7
| | | | | | | | | | * lisp/descr-text.el (describe-char-eldoc): Adjust to new eldoc-documentation-functions protocol.
* | Adjust Eldoc documentation after Eli's reviewJoão Távora2020-07-081-95/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * etc/NEWS (Eldoc): Adjust paragraphs. * lisp/emacs-lisp/eldoc.el (eldoc-prefer-doc-buffer): Adjust docstring. (eldoc--enthusiasm-curbing-timer, eldoc-documentation-strategy) (eldoc-documentation-functions): Adjust docstring. (eldoc--handle-docs): Adjust comments. (eldoc--documentation-compose-1): New helper. (eldoc-documentation-compose) (eldoc-documentation-compose-eagerly): Use it. (eldoc-print-current-symbol-info): Adjust comments.
* | Make more parts of Emacs use new Eldoc capabilitiesJoão Távora2020-07-087-78/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Elisp-mode was doing a lot of work that can now be delegated to Eldoc. Flymake uses the new Eldoc functionality, too, installing a global documentation function that may report on diagnostics under point. CEDET's grammar.el was left as the only user of an Eldoc-internal function. That function was moved to grammar.el. That file is still, somewhat reprehensibly, using an internal function of elisp-mode.el, but this was left unchanged. In other situations, eldoc-documentation-functions is used or recommended. The only other places where the obsolete eldoc-documentation-function is still used is in libraries which are presumably meant to remain compatible with previous Emacs versions. * lisp/progmodes/elisp-mode.el (elisp-eldoc-funcall) (elisp-eldoc-var-docstring): New functions. (emacs-lisp-mode): Put two elements in eldoc-documentation-functions. * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Setup new Elisp eldoc-documentation-functions. * lisp/progmodes/flymake.el (flymake-mode): Use flymake-eldoc-function. (flymake-eldoc-function): New function. (Package-Requires): Require eldoc 1.1.0 * lisp/descr-text.el (describe-char-eldoc): Recommend eldoc-documentation-functions. * lisp/progmodes/cfengine.el (cfengine3-documentation-function): Recommend eldoc-documentation-functions * lisp/progmodes/octave.el (inferior-octave-mode): Use eldoc-documentation-functions. * lisp/cedet/semantic/grammar.el (semantic--docstring-format-sym-doc): New function. (semantic-grammar-eldoc-get-macro-docstring): Adjust.
* | * lisp/emacs-lisp/eldoc.el (Version): Bump to 1.1.0João Távora2020-07-081-1/+1
| |
* | New M-x eldoc for on-demand and interactive documentation requestsJoão Távora2020-07-081-0/+3
| | | | | | | | | | | | | | | | | | The function eldoc is just an alias for eldoc-print-current-symbol-info, which is made interactive. * lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): Now an interactive function. (eldoc): Alias to eldoc-print-current-symbol-info.
* | Better handle asynchronous Eldoc sourcesJoão Távora2020-07-086-93/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backward compatible redesign of significant parts of the eldoc.el library. Previously, Eldoc clients (major/minor modes setting its documentation gathering variables) needed to directly call eldoc-message, an internal function, to display the docstring to the user. When more asynchronous sources are involved, this is hard to do or even breaks down. Now, an Eldoc backend may return any non-nil, non-string value and call a callback afterwards. This restores power to Eldoc over how (and crucially also when) to display the docstrings to the user. Among other things, this fixes so called "doc blinking", or the very short-lived display of a lower priority Eldoc message. This would happen if a particular producer of documentation finishes shortly before a higher priority one, like in the LSP engine Eglot as reported by Andrii Kolomoiets <andreyk.mad@gmail.com> and Dmitry Gutov <dgutov@yandex.ru>. Gathering docstrings is now delegated to the variable eldoc-documentation-strategy, which is the new name for the now-obsolete eldoc-documentation-function, and still accepts the so-called "old protocol". Examples of the new strategies enabled are codified in functions such as eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly, along with the existing eldoc-documentation-compose and eldoc-documentation-default. The work of displaying and formatting docstrings is shifted almost fully to Eldoc itself and is delegated to the internal function eldoc--handle-docs. Among other improvements, it handles most of eldoc-echo-area-use-multiline-p and outputs documentation to a temporary *eldoc* buffer. The manual and NEWS are updated to mention the new Eldoc features. * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Overhaul docstring. (eldoc-documentation-compose, eldoc-documentation-default): Handle non-nil, non-string values of elements of eldoc-documentation-functions. Use eldoc--handle-multiline. (eldoc-print-current-symbol-info): Honour non-nil, non-string values returned by eldoc-documentation-callback. (eldoc--make-callback): Now also a function. (eldoc-documentation-default, eldoc-documentation-compose): Tweak docstring. (eldoc-documentation-enthusiast, eldoc-documentation-compose-eagerly): New functions. (eldoc-echo-area-use-multiline-p): Add new semantics. (eldoc--handle-docs): Handle some of eldoc-echo-area-use-multiline-p. (eldoc-doc-buffer): New command. (eldoc-prefer-doc-buffer): New defcustom. (eldoc--enthusiasm-curbing-timer): New variable. (eldoc-documentation-strategy): Rename from eldoc-documentation-function. (eldoc--supported-p): Use eldoc-documentation-strategy (eldoc-highlight-function-argument) (eldoc-argument-case, global-eldoc-mode) (turn-on-eldoc-mode): Mention eldoc-documentation-strategy. (eldoc-message-function): Mention eldoc--message. (eldoc-message): Made obsolete. (eldoc--message): New helper. * lisp/hexl.el (hexl-print-current-point-info): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/cfengine.el (cfengine3-documentation-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/elisp-mode.el (elisp-eldoc-documentation-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/octave.el (octave-eldoc-function): Adjust to new eldoc-documentation-functions protocol. * lisp/progmodes/python.el (python-eldoc-function): Adjust to new eldoc-documentation-functions protocol. (eldoc-print-current-symbol-info): Rework with cl-labels. * doc/emacs/programs.texi (Lisp Doc): Mention eldoc-documentation-strategy. * doc/lispref/modes.texi (Major Mode Conventions): Mention eldoc-documentation-functions. * etc/NEWS: Mention eldoc-documentation-strategy.
* | Optimise assoc and rassoc with symbol key to assq and rassqMattias Engdegård2020-07-071-0/+11
| | | | | | | | | | | | | | This is the same transformation made for member to memq. * lisp/emacs-lisp/byte-opt.el (byte-optimize-assoc): New function. (assoc, rassoc): Set the byte-optimizer property.
* | Merge from origin/emacs-27Glenn Morris2020-07-072-4/+8
|\| | | | | | | | | | | | | | | 59e768d64a Fix undefined behavior in json.c (Bug#42113) cce00bef03 Fix ACTION argument of 'display-buffer' call in gud.el 0121db2702 * src/keyboard.c (Fclear_this_command_keys): Doc fix. b9abf5ceb2 Improve do string of 'man' b87fc938a0 ; * src/xdisp.c (pos_visible_p): Yet another minor fix for...
| * Fix ACTION argument of 'display-buffer' call in gud.elRichard Kim2020-06-281-3/+3
| | | | | | | | | | * lisp/progmodes/gud.el (gud-common-init): The ACTION argument of 'display-buffer' should be a list of list of functions. (Bug#41888)
| * Improve do string of 'man'Eli Zaretskii2020-06-271-1/+5
| | | | | | | | | | * lisp/man.el (man): Mention the need to use C-q for quoting the SPC character in the man-page input. (Bug#41859)
* | * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Add `keyword`Stefan Monnier2020-07-061-10/+16
| |
* | Simplify byte-code optimisation of pure functionsMattias Engdegård2020-07-061-43/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most pure functions need no explicit optimisation; we can do away with almost all uses of byte-optimize-predicate (now renamed to byte-optimize-constant-args, since it is not just for predicates). Also remove some superfluous arity warnings. * lisp/emacs-lisp/byte-opt.el (byte-optimize-identity, byte-optimize-memq) (byte-optimize-nth, byte-optimize-nthcdr): Remove arity warnings and simplify. * lisp/emacs-lisp/byte-opt.el (<, >, <=, >=, not, null, consp, listp) (symbolp, stringp, string<, string-lessp, proper-list-p, logand) (logior, logxor, lognot, car, cdr, car-safe, cdr-safe): Remove superfluous byte-optimizer property. (byte-optimize-predicate): Rename to byte-optimize-constant-args. All uses changed.
* | Mark more functions pure (bug#42147)Mattias Engdegård2020-07-061-7/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Extend the list of 'pure' functions to many predicates and numerical functions that we are reasonably confident will give portable results. Also include various list and array accessors, because our use of purity in the byte compiler isn't affected by the mutability of arguments. * lisp/emacs-lisp/byte-opt.el: Update example in comment. (pure-fns): Add many functions. (byte-optimize-form-code-walker) Don't signal errors during evaluation of calls to pure functions with constant arguments at compile time, since such calls are not necessarily reachable.
* | ; Revert "; Add a note about a bottleneck"Dmitry Gutov2020-07-061-2/+0
| | | | | | | | | | | | | | This reverts commit 9f9ce631a2ff44ebcb87b0b1390a21b13665db43. It's still a bottleneck, but so are mapcar (with its effect on GC) and concat. So our limits show in several places at once.
* | ; Add a note about a bottleneckDmitry Gutov2020-07-061-0/+2
| |
* | * lisp/progmodes/project.el: Bump the version.Dmitry Gutov2020-07-061-1/+1
| |
* | ; Add a couple of FIXMEsDmitry Gutov2020-07-061-1/+4
| |
* | project-switch-to-buffer: Don't filter based on default-directoryDmitry Gutov2020-07-061-13/+11
| | | | | | | | | | | | | | * lisp/progmodes/project.el (project-switch-to-buffer): Don't filter based on default-directory (https://lists.gnu.org/archive/html/emacs-devel/2020-07/msg00075.html). (project-switch-to-buffer): Ditto.
* | Verilog-Mode collected updates.Wilson Snyder2020-07-051-36/+76
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/verilog-mode.el (verilog-auto-inst): Support regexp of what AUTOINST I/O to include, issue #1682. Reported by Mrainy. (verilog-font-lock-keywords-1): Fix highlighting module names with no following (, issue #1679. Reported by Vinam Arora. (verilog-font-lock-keywords) Adds syntax highlighting for identifiers in declaration statements, #1678. (verilog-calculate-indent, verilog-inject-arg) (verilog-keywords, verilog-showscopes): Support AMS connectmodule/endconnectmodule, #1665. Reported by Dan McMahill.
* | Relax portable number check in byte compiler (bug#42147)Mattias Engdegård2020-07-051-30/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With bignums, the set of representable integers is no longer platform-dependent, and since we use nothing but IEEE754 64-bit floats, all numbers are now portable. Take advantage of this fact to simplify constant-folding in the byte compiler, allowing it to be applied more widely. * lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max) (byte-opt--portable-min, byte-opt--portable-numberp): Remove. (byte-opt--arith-reduce, byte-optimize-minus, byte-optimize-1+) (byte-optimize-1-): Simplify: any number will do, and if N is a number, then so are -N, N+1 and N-1.
* | Remove long obsolete c-looking-at-bos. Make c-at-expression-start-p obsoleteAlan Mackenzie2020-07-041-11/+1
| | | | | | | | | | * lisp/progmodes/cc-engine.el (c-looking-at-bos): Remove. (c-at-expression-start-p): Make obsolete, with no alternative function.
* | Fix filling in js-mode and mhtml-mode (js-mode parts), fixing bug #41897Alan Mackenzie2020-07-042-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/js.el (js-mode): Use "\\(?:" in the value of comment-start-skip rather than "\\(", fixing the second half of bug #41952. Call c-foreign-init-lit-pos-cache and install c-foreign-truncate-lit-pos-cache on before-change-functions, to connect up correctly with CC Mode's filling mechanism. * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add prefixes "adaptive-fill-", "fill-", "normal-auto-fill-function" and "paragraph-" to pull in variables crucial to filling. (mhtml-syntax-propertize): Read the current submode from the piece of text being propertized rather than one character before it, and do so before erasing the submode text-property. (mhtml-mode): Set the js-mode value of auto-fill-function to js-do-auto-fill. Correctly initialize and use CC Mode's filling facilities, as above.