update packages

This commit is contained in:
2025-06-22 17:08:08 +02:00
parent 54e5633369
commit 16a0a6db93
558 changed files with 68349 additions and 26568 deletions

18
lisp/gnuplot/dir Normal file
View File

@@ -0,0 +1,18 @@
This is the file .../info/dir, which contains the
topmost node of the Info hierarchy, called (dir)Top.
The first time you invoke Info you start off looking at this node.

File: dir, Node: Top This is the top of the INFO tree
This (the Directory node) gives a menu of major topics.
Typing "q" exits, "H" lists all Info commands, "d" returns here,
"h" gives a primer for first-timers,
"mEmacs<Return>" visits the Emacs manual, etc.
In Emacs, you can click mouse button 2 on a menu item or cross reference
to select it.
* Menu:
Math
* GNUPLOT: (gnuplot). An Interactive Plotting Program

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,631 @@
;;; gnuplot-eldoc.el -- Eldoc documentation strings for gnuplot-mode -*- lexical-binding: t -*-
;;; Automatically generated by doc2texi.el on Sun, 01 June 2025
;;;; This file is generated automatically from the Gnuplot
;;;; documentation by `doc2texi.el', part of the Gnuplot distribution.
;;;; It is not intended to be edited manually. See docs/gnuplot.doc
;;;; in the gnuplot source tree (available from
;;;; gnuplot.sourcefourge.net) for the original.
;; This file is covered by the Gnuplot licensing terms:
;; Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
;;
;; Permission to use, copy, and distribute this software and its
;; documentation for any purpose with or without fee is hereby granted,
;; provided that the above copyright notice appear in all copies and
;; that both that copyright notice and this permission notice appear
;; in supporting documentation.
;;
;; Permission to modify the software is granted, but not the right to
;; distribute the complete modified source code. Modifications are to
;; be distributed as patches to the released version. Permission to
;; distribute binaries produced by compiling modified sources is granted,
;; provided you
;; 1. distribute the corresponding source modifications from the
;; released version in the form of a patch file along with the binaries,
;; 2. add special version identification to distinguish your version
;; in addition to the base release version number,
;; 3. provide your name and address as the primary contact for the
;; support of your modified version, and
;; 4. retain our contact information in regard to use of the base
;; software.
;; Permission to distribute the released version of the source code along
;; with corresponding source modifications in the form of a patch file is
;; granted with same provisions 2 through 4 for binary distributions.
;;
;; This software is provided "as is" without express or implied warranty
;; to the extent permitted by applicable law.
(eval-when-compile (defvar gnuplot-eldoc-hash nil))
(setq gnuplot-eldoc-hash (let ((tbl (make-hash-table :test 'equal)) (alist '(("x11" "set terminal x11 {<n> | window \"<string>\"} [more ...]" "set terminal x11 {<n> | window \"<string>\"}
{title \"<string>\"}
{{no}enhanced} {font <fontspec>}
{linewidth LW}
{{no}persist} {{no}raise} {{no}ctrlq}
{{no}replotonresize}
{close}
{size XX,YY} {position XX,YY}
set terminal x11 {reset}") ("wxt" "set term wxt {<n>} [more ...]" "set term wxt {<n>}
{size <width>,<height>} {position <x>,<y>}
{background <rgb_color> | nobackground}
{{no}enhanced}
{font <font>} {fontscale <scale>}
{title \"title\"}
{linewidth <lw>} {butt|rounded|square}
{dashlength <dl>}
{{no}persist}
{{no}raise}
{{no}ctrl}
{close}") ("windows" "set terminal windows {<n>} [more ...]" "set terminal windows {<n>}
{color | monochrome}
{solid | dashed}
{rounded | butt}
{enhanced | noenhanced}
{font <fontspec>}
{fontscale <scale>}
{linewidth <scale>}
{pointscale <scale>}
{background <rgb color>}
{title \"Plot Window Title\"}
{{size | wsize} <width>,<height>}
{position <x>,<y>}
{docked {layout <rows>,<cols>} | standalone}
{close}") ("tpic" "set terminal tpic <pointsize> <linewidth> <interval>") ("tkcanvas" "set terminal tkcanvas {tcl | perl | perltkx | python | ruby | rexx} [more ...]" "set terminal tkcanvas {tcl | perl | perltkx | python | ruby | rexx}
{standalone | input}
{interactive}
{rounded | butt}
{nobackground | background <rgb color>}
{{no}rottext}
{size <width>,<height>}
{{no}enhanced}
{externalimages | pixels}") ("tgif" "set terminal tgif {portrait | landscape | default} {<[x,y]>} [more ...]" "set terminal tgif {portrait | landscape | default} {<[x,y]>}
{monochrome | color}
{{linewidth | lw} <LW>}
{solid | dashed}
{font \"<fontname>{,<fontsize>}\"}") ("tek40" "set terminal sixeltek {<fontsize>} {mono|color|colors <n>} {size <x>,<y>} [more ...]" "set terminal sixeltek {<fontsize>} {mono|color|colors <n>} {size <x>,<y>}
{animate}") ("svg" "set terminal svg {size <x>,<y> {|fixed|dynamic}} [more ...]" "set terminal svg {size <x>,<y> {|fixed|dynamic}}
{mouse} {standalone | jsdir <dirname>}
{name <plotname>}
{font \"<fontname>{,<fontsize>}\"} {{no}enhanced}
{fontscale <multiplier>}
{rounded|butt|square} {solid|dashed} {linewidth <lw>}
{background <rgb_color>}") ("regis" "set terminal regis {4 | 16}\"") ("pstricks" "set terminal pstricks [more ...]" "set terminal pstricks
{unit | size <XX>{unit},<YY>{unit}}
{standalone | input}
{blacktext | colortext | colourtext}
{linewidth <lw>} {rounded | butt}
{pointscale <ps>}
{psarrows | gparrows}
{background <rgbcolor>}
{pstricks | pdftricks2}") ("pdf" "set terminal pdf {monochrome|color|colour} [more ...]" "set terminal pdf {monochrome|color|colour}
{{no}enhanced}
{fname \"<font>\"} {fsize <fontsize>}
{font \"<fontname>{,<fontsize>}\"} {fontscale <scale>}
{linewidth <lw>} {rounded|butt}
{dl <dashlength>}}
{size <XX>{unit},<YY>{unit}}") ("dospc" "set terminal dospc [more ...]" "set terminal dospc
{{no}{enhanced}}
{fontscale <scale>} {pointsize <scale>} {linewidth <scale}
{background <rgbcolor>}") ("pbm" "set terminal pbm {<fontsize>} {<mode>} {size <x>,<y>}") ("mif" "set terminal mif {color | colour | monochrome} {polyline | vectors} [more ...]" "set terminal mif {color | colour | monochrome} {polyline | vectors}
{help | ?}") ("mp" "set term mp {color | colour | monochrome} [more ...]" "set term mp {color | colour | monochrome}
{solid | dashed}
{notex | tex | latex}
{magnification <magsize>}
{psnfss | psnfss-version7 | nopsnfss}
{prologues <value>}
{a4paper}
{amstex}
{\"<fontname> {,<fontsize>}\"} ") ("lua" "set terminal lua <target name> | \"<file name>\" [more ...]" "set terminal lua <target name> | \"<file name>\"
{<script_args> ...}
{help}") ("latex" "set terminal {latex | emtex} {default | {courier|roman} {<fontsize>}} [more ...]" "set terminal {latex | emtex} {default | {courier|roman} {<fontsize>}}
{size <XX>{unit}, <YY>{unit}} {rotate | norotate}
{color | monochrome}") ("imagen" "set terminal imagen {<fontsize>} {portrait | landscape} [more ...]" "set terminal imagen {<fontsize>} {portrait | landscape}
{[<horiz>,<vert>]}") ("hppj" "set terminal hppj {FNT5X9 | FNT9X17 | FNT13X25}") ("hpljii" "set terminal hpljii | hpdj {<res>}") ("hpgl" "set terminal hpgl {<number_of_pens>} {eject} {fontscale <scale>}") ("hp500c" "set terminal hp500c {<res>} {<comp>}") ("gpic" "set terminal gpic {<x> <y>}") ("ggi" "set terminal ggi [acceleration <integer>] [[mode] {mode}]") ("png_" "set terminal png [more ...]" "set terminal png
{{no}enhanced}
{{no}transparent} {{no}interlace}
{{no}truecolor} {rounded|butt}
{linewidth <lw>} {dashlength <dl>}
{tiny | small | medium | large | giant}
{font \"<face> {,<pointsize>}\"} {fontscale <scale>}
{size <x>,<y>} {{no}crop}
{background <rgb_color>}") ("fig" "set terminal fig {monochrome | color} [more ...]" "set terminal fig {monochrome | color}
{small | big | size <xsize>{in|cm},<ysize>{in|cm}}
{landscape | portrait}
{pointsmax <max_points>}
{font \"<fontname>{,<fontsize>}\"} {fontsize <size>}
{textnormal | {textspecial texthidden textrigid}}
{{linewidth|lw} <multiplier>}") ("epson_180dpi" "set terminal dpu414 {small | medium | large} {normal | draft}") ("epson_180dpi" "set terminal nec_cp6 {monochrome | colour | draft}") ("emf" "set terminal emf {color | monochrome} [more ...]" "set terminal emf {color | monochrome}
{enhanced {noproportional}}
{rounded | butt}
{linewidth <LW>} {dashlength <DL>}
{size XX,YY} {background <rgb_color>}
{font \"<fontname>{,<fontsize>}\"}
{fontscale <scale>}") ("eepic" "set terminal eepic {default} {color|monochrome|dashed} [more ...]" "set terminal eepic {default} {color|monochrome|dashed}
{rotate} {size XX,YY}
{small|tiny|<fontsize>}") ("dumb" "set terminal dumb {size <xchars>,<ychars>} {[no]feed} [more ...]" "set terminal dumb {size <xchars>,<ychars>} {[no]feed}
{aspect <htic>{,<vtic>}}
{[no]enhanced}
{fillchar {solid|\"<char>\"}}
{[no]attributes}
{mono|ansi|ansi256|ansirgb}") ("svga" "set terminal svga {font \"<fontname>\"} [more ...]" "set terminal svga {font \"<fontname>\"}
{{no}enhanced}
{background <rgb color>}
{linewidth|lw <lw>}
{pointscale|ps <scale>}
{fontscale|fs <scale>}") ("corel" "set terminal corel {monochrome | color} {\"<font>\" {<fontsize>}} [more ...]" "set terminal corel {monochrome | color} {\"<font>\" {<fontsize>}}
{<xsize> <ysize> {<linewidth> }}") ("context" "set term context {default} [more ...]" "set term context {default}
{defaultsize | size <scale> | size <xsize>{in|cm}, <ysize>{in|cm}}
{input | standalone}
{timestamp | notimestamp}
{noheader | header \"<header>\"}
{color | colour | monochrome}
{rounded | mitered | beveled} {round | butt | squared}
{dashed | solid} {dashlength | dl <dl>}
{linewidth | lw <lw>}
{fontscale <fontscale>}
{mppoints | texpoints}
{inlineimages | externalimages}
{defaultfont | font \"{<fontname>}{,<fontsize>}\"}") ("cgm" "set terminal cgm {color | monochrome} {solid | dashed} {{no}rotate} [more ...]" "set terminal cgm {color | monochrome} {solid | dashed} {{no}rotate}
{<mode>} {width <plot_width>} {linewidth <line_width>}
{font \"<fontname>,<fontsize>\"}
{background <rgb_color>}") ("canvas" "set terminal canvas {size <xsize>, <ysize>} {background <rgb_color>} [more ...]" "set terminal canvas {size <xsize>, <ysize>} {background <rgb_color>}
{font {<fontname>}{,<fontsize>}} | {fsize <fontsize>}
{{no}enhanced} {linewidth <lw>}
{rounded | butt | square}
{dashlength <dl>}
{standalone {mousing} | name '<funcname>'}
{jsdir 'URL/for/javascripts'}
{title '<some string>'}") ("be" "set terminal be {reset} {<n>}") ("aqua" "set terminal aqua {<n>} {title \"<wintitle>\"} {size <x> <y>} [more ...]" "set terminal aqua {<n>} {title \"<wintitle>\"} {size <x> <y>}
{font \"<fontname>{,<fontsize>}\"}
{linewidth <lw>}\"}
{{no}enhanced} {solid|dashed} {dl <dashlength>}}") ("aifm" "set terminal aifm {color|monochrome} {\"<fontname>\"} {<fontsize>}") ("While" "while (<expr>) { [more ...]" "while (<expr>) {
<commands>
}") ("warn" "warn \"message\"") ("vfill" "vfill FILE using x:y:z:radius:(<expression>) [more ...]" "vfill FILE using x:y:z:radius:(<expression>)
vgfill FILE using x:y:z:radius:(<expression>)") ("vclear" "vclear {$gridname}") ("linetype_" "unset linetype N") ("toggle" "toggle {<plotno> | \"plottitle\" | all}") ("test" "test {terminal | palette}") ("system_" "system \"command string\" [more ...]" "system \"command string\"
! command string
output = system(\"command string\")
show variable GPVAL_SYSTEM") ("stats_(Statistical_Summary)" "stats {<ranges>} 'filename' {matrix | using N{:M}} {name 'prefix'} {{no}output} [more ...]" "stats {<ranges>} 'filename' {matrix | using N{:M}} {name 'prefix'} {{no}output}
stats $voxelgridname {name 'prefix'}") ("voxel-grid" "splot $voxelgridname with {dots|points} {above <threshold>} ... [more ...]" "splot $voxelgridname with {dots|points} {above <threshold>} ...
splot $voxelgridname with isosurface {level <threshold>} ...") ("matrix" "plot 'file' matrix every {<column_incr>} [more ...]" "plot 'file' matrix every {<column_incr>}
{:{<row_incr>}
{:{<start_column>}
{:{<start_row>}
{:{<end_column>}
{:<end_row>}}}}}") ("matrix" "sparse matrix=(cols,rows) origin=(x0,y0) dx=<delx> dy=<dely>") ("data-file" "splot '<file_name>' {binary <binary list>} [more ...]" "splot '<file_name>' {binary <binary list>}
{{nonuniform|sparse} matrix}
{index <index list>}
{every <every list>}
{using <using list>}") ("splot" "splot {<ranges>} [more ...]" "splot {<ranges>}
{<iteration>}
<function> | {{<file name> | <datablock name>} {datafile-modifiers}}
| <voxelgridname>
| keyentry
{<title-spec>} {with <style>}
{, {definitions{,}} <function> ...}") ("show_variables" "show variables # show variables that do not begin with GPVAL_ [more ...]" "show variables # show variables that do not begin with GPVAL_
show variables all # show all variables including those beginning GPVAL_
show variables NAME # show only variables beginning with NAME") ("show_palette" "show palette [more ...]" "show palette
show palette palette {<ncolors>} {{float | int | hex}}
show palette gradient
show palette rgbformulae
test palette") ("show_functions" "show functions") ("zeroaxis" "set {x|x2|y|y2|z}zeroaxis { {linestyle | ls <line_style>} [more ...]" "set {x|x2|y|y2|z}zeroaxis { {linestyle | ls <line_style>}
| {linetype | lt <line_type>}
{linewidth | lw <line_width>}
{linecolor | lc <colorspec>}
{dashtype | dt <dashtype>} }
unset {x|x2|y|y2|z}zeroaxis
show {x|y|z}zeroaxis") ("zero" "set zero <expression> [more ...]" "set zero <expression>
show zero") ("xyplane" "set xyplane at <zvalue> [more ...]" "set xyplane at <zvalue>
set xyplane relative <frac>
set ticslevel <frac> # equivalent to set xyplane relative
show xyplane") ("xtics_list" "set xtics {add} (\"label1\" <pos1> <level1>, \"label2\" <pos2> <level2>, ...)") ("xtics_series" "set xtics <incr> [more ...]" "set xtics <incr>
set xtics <start>, <incr>, <end>") ("xtics" "set xtics {axis | border} {{no}mirror} [more ...]" "set xtics {axis | border} {{no}mirror}
{in | out} {scale {default | <major> {,<minor>}}}
{{no}rotate {by <ang>}} {offset <offset> | nooffset}
{left | right | center | autojustify}
{add}
{ autofreq
| <incr>
| <start>, <incr> {,<end>}
| ({\"<label>\"} <pos> {<level>} {,{\"<label>\"}...) }
{format \"formatstring\"} {font \"name{,<size>}\"} {{no}enhanced}
{ numeric | timedate | geographic }
{{no}logscale}
{ rangelimited }
{ textcolor <colorspec> }
unset xtics
show xtics") ("xrange" "set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback} {{no}extend} [more ...]" "set xrange [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback} {{no}extend}
| restore
show xrange") ("xmtics" "set xmtics [more ...]" "set xmtics
unset xmtics
show xmtics") ("xlabel" "set xlabel {\"<label>\"} {offset <offset>} {font \"<font>{,<size>}\"} [more ...]" "set xlabel {\"<label>\"} {offset <offset>} {font \"<font>{,<size>}\"}
{textcolor <colorspec>} {{no}enhanced}
{rotate by <degrees> | rotate parallel | norotate}
show xlabel") ("xdtics" "set xdtics [more ...]" "set xdtics
unset xdtics
show xdtics") ("xdata" "set xdata {time} [more ...]" "set xdata {time}
show xdata") ("walls" "set walls [more ...]" "set walls
set wall {x0|y0|z0|x1|y1} {<fillstyle>} {fc <fillcolor>}") ("vxrange" "Establishes the range of x coordinates spanned by the active voxel grid. [more ...]" "Establishes the range of x coordinates spanned by the active voxel grid.
Analogous commands `set vyrange` and `set vzrange` exist for the other two
dimensions of the voxel grid. If no explicit ranges have been set prior to
the first `vclear`, `vfill`, or `voxel(x,y,z) = ` command, vmin and vmax
will be copied from the current values of `xrange`.") ("vrange" "The range of the parametric variables u and v is useful in two contexts. [more ...]" "The range of the parametric variables u and v is useful in two contexts.
1) `splot` in parametric mode. See `set parametric`, `set isosamples`.
2) generating 2-dimension sampled data for either `plot` or `splot` using the
pseudofile \"++\". See `sampling 2D`.") ("projection" "set view projection {xy|xz|yz}") ("view" "set view <rot_x>{,{<rot_z>}{,{<scale>}{,<scale_z>}}} [more ...]" "set view <rot_x>{,{<rot_z>}{,{<scale>}{,<scale_z>}}}
set view map {scale <scale>}
set view projection {xy|xz|yz}
set view {no}equal {xy|xyz}
set view azimuth <angle>
show view") ("vgrid" "set vgrid $gridname {size N} [more ...]" "set vgrid $gridname {size N}
unset vgrid $gridname
show vgrid") ("version" "show version {long}") ("urange" "The range of the parametric variables u and v is useful in two contexts. [more ...]" "The range of the parametric variables u and v is useful in two contexts.
1) `splot` in parametric mode. See `set parametric`, `set isosamples`.
2) generating 2-dimension sampled data for either `plot` or `splot` using the
pseudofile \"++\". See `sampling 2D`.") ("trange" "The range of the parametric variable t is useful in three contexts.") ("title_" "set title {\"<title-text>\"} {offset <offset>} {font \"<font>{,<size>}\"} [more ...]" "set title {\"<title-text>\"} {offset <offset>} {font \"<font>{,<size>}\"}
{{textcolor | tc} {<colorspec> | default}} {{no}enhanced}
show title") ("timefmt" "set timefmt \"<format string>\" [more ...]" "set timefmt \"<format string>\"
show timefmt") ("timestamp" "set timestamp {\"<format>\"} {top|bottom} {{no}rotate} [more ...]" "set timestamp {\"<format>\"} {top|bottom} {{no}rotate}
{offset <xoff>{,<yoff>}} {font \"<fontspec>\"}
{textcolor <colorspec>}
unset timestamp
show timestamp") ("tics" "set tics {axis | border} {{no}mirror} [more ...]" "set tics {axis | border} {{no}mirror}
{in | out} {front | back}
{{no}rotate {by <ang>}} {offset <offset> | nooffset}
{left | right | center | autojustify}
{format \"formatstring\"} {font \"name{,<size>}\"} {{no}enhanced}
{ textcolor <colorspec> }
set tics scale {default | <major> {,<minor>}}
unset tics
show tics") ("terminal" "set terminal {<terminal-type> | push | pop} [more ...]" "set terminal {<terminal-type> | push | pop}
show terminal") ("table" "set table {\"outfile\" | $datablock} {append} [more ...]" "set table {\"outfile\" | $datablock} {append}
{separator {whitespace|tab|comma|\"<char>\"}}
plot <whatever>
unset table") ("surface_" "set surface {implicit|explicit} [more ...]" "set surface {implicit|explicit}
unset surface
show surface") ("set_style_watchpoint" "set style watchpoint nolabels [more ...]" "set style watchpoint nolabels
set style watchpoint labels {label-options}") ("set_style_textbox" "set style textbox {<boxstyle-index>} [more ...]" "set style textbox {<boxstyle-index>}
{opaque|transparent} {fillcolor <color>}
{{no}border {linecolor <colorspec>}}{linewidth <lw>}
{margins <xmargin>,<ymargin>}") ("set_style_spiderplot" "set style spiderplot [more ...]" "set style spiderplot
{fillstyle <fillstyle-properties>}
{<line-properties> | <point-properties>}") ("set_style_parallelaxis" "set style parallelaxis {front|back} {line-properties}") ("set_style_ellipse" "set style ellipse {units xx|xy|yy} [more ...]" "set style ellipse {units xx|xy|yy}
{size {graph|screen} <a>, {{graph|screen} <b>}}
{angle <angle>}
{clip|noclip}") ("set_style_rectangle" "set style rectangle {front|back} {lw|linewidth <lw>} [more ...]" "set style rectangle {front|back} {lw|linewidth <lw>}
{fillcolor <colorspec>} {fs <fillstyle>}") ("set_style_circle" "set style circle {radius {graph|screen} <R>} [more ...]" "set style circle {radius {graph|screen} <R>}
{{no}wedge}
{clip|noclip}") ("set_style_line" "set style line <index> default [more ...]" "set style line <index> default
set style line <index> {{linetype | lt} <line_type> | <colorspec>}
{{linecolor | lc} <colorspec>}
{{linewidth | lw} <line_width>}
{{pointtype | pt} <point_type>}
{{pointsize | ps} <point_size>}
{{pointinterval | pi} <interval>}
{{pointnumber | pn} <max_symbols>}
{{dashtype | dt} <dashtype>}
{palette}
unset style line
show style line") ("set_style_function" "set style function <plotting-style> [more ...]" "set style function <plotting-style>
show style function") ("set_style_fill" "set style fill {empty [more ...]" "set style fill {empty
| {transparent} solid {<density>}
| {transparent} pattern {<n>}}
{border {lt} {lc <colorspec>} | noborder}") ("set_style_data" "set style data <plotting-style> [more ...]" "set style data <plotting-style>
show style data") ("boxplot_" "set style boxplot {range <r> | fraction <f>} [more ...]" "set style boxplot {range <r> | fraction <f>}
{{no}outliers} {pointtype <p>}
{candlesticks | financebars}
{medianlinewidth <width>}
{separation <x>}
{labels off | auto | x | x2}
{sorted | unsorted}") ("set_style_arrow" "set style arrow <index> default [more ...]" "set style arrow <index> default
set style arrow <index> {nohead | head | backhead | heads}
{size <length>,<angle>{,<backangle>} {fixed}}
{filled | empty | nofilled | noborder}
{front | back}
{ {linestyle | ls <line_style>}
| {linetype | lt <line_type>}
{linewidth | lw <line_width}
{linecolor | lc <colorspec>}
{dashtype | dt <dashtype>} }
unset style arrow
show style arrow") ("style" "set style arrow <n> <arrowstyle> [more ...]" "set style arrow <n> <arrowstyle>
set style boxplot <boxplot style options>
set style circle radius <size> {clip|noclip}
set style ellipse size <size> units {xy|xx|yy} {clip|noclip}
set style fill <fillstyle>
set style histogram <histogram style options>
set style line <n> <linestyle>
set style rectangle <object options> <linestyle> <fillstyle>
set style textbox {<n>} {opaque|transparent} {{no}border} {fillcolor}
set style watchpoint labels <label options>") ("style" "set style function <style> [more ...]" "set style function <style>
set style data <style>
show style function
show style data") ("size" "set size {{no}square | ratio <r> | noratio} {<xscale>,<yscale>} [more ...]" "set size {{no}square | ratio <r> | noratio} {<xscale>,<yscale>}
show size") ("samples" "set samples <samples_1> {,<samples_2>} [more ...]" "set samples <samples_1> {,<samples_2>}
show samples") ("rgbmax" "set rgbmax {1.0 | 255} [more ...]" "set rgbmax {1.0 | 255}
unset rgbmax") ("print_" "set print [more ...]" "set print
set print \"-\"
set print \"<filename>\" [append]
set print \"|<shell_command>\"
set print $datablock [append]") ("polar_grid" "set polar grid {<theta_segments>, <radial_segments>} [more ...]" "set polar grid {<theta_segments>, <radial_segments>}
{ qnorm {<power>} | gauss | cauchy | exp | box | hann }
{ kdensity } { scale <scale> }
{theta [min:max]} {r [min:max]}") ("polar" "set polar [more ...]" "set polar
set polar grid <grid options>
unset polar
show polar") ("pointsize" "set pointsize <multiplier> [more ...]" "set pointsize <multiplier>
show pointsize") ("clipping" "set pm3d {clip | clip1in | clip4in} [more ...]" "set pm3d {clip | clip1in | clip4in}
set pm3d {no}clipcb") ("lighting" "set pm3d lighting {primary <frac>} {specular <frac>} {spec2 <frac>} [more ...]" "set pm3d lighting {primary <frac>} {specular <frac>} {spec2 <frac>}
set pm3d spotlight {rgb <color>} {rot_x <angle>} {rot_z <angle>}
{Phong <value>} {default}") ("pixmap_from_colormap" "set pixmap <index> colormap <name>") ("pixmap" "set pixmap <index> {\"filename\" | colormap <name>} [more ...]" "set pixmap <index> {\"filename\" | colormap <name>}
at <position>
{width <w> | height <h> | size <w>,<h>}
{front|back|behind} {center}
show pixmaps
unset pixmaps
unset pixmap <index>") ("paxis" "set paxis <axisno> {range <range-options> | tics <tic-options>} [more ...]" "set paxis <axisno> {range <range-options> | tics <tic-options>}
set paxis <axisno> label <label-options> { offset <radial-offset> }
show paxis <axisno> {range | tics}") ("parametric_" "set parametric [more ...]" "set parametric
unset parametric
show parametric") ("defined" "set palette defined { ( <gray1> <color1> {, <grayN> <colorN>}... ) }") ("palette__" "set palette [more ...]" "set palette
set palette {
{ gray | color }
{ gamma <gamma> }
{ rgbformulae <r>,<g>,<b>
| defined { ( <gray1> <color1> {, <grayN> <colorN>}... ) }
| file '<filename>' {datafile-modifiers}
| colormap <colormap-name>
| functions <R>,<G>,<B>
}
{ cubehelix {start <val>} {cycles <val>} {saturation <val>} }
{ viridis }
{ model { RGB | CMY | HSV {start <radians>} } }
{ positive | negative }
{ nops_allcF | ps_allcF }
{ maxcolors <maxcolors> }
}") ("overflow" "set overflow {float | NaN | undefined} [more ...]" "set overflow {float | NaN | undefined}
unset overflow") ("output" "set output {\"<filename>\"} [more ...]" "set output {\"<filename>\"}
unset output
show output") ("origin" "set origin <x-origin>,<y-origin>") ("offsets" "set offsets <left>, <right>, <top>, <bottom> [more ...]" "set offsets <left>, <right>, <top>, <bottom>
unset offsets
show offsets") ("polygon" "set object <index> polygon [more ...]" "set object <index> polygon
from <position> to <position> ... {to <position>}") ("circle" "set object <index> circle {at|center} <position> size <radius> [more ...]" "set object <index> circle {at|center} <position> size <radius>
{arc [<begin>:<end>]} {no{wedge}}
{<other-object-properties>}") ("ellipse" "set object <index> ellipse {at|center} <position> size <w>,<h> [more ...]" "set object <index> ellipse {at|center} <position> size <w>,<h>
{angle <orientation>} {units xy|xx|yy}
{<other-object-properties>}") ("rectangle" "set object <index> rectangle [more ...]" "set object <index> rectangle
{from <position> {to|rto} <position> |
center <position> size <w>,<h> |
at <position> size <w>,<h>}") ("object" "set object <index> [more ...]" "set object <index>
<object-type> <object-properties>
{front|back|behind|depthorder}
{clip|noclip}
{fc|fillcolor <colorspec>} {fs <fillstyle>}
{default} {lw|linewidth <width>} {dt|dashtype <dashtype>}
unset object <index>") ("nonlinear" "set nonlinear <axis> via f(axis) inverse g(axis) [more ...]" "set nonlinear <axis> via f(axis) inverse g(axis)
unset nonlinear <axis>") ("mxtics_time" "set mxtics time <N> {seconds|minutes|hours|days|weeks|months|years}") ("mxtics" "set mxtics <freq> [more ...]" "set mxtics <freq>
set mxtics default
set mxtics time <N> <units>
unset mxtics
show mxtics") ("multiplot" "set multiplot [more ...]" "set multiplot
{ title <page title> {font <fontspec>} {enhanced|noenhanced} }
{ layout <rows>,<cols>
{rowsfirst|columnsfirst} {downwards|upwards}
{scale <xscale>{,<yscale>}} {offset <xoff>{,<yoff>}}
{margins <left>,<right>,<bottom>,<top>}
{spacing <xspacing>{,<yspacing>}}
}
set multiplot {next|previous}
unset multiplot") ("mouseformat" "set mouse mouseformat i [more ...]" "set mouse mouseformat i
set mouse mouseformat \"custom format\"
set mouse mouseformat function string_valued_function(x, y)") ("mouse" "set mouse {doubleclick <ms>} {nodoubleclick} [more ...]" "set mouse {doubleclick <ms>} {nodoubleclick}
{{no}zoomcoordinates}
{zoomfactors <xmultiplier>, <ymultiplier>}
{noruler | ruler {at x,y}}
{polardistance{deg|tan} | nopolardistance}
{format <string>}
{mouseformat <int> | <string> | function <f(x,y)>}
{{no}labels {\"labeloptions\"}}
{{no}zoomjump} {{no}verbose}
unset mouse") ("monochrome" "set monochrome {linetype N <linetype properties>}") ("margin" "set lmargin {{at screen} <margin>} [more ...]" "set lmargin {{at screen} <margin>}
set rmargin {{at screen} <margin>}
set tmargin {{at screen} <margin>}
set bmargin {{at screen} <margin>}
set margins <left>, <right>, <bottom>, <top>
show margin") ("mapping" "set mapping {cartesian | spherical | cylindrical}") ("logscale" "set logscale <axes> {<base>} [more ...]" "set logscale <axes> {<base>}
unset logscale <axes>
show logscale") ("locale" "set locale {\"<locale>\"}") ("loadpath" "set loadpath {\"pathlist1\" {\"pathlist2\"...}} [more ...]" "set loadpath {\"pathlist1\" {\"pathlist2\"...}}
show loadpath") ("link" "set link {x2 | y2} {via <expression1> inverse <expression2>} [more ...]" "set link {x2 | y2} {via <expression1> inverse <expression2>}
unset link") ("label" "set label {<tag>} {\"<label text>\"} {at <position>} [more ...]" "set label {<tag>} {\"<label text>\"} {at <position>}
{left | center | right}
{norotate | rotate {by <degrees>}}
{font \"<name>{,<size>}\"}
{noenhanced}
{front | back}
{textcolor <colorspec>}
{point <pointstyle> | nopoint}
{offset <offset>}
{nobox} {boxed {bs <boxstyle>}}
{hypertext}
unset label {<tag>}
show label") ("jitter" "set jitter {overlap <yposition>} {spread <factor>} {wrap <limit>} [more ...]" "set jitter {overlap <yposition>} {spread <factor>} {wrap <limit>}
{swarm|square|vertical}") ("isotropic" "set isotropic [more ...]" "set isotropic
unset isotropic") ("isosurface_" "set isosurface {mixed|triangles} [more ...]" "set isosurface {mixed|triangles}
set isosurface {no}insidecolor <n>") ("isosamples" "set isosamples <iso_1> {,<iso_2>} [more ...]" "set isosamples <iso_1> {,<iso_2>}
show isosamples") ("history_" "set history {size <N>} {quiet|numbers} {full|trim} {default}") ("hidden3d" "set hidden3d {defaults} | [more ...]" "set hidden3d {defaults} |
{ {front|back}
{{offset <offset>} | {nooffset}}
{trianglepattern <bitpattern>}
{{undefined <level>} | {noundefined}}
{{no}altdiagonal}
{{no}bentover} }
unset hidden3d
show hidden3d") ("grid" "set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics} [more ...]" "set grid {{no}{m}xtics} {{no}{m}ytics} {{no}{m}ztics}
{{no}{m}x2tics} {{no}{m}y2tics} {{no}{m}rtics}
{{no}{m}cbtics}
{polar {<angle>}}
{layerdefault | front | back}
{{no}vertical}
{<line-properties-major> {, <line-properties-minor>}}
unset grid
show grid") ("format__" "set format {<axes>} {\"<format-string>\"} {numeric|timedate|geographic} [more ...]" "set format {<axes>} {\"<format-string>\"} {numeric|timedate|geographic}
show format") ("fontpath" "set fontpath \"/directory/where/my/fonts/live\" [more ...]" "set fontpath \"/directory/where/my/fonts/live\"
set term postscript fontfile <filename>") ("fit_" "set fit {nolog | logfile {\"<filename>\"|default}} [more ...]" "set fit {nolog | logfile {\"<filename>\"|default}}
{{no}quiet|results|brief|verbose}
{{no}errorvariables}
{{no}covariancevariables}
{{no}errorscaling}
{{no}prescale}
{maxiter <value>|default}
{limit <epsilon>|default}
{limit_abs <epsilon_abs>}
{start-lambda <value>|default}
{lambda-factor <value>|default}
{script {\"<command>\"|default}}
{v4 | v5}
unset fit
show fit") ("errorbars" "set errorbars {small | large | fullwidth | <size>} {front | back} [more ...]" "set errorbars {small | large | fullwidth | <size>} {front | back}
{line-properties}
unset errorbars
show errorbars") ("encoding" "set encoding {<value>} [more ...]" "set encoding {<value>}
set encoding locale
show encoding") ("dummy" "set dummy {<dummy-var>} {,<dummy-var>} [more ...]" "set dummy {<dummy-var>} {,<dummy-var>}
show dummy") ("dgrid3d" "set dgrid3d {<rows>} {,{<cols>}} splines [more ...]" "set dgrid3d {<rows>} {,{<cols>}} splines
set dgrid3d {<rows>} {,{<cols>}} qnorm {<norm>}
set dgrid3d {<rows>} {,{<cols>}} {gauss | cauchy | exp | box | hann}
{kdensity} {<dx>} {,<dy>}
unset dgrid3d
show dgrid3d") ("decimalsign" "set decimalsign {<value> | locale {\"<locale>\"}} [more ...]" "set decimalsign {<value> | locale {\"<locale>\"}}
unset decimalsign
show decimalsign") ("set_datafile_binary" "set datafile binary <binary list> [more ...]" "set datafile binary <binary list>
show datafile binary
show datafile
unset datafile") ("set_datafile_commentschars" "set datafile commentschars {\"<string>\"} [more ...]" "set datafile commentschars {\"<string>\"}
show datafile commentschars
unset commentschars") ("set_datafile_separator" "set datafile separator {whitespace | tab | comma | \"<chars>\"}") ("set_datafile_missing" "set datafile missing \"<string>\" [more ...]" "set datafile missing \"<string>\"
set datafile missing NaN
show datafile missing
unset datafile") ("contourfill_" "set contourfill auto N # split zrange evenly into N slices [more ...]" "set contourfill auto N # split zrange evenly into N slices
set contourfill ztics # slice at each z axis major tick
set contourfill cbtics # slice at each cb axis major tick
set contourfill {palette | firstlinetype N}") ("contour" "set contour {base | surface | both} [more ...]" "set contour {base | surface | both}
unset contour
show contour") ("cntrparam" "set cntrparam { { linear [more ...]" "set cntrparam { { linear
| cubicspline
| bspline
| points <n>
| order <n>
| levels { <n>
| auto {<n>}
| discrete <z1> {,<z2>{,<z3>...}}
| incremental <start>, <incr> {,<end>}
}
{{un}sorted}
{firstlinetype N}
}
}
show contour") ("cntrlabel" "set cntrlabel {format \"format\"} {font \"font\"} [more ...]" "set cntrlabel {format \"format\"} {font \"font\"}
set cntrlabel {start <int>} {interval <int>}
set cntrlabel onecolor") ("clip" "set clip {points|one|two|radial} [more ...]" "set clip {points|one|two|radial}
unset clip {points|one|two|radial}
show clip") ("colorsequence" "set colorsequence {default|classic|podo}") ("colormap" "set colormap new <colormap-name> [more ...]" "set colormap new <colormap-name>
set colormap <colormap-name> range [<min>:<max>]
show colormaps") ("boxwidth" "set boxwidth {<width>} {absolute|relative} [more ...]" "set boxwidth {<width>} {absolute|relative}
show boxwidth") ("border" "set border {<integer>} [more ...]" "set border {<integer>}
{front | back | behind}
{linestyle | ls <line_style>}
{linetype | lt <line_type>} {linewidth | lw <line_width>}
{linecolor | lc <colorspec>} {dashtype | dt <dashtype>}
{polar}
unset border
show border") ("autoscale" "set autoscale {<axis>{|min|max|fixmin|fixmax|fix} | fix | keepfix} [more ...]" "set autoscale {<axis>{|min|max|fixmin|fixmax|fix} | fix | keepfix}
set autoscale noextend
unset autoscale {<axis>}
show autoscale") ("arrow" "set arrow {<tag>} from <position> to <position> [more ...]" "set arrow {<tag>} from <position> to <position>
set arrow {<tag>} from <position> rto <position>
set arrow {<tag>} from <position> length <coord> angle <ang>
set arrow <tag> arrowstyle | as <arrow_style>
set arrow <tag> {nohead | head | backhead | heads}
{size <headlength>,<headangle>{,<backangle>}} {fixed}
{filled | empty | nofilled | noborder}
{front | back}
{linestyle | ls <line_style>}
{linetype | lt <line_type>}
{linewidth | lw <line_width>}
{linecolor | lc <colorspec>}
{dashtype | dt <dashtype>}") ("angles" "set angles {degrees | radians} [more ...]" "set angles {degrees | radians}
show angles") ("save" "save {functions | variables | terminal | set | fit | datablocks} [more ...]" "save {functions | variables | terminal | set | fit | datablocks}
'<filename>' {append}") ("return" "return <expression>") ("raise" "raise {plot_window_id} [more ...]" "raise {plot_window_id}
lower {plot_window_id}") ("print" "print <expression> {, <expression>, ...}") ("with" "with <style> { {linestyle | ls <line_style>} [more ...]" "with <style> { {linestyle | ls <line_style>}
| {{linetype | lt <line_type>}
{linewidth | lw <line_width>}
{linecolor | lc <colorspec>}
{pointtype | pt <point_type>}
{pointsize | ps <point_size>}
{arrowstyle | as <arrowstyle_index>}
{fill | fs <fillstyle>} {fillcolor | fc <colorspec>}
{nohidden3d} {nocontours} {nosurface}
{palette}}
}") ("title" "title <text> | notitle [<ignored text>] [more ...]" "title <text> | notitle [<ignored text>]
title columnheader | title columnheader(N)
{at {beginning|end}} {{no}enhanced}") ("for_loops_in_plot_command" "plot for [<variable> = <start> : <end> {:<increment>}] [more ...]" "plot for [<variable> = <start> : <end> {:<increment>}]
plot for [<variable> in \"string of words\"]") ("ranges" "[{<dummy-var>=}{{<min>}:{<max>}}] [more ...]" "[{<dummy-var>=}{{<min>}:{<max>}}]
[{{<min>}:{<max>}}]") ("using" "plot 'file' using <entry> {:<entry> {:<entry> ...}} {'format'}") ("smooth" "smooth {unique | frequency | fnormal | cumulative | cnormal [more ...]" "smooth {unique | frequency | fnormal | cumulative | cnormal
| csplines | acsplines | mcsplines bezier | sbezier
| path
| kdensity {bandwidth} {period}
| unwrap}") ("index" "plot 'file' index { <m>{:<n>{:<p>}} | \"<name>\" }") ("filters" "plot 'DATA' using <XCOL> {:<YCOL>} bins{=<NBINS>} [more ...]" "plot 'DATA' using <XCOL> {:<YCOL>} bins{=<NBINS>}
{binrange [<LOW>:<HIGH>]} {binwidth=<width>}
{binvalue={sum|avg}}") ("every" "plot 'file' every {<point_incr>} [more ...]" "plot 'file' every {<point_incr>}
{:{<block_incr>}
{:{<start_point>}
{:{<start_block>}
{:{<end_point>}
{:<end_block>}}}}}") ("csv_files" "set datafile separator {whitespace | tab | comma | \"chars\"}") ("data" "plot '<file_name>' {binary <binary list>} [more ...]" "plot '<file_name>' {binary <binary list>}
{{nonuniform|sparse} matrix}
{index <index list> | index \"<name>\"}
{every <every list>}
{skip <number-of-lines>}
{using <using list>}
{convexhull} {concavehull}
{smooth <option>}
{bins <options>}
{mask}
{volatile} {zsort} {noautoscale}") ("general" "plot '<file_name>' {binary <binary list>} ... [more ...]" "plot '<file_name>' {binary <binary list>} ...
splot '<file_name>' {binary <binary list>} ...") ("plot" "plot {<ranges>} <plot-element> {, <plot-element>, <plot-element>}") ("pause" "pause <time> {\"<string>\"} [more ...]" "pause <time> {\"<string>\"}
pause mouse {<endcondition>}{, <endcondition>} {\"<string>\"}
pause mouse close") ("local" "local foo = <expression> [more ...]" "local foo = <expression>
local array foo[size]") ("load" "load \"<input-file>\" [more ...]" "load \"<input-file>\"
load $datablock") ("import" "import func(x[,y,z,...]) from \"sharedobj[:symbol]\"") ("if" "if (<condition>) { <commands>; [more ...]" "if (<condition>) { <commands>;
<commands>
<commands>
} else if (<condition>) {
<commands>
} else {
<commands>
}") ("fit" "fit {<ranges>} <expression> [more ...]" "fit {<ranges>} <expression>
'<datafile>' {datafile-modifiers}
{{unitweights} | {y|xy|z}error | errors <var1>{,<var2>,...}}
via '<parameter file>' | <var1>{,<var2>,...}") ("Do" "do for <iteration-spec> { [more ...]" "do for <iteration-spec> {
<commands>
<commands>
}") ("cd" "cd '<directory-name>'") ("Zerrorfill" "splot DATA using 1:2:3:4[:5] with zerrorfill {fc|fillcolor <colorspec>} [more ...]" "splot DATA using 1:2:3:4[:5] with zerrorfill {fc|fillcolor <colorspec>}
{lt|linetype <n>} {<line properties>}") ("sectors" "plot DATA {using specifier} {units xy | units xx | units yy}") ("parallelaxes" "set style data parallelaxes [more ...]" "set style data parallelaxes
plot $DATA using col1{:varcol1} {at <xpos>} {<line properties}, \\
$DATA using col2, ...") ("hsteps" "plot <data> with hsteps [more ...]" "plot <data> with hsteps
{forward|backward}
{baseline|pillars|link|nolink}
{{above|below} y=<baseline>}
{offset <y-offset>}") ("newhistogram" "newhistogram {\"<title>\" {font \"name,size\"} {tc <colorspec>}} [more ...]" "newhistogram {\"<title>\" {font \"name,size\"} {tc <colorspec>}}
{lt <linetype>} {fs <fillstyle>} {at <x-coord>}") ("ellipses" "plot <data> with ellipses {units [xx|xy|yy]}") ("contourfill" "splot f(x,y) with contourfill {at base} {fillstyle <style>}") ("Watchpoints_" "plot FOO watch {x|y|z|F(x,y)} = <value> [more ...]" "plot FOO watch {x|y|z|F(x,y)} = <value>
plot FOO watch mouse") ("bind" "bind {allwindows} [<key-sequence>] [\"<gnuplot commands>\"] [more ...]" "bind {allwindows} [<key-sequence>] [\"<gnuplot commands>\"]
bind <key-sequence> \"\"
reset bind") ("dashtype" "dashtype N # predefined dashtype invoked by number [more ...]" "dashtype N # predefined dashtype invoked by number
dashtype \"pattern\" # string containing a combination of the characters
# dot (.) hyphen (-) underscore(_) and space.
dashtype (s1,e1,s2,e2,s3,e3,s4,e4) # dash pattern specified by 1 to 4
# numerical pairs <solid length>, <emptyspace length>") ("colorspec" "... {linecolor | lc} {\"colorname\" | <colorspec> | <n>} [more ...]" "... {linecolor | lc} {\"colorname\" | <colorspec> | <n>}
... {textcolor | tc} {<colorspec> | {linetype | lt} <n>}
... {fillcolor | fc} {<colorspec> | linetype <n> | linestyle <n>}") ("Time_functions" "time = weekdate_cdc( year, week [, day] )") ("Time_functions" "time = weekdate_iso( year, week [, day] )")))) (while alist (puthash (caar alist) (cdar alist) tbl) (setq alist (cdr alist))) tbl))
(provide 'gnuplot-eldoc)
;;; gnuplot-eldoc.el ends here

View File

@@ -2,8 +2,7 @@
;; Copyright (C) 1998-2000 Bruce Ravel
;; Author: Bruce Ravel <ravel@phys.washington.edu>
;; URL: https://github.com/emacs-gnuplot/gnuplot
;; Author: Bruce Ravel <ravel@phys.washington.edu>
;; This file is not part of GNU Emacs.
@@ -21,21 +20,16 @@
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; This file provides a graphical user interface to setting arguments
;; to gnuplot commands. Positioning point near a command and invoking
;; `gnuplot-gui-set-options-and-insert' (C-c C-c or shift-mouse-2)
;; will pop open a frame with widgets for setting the various
;; arguments appropriate the the item that was near point. The goal
;; is to provide point-and-click functionality to gnuplot-mode.
;;
;; gnuplot-gui.el was developed using GNU Emacs 25 and should be
;; compatible with GNU Emacs 24.3 and above.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; To do:
;;
;; Widgets I need:
;; -- 'position: two or three comma separated numbers used to denote a
;; position or a tic start/end/increment (see arrow,
@@ -53,14 +47,11 @@
;; overall:
;; -- continuation lines (ugh!)
;; -- multiple frames end up displaying same window after setting options
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Code:
(require 'gnuplot)
(require 'widget)
(require 'wid-edit)
(require 'cl-lib)
;;; customizable variables
@@ -73,7 +64,6 @@
(defcustom gnuplot-gui-popup-flag nil
"Non-nil means to open arguments pop-ups automatically.
This would be done after menu insertion of Gnuplot commands."
:group 'gnuplot-gui
:type 'boolean)
(defvar gnuplot-gui-frame nil
@@ -89,7 +79,6 @@ This would be done after menu insertion of Gnuplot commands."
(menu-bar-lines . 0)
(unsplittable . t))
"Frame parameters for the input run-time display frame in Emacs."
:group 'gnuplot-gui
:type '(repeat (sexp :tag "Parameter:")))
(defcustom gnuplot-gui-fontname-list
@@ -99,13 +88,12 @@ These *must* be quoted, like so \"\\\"Helvetica\\\"\". This allows
for fonts with names like \"\\\"Arial Bold Italic\\\"\" to be treated
as single entries in the menu-buttons. And it is really important that
the first entry in the list be a blank string."
:group 'gnuplot-gui
:type '(repeat (string :tag "Font name:")))
;; some global variables
(defvar gnuplot-current-frame nil)
(defvar gnuplot-current-buffer nil)
(defvar gnuplot-current-buffer-point nil)
(defvar gnuplot-gui-current-frame nil)
(defvar gnuplot-gui-current-buffer nil)
(defvar gnuplot-gui-current-buffer-point nil)
(defvar gnuplot-gui-alist nil)
(defvar gnuplot-gui-current-string nil)
@@ -120,7 +108,7 @@ the first entry in the list be a blank string."
(defsubst gnuplot-gui-type-fourth (obj) (elt obj 4))
(defsubst gnuplot-gui-type-list (obj) (cddr obj))
(defun gnuplot-this-word ()
(defun gnuplot-gui-this-word ()
"Return the word under point."
(let ((begin (save-excursion (beginning-of-line) (point-marker)))
(end (save-excursion (end-of-line) (point-marker))))
@@ -131,7 +119,6 @@ the first entry in the list be a blank string."
(if (> (point) end) (goto-char end))
(buffer-substring-no-properties begin (point)))))
;;; data structures containing regarding options in Gnuplot 3.7
@@ -279,7 +266,7 @@ See the doc-string for `gnuplot-gui-all-types'.")
'(("POINTSIZE" 'number " ")
("LINEWIDTH" 'number " ")
("INTERVAL " 'number " ")))
(cons "vgagl" ; for pm3d patch (also persist, raise in x11) <MT>
(cons "vgagl" ; for pm3d patch (also persist, raise in x11)
'(("BACKGROUND" 'position " " "background" 3)
("INTERPOLATION" 'list " " "uniform" "interpolate")
("DUMP" 'file " ")
@@ -443,7 +430,7 @@ See the doc-string for `gnuplot-gui-all-types'.")
(cons "mx2tics" gnuplot-gui-mtics-list)
(cons "my2tics" gnuplot-gui-mtics-list)
; pm3d additions <MT>
; pm3d additions
(cons "mouse"
'(("DOUBLECLICK" 'number " " "doubleclick")
("ZOOM" 'list " " "zoomcoordinates" "nozoomcoordinates")
@@ -594,18 +581,15 @@ See the doc-string for `gnuplot-gui-all-types'.")
'(("INITIAL FILE" 'file " " t)
("UPDATED FILE" 'file " " t))) ))
(defcustom gnuplot-gui-plot-splot-fit-style 'simple
"Control the complexity of the GUI display for plot, splot, and fit.
The values are \\='simple, which causes a limited set of plot, splot, or
fit options to be displayed, and \\='complete, which attempts to display
all options. The \\='complete setting is prone to making errors when
parsing values already in the script buffer."
:group 'gnuplot-gui
:type '(radio (const :tag "Simple listing" simple)
(const :tag "Complete listing" complete)))
(defconst gnuplot-gui-plot-simple-list
'(("X RANGE" 'range (" " . " ") ":")
("Y RANGE" 'range (" " . " ") ":")
@@ -708,7 +692,6 @@ See the doc-string for `gnuplot-gui-all-types'.")
gnuplot-gui-fit-full-list
gnuplot-gui-fit-simple-list))) )
(defvar gnuplot-gui-test-type nil)
(setq gnuplot-gui-test-type
(list (cons "test"
@@ -804,10 +787,8 @@ This alist is formed at load time by appending together
gnuplot-gui-plot-splot-fit
gnuplot-gui-test-type))
;;;###autoload
(defun gnuplot-gui-swap-simple-complete ()
(interactive)
(interactive nil gnuplot-mode)
(setq gnuplot-gui-plot-splot-fit-style
(if (equal gnuplot-gui-plot-splot-fit-style 'complete)
'simple 'complete))
@@ -822,124 +803,110 @@ This alist is formed at load time by appending together
(message "Using %s lists for plot, splot, and fit."
gnuplot-gui-plot-splot-fit-style) )
;;; user interface to the widget-y stuff
;;;###autoload
(defun gnuplot-gui-mouse-set (event)
"Use the mouse to begin setting options using a GUI interface.
EVENT is a mouse event. Bound to \\[gnuplot-gui-mouse-set]
Note that \"plot\", \"splot\", \"fit\", and \"cntrparam\" are not
currently supported."
(interactive "@e")
(save-excursion
(mouse-set-point event)
(gnuplot-gui-set-options-and-insert)))
(defun gnuplot-gui-get-frame-param (param)
(cdr (assoc param gnuplot-gui-frame-parameters)))
(defun gnuplot-gui-set-frame-param (param value)
(setcdr (assoc param gnuplot-gui-frame-parameters) value))
;;;###autoload
(defun gnuplot-gui-set-options-and-insert ()
(defun gnuplot-gui-set-options-and-insert (&optional event)
"Insert arguments using a GUI interface.
Determine contents of current line and set up the appropriate GUI
frame. Bound to \\[gnuplot-gui-set-options-and-insert]
Note that \"cntrparam\" is not currently supported."
(interactive)
(let ((begin (gnuplot-point-at-beginning-of-command))
(end (save-excursion (end-of-line) (point-marker)))
(termin (concat "\\(,\\s-*" (regexp-quote "\\") "\\|;\\)"))
(set nil) (term nil))
(save-excursion
;; there can be more then one command per line
(if (re-search-forward termin end "to_limit")
(progn (backward-char (length (match-string 1)))
(setq end (point-marker))))
(goto-char begin)
(skip-syntax-forward "-" end)
;; various constructions are recognized here. at the end of this
;; cond, point should be just after the word whose arguments are
;; to be set
(cond ((looking-at "set\\s-+")
(setq set t)
(goto-char (match-end 0))
(if (looking-at "\\sw+") (goto-char (match-end 0)))
(when (string-match "^ter" (gnuplot-this-word)) ; terminal?
(setq term t)
(interactive (list last-nonmenu-event) gnuplot-mode)
(save-excursion
(if event (mouse-set-point event))
(let ((begin (gnuplot--point-at-beginning-of-command))
(end (save-excursion (end-of-line) (point-marker)))
(termin (concat "\\(,\\s-*" (regexp-quote "\\") "\\|;\\)"))
(set nil) (term nil))
(save-excursion
;; there can be more then one command per line
(when (re-search-forward termin end "to_limit")
(backward-char (length (match-string 1)))
(setq end (point-marker)))
(goto-char begin)
(skip-syntax-forward "-" end)
;; various constructions are recognized here. at the end of this
;; cond, point should be just after the word whose arguments are
;; to be set
(cond ((looking-at "set\\s-+")
(setq set t)
(goto-char (match-end 0))
(if (looking-at "\\sw+") (goto-char (match-end 0)))
(when (string-match "^ter" (gnuplot-gui-this-word)) ; terminal?
(setq term t)
(forward-word 1))
(when (string-match "^\\(da\\|fu\\)" (gnuplot-gui-this-word))
(unless (looking-at "\\s-+st")
(insert " style") (forward-word 1))
(forward-word 1)))
((looking-at (concat "\\(cd\\|ca\\|lo\\|pa\\|pr\\|sa\\|u\\)"
"\\w*"
"[\\s-\\']"))
(forward-word 1))
(when (string-match "^\\(da\\|fu\\)" (gnuplot-this-word))
(unless (looking-at "\\s-+st")
(insert " style") (forward-word 1))
(forward-word 1)))
((looking-at (concat "\\(cd\\|ca\\|lo\\|pa\\|pr\\|sa\\|u\\)"
"\\w*"
"[\\s-\\']"))
(forward-word 1))
;;(goto-char (match-end 0)))
(t
(forward-word 1)))
(if (> (point) end) (goto-char end))
(let* ((w (gnuplot-this-word))
(wd (try-completion w gnuplot-gui-all-types))
(word "") wrd list)
(cond ((equal wd t) (setq word w))
((equal wd nil) (setq word w))
((assoc wd gnuplot-gui-all-types) (setq word wd))
(t (setq wd nil)))
(cond ((equal (string-match "^\\s-*$" w) 0)
(message "Blank line"))
((and wd (stringp word))
(gnuplot-gui-correct-command word set term begin)
(setq gnuplot-gui-alist nil
gnuplot-gui-current-string
(buffer-substring-no-properties (point) end))
(gnuplot-gui-set-alist word gnuplot-gui-current-string)
(let* ((old-height (gnuplot-gui-get-frame-param 'height))
(old-top (gnuplot-gui-get-frame-param 'top)))
(when (or
(and (equal gnuplot-gui-plot-splot-fit-style 'complete)
(cl-member word '("plot" "splot" "fit")
:test 'string=))
(equal word "test"))
(gnuplot-gui-set-frame-param 'height 32)
(gnuplot-gui-set-frame-param 'top 50))
(gnuplot-gui-prompt-for-frame word)
(when (or
(and (equal gnuplot-gui-plot-splot-fit-style 'complete)
(cl-member word '("plot" "splot" "fit")
:test 'string=))
(equal word "test"))
(gnuplot-gui-set-frame-param 'height old-height)
(gnuplot-gui-set-frame-param 'top old-top)) ))
((setq wrd (car (all-completions w '(("cntrparam")))))
(message
"Setting arguments for %S is currently unsuported in gnuplot-mode"
wrd))
((setq list (all-completions w gnuplot-gui-all-types))
(message "%S could be one of %S" w list))
;;(goto-char (match-end 0)))
(t
(message
"%S is not a gnuplot command which takes options" w)))) )))
(forward-word 1)))
(if (> (point) end) (goto-char end))
(let* ((w (gnuplot-gui-this-word))
(wd (try-completion w gnuplot-gui-all-types))
(word "") wrd list)
(cond ((equal wd t) (setq word w))
((equal wd nil) (setq word w))
((assoc wd gnuplot-gui-all-types) (setq word wd))
(t (setq wd nil)))
(cond ((equal (string-match "^\\s-*$" w) 0)
(message "Blank line"))
((and wd (stringp word))
(gnuplot-gui-correct-command word set term begin)
(setq gnuplot-gui-alist nil
gnuplot-gui-current-string
(buffer-substring-no-properties (point) end))
(gnuplot-gui-set-alist word gnuplot-gui-current-string)
(let* ((old-height (gnuplot-gui-get-frame-param 'height))
(old-top (gnuplot-gui-get-frame-param 'top)))
(when (or
(and (equal gnuplot-gui-plot-splot-fit-style 'complete)
(cl-member word '("plot" "splot" "fit")
:test 'equal))
(equal word "test"))
(gnuplot-gui-set-frame-param 'height 32)
(gnuplot-gui-set-frame-param 'top 50))
(gnuplot-gui-prompt-for-frame word)
(when (or
(and (equal gnuplot-gui-plot-splot-fit-style 'complete)
(cl-member word '("plot" "splot" "fit")
:test 'equal))
(equal word "test"))
(gnuplot-gui-set-frame-param 'height old-height)
(gnuplot-gui-set-frame-param 'top old-top)) ))
((setq wrd (car (all-completions w '(("cntrparam")))))
(message
"Setting arguments for %S is currently unsuported in gnuplot-mode"
wrd))
((setq list (all-completions w gnuplot-gui-all-types))
(message "%S could be one of %S" w list))
(t
(message
"%S is not a gnuplot command which takes options" w)))) ))))
;;;###autoload
(defun gnuplot-gui-toggle-popup ()
(interactive)
(interactive nil gnuplot-mode)
(setq gnuplot-gui-popup-flag (not gnuplot-gui-popup-flag))
(message (if gnuplot-gui-popup-flag
"Argument popup will appear after insertions."
"Argument popup will no longer appear after insertions.")))
(defalias 'gnuplot-gui-y-n 'y-or-n-p)
(defun gnuplot-gui-correct-command (word set term begin)
"Check syntax of set command and terminal specifications.
WORD is the item being set. SET and TERM are non-nil if the words
WORD is the item being set. SET and TERM are non-nil if the words
\"set\" and \"terminal\" were found preceding WORD in the buffer.
BEGIN is the beginning of the command."
(save-excursion
@@ -968,7 +935,6 @@ BEGIN is the beginning of the command."
(insert "set "))))))
(message nil))
;;; handle the actual arguments
@@ -981,21 +947,21 @@ bounding single quotes with double quotes, since double quotes are
used in `gnuplot-gui-all-types'."
(let (fixed-list quote quoted) ; remove blanks
(setq list (cl-remove "\\s-+" list :test 'string-match)
list (cl-remove "" list :test 'string=))
list (cl-remove "" list :test 'equal))
(while list ; concatinate parts of quoted string
(if (not (string-match "^\\([\]\[()'\"]\\)" (car list)))
(setq fixed-list (append fixed-list (list (car list))))
(setq quote (match-string 1 (car list))
quoted (car list))
(if (string= quote "[") (setq quote "]"))
(if (string= quote "(") (setq quote ")"))
(if (equal quote "[") (setq quote "]"))
(if (equal quote "(") (setq quote ")"))
(while (and list
(or (equal (length quoted) 1)
(not (string-match (concat (regexp-quote quote) "$")
quoted))))
(setq quoted (concat quoted " " (cadr list))
list (cdr list)))
(if (string= quote "'")
(if (equal quote "'")
(setq quoted (concat "\"" (substring quoted 1))
quoted (concat (substring quoted 0 -1) "\"")))
(setq fixed-list (append fixed-list (list quoted))))
@@ -1035,12 +1001,12 @@ arguments."
((cl-member symbol '(list list*) :test 'equal)
(let* ((case-fold-search nil)
(match-cons (cl-member (concat "^" (car temp-list))
values :test 'string-match)))
values :test 'string-match)))
(if (and (car match-cons) ; " " may be first elem. of list
(not (string= " " (car match-cons))))
(not (equal " " (car match-cons))))
(setq this-cons (cons tag (car match-cons))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil)
(setq temp-list (cdr temp-list)))))
;; ---------------------------- tag (first number in list)
@@ -1057,26 +1023,26 @@ arguments."
(setq temp-list (cdr temp-list))) )
;; ---------------------------- number with prefix
((equal symbol 'number)
(cond ((and (string= prefix (car temp-list))
(cond ((and (equal prefix (car temp-list))
(string-match "^[-0-9.]+$" (cadr temp-list)))
(setq this-cons (cons tag (cadr temp-list))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
arg-list (cl-remove (cadr temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil))
;; --------------------- number without prefix
((and (not prefix)
(string-match "^[-0-9.]+$" (car temp-list)))
(setq this-cons (cons tag (car temp-list))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil))
(t
(setq temp-list (cdr temp-list)))))
;; ---------------------------- pair with prefix
((equal symbol 'pair)
(if (and (string= prefix (car temp-list))
(if (and (equal prefix (car temp-list))
(string-match "^[-0-9.]+$" (cadr temp-list)))
(let ((this-car (cadr temp-list))
(this-cdr (if (string-match "^[-0-9.]+$" (cl-caddr temp-list))
@@ -1096,7 +1062,7 @@ arguments."
(cons tag (cons (match-string 1 (car temp-list))
(match-string 2 (car temp-list))))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil)
(setq temp-list (cdr temp-list)) ))
;; ---------------------------- labels
@@ -1106,7 +1072,7 @@ arguments."
")") ; closing paren
(car temp-list))
(let* ((list (split-string (car temp-list) "[ \t(),]+"))
(list (cl-remove "" list :test 'string=))
(list (cl-remove "" list :test 'equal))
(return ()))
(while list
(if (string-match "['\"]\\([^'\"]*\\)['\"]" (car list))
@@ -1118,7 +1084,7 @@ arguments."
(setq list (cdr list)) )
(setq this-cons (cons tag return)
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil))
(setq temp-list (cdr temp-list))) )
;; ---------------------------- string, file, format
@@ -1129,17 +1095,17 @@ arguments."
(car temp-list))
(setq this-cons (cons tag (match-string 0 (car temp-list)))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil)
(setq temp-list (cdr temp-list)) ))
;; ---------------------------- string*
((equal symbol 'string*)
(if (string= prefix (car temp-list))
(if (equal prefix (car temp-list))
(setq this-cons (cons tag (cadr temp-list))
arg-list (cl-remove (car temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
arg-list (cl-remove (cadr temp-list) arg-list
:test 'string= :count 1)
:test 'equal :count 1)
temp-list nil)
(setq temp-list (cdr temp-list)) ) )
;; ---------------------------- other or unknown
@@ -1149,7 +1115,6 @@ arguments."
(append gnuplot-gui-alist (list this-cons))))
(setq alist (cdr alist))) ))
(defun gnuplot-gui-post-process-alist (type)
"A few types need some additional processing.
\\='range, \\='pair, and \\='labels are cons or list valued and need to b made
@@ -1205,20 +1170,22 @@ into the buffer. TYPE is the object whose arguments are being set."
(gnuplot-gui-make-frame
option (cdr (assoc option gnuplot-gui-all-types)) save-frame) )
(defgroup gnuplot-gui-faces nil
"Text faces used by `gnuplot-gui'."
:prefix "gnuplot-gui-"
:group 'gnuplot-gui)
(defface gnuplot-gui-error-face '((((class color) (background light))
(:foreground "grey30"))
(((class color) (background dark))
(:foreground "grey70")))
"Face used to display message about unknown widget types."
:group 'gnuplot-faces)
"Face used to display message about unknown widget types.")
(defface gnuplot-gui-flat-text-face '((((class color) (background light))
(:foreground "MediumBlue"))
(((class color) (background dark))
(:foreground "LightSteelBlue")))
"Face used to display message about unknown widget types."
:group 'gnuplot-faces)
"Face used to display message about unknown widget types.")
(defun gnuplot-gui-make-frame (item alist &optional save-frame)
"Open the frame and populate it with widgets.
@@ -1226,10 +1193,10 @@ ITEM is the object for which arguments are being set. ALIST is
the alist of arguments for ITEM taken from `gnuplot-gui-all-types'.
SAVE-FRAME is non-nil when the widgets are being reset."
(unless save-frame
(setq gnuplot-current-frame (selected-frame)
gnuplot-current-buffer (current-buffer)
gnuplot-current-buffer-point (point-marker))
(unless (and gnuplot-gui-frame (frame-live-p gnuplot-gui-frame))
(setq gnuplot-gui-current-frame (selected-frame)
gnuplot-gui-current-buffer (current-buffer)
gnuplot-gui-current-buffer-point (point-marker))
(unless (frame-live-p gnuplot-gui-frame)
(setq gnuplot-gui-frame (make-frame gnuplot-gui-frame-parameters)))
(select-frame gnuplot-gui-frame)
;;(set-frame-position gnuplot-gui-frame 150 150) ;; so herky-jerky
@@ -1318,16 +1285,16 @@ SAVE-FRAME is non-nil when the widgets are being reset."
(lambda (widget &rest _ignore)
(kill-buffer (get-buffer-create "*Gnuplot GUI*"))
(delete-frame)
(select-frame gnuplot-current-frame)
(switch-to-buffer gnuplot-current-buffer)
(goto-char gnuplot-current-buffer-point)
(select-frame gnuplot-gui-current-frame)
(switch-to-buffer gnuplot-gui-current-buffer)
(goto-char gnuplot-gui-current-buffer-point)
(gnuplot-gui-post-process-alist
(widget-get widget :doc))
(let ((alist gnuplot-gui-alist) marker
(eol (save-excursion (end-of-line) (point-marker) )) )
(if (re-search-forward ";" eol "to_limit")
(backward-char 1))
(delete-region gnuplot-current-buffer-point (point-marker))
(delete-region gnuplot-gui-current-buffer-point (point-marker))
(delete-horizontal-space)
(setq marker (point-marker))
(while alist
@@ -1347,7 +1314,7 @@ SAVE-FRAME is non-nil when the widgets are being reset."
(just-one-space))
(forward-sexp)))
(delete-horizontal-space)
(if (string= "terminal" (widget-get widget :doc))
(if (equal "terminal" (widget-get widget :doc))
(gnuplot-gui-set-options-and-insert)) ))
(widget-insert " ")
(widget-create 'push-button :value "Reset"
@@ -1383,7 +1350,7 @@ SAVE-FRAME is non-nil when the widgets are being reset."
(setq gnuplot-gui-alist nil
gnuplot-gui-current-string nil)
(delete-frame)
(select-frame gnuplot-current-frame)))
(select-frame gnuplot-gui-current-frame)))
(goto-char (point-min))
(use-local-map widget-keymap)
(widget-setup))
@@ -1397,24 +1364,21 @@ SAVE-FRAME is non-nil when the widgets are being reset."
(:bold t :foreground "seagreen"))
(t
(:italic t)))
"Face used for menu-buttons."
:group 'gnuplot-faces)
"Face used for menu-buttons.")
(defface gnuplot-gui-button-face '((((class color) (background light))
(:bold t :foreground "sienna"))
(((class color) (background dark))
(:bold t :foreground "tan"))
(t
(:italic t)))
"Face used for push-buttons."
:group 'gnuplot-faces)
"Face used for push-buttons.")
(defface gnuplot-gui-labels-face '((((class color) (background light))
(:bold t :foreground "darkslateblue"))
(((class color) (background dark))
(:bold t :foreground "lightslateblue"))
(t
(:italic t)))
"Face used for insert and delete button in the labels widget."
:group 'gnuplot-faces)
"Face used for insert and delete button in the labels widget.")
(defun gnuplot-gui-menu-choice (item default list &optional starred)
"Create a menu widget for the Gnuplot GUI.
@@ -1433,7 +1397,7 @@ menu. STARRED is true if this a \\='list* widget."
(concat (downcase (widget-get widget :tag)) " ")
"" )))
(setcdr (assoc (widget-get widget :tag) gnuplot-gui-alist)
(if (string= (widget-value widget) " ") ""
(if (equal (widget-value widget) " ") ""
(format "%s%s" lab (widget-value widget))) )))
(mapcar (lambda (x) (list 'item :value x))
list))))
@@ -1538,7 +1502,6 @@ prefix for the string."
:value "format")
(widget-insert "\n"))
;; swiped from widget-color-complete
(defun gnuplot-gui-file-completion (widget)
"Complete the filename in WIDGET."
@@ -1647,25 +1610,16 @@ is non-nil if this is a \\='range widget."
(widget-insert " " (make-string (- 39 (current-column)) ?.)
" (numeric values)\n"))
;; suppress compiler warning
;;(eval-when-compile (defun gnuplot-info-lookup-symbol (sym mode)))
(define-widget 'gnuplot-gui-info-link 'info-link
"A link to an info file for the Gnuplot GUI."
:action '(lambda (widget &optional event)
(let ((gnuplot-info-display 'frame))
(if gnuplot-keywords-pending ; <HW>
(gnuplot-setup-info-look))
(when (eq gnuplot--info-keywords 'pending)
(gnuplot--setup-info-look))
(gnuplot-info-lookup-symbol (widget-value widget)
'gnuplot-mode))))
;;; just about done
(provide 'gnuplot-gui)
;; Local Variables:
;; indent-tabs-mode: nil
;; End:
;;; gnuplot-gui.el ends here

View File

@@ -1,13 +1,11 @@
(define-package "gnuplot" "20240914.1522" "Major-mode and interactive frontend for gnuplot"
'((emacs "25.1"))
:commit "235ba76c358d9db5b10f177552f5f8deeef74df5" :maintainers
'(("Maxime Tréca" . "maxime@gmail.com")
("Daniel Mendler" . "mail@daniel-mendler.de"))
:maintainer
'("Maxime Tréca" . "maxime@gmail.com")
:keywords
'("data" "gnuplot" "plotting")
:url "https://github.com/emacs-gnuplot/gnuplot")
;; Local Variables:
;; no-byte-compile: t
;; End:
;; -*- no-byte-compile: t; lexical-binding: nil -*-
(define-package "gnuplot" "20250613.1223"
"Major-mode and interactive frontend for gnuplot."
'((emacs "28.1")
(compat "30"))
:url "https://github.com/emacs-gnuplot/gnuplot"
:commit "f10d42221856e86c57dd5cc7400c078c021ba710"
:revdesc "f10d42221856"
:keywords '("data" "gnuplot" "plotting")
:maintainers '(("Maxime Tréca" . "maxime@gmail.com")
("Daniel Mendler" . "mail@daniel-mendler.de")))

File diff suppressed because it is too large Load Diff

26562
lisp/gnuplot/gnuplot.info Normal file

File diff suppressed because it is too large Load Diff