403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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



(byte-code "\300\301!\210\302\303\304\305\306\307%\207" [require man define-button-type WoMan-xref-man-page :supertype Man-abstract-xref-man-page func #[257 "\301\302\"\203\303\304\225O\202!\207" [Man-reference-regexp woman string-match 0 1] 5 "\n\n(fn ARG)"]] 6)
#@289 Explode search path string PATHS into a list of directory names.
Allow Cygwin colon-separated search paths on Microsoft platforms.
Replace null components by calling `woman-parse-man.conf'.
As a special case, if PATHS is nil then replace it by calling
`woman-parse-man.conf'.

(fn PATHS)
(defalias 'woman-parse-colon-path #[257 "\303>\203;\211\204\304\305\306 \"\207\307\310\"\203\311\312\313!\"\207\314\315\316\317#)\266\203\2031\211C\207\311\320\321\313!)\"\207\311\322\313\206C\323!\"\207" [system-type inhibit-changing-match-data path-separator (windows-nt ms-dos) mapcar woman-Cyg-to-Win woman-parse-man\.conf string-search ";" mapcan #[257 "\211\203\211C\207\300\301\302 \"\207" [mapcar woman-Cyg-to-Win woman-parse-man\.conf] 4 "\n\n(fn X)"] parse-colon-path "\\`[a-zA-Z]:" nil t string-match #[257 "\300\301\203C\202
\302 \"\207" [mapcar woman-Cyg-to-Win woman-parse-man\.conf] 4 "\n\n(fn X)"] ":" #[257 "\211\203\211C\207\300 \207" [woman-parse-man\.conf] 2 "\n\n(fn X)"] ""] 8 (#$ . 357)])
#@75 Convert an absolute filename FILE from Cygwin to Windows form.

(fn FILE)
(defalias 'woman-Cyg-to-Win #[257 "\211:\203\207\211\300H\301=\203T\30213\303\304\305\"r\211q\210\306\307\"\216\310\311\312\305\312\313&\210\314\315 {*\2620\207\210\316\317\"\203S\314\224\203G\211\314\225\312O\262\211\300\314HI\210\211\314\320I\210\207\207" [0 47 (error) generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] call-process "cygpath" nil "-m" 1 buffer-size string-match "\\`\\(/cygdrive\\|/\\)?/./" 58] 9 (#$ . 1390)])
(byte-code "\300\301\302\303\304\305\306\307\306\310\311\312&\210\313\314\315\316\317DD\320\321\322\311\301&\210\313\323\315\316\324DD\325\321\326\311\301&\210\313\327\315\316\330DD\331\321\326\311\301&\210\300\332\302\333\304\334\311\301&\210\313\335\315\316\336DD\337\321\340\311\332&\207" [custom-declare-group woman nil "Browse UNIX manual pages `wo (without) man'." :tag "WoMan" :link (custom-manual "(woman) Top") (emacs-commentary-link :tag "Commentary" "woman.el") :group help custom-declare-variable woman-show-log funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil then show the *WoMan-Log* buffer if appropriate.\nI.e. if any warning messages are written to it.  Default is nil." :type boolean woman-pre-format-hook #[0 "\300\207" [nil] 1 #1#] "Hook run by WoMan immediately before formatting a buffer.\nChange only via `Customization' or the function `add-hook'." hook woman-post-format-hook #[0 "\300\207" [nil] 1 #1#] "Hook run by WoMan immediately after formatting a buffer.\nChange only via `Customization' or the function `add-hook'." woman-interface "Interface options for browsing UNIX manual pages `wo (without) man'." "WoMan Interface" woman-man\.conf-path #[0 "\301\302\267\207\303\304\"\207\305B\207\207" [system-type ("/usr/lib" "/etc") #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (windows-nt 5 darwin 10)) mapcar woman-Cyg-to-Win "/usr/share/misc"] 4 #1#] "List of dirs to search and/or files to try for man config file.\nA trailing separator (`/' for UNIX etc.) on directories is\noptional, and the filename is used if a directory specified is\nthe first to start with \"man\" and has an extension starting\nwith \".conf\".  If MANPATH is not set but a config file is found\nthen it is parsed instead to provide a default value for\n`woman-manpath'." (repeat string)] 12)
#@369 Parse if possible configuration file for man command.
Used only if MANPATH is not set or contains null components.
Look in `woman-man.conf-path' and return a value for `woman-manpath'.
Concatenate data from all lines in the config file of the form
  MANPATH  /usr/man
or
  MANDATORY_MANPATH  /usr/man
or
  OPTIONAL_MANPATH  /usr/man
or
  MANPATH_MAP /opt/bin /opt/man
(defalias 'woman-parse-man\.conf #[0 "\301\211\203z\302@\211\262!\203s\303!\203-\304\305\306\305$\211\262\203s\302@\211\262!\203s\307\310\305\"r\211q\210\311\312\"\216\313!\210\314\315\301\305#\203l\316\224\203Q\317\316!\202X\317\320!\317\321!B\211\235\203b\202e\211B\262\262\202>*\262\204zA\262\202\211\237\207" [woman-man\.conf-path nil file-readable-p file-directory-p directory-files t "\\`man.*\\.conf[a-z]*\\'" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	\302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents re-search-forward "^[ 	]*\\(?:\\(?:MANDATORY_\\|OPTIONAL_\\)?MANPATH[ 	]+\\(\\S-+\\)\\|MANPATH_MAP[ 	]+\\(\\S-+\\)[ 	]+\\(\\S-+\\)\\)" 1 match-string 2 3] 8 (#$ . 3833)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\207" [custom-declare-variable woman-locale funcall function #[0 "\300\207" [nil] 1 ""] "String specifying a manual page locale, or nil.\nIf a manual page is available in the specified locale\n(e.g. \"sv_SE.ISO8859-1\"), it will be offered in preference to the\ndefault version.  Normally, `set-locale-environment' sets this at startup." :type (choice string (const nil)) :group woman-interface :version "23.1"] 10)
#@266 Expand a locale into a list suitable for man page lookup.
Expands a locale of the form LANGUAGE_TERRITORY.CHARSET into the list:
LANGUAGE_TERRITORY.CHARSET LANGUAGE_TERRITORY LANGUAGE.CHARSET LANGUAGE.
The TERRITORY and CHARSET portions may be absent.

(fn LOCALE)
(defalias 'woman-expand-locale #[257 "\300\301\"\210\302\303\"\302\304\"\302\305\"\306\307\205\205P\205+\205+P\2044\2056F\"\207" [string-match "\\([^._]*\\)\\(_[^.]*\\)?\\(\\..*\\)?" match-string 1 2 3 delq nil] 10 (#$ . 5441)])
#@278 Add locale-specific subdirectories to the elements of MANPATH.
MANPATH is a list of the form of `woman-manpath'.  Returns a list
with those locale-specific subdirectories specified by the action
of `woman-expand-locale' on `woman-locale' added, where they exist.

(fn MANPATH)
(defalias 'woman-manpath-add-locales #[257 "G\301U\203\207\302!\303\211\211\203w\211@\211\203`\211@\304\305\306\307:\203,A\202.!\"!\211\262!\203Y:\203D@B\202E\211\235\203Q\202U\211B\262\262A\266\202\202\210\211\235\203k\202n\211B\262A\266\202\202\237\207" [woman-locale 0 woman-expand-locale nil file-directory-p file-name-as-directory expand-file-name substitute-in-file-name] 14 (#$ . 5969)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\306\317\312\313&\210\300\320\302\303\321DD\322\306\323\312\313&\210\300\324\302\303\325DD\326\306\327\312\313&\210\300\330\302\303\331DD\332\306\333\312\313&\210\300\334\302\303\335DD\336\306\337\312\313&\210\300\340\302\303\341DD\342\306\343\312\313&\210\300\344\302\303\345DD\346\306\347\312\313&\210\300\350\302\303\351DD\352\306\353\312\313&\210\300\354\302\303\355DD\356\306\357\312\313&\210\300\360\302\303\361DD\362\306\363\312\313&\207" [custom-declare-variable woman-manpath funcall function #[0 "\300\301\302\303!!!\206\304\207" [woman-manpath-add-locales woman-parse-colon-path getenv "MANPATH" ("/usr/man" "/usr/share/man" "/usr/local/man")] 4 #1=""] "List of DIRECTORY TREES to search for UN*X manual files.\nEach element should be the name of a directory that contains\nsubdirectories of the form `man?', or more precisely subdirectories\nselected by the value of `woman-manpath-man-regexp'.  Non-directory\nand unreadable files are ignored.\n\nElements can also be a cons cell indicating a mapping from PATH\nto manual trees: if such an element's car is equal to a path\nelement of the environment variable PATH, the cdr of the cons\ncell is included in the directory tree search.\n\nIf not set then the environment variable MANPATH is used.  If no such\nenvironment variable is found, the default list is determined by\nconsulting the man configuration file if found, which is determined by\nthe user option `woman-man.conf-path'.  An empty substring of MANPATH\ndenotes the default list.\n\nAny environment variables (names must have the UN*X-style form $NAME,\ne.g. $HOME, $EMACSDATA, $emacs_dir) are evaluated first but each\nelement must evaluate to a SINGLE directory name.  Trailing `/'s are\nignored.  (Specific directories in `woman-path' are also searched.)\n\nMicrosoft platforms:\nI recommend including drive letters explicitly, e.g.\n\n  (\"C:/Cygwin/usr/man/\" \"C:/Cygwin/usr/local/man\").\n\nThe MANPATH environment variable may be set using DOS semi-colon-\nseparated or UN*X/Cygwin colon-separated syntax (but not mixed)." :type (repeat (choice string (cons string string))) :version "23.1" :group woman-interface woman-manpath-man-regexp #[0 "\300\207" ["[Mm][Aa][Nn]"] 1 #1#] "Regexp to match man directories UNDER `woman-manpath' directories.\nThese normally have names of the form `man?'.  Its default value is\n\"[Mm][Aa][Nn]\", which is case-insensitive mainly for the benefit of\nMicrosoft platforms.  Its purpose is to avoid `cat?', `.', `..', etc." regexp woman-path #[0 "\301=\205\302\207" [system-type ms-dos ("$DJDIR/info" "$DJDIR/man/cat[1-9onlp]")] 2 #1#] "List of SPECIFIC DIRECTORIES to search for UN*X manual files.\nFor example\n\n  (\"/emacs/etc\").\n\nThese directories are searched in addition to the directory trees\nspecified in `woman-manpath'.  Each element should be a directory\nstring or nil, which represents the current directory when the path is\nexpanded and cached.  However, the last component (only) of each\ndirectory string is treated as a regexp (Emacs, not shell) and the\nstring is expanded into a list of matching directories.  Non-directory\nand unreadable files are ignored.  The default value is nil.\n\nAny environment variables (which must have the UN*X-style form $NAME,\ne.g. $HOME, $EMACSDATA, $emacs_dir) are evaluated first but each\nelement must evaluate to a SINGLE directory name (regexp, see above).\nFor example\n\n  (\"$EMACSDATA\") [or equivalently (\"$emacs_dir/etc\")].\n\nTrailing `/'s are discarded.  (The directory trees in `woman-manpath'\nare also searched.)  On Microsoft platforms I recommend including\ndrive letters explicitly." (repeat (choice string (const nil))) woman-cache-level #[0 "\300\207" [2] 1 #1#] "The level of topic caching.\n1 - cache only the topic and directory lists\n    (the only level before version 0.34 - only for compatibility);\n2 - cache also the directories for each topic\n    (faster, without using much more memory);\n3 - cache also the actual filenames for each topic\n    (fastest, but uses twice as much memory).\nThe default value is currently 2, a good general compromise.\nIf the `woman' command is slow to find files then try 3, which may be\nparticularly beneficial with large remote-mounted man directories.\nRun the `woman' command with a prefix argument or delete the cache\nfile `woman-cache-filename' for a change to take effect.\n(Values < 1 behave like 1; values > 3 behave like 3.)" (choice (const :tag "Minimal" 1) (const :tag "Default" 2) (const :tag "Maximal" 3)) woman-cache-filename #[0 "\300\207" [nil] 1 #1#] "The full pathname of the WoMan directory and topic cache file.\nIt is used to save and restore the cache between sessions.  This is\nespecially useful with remote-mounted man page files!  The default\nvalue of nil suppresses this action.  The `standard' non-nil\nfilename is \"~/.wmncach.el\".  Remember that a prefix argument forces\nthe `woman' command to update and re-write the cache." (choice (const :tag "None" nil) (const :tag "~/.wmncach.el" "~/.wmncach.el") file) woman-dired-keys #[0 "\300\207" [t] 1 #1#] "List of `dired' mode keys to define to run WoMan on current file.\nE.g. (\"w\" \"W\"), or any non-null atom to automatically define\n\"w\" and \"W\" if they are unbound, or nil to do nothing.\nDefault is t." (choice (const :tag "None" nil) (repeat string) (other :tag "Auto" t)) woman-imenu-generic-expression #[0 "\300\207" [((nil "\n\\([A-Z].*\\)" 1) ("*Subsections*" "^   \\([A-Z].*\\)" 1))] 1 #1#] "Imenu support for Sections and Subsections.\nAn alist with elements of the form (MENU-TITLE REGEXP INDEX) --\nsee the documentation for `imenu-generic-expression'." (alist :key-type (choice :tag "Title" (const nil) string) :value-type (group (choice (regexp :tag "Regexp") function) integer)) woman-imenu #[0 "\300\207" [nil] 1 #1#] "If non-nil then WoMan adds a Contents menu to the menubar.\nIt does this by calling `imenu-add-to-menubar'.  Default is nil." boolean woman-imenu-title #[0 "\300\207" ["CONTENTS"] 1 #1#] "The title to use if WoMan adds a Contents menu to the menubar.\nDefault is \"CONTENTS\"." string woman-use-topic-at-point-default #[0 "\300\207" [nil] 1 #1#] "Default value for `woman-use-topic-at-point'." (choice (const :tag "Yes" t) (const :tag "No" nil)) woman-use-topic-at-point #[0 "\207" [woman-use-topic-at-point-default] 1 #1#] "Control use of the word at point as the default topic.\nIf non-nil the `woman' command uses the word at point automatically,\nwithout interactive confirmation, if it exists as a topic." (choice (const :tag "Yes" t) (const :tag "No" nil))] 10)
#@242 Regexp used to select (possibly compressed) man source files, e.g.
"\.\([0-9lmnt]\w*\)\(\.\(g?z\|bz2\|xz\)\)?\\='".
Built automatically from the customizable user options
`woman-uncompressed-file-regexp' and `woman-file-compression-regexp'.
(defvar woman-file-regexp nil (#$ . 13394))
#@234 Bind SYMBOL to VALUE and set `woman-file-regexp' as per user customizations.
Used as :set cookie by Customize when customizing the user options
`woman-uncompressed-file-regexp' and `woman-file-compression-regexp'.

(fn SYMBOL VALUE)
(defalias 'set-woman-file-regexp #[514 "\303\"\210\304\300!\205\304\301!\205\305	\306\307O\310R\211\207" [woman-uncompressed-file-regexp woman-file-compression-regexp woman-file-regexp set-default boundp "\\(" 0 -2 "\\)?\\'"] 7 (#$ . 13686)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\317\320\306\307\310\311\312\313&\210\300\321\302\303\322DD\323\306\324\312\313&\210\325\326\327\330\331\332\312\333&\210\300\334\302\303\335DD\336\306\337\312\326&\210\300\340\302\303\341DD\342\306\324\312\326&\210\300\343\302\303\344DD\345\306\337\312\326&\210\300\346\302\303\347DD\350\306\324\312\326&\210\300\351\302\303\352DD\353\306\324\312\326&\210\300\354\302\303\355DD\356\306\324\312\326&\210\300\357\302\303\360DD\361\306\362\312\326&\210\325\363\327\364\331\365\312\333\312\366&	\210\300\367\302\303\370DD\371\306\324\312\363&\210\372\373\374\375\312\363%\210\372\376\377\201@\312\363%\210\372\201A\201B\201C\312\363%\210\372\201D\201E\201F\312\363%\207" [custom-declare-variable woman-uncompressed-file-regexp funcall function #[0 "\300\207" ["\\.\\([0-9lmnt]\\w*\\)"] 1 #1=""] "Do not change this unless you are sure you know what you are doing!\nRegexp used to select man source files (ignoring any compression extension).\n\nThe SysV standard man pages use two character suffixes, and this is\nbecoming more common in the GNU world.  For example, the man pages\nin the ncurses package include `toe.1m', `form.3x', etc.\n\nNote: an optional compression regexp will be appended, so this regexp\nMUST NOT end with any kind of string terminator such as $ or \\\\='." :type regexp :set set-woman-file-regexp :group woman-interface woman-file-compression-regexp #[0 "\300\207" ["\\.\\(g?z\\|bz2\\|xz\\)\\'"] 1 #1#] "Do not change this unless you are sure you know what you are doing!\nRegexp used to match compressed man file extensions for which\ndecompressors are available and handled by auto-compression mode,\ne.g. \"\\\\.\\\\(g?z\\\\|bz2\\\\|xz\\\\)\\\\\\='\" for `gzip', `bzip2', or `xz'.\nShould begin with \\. and end with \\\\=' and MUST NOT be optional." :version "24.1" woman-use-own-frame #[0 "\300\207" [nil] 1 #1#] "If non-nil then use a dedicated frame for displaying WoMan windows.\nOnly useful when run on a graphic display such as X or MS-Windows." boolean custom-declare-group woman-formatting nil "Formatting options for browsing UNIX manual pages `wo (without) man'." :tag "WoMan Formatting" woman woman-fill-column #[0 "\300\207" [65] 1 #1#] "Right margin for formatted text -- default is 65." integer woman-fill-frame #[0 "\300\207" [nil] 1 #1#] "If non-nil then most of the window width is used." woman-default-indent #[0 "\300\207" [5] 1 #1#] "Default prevailing indent set by -man macros -- default is 5.\nSet this variable to 7 to emulate GNU man formatting." woman-bold-headings #[0 "\300\207" [t] 1 #1#] "If non-nil then embolden section and subsection headings.  Default is t.\nHeading emboldening is NOT standard `man' behavior." woman-ignore #[0 "\300\207" [t] 1 #1#] "If non-nil then unrecognized requests etc. are ignored.  Default is t.\nThis gives the standard ?roff behavior.  If nil then they are left in\nthe buffer, which may aid debugging." woman-preserve-ascii #[0 "\300\207" [t] 1 #1#] "If non-nil, preserve ASCII characters in the WoMan buffer.\nOtherwise, to save time, some backslashes and spaces may be\nrepresented differently (as the values of the variables\n`woman-escaped-escape-char' and `woman-unpadded-space-char'\nrespectively) so that the buffer content is strictly wrong even though\nit should display correctly.  This should be irrelevant unless the\nbuffer text is searched, copied or saved to a file." woman-emulation #[0 "\300\207" [nroff] 1 #1#] "WoMan emulation, currently either nroff or troff.  Default is nroff.\nTroff emulation is experimental and largely untested.\n(Add groff later?)" (choice (const nroff) (const troff)) woman-faces "Face options for browsing UNIX manual pages `wo (without) man'." "WoMan Faces" faces woman-fontify #[0 "\300 \206\f\301 \206\f\302 \207" [display-color-p display-graphic-p x-display-color-p] 1 #1#] "If non-nil then WoMan assumes that face support is available.\nIt defaults to a non-nil value if the display supports either colors\nor different fonts." custom-declare-face woman-italic ((t :inherit italic)) "Face for italic font in man pages." woman-bold ((t :inherit bold)) "Face for bold font in man pages." woman-unknown ((t :inherit font-lock-warning-face)) "Face for all unknown fonts in man pages." woman-addition ((t :inherit font-lock-builtin-face)) "Face for all WoMan additions to man pages."] 12)
#@73 Set foreground colors of italic and bold faces to their default values.
(defalias 'woman-default-faces #[0 "\300\301\211\211\302N\206\211\303N\206\211\211\304N\262\262\"\210\300\305\211\211\302N\206.\211\303N\206.\211\211\304N\262\262\"\207" [face-spec-set woman-italic customized-face saved-face face-defface-spec woman-bold] 6 (#$ . 18615) nil])
(make-obsolete 'woman-default-faces "customize the woman-* faces instead." "24.4")
#@116 Set foreground colors of italic and bold faces to that of the default face.
This is usually either black or white.
(defalias 'woman-monochrome-faces #[0 "\300\301\302\"\210\300\303\302\"\207" [set-face-foreground woman-italic unspecified woman-bold] 3 (#$ . 19063) nil])
(make-obsolete 'woman-monochrome-faces "customize the woman-* faces instead." "24.4")
#@65 If non-nil then non-ASCII characters and symbol font supported.
(defconst woman-font-support (eq window-system 'w32) (#$ . 19426))
#@73 Select symbol fonts from a list FONTS of font name strings.

(fn FONTS)
(defalias 'woman-select-symbol-fonts #[257 "\301\211\203*\211@\302\301\303\304#)\266\203\203#\211\235\204#\211B\262A\266\202\202\210\207" [inhibit-changing-match-data nil "-Symbol-" t string-match] 11 (#$ . 19563)])
(byte-code "\203N\302\303!\210\304\305\306\307\310DD\311\312\313\314\315&\210\304\316\306\307\317DD\320\312\313\314\315&\210\321\322\323\324\325\"!\2065\322\323\324!!!\210\304\326\306\307\327DD\330\312\331\332\333\334	\"\335\"B\314\315&\210\302\207" [woman-font-support woman-symbol-font-list make-face woman-symbol custom-declare-variable woman-use-extended-font funcall function #[0 "\300\207" [t] 1 #1=""] "If non-nil then may use non-ASCII characters from the default font." :type boolean :group woman-faces woman-use-symbol-font #[0 "\300\207" [nil] 1 #1#] "If non-nil then may use the symbol font.\nIt is off by default, mainly because it may change the line spacing\n(in NTEmacs 20.5)." (lambda (#2=#:def-tmp-var) (defconst woman-symbol-font-list #2# "Symbol font(s), preferably same size as default when WoMan was loaded.")) woman-select-symbol-fonts x-list-fonts "*" default woman-symbol-font #[0 "@\207" [woman-symbol-font-list] 1 #1#] "A string describing the symbol font to use for special characters.\nIt should be compatible with, and the same size as, the default text font.\nUnder MS-Windows, the default is\n  \"-*-Symbol-normal-r-*-*-*-*-96-96-p-*-ms-symbol\"." choice append mapcar #[257 "\300D\207" [const] 3 "\n\n(fn X)"] (string)] 10)
(defvar woman-use-extended-font nil)
(defvar woman-use-symbol-font nil)
(defvar woman-symbol-font nil)
#@48 Justify styles for `fill-region-as-paragraph'.
(defconst woman-justify-styles [left right center full] (#$ . 21240))
#@54 Adjustment indicator `l' -- adjust left margin only.
(defconst woman-adjust-left 0 (#$ . 21363))
#@55 Adjustment indicator `r' -- adjust right margin only.
(defconst woman-adjust-right 1 (#$ . 21466))
#@37 Adjustment indicator `c' -- center.
(defconst woman-adjust-center 2 (#$ . 21571))
#@57 Adjustment indicator `b' or `n' -- adjust both margins.
(defconst woman-adjust-both 3 (#$ . 21659))
#@43 Current adjustment number-register value.
(defvar woman-adjust woman-adjust-both (#$ . 21765))
#@44 Previous adjustment number-register value.
(defvar woman-adjust-previous woman-adjust (#$ . 21866))
#@61 Current justification style for `fill-region-as-paragraph'.
(defvar woman-justify (aref woman-justify-styles woman-adjust) (#$ . 21972))
#@62 Previous justification style for `fill-region-as-paragraph'.
(defvar woman-justify-previous woman-justify (#$ . 22115))
#@22 Current left margin.
(defvar woman-left-margin woman-default-indent (#$ . 22241))
#@28 Current prevailing indent.
(defvar woman-prevailing-indent woman-default-indent (#$ . 22329))
#@94 Interparagraph distance in lines.
Set by .PD; used by .SH, .SS, .TP, .LP, .PP, .P, .IP, .HP.
(defvar woman-interparagraph-distance 1 (#$ . 22429))
#@41 Blank lines to leave as vertical space.
(defvar woman-leave-blank-lines nil (#$ . 22582))
#@39 Default tab width set by -man macros.
(defconst woman-tab-width 5 (#$ . 22678))
#@37 Current fill mode: nil for filling.
(defvar woman-nofill nil (#$ . 22764))
#@48 Left margin stack for nested use of `.RS/.RE'.
(defvar woman-RS-left-margin nil (#$ . 22845))
#@54 Prevailing indent stack for nested use of `.RS/.RE'.
(defvar woman-RS-prevailing-indent nil (#$ . 22945))
#@107 Current no-space mode: nil for normal spacing.
Set by `.ns' request; reset by any output or `.rs' request
(defvar woman-nospace nil (#$ . 23058))
(defvar WoMan-current-file nil)
(defvar WoMan-Log-header-point-max nil)
#@29 Set `woman-nospace' to nil.
(defalias 'woman-reset-nospace #[0 "\301\211\207" [woman-nospace nil] 2 (#$ . 23282)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-reset-nospace speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@60 Regexp to match a ?roff request plus trailing white space.
(defconst woman-request-regexp "^[.'][ 	]*\\(\\S +\\) *" (#$ . 23549))
#@70 Buffer-local: set to true if function `woman-imenu' has been called.
(defvar woman-imenu-done nil (#$ . 23685))
(byte-code "\300\301!\210\300\302!\207" [make-variable-buffer-local woman-imenu-done imenu--last-menubar-index-alist] 2)
#@118 An alist representing WoMan buffers that are already decoded.
Each element is of the form (FILE-NAME . BUFFER-NAME).
(defvar woman-buffer-alist nil (#$ . 23925))
#@99 Ordinal number of current buffer entry in `woman-buffer-alist'.
The ordinal numbers start from 0.
(defvar woman-buffer-number 0 (#$ . 24093))
#@189 List of one-character built-in condition names that are true.
Should include ?e, ?o (page even/odd) and either ?n (nroff) or ?t (troff).
Default is (?n ?e ?o).  Set via `woman-emulation'.
(defvar woman-if-conditions-true '(110 101 111) (#$ . 24242))
#@195 Delete rest of current line; if all blank then delete thru newline.
With a numeric argument ARG, delete that many lines from point.
Negative arguments delete lines backward.

(fn &optional ARG)
(defalias 'woman-delete-line #[256 "`\203y\210\202#m\203\300\301\302\"\210\303\304!\203 \305y\210\202#\302\210`|\207" [signal end-of-buffer nil looking-at "[ 	]*$" 1] 5 (#$ . 24499)])
#@51 Delete current line from beginning including eol.
(defalias 'woman-delete-whole-line #[0 "\300 \210\301\302!\207" [beginning-of-line woman-delete-line 1] 2 (#$ . 24893)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-delete-whole-line speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@77 Delete all spaces and tabs FOLLOWING point (cf. `delete-horizontal-space').
(defalias 'woman-delete-following-space #[0 "`\300\301w\210`|\207" [" 	" nil] 3 (#$ . 25219)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-delete-following-space speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@81 Delete subexpression SUBEXP of buffer text matched by last search.

(fn SUBEXP)
(defalias 'woman-delete-match #[257 "\211\224\225|\207" [] 3 (#$ . 25550)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-delete-match speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@65 Expanded directory list cache.  Resetting to nil forces update.
(defvar woman-expanded-directory-path nil (#$ . 25857))
#@62 Expanded topic alist cache.  Resetting to nil forces update.
(defvar woman-topic-all-completions nil (#$ . 25983))
#@614 Browse UN*X man page for TOPIC (Without using external Man program).
The major browsing mode used is essentially the standard Man mode.
Choose the filename for the man page using completion, based on the
topic selected from the directories specified in `woman-manpath' and
`woman-path'.  The directory expansions and topics are cached for
speed.  With a prefix argument, force the caches to be
updated (e.g. to re-interpret the current directory).

Used non-interactively, arguments are optional: if given then TOPIC
should be a topic string and non-nil RE-CACHE forces re-caching.

(fn &optional TOPIC RE-CACHE)
(defalias 'woman #[512 ";\203\301\302\303\304#)\266\203\203(\305\"\211\203!\306!\207\307\310!\210\311 \207\307\312!\210\311 \207" [inhibit-changing-match-data "\\S " nil t string-match woman-file-name woman-find-file message "WoMan Error: No matching manual files found in search path" ding "WoMan Error: No topic specified in non-interactive call"] 9 (#$ . 26105) (list nil current-prefix-arg)])
(define-key-after menu-bar-manuals-menu [woman] '(menu-item "Read Man Page (WoMan)..." woman :help "Man-page documentation Without Man") t)
#@109 A list of cached data used to determine cache validity.
Set from the cache by `woman-read-directory-cache'.
(defvar woman-cached-data nil (#$ . 27275))
#@107 Generate a list of data used to determine cache validity.
Called both to generate and to check the cache!
(defalias 'woman-cached-data #[0 "\304\211	\211\203F\211@\211:\203'\204\305\306\307!\n\310#\262\211@\235\205%\211A\262\211\203?\311!\211\235\2038\202;\211B\262\262A\266\202\202\237\262\266\202\312\311\"E\207" [woman-cache-level woman-manpath path-separator woman-path nil split-string getenv "PATH" t substitute-in-file-name mapcar] 9 (#$ . 27434)])
#@154 Load the directory and topic cache.
It is loaded from the file named by the variable `woman-cache-filename'.
Return t if the file exists, nil otherwise.
(defalias 'woman-read-directory-cache #[0 "\205\302\303\304\303$\205	\301 \232\207" [woman-cache-filename woman-cached-data load t nil] 5 (#$ . 27922)])
#@107 Save the directory and topic cache.
It is saved to the file named by the variable `woman-cache-filename'.
(defalias 'woman-write-directory-cache #[0 "\205:r\305\306!q\210p\307\310\n!\210\311\312!\210\313\314\315\316\315 DE!\210\313\314\303\316DE!\210\313\314\304\316\fDE!\210\317!\210\320\n!+\207" [woman-cache-filename backup-inhibited standard-output woman-expanded-directory-path woman-topic-all-completions generate-new-buffer "WoMan tmp buffer" t buffer-disable-undo princ ";;; WoMan directory and topic cache -- generated automatically\n" print setq woman-cached-data quote write-file kill-buffer] 5 (#$ . 28241)])
(defvaralias 'woman-topic-history 'Man-topic-history)
#@25 File-name read history.
(defvar woman-file-history nil (#$ . 28928))
#@375 Get the name of the UN*X man-page file describing a chosen TOPIC.
When `woman' is called interactively, the word at point may be
automatically used as the topic, if the value of the user option
`woman-use-topic-at-point' is non-nil.  Return nil if no file can
be found.  Optional argument RE-CACHE, if non-nil, forces the
cache to be re-read.

(fn TOPIC &optional RE-CACHE)
(defalias 'woman-file-name #[513 "\211\204\203\f	\204%\306 \204%\307\310!\210\311\n\"\307\312!\210\301!\313 \210\314;\204o\315\304!\2035\f\2028
\211\203O\316\317!\206B\320\211\262\203O\321	\"\204o\316 \211\205]\321	\"\205]\211\322\323\324\"	\314\325\314\326&\266\202\262G\327U?\205\335\330!\211\262\204\250\331	\"\211\262\203\250\211\203\236G@GU\204\236\211A\262\202\212\211\203\250\330@!\262\211\204\256\314\207\211A\204\267\211@@\207\332\333\334!\211\335\336#M\210\335\337\"\216\340\341\"\210\322\342\314\325\343\320	\"\344&)\266\202\207" [woman-expanded-directory-path woman-topic-all-completions woman-manpath woman-path woman-use-topic-at-point woman-use-topic-at-point-default woman-read-directory-cache message "Building list of manual directory expansions..." woman-expand-directory-path "Building completion list of all manual topics..." woman-write-directory-cache nil boundp current-word t "" test-completion completing-read format-prompt "Manual entry" 1 woman-topic-history 0 woman-file-name-all-completions all-completions #[0 "\301 )\207" [this-command minibuffer-complete] 1] make-symbol "minibuffer-setup" make-closure #[0 "\302\303\301\"\210\300 \207" [V0 V1 remove-hook minibuffer-setup-hook] 3] #[0 "\301\302\300\"\207" [V0 remove-hook minibuffer-setup-hook] 3] add-hook minibuffer-setup-hook "Manual file: " try-completion woman-file-history] 13 (#$ . 29004)])
#@135 Select unique elements for which PREDICATE is true in LIST.
(Note that this function changes the value of LIST.)

(fn PREDICATE LIST)
(defalias 'woman-select #[514 "\211\203\211@A\235\204@!\204\211A\262\202\211\205H\211\300A\211\262\203E\211@A\235\204=@!\203=\211\262\202 A\241\210\202 \266\202\207" [nil] 6 (#$ . 30824)])
#@65 Return t if DIR is readable, otherwise log a warning.

(fn DIR)
(defalias 'woman-file-readable-p #[257 "\300!\206\n\301\302\"\207" [file-readable-p WoMan-warn "Ignoring unreadable `manpath' directory tree `%s'!"] 4 (#$ . 31180)])
#@305 Return a sorted list of files in directory HEAD matching regexp in DIR.
Value is a sorted list of the absolute pathnames of all the files in
directory HEAD, or the current directory if HEAD is nil, that match the
regexp that is the final component of DIR.  Log a warning if list is empty.

(fn HEAD DIR)
(defalias 'woman-directory-files #[514 "\301\206\302!\303\304!#\206\305\306\"\207" [default-directory directory-files directory-file-name t file-name-nondirectory WoMan-warn "No directories match `woman-path' entry `%s'!"] 7 (#$ . 31420)])
#@67 Return t if DIR is accessible, otherwise log a warning.

(fn DIR)
(defalias 'woman-file-accessible-directory-p #[257 "\300!\206\n\301\302\"\207" [file-accessible-directory-p WoMan-warn "Ignoring inaccessible `man-page' directory `%s'!"] 4 (#$ . 31978)])
#@323 Expand the manual directories in PATH-DIRS and PATH-REGEXPS.
PATH-DIRS should be a list of general manual directories (like
`woman-manpath'), while PATH-REGEXPS should be a list of specific
manual directory regexps (like `woman-path').
Ignore any paths that are unreadable or not directories.

(fn PATH-DIRS PATH-REGEXPS)
(defalias 'woman-expand-directory-path #[514 "<\204	C\262\211<\204\211C\262\303\211\211\211\203X\211@\211:\2039\204.\304\305\306!\307#\262\211@\235\2057\211A\262\211\203Q\310!\203Q\311!\262\312\307	#\244\262A\266\202\202\210\211\203\224\211@\211\203x\311!\262\313!\211\262\203x\310!\203\215\211\203\206\314\"\244\202\213\315\n!B\262A\266\202\202Z\210\316\317\"\207" [path-separator woman-manpath-man-regexp default-directory nil split-string getenv "PATH" t woman-file-readable-p woman-canonicalize-dir directory-files file-name-directory woman-directory-files directory-file-name woman-select woman-file-accessible-directory-p] 12 (#$ . 32242)])
#@106 Canonicalize the directory name DIR.
Any UN*X-style environment variables are evaluated first.

(fn DIR)
(defalias 'woman-canonicalize-dir #[257 "\301\302!!\262\211\303\304O\305\230\203\211\306\303O\262\307>\203%\310!\311!P\262\207" [system-type expand-file-name substitute-in-file-name -1 nil "/" 0 (windows-nt ms-dos cygwin) file-name-directory file-name-nondirectory] 4 (#$ . 33267)])
#@142 Return t if DIR is not a member of the list PATH, nil otherwise.
If DIR is `.' it is first replaced by the current directory.

(fn DIR PATH)
(defalias 'woman-not-member #[514 "\235?\207" [] 4 (#$ . 33672)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-not-member speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@146 Return an alist of the man files in all man directories in the list PATH.
The cdr of each alist element is the path-index / filename.

(fn PATH)
(defalias 'woman-topic-all-completions #[257 "\300\211\301\203)\211A\262\242\262\235?\266\202\203\"\302\"B\262\211T\262\202\303\304\305\"!\207" [nil 0 woman-topic-all-completions-1 woman-topic-all-completions-merge apply nconc] 8 (#$ . 34030)])
#@314 Return an alist of the man topics in directory DIR with index PATH-INDEX.
A topic is a filename sans type-related extensions.
Support 3 levels of caching: each element of the alist will be a list
of the first `woman-cache-level' elements from the following list:
(topic path-index filename).

(fn DIR PATH-INDEX)
(defalias 'woman-topic-all-completions-1 #[514 "\303\304\303\305$\306\307	\"\211\203?\211@\310\"\203!\211\311\211\224O\202\"\211\n\312V\2053\n\313V\2052CBBB\262A\266\202\202\f\207" [woman-file-regexp woman-file-compression-regexp woman-cache-level nil directory-files t format "\\(\\.[^.\\/]*\\)?\\(%s\\)?\\'" string-match 0 1 2] 11 (#$ . 34445)])
#@166 Merge the alist ALIST so that the keys are unique.
Also make each path-info component into a list.
(Note that this function changes the value of ALIST.)

(fn ALIST)
(defalias 'woman-topic-all-completions-merge #[257 "\301\302\303\"\262\304V\203G\211\203E\211@\211@@@\232\2033\211A@A\235\204>@A@AB\241\210\202>\211AC\241\210\211B\262A\266\202\202\210\207\211\203c\211@\211@@@\232\204\\\211B\262A\266\202\202H\210\207" [woman-cache-level nil sort #[514 "\211@@\231\207" [] 4 "\n\n(fn X Y)"] 1] 7 (#$ . 35131)])
#@83 Return an alist of the files in all man directories that match TOPIC.

(fn TOPIC)
(defalias 'woman-file-name-all-completions #[257 "\303\304!\305R	\n\306\211@A\203O\307\"A\306\211\203J\211@\211@8\262\211A@\262\2039\310QC\202@\311\312\f#\244\262A\266\202\202\266\202s\203s@\262A\262\235?\266\202\203O\211\311\312#\244\262\202O\313\314\"\207" [woman-file-regexp woman-topic-all-completions woman-expanded-directory-path "\\`" regexp-quote "\\(\\..+\\)*" nil assoc "/" directory-files t mapcar list] 15 (#$ . 35675)])
#@73 Bind the argument KEY to the command `woman-dired-find-file'.

(fn KEY)
(defalias 'woman-dired-define-key #[257 "\301\302#\207" [dired-mode-map define-key woman-dired-find-file] 5 (#$ . 36242)])
#@85 If KEY is undefined in Dired, bind it to command `woman-dired-find-file'.

(fn KEY)
(defalias 'woman-dired-define-key-maybe #[257 "\301\"\302=\204\301\"?\205\303!\207" [dired-mode-map lookup-key undefined woman-dired-define-key] 4 (#$ . 36445)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-dired-define-key-maybe speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@65 Define dired keys to run WoMan according to `woman-dired-keys'.
(defalias 'woman-dired-define-keys #[0 "\203?<\203\302\303\"\210\202?\304\305	\"\306=\204#\305	\"?\205&\303!\266\307\305	\"\306=\204:\305	\"?\205=\303!\266\310\305	\311\"\312\313\314$\207" [woman-dired-keys dired-mode-map mapc woman-dired-define-key "w" lookup-key undefined "W" define-key-after [menu-bar immediate] [woman] ("Read Man Page (WoMan)" . woman-dired-find-file) view] 5 (#$ . 36860)])
(byte-code "\300\301!\203\f\302 \210\202\303\304\302\"\210\300\207" [featurep dired woman-dired-define-keys add-hook dired-mode-hook] 3)
#@56 In dired, run the WoMan man-page browser on this file.
(defalias 'woman-dired-find-file #[0 "\300\301 !\207" [woman-find-file dired-get-filename] 2 (#$ . 37487) nil])
#@59 In tar mode, run the WoMan man-page browser on this file.
(defalias 'woman-tar-extract-file #[0 "\304=\204\n\305\306!\210\307 \210\310\311K \210\n\312\313\314\n!!!\210\315 \210eb*\207" [major-mode global-font-lock-mode buffer-file-name WoMan-current-file tar-mode error "`woman-tar-extract-file' can be used only in `tar-mode'" buffer-disable-undo nil tar-extract rename-buffer woman-make-bufname file-name-nondirectory woman-process-buffer] 4 (#$ . 37660) nil])
#@56 The full pathname of the last file formatted by WoMan.
(defvar woman-last-file-name nil (#$ . 38133))
#@54 Reformat last file, e.g. after changing fill column.
(defalias 'woman-reformat-last-file #[0 "\203	\301\302\"\207\303\301!\207" [woman-last-file-name woman-find-file t call-interactively] 3 (#$ . 38241) nil])
#@469 Find, decode and browse a specific UN*X man-page source file FILE-NAME.
Use existing buffer if possible; reformat only if prefix arg given.
When called interactively, optional argument REFORMAT forces reformatting
of an existing WoMan buffer formatted earlier.
No external programs are used, except that `gunzip' will be used to
decompress the file if appropriate.  See the documentation for the
`woman' command for further details.

(fn FILE-NAME &optional REFORMAT)
(defalias 'woman-find-file #[513 "\306!\211\262	\307\310\203!@@\230\204!A\262\nT\202\205'\311 \211\262\2031\203t\312!\313\f\307\313\314#)\266\203\205G\313\211\203P\315!\262\203Y\316 \202\\\317!\262\320#\210\204qB	B\310)\266\266\321 \210\307\212\322!\203\366\323y\210`\324\323!\210`\307\325\214}\210eb\210\326 \210m\204\363`U\204\363`\262\327\313#\203\354\330\310!\211GS\203\307P\262\307\262GS\262H\331>\203\325\310O\262\314\"\203\352\235\204\352B\266\332\307w\210\202\232)\266)\237eb\207" [woman-last-file-name woman-buffer-alist woman-buffer-number case-fold-search woman-file-compression-regexp inhibit-changing-match-data expand-file-name nil 0 WoMan-find-buffer file-name-nondirectory t string-match file-name-sans-extension buffer-name woman-make-bufname woman-really-find-file Man-build-section-list Man-find-section 1 Man-next-section -1 back-to-indentation re-search-forward match-string (45 173) " 	\n," Man--refpages Man-see-also-regexp Man-hyphenated-reference-regexp Man-reference-regexp] 12 (#$ . 38460) "fBrowse UN*X manual file: \nP"])
#@63 Create an unambiguous buffer name from BUFNAME.

(fn BUFNAME)
(defalias 'woman-make-bufname #[257 "\300\301\"\211\203T\302O\303\304OQ\262\305\306\307Q!\207" [string-match "\\.[^.]*\\'" nil " " 0 generate-new-buffer-name "*WoMan " "*"] 7 (#$ . 40082)])
#@52 Dedicated frame used for displaying WoMan windows.
(defvar woman-frame nil (#$ . 40349))
#@246 Find, decompress, and decode a UN*X man page FILENAME.
If COMPRESSED is non-nil, turn on auto-compression mode to decompress
the file if necessary.  Set buffer name BUFNAME and major mode.
Do not call directly!

(fn FILENAME COMPRESSED BUFNAME)
(defalias 'woman-really-find-file #[771 "	\203\306\307\n!\203\n\206\310 \211!\210\311!q\210\3121(\313p!0\210\202-\210\314p!\210\315 \210\316\317 \210\320\"\210\321!\322\305!\210\323\324\325!\210\326 )\207" [WoMan-current-file woman-use-own-frame woman-frame buffer-read-only default-directory backup-inhibited select-frame frame-live-p make-frame get-buffer-create (error) pop-to-buffer-same-window pop-to-buffer buffer-disable-undo nil erase-buffer woman-insert-file-contents file-name-directory make-local-variable t set-visited-file-name "" woman-process-buffer] 6 (#$ . 40445)])
#@46 The second half of `woman-really-find-file'!
(defalias 'woman-process-buffer #[0 "eb\210\300\301\302\303#\203\304 \210\202\305\306!\210\307 \210\310 \207" [re-search-forward "^[.']" 1000 t woman-decode-buffer message "File appears to be pre-formatted -- using source file may be better." woman-man-buffer woman-mode] 4 (#$ . 41297) nil])
#@48 Post-process an nroff-preformatted man buffer.
(defalias 'woman-man-buffer #[0 "\301\302!\203\303\211\224\225|\266\304\305!\210\306\307\310\303!!\311Q\304\312\313#\203-\303\211\224\225|\266\202\210\314\315!\210\316 \210\301\317!\203?`d|\210eb\210\304\320\312\321#\203S\322\323\321\211#\210\202B\324 \325d!W\203\216eb\210\326\327\312\321#\203u\330\331!\210\332``T\333#\210\202_eb\210\326\334\312\321#\203\216\330\331!\210\332`S`\333#\210\202xeb\210\304\335\312\321#\203\253\336\211\224\225|\266\332`S`\337#\210\202\221eb\210\326\340\312\321#\203\304\341\342!\210\332``T\333#\210\202\256\205\341eb\210\312y\210\304\343\312\321#\205\341\332\336\224\336\225\337#\210\202\316\207" [woman-bold-headings looking-at "\\s-+" 0 re-search-forward ".*" "^.*[0-9]\n\\s-*" regexp-quote match-string "\\s-*\n" nil 1 re-search-backward "\\S-" beginning-of-line ".*[0-9]$" "^[ 	]*\n\\([ 	]*\n\\)+" t replace-match "\n" buffer-size position-bytes search-forward "__" backward-delete-char 4 woman-set-face woman-italic "__" "\\(.\\)\\(\\(+\\1\\)+\\)" 2 woman-bold "_" delete-char -2 "^\\(   \\)?\\([A-Z].*\\)"] 5 (#$ . 41645)])
#@269 Insert file FILENAME into the current buffer.
If COMPRESSED is t, or is non-nil and the filename implies compression,
then turn on auto-compression mode to decompress the file.
Leave point at end of new text.  Return length of inserted text.

(fn FILENAME COMPRESSED)
(defalias 'woman-insert-file-contents #[514 "\212\304\211\203(\211\304=\204	\305\304\306#)\266\203\203(\307\310\"\204(\311\312!\210\31314\314\305\"0\202:\210\315\316\261A@*\207" [case-fold-search woman-file-compression-regexp inhibit-changing-match-data file-name-handler-alist t nil string-match rassq jka-compr-handler auto-compression-mode 1 (file-error) insert-file-contents "\n***** File " " not found! *****\n\n"] 9 (#$ . 42795)])
#@26 Keymap for `woman-mode'.
(defvar woman-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\307#\210\303\317\320#\210\207" [Man-mode-map make-sparse-keymap set-keymap-parent define-key "R" woman-reformat-last-file "w" woman "n" WoMan-next-manpage "p" WoMan-previous-manpage [M-mouse-2] woman-follow-word [remap man] [remap man-follow] woman-follow] 5) (#$ . 43523))
#@84 Get a Un*x manual page of the item under point and put it in a buffer.

(fn TOPIC)
(defalias 'woman-follow #[257 "\211\203\n\211\301\230\203\302\303!\207\304\305\"\203\306\307\225O\202!\207" [Man-reference-regexp "" error "No item under point" woman string-match 0 1] 5 (#$ . 43983) (byte-code "\300 C\207" [Man-default-man-entry] 1)])
#@99 Run WoMan with word under mouse as topic.
Argument EVENT is the invoking mouse event.

(fn EVENT)
(defalias 'woman-follow-word #[257 "\300\301!!b\210\302\303\304!\206\305!\207" [posn-point event-start woman current-word t ""] 4 (#$ . 44336) "e"])
#@13 WoMan Menu.
(defvar woman-menu nil (#$ . 44592))
(byte-code "\301\302\303\304\305\306\307\310\311\312\313\306\314\315\316\317\306\320\321\322\306\323\324\325\326\327!\205 \330\331\"BBBBBBBBBBBBBBBBBBBB$\207" [woman-mode-map easy-menu-do-define woman-menu "WoMan Menu." "WoMan" ["WoMan..." woman t] "--" ["Next Section" Man-next-section t] ["Previous Section" Man-previous-section t] ["Goto Section..." Man-goto-section t] ["Goto See-Also Section" Man-goto-see-also-section t] ["Follow Reference..." Man-follow-manual-reference t] ["Previous WoMan Buffer" WoMan-previous-manpage t] ["Next WoMan Buffer" WoMan-next-manpage t] ["Bury WoMan Buffer" Man-quit t] ["Kill WoMan Buffer" Man-kill t] ["Use Full Frame Width" woman-toggle-fill-frame :active t :style toggle :selected woman-fill-frame] ["Reformat Last Man Page" woman-reformat-last-file t] ["Make Contents Menu" (woman-imenu t) (not woman-imenu-done)] ["Describe (Wo)Man Mode" describe-mode t] ["Mini Help" woman-mini-help t] append fboundp customize-group (["Customize..." (customize-group 'woman) t]) ("--" ("Advanced" ["View Source" (view-file woman-last-file-name) woman-last-file-name] ["Show Log" (switch-to-buffer-other-window "*WoMan-Log*" t) t] ["Extended Font" woman-toggle-use-extended-font :included woman-font-support :active t :style toggle :selected woman-use-extended-font] ["Symbol Font" woman-toggle-use-symbol-font :included woman-font-support :active t :style toggle :selected woman-use-symbol-font] ["Font Map" woman-display-extended-fonts :included woman-font-support :active woman-use-symbol-font] "--" "Emulation" ["nroff" (woman-reset-emulation 'nroff) :active t :style radio :selected (eq woman-emulation 'nroff)] ["troff" (woman-reset-emulation 'troff) :active t :style radio :selected (eq woman-emulation 'troff)]))] 27)
#@62 Toggle `woman-use-extended-font' and reformat, for menu use.
(defalias 'woman-toggle-use-extended-font #[0 "?\301 \207" [woman-use-extended-font woman-reformat-last-file] 1 (#$ . 46403) nil])
#@60 Toggle `woman-use-symbol-font' and reformat, for menu use.
(defalias 'woman-toggle-use-symbol-font #[0 "?\301 \207" [woman-use-symbol-font woman-reformat-last-file] 1 (#$ . 46603) nil])
#@74 Reset `woman-emulation' to VALUE and reformat, for menu use.

(fn VALUE)
(defalias 'woman-reset-emulation #[257 "\211\301 \207" [woman-emulation woman-reformat-last-file] 2 (#$ . 46797) nil])
(defvar woman-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [woman-mode-hook variable-documentation put "Hook run after entering WoMan mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp woman-mode-map definition-name woman-mode] 4)
(defvar woman-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [woman-mode-abbrev-table woman-mode-map variable-documentation put purecopy "Keymap for `woman-mode'." boundp woman-mode-syntax-table definition-name woman-mode (lambda (#1=#:def-tmp-var) (defvar woman-mode-syntax-table #1#)) make-syntax-table "Syntax table for `woman-mode'." (lambda (#1#) (defvar woman-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `woman-mode'." derived-mode-parent man-common] 5)
#@469 Turn on (most of) Man mode to browse a buffer formatted by WoMan.
WoMan is an ELisp emulation of much of the functionality of the Emacs
`man' command running the standard UN*X man and ?roff programs.
WoMan author: F.J.Wright@Maths.QMW.ac.uk
See `Man-mode' for additional details.
\{woman-mode-map}

In addition to any hooks its parent mode `man-common' might have run,
this mode runs the hook `woman-mode-hook', as the final or penultimate
step during initialization.
(defalias 'woman-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
-=\204R\326
\325-C#\210\327!\210\330\f!\210
-\331K\332K\333K\334K\335\336%\216\331\337M\210\332\337M\210\333\337M\210\334\337M\210\306\300!\210\307\340 \210*\266./\311\312\341\342!\210\327!\21001\306\343!\210\344#\306\345!\210\346%\347\21123(\203\271\350 \210\3074\351\352!\210*\353\354!\207" [delay-mode-hooks major-mode mode-name woman-mode-map woman-mode-syntax-table woman-mode-abbrev-table make-local-variable t man-common woman-mode "WoMan" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table Man-goto-page Man-unindent Man-strip-page-headers Man-build-page-list make-closure #[0 "\304\300M\210\305\301M\210\306\302M\210\307\303M\207" [V0 V1 V2 V3 Man-goto-page Man-unindent Man-strip-page-headers Man-build-page-list] 2] ignore Man-mode kill-local-variable mode-line-buffer-identification imenu-space-replacement " " bookmark-make-record-function woman-bookmark-make-record nil woman-imenu Man-highlight-references WoMan-xref-man-page run-mode-hooks woman-mode-hook local-abbrev-table woman-tab-width tab-width woman-imenu-generic-expression imenu-generic-expression imenu--last-menubar-index-alist woman-imenu-done inhibit-read-only] 11 (#$ . 48121) nil])
#@132 Add a "Contents" menu to the menubar.
Optional argument REDRAW, if non-nil, forces mode line to be updated.

(fn &optional REDRAW)
(defalias 'woman-imenu #[256 "?\205\302\303	!\210\211\205\304 \207" [woman-imenu-done woman-imenu-title t imenu-add-to-menubar force-mode-line-update] 3 (#$ . 50152) nil])
#@69 Toggle formatting to fill (most of) the width of the current frame.
(defalias 'woman-toggle-fill-frame #[0 "?\302\303\203
\304\202	\"\207" [woman-fill-frame woman-fill-column message "Woman fill column set to %s." "frame width"] 3 (#$ . 50467) nil])
#@65 Display WoMan commands and user options in an `apropos' buffer.
(defalias 'woman-mini-help #[0 "\302\303!\210\304\305!\306\307!)\310\311\312\"\211\313\211\203]\211@\211\262\314!\205:\315\316\"\211\262\2039\317\320\321\"O\202:\322\323!\205S\324\325\316#\211\262\205S\317\320\321\"OE\240\210A\262\202\266\326\316\313\"\205n\211\205n\327\330\"\207" [standard-output apropos-accumulator require apropos get-buffer-create "*Apropos*" help-print-return-message identity apropos-internal "woman" #[257 "\300!\204\f\301!\205\211\302N?\207" [commandp custom-variable-p apropos-inhibit] 3 "\n\n(fn SYMBOL)"] nil functionp documentation t 0 string-search "\n" "(not documented)" custom-variable-p documentation-property variable-documentation apropos-print message "%s"] 13 (#$ . 50729) nil])
#@74 Use TOPIC to start WoMan from `Man-follow-manual-reference'.

(fn TOPIC)
(defalias 'WoMan-getpage-in-background #[257 "\300\301\"\211\203T\302O\262\303!\207" [string-search " " nil woman] 5 (#$ . 51553)])
#@59 Used to record formatting time used by the `man' command.
(defvar WoMan-Man-start-time nil (#$ . 51771))
#@33 Find the previous WoMan buffer.
(defalias 'WoMan-previous-manpage #[0 "\302 \210A\204\f\303\304!\210	T\211GY\203\305\302 ?\205-	S\211\305W\203+GS\306 \207" [woman-buffer-alist woman-buffer-number WoMan-find-buffer error "No previous WoMan buffer" 0 WoMan-previous-manpage] 2 (#$ . 51882) nil])
#@29 Find the next WoMan buffer.
(defalias 'WoMan-next-manpage #[0 "\302 \210A\204\f\303\304!\210	S\211\305W\203GS\302 ?\205!\306 \207" [woman-buffer-alist woman-buffer-number WoMan-find-buffer error "No next WoMan buffer" 0 WoMan-next-manpage] 2 (#$ . 52194) nil])
#@187 Switch to buffer corresponding to `woman-buffer-number' and return it.
If such a buffer does not exist then remove its association from the
alist in `woman-buffer-alist' and return nil.
(defalias 'WoMan-find-buffer #[0 "\302U\203\303	@A!\211\203\304!\207	A\305\207S	\233\303A@A!\211\203*\304!\207\211AA\241\210	GY\2039\302\266\305\207" [woman-buffer-number woman-buffer-alist 0 get-buffer pop-to-buffer-same-window nil] 4 (#$ . 52470)])
#@65 Internal character representation of escaped escape characters.
(defconst woman-escaped-escape-char 28 (#$ . 52929))
#@62 Internal string representation of escaped escape characters.
(defconst woman-escaped-escape-string (char-to-string woman-escaped-escape-char) (#$ . 53052))
#@65 Internal character representation of unpadded space characters.
(defconst woman-unpadded-space-char 29 (#$ . 53214))
#@62 Internal string representation of unpadded space characters.
(defconst woman-unpadded-space-string (char-to-string woman-unpadded-space-char) (#$ . 53337))
#@70 Syntax table to support special characters used internally by WoMan.
(defvar woman-syntax-table (byte-code "\302 \303\304#\210\303	\304#\210\207" [woman-unpadded-space-char woman-escaped-escape-char make-syntax-table modify-syntax-entry "."] 5) (#$ . 53499))
#@212 Set up a display table for a WoMan buffer.
This display table is used for displaying internal special characters, but
does not interfere with any existing display table, e.g. for displaying
European characters.
(defalias 'woman-set-buffer-display-table #[0 "\203\n\304!\202\f\305 \211\n\306I\210	\307I\207" [standard-display-table buffer-display-table woman-unpadded-space-char woman-escaped-escape-char copy-sequence make-display-table [32] [92]] 4 (#$ . 53768)])
#@80 Decode a buffer in UN*X man-page source format.
No external programs are used.
(defalias 'woman-decode-buffer #[0 "\301 \210\302\303!\210\203\300\304!\210\305 \306\307\310!\210\311ed\"\210\312\313!!\262\307\314\"\210\315!\266\302\316!\207" [font-lock-mode WoMan-log-begin run-hooks woman-pre-format-hook -1 current-time nil message "WoMan formatting buffer..." woman-decode-region float-time time-since "WoMan formatting buffer...done in %g seconds" WoMan-log-end woman-post-format-hook] 5 (#$ . 54245) nil])
#@66 Alist of strings predefined in the -man macro package `tmac.an'.
(defvar woman-string-alist '(("S" . #1="") ("R" . "(Reg.)") ("Tm" . "(TM)") ("lq" . "\"") ("rq" . "\"") ("''" . "\"") (".T" . #1#)) (#$ . 54768))
#@43 Set to t if .sp N with N < 0 encountered.
(defvar woman-negative-vertical-space nil (#$ . 54985))
#@147 Pre-process escapes and comments in the region of text between FROM and TO.
To be called on original buffer and any .so insertions.

(fn FROM TO)
(defalias 'woman-pre-process-region #[514 "b\210\301\302\303#\203@\304\224\203\305\303\211#\210\202\306 \210\307\304!\210\301\310\303#\2036\304\224\2036\305\303\211#\210\202 \306 \210\307\304!\210\202b\210\301\311\303#\205V\312\211\224\225|\266\202C\207" [woman-escaped-escape-string re-search-forward "\\(\\\\[\\e]\\)\\|^\\.eo" t 1 replace-match beginning-of-line woman-delete-line "\\(\\\\\\)\\|^\\.ec" "^[.'][ 	]*\\(\\\\\".*\\)?\n\\|\\\\\".*" 0] 6 (#$ . 55090)])
#@54 Prepare non-underlined versions of underlined faces.
(defalias 'woman-non-underline-faces #[0 "\301 \211\211\205:\211@\302!\303\304\305\306#)\266\203\2032\307!\2032\310\311P!\312\"\210\313\304\"\266\210A\266\202\202\207" [inhibit-changing-match-data face-list symbol-name "\\`woman-" nil t string-match face-underline-p intern "-no-ul" copy-face set-face-underline] 11 (#$ . 55729)])
#@178 Non-nil if WoMan should emulate the tbl preprocessor.
This applies to text between .TE and .TS directives.
Currently set only from \='\" t in the first line of the source file.
(defvar woman-emulate-tbl nil (#$ . 56138))
#@85 Decode the region between FROM and TO in UN*X man-page source format.

(fn FROM TO)
(defalias 'woman-decode-region #[514 "\306	\306\f\f@\307A\306\211BC\306DEFGFHH\306I\310\311J!!\312BK\313 \210L\203NM;\203N\314\315M\316N!\205LN#\210\317\320!\210\306\321O!\210\322 \210P\204m	\250\203m	\323V\204r\324 \fZb\210\325\326!\203\240\327\330\307!\306\"\331>\203\220\332Q\333\331\"\262\211\203\233\334\335\260\"\210\336\307!\266\337\306\"\210\340!\210eb\210\306\341\342d\332#\203\314eb\210\341\343d\332#\203\314eb\210\341\344d\332#\203\320\345\346!\210)b\210\347 \210	RSTeb\210\341\350\306\332#\203\362\351\352\332\211#\210\202\341b\210\341\353\306\332#\203\351U\332\211#\210\202\365b\210\341\354\306\332#\203\323\211\224\225|\266\202\nb\210\341\355\306\332#\203/\351\356!\210\202 b\210\357 \210b\210\360 \210b\210\361 \210b\210\332\341\362\306\332#\203\237\330\307!\211\323H\363U\204g\211G\364Y\203k\211\364H\365U\203k\366\202l\367\203\213\351\306\332#\210\370`S`\371\372$\210\334\373\"\210\374\375\"\210\202\230\323\211\224\225|\266\334\376\"\210?\266\203\202E\210b\210\377 \210\n\203\256\302!\210V\203\313\201YdW\201Z$\210\201YdX\201[$\210d,\207" [woman-string-alist woman-fill-column woman-negative-vertical-space case-fold-search woman-default-indent woman-left-margin nil 1 string-to-char symbol-name (101 111) woman-non-underline-faces set-face-font woman-symbol frame-live-p make-local-variable adaptive-fill-mode set-syntax-table woman-set-buffer-display-table 0 window-width looking-at "'\\\\\"[ 	]*\\([a-z]+\\)" append match-string 116 t delete WoMan-warn "Unhandled preprocessor request letters %s" woman-delete-line woman-pre-process-region woman0-roff-buffer re-search-forward "^\\.SH[ \n]" "^\\.TH[ \n]" "^\\.\\([pnil]p\\|sh\\)[ \n]" error "WoMan can only format man pages written with the usual `-man' macros" woman-mark-horizontal-position "\\\\[,/]" replace-match "" "\\\\[ 0]" "\\\\\\([%\n]\\|s[-+]?[0-9]+\\)" "\\\\\\([-`.]\\)" "\\1" woman1-roff-buffer woman-strings woman-change-fonts "\\\\\\([du]\\|v'[^']*'\\)" 117 2 45 "^" "_" put-text-property face woman-addition "Initial vertical motion escape \\%s simulated" WoMan-log "      by TeX `%s' in woman-addition-face!" "Terminal vertical motion escape \\%s ignored!" woman2-roff-buffer woman-prevailing-indent woman-interparagraph-distance woman-leave-blank-lines woman-RS-left-margin woman-RS-prevailing-indent woman-adjust-both woman-adjust woman-justify-styles woman-justify woman-nofill woman-emulation woman-if-conditions-true woman-use-symbol-font woman-symbol-font woman-frame woman-syntax-table woman-fill-frame woman-emulate-tbl fill-column woman-tab-width tab-width woman-unpadded-space-string woman-preserve-ascii woman-escaped-escape-char woman-unpadded-space-char subst-char-in-region 92 32] 11 (#$ . 56365)])
#@165 Process \h'+/-N' local horizontal motion escapes upto TO.
Implements arbitrary forward and non-overlapping backward motion.
Preserves location of `point'.

(fn TO)
(defalias 'woman-horizontal-escapes #[257 "`\301\302\303#\203\202\304\224\305\306\307!!\310\224\311 \312\211\313!\204)\314\315`T{\"\266\202\304\225\262{\262|\210\203?iZ\262\304Y\203N\316\"\266\202T\211\262\304X\203rh\317>\203e\320\321!\210\202Ng\322>\203r\320\307!\210\202N\304X\203}\314\323\"\210\266\202\211b\207" [woman-unpadded-space-char re-search-forward "\\\\h\\(\\\\(..\\|.\\)\\(|\\)?" t 0 regexp-quote match-string 1 2 woman-parse-numeric-arg nil looking-at WoMan-warn "Local horizontal motion (%s) delimiter error!" insert-char (32 9) delete-char -1 (32 9) "Negative horizontal motion (%s) would overwrite!"] 12 (#$ . 59262)])
(defvar woman0-search-regex-start "^[.'][ 	]*\\(ig\\|if\\|ie\\|el\\|so\\|rn\\|de\\|am")
(defconst woman0-search-regex-end "\\)\\([ 	]+\\|$\\)")
#@122 Process conditional-type requests and user-defined macros.
Start at FROM and re-scan new text as appropriate.

(fn FROM)
(defalias 'woman0-roff-buffer #[257 "\211b\210\306 \307\211\211	P\307\211#\310#\311\"\210\312\307\311#\203\266\313\314!\211\204L\311\262\315 \310\311\"\210\316 \317\320\"\216\212b\210\321!\210*\266
\322\230\203X\323 \210\202
\324\230\203e\325\324!\210\202
\326\230\203r\325\326!\210\202
\327\230\203~\330 \210\202
\331\230\203\212\332 \210\202
\333\230\203\226\334 \210\202
\335\230\203\242\336 \210\202
\337\230\203\257\336\340!\210\202\341
!\210\202#\307\211\223\210\342 .\207" [woman0-search-regex-start woman0-search-regex-end woman0-rename-alist woman0-search-regex woman0-macro-alist woman-request make-marker nil set-marker-insertion-type t re-search-forward match-string 1 point-marker match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] woman2-process-escapes "ig" woman0-ig "if" woman0-if "ie" "el" woman0-el "so" woman0-so "rn" woman0-rn "de" woman0-de "am" append woman0-macro woman0-rename woman0-if-to] 12 (#$ . 60253)])
#@63 .ig yy -- Discard input up to `.yy', which defaults to `..').
(defalias 'woman0-ig #[0 "\300\301!\210\302 \210\303\304!\206\305`\306\307\310!\311Q\312\313#\203 \211`|\207\314\315\"\210\316\304!\207" [looking-at "\\(\\S +\\)?" beginning-of-line match-string 1 "." re-search-forward "^\\.[ 	]*" regexp-quote ".*\n" nil t WoMan-warn "ig request ignored -- terminator `.%s' not found!" woman-delete-line] 6 (#$ . 61397)])
#@78 Process escapes within an if/ie condition between FROM and TO.

(fn FROM TO)
(defalias 'woman0-process-escapes #[514 "\300!\210b\210\301\302\303#\203\304\211\224\225|\266\202b\210\305\306\"\207" [woman-strings re-search-forward "\\\\f\\(\\[[^]]+\\]\\|(..\\|.\\)" t 0 woman2-process-escapes numeric] 6 (#$ . 61826)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman0-process-escapes speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@181 .if/ie c anything -- Discard unless c evaluates to true.
Remember condition for use by a subsequent `.el'.
REQUEST is the invoking directive without the leading dot.

(fn REQUEST)
(defalias 'woman0-if #[257 "\302\211\224\225|\266`\303\211\302\212\304\305!\210`)\303\223\210g\306U\211\262\203$\307\310!\210\311\312!\2032g	>\262\202\327\311\313!\203G\303\262\314\315\316\302!#\210\202\327\214}\210\311\317!)\203\241\320\321\225\322\"\323\225|\210\321\225\323\224|\210\310\225b\210`\324!\210b\210\325\326\322#\203\203\302\211\224\225|\266\202pb\210\327\330\"\266`{{\230\262\211\303\211\223\210b\266\202\327\324!\210b\210\325\326\322#\203\275\302\211\224\225|\266\202\252b\210\327\330\"\266\331 \211\262\247\203\327\302V\262b\210\211\302=\203\343\332\"\207\333=#\207" [woman0-if-to woman-if-conditions-true 0 nil skip-syntax-forward "^ " 33 delete-char 1 looking-at "[ntoev]" "[A-Za-z]" WoMan-warn "%s %s -- unrecognized condition name rejected!" match-string "\\(\\\\(..\\|[^0-9]\\)\\(.*\\)\\1\\(.*\\)\\1\\'" copy-marker 2 t 3 woman-strings re-search-forward "\\\\f\\(\\[[^]]+\\]\\|(..\\|.\\)" woman2-process-escapes numeric woman-parse-numeric-arg woman-if-ignore woman-if-body] 12 (#$ . 62308)])
#@209 Process if-body, including \{ ... \}.
REQUEST is the invoking directive without the leading dot.
If TO is non-nil then delete the if-body.
If DELETE is non-nil then delete from point.

(fn REQUEST TO DELETE)
(defalias 'woman-if-body #[771 "`\203	`|\210\300 \210\301\302!\203H`\303\211\224\225|\266\304\305!\203-\306\224\203-\304\307!\210\202\2035\211\2027\303\224`|\210\301\310!\203D\311\306!\210\210\202P\203P\312\306!\210\313\230\203m\304\314\315\316#\203m\303\211\224\225|\266\317\320\315?#\210\211b\207" [delete-horizontal-space looking-at "[^{\n]*\\(\\\\\n\\)*\\\\{\\s *\\(\\\\\n\\)*" 0 re-search-forward "\\(\\\\{\\|el[ 	]*\\\\}\\)\\|\\(\n[.']\\)?[ 	]*\\\\}[ 	]*" 1 "\\\\}" "^$" delete-char woman-delete-line "ie" "^[.'][ 	]*el[ 	]*" nil t woman-if-body "el"] 8 (#$ . 63571)])
#@44 Isolated .el request -- should not happen!
(defalias 'woman0-el #[0 "\301\302!\210\203\303\211\224\225|\266\304 \210\305\306\307\310#\207\311\307w\210\312\313!\203'\314\315!\210\316y\207" [woman-ignore WoMan-warn "el request without matching `ie' rejected!" 0 delete-horizontal-space woman-if-body "el" nil t "^ 	" looking-at "[ 	]*{" search-forward "}" 1] 4 (#$ . 64383)])
#@83 Ignore but warn about an if request ending at TO, named REQUEST.

(fn TO REQUEST)
(defalias 'woman-if-ignore #[514 "\301\302\"\210\203\303\304#\207\305\306w\210\307\310!\203\311\312!\210\313y\207" [woman-ignore WoMan-warn-ignored "ignored -- condition not handled!" woman-if-body t "^ 	" nil looking-at "[ 	]*{" search-forward "}" 1] 6 (#$ . 64769)])
#@68 .so filename -- Switch source file.  `.so' requests may be nested.
(defalias 'woman0-so #[0 "`\300\301!\210`{\211\302!\2041\302\303P\211\262!\2041\304\305!!\211\262\2041\306p!\2041\307\310\"\210\311 \210\312\313!\210`\314\315\"\316\\\317\"\320\"\210\211\321\211\223\210b\207" [woman-forward-arg unquote file-exists-p "../" woman-file-name file-name-base kill-buffer error "File `%s' not found" beginning-of-line woman-delete-line 1 woman-insert-file-contents 0 copy-marker t woman-pre-process-region nil] 10 (#$ . 65134)])
#@45 Process .rn xx yy -- rename macro xx to yy.
(defalias 'woman0-rn #[0 "l\204*`\301\302\303\"\210`{\304l\204(`\262\301\302!\210`\262{\262\211BB\266\305 \210\306\307!\207" [woman0-rename-alist woman-forward-arg unquote concat nil beginning-of-line woman-delete-line 1] 6 (#$ . 65681)])
#@43 Effect renaming required by .rn requests.
(defalias 'woman0-rename #[0 "\211\2054\211@\211A@eb\210\301\302!P\262\303P\262\304\305\306#\203+\307\305\306#\210\202\266A\266\202\202\207" [woman0-rename-alist "^[.'][ 	]*" regexp-quote "." re-search-forward nil t replace-match] 8 (#$ . 65983)])
(defconst woman-unescape-regex (concat woman-escaped-escape-string "\\(" woman-escaped-escape-string "\\)?"))
#@127 Replace escape sequences in the body of MACRO.
Replaces || by |, but | by \, where | denotes the internal escape.

(fn MACRO)
(defalias 'woman-unescape #[257 "\301\302#\211\262\203*\303\224\203\304\305\306\211\303%\202!\304\307\306\211$\262\211T\262\202\207" [woman-unescape-regex nil string-match 1 replace-match "" t "\\"] 8 (#$ . 66406)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-unescape speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@199 Process .de/am xx yy -- (re)define/append macro xx; end at `..'.
(Should be up to call of yy, which defaults to `.')
Optional argument APPEND, if non-nil, means append macro.

(fn &optional APPEND)
(defalias 'woman0-de #[256 "l\204\211\305\306!\210\307\310!\311\312\"\211\204	\313\314!Q\211\nP\311y\210`\262\315\316!\210\317 \210`{\311\320\f#\211\262\203Y\321\224\203J\322\323\324\211\321%\202P\322\325\324\211$\262\211T\262\2020\266\202\203r\203rA\262\211AP\262@\262BB\262\210B\311y\210`|\210\326u\266\317 \210\327\321!\207" [woman0-macro-alist woman0-search-regex-start woman0-search-regex-end woman0-search-regex woman-unescape-regex looking-at "[^ 	\n]+" match-string 0 nil assoc "\\|" regexp-quote re-search-forward "^\\.[ 	]*\\." beginning-of-line string-match 1 replace-match "" t "\\" -1 woman-delete-line] 13 (#$ . 66910)])
#@53 Process the macro call named REQUEST.

(fn REQUEST)
(defalias 'woman0-macro #[257 "\211\302\"\211\203\303A!\202\304\305\")\207" [woman0-macro-alist woman-request assoc woman-interpolate-macro WoMan-warn "Undefined macro %s not interpolated!"] 6 (#$ . 67790)])
#@83 Interpolate (.de) or append (.am) expansion of MACRO into the buffer.

(fn MACRO)
(defalias 'woman-interpolate-macro #[257 "\300\301w\210\302@\301\211\211\211\211A\262l\204RT\262\303\304\"\262\305P\262`\262\306\307\310\"\210`{\262\300\301w\210\301\262\311	#\211\262\203\312\313\211$\262\202:\301\262\311\314	#\211\262\203m\312\315\313\211$\262\202U\301\262\311\316	#\211\262\203\210\312\313\211$\262\202p\203\222\301u\210\202\231\317 \210\320\321!\210\212c)\207" [" 	" nil 0 format "%d" "\\\\\\$" woman-forward-arg unquote noskip string-match replace-match t "\\\\\\$." "" "\\\\n(\\.\\$" beginning-of-line woman-delete-line 1] 13 (#$ . 68066)])
#@142 Match and move over name of form: x, (xx or [xxx...].
Applies to number registers, fonts, strings/macros/diversions, and
special characters.
(defalias 'woman-match-name #[0 "g\300U\203\301u\210\302\303!\210\301u\207g\304U\203\301u\210\302\305!\207\302\306!\207" [91 nil re-search-forward "[^]]+" 40 ".." "."] 2 (#$ . 68770)])
#@200 Process ?roff string requests and escape sequences up to buffer position TO.
Strings are defined/updated by `.ds xx string' requests and
interpolated by `\*x' and `\*(xx' escapes.

(fn &optional TO)
(defalias 'woman-strings #[256 "\302\303\304#\205}\305\224\203@\306\307w\210l\2046\302\310!\210\311\312!\306\307w\210g\313U\203)\307u\210\211`\314 {B\262\211B\210\315 \210\316\305!\210\202\312\224\317 \210\311\312!\320\"\211\203e`|\210n\203\\\321\322!\210\321A!\266\202\323\324\"\210	\203x`|\210\325BB\266\202\207" [woman-string-alist woman-ignore re-search-forward "\\(^[.'][ 	]*ds\\)\\|\\\\\\*" t 1 " 	" nil "[^ 	\n]+" match-string 0 34 line-end-position beginning-of-line woman-delete-line woman-match-name assoc insert-before-markers "\\&" WoMan-warn "Undefined string %s not interpolated!" ""] 7 (#$ . 69107)])
#@842 Alist of special character codes with ASCII and extended-font equivalents.
Each alist elements has the form
   (input-string ascii-string extended-font-string . use-symbol-font)
where
 * `\(input-string' is the ?roff encoding,
 * `ascii-string' is the (multi-character) ASCII simulation,
 * `extended-font-string' is the single-character string representing
    the character position in the extended 256-character font, and
 * `use-symbol-font' is t to indicate use of the symbol font or nil,
    i.e. omitted, to indicate use of the default font.
Any element may be nil.  Avoid control character codes (0 to \37, \180
to \237) in `extended-font-string' for now, since they can be
displayed only with a modified display table.

Use the WoMan command `woman-display-extended-fonts' or a character
map accessory to help construct this alist.
(defconst woman-special-characters '(("em" "--" "\276" . t) ("bu" "*" "\267" . t) ("fm" "'") ("co" "(C)" "\251") ("pl" "+" "+" . t) ("mi" "-" "-" . t) ("**" "*" "*" . t) ("aa" "'" "\242" . t) ("ul" "_") ("*S" "Sigma" "S" . t) (">=" ">=" "\263" . t) ("<=" "<=" "\243" . t) ("->" "->" "\256" . t) ("<-" "<-" "\254" . t) ("mu" " x " "\264" . t) ("+-" "+/-" "\261" . t) ("bv" "|") ("lq" "\"") ("rq" "\"") ("aq" "'") ("ha" "^") ("ti" "~") ("oq" "‘") ("cq" "’") ("hy" "‐")) (#$ . 69957))
#@132 Replace text matched by last search with NEWTEXT and return t.
Set NEWTEXT in face FACE if specified.

(fn NEWTEXT &optional FACE)
(defalias 'woman-replace-match #[513 "\300\211\224\225|\266\301!\210\211\203\302`S`\303\304$\210\305\207" [0 insert-before-markers put-text-property face woman-symbol t] 7 (#$ . 71293)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-replace-match speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@156 Process special character escapes \(xx, \[xxx] up to buffer position TO.
(This must be done AFTER translation, which may use special characters.)

(fn TO)
(defalias 'woman-special-characters #[257 "\304\305\306#\205\270\307\310!\206\307\311!\312\"\211\203\226\211AA\203o\313\233\203J	\203o\3118\314\315\211\224\225|\266\316!\210\211\203E\317`S`\320\314$\210\266\202\n\203o\3118\321\315\211\224\225|\266\316!\210\211\203j\317`S`\320\314$\210\266\202\211A@\203\226\211A@\321\315\211\224\225|\266\316!\210\211\203\221\317`S`\320\314$\210\266\202\322\323\310\224\203\241\324\202\242\325\326Q\"\210\203\263\315\211\224\225|\266\266\202\207" [woman-special-characters woman-use-symbol-font woman-use-extended-font woman-ignore re-search-forward "\\\\\\(?:(\\(..\\)\\|\\[\\([[^]]+\\)\\]\\)" t match-string-no-properties 1 2 assoc 3 woman-symbol 0 insert-before-markers put-text-property face nil WoMan-warn "Special character " "\\(%s" "\\[%s]" " not interpolated!"] 10 (#$ . 71768)])
#@288 Display table of glyphs of graphic characters and their octal codes.
All the octal codes in the ranges [32..127] and [160..255] are displayed
together with the corresponding glyphs from the default and symbol fonts.
Useful for constructing the alist variable `woman-special-characters'.
(defalias 'woman-display-extended-fonts #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211rq\210\316\211\317W\203e\320\321\"\322!\323\322!\261\210\324`S`\325\326$\210\327c\210\211T\262\211\330U\203W\331\262\332c\210\211\333\246\334U\203(\332c\210\202(\210)\335 \336!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*WoMan Extended Font Map*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook 32 256 format "\\%03o " string " " put-text-property face woman-symbol "   " 128 160 "\n" 8 0 help-print-return-message internal-temp-output-buffer-show standard-output] 9 (#$ . 72799) nil])
#@113 Delete any double-quote characters between point and TO.
Leave point at TO (which should be a marker).

(fn TO)
(defalias 'woman-unquote #[257 "\301\302\303\304#\203/\211\203\305\303!\203\306\304!\210\202\211\204$\305\307!\203(\306\310!\210\211?\262\202\211\2057\311\312\"\207" [woman-request nil search-forward "\"" 1 looking-at delete-char ".*\"" -1 WoMan-warn "Unpaired \" in .%s arguments."] 6 (#$ . 73849)])
#@63 Delete any double-quote characters up to the end of the line.
(defalias 'woman-unquote-args #[0 "\300\212\301\210\302 )!\207" [woman-unquote nil point-marker] 2 (#$ . 74283)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-unquote-args speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@32 Process non-breaking requests.
(defalias 'woman1-roff-buffer #[0 "\304\305\211\211\306\305\304#\205R\307\310\311\312!\211P!\211\262\203	\211\313N\203,\211 \210\202	\314\211\224\225|\266l?l\203?\315\312!\210\211 \210\203	g\316>\203	\317c\210\202	+\207" [woman1-unquote woman-request case-fold-search woman-request-regexp t nil re-search-forward intern-soft "woman1-" match-string 1 notfont 0 delete-char (46 39) "\\&"] 7 (#$ . 74610)])
#@47 .B -- Set words of current line in bold font.
(defalias 'woman1-B #[0 "\300\301!\207" [woman1-B-or-I ".ft B\n"] 2 (#$ . 75071)])
#@49 .I -- Set words of current line in italic font.
(defalias 'woman1-I #[0 "\300\301!\207" [woman1-B-or-I ".ft I\n"] 2 (#$ . 75206)])
#@118 .B/I -- Set words of current line in bold/italic font.
B-OR-I is the appropriate complete control line.

(fn B-OR-I)
(defalias 'woman1-B-or-I #[257 "\211c\210\212\203\301\212\302\210\303 )!\210\202'\304\305!\203!\302y\210\202\302\210\306 \210\307c)\207" [woman1-unquote woman-unquote nil point-marker looking-at "^[.']" delete-horizontal-space "\\fR"] 3 (#$ . 75344)])
#@57 .SM -- Set the current line in small font, i.e. IGNORE!
(defalias 'woman1-SM #[0 "\300\207" [nil] 1 (#$ . 75728)])
(defalias 'woman1-SB 'woman1-B)
#@70 .BI -- Join words of current line alternating bold and italic fonts.
(defalias 'woman1-BI #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fB" "\\fI"] 3 (#$ . 75881)])
#@69 .BR -- Join words of current line alternating bold and Roman fonts.
(defalias 'woman1-BR #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fB" "\\fR"] 3 (#$ . 76052)])
#@70 .IB -- Join words of current line alternating italic and bold fonts.
(defalias 'woman1-IB #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fI" "\\fB"] 3 (#$ . 76222)])
#@71 .IR -- Join words of current line alternating italic and Roman fonts.
(defalias 'woman1-IR #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fI" "\\fR"] 3 (#$ . 76393)])
#@69 .RB -- Join words of current line alternating Roman and bold fonts.
(defalias 'woman1-RB #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fR" "\\fB"] 3 (#$ . 76565)])
#@71 .RI -- Join words of current line alternating Roman and italic fonts.
(defalias 'woman1-RI #[0 "\300\301\302D!\207" [woman1-alt-fonts "\\fR" "\\fI"] 3 (#$ . 76735)])
#@88 Join words using alternating fonts in FONTS, which MUST be a dynamic list.

(fn FONTS)
(defalias 'woman1-alt-fonts #[257 "\211\244\210\211@c\210\212\211A\262\301\302\"\210l\204&\211@c\210\211A\262\301\302\"\210\202\303c)\207" [woman1-unquote woman-forward-arg concat "\\fR"] 4 (#$ . 76907)])
#@230 Move forward over one ?roff argument, optionally unquoting and/or joining.
If optional arg UNQUOTE is non-nil then delete any argument quotes.
If optional arg CONCAT is non-nil then join arguments.

(fn &optional UNQUOTE CONCAT)
(defalias 'woman-forward-arg #[512 "g\301=\203L\203\302\303!\210\202\304u\210\305\306!\210g\301=\2033\203)\302\303!\210\202,\304u\210\305\306!\210\202h\301=\203D\203P\302\307!\210\202P\310\311\"\210\202P\312\313!\210\211\314\267\202\\\315\304w\207\316\207`\315\304w\210`|\207" [woman-request 34 delete-char 1 nil re-search-forward "\"\\|$" -1 WoMan-warn "Unpaired \" in .%s arguments." skip-syntax-forward "^ " #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 86 noskip 90)) " 	" t] 5 (#$ . 77214)])
(put 'woman1-TP 'notfont t)
#@64 .TP -- After tag line, reset font to Roman for paragraph body.
(defalias 'woman1-TP #[0 "\212\300y\210\301\302!\203\303\202\304y\210\305c)\207" [nil looking-at "\\.\\S-+[ 	]*$" 2 1 ".ft R\n"] 2 (#$ . 78037)])
(put 'woman1-ul 'notfont t)
#@71 .ul N -- Underline (italicize) the next N input lines, default N = 1.
(defalias 'woman1-ul #[0 "l\203\300\202\n\301 \302 \210\303\300!\210\304c\210\211y\210\305c\207" [1 woman-parse-numeric-arg beginning-of-line woman-delete-line ".ft I\n" ".ft R\n"] 3 (#$ . 78284)])
(put 'woman1-nh 'notfont t)
#@37 .nh -- No hyphenation, i.e. IGNORE!
(defalias 'woman1-nh #[0 "\300 \210\301\302!\207" [beginning-of-line woman-delete-line 1] 2 (#$ . 78589)])
(put 'woman1-hy 'notfont t)
#@50 .hy N -- Set hyphenation mode to N, i.e. IGNORE!
(defalias 'woman1-hy #[0 "\300 \210\301\302!\207" [beginning-of-line woman-delete-line 1] 2 (#$ . 78766)])
(put 'woman1-hc 'notfont t)
#@58 .hc c -- Set hyphenation character to c, i.e. delete it!
(defalias 'woman1-hc #[0 "\300g!\301 \210\302\303!\210\304\305Q\262\212\306\307\310#\205%\303\224\205%\311\312!\210\202)\207" [char-to-string beginning-of-line woman-delete-line 1 "\\(" "\\)\\|^[.'][ 	]*hc" re-search-forward nil t delete-char -1] 5 (#$ . 78956)])
(put 'woman1-hw 'notfont t)
#@60 .hw words -- Set hyphenation exception words, i.e. IGNORE!
(defalias 'woman1-hw #[0 "\300 \210\301\302!\207" [beginning-of-line woman-delete-line 1] 2 (#$ . 79318)])
(byte-code "\300\301\302\303#\210\304\301\305\"\210\300\306\302\303#\210\304\306\305\"\210\300\307\302\303#\210\304\307\305\"\210\300\310\302\303#\210\304\310\305\"\210\300\311\302\303#\210\304\311\305\"\210\300\312\302\303#\210\304\312\305\"\207" [put woman1-ps notfont t defalias woman-delete-whole-line woman1-ss woman1-cs woman1-ne woman1-vs woman1-bd] 4)
#@72 .TX t p -- Resolve SunOS abbrev t and join to p (usually punctuation).
(defalias 'woman1-TX #[0 "\300c\210\301\302\303\"\207" ["SunOS " woman-forward-arg unquote concat] 3 (#$ . 79850)])
(byte-code "\300\301\302\303#\210\304\301\305\"\207" [put woman1-IX notfont t defalias woman-delete-whole-line] 4)
#@68 Alist of ?roff font indicators and woman font variables and names.
(defconst woman-font-alist '(("R" . default) ("I" . woman-italic) ("B" . woman-bold) ("P" . previous) ("1" . default) ("2" . woman-italic) ("3" . woman-bold)) (#$ . 80158))
#@23 Process font changes.
(defalias 'woman-change-fonts #[0 "`\302\211\303\304\305\306#\203\276\305\211\211\211\307\224\2031\310\224\262\311\305w\210l\203'\262\202+\312\313!\210\305y\210\202Q\314\224\203<\302\262\202Q\315\224\203N\310\224\262\316\262\317 \210\202Q\316\262\204\271\204}\320\310!\321\n\"\262\203lA\202z\322\323\"\210\211\324B	B\262	\324\262\210\203\216`|\210\325=\203\216\262\211\203\233\312	!\203\233\326c\210\327`#\210\203\260`\262\262\202\266`\262\302\262\262\266\202\327`#\207" [woman-font-alist woman-request-regexp default re-search-forward "^[.'][ 	]*\\(\\(ft\\)\\|\\(.P\\)\\)\\|\\(\\\\f\\)" nil 1 2 0 " 	" looking-at "[^ 	\n]+" 3 4 t woman-match-name match-string assoc WoMan-warn "Unknown font %s." woman-unknown previous "\\&" woman-set-face] 12 (#$ . 80404)])
#@135 Set the face of the text from FROM to TO to face FACE.
Ignore the default face and underline only word characters.

(fn FROM TO FACE)
(defalias 'woman-set-face #[771 "\211\301=\206M?\206M\302!\203G\212\303\304!\305P!b\210`W\205C\306\307\"\210\310`\311$\210`\262\306\312\"\210\310`\311$\210`\262\202\262)\207\310\311$\207" [woman-fontify default face-underline-p intern symbol-name "-no-ul" skip-syntax-forward "w" put-text-property face "^w"] 9 (#$ . 81252)])
#@65 Return and delete next char in buffer, including special chars.
(defalias 'woman-get-next-char #[0 "\300\301!\203\302\303!\303\211\224\225|\266\207\304g!\305\306!\210\207" [looking-at "\\\\\\((..\\|\\*\\(\\[[^]]+\\]\\|(..\\|.\\)\\)" match-string 0 char-to-string delete-char 1] 4 (#$ . 81741)])
#@144 .tr abcde -- Translate a -> b, c -> d, ..., e -> space.
Format paragraphs upto TO.  Supports special chars.
(Breaks, but should not.)

(fn TO)
(defalias 'woman2-tr #[257 "@A\301\211\205\302\303O\304P\262l\204E\305 \262l\203$\306\262\202(\305 \262G\302U\2035P\2029\307Q\262BB\262\202\310\302!\210\311!\312U\203X\313\301O\202[\314P\262B\315!\207" [woman-translations nil 1 -1 "]" woman-get-next-char " " "\\|\\" delete-char string-to-char 93 3 "[" woman2-format-paragraphs] 8 (#$ . 82047)])
#@75 Translate up to marker TO.  Do this last of all transformations.

(fn TO)
(defalias 'woman-translate #[257 "\302\300!\2053\2053@A\303\304\305#\2050\306\307\310\311\224\311\225\"\"A!\210\311\211\224\225|\266\202)\266\202\207" [woman-translations case-fold-search boundp nil re-search-forward t insert-before-markers-and-inherit assoc buffer-substring-no-properties 0] 8 (#$ . 82579)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-translate speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@166 Register alist: the key is the register name as a string.
Each element has the form (KEY VALUE . INC) -- inc may be nil.
Also bound locally in `woman2-roff-buffer'.
(defvar woman-registers '((".H" 24) (".V" 48) (".g" 0) (".i" left-margin) (".j" woman-adjust) (".l" fill-column) (".s" 12) (".u" (if woman-nofill 0 1)) (".v" 48)) (#$ . 83125))
#@71 \kx -- Store current horizontal position in INPUT LINE in register x.
(defalias 'woman-mark-horizontal-position #[0 "\301\302\303\304#\205\305\224b\210\306\307!iDB\305\211\224\225|\266\202\207" [woman-registers re-search-forward "\\\\k\\(.\\)" nil t 0 match-string 1] 4 (#$ . 83473)])
#@147 Process remaining escape sequences up to eol.
Handle numeric arguments specially if optional argument NUMERIC is non-nil.

(fn &optional NUMERIC)
(defalias 'woman2-process-escapes-to-eol #[256 "\300\301\302 \303\"\"\207" [woman2-process-escapes copy-marker line-end-position t] 5 (#$ . 83773)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman2-process-escapes-to-eol speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@188 .nr R +/-N M -- Assign +/-N (wrt to previous value, if any) to register R.
The increment for auto-incrementing is set to M.
Format paragraphs upto TO.  (Breaks, but should not!)

(fn TO)
(defalias 'woman2-nr #[257 "`\301\302!\210`{\303\304w\210\304f\305>\205\304u\210`Sfl?\205*\306\307\310\311 \312\"\"\266\313 \303\304w\210l?\2055\313 \314\"\211\203I\211A\262\204I\211A\262\204Y\315\262\316\317\"\210\202c9\203c\320D\262\203\204\211\203p\211@\202q\315\262\321=\203\211\\\202\202\211Z\262BBB\322 \210\323\324!\210\325!\207" [woman-registers skip-syntax-forward "^ " " 	" nil (43 45) numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg assoc 0 WoMan-warn "nr %s -- null value assigned as zero!" quote 43 beginning-of-line woman-delete-line 1 woman2-format-paragraphs] 9 (#$ . 84231)])
#@176 Get the value of a numeric argument at or after point.
The argument can include the width function and scale indicators.
Assumes 10 characters per inch.  Does not move point.
(defalias 'woman-get-numeric-arg #[0 "\300\301\302\303 \304\"\"\266\212\305 )\207" [numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg] 5 (#$ . 85099)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-get-numeric-arg speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@168 Get the value of a numeric expression at or after point.
Unlike `woman-get-numeric-arg', leaves point after the argument.
The expression may be an argument in quotes.
(defalias 'woman-parse-numeric-arg #[0 "g\300U\203	\301u\210\302\303!\203\304\202\305 \301\302\306!\2031\301u\210\307\310\304!!\262\211\305 \"\211\262\202\253\302\311!\203a\304\225b\210\307\310\304!\312\230\203H\313\202K\310\304!!\262\211\305 \"\203Z\314\202[\304\211\262\202\253g\211\262\315>\203\256\301u\210\211\316=\203\217\304V\203\210\305 \304V\203\204\314\202\250\304\202\250\305 \210\304\202\250\304V\203\234\305 \210\314\202\250\305 \304V\203\247\314\202\250\304\211\262\204\207" [34 nil looking-at "[+-]" 0 woman-parse-numeric-value "[+/*%-]" intern-soft match-string "[<=>]=?" "==" "=" 1 (38 58) 38] 5 (#$ . 85619)])
#@245 Get a single numeric value at or after point.
The value can be a number register or width function (which assumes 10
characters per inch) and can include scale indicators.  It may be an
expression in parentheses.  Leaves point after the value.
(defalias 'woman-parse-numeric-value #[0 "g\302=\203#\303\211u\210\304 \262\305\306\307 \"\210g\310=\203\303u\210\207\311\312!\210\207\313\314!\2031\315\316\317!!\202\260\313\320!\203\213\321\322!\321\323!\206I\321\324!\206I\321\325!\326\"\211\203\201\303A\262A\262\327@\330\"\262\203y\211\203y\331!\"\262BBB\262\266\203\202\260\311\332\"\266\317\202\260\333\334\303\330#\205\260\317\225\335\316\322!!\333\303\330#\203\253\317\224Z\266\202\202\260\311\336!\266\202\211\204\304\311\337`\307 {\"\210\305\340\307 \"\210\317\207\317\225b\210\313\341!\204\313\342!\204\313\343!\203\343\211\344_\211\262\202\313\345!\203\362\211\346_\211\262\202\303\313\347!)\203\211\350_\211\262\202\313\351!\203\211\352_\211\262\203\317\225b\210\211\247\203 \353!\207\207" [woman-registers case-fold-search 40 nil woman-parse-numeric-arg skip-syntax-forward " " line-end-position 41 WoMan-warn "Parenthesis confusion in numeric expression!" looking-at "[-+]?[.0-9]+" string-to-number match-string 0 "\\\\n\\([-+]\\)?\\(?:\\[\\([^]]+\\)\\]\\|(\\(..\\)\\|\\(.\\)\\)" match-string-no-properties 1 2 3 4 assoc eval t intern-soft "Undefined register %s defaulted to 0." re-search-forward "\\=\\\\w\\(\\\\\\[[^]]+\\]\\|\\\\(..\\|.\\)" regexp-quote "Width escape delimiter error!" "Numeric/register argument error: %s" "^ " "\\s " "[mnuv]" "i" 10 "c" 3.9 "P" 1.7 "p" 0.14 round] 7 (#$ . 86458)])
#@50 Process breaks.  Format paragraphs and headings.
(defalias 'woman2-roff-buffer #[0 "\306\307 \310\211\211\211\311\306\"\210\312K\313K\314K\315\316$\216\312\317M\210\313\320M\210\314\317M\210\321
\310\306#\203\236\322\323\324\325!\211P!\211\262\203O\326\211\224\225|\266\202o\327\330\"\210\331\332!\204_$\203i\333 \210\334\325!\210\202o\310\210\335c\210\204\200g\336>\204-\337\211\262\203-\340\232\203\220\341\342!\310\223\210\202\226\341 \310\223\210!\210\202-m\204\253\337\343d\306\"%\"\210)\266\310\211\223-\207" [woman-registers tab-stop-list woman-translations woman-request case-fold-search woman-request-regexp t make-marker nil set-marker-insertion-type set-text-properties insert-and-inherit canonically-space-region make-closure #[0 "\303\300M\210\304\301M\210\305\302M\207" [V0 V1 V2 set-text-properties insert-and-inherit canonically-space-region] 2] ignore insert re-search-forward intern-soft "woman2-" match-string 1 0 WoMan-warn-ignored "ignored!" looking-at "[ 	]*$" beginning-of-line woman-delete-line 10 (46 39) woman2-format-paragraphs "TS" woman-find-next-control-line "TE" copy-marker woman-ignore woman-left-margin] 12 (#$ . 88144)])
#@219 Find and return start of next control line.
PAT, if non-nil, specifies an additional component of the control
line regexp to search for, which is appended to the default
regexp, "\(\\c\)?\n[.\=']".

(fn &optional PAT)
(defalias 'woman-find-next-control-line #[256 "\300P\301\212\302\301\303#\211\262\203&\304\224\203&\305\306!\203&\307\224b\210\310\311!\210\202)\211\2031\211GTZ\207d\207" ["\\(\\\\c\\)?\n[.']" nil re-search-forward t 1 looking-at "br" 0 woman-delete-line 2] 7 (#$ . 89350)])
#@149 .PD d -- Set the interparagraph distance to d.
Round to whole lines, default 1 line.  Format paragraphs upto TO.
(Breaks, but should not.)

(fn TO)
(defalias 'woman2-PD #[257 "\300 \210\301!\207" [woman-set-interparagraph-distance woman2-format-paragraphs] 3 (#$ . 89860)])
#@62 Set the interparagraph distance from a .PD request at point.
(defalias 'woman-set-interparagraph-distance #[0 "l\203\301\202\302\303\304\305 \306\"\"\266\212\307 )\310\301!\207" [woman-interparagraph-distance 1 numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg woman-delete-line] 5 (#$ . 90141)])
#@78 Set variable `woman-leave-blank-lines' from `woman-interparagraph-distance'.
(defalias 'woman-interparagraph-space #[0 "\211\207" [woman-interparagraph-distance woman-leave-blank-lines] 2 (#$ . 90488)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-interparagraph-space speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@234 .TH n c x v m -- Begin a man page.  Format paragraphs upto TO.
n is the name of the page in chapter c; x is extra commentary;
v alters page foot left; m alters page head center.
(Should set prevailing indent and tabs to 5.)

(fn TO)
(defalias 'woman2-TH #[257 "\303\304\305\"\210\306c\210\303\304\305\"\210\307c\210`\310l\204?\311\312!\203 \313\314!\210\315 \210`\262\316c\210\303\304\305\"\210\211`{{\230\203\211`|\210\202\266\317\320 `\321#\210\310y\210\322 \210\323	\"\207" [woman-default-indent woman-left-margin woman-prevailing-indent woman-forward-arg unquote concat 40 41 nil looking-at "\"\"[ 	]" delete-char 2 delete-horizontal-space " -- " woman-set-face line-beginning-position woman-bold delete-blank-lines woman2-format-paragraphs] 6 (#$ . 90852)])
#@114 .SH -- Sub-head.  Leave blank line and subhead.
Format paragraphs upto TO.  Set prevailing indent to 5.

(fn TO)
(defalias 'woman2-SH #[257 "l\203\306\307!\210\202\310\212\311\210\312 )!\210\313 \210\311\314\315\316 \317\"\"\266\301!\210\311\n\2034\320`\316 \321#\210\311y\210\311\322\f\"\207" [woman-interparagraph-distance woman-leave-blank-lines woman-bold-headings woman-default-indent woman-left-margin woman-nofill delete-char 1 woman-unquote nil point-marker beginning-of-line woman2-process-escapes copy-marker line-end-position t woman-set-face woman-bold woman2-format-paragraphs woman-prevailing-indent] 6 (#$ . 91637)])
#@97 .SS -- Sub-sub-head.  Like .SH but indent heading 3 spaces.
Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-SS #[257 "l\203\300\301!\210\302c\210\303 \210\304!\207" [delete-char 1 "   " beginning-of-line woman2-SH] 3 (#$ . 92292)])
#@115 .LP,.PP -- Begin paragraph.  Set prevailing indent to 5.
Leave 1 blank line.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-LP #[257 "\305\306!\210\n\307\f\"\207" [woman-interparagraph-distance woman-leave-blank-lines woman-default-indent woman-prevailing-indent woman-left-margin woman-delete-line 1 woman2-format-paragraphs] 4 (#$ . 92540)])
(byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias woman2-PP woman2-LP woman2-P] 3)
#@68 .ns -- Turn on no-space mode.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-ns #[257 "\301\302!\210\303\304!\207" [woman-nospace woman-delete-line 1 t woman2-format-paragraphs] 3 (#$ . 92995)])
#@69 .rs -- Turn off no-space mode.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-rs #[257 "\301\302!\210\303\304!\207" [woman-nospace woman-delete-line 1 nil woman2-format-paragraphs] 3 (#$ . 93206)])
#@81 .sp N -- If N > 0 then leave 1 blank line.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-sp #[257 "l\203\302\202\303\304\305\306 \307\"\"\266\212\310 )\211\311Y\203$\312\302!\210\202,\307\313c\210\314y\210\211\315!\207" [woman-negative-vertical-space woman-leave-blank-lines 1 numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg 0 woman-delete-line ".sp " nil woman2-format-paragraphs] 6 (#$ . 93420)])
#@80 .sp N with N < 0 => overlap following with preceding lines at FROM.

(fn FROM)
(defalias 'woman-negative-vertical-space #[257 "\301\302!\210\211b\210\303\304\305\306#\205\330\307\310\311\312 \306\"\"\266\212\313 )\305\211\314 \210\315\316!\210`\262[y\210`{\262`|\210y\210G\317\305W\203\323H\262\211\320=\203U\305y\210\202\314l\203p\321\322#Oc\210\211\206j\262\210\202\314\211\323\267\202\254\305u\210\202\314g\324=\203\210\305u\210\202\314\317\211W\203\247\305l\203\234\325c\266\202\240\305u\266\211T\262\202\212\266\202\314g\325=\204\301\204\301\306\262\301\326\327\316`\"\"\210\330\316!\210\211TOc\210T\262\202>\266\202\207" [woman-tab-width WoMan-warn "Negative vertical spacing support is experimental!" re-search-forward "^\\.sp " nil t numeric woman2-process-escapes copy-marker line-end-position woman-parse-numeric-arg beginning-of-line woman-delete-line 1 0 10 string-search "\n" #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (32 118 9 124)) 9 32 "Character(s) overwritten by negative vertical spacing in line %d" count-lines delete-char] 12 (#$ . 93884)])
#@168 Process remaining escape sequences up to marker TO, preserving point.
Optional argument NUMERIC, if non-nil, means the argument is numeric.

(fn TO &optional NUMERIC)
(defalias 'woman2-process-escapes #[513 "\304!\203\f\305!\204\306\307!\210`\310\311\312#\203A\313\211\224\225|\266\204\313\224\206+`Sf\314=\203\313\224f\314=\203\315\316!\210\202\211b\210\310\317\312#\203W\313\211\224\225|\266\202Dm\204a`U\203in\204i\320\314!\210\211b\210\321\301!\205\240	\205\240	@	A\322\310\312#\205\235\323\324\325\313\224\313\225\"\"A!\210\313\211\224\225|\266\202})\266\202\266\211b\210\326!\210\211b\210\327\330\312#\203\370g\211\331\267\202\341\315\332!\210\203\364\315\316!\210\333c\266\202\254\210\202\254\315\316!\210\315\332!\210\334c\266\202\254\203\353\211\335>\204\364\211\336=\203\364\337 \210\210\202\254\211b\210\203\327\334\312#\203
\340 \210\202\377\211b\210\310\341\312#\2030\313\224\322b\210\342 \262`|\210\320\343!!\266\202\211b\207" [woman-nofill woman-translations case-fold-search tab-stop-list markerp marker-insertion-type cl--assertion-failed (and (markerp to) (marker-insertion-type to)) re-search-forward "\\\\[&|^]" t 0 10 delete-char 1 "\\\\c.*\n?" insert-before-markers boundp nil insert-before-markers-and-inherit assoc buffer-substring-no-properties woman-special-characters search-forward "\\" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (39 187 40 206 116 210)) -1 96 "	" (119 110 104) 108 woman-horizontal-line woman-tab-to-tab-stop "\\\\[nw]" woman-parse-numeric-value number-to-string] 11 (#$ . 95052)])
#@80 \l\='Nc\=' -- Draw a horizontal line of length N using character c, default _.
(defalias 'woman-horizontal-line #[0 "\300\301!\210\300\302!\210\303\304!\210\302u\210\305\225\306\224\307 `W\203g\202 \310|\210\300\302!\210\311\"c\207" [delete-char -1 1 looking-at "\\(.\\)\\(.*\\)\\1" 2 0 woman-parse-numeric-arg 95 make-string] 7 (#$ . 96699)])
#@74 .br -- Break.  Leave no blank line.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-br #[257 "\300\301!\210\302!\207" [woman-delete-line 1 woman2-format-paragraphs] 3 (#$ . 97057)])
#@96 .fi -- Fill subsequent output lines.  Leave no blank line.
Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-fi #[257 "\302\303\304!\210\212\305y\210\306\307!\203\304)\310!\207" [woman-nofill woman-leave-blank-lines nil woman-delete-line 1 -1 looking-at "[ 	]*$" woman2-format-paragraphs] 3 (#$ . 97253)])
#@202 .nf -- Nofill.  Subsequent lines are neither filled nor adjusted.
Input text lines are copied directly to output lines without regard
for the current line length.  Format paragraphs up to TO.

(fn TO)
(defalias 'woman2-nf #[257 "\301\302\303!\210\304!\207" [woman-nofill t woman-delete-line 1 woman2-format-paragraphs] 3 (#$ . 97575)])
#@164 .ad c -- Line adjustment is begun (once fill mode is on).
Set justification mode to c if specified.
Format paragraphs upto TO.  (Breaks, but should not.)

(fn TO)
(defalias 'woman2-ad #[257 "l\203\202?g\306=\203	\202?g\307=\203\n\202?g\310=\203&\202?g\311>\2030\f\202?\312\313\314\315 \316\"\"\266\212\317 )
H\320\321!\210\322!\207" [woman-adjust-previous woman-adjust-left woman-adjust-right woman-adjust-center woman-adjust-both woman-adjust 108 114 99 (98 110) numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg woman-delete-line 1 woman2-format-paragraphs woman-justify-styles woman-justify] 6 (#$ . 97920)])
#@85 .na -- No adjusting.  Format paragraphs upto TO.
(Breaks, but should not.)

(fn TO)
(defalias 'woman2-na #[257 "\n\f
H\306\307!\210\310!\207" [woman-adjust woman-adjust-previous woman-justify woman-justify-previous woman-adjust-left woman-justify-styles woman-delete-line 1 woman2-format-paragraphs] 3 (#$ . 98598)])
#@216 Delete all blank lines around point.
Leave one blank line if optional argument LEAVE is non-nil and
non-zero, or if LEAVE is nil and variable `woman-leave-blank-lines' is
non-nil and non-zero.

(fn &optional LEAVE)
(defalias 'woman-leave-blank-lines #[256 "\212\302\303!\304=\204\f\305y\210`)\306\303!\210\307 \210`|\210\2047\211\203&\211\304=\203)	\262\211\2037\211\304V\2037\310\311!\210\305\211\207" [woman-nospace woman-leave-blank-lines skip-syntax-backward " " 0 nil skip-syntax-forward beginning-of-line insert-before-markers 10] 4 (#$ . 98929)])
(defvar woman-temp-indent nil)
#@235 Indent, fill and adjust paragraphs upto TO to current left margin.
If optional arg NEW-LEFT is non-nil then reset current left margin.
If `woman-nofill' is non-nil then indent without filling or adjusting.

(fn TO &optional NEW-LEFT)
(defalias 'woman2-format-paragraphs #[513 "\211\203\211\306\307!\203\310\311\312!\210`Y?\205\265\313\314\315\"\210\203>\301 \210\f\2031\fj\210\313y\210\316`#\210\317!\210\202\262`W\203\262\301 \210`\f\206Mj\210\317!\210\313y\210\320\321\310#\203jl\203j\311\312!\203j\310l\203rm\204u\322 \210\323`\"\310V\204\211\212\324u\210i
V)\203\256\f\203\247\fW\203\247\f\325`#\210\212\211b\210\313y\210`\262*\325`#\210\210\202>\313\211\207" [left-margin woman-leave-blank-lines woman-nospace woman-nofill woman-temp-indent fill-column looking-at "^\\s *$" 1 skip-syntax-forward " " nil woman2-process-escapes numeric indent-rigidly woman-horizontal-escapes re-search-forward "\\(^\\s *$\\)\\|\\(^\\s +\\)" beginning-of-line count-lines -1 fill-region-as-paragraph woman-justify] 7 (#$ . 99530)])
#@191 .TP i -- Set prevailing indent to i.  Format paragraphs upto TO.
Begin indented paragraph with hanging tag given by next text line.
If tag doesn't fit, place it on a separate line.

(fn TO)
(defalias 'woman2-TP #[257 "\301 \302!\210\303\"\207" [woman-interparagraph-distance woman2-get-prevailing-indent woman-leave-blank-lines woman2-tagged-paragraph] 5 (#$ . 100601)])
#@73 .IP x i -- Same as .TP with tag x.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-IP #[257 "l\203
\305\n\\\"\207\306\307!\210\310\311!\312 \210\301 \210\313\314!\2062\313\315!\2052\212\316y\317U\2051\313\f!)?\205:\320\"\207" [woman-interparagraph-distance woman-leave-blank-lines woman-left-margin woman-prevailing-indent woman-request-regexp woman2-format-paragraphs woman-forward-arg unquote woman2-get-prevailing-indent leave-eol beginning-of-line looking-at "^\\.IP" "^\\.sp" 1 0 woman2-tagged-paragraph] 5 (#$ . 100981)])
#@68 Find and return start of next control line, even if already there!
(defalias 'woman-find-next-control-line-carefully #[0 "\300\301!\203`\207\302 \207" [looking-at "^[.']" woman-find-next-control-line] 2 (#$ . 101533)])
#@185 Begin indented paragraph with hanging tag given by current text line.
If tag doesn't fit, leave it on separate line.
Format paragraphs upto TO.  Set prevailing indent to I.

(fn TO I)
(defalias 'woman2-tagged-paragraph #[514 "\305\306!\204\307`U\203C\305\310!\203C\311\312!\313\235\203#\314\312!\210\202=\315\211\224\225|\266\311\312!\316\230\203:\317!\210\202=\320 \210\321 \307\223\210`\307\211\322\323\324 \325\"\"\266\n\307y\210\326\212\327y\210`)`\f#\210`U\203~\305\330!\203~\315\211\224\225|\266\320 \210\321 \307\223\210\n\\`W\205\253\331!\210\211b\210\307\210iZ\211\262\315V\203\251\332\312!\210\333 \210\334\335\"\210b\207" [woman-leave-blank-lines woman-nospace woman-left-margin left-margin woman-justify looking-at "\\s *$" nil "^[.'][ 	]*\\(PD\\|br\\|ta\\|sp\\) *" match-string 1 ("br" "sp") woman-delete-line 0 "ta" woman2-ta woman-set-interparagraph-distance woman-find-next-control-line-carefully woman2-process-escapes copy-marker line-end-position t fill-region-as-paragraph -1 "^[.'][ 	]*PD *" woman2-format-paragraphs delete-char delete-horizontal-space insert-char 32] 9 (#$ . 101761)])
#@112 .HP i -- Set prevailing indent to i.  Format paragraphs upto TO.
Begin paragraph with hanging indent.

(fn TO)
(defalias 'woman2-HP #[257 "\304 \n\305\n\\\"\207" [woman-interparagraph-distance woman-leave-blank-lines woman-left-margin woman-temp-indent woman2-get-prevailing-indent woman2-format-paragraphs] 6 (#$ . 102911)])
#@213 Set prevailing indent to integer argument at point, and return it.
If no argument then return the existing prevailing indent.
Delete line from point and eol unless LEAVE-EOL is non-nil.

(fn &optional LEAVE-EOL)
(defalias 'woman2-get-prevailing-indent #[256 "l\203\211\2042\301\302!\210\2022\303\304\305\306 \307\"\"\266\212\310 )\311 \210\204)\301\302!\210\211\312V\2031\211\210\207" [woman-prevailing-indent delete-char 1 numeric woman2-process-escapes copy-marker line-end-position t woman-parse-numeric-arg woman-delete-line 0] 6 (#$ . 103249)])
#@149 .RS i -- Start relative indent, move left margin in distance i.
Set prevailing indent to 5 for nested indents.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-RS #[257 "	B\nB\305 \\\f\306\"\207" [woman-left-margin woman-RS-left-margin woman-prevailing-indent woman-RS-prevailing-indent woman-default-indent woman2-get-prevailing-indent woman2-format-paragraphs] 4 (#$ . 103817)])
#@118 .RE -- End of relative indent.  Format paragraphs upto TO.
Set prevailing indent to amount of starting .RS.

(fn TO)
(defalias 'woman2-RE #[257 "\203\n\211A\242\n\203\n\211A\242\304\305!\210\306	\"\207" [woman-RS-left-margin woman-left-margin woman-RS-prevailing-indent woman-prevailing-indent woman-delete-line 1 woman2-format-paragraphs] 4 (#$ . 104220)])
#@229 Reset, increment or decrement argument ARG, which must be quoted.
If no argument then use value of optional arg PREVIOUS if non-nil,
otherwise set PREVIOUS.  Delete the whole remaining control line.

(fn ARG &optional PREVIOUS)
(defalias 'woman-set-arg #[513 "l\203\203J\202\300L\210\202c\211\203\211JL\210\301\302\303\304 \305\"\"\266\306\307!\2052g\310u\210\311 \204@L\266\202`\312U\203Q\211J\\L\266\202`\313U\203^\211JZL\210\266\314 \210\315\310!\207" [0 numeric woman2-process-escapes copy-marker line-end-position t looking-at "[+-]" 1 woman-parse-numeric-arg 43 45 beginning-of-line woman-delete-line] 7 (#$ . 104595)])
(defvar woman-ll-fill-column woman-fill-column)
(defvar woman-in-left-margin woman-left-margin)
#@117 .ll +/-N -- Set, increment or decrement line length.
Format paragraphs upto TO.  (Breaks, but should not.)

(fn TO)
(defalias 'woman2-ll #[257 "\300\301\302\"\210\303!\207" [woman-set-arg fill-column woman-ll-fill-column woman2-format-paragraphs] 4 (#$ . 105357)])
#@89 .in +/-N -- Set, increment or decrement the indent.
Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-in #[257 "\300\301\302\"\210\303!\207" [woman-set-arg left-margin woman-in-left-margin woman2-format-paragraphs] 4 (#$ . 105629)])
#@68 .ti +/-N -- Temporary indent.  Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-ti #[257 "\302\301!\210\303\304\"\207" [left-margin woman-temp-indent woman-set-arg woman2-format-paragraphs nil] 4 (#$ . 105873)])
#@244 .ta Nt ... -- Set tabs, left type, unless t=R(right), C(centered).
(Breaks, but should not.)  The tab stops are separated by spaces;
a value preceded by + represents an increment to the previous stop value.
Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-ta #[257 "\301\302\303\304\305 \306\"\"\266\212\307l\204Hg\310=\205\311u\210\306\312 \203+\\\266\203\202.\211\266\203g\313>\2039\211gB\262\211B\314\315!\210\316\301w\210\202\210)\317\311!\210\320!\321!\207" [tab-stop-list nil numeric woman2-process-escapes copy-marker line-end-position t 0 43 1 woman-parse-numeric-arg (82 67) skip-syntax-forward "^ " " 	" woman-delete-line reverse woman2-format-paragraphs] 6 (#$ . 106100)])
#@80 If TAB-STOPS is a cons, return its car, else return TAB-STOPS.

(fn TAB-STOPS)
(defalias 'woman-get-tab-stop #[257 "\211:\203\211@\207\207" [] 2 (#$ . 106815)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put woman-get-tab-stop speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@182 Insert spaces to next defined tab-stop column.
The variable `tab-stop-list' is a list whose elements are either left
tab stop columns or pairs (COLUMN . TYPE) where TYPE is R or C.
(defalias 'woman-tab-to-tab-stop #[0 "\301\302!\210\211\203 i@\211:\203\211@\262Y\203 \211A\262\202\211\203u\211@\211:\205-\211A\303\211\203k\211:\203=\211@\262\262\304 \262\212\305\306\307#)\262\211\203U\211S\202V`Z\262\310=\203g\311\245\202hZ\262iZ\262\312\313\"\207\313c\207" [tab-stop-list delete-char -1 nil line-end-position search-forward "	" t 67 2 insert-char 32] 9 (#$ . 107129)])
#@93 .DT -- Restore default tabs.  Format paragraphs upto TO.
(Breaks, but should not.)

(fn TO)
(defalias 'woman2-DT #[257 "\301\302\303!\210\304!\207" [tab-stop-list nil woman-delete-line 1 woman2-format-paragraphs] 3 (#$ . 107742)])
#@168 .fc a b -- Set field delimiter a and pad character b.
Format paragraphs upto TO.
A VERY FIRST ATTEMPT to make fields at least readable!
Needs doing properly!

(fn TO)
(defalias 'woman2-fc #[257 "l\203\301 \210\302\303!\210\202rg\304\305\211u\210\306\305w\210l\204g\262\301 \210\302\303!\210\212\307\310\305\311#\2033\312\224\262)\313\314\315\316\317	&\262\212\307\311#\203o\312\224b\210\320\303!\210c\210\312\225b\210\320\321!\210\322!\210\323\312\224\312\225\311%\210\202C)\266\324!\207" [woman-unpadded-space-char beginning-of-line woman-delete-line 1 32 nil " 	" re-search-forward "^[.'][ 	]*fc\\s " t 0 string 91 94 93 42 delete-char -1 insert-before-markers subst-char-in-region woman2-format-paragraphs] 12 (#$ . 107982)])
#@87 .TS -- Start of table code for the tbl processor.
Format paragraphs upto TO.

(fn TO)
(defalias 'woman2-TS #[257 "\203\303\304!\203\305\306!\210\303\307!\204\305\306!\210\202\305\306!\210`\306\310\311\211\312\\{\"\210\313\314\315#\203]\316\317!\210\3202Y\313\321\315#\205X\316\322!\210\303\323!\203:\324\325!\210\326\320\315\"\210\202:0\210\202*b\210\327\330\315#\203r\331 \210\305\306!\210\202`b\210\313\332\315#b\210\203\315`W\203\240\313\332\315#\203\232\333u\210iV\203\232i\262\334y\210\202\200b\210\211\335\\\262`W\203\307\313\332\315#\203\301\324\333!\210\336\337iZ\"\210\334y\210\202\250b\210\202u\340\313\321\315#\203\350\333u\210iV\203\342i\262\334u\210\202\316b\210\211	V\203	V\203	\262\341#\210b\210\327\342\315#\203\316\343\344\"!\210\202b\266\315\345!\207" [woman-emulate-tbl woman-fill-column woman-nofill looking-at ".*;[ 	]*$" woman-delete-line 1 ".*\\.[ 	]*$" WoMan-log "%s" 40 search-forward "T{\n" t replace-match "" end "\n" " " "T}" delete-char 2 throw re-search-forward "^\\.TH\\|\\.sp" beginning-of-line "	" -1 nil 3 insert-char 32 0 woman-break-table "^_$" make-string 95 woman2-format-paragraphs] 8 (#$ . 108741)])
(defalias 'woman2-TE 'woman2-fi)
#@30 

(fn START-COLUMN TO START)
(defalias 'woman-break-table #[771 "`W\2057\301!\210l\203\302y\210\202\303\304\305#\2031iV\2031\306\307\310\"\210\306\311\312Z\"\210\202\302y\210\202\207" [woman-fill-column move-to-column nil search-backward " " t insert-char 10 1 32 5] 7 (#$ . 109991)])
#@49 Log the beginning of formatting in *WoMan-Log*.
(defalias 'WoMan-log-begin #[0 "\304 r\305\306!q\210\307=\204\307\310!\210\311db\210\312\n;\203#\313\nP\202&\314P\315\316 \317\261\210d\211)\207" [major-mode buffer-read-only WoMan-current-file WoMan-Log-header-point-max buffer-name get-buffer-create "*WoMan-Log*" view-mode 1 nil "\n\f\nFormatting " "file " "buffer " " at " current-time-string "\n"] 6 (#$ . 110298)])
#@87 Log a message out of FORMAT control string and optional ARGS.

(fn FORMAT &rest ARGS)
(defalias 'WoMan-log #[385 "\300\301\302#!\207" [WoMan-log-1 apply format-message] 7 (#$ . 110731)])
#@95 Log a warning message out of FORMAT control string and optional ARGS.

(fn FORMAT &rest ARGS)
(defalias 'WoMan-warn #[385 "\300\301#\262\302\303P!\207" [apply format-message WoMan-log-1 "**  "] 6 (#$ . 110926)])
#@127 Log a warning message about ignored directive REQUEST.
IGNORED is a string appended to the log message.

(fn REQUEST IGNORED)
(defalias 'WoMan-warn-ignored #[514 "`\300 {\211G\301V\203\302!\303U\204\304P\262\305\306\307\260!\207" [line-end-position 0 string-to-char 32 " " WoMan-log-1 "**  " "  request "] 9 (#$ . 111149)])
#@142 Log the end of formatting in *WoMan-Log*.
TIME specifies the time it took to format the man page, to be printed
with the message.

(fn TIME)
(defalias 'WoMan-log-end #[257 "\300\301\302\"\303\"\207" [WoMan-log-1 format "Formatting time %g seconds." end] 5 (#$ . 111492)])
#@155 Log a message STRING in *WoMan-Log*.
If optional argument END is non-nil then make buffer read-only after
logging the message.

(fn STRING &optional END)
(defalias 'WoMan-log-1 #[513 "r\303\304!q\210\305db\210\211\204\306c\210\307\261\210\211\203 \310\202=	\203=\311\312 \311\313p!!\210\n\203;\nb\210\314y\210\315\316!\210!\210)\305\207" [buffer-read-only woman-show-log WoMan-Log-header-point-max get-buffer-create "*WoMan-Log*" nil "  " "\n" t select-window selected-window display-buffer -1 recenter 0] 7 (#$ . 111772)])
#@43 Make a bookmark entry for a Woman buffer.
(defalias 'woman-bookmark-make-record #[0 "\301 \302\303\304!\305\306PB\307B\310BB\"B\207" [woman-last-file-name Man-default-bookmark-title append bookmark-make-record-default no-file location "woman " man-args ((handler . woman-bookmark-jump))] 6 (#$ . 112312)])
#@60 Default bookmark handler for Woman buffers.

(fn BOOKMARK)
(defalias 'woman-bookmark-jump #[257 "\300\301\"\302 \303\304\"\216\305!\210p)\262\306\307\310B\311!BB!\207" [bookmark-prop-get man-args current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] woman-find-file bookmark-default-handler "" buffer bookmark-get-bookmark-record] 8 (#$ . 112626)])
#@28 WoMan version information.
(defvar woman-version "0.551 (beta)" (#$ . 113029))
(byte-code "\300\301\302\303#\210\304\305!\207" [make-obsolete-variable woman-version emacs-version "28.1" provide woman] 4)

Youez - 2016 - github.com/yon3zu
LinuXploit