mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Fix and extend format-spec (bug#41758)
* lisp/format-spec.el: Use lexical-binding. Remove dependence on subr-x.el. (format-spec-make): Clarify docstring. (format-spec--parse-modifiers): Rename to... (format-spec--parse-flags): ...this and simplify. In particular, don't bother parsing :space-pad which is redundant and unused. (format-spec--pad): Remove, replacing with... (format-spec--do-flags): ...this new helper function which performs more of format-spec's supported text manipulation. (format-spec): Autoload. Allow optional argument to take on special values 'ignore' and 'delete' for more control over what happens when a replacement for a format specification isn't provided. Bring back proper support for a precision modifier similar to that of 'format'. * lisp/battery.el (battery-format): Rewrite in terms of format-spec. (battery-echo-area-format, battery-mode-line-format): Mention support of format-spec syntax in docstrings. * doc/lispref/strings.texi (Custom Format Strings): * etc/NEWS: Document and announce these changes. * lisp/dired-aux.el (dired-do-compress-to): * lisp/erc/erc-match.el (erc-log-matches): * lisp/erc/erc.el (erc-update-mode-line-buffer): * lisp/gnus/gnus-sieve.el (gnus-sieve-update): * lisp/gnus/gssapi.el (open-gssapi-stream): * lisp/gnus/mail-source.el (mail-source-fetch-file) (mail-source-fetch-directory, mail-source-fetch-pop) (mail-source-fetch-imap): * lisp/gnus/message.el (message-insert-formatted-citation-line): * lisp/image-dired.el: * lisp/net/eww.el: * lisp/net/imap.el (imap-kerberos4-open, imap-gssapi-open) (imap-shell-open): * lisp/net/network-stream.el (network-stream-open-shell): * lisp/obsolete/tls.el (open-tls-stream): * lisp/textmodes/tex-mode.el: Remove extraneous loads and autoloads of format-spec now that it is autoloaded and simplify its uses where possible. * test/lisp/battery-tests.el (battery-format): Test new format-spec support. * test/lisp/format-spec-tests.el (test-format-spec): Rename to... (format-spec) ...this, extending test cases. (test-format-unknown): Rename to... (format-spec-unknown): ...this, extending test cases. (test-format-modifiers): Rename to... (format-spec-flags): ...this. (format-spec-make, format-spec-parse-flags, format-spec-do-flags) (format-spec-do-flags-truncate, format-spec-do-flags-pad) (format-spec-do-flags-chop, format-spec-do-flags-case): New tests.
This commit is contained in:
parent
97d1f672ac
commit
0185d76e74
19 changed files with 407 additions and 290 deletions
|
|
@ -47,9 +47,6 @@
|
|||
|
||||
(require 'gnutls)
|
||||
|
||||
(autoload 'format-spec "format-spec")
|
||||
(autoload 'format-spec-make "format-spec")
|
||||
|
||||
(defgroup tls nil
|
||||
"Transport Layer Security (TLS) parameters."
|
||||
:group 'comm)
|
||||
|
|
@ -224,14 +221,11 @@ Fourth arg PORT is an integer specifying a port to connect to."
|
|||
(while (and (not done) (setq cmd (pop cmds)))
|
||||
(let ((process-connection-type tls-process-connection-type)
|
||||
(formatted-cmd
|
||||
(format-spec
|
||||
cmd
|
||||
(format-spec-make
|
||||
?t (car (gnutls-trustfiles))
|
||||
?h host
|
||||
?p (if (integerp port)
|
||||
(int-to-string port)
|
||||
port)))))
|
||||
(format-spec cmd `((?t . ,(car (gnutls-trustfiles)))
|
||||
(?h . ,host)
|
||||
(?p . ,(if (integerp port)
|
||||
(number-to-string port)
|
||||
port))))))
|
||||
(message "Opening TLS connection with `%s'..." formatted-cmd)
|
||||
(setq process (start-process
|
||||
name buffer shell-file-name shell-command-switch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue