;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require cua-base cua-rect] 2) #@37 The version of this Brief emulator. (defconst brief-version "5.87" (#$ . 158)) #@48 Check if we're currently running under Cygwin. (defvar brief-is-cygwin nil (#$ . 243)) (byte-code "\303=\206/\304\305!\205/\304\306!\205/\304\307!\205/\310\311\312\"r q\210\313\216\314\307\315\316\317$\210\320 +\321\230\315\207" [system-type #1=#:temp-buffer brief-is-cygwin cygwin file-exists-p "/dev/clipboard" "/dev/windows" "/proc/version" generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] insert-file-contents nil 0 10 buffer-string "CYGWIN_NT-"] 5) (defvar brief-selection-op-legacy nil) (defalias 'brief-is-x '(macro . #[nil "\300\207" [(eq (framep (selected-frame)) 'x)] 1])) (defalias 'brief-is-terminal '(macro . #[nil "\300\207" [(eq (framep (selected-frame)) 't)] 1])) (defalias 'brief-is-winnt '(macro . #[nil "\300\207" [(or (eq system-type 'windows-nt) (eq (framep (selected-frame)) 'w32) (eq (framep (selected-frame)) 'w64))] 1])) (defalias 'brief-input-pending-p '(macro . #[nil "\301\302\"\203 \303\207\304\207" [emacs-version version< "24.0" (input-pending-p) (input-pending-p t)] 3])) (byte-code "\303\304\"\203\305\306!\204\307\306\310\311B\"\210\312\313!\204\314\315!\210\305\316!\204)\307\316\317\"\210\303\320\"\203W\305\321!\204A\305\322!\203A\307\321\323\"\210\305\324!\204L\307\324\325\"\210\305\326!\204W\307\326\327\"\210\303\320\"\203h\307\330\310\331B\"\210\202o\307\330\310\332B\"\210\303\304\"\203\312\333!\204\216\312\334!\203\212\335\333\334\"\210\202\216\336\315!\210\312\337!\204\246\312\340!\203\242\335\337\340\"\210\202\246\341\315!\210 \342=\204\276\343\344 !\345=\204\276\343\344 !\346=\203\357\305\347!\204\313\350\307\347\351\"\210\305\352!\204\326\307\352\353\"\210\305\354!\204\341\307\354\355\"\210\305\356!\204\307\356\357\"\210\202\305\347!\204\374\350\307\347\322\"\210\305\352!\204\307\352\360\"\210\305\354!\204\307\354\361\"\210\305\356!\204\307\356\362\"\210\315\207" [emacs-version system-type brief-selection-op-legacy version< "25.1" fboundp save-mark-and-excursion defalias macro #[(&rest body) "\301B\207" [body save-excursion] 2 "A backward compatibility macro for Emacs version below 25.1.\nThis macro behaves exactly like `save-excursion' before Emacs 25.1.\nAfter Emacs 25.1 `save-excursion' no longer save mark and point."] boundp inhibit-message (lambda (#1=#:def-tmp-var) (defvar inhibit-message #1#)) nil process-live-p #[(process) "\301!\205 \302!\303>\207" [process processp process-status (run open listen connect stop)] 2 "Returns non-nil if PROCESS is alive.\nA process is considered alive if its status is `run', `open',\n`listen', `connect' or `stop'. Value is nil if PROCESS is not a\nprocess."] "24.0" x-get-selection-value x-get-selection #[nil "\300\301!\207" [x-get-selection PRIMARY] 2] file-equal-p #[(file1 file2) "\305\306\"\206 \305 \306\"\211\203\n\306 #\2024\307\211\310\311!!\211\2053\310\311 !!\211\2053\f \232*)\207" [file1 file2 handler f2-attr f1-attr find-file-name-handler file-equal-p nil file-attributes file-truename] 5 "Return non-nil if files FILE1 and FILE2 name the same file.\nIf FILE1 or FILE2 does not exist, the return value is unspecified."] read-char-choice #[(prompt chars &optional inhibit-keyboard-quit) "\305\306 !\211\f\235\203 *\207" [inhibit-keyboard-quit c inhibit-quit prompt chars nil read-char] 2] bookmark-jump-wrapper #[(bmk func _regionp) "\302 E\207" [bmk func bookmark-jump] 3] #[(bmk func regionp) "\303 \nF\207" [bmk func regionp bookmark-jump] 4] gui--last-selected-text-primary x-last-selected-text-primary defvaralias (lambda (#1#) (defvar gui--last-selected-text-primary #1#)) gui--last-selected-text-clipboard x-last-selected-text-clipboard (lambda (#1#) (defvar gui--last-selected-text-clipboard #1#)) windows-nt framep selected-frame w32 w64 gui-get-selection t w32-get-clipboard-data gui-set-selection #[(_type data) "\301!\207" [data w32-set-selection] 2] gui-backend-get-selection #[(_selection-symbol _target-type) "\300 \207" [w32-get-clipboard-data] 1] gui-backend-set-selection #[(_selection value) "\301!\207" [value w32-set-selection] 2] x-set-selection #[(selection-symbol target-type) "\302 \"\207" [selection-symbol target-type x-get-selection] 3] #[(selection value) "\302 \"\207" [selection value x-set-selection] 3]] 4) #@31 Epoch time in floating point. (defalias 'brief-current-time #[nil "\301 \302\303@\304\"A@\"\305AA@_\\)\207" [ct current-time logior lsh 16 1e-06] 4 (#$ . 4546)]) #@140 Latest calibration value of UI performance. This value is a measurement of the performance when running Brief in a slow remote connection. (defvar brief-calibration-value 0.0 (#$ . 4719)) #@47 Number of worst case calibration done so far. (defvar brief-calibration-count 0 (#$ . 4913)) #@59 The sum of worst case calibration values measured so far. (defvar brief-calibration-sum 0.0 (#$ . 5012)) #@214 Average worst case calibration value of UI performance. This value an average of `brief-calibration-value' measured so far. A lot of timeout values are adjusted accordingly to the slowdown referencing this value. (defvar brief-calibration-ref 0.0 (#$ . 5124)) #@116 A slowdown measurement according to the calibration. This value is an empirical obtained thru various experiments. (defvar brief-slowdown-factor 1.0 (#$ . 5391)) #@181 Estimate the UI performance reference values. Notice that this function sometimes works only if called interactively. Also, under terminal mode it can't actually get the slowdown. (defalias 'brief-calibration #[nil "\305 \306\307!\210\305 Z[\211 V\205e\n\\ T\n \245\211\310W\203&\311\211\207 \312W\2030\313\211\207 \314W\203:\315\211\207 \316W\203D\317\211\207 \320W\203N\321\211\207 \322W\203X\323\211\207 \324W\203b\325\211\207\326\211\207" [brief-calibration-value brief-calibration-ref brief-calibration-sum brief-calibration-count brief-slowdown-factor brief-current-time redisplay t 0.1 1.0 0.2 2.0 0.3 3.0 0.4 4.0 0.5 5.0 0.6 6.0 0.7 7.0 8.0] 4 (#$ . 5560) nil]) (byte-code "\300\301!\203\302\303\304\"\210\202\302\303\305\306B\"\210\300\207" [boundp brief-debugging defalias brief-dbg-message #[(&rest args) "\303\304\305\"\306\307\310\311\312 \" #*\207" [args msg inhibit-message t apply format message "%s %s" format-time-string "[%H:%M:%S.%3N]" current-time] 5] macro #[(&rest _) "\300\207" [nil] 1]] 4) #@54 Compatibility macro to test for an active rectangle. (defalias 'brief-rectangle-active '(macro . #[nil "\300\207" [cua--rectangle] 1 (#$ . 6609)])) #@66 In Brief this means either a line region or rectangle is active. (defalias 'brief-use-region #[nil "\3011\n\302 0\202\210\202\206\207" [cua--rectangle (error) use-region-p] 1 (#$ . 6763)]) #@64 Safe version of `region-beginning' to prevent error signaling. (defalias 'brief-region-beginning #[nil "\300 \205\301 \207" [brief-use-region region-beginning] 1 (#$ . 6966)]) #@58 Safe version of `region-end' to prevent error signaling. (defalias 'brief-region-end #[nil "\300 \205\301 \207" [brief-use-region region-end] 1 (#$ . 7150)]) #@59 Compatibility function to test for an active line region. (defalias 'brief-line-region-active '(macro . #[nil "\300\207" [(and (region-active-p) (not cua--rectangle))] 1 (#$ . 7316)])) #@49 Keep rectangle unchanged after cursor commands. (defalias 'brief-keep-rectangle-unchanged '(macro . #[nil "\300\207" [(setq cua--buffer-and-point-before-command nil)] 1 (#$ . 7507)])) #@61 A macro for exclusive or (xor a b), side effects prevented. (defalias 'brief-xor '(macro . #[(a b) "\302\303D\304 DD\305BB\207" [a b let A B ((and (or A B) (not (and A B))))] 4 (#$ . 7697)])) (custom-declare-group 'brief nil "Emulator for Brief key bindings." :prefix "brief-" :group 'emulations) #@129 The original keymap before Brief emulation mode remaps anything. This keymap is restored when Brief emulation mode is disabled. (defvar brief-mode-original-keymap (current-global-map) (#$ . 8002)) #@270 Brief global keymap for Brief emulation mode. All the bindings are assigned here instead of directly into the inherited current global keymap. In this way we can have brief mode key assignments placed in the least priority place in order to respect other minor modes. (defvar brief-global-mode-map (byte-code "\302 \303 \"\210)\207" [map brief-mode-original-keymap make-sparse-keymap set-keymap-parent] 3) (#$ . 8206)) #@42 Prefix key M-l for Brief emulation mode. (defvar brief-prefix-meta-l (make-sparse-keymap) (#$ . 8635)) #@41 Prefix key F1 for Brief emulation mode. (defvar brief-prefix-F1 (make-sparse-keymap) (#$ . 8744)) #@41 Prefix key F2 for Brief emulation mode. (defvar brief-prefix-F2 (make-sparse-keymap) (#$ . 8848)) #@41 Prefix key F3 for Brief emulation mode. (defvar brief-prefix-F3 (make-sparse-keymap) (#$ . 8952)) #@41 Prefix key F4 for Brief emulation mode. (defvar brief-prefix-F4 (make-sparse-keymap) (#$ . 9056)) (byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\311& \210\300\315\316\317\312\313%\210\320\315!\210\300\321\322\323\312\324%\210\300\325\316\326\312\313%\210\300\327\316\330\312\313%\210\300\331\316\332\312\313%\210\300\333\316\334\312\313%\210\300\335\302\336\312\313%\210\300\337\302\340\312\341%\210\300\342\316\343\312\313%\210\300\344\302\345\312\313%\207" [custom-declare-variable brief-mode nil "Track status of Brief emulation mode.\nA value of nil means Brief mode is not enabled. A value of t\nindicates Brief mode is enabled.\n\nSetting this variable directly does not take effect;\nuse either M-x customize or the function `brief-mode'." :set #[(_symbol value) "\301\205\302!\207" [value brief-mode t] 2] :initialize custom-initialize-default :require brief :type boolean :group brief-search-replace-using-regexp t "Determine if search & replace commands using regular expression or string.\nThis is a buffer local variable with default value 't, which means\nregular expression is used for search & replace commands by default." make-variable-buffer-local brief-mode-mode-line-string " Brief" "String to display in the mode line when Brief emulation mode is enabled." string brief-override-meta-x "Controls overriding the normal Emacs M-x key binding in this Brief emulator.\nNormally the Brief emulator rebinds M-x to `save-buffers-exit-emacs',\nand provides the usual M-x functionality on the F10 key. If this\nvariable is non-nil, M-x will exit Emacs." brief-enable-less-frequent-keys "Enable less frequently used Brief keys that Emacs native commands are using.\nBy disabling this flag Emacs native key commands like C-e and C-d are\nkept unaltered. This works only on Brief mode load time. Changing this\nvariable at run-time has no effect." brief-warn-meta-x-moved "Show help message when `brief-override-meta-x' is non-nil.\nNew user might be wondering where the original key has gone,\nso this shows a message on Brief mode start to notify that that key\ncombination has been moved to '' key." brief-query-exit-emacs "Ask if user really want to exit Emacs, when `brief-override-meta-x' is t.\nThis option is useful for people who has already been accustomed to\ntreat M-x as `execute-extended-command' \\[execute-extended-command]. This gives user\nthe second chance without quitting Emacs immediately and accidentally." brief-load-scroll-lock "Controls loading of the Scroll Lock in the Brief emulator.\nIts default behavior is to load and enable the Scroll Lock minor mode\npackage when enabling the Brief emulator.\n\nIf this variable is nil when you start the Brief emulator, it\ndoes not load the scroll-lock package." brief-load-hook "Hooks to run after loading the Brief emulator package." hook brief-select-enable-primary "On XWinodws enable Brief to use 'PRIMARY selection.\nFor Windows NT systems we always use 'CLIPBOARD and this option has\nno effect." brief-select-enable-clipboard "On XWindows enable Brief to use 'CLIPBOARD selection.\nFor Windows NT systems we always use 'CLIPBOARD and this option has\nno effect."] 14) #@113 Enable/disable the postponement of setting Xselection. For more detail check `brief-enable-postpone-selection'. (defalias 'brief-set:brief-enable-postpone-selection #[(sym val) "\203\303 \210 \203\304 \210\202\305 \210\n L\207" [brief-mode val sym brief-resume-gui-set-selection brief-enable-clipboard-postponement brief-disable-clipboard-postponement] 2 (#$ . 12254)]) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305%\210\300\313\302\314\304\305%\210\300\315\316\317\304\320%\210\300\321\302\322\304\305%\210\300\323\302\324\304\305%\210\300\325\302\326\304\305%\210\300\327\330\331\304\332%\210\300\333\302\334\304\305%\210\300\335\302\336\304\305%\210\300\337\340\341\304\320%\210\300\342\302\343\304\305%\207" [custom-declare-variable brief-enable-postpone-selection t "Flag for enabling/disabling of the postponement of setting Xselection.\n\nWhen region/rectangle is being marked, Emacs actively copies marked\nregion/rectangle into Xselection and behaves like any other X\napplications. However this is sometimes too excessive if the marked\nregion is huge: a tiny change of the selection requires a huge update\nof the Xselection which could take very long. Moreover, when doing\nthis under Xservers on Microsoft Windows with any MS-office application\nrunning, it could cause problems if there are a lot of opened Xwindows,\nsay, 20 Emacs Xwindow frames opened.\n\nFor more detail explanation, see the comments in the source code before\nthe definition of the variable `brief-is-gui-set-selection-postponed'.\n\nNotice that to change the setting of this value, `custom-set-variables'\nneed to be used or only the value of is changed but it won't have any\nreal effect until `brief-mode' changed." :type boolean :set brief-set:brief-enable-postpone-selection brief-debounce-keys-microsoft-office nil "Debounce commands setting Xselection when MS office application is running.\nKeyboard commands that \"sets\" Xselection (e.g. marking region) could\nbe problematic. This problem only happens when running Emacs on\nXservers under MS-Windows operating system, with *any* of the Microsoft\nOffice applications running.\n\nThis Brief mode already try to prevent this problem by postponing Xselection\ncopying if the customized variable `brief-enable-postpone-selection' is\nset to non-NIL. However, in case this problem persists on some slower\nmachines this option is provided to allow users workaround it.\n\nCurrently debouncing only implemented in `brief-kill-line' (\\[brief-kill-line]),\n`brief-delete-entire-line'(\\[brief-delete-entire-line]) and `brief-copy-line'(\\[brief-copy-line])." brief-force-set-external-selection "When setting current kill data, always set external selection.\nThis is useful when multiple editors are sharing the external clipboard." brief-external-xclipboard-timeout 5 "Timeout seconds for Brief to invoke external xclipboard helper program." number brief-use-external-clipboard-when-possible "Use external clipboard program helper to read clipboard whenever possible.\nEmacs internal clipboard function has certain limitations, especially\nwhen processing huge clipboard contents. With this flag enabled Brief\nwill always use external clipboard program like 'xclip' to read\nclipboard data. Notice when Brief is running in terminal mode it\nalways use external clipboard program no matter if this flag is on\nor off." brief-show-external-clipboard-recv-progress "Show progress when reading data from external clipboard helper program.\nThis is useful when the clipboard data is very large. Without this\noption there might be no visual indication about the (in)completion\nof clipboard reading. By enabling this option the user can see the\nprogress." brief-show-external-clipboard-send-progress "Show progress when writing data to external clipboard helper program.\nThis is useful when the clipboard data is very large. Without this\noption there might be no visual indication about the (in)completion\nof clipboard writing. By enabling this option the user can see the\nprogress." brief-external-clipboard-coding-system 'utf-8 "Customized coding system for external clipboard, default UTF-8.\nWhen set to 'buffer, it will apply current `buffer-file-coding-system'.\nThis sounds safe but actually it might still cause issues. For example,\nwhen current buffer is of coding system `utf-8-with-signature-unix'.\nWhen copy and paste strings it sometimes will insert BOM (byte order\nmark) into the beginning of the pasted text.\n\nSet this variable to any other fixed coding system symbol like 'utf-16le\nis also possible, but might also lead to some unexpected result if the\ncoding system does not match your buffer. For a complete list of\navailable coding system symbols, check the completion list (press\n\\[minibuffer-complete]) when running `set-buffer-file-coding-system'\n(\\[set-buffer-file-coding-system])" symbol brief-cygwin-use-clipboard-dev "When running under Cygwin use /dev/clipboard to speed things up.\nForking a subprocess is expensive in Cygwin. Running external helper\ncould cause a lot of delay comparing to its virtual clipboard device." brief-giveup-clipboard-backup-if-huge "Give up backing up original clipboard data if it's huge.\nUsually when brief is about to change external clipboard data it will\nbackup its original data so that if user cancelled current operation\nit could restore clipboard. However, the data size of current clipboard\nis not known so it's possible that we are backing up a very huge data.\nWith this option enabled we can skip backing up to prevent Emacs waits\nlong." brief-giveup-clipboard-backup-timeout 1.5 "Timeout value to give up backing up clipboard data if it's huge.\nThis works only if `brief-giveup-clipboard-backup-if-huge' is enabled.\nNote that there is no direct way to detect the size of current clipboard\ncontents without first reading it in first. Therefore we use a general\ntimeout value instead." brief-giveup-clipboard-backup-message "Show visual message if backup timeout reached and we're giving up backup.\nThis works only if `brief-giveup-clipboard-backup-if-huge' is enabled."] 8) #@57 Brief internal variable for external Xselection helper. (defvar brief-xclipboard-args nil (#$ . 18419)) #@57 Brief internal variable for external Xselection helper. (defvar brief-xclipboard-cmd nil (#$ . 18529)) #@48 Default value of the `brief-in-favor-of-xsel'. (defconst brief-in-favor-of-xsel-default nil (#$ . 18638)) #@427 Search for external Xclipboard helper program. Find either 'xsel' or 'xclip', if both exists in favor of 'xsel' when `brief-in-favor-of-xsel' is non-nil. If none-exists only Emacs internal Xselection functions will be used and terminal mode won't react to Xselection change. However, care need to be taken that in some Linux environment, using 'xsel' sometimes produce some extra bytes when getting data from the Xclipboard. (defalias 'brief-xclipboard-cmd-search #[nil "\306\307!\306\310!\311\302!\203\n\204 \203\206# \202# \206#\211\f\230\2032\312\f\202;\f \230\203;\313\f\f+\207" [xsel xclip brief-in-favor-of-xsel brief-in-favor-of-xsel-default xc brief-xclipboard-cmd executable-find "xsel" "xclip" boundp ("-o" "-i" "-n" "-p" "-b" "-s" nil) ("-o" nil "-selection" "primary" "clipboard" "secondary" ("-l" " 1")) brief-xclipboard-args] 3 (#$ . 18751)]) #@93 Reset `brief-xclipboard-cmd' and `brief-xclipboard-args' so that it won't stick on 'xclip'. (defalias 'brief-set:brief-in-favor-of-xsel #[(sym val) " L\210\304\211\305 \207" [sym val brief-xclipboard-cmd brief-xclipboard-args nil brief-xclipboard-cmd-search] 3 (#$ . 19636)]) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305%\210\300\313\314\315\304\305%\210\300\316\311\317\304\305%\210\300\320\311\321\304\305%\210\300\322\311\323\304\305%\210\300\324\311\325\304\305%\210\300\326\311\327\304\305%\210\330\331\332\333\334\335%\210\300\336\314\337\304\340%\210\300\341\314\342\304\305%\210\300\343\344\345\304\346%\210\300\347\311\350\304\305%\210\300\351\311\352\304\305%\210\300\353\314\354\304\305%\207" [custom-declare-variable brief-in-favor-of-xsel brief-in-favor-of-xsel-default "When both 'xclip' and 'xsel' exist, choose 'xsel'.\nThis is an emperical value. My original personal experiemnts shows\nthat 'xsel' seems to respond faster than 'xclip'. However, on Ubuntu\n18, the associated 'xsel' is buggy and tend to return extra garbage at\nthe end of the pasted data, sigh. Considering the wide acceptance of\nUbuntu, this force me to set the default setting to use 'xclip'\ninstead.\nFor Ubuntu 18 users that would like to use 'xsel' and set this option\nas non-nil, please rebuild the 'xsel' from author's git repository:\n\"https://github.com/kfish/xsel.git\" and checkout at least commit id\n\"9bfc13d\"." :type boolean :set brief-set:brief-in-favor-of-xsel brief-shorter-bookmark-jump-key t "Swap M-j with M-# key for simpler keystroke for bookmark jump.\nThe original key combination of jumping to a bookmark is M-j followed\nby a digit key, while setting a bookmark is M-# (# is the digit key)\nwhich is a shorter key combination. However, in real cases jumping\nbookmarks happens much more frequently than setting bookmarks,\ntherefore a shorter key sequence is sometimes more desired. Setting\nthis flag non-NIL will achieve this goal." brief-open-file-use-dialog-when-possible nil "Use the file dialog box X window manager provided when possible." brief-open-file-show-hidden-files "Show hidden files in the file dialog box." brief-search-recenter-vertically "Recenter cursor vertically when doing search or replacement.\nBy recentering the cursor, context above/below are shown." brief-search-recenter-horizontally "Recenter cursor horizontally to the right when doing search or replacement.\nBy recentering the cursor to the right, context left to the cursor\nare shown." brief-group-undo-replacement "Group undos for search&replace in a (rectangle) region." brief-search-fake-region-mark "Mark a fake region when doing search within it.\nIf we use the same background color as other normal region, it looks\nas if our marked region is still there when cursor moved. Normally\nmarked region changed according to our cursor." custom-declare-face brief-fake-region-face ((default :inherit region)) "The face (color) of fake region when `brief-search-fake-region-mark' is t." :group brief brief-after-search-hook "Hook for user defined search behavior.\nThis hook gets called after each brief search operation." hook brief-linecmd-respect-visual "Set this to t if line commands must respect visual/truncation mode.\nLine-oriented commands like \"line deletion\" (\\[brief-delete-entire-line]), \"delete till end\nof line\" (\\[brief-delete-end-of-line]), \"copy line\" (\\[brief-copy-line]) and \"cut line\" (\\[brief-kill-line]),\nusually operate on the whole physical line regardless of current\nvisual/truncation mode. With this option enabled, it *will* operate\nonly on the visual part of current line, *unless* that command is\nprefixed (\\[universal-argument]). Similarly, when visual/truncation mode is turned on,\nprefixed (\\[universal-argument]) line commands *will* only operate on visual part of\nthe line." brief-skip-buffers '("TAGS") "Define the buffer names that Brief don't want to switch to." sexp brief-apply-slowdown-factor "Apply the calibrated slowdown factor to all related timeout values.\nUnder a lot of circumstances the calibrated slowdown factor is too\nsmall. However, it is not known that if there could be environments\nthat make this slowdown factor too high and make Brief performance\npoor. If that's the case, set this value to nil to prevent applying\nthe slowdown factor." brief-init-multi-cursor-cmd "Initialize multiple-cursors package for Brief commands.\nIf this option is set to NIL, when multiple-cursors mode is ON, user\nwill need to choose if a command is to be executed for each cursor or\njust run-once for all cursors and multiple-cursors package will then\nregister user's selection. With this option set non-NIL, the choice\nof all Brief mode commands are set initially without the need of\nuser's attention." brief-turn-off-scroll-bar-mode "Turn off scroll-bar mode to save more window area for texts.\nAs far as I knew quite a few old Brief users love its thin borders. With\nthis value set to non-NIL Brief mode turn-off `scroll-bar-mode' which\nsaves the horizontal scroll bar for one more column of texts."] 8) #@162 Get the calibrated slowdown factor or keep it as 1.0. If `brief-apply-slowdown-factor' is non-NIL, return the calibrated slowdown factor; otherwise, return 1.0. (defalias 'brief-slowdown-factor #[nil "\203 \206 \302\207" [brief-apply-slowdown-factor brief-slowdown-factor 1.0] 1 (#$ . 24771)]) (byte-code "\300\301\302\303!\203\f\303\202 \304\"\210\300\305\302\306!\203\306\202\307\"\210\300\310\302\311!\203*\311\202+\312\"\207" [defalias brief-set-clipboard fboundp clipboard-kill-ring-save copy-primary-selection brief-kill-region clipboard-kill-region kill-primary-selection brief-yank-clipboard clipboard-yank yank-clipboard-selection] 4) (defvar brief-last-search-action-forward t) (defvar brief-last-query-replace-forward t) (defvar brief-orig-query-replace-from-history-variable nil) (defvar brief-orig-query-replace-to-history-variable nil) (defvar brief-query-replace-from-history nil) (defvar brief-query-replace-to-history nil) (defvar brief-search-last nil) (defvar brief-query-replace-last nil) (defvar brief-get-current-word nil) (defvar brief-search-history nil) #@52 Internal variable for saving paused keyboard macro (defvar brief--kbd-macro-seq nil (#$ . 25868)) #@126 A buffer local overlay which records the current search selection. It is deleted when the search ends or region deactivated. (defvar brief--search-overlay nil (#$ . 25973)) (make-variable-buffer-local 'brief--search-overlay) #@121 Display buffer list. If `ibuffer' package is loaded it will invoke `ibuffer', otherwise it calls `buffer-menu' instead. (defalias 'brief-buffer-list-window #[nil "\302\303!\203I\303p\304\"\305\211G\306U\203\307 \310\304!\210\311 \210 \203E\212eb\210\31214\313 !\2110\210\2025\210)\305U\204Eb\210\314 \210\315 \210\316 *\207\317\320!\207" [pos search-str fboundp ibuffer-make-column-filename nil -1 0 buffer-name ibuffer redisplay (error) search-forward beginning-of-line recenter deactivate-mark call-interactively buffer-menu] 4 (#$ . 26205) nil]) #@499 The info of the most recently killed file buffer to be restored. If user accidentally killed a file buffer, it can be recovered accordingly. Information is a list of: buffer file name point buffer-undo-list major mode current visual row linum-mode (optional, only if linum-mode package is loaded) nlinum-mode (optional, only if nlinum-mode package is loaded) display-line-numbers-mode (optional, only if supported) ;;TODO: font/fontsize/scaled-size/ruler-mode/user-defined-hook  (defvar brief-latest-killed-buffer-info nil (#$ . 26774)) #@377 Kill current buffer, or restore latest killed file buffer if prefixed. When prefix argument presents (\[universal-argument]) it will try to restore the latest killed buffer if it's a file buffer, otherwise it warns the user and do nothing. For non-prefixed calls, it will invoke `kill-buffer' which usually in turn ask user to save the changes if current buffer was modified. (defalias 'brief-kill-current-buffer #[nil "\203\242 \211A\242\211\205\306\n!\307\211\n\204 \310\311!\202\240 \204-\307\310\312\n\"\202\240r q\210\313 \211A\242b\210 \211A\242\314 \211A\242!\210 \211A\242\211\203]\315\316!\203]\316 !\210 \211A\242\211\203q\317\320!\203q\314\320!\210 \211A\242\211\203\205\317\321!\203\205\314\321!\210 \211A\242\211\203\231\317\322!\203\231\314\322!\210)\307\310\323\n\",\207\307\203\360`F\315\316!\205\274\324 B\317\320!\205\311B\317\321!\205\326B\317\322!\205\343B\211\237\310\325!\210\326p!\210\205\375\211)\207" [current-prefix-arg brief-latest-killed-buffer-info filename buf inhibit-message item find-file nil message "No killed file buffer to restore" "Fail restoring killed buffer %S" t call-interactively fboundp undo-window-pos boundp linum-mode nlinum-mode display-line-numbers-mode "Killed buffer %S restored" brief-current-row-visual "To restore killed buffer, prefix buffer kill command [C-u C--] to restore it." kill-buffer buffer-undo-list latest-killed-buffer-info buffer-file-name major-mode] 5 (#$ . 27337) nil]) #@57 Delete texts without going into kill-ring or clipboard. (defalias 'brief-delete-region #[(start end) " |\207" [start end] 2 (#$ . 28869)]) (defalias 'brief-delete-char #[(count) "\301!\207" [count delete-char] 2]) #@52 Forward one char and ignore "end-of-buffer" error. (defalias 'brief-forward-1-char-noerror #[nil "\3001 \301u0\210\202\f\210`\207" [(error) 1] 1 (#$ . 29091)]) #@33 Start marking rectangle region. (defalias 'brief-rectangle-mode #[nil "\300 \207" [cua-set-rectangle-mark] 1 (#$ . 29259) nil]) #@63 Check if we are currently running a command on a fake cursor. (defalias 'brief-multiple-cursor-in-action #[nil "\301\300!\205\207" [mc--executing-command-for-fake-cursor boundp] 2 (#$ . 29393)]) #@203 Check if we are currently in multiple-cursor mode. This check differs from `brief-multiple-cursor-in-action' since this function returns t no matter if we are currently at a real cursor or fake cursor. (defalias 'brief-multiple-cursor-mode-is-on #[nil "\301\300!\205\207" [multiple-cursors-mode boundp] 2 (#$ . 29598)]) #@78 Use file dialog or minibuffer to open a file according to user's preference. (defalias 'brief-find-file #[nil "\203\306\307\211 \310\311\312\313\"\314\314$!,\207\315\310!\207" [brief-open-file-use-dialog-when-possible brief-open-file-show-hidden-files x-gtk-show-hidden-files use-file-dialog use-dialog-box last-nonmenu-event (t) t find-file read-file-name format "Brief: open file in %S" nil call-interactively default-directory] 6 (#$ . 29927) nil]) #@143 Dispaly file name of current buffer if it has one. When prefixed (\[universal-argument]) it will put current buffer file name into clipboard. (defalias 'brief-current-filename #[nil "\204\302\303!\207 \204\302\304\"\207\305!\210\302\306\"\207" [buffer-file-name current-prefix-arg message "Current buffer does not have a file name" "%S" brief-copy-region-into-clipboard "%S copied into clipboard"] 3 (#$ . 30397) nil]) #@91 Version number of the Brief emulator package. If ARG is non-NIL, insert results at point. (defalias 'brief-version #[(&optional arg) "\303P\n\203\304 !c\202\304 !)\207" [brief-version foo arg "Brief mode version " message] 2 (#$ . 30830) "P"]) #@45 Sets the mark at point if it is not active. (defalias 'brief-set-mark-here-if-not-active #[nil "\300 ?\205 \301`!\207" [brief-use-region set-mark] 2 (#$ . 31086)]) (defalias 'brief-call-list-interactively #[(alist) "\301=?\205\302@!\210\303A!\207" [alist nil call-interactively brief-call-list-interactively] 2]) (defalias 'brief-call-mark-line-up-with-key #[(key) "\301\302\303!CB!\207" [key brief-call-list-interactively brief-mark-line-up key-binding] 4]) (defalias 'brief-call-mark-line-down-with-key #[(key) "\301\302\303!CB!\207" [key brief-call-list-interactively brief-mark-line-down key-binding] 4]) #@12 Double M-L (defalias 'brief-mark-line-down-with-meta-l #[nil "\300\301C!\207" [brief-call-list-interactively brief-mark-line-down] 2 (#$ . 31709) nil]) #@272 Define M-L associated key function and map in `brief-prefix-meta-l'. UPDOWN is either 'up' or 'down' (with no (') quote) indicating the direction of the key. A key function name `brief-call-mark-line-[up|down]-with-' is created and mapped into `brief-prefix-meta-l' (defalias 'brief-meta-l-key '(macro . #[(updown key) "\305!\306\n!\307\310 \311 R!\312\313\f\314\315 \316 \317\260\320\307\321 \322Q!\nD\257\323\324\n\325\fDFE+\207" [updown dir key keydesc keyfunc symbol-name key-description intern "brief-mark-line-" "-with-" progn defun nil "Mark line " " with " " key" (interactive) "brief-call-mark-line-" "-with-key" define-key brief-prefix-meta-l quote] 10 (#$ . 31868)])) #@76 Define the distance (chars) of two bookmarks that brief considered nearby. (custom-declare-variable 'brief-bookmark-nearby 256 '(#$ . 32564) :type 'number) #@72 An internal flag to prevent bookmark jumps switching frame and window. (defvar brief-inhibit-bookmark-try-switch-frame-window nil (#$ . 32726)) #@162 Return frame-list with current frame the first. When running in terminal mode, exclude root frame as it's incorrect for brief mode to access root frame windows. (defalias 'brief-frame-list #[nil "\301\302\300!\205\205\303\304 !@\305 \301\305 \304 \"B\"\207" [server-process remove boundp last frame-list selected-frame] 6 (#$ . 32877)]) #@698 Try to find a window containing BOOKMARK then jump to the frame and window. If found, return 't; if not found, jump to the first frame/window containing the buffer and return symbol 'frame. If no such buffer/ window/frame exists, keep current frame/window and return NIL. This can be used to advice all bookmark jumping functions. For example, add the following into .emacs: (defun bookmark-jump-restoring-frame-window (bookmark &rest args) (brief-bookmark-try-switch-frame-window bookmark)) (advice-add 'bookmark-jump :before 'bookmark-jump-restoring-frame-window) (advice-add 'bookmark-jump-other-window :before 'bookmark-jump-restoring-frame-window) (defalias 'brief-bookmark-try-switch-frame-window #[(bookmark) "?\205X\3061\307 !0\202\210\310\310\311 \310\211\211\211\211\211\211\"#$%&\211'\203n\312\313'!!\204n\314\315 !A\236A\211\203N\n;\203N\n\206i\316 !\211<\205i\n@\211\205i\317\n!\211<\205i\n@&\310''\204x&\203T\3202S\321 \310(\211)\203()@(\322(!\210\323 \310*\211)\203)@*\324*!\211\203'\203\277\325\f!\211\203\277\326 '\"\204\315&\203&\314\f!\230\203$\204\336($*\211#\203\3271\330 !\211\331*!Y\205 \332*\333\"X\205\334(!\210\335(!\210\336*!\210\337\320\333\211\"\"0\210\202\210)A\211)\204\234*)A\211)\204\207*#\203N\3401I\334$!\210\335$!\210\336#!\210\341\211\"0\202R\210\310\202R\322%!0\210\".\n\207" [brief-inhibit-bookmark-try-switch-frame-window bookmark tmp bfname buf bpos (error) bookmark-get-filename nil selected-frame file-exists-p file-truename buffer-name bookmark-get-bookmark bookmark-get-bookmark-record last found brief-frame-list select-frame window-list window-buffer buffer-file-name file-equal-p (error) bookmark-get-position window-start window-end t select-frame-set-input-focus raise-frame select-window throw (error) frame result foundwin foundframe currf bname fname f --dolist-tail-- w] 11 (#$ . 33226)]) #@62 Jump to Brief bookmark #0~#9. ARG is a char within '0'~'9'. (defalias 'brief-bookmark-do-jump #[(bookmark) "\304!\305\301!\203\306\307!\203 \204\307 \210\n\310!\210\3111<\312\313\314 #\210\306\315!\2034\315\316!!\210\317\320\"0\202C\210\317\321\322\"!)\207" [bookmark bookmarks-already-loaded current-prefix-arg brief-inhibit-bookmark-try-switch-frame-window char-to-string boundp fboundp bookmark-maybe-load-default-file brief-bookmark-try-switch-frame-window (error) bookmark-jump switch-to-buffer brief-use-region bmkp-light-bookmark bookmark-get-bookmark message "Jump to bookmark %S" format "Bookmark %S not existed."] 4 (#$ . 35223)]) #@58 Set Brief bookmark #0~#9. ARG is a char within '0'~'9'. (defalias 'brief-bookmark-do-set #[(arg) "\306 \203 \307\310!\207\311!\312!\313 \\\314 \\\315 \\\316\n!\317\211/0\3171\3201\236\321 2\322\216\212\323 3\324\216\325 !\2104\203N \203N\326\n!\206Q\316 !/\3271b\330!\210\325\f!0\202d\210\3170\331/!\205\216\3310!\205\216\332/!\3320!=\205\216\333\334/!\3340!Z!5X?\205\230\335\n\316\f!\"-0\210\202\237\2104\203\333 \203\333\3361\327\335 \"\210\321 6\337\216\212\323 7\340\216\326 \341\"\210\342!\210\343!\210-\344\345\346Q!0\210\202\210\202\342!\210\343!\210\347!1\350\351!\203\363\3511!\210\350\352!\203\376\3521!\210\344\353\354Q!\210\3174\355\356!!. \207" [arg argn reg temp temp2 orig minibufferp error "Can't set bookmark in a minibuffer" char-to-string string-to-number 19759335 1371985 49391462 get-register nil (error) save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] current-window-configuration #[nil "\301!\207" [#2=#:wconfig set-window-configuration] 2] point-to-register jump-to-register (error) bookmark-jump markerp marker-buffer abs marker-position set-register (error) #[nil "\301!\207" [#3=#:saved-marker save-mark-and-excursion--restore] 2] #[nil "\301!\207" [#4=#:wconfig set-window-configuration] 2] t bookmark-delete bookmark-set message "Backup bookmark #" " restored" bookmark-get-bookmark fboundp bmkp-make-bookmark-savable bmkp-light-bookmark "Brief bookmark #" " set" brief-bookmark-do-jump string-to-char mark1 mark2 bmk #1# #2# current-prefix-arg brief-bookmark-nearby #3# #4#] 5 (#$ . 35888)]) #@719 Jump to bookmark 0~9 if `brief-shorter-bookmark-jump-key' is t. Otherwise, set the bookmark at cursor. When performing bookmark set, prefixed with (\[universal-argument]), it tries to restore the previous bookmark if there is one. This is useful when user miss-typed a bookmark-set command somewhere but forgot where it originally was. When the bookmark is successfully restored, again restoring the bookmark will bring it back to its new location (where user might just miss-typed). When performing jump, prefixed with (\[universal-argument]) will prevent it from switching window/frame and will search bookmark only within current window and frame. See `brief-bookmark-try-switch-frame-window' for more detail. (defalias 'brief-bookmark-jump-set #[(bookmark) "\203\302 !\207\303 !\207" [brief-shorter-bookmark-jump-key bookmark brief-bookmark-do-jump brief-bookmark-do-set] 2 (#$ . 37539)]) #@149 Set bookmark 0-9 if `brief-shorter-bookmark-jump-key' is t (default). Otherwise, jump to it. When prefixed it won't switch current frame or buffer. (defalias 'brief-bookmark-set-jump #[(bookmark) "\302U\204\f\303U\203\304 \207 \203\305!\207\306!\207" [bookmark brief-shorter-bookmark-jump-key 13 27 keyboard-quit brief-bookmark-do-set brief-bookmark-do-jump] 2 (#$ . 38447) (list (read-char-choice (concat (if brief-shorter-bookmark-jump-key (if current-prefix-arg "Try restoring" "Set") "Jump to") " bookmark 0-9 ") '(48 49 50 51 52 53 54 55 56 57 13 27)))]) #@24 Jump/set bookmark '0'. (defalias 'brief-bookmark-jump-set-0 #[nil "\300\301!\207" [brief-bookmark-jump-set 48] 2 (#$ . 39022) nil]) #@24 Jump/set bookmark '1'. (defalias 'brief-bookmark-jump-set-1 #[nil "\300\301!\207" [brief-bookmark-jump-set 49] 2 (#$ . 39160) nil]) #@24 Jump/set bookmark '2'. (defalias 'brief-bookmark-jump-set-2 #[nil "\300\301!\207" [brief-bookmark-jump-set 50] 2 (#$ . 39298) nil]) #@24 Jump/set bookmark '3'. (defalias 'brief-bookmark-jump-set-3 #[nil "\300\301!\207" [brief-bookmark-jump-set 51] 2 (#$ . 39436) nil]) #@24 Jump/set bookmark '4'. (defalias 'brief-bookmark-jump-set-4 #[nil "\300\301!\207" [brief-bookmark-jump-set 52] 2 (#$ . 39574) nil]) #@24 Jump/set bookmark '5'. (defalias 'brief-bookmark-jump-set-5 #[nil "\300\301!\207" [brief-bookmark-jump-set 53] 2 (#$ . 39712) nil]) #@24 Jump/set bookmark '6'. (defalias 'brief-bookmark-jump-set-6 #[nil "\300\301!\207" [brief-bookmark-jump-set 54] 2 (#$ . 39850) nil]) #@24 Jump/set bookmark '7'. (defalias 'brief-bookmark-jump-set-7 #[nil "\300\301!\207" [brief-bookmark-jump-set 55] 2 (#$ . 39988) nil]) #@24 Jump/set bookmark '8'. (defalias 'brief-bookmark-jump-set-8 #[nil "\300\301!\207" [brief-bookmark-jump-set 56] 2 (#$ . 40126) nil]) #@24 Jump/set bookmark '9'. (defalias 'brief-bookmark-jump-set-9 #[nil "\300\301!\207" [brief-bookmark-jump-set 57] 2 (#$ . 40264) nil]) #@69 Dedicated frame and window of the user assigned compilation buffer. (defvar brief-compilation-frame-win nil (#$ . 40402)) #@731 Try to find the compilation frame and window. If not found, return NIL. If found, return non-NIL and jump to the first frame/window containing '*compilation*' buffer, or any buffer in `compilation-mode', also set them as the dedicated frame/window for the next run. When prefixed with \[universal-argument], it search only in current frame for a window containing a compilation buffer. If it found one, it will assign that window and frame as the dedicated ones so that the next run it always try to pop the assigned frame and window containing the compilation buffer. When the prefix is a number, the search is restricted only for '*compilation*' buffer. Other compilation buffers like lisp compilation won't be counted in. (defalias 'brief-view-compilation-output #[nil "\203M\306\232\203M\3072B\310 \311\310 \312 \"B\313\211\203?\n@r\314 !q\210 )\315=\2038\316 B\317\307\320\"\210\nA\211\204*\3130\203I\321\322!\207\321\323!\207 \315=\203W\324\325!\207\326\327!\316 \313\211\247\313\211\211./0123\f\203\304\f@\211\203\304\fA\211\203\304\330 !\203\304\331 !\203\304\332 !\203\304\333 !\203\304r\314 !q\210 )\315=\203\304/\203\273/\203\304\314 !3=\203\304 1 0\202K\313\3072J\334 \313\211\203D\n@\335 !\2102 =\203\355\310 \311\310 \312 \"B\206\357\312 \313\211\203<\n@\314 !.3\203 .3=\204/\2045r.q\210 )\315=\20351\204' 1 0.3=\2035\317\3070\"\210\nA\211\204\366*\nA\211\204\323*\3352!0\2100\203u10B\3361!\210\3371!\210\3400!\210\341\342!\203\330\343\"\344\345#\210\202\330/\204\254\3072\253\346 \3134\211\205\251\n@4r4q\210 )\315=\203\241\317\3074\2113\"\210\nA\211\204\210\313*0\2103\204\304\321\347/\203\274\327\202\275\350\351Q!\210\202\330\312 G\352U\203\317\353 \210\354\352!\210\3553!\2100\206\3373.\207" [current-prefix-arg w --dolist-tail-- major-mode brief-compilation-frame-win f (4) found selected-window remove window-list nil window-buffer compilation-mode selected-frame throw t message "Dedicated compilation buffer frame/window set." "No compilation window found in this frame." call-interactively compilation-previous-error get-buffer "*compilation*" framep frame-live-p windowp window-live-p brief-frame-list select-frame select-frame-set-input-focus raise-frame select-window boundp compilation-mode-map define-key [(control n)] compilation-next-error buffer-list "No " "compilation" " buffer found." 1 split-window-vertically other-window switch-to-buffer wb strict foundwin foundframe currf buf b] 9 (#$ . 40531) nil]) #@54 Switch to the specified window in the current frame. (defalias 'brief-switch-to-window #[(window) "\205@\305 \306\30725\310 \311\211\2053\f@\n=\203$\312\307\311\"\210 T\305\n!\fA\211\204\311*0\210\n=\205?\313 !*\207" [window count curr l --dolist-tail-- next-window 1 break window-list nil throw other-window] 4 (#$ . 43100) nil]) (defalias 'brief-is-crlf #[(c) "\301U\206 \302U\207" [c 10 13] 2]) #@151 Compute scaled text width according to current font scaling. Convert a width of char units into a text-scaled char width units, Ex. `window-hscroll'. (defalias 'brief-text-scaled-width #[(width) "\302\303!\203\304 _\303 \245\207\305\306\301!\203 AA@\206\307\245!\207" [width text-scale-mode-remapping fboundp default-font-width frame-char-width round boundp 1] 4 (#$ . 43526)]) #@127 Reverse operation of `brief-text-scaled-width'. Convert a width of text-scaled char unit back to units of `frame-char-width'. (defalias 'brief-text-unscaled-width #[(width) "\302\303!\203\303 _\304 \245\207\305\306\301!\203 AA@\206\307_!\207" [width text-scale-mode-remapping fboundp default-font-width frame-char-width round boundp 1] 4 (#$ . 43919)]) #@25 Text scaled char width. (defalias 'brief-text-scaled-char-width #[nil "\301\302!\203 \302 \207\303\304 \305\300!\203AA@\206\306_!\207" [text-scale-mode-remapping fboundp default-font-width round frame-char-width boundp 1] 4 (#$ . 44286)]) #@26 Text scaled char height. (defalias 'brief-text-scaled-char-height #[nil "\301\302!\203 \302 \207\303\304 \305\300!\203AA@\206\306_!\207" [text-scale-mode-remapping fboundp default-font-height round frame-char-height boundp 1] 4 (#$ . 44537)]) #@46 Non-text-scaled version of `current-column'. (defalias 'brief-text-unscaled-current-column #[nil "\300i!\207" [brief-text-unscaled-width] 2 (#$ . 44792)]) #@166 Compute the relative column number of cursor for current window. Supports all 3 modes: line truncation, line wrapping and visual line mode, as well as hidden texts. (defalias 'brief-current-column-visual #[nil "\212`gi\306 \210i\307\310 !\n Z\fZ\311 !\2049\312 \204& \202M \313 \210iU\2043 \202M \\\202M\314\210`U\203F \202M\315i Z\fZ\\.\207" [p c currcol begcol hscroll x beginning-of-visual-line brief-text-scaled-width window-hscroll brief-is-crlf minibufferp beginning-of-line nil 3] 3 (#$ . 44954)]) #@65 Move to column ARG by considering the presence of hidden texts. (defalias 'brief-move-to-column #[(arg) "\302!Z\303U\205\304g!\205`\305 \210\304g!?\205 b)\207" [arg p1 move-to-column 3 brief-is-crlf end-of-visual-line] 3 (#$ . 45483)]) #@200 Return number of lines between START and END. START point is included while END point is excluded. Thus when START=END it always return 0. This function returns the number of newlines between them. (defalias 'brief-count-physical-lines #[(start end) "\212\214\305 \n}\210eb\210 \306=\203:\307 \310\216\311\312\313\306\314$\203&\314\\\202\311\312\313\306\315$\2035T\202&*\202Q\316 \316 yZ \nU\204Pn\204PS\202Q+\207" [done start end selective-display save-match-data-internal 0 t match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] re-search-forward "[\n ]" nil 64 1 buffer-size] 5 (#$ . 45735)]) #@40 Fast line counting block size (flcbs). (defconst brief-flcbs 32768 (#$ . 46395)) #@80 A list (cache) to store number of lines within each `brief-flcbs' chars block. (defvar brief-fast-line-number-list nil (#$ . 46482)) (make-variable-buffer-local 'brief-fast-line-number-list) #@125 Much faster version for replacing `line-number-at-pos'. This function will also update cache `brief-fast-line-number-list'. (defalias 'brief-fast-line-number-at-pos #[(&optional pos) "\206`\n\306\307\310\n\307 \f\211 X\2037 \2037\f @\\ A \n \f\\\211 \202 X\211\203C\n\237 X\203j\311\n \" \f \\ \n \f\\  \nB\202C \203q\n\237\n W\203\203\fT\311\n \"\\\202\205\fT.\207" [pos p brief-fast-line-number-list l lines rev 0 nil 1 brief-count-physical-lines c i brief-flcbs n] 5 (#$ . 46680)]) #@359 Trim off cached line number counting list. Any text change invalidates the list from the point of editing. This save us the time to change line numbers for all the cached blocks after the editing point. This function is meant to be placed in `before-change-functions' so we try to finish it as soon as possible in order not to cause any delay when editing. (defalias 'brief-trim-fast-line-number-list #[(beg end) "\306! \n^ \245\211\fV\203\307 \fZ\"*\310\207" [brief-fast-line-number-list beg end brief-flcbs q len safe-length nbutlast t] 5 (#$ . 47223)]) #@92 Return number of lines between START and END. This is the number of newlines between them. (defalias 'brief-fast-count-physical-lines #[(start end) " ^ ]\n\f\\S\f\245 \f\245\211 Z\306\307  Y\203-\310\n \"\202\201\311! W\203D\312 !\312\nS\306]!Z\202\201\310\n \f_S\306]\"\310 \f_ \"\\\313\311! Z\"\314V\203S@\\A\202c.\207" [start end s e brief-flcbs sq 1 nil brief-count-physical-lines safe-length brief-fast-line-number-at-pos last 0 eq c lines l brief-fast-line-number-list] 5 (#$ . 47793)]) #@138 Compute the relative row number of cursor for current window. Supports all 3 modes: line truncation, line wrapping and visual line mode. (defalias 'brief-current-row-visual #[nil "\212`i\304\305\306 b\210`W\203\307`\"\304V\204+\307`\"\304U\2035i W\2035\310\311!\210\nT\202 `V\203D\307`\"\304V\204S\307`\"\304U\203Xi V\203X\nS\202Y\n-\207" [point0 column0 count disable-local-cursor-tracking 0 (t) window-start brief-fast-count-physical-lines vertical-motion 1] 3 (#$ . 48345)]) #@546 Get the Emacs on XWindow server internal error value of window position. This error happened when running Cygwin/X, VcXsrv in combination with some Emacs versions along with some font settings. Not sure what combination could cause this but anyway it happens so do this calculation here. Sometimes the (left,top) position reported by `window-inside-edges' is not the same as the window found by `window-at' (left,top), especially if customized fontsize is used. This function tries to find out the internal delta value of the current window. (defalias 'brief-window-pos-delta #[nil "\306 \307 \211@ A@\310\211\311\f\n\\ \\\"=\204\206\fT\211\203\206\311\f\n\\ \\\"=\204\206 T\211\203\206\311\f\n\\ \\\"=\204\206\fT\211\203\206\311\f\n\\ \\\"=\204\206 T\211\203\206\311\f\n\\ \\\"=\204\206\fT\211\203\206\311\f\n\\ \\\"=\204\206\312\313!\210\f .D\207" [curr wie left top xdelta ydelta selected-window window-inside-edges 0 window-at error "Either this window system or this code has a big problem"] 6 (#$ . 48852)]) #@80 Get the relative column number of cursor position comparing to `window-start'. (defalias 'brief-window-cursor-xpos #[nil "\300 @\301 \\\302 @\\\207" [window-inside-edges brief-current-column-visual brief-window-pos-delta] 2 (#$ . 49910)]) #@76 Get the relative X pixel coordinate of cursor comparing to `window-start'. (defalias 'brief-window-cursor-xpos-pixel #[nil "\300 @\301 \302 @\\\303 _\\\207" [window-inside-pixel-edges brief-current-column-visual brief-window-pos-delta brief-text-scaled-char-width] 3 (#$ . 50155)]) #@78 Get the relative line number of cursor position comparing to `window-start'. (defalias 'brief-window-cursor-ypos #[nil "\300 A@\301 \\\302 A@\\\207" [window-inside-edges brief-current-row-visual brief-window-pos-delta] 2 (#$ . 50443)]) #@76 Get the relative Y pixel coordinate of cursor comparing to `window-start'. (defalias 'brief-window-cursor-ypos-pixel #[nil "\300 A@\301 \302 A@\\\303 _\\\207" [window-inside-pixel-edges brief-current-row-visual brief-window-pos-delta brief-text-scaled-char-height] 3 (#$ . 50685)]) #@123 Get window located above current window. If more than one window there, choose the window located right above the cursor. (defalias 'brief-upside-window #[nil "\305 \306\307\310 _\311 \245!A@\312 \211\211\2032\n\313Y\2032\f =\2032\nS\314 \n\"\211\204\f-\207" [edges x0 y0 curr win window-edges round 1.0 brief-window-cursor-xpos-pixel frame-char-width selected-window 0 window-at] 4 (#$ . 50974)]) #@123 Get window located below current window. If more than one window there, choose the window located right below the cursor. (defalias 'brief-downside-window #[nil "\305 \306\307\310 _\311 \245!AAA@\312 \211\f\203-\f =\203-\313 \n\"\nT\202\f\314 =\203F\315 \316V\205G\317\314 !\205G\f\202G\f-\207" [edges x0 y1 curr win window-edges round 1.0 brief-window-cursor-xpos-pixel frame-char-width selected-window window-at minibuffer-window minibuffer-depth 0 minibuffer-window-active-p] 4 (#$ . 51392)]) #@128 Get window located left side of current window. If more than one window there, choose the window pointed leftward from cursor. (defalias 'brief-leftside-window #[nil "\305 \211@\306\307\310 _\311 \245!\312 \211\f\2030 \313Y\2030\f =\2030\314 \n\" S\202\f-\207" [edges x0 yy curr win window-edges round 1.0 brief-window-cursor-ypos-pixel frame-char-height selected-window 0 window-at] 4 (#$ . 51911)]) #@130 Get window located right side of current window. If more than one window there, choose the window pointed rightward from cursor. (defalias 'brief-rightside-window #[nil "\305 \211AA@\306\307\310 _\311 \245!\312 \211\f\203,\f =\203,\313 \n\" T\202\f-\207" [edges x1 yy curr win window-edges round 1.0 brief-window-cursor-ypos-pixel frame-char-height selected-window window-at] 4 (#$ . 52331)]) #@65 Switch current window to the one above current cursor position. (defalias 'brief-switch-window-up #[nil "\300\301 !\207" [brief-switch-to-window brief-upside-window] 2 (#$ . 52741) nil]) #@65 Switch current window to the one below current cursor position. (defalias 'brief-switch-window-down #[nil "\300\301 !\207" [brief-switch-to-window brief-downside-window] 2 (#$ . 52934) nil]) #@67 Switch current window to the one left to current cursor position. (defalias 'brief-switch-window-left #[nil "\300\301 !\207" [brief-switch-to-window brief-leftside-window] 2 (#$ . 53131) nil]) #@68 Switch current window to the one right to current cursor position. (defalias 'brief-switch-window-right #[nil "\300\301 !\207" [brief-switch-to-window brief-rightside-window] 2 (#$ . 53330) nil]) #@69 Split window vertically to be the upper neighbor of current window. (defalias 'brief-split-window-up #[nil "\300 \210\301\302!\207" [split-window-vertically other-window 1] 2 (#$ . 53532) nil]) #@70 Split window horizontally to be the left neighbor of current window. (defalias 'brief-split-window-left #[nil "\300 \210\301\302!\207" [split-window-horizontally other-window 1] 2 (#$ . 53732) nil]) (defalias 'brief-delete-window-up #[nil "\300\301 !\207" [delete-window brief-upside-window] 2 nil nil]) (defalias 'brief-delete-window-down #[nil "\300\301 !\207" [delete-window brief-downside-window] 2 nil nil]) (defalias 'brief-delete-window-left #[nil "\300\301 !\207" [delete-window brief-leftside-window] 2 nil nil]) (defalias 'brief-delete-window-right #[nil "\300\301 !\207" [delete-window brief-rightside-window] 2 nil nil]) (defalias 'brief-delete-current-window #[nil "\300 \210\301\302!\207" [delete-window other-window -1] 2 nil nil]) #@54 Move forward a physical line instead of visual line. (defalias 'brief-forward-physical-line #[(arg) "\303  y\210\304\n:\203\305\n@\nA\\!\206\n]!)\207" [col arg temporary-goal-column brief-current-column-visual brief-move-to-column truncate] 5 (#$ . 54485)]) #@48 Move cursor vertically up (a) physical line(s) (defalias 'brief-previous-physical-line #[(arg) "\302\303 [!\207" [this-command arg previous-line brief-forward-physical-line] 2 (#$ . 54755) "^p"]) #@50 Move cursor vertically down (a) physical line(s) (defalias 'brief-next-physical-line #[(arg) "\302\303 !\207" [this-command arg next-line brief-forward-physical-line] 2 (#$ . 54958) "^p"]) #@252 Move cursor vertically up (a) visual line(s). When prefixed with a number, it move up several visual lines. Negative prefix number move up several physical lines instead. If the prefix is simply a \[universal-argument], it move up one physical line. (defalias 'brief-previous-line #[(arg) "\304 \203\n\305\306!\207\n\307\232\203\310\311!\207 \312W\203\313 !\207\305\304!\207" [this-command cua--rectangle current-prefix-arg arg previous-line call-interactively cua-resize-rectangle-up (4) brief-previous-physical-line 1 0 brief-forward-physical-line] 2 (#$ . 55155) "^p"]) #@259 Move cursor vertically down (a) visual line(s). When prefixed with a number, it move down several visual lines. Negative prefix number move down several physical lines instead. If the prefix is simply a \[universal-argument], it move down one physical line. (defalias 'brief-next-line #[(arg) "\304 \203\n\305\306!\207\n\307\232\203\310\311!\207 \312W\203\313 [!\207\305\304!\207" [this-command cua--rectangle current-prefix-arg arg next-line call-interactively cua-resize-rectangle-down (4) brief-next-physical-line 1 0 brief-forward-physical-line] 2 (#$ . 55742) "^p"]) (defvar brief-is-gui-set-selection-postponed nil nil) (make-variable-buffer-local 'brief-is-gui-set-selection-postponed) #@49 The per-buffer postponed `gui-selection' timer. (defvar brief-postpone-gui-selection-idle-timer nil (#$ . 56447)) (make-variable-buffer-local 'brief-postpone-gui-selection-idle-timer) #@207 This variable records in which buffer do we starts the idle timer. User might switch to another buffer before idle timer starts. Therefore when idle timer starts it shouldn't do anything if buffer changes (defvar brief-postpone-idle-timer-buffer nil (#$ . 56638)) (make-variable-buffer-local 'brief-postpone-idle-timer-buffer) (defvar brief-postpone-gui-selection-idle-period 0.4) (defalias 'brief-cancel-postpone-gui-selection-timer #[nil "\204 \302\303\304\"\210 \203\305 !\210\306\211\207" [window-system brief-postpone-gui-selection-idle-timer remove-hook post-command-hook brief-terminal-mode-activate-gui-selection-idle-timer cancel-timer nil] 3]) #@77 Region/rectangle data to be copied to clipboard when all keys are released. (defvar brief-copy-to-clipboard-on-keyup-data nil (#$ . 57304)) (make-variable-buffer-local 'brief-copy-to-clipboard-on-keyup-data) #@147 A flag to prevent timer killed by deactivating mark. This flag is used by `brief-copy-to-clipboard-on-keyup' and `brief-resume-gui-set-selection' (defvar brief-keep-postpone-gui-selection-timer nil (#$ . 57519)) (make-variable-buffer-local 'brief-keep-postpone-gui-selection-timer) #@158 Keyboard idle period for postponing copying data into clipboard. This emulates the 'key up' event. We copy things into clipboard only when keyboard is idle. (defvar brief-postpone-copy-to-clipboard-idle-period 0.25 (#$ . 57808)) #@260 Brief internal info to identify if the previous clipboard copy was done. If we try to do `brief-copy-line' (\[brief-copy-line]) right after this we don't need to copy the whole clipboard again otherwise when clipboard data is huge it's just a waste of time. (defvar brief-postponed-mark-selection-copy-completed nil (#$ . 58044)) #@118 Postpone `brief-copy-region-into-clipboard' till key-up. The 'key-up' is actually emulated by running an idle timer. (defalias 'brief-copy-to-clipboard-on-keyup #[(&optional thetext) "\204\306 \206\n@\206\307\310\"\210\2027 \203#\311 \312 D \232\2045 \206-\n@\206-\307\313\314!\210\315\315\207" [brief-enable-postpone-selection thetext kill-ring brief-postponed-mark-selection-copy-completed brief-copy-to-clipboard-on-keyup-data brief-keep-postpone-gui-selection-timer brief-copy-region-into-clipboard "" quitable region-beginning region-end t brief-activate-postpone-gui-selection-timer nil brief-postpone-copy-to-clipboard-idle-period] 3 (#$ . 58382)]) (defvar brief-postponed-running nil) (defvar brief-is-external-interruptible nil) (defvar brief-postponed-clipboard-ran nil nil) (make-variable-buffer-local 'brief-postponed-clipboard-ran) (defvar brief-external-set-selection-interrupted nil nil) (make-variable-buffer-local 'brief-external-set-selection-interrupted) #@52 The timer postponed gui-set-selection is run here. (defalias 'brief-run-postponed-gui-set-selection #[nil "\306 \210\307\211\310 \311=\206\312\313 !\314=\206\312\313 !\315=?\205!\n \311=\206:\312\313 !\314=\206:\312\313 !\315=\206: \307\211*+,-.\204\315\316 \204\232\317 \203]\320 \321 =\204)\322 \203x\323\324!\203m\204)\323\325!\203x\204)p/=\203)\3260\327\"\203\214\322 \204)\330\331\322 \205\224\332P!\210\202)1\204\245\3101\333 \210\334\320 \321 234\335\307!\2105\204\276\336\307\334\"\2105\204\31132D+\202)\3371\3401\377+\203\3426\203\342\3077*\203\3576\203\357\3078\336.\341\"\210\307\211.00\210\202)09\307.\342\343\307\")\210\202)9\307.\3449A;\203!9A\206&\345\3469\"!)\210.:\204:-\203:\347\350\351\"\210\307\207" [brief-postponed-mark-selection-copy-completed system-type brief-select-enable-primary brief-select-enable-clipboard kill-ring-yank-pointer kill-ring brief-cancel-postpone-gui-selection-timer nil t windows-nt framep selected-frame w32 w64 brief-use-region region-active-p region-beginning region-end minibufferp boundp rectangle--string-preview-state rectangle--string-preview-window version< "24.0" message "Brief: expecting marked region" " (currently in minibuffer)" brief-backup-clipboard-selection interruptible cua-copy-region brief-copy-region-into-clipboard (error) (quit) quitable signal quit error format "Error:%S" add-hook post-command-hook brief-terminal-mode-activate-gui-selection-idle-timer select-enable-clipboard select-enable-primary brief-postponed-running brief-is-gui-set-selection-postponed brief-copy-to-clipboard-on-keyup-data brief-postpone-idle-timer-buffer emacs-version brief-postponed-clipboard-ran regend regbeg brief-is-external-interruptible brief-external-set-selection-interrupted brief-force-set-external-selection gui--last-selected-text-primary gui--last-selected-text-clipboard err window-system] 7 (#$ . 59379)]) (defalias 'brief-activate-postpone-gui-selection-timer #[(&optional idle-period) "\206 \n\203\305\n!\210\306\307\310 _\306\311#p\306\211\207" [idle-period brief-postpone-gui-selection-idle-period brief-postpone-gui-selection-idle-timer brief-postpone-idle-timer-buffer brief-postponed-mark-selection-copy-completed cancel-timer nil run-with-idle-timer brief-slowdown-factor brief-run-postponed-gui-set-selection] 4]) (defalias 'brief-terminal-mode-activate-gui-selection-idle-timer #[nil "\204 \203\302 \210\303\304\305\"\210\306\207" [window-system brief-is-gui-set-selection-postponed brief-activate-postpone-gui-selection-timer remove-hook post-command-hook brief-terminal-mode-activate-gui-selection-idle-timer t] 3]) (defalias 'brief-enable-clipboard-postponement #[nil "\300\301\302\303#\210\300\304\305\"\207" [add-hook activate-mark-hook brief-postpone-gui-set-selection t deactivate-mark-hook brief-resume-gui-set-selection] 4]) (defalias 'brief-disable-clipboard-postponement #[nil "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\207" [remove-hook activate-mark-hook brief-postpone-gui-set-selection deactivate-mark-hook brief-resume-gui-set-selection post-command-hook brief-terminal-mode-activate-gui-selection-idle-timer] 3]) (defalias 'brief-xclipboard-get-type-arg #[(type) "\206\302\302=\203\303 8\206+\304=\203\305 8\206+\306=\203(\307 8\206+\310\311!\207" [type brief-xclipboard-args PRIMARY 3 CLIPBOARD 4 SECONDARY 5 error "Invalid TYPE"] 2]) #@67 Brief internal variable to store previously received bytes count. (defvar brief--prev-external-bytes-received 0 (#$ . 62834)) #@56 Brief internal variable to store received bytes count. (defvar brief--external-bytes-received 0 (#$ . 62966)) #@80 Brief internal flag to indicate we're currently backing up external clipboard. (defvar brief--backing-up-clipboard nil (#$ . 63082)) #@75 Brief internal function to filter external clipboard helper program data. (defalias 'brief--external-clipboard-filter #[(proc string) "\305\306!!\205=r\306!q\210\307!b\210 c\210\n\310 !\\ \2036\n\fZ\311\312\313 \314Z!\245V\2036\315\316\n\"\210\n\307!`\317\223)\207" [proc string brief--external-bytes-received brief-show-external-clipboard-recv-progress brief--prev-external-bytes-received buffer-live-p process-buffer process-mark string-bytes 8388608 exp brief-slowdown-factor 1.0 message "* Receiving data from Xselection : %d bytes ..." nil] 5 (#$ . 63221)]) #@115 A brief internal variable for Emacs <= v24 to detect process done. This is used in `brief-external-get-selection' (defvar brief-external-process-status-changed 0 (#$ . 63800)) #@226 Brief internal function, discard process status message string. Also indicate the status change of the external helper process. For Emacs <= v24 this is required before getting all the output of the external helper process. (defalias 'brief--external-clipboard-sentinel #[(_proc _event) "T\301\207" [brief-external-process-status-changed t] 1 (#$ . 63983)]) #@163 Prepare coding system before running external clipboard program. The return value will be applied to `default-process-coding-system' before creating new process. (defalias 'brief-external-clipboard-process-coding-system #[nil "\302=\203\n \202 \211B\207" [brief-external-clipboard-coding-system buffer-file-coding-system buffer] 3 (#$ . 64351)]) #@601 Helper function for `brief-gui-get-selection' using an external program. TYPE is clipboard type, can be either 'PRIMARY, 'CLIPBOARD or 'SECONDARY. MODE is either 'interrupt (default) or 'timeout. With 'interrupt MODE user is able to break this function by the 'quit signal (\[keyboard-quit]). This function does not support native Win32/Win64; but it does support Cygwin. For Cygwin if the customized option `brief-cygwin-use-clipboard-dev' is set to non-NIL (default value 't'), it will use Cygwin's '/dev/clipboard' virtual device instead and which is much faster then forking a helper program. (defalias 'brief-external-get-selection #[(&optional type mode) "p\306\307  \203]\f\203]\310\311\312\"r q\210\313\216\314 @\315\216\316\317!\210eb\210\320A!\306B\211C\321U\204TC\322U\203A\323\202B\324B\325\326\306\312#\203T\327B!\210\202D*\330 \211-\202nD\204g\331 \203s\332\333!\206n\334\334\230\203|\335E\336\"\202N\310\311\312\"FrFq\210\337\216pG\340\341!\211H\206\230\342\343!IJ\344\345!\204\350\346\347DpDK@F\322K8\205\272\322K8C\244\350E!C\244\351K8\205\314\351K8\244\"L\352L\353\"\210\354L\355\"\210\356L\306\"\210L)\202!\345\357\360\361G\362DK@D\322K8\205\322K8C\244\350E!C\244\351K8\205\351K8\244\363\364\365\312\366\353\367\355\370I&LM\206+\371\n!M\312N\372O\373 PQ\206=\374\211R\375\267\202TS\376 _\202[T\322\245\202[\377\201gQ\")U\306VHI=\204trIq\210\201h \210)\372\211WX\372Y\201i2\351\201jU\306\201k#\211Z[B[\201l\216\201m1\253\201n1~\201o2x\201pL!\203)\201qL\201r\376 _\"\210OTO\201sO\201t\"\372U\203\253\\\203]\203\373 PZ^\376 _V\203_\203\201u\201v!\210\201w\201r\376 _!\210\201xL!\210\201y\201o\201z\"\210`\203\253\201w\201r\376 _!\210\202\253\344\345!\204]Y\372U\203]\\\203K]\203K\373 PZ^V\204]\201qL!\210\201w\201r!\210\202/`\205wX\372V\205w\201u\201{X\373 PZ#000\210\202\3460a\201pL!\203\221\201xL!\210`\203\236\201u\201|!\210\201}\201~\306\")\210\202\346a\201pL!\203\275\201xL!\210`\203\314\201u\201a\"\210\377aA;\203\332aA\206\343\201\200\201\201a\"!)\210+\3120\211b\201i=\203\312V\201xL!\210\306\202b)\203 \330 \202V\203\201u\201\202L\"\210\201pL!\2036\201u\201\203L\"\210\201xL!\210IH=\204L\306\211cd\201\204I!\210*.E\201\205\267\202c e\202m f\202m\201u\201\206E\"\210 +\207" [coding-system result currbuf brief-is-cygwin brief-cygwin-use-clipboard-dev #1=#:temp-buffer nil brief-external-clipboard-process-coding-system generate-new-buffer " *temp*" t #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] insert-file-contents "/dev/clipboard" coding-system-eol-type 1 2 " " "\n" search-forward " \n" replace-match buffer-string brief-xclipboard-cmd-search getenv "DISPLAY" "" gui-backend-get-selection STRING #[nil "\301!\205 \302!\207" [#2=#:temp-buffer buffer-name kill-buffer] 2] get-buffer "*Messages*" get-buffer-create "*brief-external-clipboard-stderr*" fboundp make-process apply start-process brief-xclipboard-get-type-arg 6 set-process-filter brief--external-clipboard-filter set-process-sentinel brief--external-clipboard-sentinel set-process-query-on-exit-flag :name "brief-xclip" :buffer :command :connection-type pipe :noquery :filter :sentinel :stderr minibufferp 0 brief-current-time interrupt #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 325 timeout 325 interrupt 333)) brief-slowdown-factor error save-match-data-internal buffer-file-coding-system eol encoding brief-xclipboard-cmd type #2# buf msgbuf stderr default-process-coding-system brief-xclipboard-args proc inhibit-message garbage-collection-messages count start-wait-time mode #3=#:temp brief-external-xclipboard-timeout most-positive-fixnum clipboard-timeout timeout brief--prev-external-bytes-received brief--external-bytes-received brief-external-process-status-changed -with-timeout-timer- with-timeout-timers brief-giveup-clipboard-backup-if-huge brief--backing-up-clipboard brief-giveup-clipboard-backup-timeout brief-giveup-clipboard-backup-message brief-show-external-clipboard-recv-progress err -with-timeout-value- kill-buffer-hook kill-buffer-query-functions gui--last-selected-text-primary gui--last-selected-text-clipboard "Brief: unknown mode %S for brief-external-get-selection" erase-buffer #4=#:timeout run-with-timer #[nil "\300\301\211\"\207" [throw #4#] 3] #[nil "\301!\207" [-with-timeout-timer- cancel-timer] 2] (error) (quit) break process-live-p accept-process-output 0.01 logand 15 message "* Xselection data too big, giving up backup" sit-for delete-process throw giveup "Total %d bytes received from Xselection in %.3f seconds" "* Quit receiving data from Xselection" signal quit "* Error %S occurs when receiving Xselection" format "Error:%S" "Error: timeout running process %S" "Warning: Process %S is still alive, killed it." kill-buffer #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 855 PRIMARY 855 CLIPBOARD 861)) "Unsupported TYPE '%S' for `brief-external-get-selection'"] 18 (#$ . 64708)]) #@154 Maximum block size when sending string to external Xselection. The block size is counted in 'characters' with the current buffer encoding, not in bytes. (defconst brief-external-send-blocksize 65536 (#$ . 69990)) #@478 Internal variable to store the lingering external helper process. This sometimes happens maybe due to some temporarily system burst load that make the external process postponed a bit. Usually it will complete later so we won't kill it in the end of `brief-external-set-selection'. Usually before the next `brief-external-set-selection' run the process will complete its job in the background. In case it didn't we then kill it as our new operation is going to overwrite it. (defvar brief-external-set-selection-prev-proc nil (#$ . 70210)) #@102 Kill lingering Xselection set process. See `brief-external-set-selection-prev-proc' for more detail. (defalias 'brief-kill-lingering-external-set-helper #[(&optional msg) "\203\302!\203 \204\303\304\"\210\305!\210\306\307\207" [brief-external-set-selection-prev-proc msg process-live-p message "Warning: lingering process %S is still alive, killed it." delete-process nil t] 3 (#$ . 70759)]) #@1243 Helper function for `brief-gui-set-selection' using an external helper program. This function is non-blocking if external helper program is available, unlike the default Emacs behavior that is usually blocking and not interruptible. If data is huge this blocking behavior could take very long and the whole system respond time would be reduced a lot. For Cygwin launching an external program is expensive so we use the cygwin specific "/dev/clipboard" if user set the custom variable `brief-cygwin-use-clipboard-dev' to be non-NIL. When external helper program is launched, this non-blocking function can be interrupted in two ways: When marking a region, it's in "interruptible" mode; any keystroke will interrupt current in-progress clipboard copying. When performing a `brief-copy-line' (\[brief-copy-line]) it's in "quittable" mode where we can only use `keyboard-quit' (\[keyboard-quit]) command to interrupt it. This function has an internal mode: `brief-is-external-interruptible' which defines how this function can be interrupted. If this variable is not set this function is by default blocking and it will return only when data are completely sent to the helper program. This function does not support native Win32/Win64. (defalias 'brief-external-set-selection #[(type data) "\203\203 \203\203\n\306=\204\n\307=\205\247\310\303!\203' \f=\206# \f\230?\202(\311\205\247\312 !\313@\211A\314U?\205\201A\315U\203E\316\202F\317@\320\321\311\"BrBq\210\322\216\fc\210eb\210\323@\313\311#\203x`S\206j`Sf\324U\204[\325\326!\210\202[\327\330 \313\331\313\332%+*\207C\204\215\333 \203\231\334\335!\206\224\336\336\230\203\236\337\n\f\"\207\310\303!\203\275\n\306=\204\260\n\307=\205\247 \f=\206\271 \f\230?\202\276\311\205\247\n\340\267\202\322\f\202\326\fD\202\326\341\342!\210\343E!\210\313F\344 G\345\346C\313CEHA@\205\366HA@C\244\315H8\205\315H8C\244\347\n!C\244\"IJ\206\350 J\351K\fGL\352\f!M\351\211NO\336P\353Q\354 \245!\211RS\355 T\356I\313\"\210\3571Z\3601)U\361\267\202]\362\311!?\202^\362\311!\210\202a\311\203\322NLW\203\322\363I!\203\322\364\fNSL^#PO\352P!\\O\365IP\"\210\366K\367\"\351U\203\255\370\371\313\"\210E\203\255\363I!\203\255\341\372O\"\210U\203\277\366K\367\"\351U\203\277\373 \210KTKSNSR\\S\202H\363I!\203E\203\377N\351V\203\377NLY\203\373\341\374M\355 TZ#\210\202\377\341\375!\210\376I!\210SLY\203\313V\f\202#\363I!\203\377I!\210\311\211V00\210\202\2310W\376I!\210\363I!\203=\377I!\210E\203H\341\201Y!\210\201ZV\201[\201Z\313\")\210\202\231W\376I!\210\363I!\203m\377I!\210E\203z\341\201\\W\"\210\201]\211VWA;\203\215WA\206\226\201^\201_W\"!)\210\363I!\205\245I\211X. \207" [brief-is-cygwin brief-cygwin-use-clipboard-dev type gui--last-selected-text-primary data buffer-file-coding-system PRIMARY CLIPBOARD boundp t coding-system-eol-type nil 1 2 " " "\n" generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] search-forward 13 replace-match " \n" write-region buffer-string "/dev/clipboard" nomsg brief-xclipboard-cmd-search getenv "DISPLAY" "" gui-backend-set-selection #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 199 PRIMARY 199 CLIPBOARD 204)) message "Unsupported TYPE for `brief-external-set-selection'" brief-kill-lingering-external-set-helper brief-external-clipboard-process-coding-system apply start-process brief-xclipboard-get-type-arg minibufferp 0 string-bytes truncate brief-slowdown-factor brief-current-time set-process-query-on-exit-flag (error) (quit) #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (quote 335 interruptible 335 quitable 342)) input-pending-p process-live-p substring-no-properties process-send-string logand 255 sit-for 0.01 "* Sent %d bytes to Xselection" accept-process-output "Complete sending %d bytes to Xselection in %.3f seconds" "* Interrupted sending to Xselection" process-send-eof delete-process eol encoding #1# brief-xclipboard-cmd gui--last-selected-text-clipboard brief-show-external-clipboard-send-progress process-connection-type default-process-coding-system brief-xclipboard-args proc inhibit-message count datalen databytes databeg sentbytes sendstr brief-external-send-blocksize blocksize dataend start-wait-time brief-is-external-interruptible brief-external-set-selection-interrupted err brief-external-set-selection-prev-proc "* Quit sending data to Xselection" quit signal "* Error %S occurs when sending to Xselection" error format "Error:%S"] 7 (#$ . 71170)]) #@236 Override the default `gui-select-text' system function (select.el). Conditionally set `gui--last-selected-text-primary' and `gui--last-selected-text-clipboard'. If our previous external clipboard invoking was interrupted, clear them. (defalias 'brief-gui-select-text #[(text) "\306=\206\307\310 !\311=\206\307\310 !\312=?\205 \306=\2063\307\310 !\311=\2063\307\310 !\312=\2063\n\313\f\203J\314\315\"\210 ?\205H \205b\314\316\"\210 ?\205_\211*\207" [system-type brief-select-enable-primary brief-select-enable-clipboard select-enable-clipboard select-enable-primary brief-external-set-selection-interrupted windows-nt framep selected-frame w32 w64 nil gui-set-selection PRIMARY CLIPBOARD text gui--last-selected-text-primary saved-region-selection gui--last-selected-text-clipboard] 3 (#$ . 75844)]) #@304 Backup Xselection before start marking texts. The region/rectangle marking operation could later be canceled. We therefore need to backup first otherwise Xselection will be immediately replaced by the marking texts; when operation canceled we will not be able to restore it back if we have no backups. (defvar brief-previous-clipboard-selection nil (#$ . 76685)) (byte-code "\301\302!\204O\303\304!\210\305\304!\210\203!\306\307\310\311\304$\210\312\307\313\"\210\202-\306\314\315\311\304$\210\312\314\313\"\210\203@\306\316\317\311\304$\210\312\316\313\"\210\202a\306\320\321\311\304$\210\312\320\313\"\210\202a\322\304!\210\323\324\325\"\210\326\304!\210\323\327\330\"\210\304\207" [brief-selection-op-legacy fboundp advice-add (lambda (#1=#:def-tmp-var) (defvar brief-ad-gui-get-selection-reenter #1#)) nil (lambda (#1#) (defvar brief-ad-gui-set-selection-reenter #1#)) ad-add-advice x-get-selection (brief-advice-gui-get-selection nil nil (advice lambda (&optional type data-type) (if (or window-system brief-ad-gui-get-selection-reenter) ad-do-it (let ((brief-ad-gui-get-selection-reenter t)) (brief-external-get-selection (or type 'PRIMARY)))))) around ad-activate t gui-get-selection (brief-advice-gui-get-selection nil nil (advice lambda (&optional type data-type) (if (or window-system brief-ad-gui-get-selection-reenter) ad-do-it (let ((brief-ad-gui-get-selection-reenter t)) (brief-external-get-selection (or type 'PRIMARY)))))) x-set-selection (brief-advice-gui-set-selection nil nil (advice lambda (type data) (if (or (eq type 'SECONDARY) brief-ad-gui-set-selection-reenter) ad-do-it (let ((brief-ad-gui-set-selection-reenter t)) (if brief-is-gui-set-selection-postponed (brief-activate-postpone-gui-selection-timer) (unless (brief-multiple-cursor-in-action) (if (and (brief-is-x) (not brief-use-external-clipboard-when-possible)) ad-do-it (brief-external-set-selection type data)))))))) gui-set-selection (brief-advice-gui-set-selection nil nil (advice lambda (type data) (if (or (eq type 'SECONDARY) brief-ad-gui-set-selection-reenter) ad-do-it (let ((brief-ad-gui-set-selection-reenter t)) (unless (and brief--search-overlay (overlay-start brief--search-overlay)) (if brief-is-gui-set-selection-postponed (brief-activate-postpone-gui-selection-timer) (unless (brief-multiple-cursor-in-action) (if (or (brief-is-winnt) (and (brief-is-x) (not brief-use-external-clipboard-when-possible))) ad-do-it (brief-external-set-selection type data))))))))) (lambda (#1#) (defvar brief-gui-get-selection-reentry #1# "An internal variable to prevent advised function reenter.")) defalias brief-gui-get-selection #[(orig-func &optional type &rest args) "\203\n\306 \n #\207\307\310\311 !\312=\203\f\204\"\310\311 !\307=\203,\313\n\206(\314!\202] \315=\204D\310\311 !\316=\204D\310\311 !\317=\203X\n\206I\320\320=\203X\321 \206]\322 \206]\306 \n #)\207" [brief-gui-get-selection-reentry orig-func type args brief-use-external-clipboard-when-possible system-type apply t framep selected-frame x brief-external-get-selection PRIMARY windows-nt w32 w64 CLIPBOARD w32-get-clipboard-data w32--get-selection] 4 "Brief's advice replacement for `gui-get-selection'."] (lambda (#1#) (defvar brief-gui-set-selection-reentry #1# "An internal variable to prevent advised function reenter.")) brief-gui-set-selection #[(orig-func &rest args) "\203 \306 \n\"\207\n@\307\211\310=\203\306 \n\"\210\202i\f\203&\311\f!\204i \2030\312 \210\202i\313 \204i\314=\204\\\315\316 !\317=\204\\\315\316 !\320=\204\\\315\316 !\321=\203d\204d\306 \n\"\210\202i\306\322\n\"\210*\323\207" [brief-gui-set-selection-reentry orig-func args type brief--search-overlay brief-is-gui-set-selection-postponed apply t SECONDARY overlay-start brief-activate-postpone-gui-selection-timer brief-multiple-cursor-in-action windows-nt framep selected-frame w32 w64 x brief-external-set-selection nil system-type brief-use-external-clipboard-when-possible] 4 "Brief's advice replacement for `gui-set-selection'."]] 5) (defvar brief-terminal-getclip-when-check-existence nil nil) (make-variable-buffer-local 'brief-terminal-getclip-when-check-existence) (defvar brief-last-selected-text nil) #@71 Local function called only by these backward compatibility functions. (defalias 'brief-last-selected-text #[nil "\303\304 !\305=\203 \207 \306=\204#\303\304 !\307=\204#\303\304 !\310=\205$\n\207" [gui--last-selected-text-primary system-type brief-last-selected-text framep selected-frame x windows-nt w32 w64] 2 (#$ . 80882)]) #@62 Legacy function called by `brief-yank' for older Emacs only. (defalias 'brief-get-selection-value #[nil "\305\306\307 !\310=\204\306\307 !\311=\2032\312\313!\203, \203% \305\202[\313\314!\202[\315 \202[\n\316=\204J\306\307 !\317=\204J\306\307 !\320=\203[\321 \206Q\322 \211\205Y \211))\207" [result brief-terminal-getclip-when-check-existence system-type clipdata brief-last-selected-text nil framep selected-frame x t fboundp gui-get-selection PRIMARY x-get-selection-value windows-nt w32 w64 w32-get-clipboard-data w32--get-selection] 3 (#$ . 81220)]) #@64 Local function called by `brief-get-clipboard-selection' only. (defalias 'brief-get-selection #[nil "\303\304 !\305=\203\f\306 \207\307=\204$\303\304 !\310=\204$\303\304 !\311=\2054\312 \206+\313 \211\2053 \211)\207" [system-type clipdata brief-last-selected-text framep selected-frame x x-get-selection windows-nt w32 w64 w32-get-clipboard-data w32--get-selection] 3 (#$ . 81802)]) #@63 Function to get system clipboard text on X or MS-WIN systems. (defalias 'brief-get-clipboard-selection #[nil "\302=\204\303\304 !\305=\204\303\304 !\306=\203%\307\310!\205'\311 \206$ \207\312 \207" [system-type brief-last-selected-text windows-nt framep selected-frame w32 w64 w32-selection-exists-p CLIPBOARD brief-get-selection gui-get-selection] 2 (#$ . 82200)]) #@65 Copy current region or THETEXT into X clipboard then return it. (defalias 'brief-copy-region-into-clipboard #[(&optional thetext interruptible) "\306 ?\205p\206 @\206\307\310\n\311\310 \312=\206)\313\314 !\315=\206)\313\314 !\316=?\205.\f \312=\206G\313\314 !\315=\206G\313\314 !\316=\206G \211G\317U?\205n\320\321!\203j\321!\202n\322!.\207" [thetext kill-ring interruptible system-type brief-select-enable-primary brief-select-enable-clipboard brief-multiple-cursor-mode-is-on "" nil t windows-nt framep selected-frame w32 w64 0 fboundp gui-select-text x-select-text select-enable-clipboard select-enable-primary x-select-enable-clipboard x-select-enable-primary brief-is-external-interruptible brief-is-gui-set-selection-postponed text] 9 (#$ . 82580)]) #@107 Force backup clipboard data before selection changed. If user cancelled the selection, we can restore it. (defalias 'brief-backup-clipboard-selection #[nil "\303\304\305 \211*\207" [brief--backing-up-clipboard brief-is-gui-set-selection-postponed brief-previous-clipboard-selection nil t brief-get-clipboard-selection] 2 (#$ . 83377)]) (defalias 'brief-region-backup-clipboard-selection #[nil "\300 \204\301 \204\302 \204\303 \210\304\207" [region-active-p brief-use-region brief-multiple-cursor-in-action brief-backup-clipboard-selection t] 1]) #@101 Destroy Xselection backup data. We do this either if we completed the backup or no need to keep it. (defalias 'brief-no-longer-need-restore-clipboard #[nil "\301\211\207" [brief-previous-clipboard-selection nil] 2 (#$ . 83939)]) #@148 Restore just backed up clipboard data if there is one. Return the restored text if previously backed up data successfully restored, otherwise NIL. (defalias 'brief-restore-clipboard-selection #[nil "\303 \205\304 !\210\305 \210 *\207" [brief-previous-clipboard-selection text brief-is-gui-set-selection-postponed nil brief-copy-region-into-clipboard brief-no-longer-need-restore-clipboard] 2 (#$ . 84176)]) #@76 Hook function for `activate-mark-hook' to activate Xselection postponment. (defalias 'brief-postpone-gui-set-selection #[nil "\204 \302\303\304 \210\302\207" [brief-is-gui-set-selection-postponed brief-postponed-clipboard-ran t nil brief-activate-postpone-gui-selection-timer] 1 (#$ . 84594)]) #@80 Hook function for `deactivate-mark-hook' to deactivate Xselection postponment. (defalias 'brief-resume-gui-set-selection #[nil "\203 \303\202\f\304 \210\303\305 \210\303\306\207" [brief-keep-postpone-gui-selection-timer brief-is-gui-set-selection-postponed brief-postponed-clipboard-ran nil brief-cancel-postpone-gui-selection-timer brief-restore-clipboard-selection t] 1 (#$ . 84898)]) #@77 Restore selection and reset internal variables due to command cancellation. (defalias 'brief-reset-for-command-cancellation #[(&rest _) "\301 \210\302 \203 \303 \210\304 \210\305\211\207" [brief-postponed-mark-selection-copy-completed brief-restore-clipboard-selection brief-use-region deactivate-mark brief-cancel-postpone-gui-selection-timer nil] 2 (#$ . 85297)]) #@57 Reset Brief internal state for `keyboard-quit' command. (defalias 'brief-reset-for-keyboard-quit #[(&rest _) "\301 \210\302\211\207" [brief--kbd-macro-seq brief-reset-for-command-cancellation nil] 2 (#$ . 85671)]) (defalias 'brief-cua-rectangle-undo-helper #[nil "\205\301 \207" [cua--restored-rectangle brief-region-backup-clipboard-selection] 1]) (byte-code "\300\301!\204`\300\302!\203\303\302\304\305\306$\210\307\302\310\"\210\303\311\312\305\306$\210\307\311\310\"\210\303\313\314\305\306$\210\307\313\310\"\210\303\315\316\305\306$\210\307\315\310\"\210\300\317!\203N\303\317\320\305\306$\210\307\317\310\"\210\300\321!\203`\303\321\322\305\306$\210\307\321\310\"\210\306\207" [fboundp advice-add cua--rectangle-post-command ad-add-advice (brief-cua--rectangle-post-command nil nil (advice lambda nil (brief-cua-rectangle-undo-helper))) before nil ad-activate t cua-cancel (brief-cua-cancel nil nil (advice lambda nil (brief-reset-for-command-cancellation))) keyboard-quit (brief-keyboard-quit nil nil (advice lambda nil (brief-reset-for-keyboard-quit))) keyboard-escape-quit (brief-keyboard-escape-quit nil nil (advice lambda nil (brief-reset-for-command-cancellation))) cua-clear-rectangle-mark (brief-clear-rectangle-mark nil nil (advice lambda nil "Extend `cua-clear-rectangle-mark' by a Xselection backup.\nThe implementation of `cua-clear-rectangle-mark' does not invoke the\n`deactivate-mark-hook' thus we need to do that ourselves." (brief-reset-for-command-cancellation))) cua-close-rectangle (brief-close-rectangle nil nil (advice lambda nil "Extend `cua-close-rectangle' by a Xselection backup.\nThe implementation of `cua-close-rectangle' does not invoke the\n`deactivate-mark-hook' thus we need to do that ourselves." (brief-reset-for-command-cancellation)))] 5) #@74 Scan text and set its yank properties as rectangle if it is a rectangle. (defalias 'brief-scan-rectangle #[(text) "\306\211\306\307\211\310\311 \f#\211\2038 \204 \fZ\211\2038 \fZU\211\2038\312 \f #B T\202\n\n\203Z G\fZ U\203Z\313\307 G\314\315\312 \f G#B\237\316BB %\210- \207" [strs width widtheq eol start text nil 0 string-match "\n" substring-no-properties put-text-property yank-handler rectangle--insert-for-yank (t)] 10 (#$ . 87469)]) #@59 Yank kill-ring/Xselection or rectangle into current text. (defalias 'brief-yank #[nil "\306\211\n\203 \307 \210\310 \204\207\311 \206G\312\313!\203E \314=\204E\315\316 !\317=\204E\315\316 !\320=\204E\313\f\203<\321\202A \205A\322!\202G\323 \306%\211&G\324U\204\206&'@\206\\\325\230\204\206&'A@\206j\325\230\204\206\326 (\327\216\212\3301\204\331\332&!!0\210\202\205\210+*\333)\326 *\334\216\212\335 \203\251+\203\246\336 b\203\246\337\340 !\210\341 \210\342\343!\210,\344 *\207" [interprogram-cut-function interprogram-paste-function brief-copy-to-clipboard-on-keyup-data system-type brief-select-enable-primary brief-select-enable-clipboard nil brief-run-postponed-gui-set-selection brief-multiple-cursor-mode-is-on brief-restore-clipboard-selection fboundp gui-get-selection windows-nt framep selected-frame w32 w64 PRIMARY CLIPBOARD brief-get-selection-value 0 "" save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] (error) kill-new brief-scan-rectangle t #[nil "\301!\207" [#2=#:saved-marker save-mark-and-excursion--restore] 2] brief-use-region cua--rectangle-top move-to-column cua--rectangle-left cua-delete-region call-interactively cua-paste brief-no-longer-need-restore-clipboard deactivate-mark clip-select kill-ring #1# inhibit-message #2# cua--rectangle] 4 (#$ . 87938) "*"]) #@25 Print buffer or region. (defalias 'brief-print #[nil "\300\301 \203\n\302\202 \303!\207" [call-interactively brief-use-region print-region print-buffer] 2 (#$ . 89321) nil]) #@40 Toggle buffer read only status ON/OFF. (defalias 'brief-buffer-read-only-toggle #[nil "\301\302!\203\203\302\303!\210\202\302\304!\210\202?\305 \210\203&\306\307!\207\306\310!\207" [buffer-read-only fboundp read-only-mode -1 1 force-mode-line-update message "Buffer set to read-only" "Buffer set to read-write, careful when modifying read-only files!"] 2 (#$ . 89503) nil]) #@79 Set mark at the end of the line. ARG behaves the same as `beginning-of-line'. (defalias 'brief-mark-line #[(arg) "\302\212\303 !\210`)\304!)\207" [newmark arg nil beginning-of-line set-mark] 2 (#$ . 89896) "p"]) #@73 Set mark at the end of the line. ARG behaves the same as `end-of-line'. (defalias 'brief-mark-line-up #[(arg) "\303\304\305 \210\212\n\210`T)\306!*\207" [newmark inhibit-message arg t nil cua-set-mark set-mark] 2 (#$ . 90117) "p"]) #@81 Set mark at the begin of the line. ARG behaves the same as `beginning-of-line'. (defalias 'brief-mark-line-down #[(arg) "\303\304\305 \210\212\306\n!\210`)\307!*\207" [newmark inhibit-message arg t nil cua-set-mark beginning-of-line set-mark] 2 (#$ . 90360) "p"]) (byte-code "\300\301!\204 \302\301\303\"\210\300\207" [fboundp move-to-column defalias #[(column &optional insert-white) "\304\211\212\305\210i)\306 \210 \nW\205=i\nW\205=iU\2033 \204*\nS\2026\307c\210T\2026\310 \210 T\211\202*\207" [max-column i column insert-white 0 nil beginning-of-line " " brief-forward-1-char-noerror] 3 "Goto column number in current line.\nThis is a backward compatibility function for older Emacs versions."]] 3) #@70 MSoffice debouncing variable for `brief-delete-entire-line' command. (defvar brief-delete-entire-line-debounce nil (#$ . 91091)) #@1126 Test if Brief need to respect visual mode or not. This function implements the following truth table, according to current command prefix and the value of `brief-linecmd-respect-visual'. The basic logic are: 1. `brief-linecmd-respect-visual' determines the current default mode, either visual or physical line mode. 2. Either a common prefix \[universal-argument] or negative prefix reverse the current mode; aka, ~`brief-linecmd-respect-visual'. Prefix | brief-linecmd- || result: command | respect-visual || visual? ---------+-----------------||-------- F | F || F F | T || T '(4) | F || T '(4) | T || F ---------+-----------------||-------- #n | F || F #n | T || T -#n | F || T -#n | T || F Therefore, it's basically an XOR operation between {common prefix \[universal-argument] or negative prefix} and {`brief-linecmd-respect-visual'}. (defalias 'brief-is-visual-operation #[nil "\205\247\203\304W\206\305\232 \211\204\n\205# \205\"\n?*\207" [current-prefix-arg brief-linecmd-respect-visual B A 0 (4)] 3 (#$ . 91228)]) #@51 Move to visual column VCOL but not exceeding EOL. (defalias 'brief-move-to-column-visual #[(vcol) "\303\212\304 \210\305 \211\306U\204\202\307u\210\305 )\n ^\305 Zu*\207" [p vend vcol nil end-of-visual-line brief-current-column-visual 0 -1] 3 (#$ . 92558)]) #@838 Delete entire (visual) line(s) where cursor located. When a region is selected, the marked region is deleted without going into the kill-ring or clipboard. Otherwise, it operates only on current line, which in turn considering the setting of visual mode, hidden texts and command prefix. When marked region is not present and `brief-linecmd-respect-visual' is non-nil, this command respect visual mode (line truncation, and hidden texts) so it only deletes the visible part of current line unless prefixed with a \[universal-argument] which told this command to do delete the entire current line (or lines if hidden texts present). On the contrary, when `brief-linecmd-respect-visual' is nil (default), this command deletes the entire line unless prefixed with a \[universal-argument] which told this command to respect visual mode. (defalias 'brief-delete-entire-line #[(arg) " \306 `\307 D\f\2038 \2048\2038 =\2038 @Z\310\311 _W\2038`\307 DA@\232\204\251\307 \203E\312!\210\202\251\313 \314 \315\211\316\232\203]\317\320\203i\321\317!\202l\322\317!\211\211\203\323\324!!\210\202\207\322\324!T!\210`\211U\203\227\325\317!\210`\202\231\"\210U\204\250\326!\210, \nD\211,\207" [this-command last-command debounce cmd-time brief-debounce-keys-microsoft-office executing-kbd-macro brief-current-time brief-use-region 0.02 brief-slowdown-factor brief-delete brief-is-visual-operation brief-current-column-visual nil (4) 1 brief-delete-region beginning-of-visual-line move-beginning-of-line vertical-motion abs move-end-of-line brief-move-to-column-visual brief-delete-entire-line-debounce arg visual column p1 p2 current-prefix-arg] 7 (#$ . 92831) "*p"]) (defvar brief-kill-line-debounce nil) #@201 Kill/cut (visual) line(s) into kill-ring and clipboard. Marks from point to end of the current line (honoring prefix arguments), copies the region to the kill ring and clipboard, and then deletes it. (defalias 'brief-kill-line #[(arg) "\306\211\307 `\306 \310 \311  !\203@\"\204@#\203@ =\203@\n#@Z\312W\203@`#A@U\204\255\313 \203S\314$\315\316!\210\317 \210)\202\255\320 %\321\216\212\322 \203g\212\323\324!)\202i\325 !\210\3261\237 \203}\327\330&!!\210\202\205\331\330&!T!\210 \203\223\332 `\"&U\203\230\333 \202\232\323 0\210\202\240\210\315\334!\210\317 \210+\335!\210!\205\276\"?\205\276\n`D\211#. \207" [this-command last-command cmd-time visual enable-cursor-tracking prev-point nil brief-current-column-visual brief-is-visual-operation brief-current-time 0.3 brief-use-region t call-interactively cua-cut-region brief-copy-to-clipboard-on-keyup save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] set-mark beginning-of-visual-line 1 line-beginning-position (error) vertical-motion abs move-beginning-of-line brief-fast-count-physical-lines beginning-of-line brief-kill-region brief-move-to-column-visual old-column interprogram-paste-function interprogram-cut-function brief-debounce-keys-microsoft-office executing-kbd-macro brief-kill-line-debounce inhibit-message #1# arg] 9 (#$ . 94595) "*p"]) (defvar brief-copy-line-debounce '(0 (0 0 0))) #@822 Copy (visual) line(s) into kill-ring and clipboard. When a region is selected, the marked region is copy into kill-ring and clipboard, the mark is then deactivated. When marked region is not present and `brief-linecmd-respect-visual' is non-nil, this command respect visual mode (line truncation, and hidden texts) so it only copy the visible part of current line unless prefixed with a \[universal-argument] which told this command to copy the entire physical line (or lines if hidden texts present). On the contrary, when `brief-linecmd-respect-visual' is nil (default), this command copy the entire line(s) unless prefixed with a \[universal-argument] which told this command to respect visual mode and copy only visual line(s). To copy exactly 4 lines use C-4 as prefix instead of a single \[universal-argument]. (defalias 'brief-copy-line #[(arg) "\306 \203:\n\204: \203:\f =\203:\307 @Z\310W\203: A@\232\203: \205\347\n?\205\347\307  D\211\202\347\311\211 `!\312\"\313 ?#$$ \203]\n\204]\307  D\314 \203o\315\311!\210\316 \210\317 \210\202\335\320 %\321\216\212\311\211$\322\232\203\204\323&\324#\203\217\325 \202\224\212\326\323!)!\210\3271\315#\203\252\330\331&!T!\210\202\261\332\331&!!\210#\204\301\333!`\"&U\203\306\334 \202\310\326 0\210\202\316\210*\311$\315\311!\210\316 \210\317 \210+.\335\336!\205\347\336 )\207" [fdebounce brief-debounce-keys-microsoft-office executing-kbd-macro brief-copy-line-debounce this-command last-command #[nil "`\300 \301 E\207" [brief-region-beginning brief-region-end] 3] brief-current-time 0.3 nil t brief-is-visual-operation brief-use-region cua-copy-region brief-no-longer-need-restore-clipboard brief-copy-to-clipboard-on-keyup save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] (4) 1 set-mark line-beginning-position beginning-of-visual-line (error) move-beginning-of-line abs vertical-motion brief-fast-count-physical-lines beginning-of-line fboundp deactivate-mark interprogram-cut-function interprogram-paste-function prev-point inhibit-message is-physical-line current-prefix-arg #1# arg] 4 (#$ . 96054) "p"]) (byte-code "\300\301!\210\300\302!\207" [make-local-variable brief-fixed-cursor-scroll-column brief-fixed-cursor-scroll-line] 2) #@78 Older Emacs need `smooth-scroll-mode' package to be able to scroll smoothly. (defalias 'smooth-scroll-mode-activate '(macro . #[nil "\300\207" [(and (boundp 'smooth-scroll-mode) smooth-scroll-mode)] 1 (#$ . 98365)])) #@187 Discard inputs when doing a time consuming operation. If not doing so, the autorepeat key settings might cause that command to start again. For example, page-down and page-up commands. (defalias 'brief-discard-input #[nil "\206\301 \207" [defining-kbd-macro discard-input] 1 (#$ . 98589)]) #@156 Acts like scroll-down, but leaves cursor fixed relative to window. Just like previous-line and forward-line, this function should not be used in programs. (defalias 'brief-fixed-cursor-scroll-down-internal #[(arg) "\203\306W\203\307[!\207 \310=\204% \311=\204%\312 \211\203%\313 \206*\314\315 \fZS_\3161\230\3171\214\3201\321 \314U\203I\314b\202x\322\323!\203[\203[\324 !\210\202_\325 !\210\326 !\210\327i\n\\!\210\n\330 SU\205xl?\205x\331u000\210\202\23100\210eb\210\332\333!\210\202\2310\210db\210\332\334!\210\202\231\210\335 )\207" [arg last-command brief-fixed-cursor-scroll-column brief-fixed-cursor-scroll-line next-screen-context-lines scroll-by 0 brief-fixed-cursor-scroll-up-internal brief-fixed-cursor-page-down brief-fixed-cursor-page-up brief-current-column-visual brief-current-row-visual 1 window-height (error) (end-of-buffer) (beginning-of-buffer) window-start boundp smooth-scroll-mode smooth-scroll/orig-scroll-down scroll-down move-to-window-line brief-move-to-column window-width -1 message "Beginning of buffer" "End of buffer" brief-discard-input] 3 (#$ . 98890)]) #@154 Acts like scroll-up, but leaves cursor fixed relative to window. Just like previous-line and forward-line, this function should not be used in programs. (defalias 'brief-fixed-cursor-scroll-up-internal #[(arg) "\203\306W\203\307[!\207 \310=\204% \311=\204%\312 \211\203%\313 \206*\314\315 \fZS_\3161\220\3171\204\3201w\321\322!\203O\203O\323 !\210\202S\324 !\210m\204[\325 !\210\326i\n\\!\210\n\327 SU\205pl?\205p\330u000\210\202\22100\210eb\210\331\332!\210\202\2210\210db\210\331\333!\210\202\221\210\334 )\207" [arg last-command brief-fixed-cursor-scroll-column brief-fixed-cursor-scroll-line next-screen-context-lines scroll-by 0 brief-fixed-cursor-scroll-down-internal brief-fixed-cursor-page-down brief-fixed-cursor-page-up brief-current-column-visual brief-current-row-visual 1 window-height (error) (end-of-buffer) (beginning-of-buffer) boundp smooth-scroll-mode smooth-scroll/orig-scroll-up scroll-up move-to-window-line brief-move-to-column window-width -1 message "Beginning of buffer" "End of buffer" brief-discard-input] 3 (#$ . 100016)]) #@199 Scroll up a full page by going down to the next page. The page size is determined by the window size. With a prefix it scroll several pages. Negative prefix scrolls page in the reverse direction. (defalias 'brief-fixed-cursor-page-down #[(arg) "\203\302\303!\207\304 !\207" [cua--rectangle arg call-interactively cua-resize-rectangle-page-down brief-fixed-cursor-scroll-up-internal] 2 (#$ . 101104) "^p"]) #@203 Scroll down a full page by going up to the previous page. The page size is determined by the window size. With a prefix it scroll several pages. Negative prefix scrolls page in the reverse direction. (defalias 'brief-fixed-cursor-page-up #[(arg) "\203\302\303!\207\304 !\207" [cua--rectangle arg call-interactively cua-resize-rectangle-page-up brief-fixed-cursor-scroll-down-internal] 2 (#$ . 101522) "^p"]) (defconst brief-recenter-horizontal-positions '(middle left right)) #@210 Indicates the last recenter operation performed. Possible values: `left', `middle', `right', integer or float numbers. It can also be nil, which means the first value in `brief-recenter-horizontal-positions'. (defvar brief-recenter-horizontal-last-op nil (#$ . 102010)) (make-variable-buffer-local 'brief-recenter-horizontal-last-op) #@80 Recenter horizontally according to ARG. ARG is a integer or list of a integer. (defalias 'brief-recenter-horizontally #[(&optional arg) "\301\302 \204\303 \304 \305\245Z\206*<\203\203@\206*\250\203(\206*\306 \"\207" [arg set-window-hscroll selected-window brief-text-unscaled-current-column window-body-width 2 window-hscroll] 5 (#$ . 102350)]) (defalias 'brief-recenter-horizontally-left #[nil "\300\301 !\207" [brief-recenter-horizontally brief-text-unscaled-current-column] 2]) (defalias 'brief-recenter-horizontally-right #[nil "\300\301\302 \303 Z]!\207" [brief-recenter-horizontally 0 brief-text-unscaled-current-column window-body-width] 4]) #@192 Recenter cursor horizontally, like `recenter-top-bottom' does. Reference to `recenter-top-bottom'. Note that it won't do anything if cursor position is currently at the beginning of a line. (defalias 'brief-recenter-left-right #[(arg) "\203\305!\207\306\307 \n=\203 \f\235A\206\f@\202\f@\211\"\210 \310\267\2021\305 \207\311 \207\312 \207 \250\203:\305 !\207\313 !\205H\305\314 \315 _!!\207" [arg this-command last-command brief-recenter-horizontal-last-op brief-recenter-horizontal-positions brief-recenter-horizontally message "Recentering horizontally to the %S." #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (middle 40 left 43 right 46)) brief-recenter-horizontally-left brief-recenter-horizontally-right floatp round window-body-width] 4 (#$ . 103022) "P"]) #@326 Recenter cursor to show contexts around. If `brief-search-recenter-vertically' is t, this function will recenter cursor vertically to show contexts above/below. If `brief-search-recenter-horizontally' is t and line truncation is ON, this will also recenter horizontally to the right side to show contexts left to the cursor. (defalias 'brief-recenter #[nil "\203\f\304 \204\f\305 \210 \205\n\206 ?\206\306 \207" [brief-search-recenter-vertically brief-search-recenter-horizontally visual-line-mode truncate-lines window-minibuffer-p recenter brief-recenter-horizontally-right] 1 (#$ . 103847)]) #@361 Toggle case sensitivity for search or replace commands in current buffer. This function toggles buffer-local variable `case-fold-search'. Notice that this will also affect replacement operation. When `case-replace' is non-nil the replacement transfers the case pattern. For more details on the case-pattern-transfer behavior please refer to `query-replace'. (defalias 'brief-toggle-search-case-sensitivity #[nil "?\301\302\205\n\303\304Q!\207" [case-fold-search message "Toggle search in this buffer to case-" "in" "sensitive."] 4 (#$ . 104458) nil]) #@145 Toggle search & replace commands using regular expression or string. Buffer-local variable `brief-search-replace-using-regexp' will be toggled. (defalias 'brief-toggle-search-replace-regexp #[nil "\301\302?\211\203 \303\202\304P!\207" [brief-search-replace-using-regexp message "Toggle search & replace using " "regular expression" "simple string"] 4 (#$ . 105022) nil]) #@35 Check if CMD is a prefix command. (defalias 'brief-is-prefix-command #[(cmd) "\301>\207" [cmd (universal-argument digit-argument)] 2 (#$ . 105404)]) #@43 Check if CMD is a forward search command. (defalias 'brief-is-search-forward-command #[(cmd) "\302>\206 \303=\205 \207" [cmd brief-last-search-action-forward (brief-search-forward brief-search-forward-currword brief-repeat-search-forward) brief-repeat-search] 2 (#$ . 105560)]) #@44 Check if CMD is a backward search command. (defalias 'brief-is-search-backward-command #[(cmd) "\302>\206\303=\205 ?\207" [cmd brief-last-search-action-forward (brief-search-backward brief-search-backward-currword brief-repeat-search-backward) brief-repeat-search] 2 (#$ . 105849)]) #@35 Check if CMD is a search command. (defalias 'brief-is-search-command #[(cmd) "\301=\206\302!\206\303!\206\304=\207" [cmd brief-repeat-search brief-is-search-forward-command brief-is-search-backward-command brief-toggle-search-case-sensitivity] 2 (#$ . 106144)]) #@50 Check if CMD is a query replace forward command. (defalias 'brief-is-query-replace-forward-command #[(cmd) "\302>\206 \303=\205 \207" [cmd brief-last-query-replace-forward (brief-query-replace-forward brief-query-replace-forward-currword brief-repeat-query-replace-forward) brief-repeat-query-replace] 2 (#$ . 106422)]) #@51 Check if CMD is a query replace backward command. (defalias 'brief-is-query-replace-backward-command #[(cmd) "\302>\206\303=\205 ?\207" [cmd brief-last-query-replace-forward (brief-query-replace-backward brief-query-replace-backward-currword brief-repeat-query-replace-backward) brief-repeat-query-replace] 2 (#$ . 106753)]) #@42 Check if CMD is a query replace command. (defalias 'brief-is-query-replace-command #[(cmd) "\301=\206\302!\206\303!\207" [cmd brief-repeat-query-replace brief-is-query-replace-forward-command brief-is-query-replace-backward-command] 2 (#$ . 107090)]) #@137 A dynamically scoped temporarily variable to allow region deactivation without affecting the overylay. Used by `brief-search-replace'. (defvar brief-hold-overlay nil (#$ . 107355)) #@52 Delete the search overlay when region deactivated. (defalias 'brief-delete-search-overlay #[nil "\302!\203 \204\303!p=\203\304!\210\305\207" [brief--search-overlay brief-hold-overlay overlayp overlay-buffer delete-overlay t] 2 (#$ . 107543)]) #@71 This local variable records the last region/rectangle used in search. (defvar brief-last-search-region nil (#$ . 107801)) (make-variable-buffer-local 'brief-last-search-region) #@130 Wrapper for the default `undo' for brief specific operations. If we're searching in a region, this undo will restore the region. (defalias 'brief-undo #[(&optional arg) "\306!\204\307!\204\310!\204\311 !\207\312\313 !\203U\314 !p=\203U\315 !\203U\316 !\203U\317!\203F\320\316 !!\210\315 !b\210\202Q\320\315 !!\210\316 !b\210\321 !\207\f\203d\312\322 b\210\323\324 !\207\311 !\207" [last-command arg brief-last-search-region brief--search-overlay cua--rectangle cua--buffer-and-point-before-command brief-is-search-command brief-is-prefix-command brief-is-query-replace-command undo nil overlayp overlay-buffer overlay-start overlay-end brief-is-search-forward-command set-mark delete-overlay cua--rectangle-top move-to-column cua--rectangle-left] 3 (#$ . 107985) "P"]) #@127 Reset search and delete the overlay if not continuing searching. For example, moving cursor around should reshape the region. (defalias 'brief-reset-new-search #[nil "\302!\204\303!\204\304=\204\305\306 \210\307\310\311\"\210\312\207" [this-command brief-last-search-region brief-is-search-command brief-is-prefix-command brief-undo nil brief-delete-search-overlay remove-hook pre-command-hook brief-reset-new-search t] 3 (#$ . 108780)]) (defvar brief-search-failed nil nil) (make-variable-buffer-local 'brief-search-failed) #@33 Completion function for search. (defalias 'brief-search-complete #[nil "\301\302 !\204\303\304!\203\305 \210\306\211\207" [brief-search-failed minibuffer-window-active-p selected-window message "Search completed." brief-recenter nil] 2 (#$ . 109321)]) #@30 Failure function for search. (defalias 'brief-search-failed #[nil "@\204 A@\203 \203\302\303 \210\304\305 !\204\306\307!\210\310\211\207" [brief-last-search-region brief-search-failed nil deactivate-mark minibuffer-window-active-p selected-window message "Pattern not found." t] 2 (#$ . 109584)]) #@322 Search PATTERN forwards within current rectangle. If REGEND presents, the forward search does not extend beyond of REGEND. When repeat searching within a rectangle, the cursor will temporarily stopped at the searched point if found. If we really want to set cursor there, press \[keyboard-quit] to cancel the rectangle. (defalias 'brief-search-forward-rectangle-pattern #[(pattern &optional regend noerror count) "\206\306\307 \310 ZT\212\311\310 !\210`T\312 ^)\313\3142j\212` W\203g\2032\315\2023\316 \312 ^`\n\\^\306$\203Y\fT\211\203#\fU\203#\317\314`\"\210\202#\306y\210\311 !\210`\n\\\202#)\3200\211\205v\320b-\207" [count left width lineend cnt regend 1 cua--rectangle-left cua--rectangle-right move-to-column line-end-position 0 found search-forward-regexp search-forward throw nil brief-search-replace-using-regexp pattern noerror result cua--buffer-and-point-before-command] 6 (#$ . 109899)]) (defvar brief-last-search-begin nil nil) (make-variable-buffer-local 'brief-last-search-begin) (defvar brief-last-search-end nil nil) (make-variable-buffer-local 'brief-last-search-end) #@304 Search forwards for a PATTERN. The search is limited in the currently marked (rectangle) region. Cursor will jump the match position only if the search is successful. The cursor jump is only temporarily when searching in a (rectangle) region. To settle the cursor there, cancel the (rectangle) region. (defalias 'brief-search-forward-pattern #[(pattern &optional noerror count) "` \306 \206 A@\205\307 \310 = \205\311)!\211*\203*\312)!\2069\n\2033\313 \2069\f\2059\307 +*\203G\314)!\206V\n\203P\315 \206V\f\205V\310 ,\n\204`\f\205l\316-!\205l\316.!?/\3170/\203~\3171\320\321\322\"\210\f\203\302\n\204\302/\203\302 \203\302)\203\247\312)!\204\302\323)+,#\210\202\302\324ee\")\325)!\210\326)\327\330#\210\323)+,#\210\331.!\203\366 \211A\242\203\333 \211A\242b\210\202\366 \211A\242\203\366 \210 A\211\211A\242b\210\332`!\210b\210\n\203+,U\204\n,\333 U\203\212\334\335 !\210`Td^,)\336 2\337\216\212/\203B\n\2033\313 b\210\334\340 !\210\202B\f\203B+`=\204B\341\317!\210 \203J\342\202T3\203S\343\202T\3444,56$0`+\n\203p\n6,F\202w\n\f+,F\345\2247\345\22580\205\2340b\205\234\3461\231\347\3500\"0\210\202\232\2100.\207" [point cua--rectangle is-rect brief-last-search-region is-region brief-search-fake-region-mark brief-use-region region-beginning region-end overlayp overlay-start cua--rectangle-top overlay-end cua--rectangle-bot brief-is-search-command nil add-hook pre-command-hook brief-reset-new-search move-overlay make-overlay delete-overlay overlay-put face brief-fake-region-face brief-is-search-forward-command set-mark cua--rect-start-position move-to-column cua--rectangle-right save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] cua--rectangle-left cua-exchange-point-and-mark brief-search-forward-rectangle-pattern search-forward-regexp search-forward 0 (error) run-hook-with-args brief-after-search-hook brief--search-overlay is-overlay reg-start reg-end this-command last-command new-search result brief-search-failed #1# brief-search-replace-using-regexp pattern noerror count brief-last-search-begin brief-last-search-end] 6 (#$ . 111028)]) #@32 Search string/regexp forwards. (defalias 'brief-search-forward #[(arg) "\304\230\203 @\203 @\305\306\"\306\203\307 \207\310 \210\311\207" [arg brief-search-history brief-search-last brief-last-search-action-forward "" brief-search-forward-pattern t brief-search-complete brief-search-failed nil] 3 (#$ . 113256) (list (if (brief-multiple-cursor-in-action) brief-search-last (read-string "Search forwards: " nil 'brief-search-history nil)))]) #@58 Search forwards for the word that cursor is focusing on. (defalias 'brief-search-forward-currword #[(arg) "\304\230\203 @\203 @\305\306\"\306\203\307 \207\310 \210\311\207" [arg brief-search-history brief-search-last brief-last-search-action-forward "" brief-search-forward-pattern t brief-search-complete brief-search-failed nil] 3 (#$ . 113716) (list (let ((default (or (current-word) #1=""))) (if (brief-multiple-cursor-in-action) (and (string= default #1#) default) (read-string "Search forwards: " default 'brief-search-history default))))]) #@323 Search PATTERN backwards within current rectangle. If REGSTART presents, the backward search does not go ahead of REGSTART. When repeat searching within a rectangle, the cursor will temporarily stopped at the searched point if found. If we really want to set cursor there, press \[keyboard-quit] to cancel the rectangle. (defalias 'brief-search-backward-rectangle-pattern #[(pattern &optional regstart noerror count) "\206\306\307\310 T\211\311 Z\212\312\311 !\210`S\313 ])\307\3142z\212`V\203w\2035\315\2026\316\f\313 ]` Z]\306$\203\\ T\211\203% U\203%\317\314`\"\210\202% \320y\210`\211U\203l\317\314\321\"\210\312\n!\210` Z\202%)\3210\211\205\206\321b.\207" [count lastline right width linestart cnt 1 0 cua--rectangle-right cua--rectangle-left move-to-column line-beginning-position found search-backward-regexp search-backward throw -1 nil regstart brief-search-replace-using-regexp pattern noerror result cua--buffer-and-point-before-command] 6 (#$ . 114282)]) #@305 Search backwards for a PATTERN. The search is limited in the currently marked (rectangle) region. Cursor will jump the match position only if the search is successful. The cursor jump is only temporarily when searching in a (rectangle) region. To settle the cursor there, cancel the (rectangle) region. (defalias 'brief-search-backward-pattern #[(pattern &optional noerror count) "` \306 \206 A@\205\307 \310 = \205\311)!\211*\203*\312)!\2069\n\2033\313 \2069\f\2059\307 +*\203G\314)!\206V\n\203P\315 \206V\f\205V\310 ,\n\204`\f\205l\316-!\205l\316.!?/\3170/\203~\3171\320\321\322\"\210\f\203\302\n\204\302/\203\302 \203\302)\203\247\312)!\204\302\323)+,#\210\202\302\324ee\")\325)!\210\326)\327\330#\210\323)+,#\210\331.!\203\361 \211A\242\203\333 \211A\242b\210\202\361 \211A\242\203\361 \211A\242b\210\332`!\210b\210\n\203+,U\204,\333 U\203\212\334\335 !\210`+)\336 2\337\216\212/\203;\n\203,\315 b\210\334\340 T!\210\202;\f\203;,`=\204;\341\317!\210 \203C\342\202M3\203L\343\202M\3444+56$0`+\n\203i\n6,F\202p\n\f+,F\345\2247\345\22580\205\2250b\205\225\3461\222\347\3500\"0\210\202\223\2100.\207" [point cua--rectangle is-rect brief-last-search-region is-region brief-search-fake-region-mark brief-use-region region-beginning region-end overlayp overlay-start cua--rectangle-top overlay-end cua--rectangle-bot brief-is-search-command nil add-hook pre-command-hook brief-reset-new-search move-overlay make-overlay delete-overlay overlay-put face brief-fake-region-face brief-is-search-forward-command set-mark cua--rect-start-position move-to-column cua--rectangle-left save-mark-and-excursion--save #[nil "\301!\207" [#1=#:saved-marker save-mark-and-excursion--restore] 2] cua--rectangle-right cua-exchange-point-and-mark brief-search-backward-rectangle-pattern search-backward-regexp search-backward 0 (error) run-hook-with-args brief-after-search-hook brief--search-overlay is-overlay reg-start reg-end this-command last-command new-search result brief-search-failed #1# brief-search-replace-using-regexp pattern noerror count brief-last-search-begin brief-last-search-end] 6 (#$ . 115296)]) #@33 Search string/regexp backwards. (defalias 'brief-search-backward #[(arg) "\304\230\203 @\203 @\305\306\"\307\203\310 \207\311 \210\307\207" [arg brief-search-history brief-search-last brief-last-search-action-forward "" brief-search-backward-pattern t nil brief-search-complete brief-search-failed] 3 (#$ . 117515) (list (if (brief-multiple-cursor-in-action) brief-search-last (read-string "Search backwards: " nil 'brief-search-history nil)))]) #@63 Search backwards for the word that the cursor is focusing on. (defalias 'brief-search-backward-currword #[(arg) "\304\230\203 @\203 @\305\306\"\307\203\310 \207\311 \210\307\207" [arg brief-search-history brief-search-last brief-last-search-action-forward "" brief-search-backward-pattern t nil brief-search-complete brief-search-failed] 3 (#$ . 117979) (list (let ((default (or (current-word) #1=""))) (if (brief-multiple-cursor-in-action) (and (string= default #1#) default) (read-string "Search backwards: " default 'brief-search-history default))))]) #@178 Repeat the most recent forward/backward search command. Notice that if the latest search command is prefixed with a prefix command (\[universal-argument]), it is also repeated. (defalias 'brief-repeat-search #[nil " \203\n\203\303 !\202!\304 !\202!\305\n\203\303\202 \304!)\207" [current-prefix-arg brief-search-last brief-last-search-action-forward brief-search-forward brief-search-backward call-interactively] 2 (#$ . 118553) ""]) #@67 Repeat the latest search operation but change direction forwards. (defalias 'brief-repeat-search-forward #[nil "\301\302 \207" [brief-last-search-action-forward t brief-repeat-search] 1 (#$ . 119004) ""]) #@68 Repeat the latest search operation but change direction backwards. (defalias 'brief-repeat-search-backward #[nil "\301\302 \207" [brief-last-search-action-forward nil brief-repeat-search] 1 (#$ . 119216) ""]) (defvar brief-query-replace-automatic-keys nil) (defvar brief-query-replace-quit-keys nil) (eval-after-load 'replace #[nil "\301\302\"\210\301\303\"\207" [query-replace-map map-keymap #[(ev bind) "\303=\204\f\304=\205 \nB\211\207" [bind ev brief-query-replace-automatic-keys automatic automatic-all] 2] #[(ev bind) "\303=\205 \nB\211\207" [bind ev brief-query-replace-quit-keys exit] 2]] 3]) #@105 Backward compatibility function for Emacs version < 25.1. Replace string/regexp PATTERN in a rectangle. (defalias 'brief-query-replace-rectangle #[(pattern to &optional _delimited start end) "\306\307\3102\311\312\n \f %0\306\211\203<@\313\314\"\2033 \315\316\317\"!\\A\211\204*\320\321 \211\317U\203J\322\202K\323#\210+\207" [message-list replace-count start end pattern to nil 0 break apply-on-rectangle #[(startcol _endcol pattern to) "\306!\210\307 \307 GSH\211\n>\203\310\311\312\"\202N >\203+\f\203'\313\2024\314\2024\f\2033\315\2024\316 \312`\317 `T\320 \321 Z\\^%\210\322 B\211)\207" [startcol last-key brief-query-replace-quit-keys brief-query-replace-automatic-keys brief-search-replace-using-regexp pattern move-to-column this-command-keys throw break nil replace-regexp replace-string query-replace-regexp query-replace line-end-position cua--rectangle-right cua--rectangle-left current-message to message-list] 10] string-match "Replaced \\([0-9]+\\) occurrence" string-to-number match-string 1 message "Replaced %d occurrence%s" "" "s" result m --dolist-tail--] 7 (#$ . 119837)]) #@59 Backward compatibility function for Emacs version < 25.1. (defalias 'brief-query-replace-pattern #[(pattern to-string) "\203 \306 \206\307 \205\310 \203\311 \206 \307 \205 \312  \f@\232\2031 @\232\2045\313\314!\210\203=\315\202G\203F\316\202G\317 \320\n %*\207" [cua--rectangle reg-end reg-start pattern brief-query-replace-from-history to-string cua--rectangle-top brief-use-region region-beginning cua--rectangle-bot region-end cl--assertion-failed (and (equal pattern (car brief-query-replace-from-history)) (equal to-string (car brief-query-replace-to-history))) brief-query-replace-rectangle query-replace-regexp query-replace nil brief-query-replace-to-history brief-search-replace-using-regexp] 6 (#$ . 120987)]) #@380 Query and replace a PATTERN. If a marked (rectangle) region is active, the search and replacement will be restricted within the (rectangle) region. The PATTERN could either be a regular expression, or a simple string, depending on the internal variable `brief-search-replace-using-regexp' toggled by `brief-toggle-search-replace-regexp' (\[brief-toggle-search-replace-regexp]). (defalias 'brief-query-replace #[(&optional pattern to) "` \306 \n\203\307 \206 \205\310 \n\203 \311 \206& \205&\312 \n\2050p` BB89\205::G;\313<==>>\314?\313\211@A\313B \203\227\315\316\314!\314\211#\210\n\204\227C\203\227D\203~\317D!\204\227\320D\f #\210\202\227\321ee\"D\322D!\210\323D\324\325#\210\320D\f #\210\326 E\327\216\212\3301\200\3311q\3321a\n\203\311\307 b\210\333\334 !\210\335`!\210`\311 b\210\333\336 T!\210`\337F\340\"\204G\203\370H\203\370I\203\344\341\202\345\342GH\313\f \343\344J!V\n&\202W\345I\203\341\202\342!\202WKJ@LG\203H\204<\346\347\350!LKL$\351\230\204<MJ@L\346\347\352KJ@\"LM\351$\210\353KJ@MJ@\"\210KJ@\351\230\205VK\211JAL)\211B000\210\202\21200N\354ND\211A)\210\202\2120N\355ND\211A)\210\202\212N\314@`\211)\210+ \203\276\356 \210@\203\235b\210\202\243\335\316\314!!\210\n\203\270>\357=\203\2708O\360 \210\313P\313?\361 \2109\203\346\362:;\"\211<@\203\326\313- to continue a paused macro" start-kbd-macro []] 3 (#$ . 130534) nil]) #@52 Toggle to pause/continue keyboard macro recording. (defalias 'brief-toggle-pause-kbd-macro #[nil "\203\304\305\306!\210\307\310\311!\210\312\n \"\211)\207\n\203)\304\305\313!\210\307\310\314!)\207\315\316!\207" [defining-kbd-macro inhibit-message brief--kbd-macro-seq last-kbd-macro t call-interactively end-kbd-macro nil message "Pause recording keyboard macro" vconcat start-kbd-macro "Resume recording keyboard macro" error "Brief: not defining keyboard macro"] 3 (#$ . 130960) nil]) #@40 Run the latest defined keyboard macro. (defalias 'brief-call-last-kbd-macro #[nil "G\305\211\211\306\307!\210G\fZ\211\310V\203-\211A\242\211\203&\n B S\211\202\311 \237\"\211@\206=\305B\211,\207" [buffer-undo-list count item newhead oldlen nil call-interactively call-last-kbd-macro 0 append] 5 (#$ . 131462) nil]) #@39 Save last keyboard macro into a file. (defalias 'brief-save-kbd-macro #[(arg) "\302!@\303=\203 \304\305!\207\306\307\303\"r q\210\310\216\311\312\313!!\210\3141,\315\303\"\210\3030\202.\210\316+\207" [arg #1=#:temp-buffer file-attributes t error "No file name specified." generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1# buffer-name kill-buffer] 2] insert-kbd-macro intern "" (error) write-file nil] 3 (#$ . 131804) (byte-code "\203\n\301\302!\206 \303\304!\207" [last-kbd-macro call-interactively #[(filename) "C\207" [filename] 1 nil "GSave current keyboard macro to file : "] error "Keyboard macro not defined yet, press to define one."] 2)]) #@34 Load keyboard macro from a file. (defalias 'brief-load-kbd-macro #[(arg) "r\302\303\"\205\304 \210\305 \205\306\307\310\"!\205\311\211)\207" [arg brief--kbd-macro-seq find-file "*.kbm" eval-buffer kill-buffer message format "Keyboard macro file \"%s\" loaded" nil] 4 (#$ . 132488) "fLoading keyboard macro file : "]) #@39 The previous value of `last-command'. (defvar brief-last-last-command nil (#$ . 132820)) #@50 The previous value of `brief-last-last-command'. (defvar brief-last-3rd-command nil (#$ . 132915)) #@649 Move the cursor (point) to the home (top) of a line, window or buffer. When `visual-line-mode' is nil and `truncate-lines' is non-nil, the first \[brief-home] moves point to the beginning of current line. The second consecutive \[brief-home] moves point to top of the window. The thrid consecutive \[brief-home] moves point to the beginning of the buffer. When `visual-line-mode' is non-nil or `truncate-lines' is nil, the first \[brief-home] goes to the beginning of visible line and the second \[brief-home] goes to the physical beginning of line. Consecutive 3rd and 4th \[brief-home]s then goes to the top of screen and beginning of buffer. (defalias 'brief-home #[nil "\306= \306=\n\306=\211\203\f\203 \203eb\210\202\217\f\203S \203S\f\2031eb\210\202\217\212\307 \210`)\310  \211 U\204L ^\202Meb\210*\202\217 \203\214\f\203c\311\312!\210\202\217\212\307 \210`)\310  ` ]U\204\201 ]\202\206 ^b\210*\202\217\313 \210+ \n\211\207" [brief-last-3rd-command brief-last-last-command last-command home2 home3 home4 brief-home beginning-of-line window-start move-to-window-line 0 beginning-of-visual-line truncate-lines p2 p1] 5 (#$ . 133021) "^"]) #@34 Get the point of the window end. (defalias 'brief-window-end #[nil "\301 dU\204S\202)\207" [we window-end] 2 (#$ . 134221)]) #@41 Move to the visual end of current line. (defalias 'brief-end-of-visual-line #[nil "\212\303 \210`)\211f\304 \nU\204\305 !\204S\202b+\207" [p1 c1 p2 end-of-visual-line line-end-position brief-is-crlf] 3 (#$ . 134360)]) #@617 Move the cursor (point) to the end (bottom) of a line, window or buffer. When `visual-line-mode' is nil and `truncate-lines' is non-nil, the first \[brief-end] moves point to end of current line. The second consecutive \[brief-end] moves point to bottom of the window. The third consecutive \[brief-end] moves point to the end of the buffer. When `visual-line-mode' is non-nil or `truncate-lines' is nil, the first \[brief-end] goes to the end of visible line and the second \[brief-end] then goes to the physical end of line. Consecutive 3rd and 4th \[brief-end]s goes to the bottom of screen and end of buffer. (defalias 'brief-end #[nil "\306= \306=\n\306=\307\211\211\211\203)\203)\203)db\210\202\240\203[\203[\203>db\210\202\240\212\310\311!\210`)\312  \fU\204U \f]\202Vdb\210\202\240\203\221\203p\313\314!\210\310\311!\210\202\240\212\310\311!\210`)\312 ` \f^U\204\211 \f^\202\214 \f]b\210\202\240\203\235\310\311!\210\202\240\315 \210. \n\211\207" [brief-last-3rd-command brief-last-last-command last-command c1 p2 p1 brief-end nil move-end-of-line 1 brief-window-end move-to-window-line -1 brief-end-of-visual-line end2 end3 end4 truncate-lines] 7 (#$ . 134597) "^"]) #@42 Goto the first character of this window. (defalias 'brief-move-to-window-line-0 #[nil "\300\301!\207" [move-to-window-line 0] 2 (#$ . 135834) "^"]) (defalias 'brief-mark-move-to-window-line-0 #[nil "\300 \210\301\302!\207" [brief-set-mark-here-if-not-active move-to-window-line 0] 2 nil nil]) (defalias 'brief-move-to-window-line-end #[nil "\300\301!\207" [move-to-window-line -1] 2 nil "^"]) (defalias 'brief-mark-move-to-window-line-end #[nil "\300 \210\301\302!\207" [brief-set-mark-here-if-not-active move-to-window-line -1] 2 nil nil]) #@74 Check if BUF is a hidden buffer or match any customized unwanted buffer. (defalias 'brief-is-unwanted-buffer #[(bufname) "G\302Y\203\303\302O\304\230\206 \235\207" [bufname brief-skip-buffers 2 0 " *"] 3 (#$ . 136381)]) #@47 Go back one buffer in the global buffer list. (defalias 'brief-unbury-buffer #[nil "\301 @\302\303\301 !@!\210p=?\205\304\305 !\205\202)\207" [startbuf buffer-list switch-to-buffer last brief-is-unwanted-buffer buffer-name] 3 (#$ . 136614) nil]) #@242 In selected window switch to previous buffer. Notice that this function will skip any buffer name that listed in `brief-skip-buffers'. When prefixed, it bury current buffer in a global buffer list instead of a per-window/frame buffer list. (defalias 'brief-previous-buffer #[nil "p\203 \303\202\304\305!\203\305\202\306\307 !\210\310\311 !\205+\np=?\205+\202*\207" [current-prefix-arg fskipbuf curr bury-buffer fboundp switch-to-prev-buffer previous-buffer call-interactively brief-is-unwanted-buffer buffer-name] 3 (#$ . 136875) nil]) #@241 In selected window switch to next buffer. Notice that this function will skip any buffer name that listed in `brief-skip-buffers'. When prefixed, it un-bury current buffer in a global buffer list instead of a per-window/frame buffer list. (defalias 'brief-next-buffer #[nil "\203\302\303!\207p\302\304\305!\203\305\202\306!\210\307\310 !\205) p=?\205)\202\n)\207" [current-prefix-arg curr call-interactively brief-unbury-buffer fboundp switch-to-next-buffer next-buffer brief-is-unwanted-buffer buffer-name] 3 (#$ . 137433) nil]) #@148 Same as `message' but with specified foreground COLOR. COLOR could be either a string like "red" or an existing face like 'font-lock-warning-face. (defalias 'brief-color-message #[(text &optional color) "\204\302\303\304\305 \306;\203\307D\206#\"\207" [color text "white" message "%s" propertize face :foreground] 7 (#$ . 137982)]) #@641 Wrapper function to conditionally override the normal M-x bindings. When `brief-override-meta-x' is non-nil, M-x will exit Emacs (the normal Brief binding) and when it is nil M-x will run `execute-extended-command' (the normal Emacs binding). It also works for emacs client/server. For editing with emacs-client, When `brief-override-meta-x' it ends emacs-client editing. Notice that the original `execute-extended-command' was moved to \[execute-extended-command] when M-x is overridden by Brief mode. Also notice that the keybinding \[save-buffers-kill-emacs] is a shortcut key of `save-buffers-kill-emacs' to bypass all these checks. (defalias 'brief-meta-x-wrapper #[nil "\203\317\306\301!\203\261 \203\261\306\302!\203\233\n\203\233 \203$\307 !\310>\203(\311\312!\207\313 \n\211\2038\314\315\f\"\202\231 \203a\f\204a @\316 \317\"\203T\316 \317\"\320 =\203Z\316 \321\"@ A)\2028\f\203i\315\f!\210\f\206q\322\323 !?\205\231\324 G\312U\203\224\325 \210\326\327!\205\231\330\331!\205\231\332 \210\333 \202\231\334\320 \335\"*\207\325 \210\326\336!\203\255\330\331!\203\255\337 \207\340\341!\207*\203\310\342+\325 \210\343\344\345\"\210\326\346!)\203\313\337 \207\340\347!\207\350\351!\207" [brief-override-meta-x server-process server-clients rest next-buffer proc boundp process-status (signal exit) server-mode 1 server-done apply server-switch-buffer process-get frame selected-frame buffers window-dedicated-p selected-window frame-list discard-input y-or-n-p "No buffers remain to edit, quit server? " yes-or-no-p "Really quit server? " server-force-stop kill-emacs delete-frame t "Running as server but no client connected, exit? " save-buffers-kill-emacs message "Keep running server-mode" nil brief-color-message "Brief: really exit Emacs ? (y or n) " minibuffer-prompt "Brief: really exit Emacs ? " "Brief: cancel exiting Emacs" call-interactively execute-extended-command brief-query-exit-emacs use-dialog-box] 4 (#$ . 138332) nil]) #@134 Save whole buffer or a region, a rectangle. The interactive code part (read file name, check overwrite) is copied from `write-file'. (defalias 'brief-save-buffer #[(filename) "\306 \204\307 \207\203Z\310\230\204Z\311!\203%\312!\313 \206\"\314 !P \2037\315!\315 !\230\2037\316\317!\210\320!\203Z\321 \322=\203M\n<\203M \204Z\323\324\325\"!\204Z\316\326!\210\f\203y\310\327\211\330\331\332 \333 #\210\334\327#\210+\202\201\334\332 \333 #\210\335 \207" [filename buffer-file-name last-nonmenu-event use-dialog-box cua--rectangle str brief-use-region save-buffer "" file-directory-p file-name-as-directory file-name-nondirectory buffer-name expand-file-name error "Cannot overwrite current buffer file with a region." file-exists-p framep-on-display ns y-or-n-p format "File `%s' exists; overwrite? " "Canceled" nil apply-on-rectangle #[(startcol endcol) "\305 \306  ZT\307\310 `\\^\310 T`\\^\"\f \211G\nW\205*\311\n GZ!\312R\211\207" [endcol startcol width str regionstr cua--rectangle-right cua--rectangle-left buffer-substring-no-properties line-end-position spaces-string "\n"] 5] region-beginning region-end write-region deactivate-mark width regionstr] 4 (#$ . 140318) (list (if (brief-use-region) (read-file-name "Write region to file: " default-directory (expand-file-name (file-name-nondirectory (buffer-name)) default-directory) nil nil)))]) #@21 Scroll one line up. (defalias 'brief-scroll-up-one-line #[nil "\300\301!\207" [scroll-up 1] 2 (#$ . 141713) nil]) #@23 Scroll one line down. (defalias 'brief-scroll-down-one-line #[nil "\300\301!\207" [scroll-up -1] 2 (#$ . 141833) nil]) #@31 Toggle auto-backup on or off. (defalias 'brief-toggle-auto-backup #[nil "\301\302?\211\203 \303\202\304\"\207" [auto-save-default message "Turn Emacs auto-backup %s" "ON" "OFF"] 4 (#$ . 141958) nil]) #@44 Goto the last visible character of window. (defalias 'brief-end-of-window #[nil "\300\301!\210\302 \207" [move-to-window-line -1 brief-end-of-visual-line] 2 (#$ . 142169) "^"]) (byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias brief-beginning-of-file beginning-of-buffer brief-end-of-file end-of-buffer] 3) #@123 Open a new line right below the current line and go there. Unlike [return] key, this command does not split current line. (defalias 'brief-open-new-line-next #[nil "\300\301!\210\302 \207" [move-end-of-line 1 newline] 2 (#$ . 142493) nil]) #@40 Define key in `brief-global-mode-map'. (defalias 'brief-key '(macro . #[(key def) "\302\303 F\207" [key def define-key brief-global-mode-map] 4 (#$ . 142739)])) (byte-code "\306\307 #\210\306 \310\311#\210\306 \312\313#\210\306 \314\315#\210\306 \316\317#\210\306\320\n#\210\306\n\321\322#\210\306\n\323\324#\210\306\n\325\326#\210\306\n\327\330#\210\306\331 #\210\306 \332\333#\210\306 \334\335#\210\306 \336\337#\210\306 \340\341#\210\306\342\f#\210\306\f\343\344#\210\306\f\345\346#\210\306\f\347\350#\210\306\f\351\352#\210\306\353\354#\210\306\355\356#\210\306\357\360#\210\306\361\362#\210\306\363\364#\210\306\365\366#\210\306\367\370#\210\306\371\372#\210\306\373\374#\210\306\375\376#\210\306\377\201@#\210\306\201A\201B#\210\306\201C\201D#\210\306\201E\201F#\210\306\201G\201H#\210\306\201I\201J#\210\306\201K\201L#\210\306\201M\201N#\210\306\201O\201P#\210\306\201Q\201R#\210\306\201S\201T#\210\306\201U\201V#\210\306\201W\201X#\210\306\201Y\201Z#\210\306\201[\201\\#\210\306\201]\201^#\210\306\201_\201`#\210\306\201a\201b#\210\306\201c\201d#\210\306\201e\201f#\210\306\201g\201h#\210\306\201i\201j#\210\306\201k\201l#\210\306\201m\201n#\210\306\201o\201p#\210\306\201q\201r#\210\306\201s\201t#\210\306\201u\201t#\210\306\201v\201w#\210\306\201x\201w#\210\306\201y\201w#\210\306\201z\201{#\210\306\201|\201}#\210\306\201~\201#\210\306\201\200\201#\210\306\201\201\201\202#\210\306\201\203\201\204#\210\306\201\205\201\206#\210\306\201\207\201\210#\210\306\201\211\201\212#\210\306\201\213\201\214#\210\306\201\215\201\216#\210\306\201\217\201\220#\210\306\201\221\201\222#\210\306\201\223\201\222#\210\306\201\224\201\216#\210\306\201\225\201\220#\210\306\201\226 #\210\306\201\227 #\207" [brief-global-mode-map brief-prefix-F1 brief-prefix-F2 brief-prefix-F3 brief-prefix-F4 brief-prefix-meta-l define-key [(f1)] [(up)] brief-switch-window-up [(down)] brief-switch-window-down [(left)] brief-switch-window-left [(right)] brief-switch-window-right [(f2)] [(down)] enlarge-window [(left)] shrink-window-horizontally [(right)] enlarge-window-horizontally [(up)] shrink-window [(f3)] [(down)] split-window-vertically [(up)] brief-split-window-up [(right)] split-window-horizontally [(left)] brief-split-window-left [(f4)] [(up)] brief-delete-window-up [(down)] brief-delete-window-down [(left)] brief-delete-window-left [(right)] brief-delete-window-right [(control f4)] brief-delete-current-window [(f5)] brief-search-forward [(meta f5)] brief-search-backward [(shift f5)] brief-repeat-search [(control shift f5)] brief-repeat-search-forward [(meta shift f5)] brief-repeat-search-backward [(control f5)] brief-search-forward-currword [(meta control f5)] brief-search-backward-currword [(control x) (f5)] brief-toggle-search-case-sensitivity [(f6)] brief-query-replace-forward [(meta f6)] brief-query-replace-backward [(shift f6)] brief-repeat-query-replace [(control shift f6)] brief-repeat-query-replace-forward [(meta shift f6)] brief-repeat-query-replace-backward [(control f6)] brief-query-replace-forward-currword [(meta control f6)] brief-query-replace-backward-currword [(control x) (f6)] brief-toggle-search-replace-regexp [(control s)] isearch-forward [(meta s)] isearch-backward [(meta e)] brief-find-file [(meta f)] brief-current-filename [(f9)] find-file [(meta f9)] load-library [(meta o)] write-file [(meta r)] insert-file [(f10)] execute-extended-command [(meta f10)] compile [(shift f10)] menu-bar-open [(control p)] brief-view-compilation-output [(meta b)] brief-buffer-list-window " " brief-indent-tab [(control meta tab)] brief-indent-buffer [(meta f11)] brief-buffer-read-only-toggle [(meta p)] brief-print [(control 45)] brief-kill-current-buffer [(control kp-subtract)] kill-buffer [(meta 45)] brief-previous-buffer [(meta 95)] [(meta n)] brief-next-buffer [(meta 43)] [(meta 61)] [(meta w)] brief-save-buffer [(meta x)] brief-meta-x-wrapper [(control meta shift x)] save-buffers-kill-emacs [(control meta shift X)] [(meta h)] help [(f7)] brief-define-macro [(shift f7)] brief-toggle-pause-kbd-macro [(f8)] brief-call-last-kbd-macro [(meta f7)] brief-load-kbd-macro [(meta f8)] brief-save-kbd-macro [(kp-add)] brief-copy-line [(kp-subtract)] brief-kill-line [(insert)] brief-yank [(insertchar)] [(control insert)] [(shift delete)] [(meta l)] [(meta L)]] 4) #@28 Mark line up with key (defalias 'brief-mark-line-up-with- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(up)]] 2 (#$ . 147195) nil]) (define-key brief-prefix-meta-l [(up)] 'brief-mark-line-up-with-) #@30 Mark line up with key (defalias 'brief-mark-line-up-with- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(left)]] 2 (#$ . 147424) nil]) (define-key brief-prefix-meta-l [(left)] 'brief-mark-line-up-with-) #@30 Mark line up with key (defalias 'brief-mark-line-up-with- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(home)]] 2 (#$ . 147663) nil]) (define-key brief-prefix-meta-l [(home)] 'brief-mark-line-up-with-) #@31 Mark line up with key (defalias 'brief-mark-line-up-with- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(prior)]] 2 (#$ . 147902) nil]) (define-key brief-prefix-meta-l [(prior)] 'brief-mark-line-up-with-) #@30 Mark line up with C- key (defalias 'brief-mark-line-up-with-C- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(control up)]] 2 (#$ . 148146) nil]) (define-key brief-prefix-meta-l [(control up)] 'brief-mark-line-up-with-C-) #@32 Mark line up with C- key (defalias 'brief-mark-line-up-with-C- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(control left)]] 2 (#$ . 148397) nil]) (define-key brief-prefix-meta-l [(control left)] 'brief-mark-line-up-with-C-) #@32 Mark line up with C- key (defalias 'brief-mark-line-up-with-C- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(control home)]] 2 (#$ . 148658) nil]) (define-key brief-prefix-meta-l [(control home)] 'brief-mark-line-up-with-C-) #@33 Mark line up with C- key (defalias 'brief-mark-line-up-with-C- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key [(control prior)]] 2 (#$ . 148919) nil]) (define-key brief-prefix-meta-l [(control prior)] 'brief-mark-line-up-with-C-) #@32 Mark line down with key (defalias 'brief-mark-line-down-with- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(down)]] 2 (#$ . 149185) nil]) (define-key brief-prefix-meta-l [(down)] 'brief-mark-line-down-with-) #@33 Mark line down with key (defalias 'brief-mark-line-down-with- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(right)]] 2 (#$ . 149432) nil]) (define-key brief-prefix-meta-l [(right)] 'brief-mark-line-down-with-) #@31 Mark line down with key (defalias 'brief-mark-line-down-with- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(end)]] 2 (#$ . 149684) nil]) (define-key brief-prefix-meta-l [(end)] 'brief-mark-line-down-with-) #@32 Mark line down with key (defalias 'brief-mark-line-down-with- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(next)]] 2 (#$ . 149926) nil]) (define-key brief-prefix-meta-l [(next)] 'brief-mark-line-down-with-) #@34 Mark line down with C- key (defalias 'brief-mark-line-down-with-C- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(control down)]] 2 (#$ . 150173) nil]) (define-key brief-prefix-meta-l [(control down)] 'brief-mark-line-down-with-C-) #@35 Mark line down with C- key (defalias 'brief-mark-line-down-with-C- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(control right)]] 2 (#$ . 150442) nil]) (define-key brief-prefix-meta-l [(control right)] 'brief-mark-line-down-with-C-) #@33 Mark line down with C- key (defalias 'brief-mark-line-down-with-C- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(control end)]] 2 (#$ . 150716) nil]) (define-key brief-prefix-meta-l [(control end)] 'brief-mark-line-down-with-C-) #@34 Mark line down with C- key (defalias 'brief-mark-line-down-with-C- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key [(control next)]] 2 (#$ . 150980) nil]) (byte-code "\302\303\304#\210\302\305\306#\210\302 \307\310#\210\302 \311\312#\210\302 \313\314#\210\302 \315\314#\210\302 \316\317#\210\302 \320\321#\210\302 \322\323#\210\302 \324\325#\210\302 \326\327#\210\302 \330\331#\210\302 \332\333#\210\302 \334\335#\210\302 \336\337#\210\302 \340\341#\210\302 \342\343#\210\302 \344\345#\210\302 \346\347#\210\302 \350\351#\210\302 \352\353#\210\302 \354\355#\210\302 \356\357#\210\302 \360\361#\210\302 \362\363#\210\302 \364\365#\210\302 \366\367#\210\302 \370\371#\210\302 \372\373#\210\302 \374\375#\210\302 \376\377#\210\302 \201@\201A#\210\302 \201B\201C#\210\302 \201D\201E#\210\302 \201F\201G#\210\302 \201H\201I#\210\302 \201J\201K#\210\302 \201L\201M#\210\302 \201N\201O#\210\302 \201P\201Q#\210\302 \201R\201S#\210\302 \201T\201U#\210\302 \201V\201W#\210\302 \201X\201Y#\207" [brief-prefix-meta-l brief-global-mode-map define-key [(control next)] brief-mark-line-down-with-C- [(meta l)] brief-mark-line-down-with-meta-l [(meta m)] set-mark-command [(meta c)] cua-set-rectangle-mark [(meta u)] brief-undo [(kp-multiply)] [(meta d)] brief-delete-entire-line [(meta k)] brief-delete-end-of-line [(meta backspace)] brief-delete-word [(control backspace)] brief-backward-delete-word [(delete)] brief-delete [(shift backspace)] backward-kill-word [(meta i)] overwrite-mode [(meta 48)] brief-bookmark-jump-set-0 [(meta 49)] brief-bookmark-jump-set-1 [(meta 50)] brief-bookmark-jump-set-2 [(meta 51)] brief-bookmark-jump-set-3 [(meta 52)] brief-bookmark-jump-set-4 [(meta 53)] brief-bookmark-jump-set-5 [(meta 54)] brief-bookmark-jump-set-6 [(meta 55)] brief-bookmark-jump-set-7 [(meta 56)] brief-bookmark-jump-set-8 [(meta 57)] brief-bookmark-jump-set-9 [(meta j)] brief-bookmark-set-jump [(meta left)] backward-sexp [(meta right)] forward-sexp [(control left)] brief-backward-word [(control right)] brief-forward-word [(home)] brief-home [(control home)] brief-move-to-window-line-0 [(control shift home)] brief-mark-move-to-window-line-0 [(meta home)] beginning-of-line [(end)] brief-end [(control end)] brief-move-to-window-line-end [(control shift end)] brief-mark-move-to-window-line-end [(meta end)] end-of-line [prior] brief-fixed-cursor-page-up [next] brief-fixed-cursor-page-down [(meta up)] brief-previous-physical-line [(meta down)] brief-next-physical-line [(meta g)] goto-line [remap previous-line] brief-previous-line [remap next-line] brief-next-line [(control shift l)] brief-recenter-left-right] 4) (defalias 'brief-enable-less-frequent-keys #[nil "\205a\305 \306\307#\210\305\n\310\307#\210\305 \311\312#\210\305 \313\314#\210\305 \315\316#\210\305 \317\320#\210\305 \321\322#\210\305 \323\324#\210\305 \325\326#\210\327\330\331\"\210\305 \332\330#\210\327\333\334\"\210\305 \335\333#\210\305 \336\337#\210\305\f\340\337#\210\305 \341\342#\207" [brief-enable-less-frequent-keys brief-global-mode-map cua--cua-keys-keymap brief-prefix-meta-l cua-global-keymap define-key [(meta v)] brief-version [(meta v)] [(control e)] brief-scroll-up-one-line [(control d)] brief-scroll-down-one-line [(control w)] brief-toggle-auto-backup [(control prior)] brief-beginning-of-file [(control next)] brief-end-of-file [(meta home)] brief-move-to-window-line-0 [(meta end)] brief-end-of-window defalias brief-mark-line-up-with-M- #[nil "\300\301!\207" [brief-call-mark-line-up-with-key #1=[(meta home)]] 2 "Mark line up with M- key" nil] #1# brief-mark-line-down-with-M- #[nil "\300\301!\207" [brief-call-mark-line-down-with-key #2=[(meta end)]] 2 "Mark line down with M- key" nil] #2# [(control return)] brief-open-new-line-next [(control return)] [(meta z)] eshell] 4]) #@64 Brief internal variable to store previous brief mode's status. (defvar brief--prev-brief-mode nil (#$ . 154841)) #@105 Set function for the global `brief-mode' variable. Also set internal variable `brief--prev-brief-mode'. (defalias 'brief-mode-setter #[(arg) "\n\211\207" [brief-mode brief--prev-brief-mode arg] 2 (#$ . 154961)]) #@40 (Backup variable for Win32/Win64 only) (defvar brief-backup-select-enable-clipboard (byte-code "\301\300!\205\207" [select-enable-clipboard boundp] 2) (#$ . 155182)) #@40 (Backup variable for Win32/Win64 only) (defvar brief-backup-select-enable-primary (byte-code "\301\300!\205\207" [select-enable-primary boundp] 2) (#$ . 155357)) #@61 Backup variable for `cua-mode', before enabling Brief mode. (defvar brief-backup-cua-mode cua-mode (#$ . 155528)) #@68 Backup variable for `scroll-bar-mode', before enabling Brief mode. (defvar brief-backup-scroll-bar-mode scroll-bar-mode (#$ . 155648)) #@258 Enable/Disable/Toggle Brief emulation mode. With a prefix argument ARG, enable Brief mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. If called interactively without ARG, toggle brief-mode. (defalias 'brief-mode #[(&optional arg) "\306 \307 \310=\203\n?\202 \247\203 \311W\203\312\202\313!\210\314\303!\2034\315\302 \"\n\2034\302 B\f\n=\204\202\n\204\220\316 \203G\311\202H\317!\210@\203\\\320A\203Y\311\202Z\317!\210B\321=\204u\322\323 !\324=\204u\322\323 !\325=\203\203\314\326!\203\203CDE\327\330!\203\262F\203\240\331\332\333\"\210\331\334\335\"\210\331\336\337\"\210\202\342\331\340\333\"\210\331\341\335\"\210\331\342\337\"\210\202\342F\203\316\343\332\344\345#\210\343\334\344\346#\210\347\332!\210\347\334!\210\202\342\343\340\344\345#\210\343\341\344\346#\210\347\340!\210\347\341!\210\327\330!\203 \331\350\351\"\210\331\352\353\"\210\331\354\355\"\210\331\356\353\"\210\331\357\353\"\210\331\360\353\"\210\202W\327\350!\203\343\350\361\351#\210\347\350!\210\343\352\361\362#\210\347\352!\210\343\354\361\363#\210\347\354!\210\343\356\361\364#\210\347\356!\210\327\357!\203G\343\357\361\365#\210\347\357!\210\327\360!\203W\343\360\361\366#\210\347\360!\210\367\370\371\"\210\367\370\372\"\210\367\373\374\"\210\367\375\376\"\210\367\373\377\"\210\201SG!\210HIJK\201TL\201U\"\203\202\312\202\202\316\311!\210@\203\244A\320\317!\210M\203\256\201V \210B\321=\204\307\322\323 !\324=\204\307\322\323 !\325=\203\323\314\326!\203\323\313\312E\327\330!\203F\203\371\330\332\201W\333#\210\330\334\201W\335#\210\330\336\201X\337#\210\202L\330\340\201W\333#\210\330\341\201W\335#\210\330\342\201X\337#\210\202LF\2034\201Y\332\344\345#\210\201Y\334\344\346#\210\347\332!\210\347\334!\210\202L\201Y\340\344\345#\210\201Y\341\344\346#\210\347\340!\210\347\341!\210\327\330!\203\207\330\350\201Z\201[#\210\330\352\201Z\353#\210\330\354\201Z\355#\210\330\356\201Z\353#\210\330\357\201Z\353#\210\330\360\201Z\353#\210\202\341\327\350!\203\231\201Y\350\361\351#\210\347\350!\210\201Y\352\361\362#\210\347\352!\210\201Y\354\361\363#\210\347\354!\210\201Y\356\361\364#\210\347\356!\210\327\357!\203\317\201Y\357\361\365#\210\347\357!\210\327\360!\203\341\201Y\360\361\366#\210\347\360!\210\201\\\370\371\"\210M\203\374\201\\\370\372\313#\210\201\\\373\374\"\210\201\\\373\377\"\210\201SN!\210\201] \210\327\201^!\203\201^\311!\210O\203*\201_\201`!\210\201a\201`!\203A\201bN\201c\201d#\210\201\\\375\376\"\210IHKJ\201eI\201fK\201g \210P\203tQ\203t\201h\201i\201j\"\210\201TL\201U\"\203\202\313\201k\201l!\210\201m\201n\n\203\232\201o\202\235\201p\"\210\201q\201r!\203\322\306 \203\265\306 \232\203\322\201sR\201t\201u\n\203\312\201v\202\315\201wR#\210))\201x \210\n\207" [#1=#:last-message arg brief-mode local-minor-modes brief--prev-brief-mode brief-backup-cua-mode current-message brief-mode-setter toggle 1 nil t boundp delq cua-mode -1 scroll-bar-mode windows-nt framep selected-frame w32 w64 select-enable-clipboard fboundp advice-add advice-remove x-get-selection brief-gui-get-selection x-set-selection brief-gui-set-selection x-select-text brief-gui-select-text gui-get-selection gui-set-selection gui-select-text ad-disable-advice around brief-advice-gui-get-selection brief-advice-gui-set-selection ad-activate cua--rectangle-post-command brief-cua--rectangle-post-command cua-cancel brief-reset-for-command-cancellation keyboard-quit brief-reset-for-keyboard-quit keyboard-escape-quit cua-clear-rectangle-mark cua-close-rectangle before brief-cua-cancel brief-keyboard-quit brief-keyboard-escape-quit brief-clear-rectangle-mark brief-close-rectangle remove-hook activate-mark-hook brief-region-backup-clipboard-selection brief-postpone-gui-set-selection deactivate-mark-hook brief-resume-gui-set-selection before-change-functions brief-trim-fast-line-number-list brief-delete-search-overlay brief-turn-off-scroll-bar-mode brief-backup-scroll-bar-mode system-type brief-backup-select-enable-clipboard brief-backup-select-enable-primary select-enable-primary brief-selection-op-legacy brief-mode-original-keymap brief-orig-query-replace-from-history-variable query-replace-from-history-variable brief-orig-query-replace-to-history-variable query-replace-to-history-variable emacs-version brief-enable-postpone-selection brief-global-mode-map brief-load-scroll-lock brief-override-meta-x brief-warn-meta-x-moved local use-global-map version< "24.0" brief-enable-clipboard-postponement :around :override ad-enable-advice :before brief-cua-rectangle-undo-helper add-hook brief-enable-less-frequent-keys transient-mark-mode require scroll-lock featurep define-key [(Scroll_Lock)] scroll-lock-mode brief-query-replace-from-history brief-query-replace-to-history brief-xclipboard-cmd-search brief-color-message "Brief: The original key now moved to function key ." minibuffer-prompt call-interactively brief-calibration run-hooks brief-mode-hook brief-mode-on-hook brief-mode-off-hook called-interactively-p any " in current buffer" message "Brief mode %sabled%s" "en" "dis" force-mode-line-update] 4 (#$ . 155790) (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) 'toggle))]) (defvar brief-mode-hook nil) (byte-code "\302\303N\204\f\304\302\303\305#\210\304\302\306\307#\210\304\302\310\311C#\210\312\313\314\315\300!\205#\311\211%\210\316\317\320\"\210\316\321\322\"\210\323 \324\"\203D\325\326\327\330\311$\210\331\326\332\"\210\311\207" [brief-mode-map emacs-version brief-mode-hook variable-documentation put "Hook run after entering or leaving `brief-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode brief-mode brief-mode-mode-line-string boundp eval-after-load cua-base #[nil "\301\302\303\304#\210\301\305\303\304#\210\306\307!\205#\310\300!\205#\311\312\313#\210\311\314\313#\207" [cua--cua-keys-keymap put brief-home CUA move brief-end fboundp cua-paste boundp define-key [remap yank] brief-yank [(control v)]] 4] multiple-cursors #[nil "\304\305!\210\306\300!\203\307>\204\307B \203(\304\310!\210\311\n\312\244!\210\311 \313\244!\210\314\315\316\"\210\317\320\315\"\207" [mc/cursor-specific-vars brief-init-multi-cursor-cmd mc/cmds-to-run-for-all mc/cmds-to-run-once message "Brief mode adjusted for multiple-cursors package." boundp brief-previous-clipboard-selection "Brief mode initialized run-all and run-once commands for multiple-cursors." delete-dups (brief-backward-delete-word brief-backward-word brief-copy-line brief-delete brief-delete-word brief-end brief-forward-word brief-home brief-next-line brief-previous-line brief-undo brief-yank brief-delete-end-of-line brief-delete-entire-line brief-indent-tab brief-kill-line brief-query-replace brief-query-replace-forward brief-query-replace-backward brief-repeat-query-replace brief-repeat-query-replace-forward brief-repeat-query-replace-backward brief-query-replace-forward-currword brief-query-replace-backward-currword brief-search-backward brief-search-backward-currword brief-repeat-search-backward brief-search-forward brief-search-forward-currword brief-repeat-search-forward brief-fixed-cursor-page-up brief-fixed-cursor-page-down brief-call-last-kbd-macro brief-open-new-line-next brief-mark-line-up-with- brief-mark-line-up-with- brief-mark-line-up-with- brief-mark-line-up-with- brief-mark-line-down-with- brief-mark-line-down-with- brief-mark-line-down-with- brief-mark-line-down-with- brief-mark-line-up-with- brief-mark-line-up-with- brief-mark-line-down-with- brief-mark-line-down-with-) (brief-buffer-list-window brief-save-buffer brief-indent-buffer brief-meta-x-wrapper brief-find-file brief-current-filename brief-move-to-window-line-0 brief-mark-move-to-window-line-0 brief-move-to-window-line-end brief-mark-move-to-window-line-end brief-kill-current-buffer brief-buffer-read-only-toggle brief-toggle-search-case-sensitivity brief-toggle-search-replace-regexp brief-print brief-search-again brief-search-forward-currword brief-switch-window-up brief-switch-window-down brief-switch-window-left brief-switch-window-right brief-split-window-up brief-split-window-left brief-delete-window-up brief-delete-window-down brief-delete-window-left brief-delete-window-right brief-delete-current-window brief-unbury-buffer brief-previous-buffer brief-next-buffer brief-bookmark-set-jump brief-bookmark-jump-set brief-recenter-left-right brief-load-kbd-macro brief-save-kbd-macro brief-toggle-pause-kbd-macro brief-scroll-up-one-line brief-scroll-down-one-line brief-toggle-auto-backup brief-beginning-of-file brief-end-of-file brief-end-of-window brief-bookmark-jump-set-0 brief-bookmark-jump-set-1 brief-bookmark-jump-set-2 brief-bookmark-jump-set-3 brief-bookmark-jump-set-4 brief-bookmark-jump-set-5 brief-bookmark-jump-set-6 brief-bookmark-jump-set-7 brief-bookmark-jump-set-8 brief-bookmark-jump-set-9 brief-bookmark-set-jump brief-mark-line-up-with- brief-mark-line-up-with- brief-mark-line-down-with- brief-mark-line-down-with- brief-end-of-window brief-mark-line-up-with- brief-mark-line-down-with- brief-version) defalias brief-setup-multicurs-cmds #[nil "\205 \205\304\n\305\244!\210\304 \306\244!\207" [brief-mode brief-init-multi-cursor-cmd mc/cmds-to-run-for-all mc/cmds-to-run-once delete-dups (beginning-of-line end-of-line forward-sexp backward-sexp) (find-file load-library write-file insert-file compile kill-buffer enlarge-window shrink-window-horizontally enlarge-window-horizontally shrink-window split-window-vertically split-window-horizontally save-buffers-kill-emacs overwrite-mode goto-line help eshell)] 3] add-hook brief-mode-mode] 3] version< "24.0" ad-add-advice line-number-at-pos (brief-override-line-number-at-pos nil nil (advice lambda (&optional pos) (if brief-replace-emacs-func:line-number-at-pos (brief-fast-line-number-at-pos pos) ad-do-it))) around ad-activate t] 6) #@254 Method 'set' of variable `brief-replace-emacs-func:line-number-at-pos'. This function dynamically override `line-number-at-pos' according to the VAL. Notice this works only if functions like `custom-set-variables' are used to set this custom variable. (defalias 'brief-set:brief-replace-emacs-func:line-number-at-pos #[(sym val) "\203(\305\306!\203\306\307\310\311#\210\312\313!\210\202c\314\307\315\316#\210\317\307!\210\312\320!\210\202c\321 \322\211\203B\n@r q\210\322)\nA\211\2041*\305\323!\203U\323\307\311\"\210\312\324!\210\202c\325\307\315\316#\210\317\307!\210\312\326!\210\fL\207" [val b --dolist-tail-- brief-fast-line-number-list sym fboundp advice-add line-number-at-pos :override brief-fast-line-number-at-pos message "Overriding `line-number-at-pos' with Brief's fast version." ad-enable-advice around brief-override-line-number-at-pos ad-activate "Advice `line-number-at-pos' with Brief's fast version." buffer-list nil advice-remove "Restoring `line-number-at-pos' to Emacs's default version." ad-disable-advice "Disable advicing `line-number-at-pos' return to Emacs's default."] 5 (#$ . 166049)]) #@326 Replace Emacs's `line-number-at-pos' with `brief-fast-line-number-at-pos'. Use advice function to replace the system default `line-number-at-pos' which is slow on very big files, especially when using `linum-mode'. Notice that this replacement is global once you loaded brief mode, no matter if brief-mode is enabled or not. (custom-declare-variable 'brief-replace-emacs-func:line-number-at-pos t '(#$ . 167188) :type 'boolean :set 'brief-set:brief-replace-emacs-func:line-number-at-pos) #@322 Emulate Brief by changing less favored Emacs settings for programmers. Before enabling brief mode this sets the following: 1) No line wrapping by setting `truncate-lines' 't. 2) No jumppy scrolling in both vertical and horizontal directions. 3) Smaller borders. This function is used by the quick launcher 'b' script. (defalias 'brief-easy-start #[nil "\304\305\306\"\210\307\310\307\211\311\312!\210\313\307!\207" [scroll-step scroll-conservatively hscroll-margin hscroll-step set-default truncate-lines t 1 101 scroll-bar-mode -1 brief-mode] 4 (#$ . 167683) nil]) (byte-code "\300\301!\210\302\303!\207" [run-hooks brief-load-hook provide brief] 2)