summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mode.el
Commit message (Collapse)AuthorAgeFilesLines
* Merge from origin/emacs-26Paul Eggert2018-01-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 63b04c11d5 Fix copyright years by hand 5c7dd8a783 Update copyright year to 2018 220a9ecba1 Merge from Gnulib 312c565566 Don't add empty keyboard macro to macro ring (Bug#24992) 39ca289a7a Allow customization of decoding of "man" command f8240815ea * etc/NEWS: Add security consideration note on passphrase ... 0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ... acd289c5a4 Fix problems with indexing in User manual b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh... e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846 81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ... 7175496d7a Fix doc string of 'enable-recursive-minibuffers' 5b38406491 Fix documentation of delsel and of killing text # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex
| * Update copyright year to 2018Paul Eggert2018-01-011-1/+1
| | | | | | | | Run admin/update-copyright.
* | Merge from origin/emacs-26Paul Eggert2017-11-021-8/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7f089aa5f6 Require seq in rmc.el 53aaad1dfc Make an example code introduced in the Gnus info work (bug... 7b29db222f Enable gnus-read-ephemeral-* to run multiple times (bug#29... 015f0bb2d8 Port thread.c to OpenBSD ARM ad68bbd0da Fix another "wrong side of point" error in CC Mode. 646e56e150 Fix Bug#28959 685fd77959 Fix duplicate .o file on QNX e562356c3f Fix two js indentation problems b8cf159bbc Update documentation for windows build 46540a1c7a Fix a "wrong side of point" error in CC Mode. Fixes bug #... 57ca409111 Fix autoload of flymake from elisp-mode during bootstrap (... aee0bc8775 Fix non-native fullscreen on NS (bug#28872) d6c1a9cb8a ; Fix author email address in test/lisp/url/url-tramp-test... 761c630766 Fix Bug#28982 628b653209 Fix windows build errors e8a06a5f9a Fix compile warning for non-w32 builds 0c536a20fb Display commit in package description, if available (Bug#2... 1d83257a1d Port to QNX 19667f44ef * configure.ac: Tweak libcurses diagnostic. 3fc05cfaec Scripts to automate windows binary distribution 928a106939 Fix Edebug specs for map-let and with-maps-do 46f2ee0d4c * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): ... b51009d7f0 * admin/authors.el (authors-canonical-author-name): Ignore... a015db90e3 * test/lisp/progmodes/sql-tests.el (sql-tests-postgres-lis... 529a9c09d3 Further work on Bug#28889 c6deabaf4d Improve Tramp backward compatibility 8093e82e42 Improve backward compatibility of tramp-tests.el 46cdc01daa Fix some ‘window-normalize-’ prefixed functions (Bug#28947) 6360611457 Port to OpenIndiana a012ec766c Don't fill keywords after Emacs Lisp docstring b7c4aa951c Refactor c-forward-token-2 with new function c-forward-ove... 3aee7be62e Avoid unnecessary rounding errors in timestamps 2bfa42855b Fix xdg timestamp error on 32-bit Emacs 237e96bc52 Test that advice doesn't trigger bytecomp warnings (Bug#28... d719ea6ad5 Another fix for unsafe directory error message (Bug#865) b060e091c3 Handle https url for debbugs mbox (Bug#28831) 9e4265ef91 Ignore string properties when saving eshell history (Bug#2... 0f286ca85a Fix Bug#28889
| * Don't fill keywords after Emacs Lisp docstringAlexander Gramiak2017-10-221-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | This approach does mean that keywords that have spaces before them inside of docstrings aren't filled, but I think this is should be fine until Bug#28937 is fixed. * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to paragraph-start unconditionally, but require that it follows at least one space. (Bug#24622) * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and Bug#7751.
* | Highlight CL `with-' (context) and `do-' (iteration)Sam Steingold2017-10-311-7/+4
| | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): Highlight the Common Lisp conventional names as described in http://www.cliki.net/Naming+conventions. (lisp-el-font-lock-keywords-2): Remove the already commented out code for `do-' and `with-' because Emacs Lisp does not have a similar convention.
* | Highlight uninterned symbols.Sam Steingold2017-10-311-0/+5
|/ | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2): Highlight uninterned symbols, often used as string designators to avoid namespace pollution (https://stackoverflow.com/a/46981940/850781).
* Prefer HTTPS to FTP and HTTP in documentationPaul Eggert2017-09-131-1/+1
| | | | | | | | | | | | | Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
* Fix lisp-comment-indent for single-semicolon caseNoam Postavsky2017-07-061-6/+8
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for open paren if we're looking at multiple comment characters. * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1) (lisp-comment-indent-2): New tests.
* Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)Noam Postavsky2017-07-051-3/+10
| | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current line's code ends in open paren, set comment indentation exactly to column following it. (lisp-mode-variables): Set `comment-indent-function' to `lisp-comment-indent'.
* Fix wrong indentation after string literal (Bug#27306)Noam Postavsky2017-06-131-14/+13
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state) (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead. * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-indent-region-after-string-literal): New test.
* Give a name to lisp-mode's adaptive-fill-function (Bug#22730)Noam Postavsky2017-05-231-4/+8
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function. (lisp-mode-variables): Use it.
* Make sure indent-sexp stops at end of sexp (Bug#26878)Noam Postavsky2017-05-151-15/+18
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before indenting. * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New test.
* Fix lisp-indent-region and indent-sexp (Bug#26619)Noam Postavsky2017-05-091-85/+91
| | | | | | | | | | | | | | | | | | | | The new lisp-indent-region introduced in 2017-04-22 "Add new `lisp-indent-region' that doesn't reparse the code." is broken because it doesn't save the calculated indent amounts for already seen sexp depths. Fix this by unifying the indent-sexp and lisp-indent-region code. Furthermore, only preserve position 2 of the running parse when the depth doesn't change. * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that corresponds with the start point when calling parse-partial-sexp. (lisp-indent-state): New struct. (lisp-indent-calc-next): New function, extracted from indent-sexp. (indent-sexp, lisp-indent-region): Use it. (lisp-indent-line): Take indentation, instead of parse state. * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-mode-tests--correctly-indented-sexp): New constant. (lisp-indent-region, lisp-indent-region-defun-with-docstring): (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New tests.
* Fontify the doc-string in some CL forms as suchGlenn Morris2017-05-041-0/+3
| | | | | * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter): Add the doc-string-elt property. (Bug#26778)
* Add new `lisp-indent-region' that doesn't reparse the code.Noam Postavsky2017-04-221-4/+44
| | | | | | | | | | | | | | | | Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss' to get initial state, so they will no longer indent string literal contents. * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like `syntax-ppss', but with a more dependable item 2. (lisp-indent-region): New function, like `indent-region-line-by-line' but additionally keep a running parse state to avoid reparsing the code repeatedly. Use `lisp-ppss' to get initial state. (lisp-indent-line): Take optional PARSE-STATE argument, pass it to `calculate-lisp-indent', use `lisp-ppss' if not given. (lisp-mode-variables): Set `indent-region-function' to `lisp-indent-region'.
* Remove ignored argument from lisp-indent-lineNoam Postavsky2017-04-221-13/+7
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP argument, the behavior has long since been handled in `indent-for-tab-command'. Also remove redundant `beg' and `shift-amt' variables and use `indent-line-to'.
* * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.Noam Postavsky2017-04-221-7/+9
|
* Don't reparse the sexp in indent-sexp (Bug#25122)Noam Postavsky2017-04-221-37/+39
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let PARSE-START be a parse state that can be reused. (indent-sexp): Pass the running parse state to calculate-lisp-indent instead of the sexp beginning position. Saving the CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer needed. Don't bother stopping if we don't descend below init-depth, since we now alway scan the whole buffer (via syntax-ppss) anyway. * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank line to test case.
* Remove duplicate lisp-eval-defun definitionGlenn Morris2017-04-131-5/+1
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun): Autoload rather than defining a stub.
* * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOLStefan Monnier2017-03-241-11/+19
| | | | | (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2. Don't highlight \ at BOL. Don't assume syntax-ppss preserves match-data.
* * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos caseGraham Dobbins2017-03-211-1/+4
| | | | Copyright-paperwork-exempt: yes
* Fix indent-sexp when called from inside a string (Bug#21343)Noam Postavsky2017-03-121-4/+8
| | | | | * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse state from `syntax-ppss'.
* * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.Noam Postavsky2017-03-121-96/+72
| | | | | * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): (indent-subsexp, indent-sexp-in-string): New tests.
* Improve last changeStefan Monnier2017-03-111-7/+11
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Use ppss to check escaping and add help-echo.
* Highlight useless backslashes in Elisp stringsStefan Monnier2017-03-111-0/+9
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Put warning face on backslashes that have no effect.
* Merge from origin/emacs-25Paul Eggert2017-01-011-1/+1
|\ | | | | | | | | 2e2a806 Fix copyright years by hand 5badc81 Update copyright year to 2017
| * Update copyright year to 2017Paul Eggert2016-12-311-1/+1
| | | | | | | | Run admin/update-copyright.
* | Merge from origin/emacs-25Paul Eggert2016-06-071-1/+1
|\| | | | | | | | | | | | | 604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del... 20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo. a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo. 07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
| * * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table):Glenn Morris2016-05-311-1/+1
| | | | | | | | Fix typo. (Bug#23654)
* | Don't consider colons to be paragraphs starting chars in stringsLars Ingebrigtsen2016-04-281-2/+9
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't consider colons to start paragraphs in (doc) strings (bug#7751).
* | Merge from origin/emacs-25Paul Eggert2016-04-111-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b134c20 Sync with gnulib bb30fa9 Fix last change on 2016-01-02 488a72f ; Spelling fixes 9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3 0e7bcec Avoid crashes due to unreasonably large or small text scaling 85f257c Improve documentation of 'with-eval-after-load' 668c7bc Improve handling of non-ASCII characters in Git log messages b570769 Remove undefined behavior in OS X dumper. 97211f3 Fix clipping of xwidgets e87fbc0 Improve Lisp-level documentation of tooltips 9f1786e Faces names should not end in "-face". 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings. a1f221b Comint and compile no longer set EMACS 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2... a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... c93ae7a Allow to customize names of executables used by grep.el f6497c6 Set locale encoding to UTF-8 when run from OS X GUI. 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt a3f1ac2 Avoid infinite loop in 'studlify-word' f36df4b Don’t recommend obsolete EMACS env var fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
| * Fix last change on 2016-01-02Leo Liu2016-04-111-3/+3
| | | | | | | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Move `cl-errs-re' before `lisp--el-match-keyword'; don't use `prepend' which highlights `cl-errs-re' even in comments or strings.
* | Merge from origin/emacs-25John Wiegley2016-03-111-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | facb5e2 Update Emacs manual section related to character folding 4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984) f8df21b Update admin/notes/unicode 950be68 Add symref-filepattern entries for c?perl-mode 8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them. 985dacf ; NEWS update for the last change in etags 741a6f8 Sync with gnulib 7352c6c Rework C source files to avoid ^( a589e9a By default, etags produces unqualified Perl tag names 72c7438 Indent methods with keyword names correctly 28532a9 Propertize character literals and special global variables differently a7d6f39 ; Fix last change in NEWS 83b2a20 Change how /etc/NEWS presents character folding b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"" 711ca36 Properly handle lambda as read function (bug 22961) 1b9d616 Propertize operator symbol names with symbol syntax class 9b16bc2 Stop recognizing :#{} as symbol in ruby-mode 366ec77 Allow using the left shift operator without spaces on both sides 02bf7cc Properly handle unquoting in wdired (bug 22938) 16cf469 ; Spelling fix and tighten up comment f50bc04 Allow splat operator before percent literal 991c801 Don't apply the return value of goto-char as syntax class 6e63b3e Guard against nested percent literals 066f3bc Recognize iuwu-mod after an escaped newline 6f7a57c Fix symbolic mode string conversion for s and t 50b9826 Update 'ucs-names' database 993b2fb Improve doc string of 'shell-command' b71c717 Make the code in movemail_strftime more general cc057e4 Speed up redisplay of binary files with long series of nulls e51b27e Remove the highlighting support for quoting 'like this' inside Lisp docstrings b1abce1 Restore leading space in movemail pop output 98b8d44 Fix bidi-paragraph-direction in Rmail view buffer dc9d837 Don't misindent computed property generator methods 7923112 Fix mbox files produced by movemail on MS-Windows c45a1ca doc string file descriptor exhaustion fix 265141b Fix Bug#22814
| * Remove the highlighting support for quoting 'like this' inside Lisp docstringsDmitry Gutov2016-03-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | Remove the highlighting support for quoting 'like this' inside Lisp docstrings. This part of c4151ebe15479de4c2e511b068cdf9af6a4576cf seems to have been unintentional, considering substitute-command-keys gives wrong output for such usage. * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): Do not highlight text between two straight quotes as symbol.
* | Rename lisp--prettify-symbols-alistLars Ingebrigtsen2016-02-231-4/+3
|/ | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Rename from `lisp--prettify-symbols-alist' since we're going to use it in Scheme mode, too. (lisp-mode-variables): Use it.
* Add defvar-local to lisp-imenu-generic-expressionLeo Liu2016-01-071-2/+3
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add defvar-local.
* Fix regression in font-locking cl-assert and cl-check-typeLeo Liu2016-01-021-2/+3
| | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix el-errs-re.
* Update copyright year to 2016Paul Eggert2016-01-011-1/+1
| | | | Run admin/update-copyright.
* Document support for ':documentation' in Lisp modeShakthi Kannan2015-12-301-0/+9
| | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p) (lisp-string-after-doc-keyword-p) (lisp-font-lock-syntactic-face-function): Add doc strings.
* Add ert-deftest to lisp-mode.elLeo Liu2015-12-271-1/+2
| | | | | * lisp-mode.el (lisp-imenu-generic-expression, lisp-el-font-lock-keywords-1): Add ert-deftest.
* add some cl-* aliases to lisp-mode imenuTom Tromey2015-12-221-1/+2
| | | | | * (lisp-imenu-generic-expression): Add cl-define-compiler-macro, cl-defgeneric, and cl-defmethod.
* * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*Stefan Monnier2015-09-291-8/+12
|
* Fix recent bootstrap problemsStefan Monnier2015-09-241-0/+2
| | | | | | * src/syntax.c (parse_sexp_propertize): Fix last fix. * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo. * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
* Move let-when-compile to lisp-mode.elOleh Krehel2015-09-231-0/+13
| | | | | This fixes the bootstrapping problem of `let-when-compile' using `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
* Backslash cleanup in Elisp source filesPaul Eggert2015-09-171-1/+1
| | | | | | | | | | | This patch should not change behavior. It typically omits backslashes where they are redundant (e.g., in the string literal "^\$"). In a few places, insert backslashes where they make regular expressions clearer: e.g., replace "^\*" (equivalent to "^*") with "^\\*", which has the same effect as a regular expression. Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs, and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with RCS IDs, as that makes it clearer that the backslash is intended.
* Fix search argument in ‘lisp--el-match-keyword’ (Bug#21492) (Bug#21493)Daniel McClanahan2015-09-161-1/+2
| | | | | | | * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix search argument. (Bug#21492) (Bug#21493) Copyright-paperwork-exempt: yes
* * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New constStefan Monnier2015-09-151-59/+49
| | | | | | | Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used. (cl-lib-fdefs): Add defgeneric. (cl-kw): Add all elements of eieio-kw and cl-lib-kw. (eieio-kw, cl-lib-kw, el-kw): Remove.
* Elisp mode: Make font-lock and imenu handle escaped characters in symbolsAlan Mackenzie2015-09-141-17/+17
| | | | | | | | | | Fixes debbugs#21449. lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression) (lisp--el-match-keyword, lisp-el-font-lock-keywords-1) (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p): Insert "\\|\\\\." into regexps which match symbols.
* Add online-help support to describe typesStefan Monnier2015-07-071-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el. (describe-symbol): Improve the selection of default. * lisp/help-mode.el: Require cl-lib. (describe-symbol-backends): Move from help-fns.el. (help-make-xrefs): Use it. * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry for types. (cl--typedef-regexp): New const. (find-function-regexp-alist): Add entry for types. (cl-help-type, cl-type-definition): New buttons. (cl-find-class): New function. (cl-describe-type): New command. (cl--describe-class, cl--describe-class-slot) (cl--describe-class-slots): New functions, moved from eieio-opt.el. * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation) (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p): New functions. Moved from eieio-opt.el. (cl--generic-class-parents): New function, extracted from cl--generic-struct-specializers. (cl--generic-struct-specializers): Use it. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist. Improve constructor's docstrings. (cl-struct-unknown-slot): New error. (cl-struct-slot-offset): Use it. * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type definition in current-load-list. * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var. (eieio--add-new-slot): Set it. (eieio-defclass-internal): Use new name for current-load-list. (eieio-oref): Add compiler-macro to warn about unknown slots. * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names as compile-time as well. Improve constructor docstrings. * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el. (eieio-class-def): Remove button. (eieio-help-constructor): Use new name for load-history element. (eieio--specializers-apply-to-class-p, eieio-all-generic-functions) (eieio-method-documentation): Move to cl-generic.el. (eieio-display-method-list): Use new names. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add "define-linline". (lisp-fdefs): Remove "defsubst". (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline". * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var. (macroexp--warn-and-return): Use it to avoid inf-loops. Add `compile-only' argument.
* Improve the optional translation of quotesPaul Eggert2015-06-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix several problems with the recently-added custom variable help-quote-translation where the code would quote inconsistently in help buffers. Add support for quoting 'like this', which is common in other GNU programs in ASCII environments. Change help-quote-translation to use more mnemonic values: values are now the initial quoting char, e.g., (setq help-quote-translation ?`) gets the traditional Emacs help-buffer quoting style `like this'. Change the default behavior of substitute-command-keys to match what's done in set-locale-environment, i.e., quote ‘like this’ if displayable, 'like this' otherwise. * doc/lispref/help.texi (Keys in Documentation): Document new behavior of substitute-command-keys, and document help-quote-translation. * doc/lispref/tips.texi (Documentation Tips): Mention the effect of help-quote-translation. * etc/NEWS: Mention new behavior of substitute-command-keys, and merge help-quote-translation news into it. When talking about doc strings, mention new ways to type quotes. * lisp/cedet/mode-local.el (overload-docstring-extension): Revert my recent change to this function, which shouldn't be needed as the result is a doc string. * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Use substitute-command-keys to ensure a more-consistent quoting style in help buffers. * lisp/cus-start.el (standard): Document new help-quote-translation behavior. * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp) (help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Also match 'foo', in case we're in a help buffer generated when help-quote-translation is ?'. * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR. (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0) (uRSQM1, uRSQM2, LSQM, RSQM): New constants. (Fsubstitute_command_keys): Document and implement new behavior. (Vhelp_quote_translation): Document new behavior.