1. 10 Nov, 2019 1 commit
    • Paul Eggert's avatar
      Document Lisp floats a bit better · b6942c0c
      Paul Eggert authored
      * doc/lispref/numbers.texi (Float Basics):
      * doc/misc/cl.texi (Implementation Parameters):
      * lisp/emacs-lisp/cl-lib.el (cl-most-positive-float)
      (cl-least-positive-float)
      (cl-least-positive-normalized-float, cl-float-epsilon)
      (cl-float-negative-epsilon):
      Document IEEE floating point better.  Don’t suggest that Emacs
      might use some floating-point format other than IEEE format, as
      Emacs currently assumes IEEE in several places and there seems
      little point in removing those assumptions.
      b6942c0c
  2. 04 Sep, 2019 1 commit
    • Lars Ingebrigtsen's avatar
      Preserve more markers when reverting .gpg files · 9df72ecb
      Lars Ingebrigtsen authored
      * lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
      text in the buffer to preserve as many markers as possible
      (bug#34720).  This emulates the behaviour of Finsert_file_contents
      more accurately.
      (epa-file-decode-and-insert): Remove compat code.
      (epa-file-insert-file-contents): Use the new function.
      
      * lisp/emacs-lisp/cl-lib.el (cl-incf): Add autoload cookie.
      9df72ecb
  3. 23 Aug, 2019 2 commits
  4. 28 Jul, 2019 1 commit
  5. 21 Jun, 2019 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-dynamic): Mark obsolete · 436ccc69
      Stefan Monnier authored
      See bug#11649 for an example problem, and emacs-devel discussion
      «Prickliness of the "invalid byte code" stuff».
      
      * lisp/wid-edit.el, lisp/wdired.el, lisp/vc/pcvs-util.el:
      * lisp/progmodes/executable.el, lisp/mail/sendmail.el:
      * lisp/emacs-lisp/cl-seq.el, lisp/emacs-lisp/cl-macs.el:
      * lisp/emacs-lisp/cl-lib.el, lisp/emacs-lisp/cl-extra.el:
      * lisp/dired-x.el, lisp/dired-aux.el, lisp/calendar/calendar.el:
      Don't use byte-compile-dynamic any more.
      436ccc69
  6. 18 Feb, 2019 2 commits
  7. 01 Jan, 2019 1 commit
  8. 27 Aug, 2018 1 commit
  9. 01 Jan, 2018 1 commit
  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. 18 Jul, 2017 1 commit
  12. 14 Jul, 2017 2 commits
  13. 05 May, 2017 1 commit
  14. 04 Apr, 2017 1 commit
    • Stefan Monnier's avatar
      Backward compatibility with pre-existing struct instances. · 2c68192c
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
      (cl-old-struct-compat-mode): New minor mode.
      
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
      cl-struct-define to signal use of record objects.
      
      * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
      cl-struct-define): Enable legacy defstruct compatibility.
      
      * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
      old-struct): New tests.
      
      * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
      `old-struct-compat'.
      2c68192c
  15. 27 Feb, 2017 1 commit
    • Tino Calancha's avatar
      Prevent for consing in cl-mapc and cl-mapl · 4daca38d
      Tino Calancha authored
      * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
      If non-nil, accumulate values in the result (Bug#25826).
      (cl-mapc): Do computations inside function instead of call cl-map.
      (cl-mapl): Do computations inside function instead of call cl-maplist.
      * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
      Call cl--mapcar-many with non-nil 3rd argument.
      * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
      (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
      (cl-extra-test-maplist): New tests.
      4daca38d
  16. 25 Jan, 2017 1 commit
    • Mark Oteiza's avatar
      Move cXXXr and cXXXXr to subr.el · 43eba495
      Mark Oteiza authored
      * etc/NEWS: Mention new core Elisp.
      * doc/lispref/lists.texi (List Elements): Document and index the new
      functions.
      * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
      * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
      (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
      (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
      (cddddr): New functions.
      * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
      (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
      (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
      (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
      (cl-cdddar, cl-cddddr): Alias to new subr functions.
      * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
      elements.
      43eba495
  17. 01 Jan, 2017 1 commit
  18. 23 Feb, 2016 1 commit
  19. 01 Jan, 2016 1 commit
  20. 27 Jun, 2015 1 commit
    • Paul Eggert's avatar
      Initialize cl--gensym-counter to 0 · efc262f5
      Paul Eggert authored
      Previously it was initialized to a random value, which made it
      harder to reproduce earlier Emacs runs.  The need for a random
      value went away when Emacs introduced and used the #: syntax for
      uninterned symbols (Bug#20862).
      * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
      Document that cl--gensym-counter now starts with 0.
      * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
      (cl--random-time): Move to near only remaining use.
      * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
      efc262f5
  21. 13 May, 2015 1 commit
  22. 10 Apr, 2015 1 commit
  23. 05 Apr, 2015 1 commit
    • Alan Mackenzie's avatar
      Rationalize use of c[ad]+r, expunging cl-c[ad]\{3,4\}r. · 2056db3f
      Alan Mackenzie authored
      Also expunge eudc-c[ad]+r.
      
      * subr.el (internal--compiler-macro-cXXr): "New" function, copied
      from cl--compiler-macro-cXXr.
      (caar, cadr, cdar, cddr): Change from defsubsts to defuns with
      the above compiler-macro.
      
      * net/eudc.el (eudc-cadr, eudc-cdar, eudc-caar, eudc-cdaar): Remove.
      
      * emacs-lisp/cl.el (Top level dolist doing defaliases): Remove
      caaar, etc., from list of new alias functions.
      
      * emacs-lisp/cl-lib.el (cl-caaar, etc): Rename to caaar, etc.
      (gen-cXXr--rawname, gen-cXXr-all-cl-aliases): New function/macro
      which generate obsolete cl- aliases for caaar, etc.  Invoke them.
      
      * desktop.el:
      * edmacro.el:
      * emacs-lisp/cl-macs.el:
      * frameset.el:
      * ibuffer.el:
      * mail/footnote.el:
      * net/dbus.el:
      * net/eudc-export.el:
      * net/eudc.el:
      * net/eudcb-ph.el:
      * net/rcirc.el:
      * net/secrets.el:
      * play/5x5.el:
      * play/decipher.el:
      * play/hanoi.el:
      * progmodes/hideif.el:
      * ses.el: Replace cl-caaar, eudc-cadr, etc. with caaar and cadr, etc.
      2056db3f
  24. 23 Mar, 2015 1 commit
    • Stefan Monnier's avatar
      Add new `cl-struct' and `eieio' pcase patterns. · ae277259
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-macs.el (cl-struct): New pcase pattern.
      * lisp/emacs-lisp/eieio.el (eieio-pcase-slot-index-table)
      (eieio-pcase-slot-index-from-index-table): New functions.
      (eieio): New pcase pattern.
      * lisp/emacs-lisp/pcase.el (pcase--make-docstring): New function.
      (pcase): Use it to build the docstring.
      (pcase-defmacro): Make sure the macro is lazy-loaded.
      (\`): Move its docstring from `pcase'.
      ae277259
  25. 14 Feb, 2015 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl*.el: Use define-inline and move some code · 61b4c22c
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el: Move autoloaded code to cl-preload.
      
      * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Register as children
      of the parent.
      (cl--assertion-failed): New function.
      (cl-assertion-failed): Move in from cl-lib.el.
      
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't generate code to register
      as children of its parents.
      (cl--make-type-test, cl--compiler-macro-typep): Remove functions.
      (cl-typep): Reimplement using define-inline.
      (cl-assert): Use cl--assertion-failed.
      (cl-struct-slot-value): Use define-inline.
      61b4c22c
  26. 01 Jan, 2015 2 commits
  27. 24 Nov, 2014 1 commit
    • Leo Liu's avatar
      New macro macroexp-let2* · 6dbaf047
      Leo Liu authored
      * emacs-lisp/macroexp.el (macroexp-let2*): New macro.
      
      * window.el (with-temp-buffer-window)
      (with-current-buffer-window, with-displayed-buffer-window):
      * emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin):
      * emacs-lisp/cl-lib.el (substring):
      * emacs-lisp/cl-extra.el (cl-getf): Use it.
      6dbaf047
  28. 01 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      Consolidate x-select-text. · a8b36b95
      Stefan Monnier authored
      * lisp/frame.el (gui-method, gui-method-define, gui-method-declare)
      (gui-call): New macros.
      (gui-method--name): New function.
      (frame-creation-function-alist): Use gui-method-declare.
      (make-frame): Use gui-method.
      * lisp/select.el (gui-select-enable-clipboard): Rename from
      x-select-enable-clipboard and move here.
      (x-select-enable-clipboard): Define as obsolete alias.
      (gui-last-selected-text): New var, to replace x-last-selected-text.
      (gui-select-text): New GUI method.
      (gui-select-text): New function.
      (x-select-text): Define as obsolete alias.
      * lisp/term/common-win.el (x-select-enable-clipboard, x-select-text):
      Move to select.el.
      * lisp/simple.el (interprogram-cut-function): Change default to
      x-select-text.
      (interprogram-paste-function): Change default to `ignore'.
      * lisp/w32-common-fns.el (interprogram-cut-function): Don't modify.
      * lisp/term/x-win.el (interprogram-cut-function): Don't modify.
      (gui-select-text): Add method for x.
      * lisp/term/w32-win.el (gui-select-text): Add method for w32.
      * lisp/term/pc-win.el (x-last-selected-text): Remove, use
      gui-last-selected-text instead.
      (msdos-initialize-window-system): Don't set interprogram-cut-function.
      (gui-select-text): Add method for pc.
      * lisp/term/ns-win.el (ns-last-selected-text): Remove, use
      gui-last-selected-text instead.
      (gui-select-text): Add method for ns.
      (x-setup-function-keys): Don't change interprogram-cut-function.
      * lisp/loadup.el ("startup"): Load after "frame".
      * lisp/subr.el (package--builtin-versions, package--description-file):
      Move from startup.el.
      * lisp/startup.el (package--builtin-versions, package--description-file):
      Move to subr.el.
      (handle-args-function-alist, window-system-initialization-alist):
      Use gui-method-declare.
      (command-line): Use gui-method.
      * src/xselect.c (selection-converter-alist): Fix docstring.
      a8b36b95
  29. 26 Sep, 2014 1 commit
    • Leo Liu's avatar
      Add cl-parse-integer based on parse-integer · 89b354a5
      Leo Liu authored
      * doc/misc/cl.texi (Predicates on Numbers): Document cl-digit-char-p.
      (Numerical Functions): Document cl-parse-integer. 
      
      * lisp/calendar/parse-time.el (parse-time-digits): Remove.
      (digit-char-p, parse-integer) Moved to cl-lib.el.
      (parse-time-tokenize, parse-time-rules, parse-time-string): Use
      cl-parse-integer.
      
      * lisp/emacs-lisp/cl-extra.el (cl-parse-integer): New function.
      
      * lisp/emacs-lisp/cl-lib.el (cl-digit-char-table): New var.
      (cl-digit-char-p): New function.
      
      * test/automated/cl-lib.el (cl-digit-char-p, cl-parse-integer): New
      tests.
      
      Fixes: debbugs:18557
      89b354a5
  30. 21 May, 2014 1 commit
  31. 19 May, 2014 1 commit
  32. 22 Apr, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el (cl-struct-slot-offset): Mark as pure. · d6f14ca7
      Stefan Monnier authored
      (cl--set-elt): Don't proclaim as inline.
      (cl-struct-slot-value): Remove explicit gv-setter and compiler-macro.
      Define as inlinable instead.
      (cl-struct-set-slot-value): Remove.
      * doc/misc/cl.texi (Structures): Remove cl-struct-set-slot-value.
      * lisp/emacs-lisp/cl-lib.el (cl--set-elt): Remove.
      * lisp/emacs-lisp/cl-seq.el (cl-replace, cl-substitute, cl-nsubstitute):
      Use setf instead.
      d6f14ca7
  33. 12 Apr, 2014 1 commit
  34. 01 Jan, 2014 1 commit
  35. 09 Aug, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/subr.el (define-error): New function. · 54bd972f
      Stefan Monnier authored
      * doc/lispref/control.texi (Signaling Errors): Refer to define-error.
      (Error Symbols): Add `define-error'.
      * doc/lispref/errors.texi (Standard Errors): Don't refer to `error-conditions'.
      * lisp/progmodes/ada-xref.el (ada-error-file-not-found): Rename from
      error-file-not-found and define with define-error.
      * lisp/emacs-lisp/cl-lib.el (cl-assertion-failed): Move here from subr.el
      and define with define-error.
      * lisp/userlock.el (file-locked, file-supersession):
      * lisp/simple.el (mark-inactive):
      * lisp/progmodes/js.el (js-moz-bad-rpc, js-js-error):
      * lisp/progmodes/ada-mode.el (ada-mode-errors):
      * lisp/play/life.el (life-extinct):
      * lisp/nxml/xsd-regexp.el (xsdre-invalid-regexp, xsdre-parse-error):
      * lisp/nxml/xmltok.el (xmltok-markup-declaration-parse-error):
      * lisp/nxml/rng-util.el (rng-error):
      * lisp/nxml/rng-uri.el (rng-uri-error):
      * lisp/nxml/rng-match.el (rng-compile-error):
      * lisp/nxml/rng-cmpct.el (rng-c-incorrect-schema):
      * lisp/nxml/nxml-util.el (nxml-error, nxml-file-parse-error):
      * lisp/nxml/nxml-rap.el (nxml-scan-error):
      * lisp/nxml/nxml-outln.el (nxml-outline-error):
      * lisp/net/soap-client.el (soap-error):
      * lisp/net/gnutls.el (gnutls-error):
      * lisp/net/ange-ftp.el (ftp-error):
      * lisp/mpc.el (mpc-proc-error):
      * lisp/json.el (json-error, json-readtable-error, json-unknown-keyword)
      (json-number-format, json-string-escape, json-string-format)
      (json-key-format, json-object-format):
      * lisp/jka-compr.el (compression-error):
      * lisp/international/quail.el (quail-error):
      * lisp/international/kkc.el (kkc-error):
      * lisp/emacs-lisp/ert.el (ert-test-failed):
      * lisp/calc/calc.el (calc-error, inexact-result, math-overflow)
      (math-underflow):
      * lisp/bookmark.el (bookmark-error-no-filename):
      * lisp/epg.el (epg-error): Define with define-error.
      54bd972f
  36. 20 Jun, 2013 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-loaddefs.el: Don't version-control any more. · aff6371e
      Stefan Monnier authored
      * lisp/emacs-lisp/cl-lib.el: Load cl-macs when cl-loaddefs is not
      yet available.
      * lisp/Makefile.in (AUTOGEN_VCS): Move cl-loaddefs.el...
      (AUTOGENEL): ... here.
      * lisp/emacs-lisp/cl-macs.el (cl--sublis): New function.
      (cl--defsubst-expand): Use it.
      * .bzrignore: Don't unignore cl-loaddefs.el.
      aff6371e