1. 10 Jul, 2018 1 commit
    • Basil L. Contovounesios's avatar
      Add predicate proper-list-p · 2fde6275
      Basil L. Contovounesios authored
      For discussion, see emacs-devel thread starting at
      https://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00460.html.
      
      * lisp/subr.el (proper-list-p): New function.
      Implementation suggested by Paul Eggert <eggert@cs.ucla.edu> in
      https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html.
      * doc/lispref/lists.texi (List Elements):
      * etc/NEWS: Document proper-list-p.
      * lisp/org/ob-core.el (org-babel-insert-result):
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-if):
      * lisp/emacs-lisp/cl-macs.el (cl--make-usage-args): Use proper-list-p.
      * lisp/emacs-lisp/ert.el (ert--proper-list-p): Remove.
      Replaced by proper-list-p in lisp/subr.el.
      (ert--explain-equal-rec): Use proper-list-length.
      * lisp/format.el (format-proper-list-p): Remove.
      Replaced by proper-list-p in lisp/subr.el.
      (format-annotate-single-property-change): Use proper-list-p.
      * test/lisp/emacs-lisp/ert-tests.el (ert-test-proper-list-p):
      Move from here...
      * test/lisp/subr-tests.el (subr-tests--proper-list-length):
      ...to here, mutatis mutandis.
      2fde6275
  2. 27 Mar, 2018 1 commit
    • Paul Eggert's avatar
      Fix constant folding of overflows · 66b77189
      Paul Eggert authored
      This suppresses some byte-code optimizations that were invalid in
      the presence of integer overflows, because they meant that .elc
      files assumed the runtime behavior of the compiling platform, as
      opposed to the runtime platform.  Problem reported by Pip Cet in:
      https://lists.gnu.org/r/emacs-devel/2018-03/msg00753.html
      * lisp/emacs-lisp/byte-opt.el (byte-opt--portable-max)
      (byte-opt--portable-min): New constants.
      (byte-opt--portable-numberp, byte-opt--arith-reduce)
      (byte-optimize-1+, byte-optimize-1-): New functions.
      (byte-optimize-plus, byte-optimize-minus, byte-optimize-multiply)
      (byte-optimize-divide):	Avoid invalid optimizations.
      (1+, 1-): Use new optimizers.
      (byte-optimize-or, byte-optimize-cond): Simplify by using
      remq instead of delq and copy-sequence.
      66b77189
  3. 25 Mar, 2018 1 commit
  4. 24 Mar, 2018 1 commit
  5. 23 Mar, 2018 1 commit
    • Paul Eggert's avatar
      Avoid Fortran-style floating-point optimization · 42e7e267
      Paul Eggert authored
      When optimizing arithmetic operations, avoid optimizations that
      are valid for mathematical numbers but invalid for floating-point.
      For example, do not optimize (+ 1 v 0.5) to (+ v 1.5), as they may
      not be the same due to rounding errors.  In general,
      floating-point numbers cannot be constant-folded, since that would
      make .elc files platform-dependent.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-associative-math):
      Do not optimize floats.
      (byte-optimize-nonassociative-math, byte-optimize-approx-equal)
      (byte-optimize-delay-constants-math, byte-compile-butlast)
      (byte-optimize-logmumble):
      Remove; no longer used.
      (byte-optimize-minus): Do not optimize (- 0 x) to (- x).
      (byte-optimize-multiply): Do not optimize (* -1 x) to (- x).
      (byte-optimize-divide): Do not optimize (/ x -1) to (- x).
      (logand, logior, logxor): Optimize with byte-optimize-predicate
      instead of with byte-optimize-logmumble.
      * test/lisp/emacs-lisp/bytecomp-tests.el:
      (byte-opt-testsuite-arith-data): Add a couple of test cases.
      42e7e267
  6. 22 Mar, 2018 1 commit
    • Paul Eggert's avatar
      Fix byte-opt lists of pure functions etc. · 311bb332
      Paul Eggert authored
      This fixes a bug where a byte-compiler running on 64-bit Emacs
      optimized (lsh -1 -1) to #x1fffffffffffffff, an optimization
      that is incorrect for .elc files intended for either 32- or
      64-bit Emacs.  While I was in the neighborhood, I noticed other
      glitches in the lists of pure and side-effect-free functions, and
      fixed the errors that I found.
      * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
      Move some functions here from side-effect-and-error-free-fns,
      since they can now signal errors.  The affected functions are
      current-time-string, current-time-zone,
      line-beginning-position, line-end-position.  Rename langinfo
      to locale-info.  Add logcount.  Remove string-to-int.
      (side-effect-and-error-free-fns): Remove minibuffer-window, a
      function that can signal errors, and that is already in
      side-effect-free-fns.
      (pure-fns): Remove ash, lsh, and logb, since they are
      platform-dependent and .elc files should be
      platform-independent.  Add %, logand, logcount.  Sort.
      Clarify what is meant by “pure”.
      311bb332
  7. 17 Feb, 2018 1 commit
  8. 01 Jan, 2018 1 commit
  9. 27 Sep, 2017 1 commit
    • Mark Oteiza's avatar
      Mark some functions as pure · 1f02ae39
      Mark Oteiza authored
      * lisp/emacs-lisp/byte-opt.el: Add some functions that return integral
      values to the builtin list of pure functions.
      1f02ae39
  10. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      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.
      bc511a64
  11. 26 May, 2017 1 commit
  12. 18 Apr, 2017 1 commit
    • Glenn Morris's avatar
      Avoid unnecessary loading of subr-x at run-time · 0f834339
      Glenn Morris authored
      * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
      * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
      * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
      No need to load subr-x at run-time.
      * lisp/gnus/nnheader.el: No need to load subr-x.
      ; * lisp/emacs-lisp/subr-x.el, lisp/gnus/message.el, lisp/net/nsm.el:
      ; Comments.
      0f834339
  13. 16 Feb, 2017 1 commit
  14. 14 Feb, 2017 1 commit
    • Vibhav Pant's avatar
      byte-opt: Replace merged tags in jump tables too. (bug#25716) · 71b90192
      Vibhav Pant authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
        adjacent tags, make sure that the old tag is replaced in all jump
        tables, if any. This fixes the bytecode VM jumping to the wrong
        address in compiled cond forms where the body of a clause was a loop
        of any sort.
      71b90192
  15. 13 Feb, 2017 1 commit
  16. 09 Feb, 2017 1 commit
    • Vibhav Pant's avatar
      Improve byte-switch execution. · dde800c8
      Vibhav Pant authored
      * lisp/emacs-lisp/byte-opt.el,
        lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
        (byte-compile-lapcode): Calculate the actual jump address while
        compiling, store it in the jump table.
      
      * src/bytecode.c: Jump to the looked up value directly, do a linear
        search when the number of elements is <= 5.
      dde800c8
  17. 06 Feb, 2017 1 commit
  18. 05 Feb, 2017 3 commits
  19. 25 Jan, 2017 1 commit
  20. 15 Jan, 2017 1 commit
  21. 14 Jan, 2017 1 commit
    • Vibhav Pant's avatar
      Add new 'switch' byte-code. · 88549ec3
      Vibhav Pant authored
      'switch' takes two arguments from the stack: the variable to test, and
      a jump table (implemented as a hash-table with the appropriate :test
      function). By looking up the value of the variable in the hash table,
      the interpreter can jump to the label pointed to by the value, if any.
      This implementation can only be used for `cond' forms of the type
      `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
      variable `x` is same for all clauses.
      
      * lisp/emacs-lisp/bytecomp.el:
      
        * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
          (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
          (byte-compile-cond-jump-table), byte-compile-jump-tables.
      
        * Add defcustom `byte-compile-cond-use-jump-table'.
      
        * (byte-compile-cond): Use them.
      
        * (byte-compile-lapcode): Patch tags present in jump tables, if any.
      
      * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
        some peephole optimizations to prevent them from messing up any code
        involving `byte-switch`.
      
      * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
      88549ec3
  22. 01 Jan, 2017 1 commit
  23. 11 Sep, 2016 1 commit
    • Philipp Stephani's avatar
      Stop calling ‘byte-compile-log-warning’ · 7edaa77c
      Philipp Stephani authored
      For errors, use ‘byte-compile-report-error’ instead so that the error
      is registered and causes compilation to fail (Bug#24359).
      
      For warnings, use ‘byte-compile-warn’ instead so that
      ‘byte-compile-error-on-warn’ is honored (Bug#24360).
      
      * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
      (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
      ‘byte-compile-log-warning’.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
      (byte-compile-setq, byte-compile-funcall): Use
      ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
      (byte-compile-log-warning): Convert comment to documentation
      string.  Explain that the function shouldn’t be called directly.
      (byte-compile-report-error): Add optional FILL argument.
      
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
      (cconv--analyze-function, cconv-analyze-form): Use
      ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
      
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
      ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
      
      * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
      of ‘byte-compile-log-warning’.
      (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
      ‘byte-compile-log-warning’.
      7edaa77c
  24. 08 Apr, 2016 1 commit
    • Paul Pogonyshev's avatar
      New primitives sxhash-eq, sxhash-eql · a4aa94d0
      Paul Pogonyshev authored
      * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
      * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
      Add sxhash-equal, sxhash-eq, sxhash-eql.
      * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
      * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
      a4aa94d0
  25. 01 Jan, 2016 1 commit
  26. 07 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Go back to grave quoting in source-code docstrings etc. · 6afef3f6
      Paul Eggert authored
      This reverts almost all my recent changes to use curved quotes
      in docstrings and/or strings used for error diagnostics.
      There are a few exceptions, e.g., Bahá’í proper names.
      * admin/unidata/unidata-gen.el (unidata-gen-table):
      * lisp/abbrev.el (expand-region-abbrevs):
      * lisp/align.el (align-region):
      * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
      (outlineify-sticky):
      * lisp/apropos.el (apropos-library):
      * lisp/bookmark.el (bookmark-default-annotation-text):
      * lisp/button.el (button-category-symbol, button-put)
      (make-text-button):
      * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
      * lisp/calc/calc-embed.el (calc-do-embedded):
      * lisp/calc/calc-ext.el (calc-user-function-list):
      * lisp/calc/calc-graph.el (calc-graph-show-dumb):
      * lisp/calc/calc-help.el (calc-describe-key)
      (calc-describe-thing, calc-full-help):
      * lisp/calc/calc-lang.el (calc-c-language)
      (math-parse-fortran-vector-end, math-parse-tex-sum)
      (math-parse-eqn-matrix, math-parse-eqn-prime)
      (calc-yacas-language, calc-maxima-language, calc-giac-language)
      (math-read-giac-subscr, math-read-math-subscr)
      (math-read-big-rec, math-read-big-balance):
      * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
      * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
      (calc-auto-recompute):
      * lisp/calc/calc-prog.el (calc-fix-token-name)
      (calc-read-parse-table-part, calc-user-define-invocation)
      (math-do-arg-check):
      * lisp/calc/calc-store.el (calc-edit-variable):
      * lisp/calc/calc-units.el (math-build-units-table-buffer):
      * lisp/calc/calc-vec.el (math-read-brackets):
      * lisp/calc/calc-yank.el (calc-edit-mode):
      * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
      * lisp/calendar/appt.el (appt-display-message):
      * lisp/calendar/diary-lib.el (diary-check-diary-file)
      (diary-mail-entries, diary-from-outlook):
      * lisp/calendar/icalendar.el (icalendar-export-region)
      (icalendar--convert-float-to-ical)
      (icalendar--convert-date-to-ical)
      (icalendar--convert-ical-to-diary)
      (icalendar--convert-recurring-to-diary)
      (icalendar--add-diary-entry):
      * lisp/calendar/time-date.el (format-seconds):
      * lisp/calendar/timeclock.el (timeclock-mode-line-display)
      (timeclock-make-hours-explicit, timeclock-log-data):
      * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
      (todo-item-mark, todo-check-format)
      (todo-insert-item--next-param, todo-edit-item--next-key)
      (todo-mode):
      * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
      * lisp/cedet/mode-local.el (describe-mode-local-overload)
      (mode-local-print-binding, mode-local-describe-bindings-2):
      * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
      * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
      * lisp/cus-start.el (standard):
      * lisp/cus-theme.el (describe-theme-1):
      * lisp/custom.el (custom-add-dependencies, custom-check-theme)
      (custom--sort-vars-1, load-theme):
      * lisp/descr-text.el (describe-text-properties-1, describe-char):
      * lisp/dired-x.el (dired-do-run-mail):
      * lisp/dired.el (dired-log):
      * lisp/emacs-lisp/advice.el (ad-read-advised-function)
      (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
      (ad-disable-advice, ad-remove-advice, ad-set-argument)
      (ad-set-arguments, ad--defalias-fset, ad-activate)
      (ad-deactivate):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
      (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
      (byte-optimize-while, byte-optimize-apply):
      * lisp/emacs-lisp/byte-run.el (defun, defsubst):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
      (byte-compile-log-file, byte-compile-format-warn)
      (byte-compile-nogroup-warn, byte-compile-arglist-warn)
      (byte-compile-cl-warn)
      (byte-compile-warn-about-unresolved-functions)
      (byte-compile-file, byte-compile--declare-var)
      (byte-compile-file-form-defmumble, byte-compile-form)
      (byte-compile-normal-call, byte-compile-check-variable)
      (byte-compile-variable-ref, byte-compile-variable-set)
      (byte-compile-subr-wrong-args, byte-compile-setq-default)
      (byte-compile-negation-optimizer)
      (byte-compile-condition-case--old)
      (byte-compile-condition-case--new, byte-compile-save-excursion)
      (byte-compile-defvar, byte-compile-autoload)
      (byte-compile-lambda-form)
      (byte-compile-make-variable-buffer-local, display-call-tree)
      (batch-byte-compile):
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
      * lisp/emacs-lisp/chart.el (chart-space-usage):
      * lisp/emacs-lisp/check-declare.el (check-declare-scan)
      (check-declare-warn, check-declare-file)
      (check-declare-directory):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
      (checkdoc-message-text-engine):
      * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
      (cl--describe-class):
      * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
      (cl--generic-describe, cl-generic-generalizers):
      * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
      (cl-symbol-macrolet):
      * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
      * lisp/emacs-lisp/copyright.el (copyright)
      (copyright-update-directory):
      * lisp/emacs-lisp/edebug.el (edebug-read-list):
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
      * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
      (eieio-oref):
      * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
      * lisp/emacs-lisp/eieio-speedbar.el:
      (eieio-speedbar-child-make-tag-lines)
      (eieio-speedbar-child-description):
      * lisp/emacs-lisp/eieio.el (defclass, change-class):
      * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
      (elint-init-form, elint-check-defalias-form)
      (elint-check-let-form):
      * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
      (ert-results-pop-to-backtrace-for-test-at-point)
      (ert-results-pop-to-messages-for-test-at-point)
      (ert-results-pop-to-should-forms-for-test-at-point)
      (ert-describe-test):
      * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
      (find-function-library):
      * lisp/emacs-lisp/generator.el (iter-yield):
      * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
      * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
      * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
      * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
      (advice--make, define-advice):
      * lisp/emacs-lisp/package-x.el (package-upload-file):
      * lisp/emacs-lisp/package.el (package-version-join)
      (package-disabled-p, package-activate-1, package-activate)
      (package--download-one-archive)
      (package--download-and-read-archives)
      (package-compute-transaction, package-install-from-archive)
      (package-install, package-install-selected-packages)
      (package-delete, package-autoremove, describe-package-1)
      (package-install-button-action, package-delete-button-action)
      (package-menu-hide-package, package-menu--list-to-prompt)
      (package-menu--perform-transaction)
      (package-menu--find-and-notify-upgrades):
      * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
      * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
      * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
      * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
      (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
      (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
      (rx-form):
      * lisp/emacs-lisp/smie.el (smie-config-save):
      * lisp/emacs-lisp/subr-x.el (internal--check-binding):
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
      * lisp/emacs-lisp/testcover.el (testcover-1value):
      * lisp/emacs-lisp/timer.el (timer-event-handler):
      * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
      (viper-toggle-search-style, viper-kill-buffer)
      (viper-brac-function):
      * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
      * lisp/env.el (setenv):
      * lisp/erc/erc-button.el (erc-nick-popup):
      * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
      * lisp/eshell/em-dirs.el (eshell/cd):
      * lisp/eshell/em-glob.el (eshell-glob-regexp)
      (eshell-glob-entries):
      * lisp/eshell/em-pred.el (eshell-parse-modifiers):
      * lisp/eshell/esh-opt.el (eshell-show-usage):
      * lisp/facemenu.el (facemenu-add-new-face)
      (facemenu-add-new-color):
      * lisp/faces.el (read-face-name, read-face-font, describe-face)
      (x-resolve-font-name):
      * lisp/files-x.el (modify-file-local-variable):
      * lisp/files.el (locate-user-emacs-file, find-alternate-file)
      (set-auto-mode, hack-one-local-variable--obsolete)
      (dir-locals-set-directory-class, write-file, basic-save-buffer)
      (delete-directory, copy-directory, recover-session)
      (recover-session-finish, insert-directory)
      (file-modes-char-to-who, file-modes-symbolic-to-number)
      (move-file-to-trash):
      * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
      * lisp/find-cmd.el (find-generic, find-to-string):
      * lisp/finder.el (finder-commentary):
      * lisp/font-lock.el (font-lock-fontify-buffer):
      * lisp/format.el (format-write-file, format-find-file)
      (format-insert-file):
      * lisp/frame.el (get-device-terminal, select-frame-by-name):
      * lisp/fringe.el (fringe--check-style):
      * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
      * 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)
      (describe-minor-mode-from-indicator):
      * lisp/image.el (image-type):
      * lisp/international/ccl.el (ccl-dump):
      * lisp/international/fontset.el (x-must-resolve-font-name):
      * lisp/international/mule-cmds.el (prefer-coding-system)
      (select-safe-coding-system-interactively)
      (select-safe-coding-system, activate-input-method)
      (toggle-input-method, describe-current-input-method)
      (describe-language-environment):
      * lisp/international/mule-conf.el (code-offset):
      * lisp/international/mule-diag.el (describe-character-set)
      (list-input-methods-1):
      * lisp/mail/feedmail.el (feedmail-run-the-queue):
      * lisp/mouse.el (minor-mode-menu-from-indicator):
      * lisp/mpc.el (mpc-playlist-rename):
      * lisp/msb.el (msb--choose-menu):
      * lisp/net/ange-ftp.el (ange-ftp-shell-command):
      * lisp/net/imap.el (imap-interactive-login):
      * lisp/net/mairix.el (mairix-widget-create-query):
      * lisp/net/newst-backend.el (newsticker--sentinel-work):
      * lisp/net/newst-treeview.el (newsticker--treeview-load):
      * lisp/net/rlogin.el (rlogin):
      * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
      * lisp/obsolete/otodo-mode.el (todo-more-important-p):
      * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
      * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
      * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
      * lisp/org/ob-core.el (org-babel-goto-named-src-block)
      (org-babel-goto-named-result):
      * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
      * lisp/org/ob-ref.el (org-babel-ref-resolve):
      * lisp/org/org-agenda.el (org-agenda-prepare):
      * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
      (org-clock-resolve):
      * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
      * lisp/org/org-feed.el (org-feed-parse-atom-entry):
      * lisp/org/org-habit.el (org-habit-parse-todo):
      * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
      (org-mouse-context-menu):
      * lisp/org/org-table.el (org-table-edit-formulas):
      * lisp/org/ox.el (org-export-async-start):
      * lisp/proced.el (proced-log):
      * lisp/progmodes/ada-mode.el (ada-get-indent-case)
      (ada-check-matching-start, ada-goto-matching-start):
      * lisp/progmodes/ada-prj.el (ada-prj-display-page):
      * lisp/progmodes/ada-xref.el (ada-find-executable):
      * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
      * lisp/progmodes/etags.el (etags-tags-apropos-additional):
      * lisp/progmodes/flymake.el (flymake-parse-err-lines)
      (flymake-start-syntax-check-process):
      * lisp/progmodes/python.el (python-shell-get-process-or-error)
      (python-define-auxiliary-skeleton):
      * lisp/progmodes/sql.el (sql-comint):
      * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
      * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
      * lisp/recentf.el (recentf-open-files):
      * lisp/replace.el (query-replace-read-from)
      (occur-after-change-function, occur-1):
      * lisp/scroll-bar.el (scroll-bar-columns):
      * lisp/server.el (server-get-auth-key):
      * lisp/simple.el (execute-extended-command)
      (undo-outer-limit-truncate, list-processes--refresh)
      (compose-mail, set-variable, choose-completion-string)
      (define-alternatives):
      * lisp/startup.el (site-run-file, tty-handle-args, command-line)
      (command-line-1):
      * lisp/subr.el (noreturn, define-error, add-to-list)
      (read-char-choice, version-to-list):
      * lisp/term/common-win.el (x-handle-xrm-switch)
      (x-handle-name-switch, x-handle-args):
      * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
      * lisp/textmodes/reftex-ref.el (reftex-label):
      * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
      * lisp/textmodes/two-column.el (2C-split):
      * lisp/tutorial.el (tutorial--describe-nonstandard-key)
      (tutorial--find-changed-keys):
      * lisp/type-break.el (type-break-noninteractive-query):
      * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
      (wdired-do-perm-changes):
      * lisp/whitespace.el (whitespace-report-region):
      Prefer grave quoting in source-code strings used to generate help
      and diagnostics.
      * lisp/faces.el (face-documentation):
      No need to convert quotes, since the result is a docstring.
      * lisp/info.el (Info-virtual-index-find-node)
      (Info-virtual-index, info-apropos):
      Simplify by generating only curved quotes, since info files are
      typically that ways nowadays anyway.
      * lisp/international/mule-diag.el (list-input-methods):
      Don’t assume text quoting style is curved.
      * lisp/org/org-bibtex.el (org-bibtex-fields):
      Revert my recent changes, going back to the old quoting style.
      6afef3f6
  27. 24 Aug, 2015 1 commit
    • Paul Eggert's avatar
      More-conservative ‘format’ quote restyling · fbb5531f
      Paul Eggert authored
      Instead of restyling curved quotes for every call to ‘format’,
      create a new function ‘format-message’ that does the restyling,
      and using the new function instead of ‘format’ only in contexts
      where this seems appropriate.
      Problem reported by Dmitry Gutov and Andreas Schwab in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
      http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
      * doc/lispref/commands.texi (Using Interactive):
      * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
      * doc/lispref/display.texi (Displaying Messages, Progress):
      * doc/lispref/elisp.texi:
      * doc/lispref/help.texi (Keys in Documentation):
      * doc/lispref/minibuf.texi (Minibuffer Misc):
      * doc/lispref/strings.texi (Formatting Strings):
      * etc/NEWS:
      Document the changes.
      * lisp/abbrev.el (expand-region-abbrevs):
      * lisp/apropos.el (apropos-library):
      * lisp/calc/calc-ext.el (calc-record-message)
      (calc-user-function-list):
      * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
      * lisp/calc/calc-lang.el (math-read-big-balance):
      * lisp/calc/calc-store.el (calc-edit-variable):
      * lisp/calc/calc-units.el (math-build-units-table-buffer):
      * lisp/calc/calc-yank.el (calc-edit-mode):
      * lisp/calendar/icalendar.el (icalendar-export-region)
      (icalendar--add-diary-entry):
      * lisp/cedet/mode-local.el (mode-local-print-binding)
      (mode-local-describe-bindings-2):
      * lisp/cedet/semantic/complete.el (semantic-completion-message):
      * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
      * lisp/cedet/semantic/wisent/comp.el (wisent-log):
      * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
      * lisp/descr-text.el (describe-text-properties-1, describe-char):
      * lisp/dframe.el (dframe-message):
      * lisp/dired-aux.el (dired-query):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
      (byte-compile-log-file, byte-compile-warn, byte-compile-form):
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
      (cconv-analyze-form):
      * lisp/emacs-lisp/check-declare.el (check-declare-warn):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
      * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
      * lisp/emacs-lisp/edebug.el (edebug-format):
      * lisp/emacs-lisp/eieio-core.el (eieio-oref):
      * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
      (eldoc-message):
      * lisp/emacs-lisp/elint.el (elint-file, elint-log):
      * lisp/emacs-lisp/find-func.el (find-function-library):
      * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
      * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
      * lisp/emacs-lisp/package.el (package-compute-transaction)
      (package-install-button-action, package-delete-button-action)
      (package-menu--list-to-prompt):
      * lisp/emacs-lisp/timer.el (timer-event-handler):
      * lisp/emacs-lisp/warnings.el (lwarn, warn):
      * lisp/emulation/viper-cmd.el:
      (viper-toggle-parse-sexp-ignore-comments)
      (viper-kill-buffer, viper-brac-function):
      * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
      * lisp/facemenu.el (facemenu-add-new-face):
      * lisp/faces.el (face-documentation, read-face-name)
      (face-read-string, read-face-font, describe-face):
      * lisp/files.el (find-alternate-file, hack-local-variables)
      (hack-one-local-variable--obsolete, write-file)
      (basic-save-buffer, delete-directory):
      * lisp/format.el (format-write-file, format-find-file)
      (format-insert-file):
      * lisp/help-fns.el (help-fns--key-bindings)
      (help-fns--compiler-macro, help-fns--obsolete)
      (help-fns--interactive-only, describe-function-1)
      (describe-variable):
      * lisp/help.el (describe-mode):
      * lisp/info-xref.el (info-xref-output):
      * lisp/info.el (Info-virtual-index-find-node)
      (Info-virtual-index, info-apropos):
      * lisp/international/kkc.el (kkc-error):
      * lisp/international/mule-cmds.el:
      (select-safe-coding-system-interactively)
      (select-safe-coding-system, describe-input-method):
      * lisp/international/mule-conf.el (code-offset):
      * lisp/international/mule-diag.el (describe-character-set)
      (list-input-methods-1):
      * lisp/international/quail.el (quail-error):
      * lisp/minibuffer.el (minibuffer-message):
      * lisp/mpc.el (mpc--debug):
      * lisp/msb.el (msb--choose-menu):
      * lisp/net/ange-ftp.el (ange-ftp-message):
      * lisp/net/gnutls.el (gnutls-message-maybe):
      * lisp/net/newst-backend.el (newsticker--sentinel-work):
      * lisp/net/newst-treeview.el (newsticker--treeview-load):
      * lisp/net/nsm.el (nsm-query-user):
      * lisp/net/rlogin.el (rlogin):
      * lisp/net/soap-client.el (soap-warning):
      * lisp/net/tramp.el (tramp-debug-message):
      * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
      * lisp/nxml/nxml-parse.el (nxml-parse-error):
      * lisp/nxml/rng-cmpct.el (rng-c-error):
      * lisp/nxml/rng-match.el (rng-compile-error):
      * lisp/nxml/rng-uri.el (rng-uri-error):
      * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
      * lisp/org/org-ctags.el:
      (org-ctags-ask-rebuild-tags-file-then-find-tag):
      * lisp/proced.el (proced-log):
      * lisp/progmodes/ebnf2ps.el (ebnf-log):
      * lisp/progmodes/flymake.el (flymake-log):
      * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
      * lisp/replace.el (occur-1):
      * lisp/simple.el (execute-extended-command)
      (undo-outer-limit-truncate, define-alternatives):
      * lisp/startup.el (command-line):
      * lisp/subr.el (error, user-error, add-to-list):
      * lisp/tutorial.el (tutorial--describe-nonstandard-key)
      (tutorial--find-changed-keys):
      * src/callint.c (Fcall_interactively):
      * src/editfns.c (Fmessage, Fmessage_box):
      Restyle the quotes of format strings intended for use as a
      diagnostic, when restyling seems appropriate.
      * lisp/subr.el (format-message): New function.
      * src/doc.c (Finternal__text_restyle): New function.
      (syms_of_doc): Define it.
      fbb5531f
  28. 22 Aug, 2015 1 commit
    • Paul Eggert's avatar
      text-quoting-style in emacs-lisp diagnostics · c87523bd
      Paul Eggert authored
      * lisp/emacs-lisp/advice.el (ad-read-advised-function)
      (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
      (ad-disable-advice, ad-remove-advice, ad-set-argument)
      (ad-set-arguments):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
      (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
      (byte-optimize-while, byte-optimize-apply):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
      (byte-compile-log-file, byte-compile-format-warn)
      (byte-compile-nogroup-warn, byte-compile-arglist-warn)
      (byte-compile-cl-warn)
      (byte-compile-warn-about-unresolved-functions)
      (byte-compile-file, byte-compile-fix-header)
      (byte-compile--declare-var, byte-compile-file-form-defmumble)
      (byte-compile-form, byte-compile-normal-call)
      (byte-compile-variable-ref, byte-compile-variable-set)
      (byte-compile-subr-wrong-args, byte-compile-setq-default)
      (byte-compile-negation-optimizer)
      (byte-compile-condition-case--old)
      (byte-compile-condition-case--new, byte-compile-save-excursion)
      (byte-compile-defvar, byte-compile-autoload)
      (byte-compile-lambda-form)
      (byte-compile-make-variable-buffer-local, display-call-tree)
      (batch-byte-compile):
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
      (cconv-analyze-form):
      * lisp/emacs-lisp/chart.el (chart-space-usage):
      * lisp/emacs-lisp/check-declare.el (check-declare-scan)
      (check-declare-warn, check-declare-file)
      (check-declare-directory):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
      (checkdoc-message-text-engine):
      * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
      * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
      (cl-symbol-macrolet):
      * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
      * lisp/emacs-lisp/copyright.el (copyright)
      (copyright-update-directory):
      * lisp/emacs-lisp/edebug.el (edebug-read-list):
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
      * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
      (eieio-oref, eieio-oset-default):
      * lisp/emacs-lisp/eieio-speedbar.el:
      (eieio-speedbar-child-make-tag-lines)
      (eieio-speedbar-child-description):
      * lisp/emacs-lisp/eieio.el (defclass, change-class):
      * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
      (elint-init-form, elint-check-defalias-form)
      (elint-check-let-form):
      * lisp/emacs-lisp/ert.el (ert-get-test):
      * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
      (find-function-library):
      * lisp/emacs-lisp/generator.el (iter-yield):
      * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
      * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
      * lisp/emacs-lisp/package-x.el (package-upload-file):
      * lisp/emacs-lisp/package.el (package-version-join)
      (package-disabled-p, package-activate-1, package-activate)
      (package--download-one-archive)
      (package--download-and-read-archives)
      (package-compute-transaction, package-install-from-archive)
      (package-install, package-install-selected-packages)
      (package-delete, package-autoremove)
      (package-install-button-action, package-delete-button-action)
      (package-menu-hide-package, package-menu--list-to-prompt)
      (package-menu--perform-transaction)
      (package-menu--find-and-notify-upgrades):
      * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
      * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
      * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
      * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
      * lisp/emacs-lisp/smie.el (smie-config-save):
      * lisp/emacs-lisp/subr-x.el (internal--check-binding):
      * lisp/emacs-lisp/testcover.el (testcover-1value):
      Use curved quotes in diagnostic format strings.
      c87523bd
  29. 17 Jun, 2015 1 commit
    • Glenn Morris's avatar
      Address some compilation warnings. · 55b41a82
      Glenn Morris authored
      * lisp/face-remap.el (text-scale-adjust):
      * lisp/menu-bar.el (popup-menu-normalize-position):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
      * lisp/emacs-lisp/generator.el (cps--transform-1):
      * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
      * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
      * lisp/progmodes/octave.el (octave-goto-function-definition)
      (octave-find-definition-default-filename):
      Replace 't' with '_' in pcase.
      55b41a82
  30. 19 May, 2015 1 commit
    • Paul Eggert's avatar
      Fix minor quoting problems in doc strings · 9d35bb8d
      Paul Eggert authored
      These were glitches regardless of how or whether we tackle the
      problem of grave accent in doc strings.
      * lisp/calc/calc-aent.el (math-restore-placeholders):
      * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
      * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
      * lisp/leim/quail/hebrew.el ("hebrew-new")
      ("hebrew-biblical-sil"):
      * lisp/leim/quail/thai.el ("thai-kesmanee"):
      * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
      Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
      * lisp/calendar/calendar.el (calendar-month-abbrev-array):
      * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
      * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
      * lisp/cedet/semantic/tag.el (semantic-tag-copy)
      (semantic-tag-components):
      * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
      * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
      * lisp/emacs-lisp/generator.el (iter-next):
      * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
      (gnus-article-mode-syntax-table):
      * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
      * lisp/net/soap-client.el (soap-wsdl-get):
      * lisp/net/telnet.el (telnet-mode):
      * lisp/org/org-compat.el (org-number-sequence):
      * lisp/org/org.el (org-remove-highlights-with-change)
      (org-structure-template-alist):
      * lisp/org/ox-html.el (org-html-link-org-files-as-html):
      * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
      (handwrite-12pt, handwrite-13pt):
      * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
      * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
      * lisp/progmodes/verilog-mode.el (verilog-tool)
      (verilog-string-replace-matches, verilog-preprocess)
      (verilog-auto-insert-lisp, verilog-auto-insert-last):
      * lisp/textmodes/makeinfo.el (makeinfo-options):
      * src/font.c (Ffont_spec):
      Fix minor quoting problems in doc strings, e.g., missing quote,
      ``x'' where `x' was meant, etc.
      * lisp/erc/erc-backend.el (erc-process-sentinel-2):
      Fix minor quoting problem in other string.
      * lisp/leim/quail/ethiopic.el ("ethiopic"):
      * lisp/term/tvi970.el (tvi970-set-keypad-mode):
      Omit unnecessary quotes.
      * lisp/faces.el (set-face-attribute, set-face-underline)
      (set-face-inverse-video, x-create-frame-with-faces):
      * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
      * lisp/mail/supercite.el (sc-attribs-%@-addresses)
      (sc-attribs-!-addresses, sc-attribs-<>-addresses):
      * lisp/net/tramp.el (tramp-methods):
      * lisp/recentf.el (recentf-show-file-shortcuts-flag):
      * lisp/textmodes/artist.el (artist-ellipse-right-char)
      (artist-ellipse-left-char, artist-vaporize-fuzziness)
      (artist-spray-chars, artist-mode, artist-replace-string)
      (artist-put-pixel, artist-text-see-thru):
      * lisp/vc/ediff-util.el (ediff-submit-report):
      * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
      Use double-quotes rather than TeX markup in doc strings.
      * lisp/skeleton.el (skeleton-pair-insert-maybe):
      Reword to avoid the need for grave accent and apostrophe.
      * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
      Don't use grave and acute accents to quote.
      9d35bb8d
  31. 07 Mar, 2015 1 commit
  32. 05 Mar, 2015 1 commit
    • Stefan Monnier's avatar
      Replace *-function vars with generic functions in cl-generic. · 21c54786
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-generic.el (cl--generic-generalizer): New struct.
      (cl-generic-tagcode-function, cl-generic-tag-types-function): Remove.
      (cl--generic-t-generalizer): New const.
      (cl--generic-make-method): Rename from `cl--generic-method-make'.
      (cl--generic-make): Change calling convention.
      (cl--generic): Add `options' field.
      (cl-generic-function-options): New function.
      (cl-defgeneric): Rewrite handling of options.  Add support for :method
      options and allow the use of a default body.
      (cl-generic-define): Save options in the corresponding new field.
      (cl-defmethod): Fix ordering of qualifiers.
      (cl-generic-define-method): Use cl-generic-generalizers.
      (cl--generic-get-dispatcher): Change calling convention, and change
      calling convention of the returned function as well so as to take the
      list of methods separately from the generic function object, so that it
      can receive the original generic function object.
      (cl--generic-make-next-function): New function, extracted from
      cl--generic-make-function.
      (cl--generic-make-function): Use it.
      (cl-generic-method-combination-function): Remove.
      (cl--generic-cyclic-definition): New error.
      (cl-generic-call-method): Take a generic function object rather than
      its name.
      (cl-method-qualifiers): New alias.
      (cl--generic-build-combined-method): Use cl-generic-combine-methods,
      don't segregate by qualifiers here any more.
      (cl--generic-standard-method-combination): Segregate by qualifiers
      here instead.  Add support for the `:extra' qualifier.
      (cl--generic-cache-miss): Move earlier, adjust to new calling convention.
      (cl-generic-generalizers, cl-generic-combine-methods):
      New generic functions.
      (cl-no-next-method, cl-no-applicable-method, cl-no-primary-method):
      Use the new "default method in defgeneric" functionality, change
      calling convention to receive a generic function object.
      (cl--generic-head-used): New var.
      (cl--generic-head-generalizer, cl--generic-eql-generalizer)
      (cl--generic-struct-generalizer, cl--generic-typeof-generalizer):
      New consts.
      * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
      (eieio--generic-subclass-generalizer): New consts.
      (cl-generic-generalizers): New methods.
      * lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-generalizer)
      (eieio--generic-static-object-generalizer): New consts.
      (cl-generic-generalizers) <(head eieio--static)>: New method.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      Unfold closures like lambdas.
      21c54786
  33. 01 Jan, 2015 2 commits
  34. 28 May, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/subr.el (zerop): Move from C. Add compiler-macro. · 4c539a7b
      Stefan Monnier authored
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-zerop): Remove.
      * src/data.c (Fzerop): Move to Elisp.
      (syms_of_data): Don't defsubr it.
      * src/keyboard.c (echo_keystrokes_p): New function.
      (read_char, record_menu_key, read_key_sequence): Use it.
      
      Fixes: debbugs:17475
      4c539a7b
  35. 27 May, 2014 1 commit
  36. 10 Feb, 2014 1 commit
  37. 06 Jan, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/abbrev.el (define-abbrev): Beware new meaning of fboundp. · 6bdd9204
      Stefan Monnier authored
      * lisp/emacs-lisp/elint.el (elint-find-builtins):
      * lisp/emacs-lisp/eldoc.el (eldoc-symbol-function):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn)
      (byte-compile-file-form-defmumble, byte-compile, byte-compile-form):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
      * lisp/apropos.el (apropos-safe-documentation):
      * lisp/subr.el (symbol-file): Remove redundant fboundp.
      * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Use defalias.
      6bdd9204