%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/cwarn.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\210\314\315\316\317\320\321\312\305&\210\314\322\323\324\320\325\312\305&\210\314\326\327\330\312\305\320\331&\210\314\332\333\334\335\336\312\305\320\337&	\210\314\340\306\341\335\342\312\305\320\343&	\207" [require custom font-lock cc-mode custom-declare-group cwarn nil "Highlight suspicious C and C++ constructions." :version "21.1" :group faces custom-declare-variable cwarn-configuration '((c-mode (not reference)) (c++-mode t)) "List of items each describing which features are enable for a mode.\nEach item is on the form (mode featurelist), where featurelist can be\non one of three forms:\n\n* A list of enabled features.\n* A list starting with the atom `not' followed by the features\n  which are not enabled.\n* The atom t, that represent that all features are enabled.\n\nSee variable `cwarn-font-lock-feature-keywords-alist' for available\nfeatures." :type (repeat sexp) cwarn-font-lock-feature-keywords-alist '((assign . cwarn-font-lock-assignment-keywords) (semicolon . cwarn-font-lock-semicolon-keywords) (reference . cwarn-font-lock-reference-keywords)) "An alist mapping a CWarn feature to font-lock keywords.\nThe keywords could either a font-lock keyword list or a symbol.\nIf it is a symbol it is assumed to be a variable containing a font-lock\nkeyword list." (alist :key-type (choice (const assign) (const semicolon) (const reference)) :value-type (sexp :tag "Value")) cwarn-verbose t "When nil, CWarn mode will not generate any messages.\n\nCurrently, messages are generated when the mode is activated and\ndeactivated." boolean cwarn-mode-text " CWarn" "String to display in the mode line when CWarn mode is active.\n\n(When the string is not empty, make sure that it has a leading space.)" :tag "CWarn mode text" string cwarn-load-hook "Functions to run when CWarn mode is first loaded." "Load Hook" hook] 10)
#@89 Non-nil if Cwarn mode is enabled.
Use the command `cwarn-mode' to change this variable.
(defvar cwarn-mode nil (#$ . 2335))
(make-variable-buffer-local 'cwarn-mode)
#@534 Minor mode that highlights suspicious C and C++ constructions.

If called interactively, enable Cwarn mode if ARG is positive, and
disable it if ARG is zero or negative.  If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.

Suspicious constructs are highlighted using `font-lock-warning-face'.

Note, in addition to enabling this minor mode, the major mode must
be included in the variable `cwarn-configuration'.  By default C and
C++ modes are included.
(defalias 'cwarn-mode #[(&optional arg) "\304 	\305=\203\n?\202\306	!\307V\310\n!\210\311 \210\312\313\n\203%\314\202&\315\"\210\316\317!\203K\304 \203:\304 \232\203K\320\321\322\n\203F\323\202G\324#\210))\325 \210\n\207" [#1=#:last-message arg cwarn-mode local current-message toggle prefix-numeric-value 0 cwarn-font-lock-keywords font-lock-flush run-hooks cwarn-mode-hook cwarn-mode-on-hook cwarn-mode-off-hook called-interactively-p any " in current buffer" message "Cwarn mode %sabled%s" "en" "dis" force-mode-line-update] 4 (#$ . 2507) (list (or current-prefix-arg 'toggle))])
(defvar cwarn-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\210\312\313\306\311#\210\314\313\306\315#\207" [cwarn-mode-map cwarn-mode-hook variable-documentation put "Hook run after entering or leaving `cwarn-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode cwarn-mode cwarn-mode-text boundp nil defalias turn-on-cwarn-mode make-obsolete "24.1"] 6)
#@272 Non-nil if CWarn FEATURE is enabled for MODE.
FEATURE is an atom representing one construction to highlight.

Check if any feature is enabled for MODE if no feature is specified.

