403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.217.5
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/emacs-lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/emacs-lisp/derived.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



#@65 Construct a mode-hook name based on the symbol MODE.

(fn MODE)
(defalias 'derived-mode-hook-name #[257 "\300\301!\302P!\207" [intern symbol-name "-hook"] 4 (#$ . 84)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put derived-mode-hook-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@59 Construct a map name based on the symbol MODE.

(fn MODE)
(defalias 'derived-mode-map-name #[257 "\300\301!\302P!\207" [intern symbol-name "-map"] 4 (#$ . 408)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put derived-mode-map-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@68 Construct a syntax-table name based on the symbol MODE.

(fn MODE)
(defalias 'derived-mode-syntax-table-name #[257 "\300\301!\302P!\207" [intern symbol-name "-syntax-table"] 4 (#$ . 724)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put derived-mode-syntax-table-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@69 Construct an abbrev-table name based on the symbol MODE.

(fn MODE)
(defalias 'derived-mode-abbrev-table-name #[257 "\300\301!\302P!\207" [intern symbol-name "-abbrev-table"] 4 (#$ . 1076)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put derived-mode-abbrev-table-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@2609 Create a new mode CHILD which is a variant of an existing mode PARENT.

The arguments are as follows:

CHILD:     the name of the command for the derived mode.
PARENT:    the name of the command for the parent mode (e.g. `text-mode')
           or nil if there is no parent.
NAME:      a string that will appear in the mode line (e.g. "HTML")
DOCSTRING: an optional documentation string--if you do not supply one,
           the function will attempt to invent something useful.
KEYWORD-ARGS:
           optional arguments in the form of pairs of keyword and value.
           The following keyword arguments are currently supported:

           :group GROUP
                   Declare the customization group that corresponds
                   to this mode.  The command `customize-mode' uses this.
           :syntax-table TABLE
                   Use TABLE instead of the default (CHILD-syntax-table).
                   A nil value means to simply use the same syntax-table
                   as the parent.
           :abbrev-table TABLE
                   Use TABLE instead of the default (CHILD-abbrev-table).
                   A nil value means to simply use the same abbrev-table
                   as the parent.
           :after-hook FORM
                   A single Lisp form which is evaluated after the mode
                   hooks have been run.  It should not be quoted.
           :interactive BOOLEAN
                   Whether the derived mode should be `interactive' or not.
                   The default is t.

BODY:      forms to execute just before running the
           hooks for the new mode.  Do not use `interactive' here.

Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode:

  (define-derived-mode LaTeX-thesis-mode LaTeX-mode "LaTeX-Thesis")

You could then make new key bindings for `LaTeX-thesis-mode-map'
without changing regular LaTeX mode.  In this example, BODY is empty,
and DOCSTRING is generated by default.

As a more complex example, the following command uses `sgml-mode' as
the parent, and then sets the variable `case-fold-search' to nil:

  (define-derived-mode article-mode sgml-mode "Article"
    "Major mode for editing technical articles."
    (setq case-fold-search nil))

Note that if the documentation string had been left out, it would have
been generated automatically, with a reference to the keymap.

The new mode runs the hook named MODE-hook.  For `foo-mode',
the hook will be named `foo-mode-hook'.

See Info node `(elisp)Derived Modes' for more details.

(fn CHILD PARENT NAME [DOCSTRING] [KEYWORD-ARGS...] &rest BODY)
(defalias 'define-derived-mode '(macro . #[1155 "\203;\204B\262\300\262\301=\203\300\262\302\303!\304P!\262\302\303!\305P!\262\302\303!\306P!\262\307\211	\302\303!\310P!\262\300\307\300\311\n@!\203\255	\211A\262\242\211\312\267\202\244\n\211A\262\f\242\262\210\202I\n\211A\262\f\242\262\300\262\210\202I\n\211A\262\f\242\262	\300\262\210\202I\n\211A\262\f\242\266\202\202I\n\211A\262\f\242\262\210\202I\nA\262\210\202I\313

%\262\314\315\316BB\317\320\321D\322BB\323\321	D\324\325\326\"FE\317\327\321DD\323\321D\330\321DFE\331\315\332BBD\317\320\321D\333BB\323\321D\334\335\325\336\"DFE\n\205F\314\315D\317\327\321DD\323\321D\337\321DF\315\340BBF\317\320\321D\341BB\323\321D\342\335\325\343\"DFEF\f\205\214\314\315D\317\327\321DD\323\321D\344\321DF\315\314\345\321D\346BBEEF\317\320\321D\347BB\323\321D\350\335\325\351\"DFEF\323\321D\352\321DF\205\245\323\321D\353F\354\300\205\261\355\356\206\270\357C\360\361\321!DE\360\362E\2052\314\363\320\321#D\364BB\323\321%D\365\320\321'D\366BBFE\317\367D\370 \371BBE\205\372\373\374 DDC\317\375\376\"\377BBEE\2050\317\201@\201A \201BBB\201C!\201DBBE\201E \201FBBE\257\201GD\205C\201HD\205O\360\201IE BBBBBBBB\201J\205q\201K\201L\300E\201MBBC\201N\321DDC\"BBBBBB\257\207" [nil fundamental-mode intern symbol-name "-map" "-syntax-table" "-abbrev-table" t "-hook" keywordp #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:group 94 :abbrev-table 107 :syntax-table 123 :after-hook 139 :interactive 151)) derived-mode-make-docstring progn defvar (nil) unless get quote ('variable-documentation) put 'variable-documentation format "Hook run after entering %s mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp 'definition-name with-no-warnings ((make-sparse-keymap)) ('variable-documentation) 'variable-documentation purecopy "Keymap for `%s'." 'definition-name ((make-syntax-table)) ('variable-documentation) 'variable-documentation "Syntax table for `%s'." 'definition-name define-abbrev-table (nil) ('variable-documentation) 'variable-documentation "Abbrev table for `%s'." 'derived-mode-parent 'custom-mode-group defun (interactive) delay-mode-hooks kill-all-local-variables setq major-mode mode-name if ('mode-class) 'mode-class ('mode-class) keymap-parent set-keymap-parent ((current-local-map)) let parent char-table-parent (and parent (not (eq parent (standard-syntax-table)))) set-char-table-parent ((syntax-table)) or abbrev-table-get (:parents) eq (local-abbrev-table) abbrev-table-put (:parents (list local-abbrev-table)) use-local-map set-syntax-table local-abbrev-table append push lambda (delayed-after-hook-functions) run-mode-hooks] 43 (#$ . 1432)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put define-derived-mode edebug-form-spec (&define name symbolp sexp [&optional stringp] [&rest keywordp sexp] def-body) function-put doc-string-elt 4] 4)
#@112 Construct a docstring for a new mode if none is provided.

(fn PARENT CHILD &optional DOCSTRING SYNTAX ABBREV)
(defalias 'derived-mode-make-docstring #[1282 "\300\301!\302P!\262\300\301!\303P!\262;\204\305\204M\304\305\306\2039\307\310	\2032\311\2023\312	#\202:\313\203G\307\314\n\"\202H\313$P\202\303\307\315\203^\203^\316\202p\203f\317\202p\203o\320\202p\313\305\321	\203\210\n\203\210\307\322
#\202\240	\204\222\n\203\237\307\323\206\233\f\"\202\240\313#\204\253\203\257\313\202\260\324\f	\204\274\n\203\300\324\202\301\313&\262\325\326\301!!\"\204\327\305\330\n\204\336\331\202\367\332\325\307\333\326\301!!\"\"?\205\365\307\334
\"\335Q\307\336\"\337$Q\262\325\340\"\204\341\301!\342R\262\207" [intern symbol-name "-map" "-hook" "Major-mode.\n" internal--format-docstring-line "Uses keymap `%s'%s%s." format "%s abbrev table `%s'" "," " and" "" " and syntax-table `%s'" "Major mode derived from `%s' by `define-derived-mode'.\nIt inherits all of the parent's attributes, but has its own keymap%s:\n\n%s\n\nwhich more-or-less shadow%s %s's corresponding table%s." ",\nabbrev table and syntax table" "\nand abbrev table" "\nand syntax table" "  `%s'%s" ", `%s' and `%s'" " and `%s'" "s" string-match regexp-quote "\n\n" "%s%s%s" "This mode " "In addition to any hooks its parent mode " "[`‘]%s['’]" "`%s' " "might have run, this mode " "runs the hook `%s'" ", as the final or penultimate step during initialization." "\\\\[{[]" "\n\n\\{" "}"] 18 (#$ . 7194)])
#@66 Construct a setup-function name based on a MODE name.

(fn MODE)
(defalias 'derived-mode-setup-function-name #[257 "\300\301!\302P!\207" [intern symbol-name "-setup"] 4 (#$ . 8767)])
(byte-code "\300\301\302\303#\210\304\301\305\306#\307\301\310\311#\207" [make-obsolete derived-mode-setup-function-name nil "28.1" function-put speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@218 Initialize variables for a new MODE.
Right now, if they don't already exist, set up a blank keymap, an
empty syntax table, and an empty abbrev table -- these will be merged
the first time the mode is used.

(fn MODE)
(defalias 'derived-mode-init-mode-variables #[257 "\300\301\302!\303P!\262!\2043\304\305\301\302!\303P!\262\306\307\310\"F!\210\311\301\302!\303P!\262\312\313#\210\300\301\302!\314P!\262!\204f\304\305\301\302!\314P!\262\315\307\316\"F!\210\311\301\302!\314P!\262\312\313#\210\300\301\302!\317P!\262!\203w\313\207\304\305\301\302!\317P!\262\320\321\322\323DD\324BB\325BB\307\326\"F!\207" [boundp intern symbol-name "-map" eval defvar (make-sparse-keymap) format "Keymap for %s." put derived-mode-unmerged t "-syntax-table" (make-char-table 'syntax-table nil) "Syntax table for %s." "-abbrev-table" progn define-abbrev-table derived-mode-abbrev-table-name quote (nil) ((make-abbrev-table)) "Abbrev table for %s."] 9 (#$ . 9162)])
#@75 Set the keymap of the new MODE, maybe merging with the parent.

(fn MODE)
(defalias 'derived-mode-set-keymap #[257 "\211\300\301!\302P!\262\303!\304 \211\203\305N\203\306\"\210\307\305\310#\210\311!\207" [intern symbol-name "-map" eval current-local-map derived-mode-unmerged derived-mode-merge-keymaps put nil use-local-map] 8 (#$ . 10148)])
#@81 Set the syntax table of the new MODE, maybe merging with the parent.

(fn MODE)
(defalias 'derived-mode-set-syntax-table #[257 "\211\300\301!\302P!\262\303 \304!\305N\203\306\"\210\307\305\310#\210\311!\207" [intern symbol-name "-syntax-table" syntax-table eval derived-mode-unmerged derived-mode-merge-syntax-tables put nil set-syntax-table] 8 (#$ . 10509)])
#@125 Set the abbrev table for MODE if it exists.
Always merge its parent into it, since the merge is non-destructive.

(fn MODE)
(defalias 'derived-mode-set-abbrev-table #[257 "\211\301\302!\303P!\262\304!\305\"\210\211\211\207" [local-abbrev-table intern symbol-name "-abbrev-table" eval derived-mode-merge-abbrev-tables] 7 (#$ . 10886)])
#@40 Run the mode hook for MODE.

(fn MODE)
(defalias 'derived-mode-run-hooks #[257 "\211\300\301!\302P!\262\303!\205\304!\207" [intern symbol-name "-hook" boundp run-hooks] 5 (#$ . 11234)])
#@153 Merge an OLD keymap into a NEW one.
The old keymap is set to be the last cdr of the new one, so that there will
be automatic inheritance.

(fn OLD NEW)
(defalias 'derived-mode-merge-keymaps #[514 "\211\211:\203k\211@:\203,\300@@!\301\"\301\"\302!\203*\302!\203*\303\"\210\266\304@!\203d\211@GS\211\305Y\203c\300!\301\"\301\"\302!\203Z\302!\203Z\303\"\210\266\211S\262\2027\210\211A\262\202\210\211GS\233\241\207" [vector lookup-key keymapp derived-mode-merge-keymaps vectorp 0] 10 (#$ . 11433)])
#@135 Merge an OLD syntax table into a NEW one.
Where the new table already has an entry, nothing is copied from the old one.

(fn OLD NEW)
(defalias 'derived-mode-merge-syntax-tables #[514 "\300\"\207" [set-char-table-parent] 5 (#$ . 11973)])
#@16 

(fn OLD NEW)
(defalias 'derived-mode-merge-abbrev-tables #[514 "\205\300\301\302\"\"\207" [mapatoms make-closure #[257 "\301\302!\300\"\206\303\300\302!JK$\207" [V0 intern-soft symbol-name define-abbrev] 6 "\n\n(fn SYMBOL)"]] 6 (#$ . 12219)])
(provide 'derived)

Youez - 2016 - github.com/yon3zu
LinuXploit