##// END OF EJS Templates
util: raise ParseError when parsing dates (BC)...
util: raise ParseError when parsing dates (BC) a7dce526c462 refactored util.parsedate in order to raise ValueError instead of Abort for using with ui.configwith. It causes several problems, putting arbitrary bytes in ValueError can cause issues with Python 3. Moreover, we added a function to convert ValueError exceptions back to Abort. A better approach would be to make parsedate raises ParseError, removing the convert function and update configwith to also catch ParseError. The side-effect is that error message when giving an invalid date in CLI change from: abort: invalid date: 'foo bar' to: hg: parse error: invalid date: 'foo bar' I'm not sure if it's an acceptable change, I found personally the error message more clear but more verbose too.

File last commit:

r22125:7fce964b default
r32462:bb18728e default
Show More
hg-test-mode.el
56 lines | 1.9 KiB | text/x-common-lisp | EmacsLispLexer
Matt Mackall
contrib: add emacs mode for *.t files
r22081 ;; hg-test-mode.el - Major mode for editing Mercurial tests
;;
;; Copyright 2014 Matt Mackall <mpm@selenic.com>
;; "I have no idea what I'm doing"
;;
;; This software may be used and distributed according to the terms of the
;; GNU General Public License version 2 or any later version.
;;
;; To enable, add something like the following to your .emacs:
;;
;; (if (file-exists-p "~/hg/contrib/hg-test-mode.el")
;; (load "~/hg/contrib/hg-test-mode.el"))
(defvar hg-test-mode-hook nil)
(defvar hg-test-mode-map
(let ((map (make-keymap)))
(define-key map "\C-j" 'newline-and-indent)
map)
"Keymap for hg test major mode")
(add-to-list 'auto-mode-alist '("\\.t\\'" . hg-test-mode))
(defconst hg-test-font-lock-keywords-1
(list
'("^ \\(\\$\\|>>>\\) " 1 font-lock-builtin-face)
'("^ \\(>\\|\\.\\.\\.\\) " 1 font-lock-constant-face)
Matt Mackall
hg-test-mode: make exit code highlight work again
r22125 '("^ \\([[][0-9]+[]]\\)$" 1 font-lock-warning-face)
Matt Mackall
hg-test-mode: don't highlight variables in output...
r22109 '("^ \\(.*?\\)\\(\\( [(][-a-z]+[)]\\)*\\)$" 1 font-lock-string-face)
Matt Mackall
hg-test-mode: colorize HGFOO and TESTFOO environment variables
r22092 '("\\$?\\(HG\\|TEST\\)\\w+=?" . font-lock-variable-name-face)
Matt Mackall
contrib: add emacs mode for *.t files
r22081 '("^ \\(.*?\\)\\(\\( [(][-a-z]+[)]\\)+\\)$" 2 font-lock-type-face)
'("^#.*" . font-lock-preprocessor-face)
'("^\\([^ ].*\\)$" 1 font-lock-comment-face)
)
"Minimal highlighting expressions for hg-test mode")
(defvar hg-test-font-lock-keywords hg-test-font-lock-keywords-1
"Default highlighting expressions for hg-test mode")
(defvar hg-test-mode-syntax-table
(let ((st (make-syntax-table)))
(modify-syntax-entry ?\" "w" st) ;; disable standard quoting
st)
"Syntax table for hg-test mode")
(defun hg-test-mode ()
(interactive)
(kill-all-local-variables)
(use-local-map hg-test-mode-map)
(set-syntax-table hg-test-mode-syntax-table)
(set (make-local-variable 'font-lock-defaults) '(hg-test-font-lock-keywords))
(setq major-mode 'hg-test-mode)
(setq mode-name "hg-test")
(run-hooks 'hg-test-mode-hook))
(provide 'hg-test-mode)