The valid features are described by the variable
`cwarn-font-lock-feature-keywords-alist'.
(defalias 'cwarn-is-enabled #[(mode &optional feature) "	\236\211\205*?\206*\nA@\211\305=\206)\f\242\306=\203&\fA>?\202)\f>))\207" [mode cwarn-configuration mode-configuration feature list-or-t t not] 3 (#$ . 4152)])
#@47 True if point is inside a C macro definition.
(defalias 'cwarn-inside-macro #[nil "\212\300 \210`S\206\n`Sf\301=\203\302y\210\202\303 \210\304f)\305=\207" [beginning-of-line 92 -1 back-to-indentation nil 35] 2 (#$ . 4657)])
#@87 Install/remove keywords into current buffer.
If ADDP is non-nil, install else remove.
(defalias 'cwarn-font-lock-keywords #[(addp) "\306\211\2057\n@\211@	A<\204J\307
\f\"\203.\n\203)\310\202*\311\306\"\210*\nA\211\204\306*\207" [cwarn-font-lock-feature-keywords-alist pair --dolist-tail-- keywords feature major-mode nil cwarn-is-enabled font-lock-add-keywords font-lock-remove-keywords addp] 4 (#$ . 4892)])
#@34 Match RE but only if BODY holds.
(defalias 'cwarn-font-lock-match '(macro . #[(re &rest body) "\302\303\304\305\306\307\310\311BBE\312\307\313\314\315\316\317\320	BD\321BBBEEED\322BBB\207" [re body let ((res nil)) while progn setq res re-search-forward (limit t) and save-excursion (when (match-beginning 1) (goto-char (match-beginning 1))) condition-case nil not save-match-data ((error t)) (res)] 14 (#$ . 5327)]))
(defconst cwarn-font-lock-assignment-keywords '((cwarn-font-lock-match-assignment-in-expression (1 font-lock-warning-face))))
#@39 Match assignments inside expressions.
(defalias 'cwarn-font-lock-match-assignment-in-expression #[(limit) "\303\304\305	\306#\211\203F\212\307\224\203\307\224b\210\3101@\311 \312\216\313\307!\210g\314>\205:\315\303x\210\316\303x\210\317 \2069\320\321!?*?0\202B\210\306)\204)\207" [res limit save-match-data-internal nil re-search-forward "[^!<>=]\\(\\([-+*/%&^|]\\|<<\\|>>\\)?=\\)[^=]" t 1 (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] backward-up-list (40 91) " " "a-zA-Z0-9_" c-at-toplevel-p looking-at "for\\>"] 5 (#$ . 5877)])
(defconst cwarn-font-lock-semicolon-keywords '((cwarn-font-lock-match-dangerous-semicolon (0 font-lock-warning-face))))
#@134 Match semicolons directly after `for', `while', and `if'.
The semicolon after a `do { ... } while (x);' construction is not matched.
(defalias 'cwarn-font-lock-match-dangerous-semicolon #[(limit) "\303\304\305	\306#\211\203M\212\307\224\203\307\224b\210\3101G\311 \312\216\313\314!\210\315\316!\206A\315\317!\205A\3201?\313\314!\210\315\321!?0\202A\210\306*?0\202I\210\306)\204)\207" [res limit save-match-data-internal nil re-search-forward ";" t 1 (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] backward-sexp 2 looking-at "\\(for\\|if\\)\\>" "while\\>" (error) "do\\>"] 5 (#$ . 6600)])
(defconst cwarn-font-lock-reference-keywords '((cwarn-font-lock-match-reference (1 font-lock-warning-face))))
#@49 Font-lock matcher for C++ reference parameters.
(defalias 'cwarn-font-lock-match-reference #[(limit) "\303\304\305	\306#\211\203=\212\307\224\203\307\224b\210\31017\311 \312\216\313\307!\210g\314=\2051\315 ?\2051\316 *?0\2029\210\306)\204)\207" [res limit save-match-data-internal nil re-search-forward "[^&]\\(&\\)[^&=]" t 1 (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] backward-up-list 40 cwarn-inside-macro c-at-toplevel-p] 5 (#$ . 7370)])
#@158 Turn on CWarn mode in the current buffer if applicable.
The mode is turned if some feature is enabled for the current
`major-mode' in `cwarn-configuration'.
(defalias 'turn-on-cwarn-mode-if-enabled #[nil "\301!\205	\302\303!\207" [major-mode cwarn-is-enabled cwarn-mode 1] 2 (#$ . 7886)])
(put 'global-cwarn-mode 'globalized-minor-mode t)
(defvar cwarn-mode-major-mode nil)
(byte-code "\300\301!\210\302\303\304\305\306\307\310\311\312\313\314\315&\207" [make-variable-buffer-local cwarn-mode-major-mode custom-declare-variable global-cwarn-mode nil "Non-nil if Global Cwarn mode is enabled.\nSee the `global-cwarn-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `global-cwarn-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group global-cwarn :type boolean] 12)
#@326 Toggle Cwarn mode in all buffers.
With prefix ARG, enable Global Cwarn mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Cwarn mode is enabled in all buffers where
`turn-on-cwarn-mode-if-enabled' would do it.
See `cwarn-mode' for more information on Cwarn mode.
(defalias 'global-cwarn-mode #[(&optional arg) "\306 \307\302	\310=\203\311\302!?\202\312	!\313V\"\210\n\203/\314\315\316\"\210\314\317\320\"\210\314\321\322\"\210\202>\323\315\316\"\210\323\317\320\"\210\323\321\322\"\210\324 \325\211\203h\f@rq\210\n\203X\326 \210\202`
\203`\305\327!\210)\fA\211\204G*\330\331\311\302!\203u\332\202v\333\"\210\334\335!\203\243\336\302!\210\306 \203\216\306 \232\203\243\337%\340\341\311\302!\203\235\342\202\236\343%#\210))\344 \210\311\302!\207" [#1=#:last-message arg global-cwarn-mode buf --dolist-tail-- cwarn-mode current-message set-default toggle default-value prefix-numeric-value 0 add-hook after-change-major-mode-hook global-cwarn-mode-enable-in-buffers find-file-hook global-cwarn-mode-check-buffers change-major-mode-hook global-cwarn-mode-cmhh remove-hook buffer-list nil turn-on-cwarn-mode-if-enabled -1 run-hooks global-cwarn-mode-hook global-cwarn-mode-on-hook global-cwarn-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Global Cwarn mode %sabled%s" "en" "dis" force-mode-line-update local] 5 (#$ . 8828) (list (or current-prefix-arg 'toggle))])
(defvar global-cwarn-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [global-cwarn-mode-map global-cwarn-mode-hook variable-documentation put "Hook run after entering or leaving `global-cwarn-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode global-cwarn-mode nil boundp] 6)
(defvar cwarn-mode-set-explicitly nil nil)
(make-variable-buffer-local 'cwarn-mode-set-explicitly)
(defalias 'cwarn-mode-set-explicitly #[nil "\301\211\207" [cwarn-mode-set-explicitly t] 2])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put cwarn-mode-set-explicitly definition-name global-cwarn-mode add-hook cwarn-mode-hook] 4)
(defvar global-cwarn-mode-buffers nil)
(defalias 'global-cwarn-mode-enable-in-buffers #[nil "\306	\306\211\205B@\307\n!\203:r\nq\210\f\2046
=\2046\2033\310\311!\210\312 \210\2026\312 \210)A\211\204\f\306+\207" [global-cwarn-mode-buffers buffers buf --dolist-tail-- cwarn-mode-set-explicitly cwarn-mode-major-mode nil buffer-live-p cwarn-mode -1 turn-on-cwarn-mode-if-enabled major-mode] 3])
(put 'global-cwarn-mode-enable-in-buffers 'definition-name 'global-cwarn-mode)
(defalias 'global-cwarn-mode-check-buffers #[nil "\300 \210\301\302\303\"\207" [global-cwarn-mode-enable-in-buffers remove-hook post-command-hook global-cwarn-mode-check-buffers] 3])
(put 'global-cwarn-mode-check-buffers 'definition-name 'global-cwarn-mode)
(defalias 'global-cwarn-mode-cmhh #[nil "p\211	\235\203
	\210\202	B)\302\303\304\"\207" [#1=#:x global-cwarn-mode-buffers add-hook post-command-hook global-cwarn-mode-check-buffers] 4])
(byte-code "\300\301\302\303#\210\304\305!\210\306\307!\207" [put global-cwarn-mode-cmhh definition-name global-cwarn-mode provide cwarn run-hooks cwarn-load-hook] 4)

Zerion Mini Shell 1.0